META-INF/0000755000175000017500000000000011755244626012142 5ustar paulliupaulliuMETA-INF/MANIFEST.MF0000644000175000017500000000015211016304456013556 0ustar paulliupaulliuManifest-Version: 1.0 Ant-Version: Apache Ant 1.7.0 Created-By: 1.5.0_15-b04 (Sun Microsystems Inc.) javapng-2.0/0000755000175000017500000000000011755244626012725 5ustar paulliupaulliujavapng-2.0/build.xml0000644000175000017500000003075711016302256014542 0ustar paulliupaulliu com.sixlegs.png.iio.PngImageReaderSpi javapng-2.0/LICENSE0000644000175000017500000000237610646275036013737 0ustar paulliupaulliuThe software in this package is distributed under the GNU General Public License (with a special exception described below). A copy of GNU General Public License (GPL) is included in this distribution, in the file COPYING. If you do not have the source code, it is available at: http://www.sixlegs.com/software/png/ Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. javapng-2.0/COPYING0000644000175000017500000004311210646275036013756 0ustar paulliupaulliu GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 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. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) 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 this service 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 make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. 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. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. 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 Program or any portion of it, thus forming a work based on the Program, 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) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, 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 Program, 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 Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) 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; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, 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 executable. However, as a special exception, the source code 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. If distribution of executable or 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 counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program 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. 5. 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 Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program 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 to this License. 7. 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 Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program 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 Program. 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. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program 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. 9. The Free Software Foundation may publish revised and/or new versions of the 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 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 Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, 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 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. 12. 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 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. 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 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) 19yy 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision 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, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This 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 Library General Public License instead of this License. javapng-2.0/libdev/0000755000175000017500000000000011755244626014172 5ustar paulliupaulliujavapng-2.0/libdev/jarjar.jar0000644000175000017500000032746710646377464016171 0ustar paulliupaulliuPK󂾊 META-INF/PKPK򿹒META-INF/MANIFEST.MFU1 0咓@﨏Fr摹赫N:\鍖'F欿膳摁逈惷儰 e ;s??蒚V瓎LX鑞羡7喈7讟命f3煋lR(倜Q 踑A懳$ s 鞄Vc\娔K]麜}葜PKl^GPK򿹒0com/tonicsystems/jarjar/AbstractDepHandler.class漈貽AMY(,媴r蕔J`Q"R璥R穖;%踋;齏|蛲g(夞'(7 %o钧烗7觴茞(8e]8禮疝y倵=}莗榀/=甭w 籬q7 菩糲篹刿鷉~D5 脳y9m]诵y央攖萈k駗n14C澢節 憣mO槚炲"E6"K莝 5眡N儐k*DZ雴W"0ZTD褷⒈!磇℅兡:葝(肈骊m怸攟!辉鸸!J藮醳+ㄈRZMGOo-餧a:v 綏蹧灾~啞Fc怉坻搂$洝-蟃甶o4 cDF芻欝覰]浮b悃ble!8K04e 唅*㖞鬎Lb&mf&僇艡螗T5苈m欀3k戚>f5鍏suW鷕#腩脾J嬼i梿列梐況u7甋f孤R0剟眯,[V.=墕Z祴鋕)F3N涟r唊y嬁怈>渔{&2<+{ v#> 豋抧魫 駜$R#楕孨:1皶<呢#6>⒌翵+)Yぺ>3!记`厴 酻b筮q彯鹴鈇59*瓔蔣#$柋B9Il暟掫 鬱肨MG萬2#8#85)墽![讧: ;嵝Y玫J礗:2&孞:2`澫严竫?.ο溉徇PK斟燫 PK򿹒%com/tonicsystems/jarjar/DepFind.class峍kSU~$Y矂^牱`调6@Kj[j 絊, 氩賿興7炤丛[絋~誵榪渜:c-3陮|疡W鳦)$'缂鐈燋y唧烖舆7籐7楐]6交瀘寮鋽!鵌^豺=稉 6M穽d謕&搩S栭k垥L谡狜,菿匦樭n睬蝂漒9m;V񃐪C:B袎Pn!&PW,贋秂6T豬$P?i鵚筏W郹⒖淌椂3儋瞨*咶4樨-[W郐踓園嫝q亹煴==齥枘0<孙*Hi9>u燡$客塉9ZF﹥,8梂”侍 N:k砳袺違鞔i鍈踰4h~贂5<9蔑栆 罋鰋|;*8緷*[sc喁2覗 镠ㄔoXV絾椆b5搓hSk緅鴻>邟啹"9"皁櫾詹溤褞Z起骢庒竄9连;留朌y%K煏t)籗,u朾煋/穼淍Kb鍐%VeI翜;韦v$V礣は鉁< ]9k9钮b繄.eI J鸻 Mk資ヾWa轕詚炵)妊嬙N瓊礜魚\┣e 勍Y1\U-o 靅卉5 d镁!!Z尵牊豕劎醡jⅣD8_E舄缥餽批+4愎巜t屻^屭T雥%菋诋⑥*轺u涴仓`/:韷担-Q镬S-芤懫$,妗跧莁񻵖畩訿/豝Q#檗1&x8c"с 韛鯳颯lf柹j\灭J 湪N踔D 蚑齦\3縹茯文ko[賐/tK汗薁K渱|7h`A靇O彼M[ 5嶌!m晩鮌1蹘5P萂X4/憽$z眽ㄆ=CA戟洙朿揠|~羅]\|om滳}<7>浦9靫勬嘰梶茒Fx ;奯+@3凤溱藊x栿j%亿V伆8[BP#EG攁鞡9硧%嵨晠y$歧袙 停崈茅<谇[E筢9細娔#宠窃#qmgfq!巼f裖滆{偭Z屚 湭泍鰪2:c媥m鍃媥磐┖靋;彌銊;2噳,2 2:箪疎f!R屋?镑鲊>堿 a?鄘7弝畩 葭倔鳳輡8 蛿姊盖{8鱻*〥䦟n3嶘w0-钼#旊y|斃聮 ]纆鴾U>W恄蒾7裺倻Z焉搈c黶z凎幱  襂2<(O3#8儫X苦#救樝撡蚧OO黩鹵P-PK棌鬨 PK򿹒<com/tonicsystems/jarjar/DepFindVisitor$DepFindRemapper.class峊kS覢="iP@欧P@-倐勻惕g ;l摎~弐紱哹藄&凫f锕鬈s镱熆?H脌a鐄隙L幂r=憌 钚嬄.洰橘NG癨y^(GcH囧n^Ы糾国"蘰币k顬崈俍 UD#荾W复7#E咸槌0萈脍E Mキ分鬍󒍱赨止禋>:fN0]"f躘O藞 砬⑹F捗恑欈0胻紛滄W6勧 瀰F2殍#M[咸Ol⑧櫠ム"C8薰桿D鞋jB甘爎慗聒嶝潎%襭7T(俯! Mz涵珏瑫!猸洡茫揾熜D儠u x愄|蹑x瀓w9~槞!v 1;~擟)[8.燗-烠W啥<+ 瓲!j貣荕送姯獪 餏脈<垻qMx*!I郼唵j> d婘E瀞5<C爚l;劫<#h闃0d鈍h3楬悗b 鲝圡锃/酈羊碳ㄨ鮅啱6暻 ㄤ磰)dHv踇蝏p 0貼G饂0懘疥读s塑1鵍N,葾/%鎶圆:j)胜)w磳e ']簹蠮+7&y$i$ャD邜9鷨翀}ie+z欢q-扅乕踙Ito#稣緺1Q2C&0EY蓹 芀7B閐櫌惤舣 >I咾艮羃% YK崏=腳'尽摩麁@s蔂L爲渒椓T療;%:@<^脍臔,瀯@櫸蔪娠鵇C屴n!) 靊"屜菝噪f_鼫0B(s1d塏(铁劜e瞃虝啥峅H獳 4ι(∏H媞B/鷫譧蒓徰\!滫PK琟 8^ZPK򿹒,com/tonicsystems/jarjar/DepFindVisitor.class昐隢A藃x蔱鞭阿T遄皩0ぽmv|熈沸膧涯鑏蕏f百螢9;琨矽螜熆緗惽冒隬鍆 7C%*〕z滬Ⅹ@z+2斒R` S濆a拧o 濈⒙玌榄< xU oa椠rb漮p唊嘖 S逨1尚登蓯)=﹏3蘤4維S察<嵴B-so誽杭.\U橕,鱒"(,R&R鶱殚WT曯驀裞U ;Z#6谛e葳,ば冒=0%峢#渱s/L氱▍8鈐M 除-}!錴nAA]{d%蒀競¨Yb奬嫈dFo喣唂e樝朖T@3U8実┵ホ4猿qg9;4b濿ㄦ眷~d6蝐X7鮽!溨矎"ivX塪惝+BR4f 喍P畓\№%裐遥[鯕缓%禁绦*詡長2渕n先~亇; ~++I砅)\ 3B;気'制uLY樐 议膝墏o2tSp憑Zt^~普殟埴-堋"52鵿奁\礖韠 7yㄨ亅 \鋪渌e馚/z'鎘昬=V銕4m 洖ZJ呼!RC鏑闀螠3w揶_^溼恜淯+逿*萧6rB约 咕jQ授茀x~)詢?/df\X勓楇1q槅馷蠏凘懪E x緸6琐ZbDm拄$%L趲简鴶傻+錬Hp:3!毱谨F榚P ai诩.4T 0〝6B橳铋鰇I旦3y櫁!鬬= 鯷低邴發;L&Ll>w檶0﨓鰚zx [PKq0PK򿹒.com/tonicsystems/jarjar/ExcludeProcessor.class昐镹Q⺪;2 蒜V爈:-w-X%崘詯3.8d:犹!>偧a墯>旕堠 攼H覟{颵倔漞~$^2钖W3勭赩^ 孧缨1縨9_=佺玚 潧鏂i8a,V7%T&蚊噗鈃(l莤m'.14$2C+o員9J臰(2╗墀zg` -佣k' ]z撶jn!5h鐷BAJC+ 膒YCm蛑艩堶6e蕳 扗今`樢蠉;.|﨨E%9"1=阏"a蠛=W5嗰婡└A鋆矲璈蛣籕孕圑2`h?冊c藄卛籘B廭n(言0寫6 a粼+1法管)簗T敐5蕿C>c 酵躥悯uN+0慏)哾Cd啥b拞j蛛躚鑗胧漄5(錷軕坵:5l 蔸蚪吟釅i溹q4dR8nS噹x衎Mc&"h齔俬& 厠E<奣婕礹敒e:甩o沀嚳旴~端邉*j捛汣LV夹辐傢pdi.漣桂魬у河#絾v抯鬦溛T濝眪ん檥t煋6惕A/$媙0嗼\!!貵謣t`|*賓"qJ=で鰫龁1霣U>A壪惗#3鴬(翲O酁籁P蕓n:耂<酱s矼磫H;孉宍 嶌蛈堭?PKs棼PK򿹒%com/tonicsystems/jarjar/IoUtils.class峌鸖W. $瓪d柳@|( >歜k棸嘹$沶6*饿i碉穧M3泶濋h潅Sft?詸+磉P隠钷泂9;9{鱿~` hL櫃╩f峊~"o霗|衄f崨莔#濛A,;珴英i-;9l<佲曂R+$镲9=詓半乩燖01k6d[Fv糫牚萌v'> 糚荐#/.?瑁谝笛XZ梭0ql甡3惍e诿 貉驒╟;H'篍w+Jz.渕榊柾(黶A丮忚車u t帛UP僓醭鸮邮hv廵檛瞆@醉>=熥苪仌○冊k珸傽M鐰疩A=菰$$轣捪蠜 #;蟞N2琁:胦忱2af詻*雖馘丠yH q礛A圪砯艦q;礌M/SOY=]-赝>譺9=;*衆堒糥膙t葴P_5*皬fX 燢垹浾葟胺r [%糛鞰0s芋)-Щ 弥---榜0 臊8*賔鞂fuY6羳○p,Q袕郥謴!筟~楙'>鍳R疃胷g恎鋨蕪kB眹颛I側ME 聘 8鋶婰跪湒.=Ep 1k鲃碑)(幂醓2逷"u芺燻梟鶒U`:-gg嗣簬鹿2{X K焪Y 崅tzN緞攝F c8義G4搾颇CA蜎r9X/褍l_b靫U/5帣r}x僿蟍lm鈗夬M\QpW塎素|>k'蓭頗邅%7珲渇i渡Vx~?9謬Y#卫#枡-{"弎H罣鴦 奶Q]~n虜>6捴徤嚴R鵡2#篣(F跀!砢ヴ^#墝{鵜銬戯O>J鴣3蝅p瘜La袽*p嵪+渚橕鏫瞭鄻鮮"Wc 栻縯pG硓5I:┗慞&烼'褙州u2鈘gp毣A歨*莓倾 窐汋x 氨笘0F7聆:缰bZ|A窏S "渒蘎婊{戜T"iIN#殞種 ;鸇$$@Pm橠/叵缟膑"庳譗[$z盀`zq分IㄇZ闲 ?Og鬂6oC嶗{|圮汹VYS颺uJ(枪 >晻Ns珊鎆蠒:舥I sRE<釣:脏S頸|=呍)黥|=璗兿'E淒赇e徃~y>u滾k鹸:玏1唓襎忥p'I=聉筟$v%n,灖Ig/['嬐稘赩v鷐澃鴀z夊箓=屧幆褋?c~遢it鉾腍P檅w$壛脈4L炿4a蜗俹r係wy毨E麦c^dH缰J焀aN篵@2檒]1^飈U妆Xm4L猸膑瀩鉪稶延Q(暖;x讁-$s涵熛筑雧 b嗘`胥揭务翈 ~p熮漫浳\愇獖総U PK潉M PK򿹒(com/tonicsystems/jarjar/JarJarTask.class昒kS跢= 0搻因1$楪p爕祼4<払bJ m毷銎蓵鋽'魪魋fZ様欐[;臻Y賎沗g2兜{鳒{钶/妆/K埯 隙尨蹁緵卣~弔囘M葺 B\痚'肩0s朑5荖K椎 :失L铌/u仏碱y冶\佄JI悯f富'e掬\爕职 餅@c|t+刅hh窹鰵s龝r Cm!4#貖t喰R渦 紲A坚鋰c%噲炆,刂 #[pdf絗J伭xM_e03%蠾"-+降b悖砒M菔&6<前3!|哵 煝O爼蛛-榐耪颂W賕4eV7鐪la_Z迌兇蘽唌1(鞍檽裏囆鳍覕 耆 #輍述r裍)报ne1菄鈰G*﹤'萆 t沁L 1\W񗅂揊哮ve跊 a 鉳S泺詶椀R晹=/瓭铥)榄c拇喯曅S綯9J闀2(Can2淖奅]g1嘶n5)凓栅,倶0O窄蚣T=烮m輢"Ay 郁矟lB想闇m 蒡锰TT蘼升4炷騤牌+蛋Vt锚_謦tR禟X羠Y#u 3vv娕涪a O(HmmO;Ue涷kykh悭[敭餍Pe賧rG峑猃芾2齎犐ア0Q>舧娤禓O靥9/z猟詩5,I91< 屧 獼=:触MK姨K'凾眔騽&滴 M]% 5汥'*.?にD崲!弊馹S%膅%膥B8伜S▇芷*+T*"ahq顋/蟻簕跽G@萸\8&u峆撥檱*i+殀'幈喘N/賦務磷乔眜垵咝緍屌韷#<{髌夏5zXb1&礼<鞴L敻D樄煚椄 %2耪i帑m瀜摓啡龈犿"煩"合QUF楨擰 "+p秐嘛胀 O橢;顁唪瓫PKY\O PK򿹒"com/tonicsystems/jarjar/Keep.class}MMO翤}肎+勋1馼纼酈鬮cL 軛: K赸砞L黋濴<鳴膇癃篑f驽M掎09*矱猸裏鵔z.蔰珳T蚰)^旝焯C鑄_鱗醍罷韌勬p磰 屝″7$\YOD7矾L窰m︱時Z璼^V@ぺ痼甔雏e莨u胃AC Iq屽Jh遾◇)K=柳D"BWf_:K罙璲PK=寳宰3PK򿹒-com/tonicsystems/jarjar/KeepProcessor$1.class峀K 翤薻諂tQ< 艥q⌒屆C[區蛥餚b+w>拹勷灟C耚橺x 绻v秴1_(v呜*睷蓼à>夶眃#剟裣t褓f龒0 す筞艣B7跓0趈蛌]I缲e栳{!釼魬t9鞨m.~PKN﹕#PK򿹒Gcom/tonicsystems/jarjar/KeepProcessor$NoCopyByteArrayOutputStream.classmkA~骝r王lM谥字褛殌p獝悀簻捾嗇解+餑塻I膆Q揶翁>蟛咸~+}4 嚤F瑂m腍g戔?x!镍晵毙Z獫#賾慵q═斂烫83=4睞勴宠< %h黇駋慇豜鑪U骆?8脬繤峆}殼墆F(y~吲2\e\!斖i 濐OXy'L樜q莛󔰕8t胍61覣鰱`澊]\莦 6昘f!P桠&n&瘤N赼8ml哿ny 秚序揍aX秣 y<綆|#2巻鼿%裛( AX&8蔉H瓧фT$&8=櫓X黁▇┬9'瑠BO砯,铨b>g蓞u8t炏弈c翛 | ,豖偯薴dPK(皛MPK򿹒+com/tonicsystems/jarjar/KeepProcessor.class昗 |W顔M6凱) 鏵wZZ ,A&9!8 ;蹤Y h誾礮 Z奨攍HS褄UW雧咧鉭靎smb鶮~3o莧`-#*f$枚懸cV焑kI+塬汓攥i=,0々XU+&-iが館-│%uSIh'烀[O剋╂#%曘熘鳘荰53rr:/Jg栖fD宼_S煭5殾诜;c3>墼预>%0竍-!I债[簃 e酋D<qK`E鐢y.J敇哸摶v餵-洡Yq-s切Z沾$2>OI町恨貲-zJ贩 眺O証跱Nm粋臱鈨K6<鮶壖1mY瑵墄s2m麇耱②i褂?s惂鍦X W +唐2赴殘屸$^傗呥嘮,U0晵/(0o攐}/陓\髊曚Z玚畺騨廽═sBKj)毢幑嫳蘬璫磀6L斡 奌刘噶 亘`.*'践‵d%`W擊栮刉e ,`4肯L>窋穜FN駖Z鞶6嶸]俯*b蘵4=5ˇ好换zi:5憒286:3欑2蓿H葂9葺r猬.芖态伌躺m=5Id*[&歡俑t閤10j:W災玿>諱=9 荗s6鹔0鉊4饮庮fIk閈俷!8䦛!糮欳睒 /^だ俔%鷺_+丬晷頌 p缪恜熌+|枧+)樞R輶U*糧^胘2]#! )瓭琁羕:绳z侁7@紉#盢獀珿#=o3~y駯rI 癙N檣廗亶Ejb哢r o桿餂"S8琐jj\灇 苐1&4瘠P>蓤?,puq鱮癨翎<>满Qc矄隉灵:.a@耆RGn(*笢CCD檡Cf>2脺Ms蠏;e華籂 J薸-乞腾漬"0ah峵[眖T忪曗3>薞M踚W忎隍stEr 耍T误嘳M韏"擔=j歙诃峖c陁c嘺秖@*鴬4騟|曒hj閯觗僄"E鴨翳汵毽穔VL练駃yX~9 j'蘸饈熓犩KH薣邚楰幾抍9+'wJ馭啳輺Q?GB邶吋匂╢#撯馟k# ~卂K蕂 y詷sG絥")H?B,D潇蔑':臗MD0g #顇g脑D籮牝ぽ;n缍)-撿姨鼛疨8屘废葮1m.)J4曇Lм5 誅喠縅y5浏y乺藜:o^蝤v蓱缂y諆剟<嬒矿.攼l *0宔嘠sp所絡k窾讼B\謘篮兰j椨*:硨玧詰~=V鸸抃踦S薇峾3仒竸+п鯗兦}綻G蒕髒Y挝>褦譺;茳B秘N邲[A "*7竆76丄<5B  9偌峈z鳿'璺滺焤".3Hz埿讘Z陇橑c朶M喙耡伓!痱覐0<+?佫蜑郻R..t\]'縈墲t訌"}5VS炞援澚1倾鶰y忓8N=^N_ゼ2%Dn牔崒a蟀欨5P8O锱Fry(q&x /瓅yw鲢n箆薌wU虋g駟V髦*'[gQ#遀隒Y脊逫a1繊铻t媠O?.擋滗湫鷩p(?(qj#拥楍?X椗匒|;k躖 蜉O}R_P嫞誷迚蠲 meU园&嗰慪;碶枇z| W竪歕'疾jp;儑裆|課v讷G╝;s跮紇pg;v2脟A攝w酦钺會讪y7蘒I侉w鹕 柉曋そ歚錱厨)(潦/p褟qAtj燙寲bj 粥4榮耙I>诀炽猩vR8&箧鶬梕-0z!菾k ]谱1?g癍,聚q嫺齲?*苐#x!膹趋吢J墐屮nO孑蔝!鰘'浏凒竻挿棵腛e谿滒y7飖2P,~I0茜輀,,=媖K缠碇獖]茻OI啌傰簸gt.滈2羅殄l瑀r L闶錞c荚Q岂_蝊 嫄爘抸R扃,4e梓膺.9zJ)醔lPKR PK򿹒"com/tonicsystems/jarjar/Main.class峏 xT䁖2[C0`霭(K(K怈4犫c驋 N鎹3o ⿰籾氓璵i璟mK遮諭45.bm韋k鱹_靊髡綢f&橠蘽鳒{l魑K{f2" h鲋Yf$岟-7^wP忨EE3陣艉楫踧酄窜(愻ZI鸲祑47頾kj儋( 汄)幁嵧;姎诂X(医N纝葓0禀 x⒑e盚滉l顒 5団y漚銗鎤荜sGY0Z却<`[悥 淌泻I騍=欲悢m廆-r"a蝬BS2簫菔爠汤枑4驼妱{紭児饄1鋋3恣3垙⑶ 洤蛌*廕索MD瞓廆qz当/hD瓙尚-↗bFW槺玨2兒鋒譪輪暠a塅硘 b擻^1F/蔘!姜1庤F祤讫-喺cvR橵彋a)uj構;+/讵赓Y6疴l湥a%Ve%琈uc #c\櫺么à紋|F仉E=謎X媶l* n0*y俧確2噷KM2 吻 鏰醽P蘶诓眧rlr{逥^lF+輱璽>陌_A鹬0<铅奬z禷籇9!zBV餃琱戴奶铭伆A鯲煨lei啨p罔置b輭^#挋}籜3F寀Ub 檜;榇E 綏蜈被02逰1颜e能竂C囂嗦二垾鼯)蠈整=谿鬶詧t T楃v聮-抝/舉R掰2笥 }4徙q桔"(箴ㄈc櫠,/轰b篏卍;鏔  崛+s/瓳X肁舨!屺.y埐3韍斾{,i59Rm襫=1C媠$#!鞺*0o,;\.褀鲙v嗼S篐{猓p゛癆枱n\:鏨4y瑴邴\祰}9z 窺&颩L4盓穤芨厵撰舝l封6 o琼^鲫;〞鹙SxpA扒罀7色QK盍2j飷-碼詼眖缙}4G镬翕=X7 锲{賽俧勼2慝狸&(薡骑名 薚犑斔軿纼覄彉蜂"40l0Q礹F++寧 DQ0潭齢f麻羉^斬魪1秈zj鋤瘃詒獥厮n湊 =0vt 旂)堅6s Oj8塐zQj玀,T喬Z9=L姇+n<#: q8+-vw$瀳F蜆et顖1UT韒X`髉/1dSzn\/恃{'簪O6 #R{>k膵h姻犹_誃鉴驾(^",q% 炑w歷dX2岤Cq屻13:=6)=0侃6js7*殕Wd-f7秼b!KR緼+m萁%+k;V41卺眢襴4紛飏W,7g巢<[戁鼄麫隍C伡 {ⅲ+$乌 ey皻瀪6.0很 渵&郛Lk~A{墝"瀴T旐麱`閐P}謋#簳e翐閌 巷5紗?9橠J跙枯鴵喿e\犊5棽.咇_ぼ恳鳟p"捭胚z嗬Po K}蜩&O)=秔[1A岻3h瘸iM(Y欕摿瑘%翭\綱鸆憁z琙栙社熵 ^p螝虦]貚 歱适撓⺮6U尶蘹匸x4S鹷趎殧?-}$H 诨W%剺 (<楲3l口謋裖=lF 鷽!~朐P京鐻乿殘"M抨 g岹f廤攬Riy斖H*Z湸vǜ牳Y2)颫i瀜┱炊槈Hg# ?S屔珕W斏Q]#x揨樲賘泹.{O嬴9邻u挀7'OC0漗蘎僉,/龅櫊在犜JP<倁閼Z驁迟縴栚e耐D,hl堐=橢3F螔H簘{*盳⒌f婎詃頵灸茛瀜娑Ncs舄]Q濻p瀐鏹b澿祃鍥f绠D 檭O溝鹒喓4Cb&6圡檥+搰硘壋牞=蜍涟G廰厴弾Mf!鲟:糋弲d|坼/掏褮=纁捊塭Fkm 欨X摹0 > 娰路h薴83鰒`聈拈鷸$n柫^,q8!W~誴墸sw瑀鸤4f=坵v<墸!W抶1鳮2T*囅揰鈌お}灖q,屝榌]E丷 >0J橵-霨郦熎N宔泟~'鸻傛!`輨瓐W搑0籝 GR湘鲊攏﹑@=I蕾 3We1軯p#_A繛 肓6R禼>毄Z购冓w y镞z秘嗡閚守幓p1A鍏+U蠉XjTG慜彣跅/T蒌骒緦y礋箂9遲fV悹檆}aM/h,璖x1/宱 ZFK袛/D钝:I T澠!磚}e_+t怆UCx点=%瘢撱|仳沼廵識殜T 蟪椓5Y1驯?M耽e\據﹝铌Q?楘kN肶軿羲*誺 X荙S綦垣C.斳鹯4造z^腽眬鹎z^'煫k|$&;?觀稍'麷%锸'Z8骈&Е==))Y撢q)隹="x冹畬远樬 鈚𫖳濿扄jj締=鮚藶rポ@97R翸浜櫾[2q淇糡 嚛G庳@K()勋^卌@台wI舕煫&)姒Q豭蟾A<錻儤惜<醮O鶞媏j":然@溋x;+ 臖qf抒2 蹻炢9宇鋷d綃\w硣廾.yo+瘟{po诗Vj捄*E郉髳X1 为J姫eN(#]饖jQEV棽昆V訇uc挾鞌X~3嬇JU踒宫m奔X湏k舮O馀銟緘Hl`晪#'债2,a阴稊賑壠斨R蒸ZL綞qüYPKqo(} PK򿹒+com/tonicsystems/jarjar/MainProcessor.class昗ix=OH1 礅瞶E%PCI1羆b成I cyl朏侍悍)m掖MwL反M6M訍峇HK姚{簅榫傀l{轍%y>y纟絯锘鬈s锘笠`%.弲湼iD斐叮庆衖外/浴鎍+裮;n)KOk肸(獧涧鯃丂c1鏳1ⅰ殨H'P枾{+ 隫o苤D弨/2=■y┻)Jl(*vP观K7禈n ,iw齭uvh 畷2L觅-阿&g皾==登栽 `)蔜xQ.發j讆+T珼y嫳d! P:;mhf 杖h蝁瀉nG噴冭X;C鑢N<^:梔=bi穊赫"揬A防矹禗5畚慤pT爄V眛< s`狐q[S蛶吀嫑vh欚刄嬙鰵鹒/O呯ft墀!癩OZ=鎿 . pM) l濿哬榈峴篬'枨$ 夛妮%PC︾-8!)4囹旰^[鎮w瀀儎 牏Tk綊H)?灩昄,啲尫勆4鞕顫+䦟ZZX鰫憳LM歿NK奩,u欋隝z鐸>(炪吿P摝饇燀X/蚭檍d腃麑ňS辮鍝3m嘮螪魟c纳嬻 脵h睴逎蓑睥n]F=xX%趶,蔥R餳)'+eM13妔亗b)徣遭獂 b6蜫峮置>-7觞栦#浞$: (鴒>8@傯S雉|晫qIxdZS"彛\氯[~錞猽3掓罏d,p焀駝l$Jd赝>穤LO睁[3俖抹责%j慹虖' 敜%fV驍T騏宏挠k咠EFI_3r铳<矢]詓 瞧c才 艼q銀}k$簃草a锴>i1傥惏昘簼屖<踏蛯G c潵氦廴根H(鴉香鶥| 窺埭1鷥I-j餧lUq #2$嵺q d鎴征壵蟊r峊餭燵,0+曹=L讴k1J//腛3F+ Y 刚嵒9鶸NTPND蛡頾扷虪哚*~?甘c馻W 冺$皅~仩Y->7骜=喼諒葒LA迷;摫^菔台俨迁顣,S楓槆M? 岢L鲷*揥岥f珂举躞--2> xvp/w=u鉞^椔署8n粋`]T_蒌&%X藮G *Am$铅&汫4 'p荊Q''w菼咴 94侲翏熹濶aW8璜荾MJ]癲{ E 吔醏8罟偠Ic黆#X鬫拧磫核h粔%Aぇ傼 姐铓8鯺潜饌N剝8铍请O箵憣魀/4畠F|#SXUу&q徼">A輯柰')顠据N]豉nz厶=鼝m'{駨 н徒兼蛹f杬\橿i>轂裸$薵;H芟駌m绦%'8匜椉c鴕賅起瀖騌2鬘嗒岓&_C衱o>9漴箊櫖/粂b裦イEP8蜥6垂 悶鰂<酰酋O鎎緸鮰5W{蠒6鈙:蛸縎鑴LC璣鞠譥苭:h睠_鬬7s⒒AN庒L鏒欞蓾澙笝R1們镶蕕I鳺鰇>意1򗿗轫9斮炥R鮐嫼碪俑炃燅Z#w%>z7L%撺軿张鮪!{彃饲茸沅 ->軓!;u骇*PK業w盬JPK򿹒/com/tonicsystems/jarjar/ManifestProcessor.class昐[OA䥺.no\Zn (-棶坥摝icM[H42]嚭蛌wg M|袅e<-魾Hl犹檚v7琨据?縷O拨5るX鍷氧麒oT筩 _x)|啧t0喩 ;mc空υa睾 D準Z恶倇2蘜孟)h啽j綱.雿|9C候呼,Ы0]-6騕錤筛:潾枹3D说z#_+6*蛵 m!藥/筩 b斏褲Dc1宍掅譃錢C$搈&懫T4魮^胿嫫+闈砝敾貱啯P 5墅臩S淗藆t躠J荾氱夭夐x 睤9QY慕癉'I蹽L~ 玊on躲z⒗}澤\w-{樐C<奵 捝'a '9糶凇膓渢+浮m采韤钪 + 禒^兎觮5馆錇ヲ~1>悜壸堇3藙畞8(b聪裌3邃75獛c倿-PT?R)2@篐}*鬙頟T昭鮇蘚劆鄞&{E虇嗒YQ崲 s窶⊿TO6>a;RV覊先久h鋅;@析庻!課暒Z Y$d腂稕僘WB #//滨⿱韧雍^PK跑_[PK򿹒-com/tonicsystems/jarjar/PackageRemapper.class峎齏~啙e?2*Y"Q仄DKI凚聜劒1f貐态J掖臉6m>鷷碮档礛韲U捚掌sm诼@巡D划u}B磻佢照 絗ン9'='8@輹*5-桶泰磿R$褖.為觯嚠楣せ纂=E 綈tゾ弹痬7 炂3B窸B c侷鐲?U侮杧憄ph6sY M~傾 `柁@mq瀋陠A黹|U[4爇Y瀻c$a2笙gfD>臉溶砉%釞螒敭羑.蒼癮+︸IL 莠u繒w鯠m堨q/,髛o$>糎0 b!撣$UX/A ι尘偵綑锰筅UO錁,丙妷<洳B|tzNOX鲌籏 覙e?/a嫑W儂唴 婽怑8棆Z片hY雚,驆{ EZ镘@>P䴗Κy}熏皳$<愌Lk(椩蠋伟豙囑紛o 氙眎毰i%皫1鴐, 樽E m&騿9O1?俱8 騖羀(#(=7+|bkoq鎉戦"&]瀹膴餶觙>S碊髦f閦翈荗艙俧弶Ok噓3∴C荶I+戊"w覰 ~钅 戚梑z2莒/+白懹縡L歪鯺′#:吾獋D~萨=]O咬擒q?匰歽8O洱湆;褑䲣窜藑X=~孫D譋3栆躺>^軚柍&漐慃騃]樕'刺さ閷>!糥営9}澲 w%8/ } 澭&z2-|貕j>%旟VB恸<$.>{荜庅鼙y醧賈l珞>剣?@ovD顮嶝-旒壠臻ixui級朒6"7l鹯浵埃 龛靁屵C=霁螞徵驫F 3|k︿^嗯x瓟`J筤綜璘{"et楌D$t▽瘯嵲t阅8|螻勺?翍;恪嬸瘜揺$<专+D{a<狷Z/X琁瓒=!舶=(*Ot`c臃蒴▼"鍅v闻O峾娖h櫩3M戣-溷Q 拂鵹fJ]狜K]AK臲沎; 9h聿疥劯ak鐰=汗諧機堗)士察4-}濚v鐁4 溇折t 娳%瘾丕6/晀甂vAS=雎泟-p皨髢:o U<翤具U軵;к1=耽 ]% +a{X壢y0 欆?膹圧 kc寄~L^间m慃>洨+^躯.哤謄8茖z鲶 C戴,鲟9孓0砟6J#樎8蒠鉪|泞h7芄哻戳钼鈤優yi釈柽衁络 .䦆Q{r?+aHそ ]r兲鸭- rM;Kj晕泙鶵軁V沛鍕鹕W!{zmBW^蔒% h醖gd 有認漏Pぅ頋 =g-%旆-\@dM4q7∵含唦稲L陹H?6H燯9z85洭y﹄秶穃勗劯V鼓诰`褫 槀琲<溺I始H镾亓O嶧h$i歏詿d#L ~粿*纟*i:纤-鋚 y\骓8兓,遇(U%>"^t沰嬬P#Q颺!~?彺搛ンU艺}]9"a騷j荺4荷TQ惮D誦iMKYd硚濈务 F等恩&%>初zPKt筸灑CPK򿹒"com/tonicsystems/jarjar/Pair.class匭MkQ=o2鵷冥毖k尛.睵q#B詡休K鷋&L28n]搁B*] (窦7C MPf革钧q罟琮;"9 &nL结祯,R摍;!wWzaB4柉る碎钧d0V(嫈@^鐆tJ n 攞'腩杼-佁]o闑5k#途@;茹T6d蟀瓣 {%;y3乑颻怌a_E14Y7毸x讗on$g{翞2<:8 豌WQ/缫缭蕭U/溓. 乼峊H1Z ミ棥'緕@辩M浙鵧犅$Rx堂帙 u頹蟓,~義9sαG@侖oO,毒bフ>び9内'影E[徲(4`< '導-l/沘zY俉笔(*棫領>x軌 蕵H嶖桃娴7o裄6玼搐'AUc饃spТs晼蠏嗉M勱!:h匁8?`=邑僟{噴1cx粟`zv忯焘⒀s澷:c睘UrZ猿M瘍\м;b\6h榭PK-弳涷PK򿹒'com/tonicsystems/jarjar/PathClass.class匭mKA~&墆s沨/眒4趈扟-~h狋CK缽泂.wr* (殪^鋷gf煓yvf鲠耦/县%暂p梃0疖鴚0v2膺)鮕蹢q駼: 忁@:44I鷇鈩俴%T:O5G:騻凜9T勳/痿a1:4粍tY(`緢 凘R( o亹裧^L仡8#鶭窡z~輍侮z挄4炞a"<晓::=UQkET!xHy~畟罗!/K树捺璔xG爖玐6Dl'熟7tミ晳'{菌eP顇: {*3牛p龟涚+詙C~:脲E苖>3焒[n葩U脬5;{譞即70*X琯淙zF0霿靍k孶_G墽cy|嵜衷痰甈3 97BY嗽Wf/綷寂:)賄浙[瑳nP玪2=67貁甖汻輆鼙YsPKV1椋UPK򿹒,com/tonicsystems/jarjar/PatternElement.class峊[SE=教罾0\BtH豄`1^壆畝0O托.C 8裧D7_颡U S&裾瀅jE6昑眙|骫蝫綤颻纔lL=O祝繭綤蹿K糫箸璊璘-卝OE趩軙鳐狮姝l*熩.伋'=g寭竭 U踑:②淍n> 蠻(n歌F 巰侱燩}9^剅彄/溛f鋊 傾鹤~甈炷n缽曉晁 荟e糓>7[ 刕5H鬨褶s)d攳a枠攉打妺W戯+ 0"8#橩]啅骚饡杶闻%\6榗忑i粛qNgG&岁@,緍b$リ搷iN浫峗I`鋣l〔qM爣峖SI#.fp至4<廁uC;'v~7/埗樟首銼6綅w紖w欺0T5迬k K沮譇=擦蝊n 9骵5iDcI(晅銝倩髕cJ_櫠..v 否佱(0誥:颹7屸7>N{翃粤> L; 怌n].捺鲙嶟督/祬"郤a昱27差藀C苼 誡sp绔A{[*ni滜z#稣 TN蒜y浕D散蘫藄峗.播#酤B!僽瀗S蓋遷R蛓烗h/;clヲo8訋nj[袴2〦娿ざ 木H 鏖慱q骁鼓违t,,聸陬幄璿茛|E`y叢3df'?o=敏!?Dv鑽賚:臎彻|n;撵忚{岡汀#<駽F<畦&3泣a>{剰S雇鯿矘'湄>/郌b 譖c箳鯫裡丌娤覗刋 kq眿U|N4S zy幱>s誈p曡撃"bEloP唂/R&PKU*U(PK򿹒/com/tonicsystems/jarjar/ResourceProcessor.class昑]oA=碃 +禜-~禫mYhY+&bIk0雠 \v商`诳鈕鹋き旕頱蠮I赿珙漿g螠{铎觚凄3Q(}}瑣h=蕻醒H"_h)!哏煾鸢珥t76R 矦膽022館s5嗏~#唂皢奨礷!豆戺漠疳P&悯2旀脄跻卉Cvrp恠惼2萬aa!mㄏ剾釴4灬x掳9浨D彮楔=緄蝴 壆2騘韑鵥hd赬あe鵃0Z[EY鰵9苊,睥D5鼆k滱錦S+m,1dDx犨Is劝Xs鱯x藊陌vI錷苵O箈g俽崃F;A>湣v妑荰&荰P曲筩鳢 )℉c3APK=V緵 "PK򿹒"com/tonicsystems/jarjar/Rule.class匬MK聾}郐瓑遮谥 E"m鉣镋鬞DZ閩椇%倮f#羶?%桅"~Av揿73o簋聱唍G緣 掻膱(\隅徲PT~S\qc刅纭垊2\踰脆w湣珽拞啞1矂r5'FK5?£㏕ 娊5x 幑 棉/c4繫Z斤+煸2*. "鮸鳅?9r吴a萜K> 诺 祽T2峟B鐚7塖  煊噡(#)'Ql彝'd劌 ))燛焙$ 7踭矼q导yH陚 烸_u窏l辪3粴es棘帧倩4矇_<〓鸠.艥LUPKGD?3PK򿹒-com/tonicsystems/jarjar/RulesFileParser.class峍kSW~$侔l^俋SE$苳mT饥D働糂o.椵富盉锃m钓jv:/趄壱tZ;濚3眙C??Ⅵ= I8e`/<矬剧y焥柣~#嶘渁]:Α% 坩鉽tL佃7跓压}H觵焜佘捓崺渊#艳1瀟$T34虃n(喞.托淣嗞秩)H2|2鴾Q蚮$隄 xb&43*鎤F甲專檠刦;/饨]<韍!aC]id?WSbQ湘t嫮摫 珛砠LeN 柸RZ0Q0,(h斡岗w,櫕鴨B)T箓a蒤n+e4酇诣偑g(w]%盃姏j焑"焺2謭,-ぽO菾艽雂礌!h裩B3(sCk2穫6 lIm烷5N廽酚j+貈F擠+桟&矣&筴「-豘嬐谾k鍠eZ"c|秷⒑嚤Cp>B#馀K+蠹K曧.A富藤^鯬v嫓>23?烸u{V駾慉pP芧t14菹髓氉剀殓vFwM炱Q獁RM衙癰>朅5-F熁曃qN鹍=J 'd-罅鶷轻栄ンqn愽d0?琡@攛僒J)x卼O6c OQ捄iSsU遍蟗熔榉ㄒ>g"M=柛棝迵〖J奺 e褷d蚀UCY灅坩!Iq狟w=己剌府U遟峝D稈愉|a藬#朻藀勔 簞E忙尼 .悑詔)啂鶑 J蜷EL諭睧箵+p 躶搓e|aV]颎饞 xtLoN%*鏛ㄘ@q< 讦带2虙"λ ,*寐Q疹1-烇№nn贎o犴Z級wj ~验*槨黀欃猴釟匡6&f-K虣Wx靲檙螰3╆KS噒~B\"qz藢q+?"萧毷搹+膳A0*>垷=' 熜3蝴踤℃&=T:]o2j閪凗谋,'jhz跶韇I胢,鹡廈q"|騀O4辝腨逳O0xM樅鱋夲a/终 n'>屉醕B輕k蛴0蛍覮渞!3椛PK$'鰳 PK򿹒<com/tonicsystems/jarjar/StringDumper$DumpStringVisitor.class漈kOA=S奫+攪爛 X RT^"/)爼 (X挜 癲慧靚1c0慴41瘾?蕏飊搗g鲛;鐪9sg ^ 屼靯页-#缇s=檞搟篊夸治\1_怤A k竼g; 凘lO咦摝n$7鱠蜸P%旋o#j侜$&衭A "代*丳岘昆/贪+旚脫仛湬活挒 檆D,)穫 o.L栣M \嶹D焱 T舺暄"& Qh5 祉X&9>OW=蓠hS癯姍"j櫚]Cb<&-/"佹 +蝇=v:碲斨幏雘- *n@qd猎sS┺碃忤邂凘cJΕam*n#If譊pG犣Oi$唸4莑q{泚FT將壞陞偞阝槌妭j襲慵< 峸F0)衉晌L3 鯃g1)^褎YじvN犮oG煻_x嗛*X Г浻 2X瀉焧S犵\鷪1* 榷e热},9匨免^N搇%尜m宠頹x辕R]兽蝻劃油)坐!P!尌b~S:鍒簀潨\0鳨K[杢R|堡婲昕0鑈P 魴 q孃#5(崪 z[爔團5q圞壘磡騥臭l2笇+?cD乽氉⊿B )趭2妫2f旕&8 =嶛騈値蝃8E;q 鷥8谎W颅弜濜寧鱤ァ咡Wc韶@ LT顤0荥兴7尵:腦{  S%<,a灢滈麄膨磩B;#X騾騦+T艗$槃)蔔营tS  吇楥骉穩7(闲X尬崒 x讕y ^鎉鱹g#C硹~W~唍B PK0u"#4UPK򿹒*com/tonicsystems/jarjar/StringDumper.class峊軷I=$D茍埡u!A%**A臙X#Y`誩嫿賘.*橧蛅V鱍|Kk呗珅塽OO釨*tO?鐋䙌5&鑣僇剧FDFWⅫ ?5$/?琔:LA潾阰/+9?桓猐揃豊!k"竨>徽骬錂,m嫩%磵y緂 Z彻4卺8H喟 aV糎衉:a侢a fK_S/认駂=C囓监鴸8;誙~ =_1&*姦偘⑻d贒 啗扭_樋j+鐭詜鉛7'黜瓥lGN 撼M露58H'析麁27芪8鐵凭崆Y)砇$⿰鹷Npr忊謶tp%n鐭i翎捳舫潂,>懲會?k4踩Y籄A遣6E縕3淖"萫w;涠k趁0Wp章 5K 陂*项墮kZ`U阤7嶌70爨:FtJor韴啔ws踥E[髹搞' 眏i俩o*黮% 灚挪f|c鸽甬 砦敋9挺眧g崎最n崕爇鞲Z9I{ 砀鸰﨔 闢#麌糼洏柎 6pUy^厼-3帠<_显*:lH滍d94斡簔食歵痒u3鑸S芈w烃礍斐苪毀a盥=9竵臬X]鈿 q蹇C !HuG焉鳯6钣涜^谼j崾No囔&/\蘩叛D&睅仐柰腳椬崨W撾(瑌4歕q I %鬟k+B_G善p烻R邫;芮駙樓8~≮ <屆熎$﹁賶~+旬荓娄4劽\{?K 寴y/挜熖9r'K烝绦:A.b纹b.. _六PK~ =PK򿹒*com/tonicsystems/jarjar/StringReader.class漈[OA鳀**R P独鈃駈lB0衤婳胿%-佥6衽峥蠨c鹆璜?蕏鍮[ !mf蠟3髛鐋缣簖y6鞹耘嶹dq朼釮筭Qb鑛韌軎盐弄, 歶唴帽鬑筊5 j鮴 o{寠<苓& 蘃 g-F^#爜惝+"寍鋗牱j0`C繚鴬鶌料昀CZ噒P杽cxD鰻□翈c礇.儰:]吗G湺縛膀敏,頯,夶46M M覱0%⒔宎寭Y氣9潛褜= W:x捣崡&閷.(u$rA盢")奙P_2鲮T[{{摃0鴵霓练 竣捕 蛩碘$遂]z<遵6S庩湸鎽W窫艦T諹睷屎﹃懼u軤l: 螒摺3撍zJ軅Lc穀W枎,:] nP 师3 g椧$欭⿳爆Jr*Μ NT謓%9乍t雖B捹辪夭欈宂儆!訅N塾けy栐簑捨SO洡溕?C鱈B}H鼻阾/PK鬴\uGPK򿹒+com/tonicsystems/jarjar/StringVisitor.classm肆 侤乙 倆兝.m魑A蠥鹁櫲婎潞 絑爣奬 "h鏌o羡c"U3J姶局&玧Vp6媿2OD-屢0)x肶蒭螏"K0齺+kAc棕pm宠瘕|胪2!d曼徻[鎤l+'睞珛N碀(袃 [嶬陂c赝a{!宍]PK8&-PK򿹒,com/tonicsystems/jarjar/TextDepHandler.class峈kOA=Z朲y带遤H|& j ?N稴草m禨臒e%涯鄰2拶"Z摑;g=s蠞{髯镲?l)a :|弼>鞔祠蜱焖3齁v 垮0"舽揿镻缸鴔B䏝幁q*魤00豎侒>T> 晼a0馤鵍肀寊閫惏y 薆SL 5nqH羘玐1樯S閝UuV?庈剭 uO鳪螢巎SK䁖曱w\僬*餝#踢た璺郐/wq{X躤]秧J縀◣-嵏啓j,c興X鍂7w奿 i Y刌{.吆圎嬷+臺iq 雱T8<5".轋陕,!7#膖绖桝KB 顯凧4=筼 a骸|观4ex岜.廴s傣倊枋7蕮X '瀣f鄬b層榙腽熴糘晽蠎)W!%"m-C樒 !搨"t9f=b湇XKHrg-\3荓碢䦅,|<荝eBn峂曌ㄜ,\JP舊$Y!づ会3J0c炞(OPK9駼PK򿹒&com/tonicsystems/jarjar/Wildcard.class漌{x葺晌f矵\\]h蚽B 疈!A欖N6撦8;嬃緃/[ 訨Q氈要 浤(j[┑刀志碍m碉囘卓邺钐&毌邨漿嫖界9縮钔 y 鸲@$曤I毓瑧蕂羡zO>盓厨椮`橀攆伿-6-aj貺bu=e LYS'? 數,縝矜)掉屴梙懴遒寫针+澐5K`藁靂Y秐e笴q7旈瞑龊_8撌捕h④玒v^ 莒`/貑檋,m{硲珐D哇枒蚿艛鲦1髦9骋垾w瘢簗媽琣/&畦鉭猍佳曛 8;缧)P8梫钍L翘 &2淥郾砃埦kA舺J慨牂颐鉇归┋ f弣o2M= Vπ礤})阶6rY隅舃"F>捦-睲3峵]?'鮒 :bNgズ踉枝4m]唍5vkV~$xoa窹`晟邨汉tKE2媏lg:nj珫袵`/岠q)儱貊曩碄桐<7錤嫟懰黺锡F撷鉾p,昸橖樚\#Ifd觶哧D)堝竆& 牖鮄濱粘)=翷俯0伯_F.炰脏G逛薝.兢趶s&TK*V ,阶訰z僫 \2秉準h├ ""z?龔禵撠' AT赣m捸渋U蝜釲G资ql% *R疵褰啯 詿2,A梃狜 .X凂蒟笲o[YX 鵙樢諡 & ,'Pa$菨鈻U]蒉膗癲v驨$汮昢恠郇LK钃e:4k記7祙稴]9犹]#澺欪磻1l?n8蟾j乌魛3 蕟椬9-扵;p珅虜窤樢形 蜠H`Sp枖>4襠T^艊沟藧答E踋罣#鴮nKZ7U忥>A|鱄[煠%z睅崸d谓屓g鑳懙[5矦戴I;皨\h洋觙ぬBZgI趑骝ySd!H蛰93璠戀K&v"},蚁觼俨7戾i翐脫軎缞谈遥Y[YN<^l怫:W&,4轚 &x鰅I6rJ譄╜簸馳4栊Qcn臭惙G銛冢凫'w~)i+滶Wネ屟ae 抦2s'5脒碉攍М芉hO酘災訉C維鄿渝t48窩岠(玾扩f4噋Ts滒阚L灡粌鴰鋊舅)檼=甕剡肒蛩鬏 ,'~8r;8eC蠷秚鳪<6岦 ~;尊"4J?罯1~Flh娹纂\q鷏嬳鹛軽挈楖袼硲澑+升_3b5雾圸~C{7koQ,]sj9+襕Oh郙y+瀧攎溿;K杢T水⺈.h胎uY箶f秊枴眴姿嚴鋐闦U栝原襆`]甡ヴ速!轞藋葛誀3Jc3哾雟F鰂g鋮脔湋=#锏l臩;=洒 郰来0ΨUV嗉脠腃硧堫陇a内B5H<腅籷灉婆m$窗埮q䦅X娈y_W)m[酟:堟谛!俽km桕ycm昪q蛨瓮訵薩ㄓU<刵玸K,8 乚0zk姲*辒7轶&Uo?M9,迨鎪xE {岑\~ .L漫莰 *楊#TFU?‐p}7l麛虸UIqw80#v夡?p)M渥彽R戕Rn扐8僭 nKV+耬A W$薥8;诼篙叛Δ>潜>遤工$}卑)T茲 芣黵梘g}h恔胘焃锜U粯萸qgX濇U晆晧">划!拐澼Q念;UZ:律辮>D廜翮構pY劸@ゝ,鍙裧鐌, 坆X70z勻~矽,^)&^C?%v脳(晪cㄅ楍0y6桚:r_缿傴*+クQ扺ㄗ%/臢<娗X-免6滢2q珩庉r鸔嚏sW蘠M膛箻俏ネj\蒣黌难畏M▋ 铁m艹焪騼天 抈02兖矄闑9壣*嚢X劚T4薊+.泍-郕q毮璛!钺}u7毰X<5D竀F媥 肽sX/^忭Z烹 奁这遠蟥X餀蟃l蛟鉠徎鯆e寔囥兵廈Ux宖du$倲啘蕏鴇$焉缃xⅳFc嫞oe蚎4曭渴汿聤$褢}H:糛牿`JMI3f4囵LY@~l丞怣/矑=*舤!-K檁厎i1Y駏f怴Gq稊p宱+駆桠l啲赕^鏲 筨*轓y5卨艗7[&跷拀#>勭~Npp屾諐Rke;5軃笐o"踥&欲褥[笒禃蓝P玠Btひ_c頳膴x=鬧W嶩鵺n蛷+桀+k孲w溜qvIA`0蓼鳅袩湲~万/V芬薋資膓y>U1r悢PK頭河 PK򿹒!com/tonicsystems/jarjar/Zap.class}M=OA}们湩,  Q 蝆CC牶 呡rL聮籡卜橒超L((鈖谊|紮yy擏}<燢干l憍ktV~敒2('暭﹎" <+镔檌h捎h^!x褾1{穲 屝@嬓餶]?茝"涁z┩T綪N玡委' tRmx+栰蜭鬮w.銠阅$)苽盶Iu望/?e┽R0%酈鏁tP1讉滼拯PK<獨娮0PK򿹒*com/tonicsystems/jarjar/ZapProcessor.class昐跱Q]g2 "-窖7/XLM $鴃N'0d:犹L|'鹧^x1羈|C3%腇Iz钨/k韀黺`FU硳sLCS;放-謞u2Ua郐%1鬺穹<c#稵#们0*^l;oj帵鐬sP△4t諩e居舨虱餐0蚝 t碡k枴韥fh揃輵1x R鑃捇 "( 搗$蓛瓞婶F_d耤udvMe|:&{谑u:臐彁齵瘥鳊鸐蔢#癐櫮]#F軺"/4豌 "苶s言"G0嗑验t蠡?Hl镒哔$聐圙^馔l鈞Lа眱V▋r 続抍葠u袰PK[D呣jPK򿹒 com/tonicsystems/jarjar/help.txtuV]o6}鳢感SR豶鈈]d^Zl腊醐 Z憾橮$ARv輄縮IIvZ坈欎:鬈C}T>怏ФO鬇}褾%G伣j炘嶪贃港p嬅EFo 氥旖螫爓鸇珱洘鐅嗛僲龊 -S徵n6#z婫<~蕹6堰A)韚$Y/Z揮漂嫃啁蜧R {H9qP&挾i j)炆雳/D:jm8{讯1}嫪閜1ddL-o巐]鑄椅緶遃縶6k墆沪哮Z瓱W懿g鄄m,癸騖H貣蛼/:敷! V鷪$m蘐仵#Z]BBY9眎嚭>& @UVL+TQ争皵藖|N9粁桍営戀"譜t+36с^H2燜s.7乴.] e/鮣R4&䴕8$({╭漺謇 敃晼炪鶝雒3蔜%哣n '簥贪4顇齬弣p xJ鳌7嘖碯[ 綸熶a<( 舩鏈1$擴d8@巭觎弪W筢|莫睫湨#╝锈㈤i"sW發<-鰥"'r[逝喙膱秸躥O8+;遑臓鐎綗ZR耬4嶴迾,ゥ铚AF鐶銷//燗m蘞U("變P恻Zrs#|17x6H/藢绮淎︹蓩稚╰.fIi飌l煉縖.ヱu靘 n-W憲孵O跬瞮M\&鏛~埼@鉹* 耹)籟膖栬N郇 t 巄锝 ",t&Na瘢UIm4縛莜③_蕃藜}鮨鯫nIn賥皣驨;弦0秎撉t妌CYe斿 gp9a:&;; 内R >殍(澕(貮;B眷辡皹嵗77逑[y鍓鵵i(A@l\qvU蒞u=净dF韥哷o憹艠J鏬a.棥=LΖ鱻Z蕚湿r$0m鰁^2_3"8镶6孧犑Fq罱9錋<働h 鏴2!Mj猑姜矝1>﨓疏鲆O7妣Cg躧@ F?^飺T艺F4En=閥UW U毒濷鋈ヂ疈%窴"燢)n桦彽Mb<湨諬(XO壡K% 0咾沢{ wM&(訉 *.槭U&65`. EH蜜喞>寇躋躅稓 95; !篠交.馑$)蔫+g陸H_"7J+抢;萫>钉@\r築u攜紱D U3毳趞鏈奓蹛KSy儂枈x孴鏡` [睕袳鸟.鹖磖鉫缀T硹&]#N徭犝 (r妟pt畯{糵寃阄髛*P.裴uj 骎轈&8D潡墮威PKXA菠$ PK򿹒6com/tonicsystems/jarjar/regex/JdkRegexEngine$1$1.class昍[oA䥺Kp-兜諯荡Ex3U_M0kM聂练a櫪2kv嚘齇>hbk鈨?e<碃MUl仂溮滐3缣_h⑼恤偙%借$襜9#绎刡 帩齱瘝馤 錠筫1F鼒;>W鏤o$;g飷ぞr|曚<屮:I毼 劜こ縬嗞沁伇j%9旵8連媡懍,b獈PK pPK򿹒4com/tonicsystems/jarjar/regex/JdkRegexEngine$1.class昑kS覢=嗣1禤DEQ 顶"(`Q 惰2婖Ck 訑湋23斻$-L;潁躿鬈s钷瓦傀萡塧X5芬秈hjy穕蟓rzS辫煻xO/}+sFI3xl$菩暴(i]1J樽k沑hf閸b圮2he垳x 櫰2A咾;8CO蕖U5齞,Z9!郭F拡揝殹貽銔=桵bE唽毿!C耬 34菂 :%礌嫛EpΚ466B%媜電蔳t漚"?寒e垡孯霈%q帜嫙A :舃,D飰雡C-%翎C9'-臯7概0z淴nC睎 7T^#s ∴适罓铢ゑH0 鲅(hIH"判J峊> 麞+i]軱梍嶶"We宍T徰u,巢3+嗧8h黚欰L葂剄鮔Dq籔玀謼峆C颈V9粪nK>3*懀蒿%讦K槨3钸V踤?葮矛柑y喰虍aop[S┯r婧sΚ+姤)k:'嗹<^猯璹顺H薴臨&6騻ap++2/S76裇7對幇xi磣I>袔^`mG~惾v/衘扤5榆:勒d戜!?仍凟e $7簈嶆W皩襀凒@ & 擢鈔!憽*猢*铒籽(M瑔憊稷魠NS斎 B9#x鄀&火5*钫保-{谿渰i粜)^XZx襾祟辷Fx峉x鈦姬 Iヂo>&S嚇>:Rg駱匟 灍P軴鵵橎R"qPえ馀)娏3侨焪(鲫&~!wPKB-PK򿹒2com/tonicsystems/jarjar/regex/JdkRegexEngine.class晵跱跕I.茞@@9.N.砖z僙(,$.7f6u謍紸餠〞<b霥扸膘欛涛9煊髲_轪澃D-逨Z駗le+鰶吗賽w兆幽JKD(4怒餋) K浻娊噍処=o蔑昖![甛xp1阞a萟珮櫟A燯偯鏾T( 誶鞳痝(莰V䞍;諮SJs踁吔!搫漌複2 榬Q4釥k-蛜(釾芚E嗺莧歛 e鼓>kb澺|镭4继译81<䥺SO慹蒌唂Y绶1箦'F.70黜7f頱-99,`慜%h50棉[玦秲4B<婶yPKь鬰`PK򿹒+com/tonicsystems/jarjar/regex/Matcher.classELK 0}c 詬q颺((.芄1臇6$綒 唷拇嗺欦樝黪捌敯e羂㏒a熤陕矊刻H%l蠞窲硨9斯V靝韦p赂陻嵉 ^]敫q岾?o^锴sB﹪^喠Y=耷例([邈J蠁o驑t雽u,@別Jv?惮兝$?祏jD錇m莿jU彋喹3UY{P!皐a 痽Q!C4 堜0嫐aPK `J彉PK򿹒6com/tonicsystems/jarjar/ext_util/AntJarProcessor.class漊隦跢+6*N蠵z#丛憚K) P:B 碓Jm# 鋉}鐻L狅炎梏[򿹘t楝项~棾g胚1|'0Vt*嗭豓;饇Y駥棪?C铥厷o晬9巯欘婋ョ9!0喔;哬5嫽挍澆g樁o鱟In{譳h>摈鯧s坹綶+敷绮/鼐{D珓0芜譐藣跒tO 圡 槺l藷hK 旭NQt 芎 W竼N1hqDp齗竰纠ァ苿'2)M%-呠Gr_k>,歎.-e辗[名T懞d潌t猉词襰祢亷弍#A敫偢抮SGX疧X萕Vu農r┘:[胷 9?+峂\螳5攆%)涼幜宔飀睯迈稰馘C)WIqu璣U`鑒韠++衭殶`Г$藪s虎萟謓?]鎺;LG,[犵L銟埑&)6+R莭*馌u淯Qzs:2楺上欆&畮Q塆j 忛竤>j涧脹:姹衼'Xl~鶸荾躍-揢>墾桵陻琺K:禲2w=Ziw%{P浅巴9_,K觀掑猼ux洟鴢s镡F+棠引u紈勑fj瑳h莁T庶f燰椠鴲+鷕=檸玖@zAj$M睮 寚4]AQR&eib5hVG楞a ,0T卂^袋兊T1!銯郥2歍脇偿TP艬5洪gJ叛:鞃1}:8T?~ Z滓V僮樅崎0虇a瓽;D钊萊叇灸D 毙4Rh) 彊爊<メX0R娲儡P蠽鱤a滍1>L >x=幪 u7蛼aT蘱釰 VOv\讥:A 髨ts宬g璤 h Zd|.磑郾 Qb.@杕戙芊潦PK疛PK򿹒Ocom/tonicsystems/jarjar/ext_util/ClassHeaderReader$MyByteArrayInputStream.class璓罭跕}'$q軧褺[m8戧獓^@H)馈燶r@g/Z,愜T|T誝'R庭R-{f缤敷綦'l0剳F2J茐$镐氜@軜吃萢p8銲騏饋羞蟾y4n崓8袣徝*5'F >*14.5 鍻8 +駗0|䎱'e,醸; {2杅熈仝2敹z畤*灩(耤( 0|朦2T(赯YZi3z-u棘W^)g级46Vy:-矢^j3鍤繐a賝dx腼3衩杺t76p鄮迾圪锉"緐秏阼 8v躖MgJ硕嘠'C餬nS1m0/岄埲hA3捬"2充g┞砙喡滆d帆?c6鎴*F 'ゐ 儧衖9k蒹fH峚L:B榢Zg撡M棖?0&",蛳d錥$D>孖賲U 摳8*3"9r#屔xB40(c 惫㤘訨9瘠篮01E$難 =V*褟!ν湋t 蓆烽鸳覫栠F朹+6;阊b户惠J,緧, 氿悸駇洕墂赩+檝矝-h懲*LL[挻:6毉鯐峞沌仑怕(hL$琋3砚槑5 姖G莪觻餜򔨸l橱偕vq4ig觱奡蒬⒇1;媰h搝O,沨W }躎<]mGTv燽Ai旊筃厾撎畢莚欆.羣俙陹H$5陂-$gv5揺tA褷/欻f槓=R^&蟈c8h$箘\!>層n{=裠忢C1 }〖ˉ訍N 棖瞵觟y 籍虚车!屻侫9 `M/?o=吷#6汵W?Q+瀽T[_>岟p28槢/副紊:| 皚0*> 醕蓳@氼乾榙Dw6扏閳昈3\df$歌Ivt癕X$e煋t棠眎坑VG9] ,4Yvв鮄櫣/鸤琅~塊Dq坿xc楪O2.銑p飾 O<繳岃'籗I鄄澀嘡LkⅠ~万喘嶛T<霋襮鎠W鏾p]蓟165 #4%豩2艢7r諀)}&6=sYc陎i"mf 蒊胲糗n&z寃]2f塺2j&稕楦贋岸JC牃舛礗摑;N咕[=楱棔p粫<棭9=o庲匇u?身I吆'9霝W㈩y!陗啱莧P骷秘螦菊s叴Ze+瑑躑悲1PlL)茲`S<昝B糜6X車2薣崨(@e栜6锉 g嘪漱>縊A_x{3俠z7彏蘂 鄆|M鵭<鍅Q臹魙4]s>QF齴2,稀尖鷆 +s*>^箳韏<汣y磴晽箔Cエ鞕Nd備Fy睝畅1 担祡Xa>5x 纪躢晶:A/O匔ou綐-C_u^L枴:顈L簫χ鹇=#逴}1岔E=.犬譅翧崔~x伫≌o腫x_E6Qね㈥ pa腫鋗馷2iL)tn>稔^銅茱n骰f7P憧傏黗竁]A迪燷z&髬|椅綅]睕Y穏+怆GW? q(怊兜鍑蹖Ⅻ爒( _憦)料( d嚨搙墩x弡侳Q碾胍Z锓HeO?鈴x/`e/諶-=y驱苠襄8p芑髙q=A辅壓I镦@kn碑疌滪s茋K8#鵴5 G^6絲@U'愲鋭殙y斖jyU$W軠拺皜屹魼- ̄r=C朮邻_IW忧掉験鶵K℅攇鏑.匜纒x楋h-gy枟}蹅竣暈锢擤炪?眹n獕hW揳)鑀友`痁品]-輏l帐wD )z烿H8GG:社苰庛8腆?B炜! 呱透>H驳*O4 x埆 卫М.〝 a$I侦L?捺`I?┥Y!8:猋窬fH?踂丬k惕咨[o爺/堁蹰.蝭DS6m(倗G髢+ 糾z|l勀姵捗;蟩w鰬祬馏!磉;渳#>草瓤#媻~g乴u 7轩w}]簔哝嚋-%棸f:)xk闛眵颃緭礔+Ч脏獣J拈62帿46>f瓆r锲窏擄~詈9@'~1 輡0滀晆婔>署>34#柫' 蒫 2C+=B9E叭(/寈踃洷~|V銒zA.馞|m5+駧篮氌砐gu3g疎 琘>鐉_壪鐄1峹)g0傁h,嬫#鶞灢絚肩n扃瀝, 孉|Qp匜?~諒 褊f肧釕鵄 V\7畯乼:锫哚杤jns=3 t2ド咗]テ锏%髤疓 "/PKv図9 +PK򿹒:com/tonicsystems/jarjar/ext_util/ClassPathIterator$1.class漄M/,A= M腌c0>煆锹G埻  /yba#55殚柂岌槛lll ?缽穂+捄鱐澗髟┷OJ&q莘qsi&4/_^兀哢】 c~ {篶63K埿S缏Et怙Uk2r凚湿剡R′瓌'櫯卸"e 官龛p憞K熔Se珪8,嘲yf 匠昮S骞C傋8!t*畅4?#謼C艄鐴?a& nb聵橰〥葘4同淺3刟7e;劗弳欉垙/T釦B+Q 鍉奢F*u聘鈫掗罅蹓"㏒w襚-<]7熎y3c朦:o蚁溄W採$G[蕦r頑w旨蜆弱/躡?軈{岨儞緽>wU|磼~r缁WLヵ~1簷.}PK煯PK򿹒:com/tonicsystems/jarjar/ext_util/ClassPathIterator$2.class潚MO1嗊#K稫)勔 j"uC劯な%RQA謇9[78陟V禨濦=穑%偁湂3c繛y漶焱磉%F 磇"笏X90a_h﨎^ 瓓胒,9霾e6調5D(襞"閰禽緦瑖iB1SU~V眃硠妫$>〥a篭樏 3 3鯮翾973XD扅n 嬪鲽リ晄B 逜嵸;╒ 颋啾7╓皮S玌耀(鈺廍,qS艿濩閼Ts迳睮5V >q3匋渔XoY/队H杵蛱9翨[%蛩p袝zчPGnR ZI"u止4芈O)6 6xr$幊騉v忌>9蝧躡薳6<F 蝪8伺昸箭鼲(轃n祮u畕d韕苬栵褛ePV米PK.TPK򿹒8com/tonicsystems/jarjar/ext_util/ClassPathIterator.class漍 x~靚v,杝箵M翨8 嘼8 $*v2百峽pi[铮^h5x碋+杜董遮諾抵Z{豃遫f=<鶫ff;唢哏>:$)j綛e0HD#F0=炐涖丮Z暮dZ<~稏h狪1-9鷒叶h伆X緙L8aS(2W拖乙吜=擫I呴熭㎞羹/+漰+x猭44琜\S籸 匒郸覨4柏朦t饕+篹*- e漽$3D`H喞瞃D宧Dd庋d,(22uZ 哔v-龠r!捌h忴aP蘮mn淫.1琩qI齐8厑]嵴,_-ǚ?N g2鉽b+譪揅F虆裏%n0S炷厒峼忪X碋%+L焱h%芶c1/喒1 茣dNo䦆|y3 &凒沕K螪 v-fg2e奤(碧Mq脦 义8K7盩NLsc:0凓些 薮敟iet1v鐳吋9.T)L%Qw^W錖 b1m{g洕钇鈄&-^嶉搁蜠祙綈, 胪'慬R=,?+悔3N, 礑 臰捇^qF缩X钇2淢H嗸菷5珸兗X膿脬挌歗憆V孁筶#曳-呃蕳詧5X+S淊&7j睄I 5蠮畞36Hi>飭&Y_ '寲邦踛凜A-婝礃顙D>-巒誄U>倢Jkia?-C孏迸怾塰C*rt莕`撊nvc4劝欻0嫳T蒉鶔qm..E萉F|龙x4淟碒錑酈拱Y蝓m凨軆劦$婭楍谁91ば鸨1l縱惣|〃7觕p醔B蛨/4耐hl_ ~塒駮 KX髤$\冈儈+ t9A眮e^l耠!洑譫肖tD椷UW+羲~缒礡蒔hA8剔-渗:J M8_囯 餰蹳S<鯹\M)r7臣F妉堀巾|穵鬽⒖$鄈劰冖E,a玴Ov-Z宂腙*粋Z肬賳Svネ.蠇2荐敂DY楄怲板sG_H*蹁 哷穱 啠q氻浀m9 o崖I)苄瑎3R榱^<\囸A邲 癬2r 悘僢{<b謠漢鬣IV矦氧涣慂qw獕$ \讱JO t英s喝"迂"铍蹪8JT湷蒗6菁zOI羞Vdb,S)莛 |W;罦v X崹2漻#C&瞊>驱+鍆n<綒穭~嗥厨!{換7榮 k記0)铼H<僖%粜驏袁揂?u鉋LHT馥覲mH汻{S嘃/躼IHy'n+拺勓琯4/g晘 闣n紓W買尅竁9387燞;1X瀪湘`6甑f龘q蠱鑟㘚靅N紲裙=秇[倹6m~晟T骻#漱捳挅蘪嬁厚讻諑檭―鼍离镡耔?溏 x,J7罭<(填%萇 嗫彶俑N1g﹒υx.LjaF8Q"\8y$8钅割Qアq檼攱湙寛^焞^R+铑稌7l$汈劻9蚼謆s訢"屄*辷"/N 俭j煓ソ薋sd%^茂rz漨堩B,暽Z躗鄄 3Ul\卡 i=霹璛"珬淩创最u禩:p蚢軜囌{蠾^-蜚7齘鸻|Ung&颒梘;嵔~'嬧鄩.w醤&}/v怆÷鋡廜咪2煠寉`7顏 鉚9钆穈7K#舶%勚TBоi痼9 3,鋐c9蟔崹Bs s9晃3h銀 -洲|@V帙瑨]9u阾垣yG*M: B笯_c滝=佰鰒'羉酱4菹7Wx鍫旴麔黣銄6曁:乮r;孏銆Bm賏<8鏑汢]鵴t绰]~ m8茬鋕椁g";瘬=暻兦賫bqv$鵛碗$M k櫪Y>'S^nfカe莙C臟z魸<Σl幍衢}漻柛z緫縂点緶 t7l纓觠貇f4捍瀎CY.Oゲ}:5垘偞韁蓐 2訹Y7x 硁)棘:"!9Us酲Z3瘻達K椗镮灬燂BA'^_$訨/癠:馢cy;~}磍?D噯3盕惃冞毊OJ>鵝冯c叇x趖蓞D (.睃z&郻~葳&.薲巛O?^/騰 燷桡W噋~咕a-N,TmY.鶶辪臜r醷峝诳マh囸\gJ[狢+慲Zqf|hO揋]股), V皫'm鋻搊;斆話I供塲/JQ搈畡vXyD裭旷/P旋掻湛qn肷W奴LeY~,6|<拞壮9k:sw鵈毱贫,W;y(#&g ?鵖Uz櫦PDF唱磧M\*]赎] ]瓮鍶甞暖痜[]C胃<螩皝隮xǹ塿vR贤x粪彶Gp+垲6戊矉兦xw银]蕢徽霽>埽&郶鱡魥[N)x>蔚|谠*籱Γ蒯?覨皜^{保,U戼X6ebn +踢羅酨{N>_憂铲蚤苐5D e]y極肏t蕓蝬蛱虩峐檱B52培嚓冘"I韊F&!O?Hn穼叐Hf道OT繺喌z=砏坭&O ))汌鶰铌篟c隼艇Qmj炀呣 廝!O )卂L5t6*bs課8l{齗緽mjB]9_ .彮=煡凔[捞醫U!# {郢蘛写_$齃.繯f镲>3E虂Tp?嚉萈5GlQ臫妲 紳泲廠Q蓪X*猂軠/*怑所詀艠u廼Y卩R踊蓎P軌>嶍j艫|貕><+3缂a见hn匰3摉Gj52q纨PK豻5荫 PK򿹒7com/tonicsystems/jarjar/ext_util/ClassTransformer.class嵪1 翤轩1&&66!篫[ V倕!a ,爝坁吐x(1罭刟橁<_%苿Unj酟颈S5婻.B]荼u汮26|6禫6&ゼHQ搔鸖﹔b@H~a掚彄i治t茞0龞=J圶筎贐9<冽k甮!>樦鎗+< 軼 #D鼴艿囸 PKVxX5PK򿹒2com/tonicsystems/jarjar/ext_util/EntryStruct.class昈M/A}禑尡粬]畁坙!!+{暈裋Ofzd煜r8~敤n偒るU斋渍?^`嫲拱呇I胆+懯拸PO靓:枊-肽vA凙*ト嫬8U巑2鸊6q BC(騬]坰驪[(ZF鎶0寏否L浌沋韋t铃澪胳齦9銥%#m=&4wvg!zha囝揠0夻/麈Iq臊壧f苍2卧B?褾]謞o&u(g踙鹩郹[鑢EX虏V|标39 斫=s牙1"1:1G3c芃痡PKj天"PK򿹒9com/tonicsystems/jarjar/ext_util/GetNameClassWriter.class漅]kA=撿n毯5┲榁洊b+圤J_j 浈R|愰:軳櫃 恚HA)餑墂&RA勫钨3鳛{钶臌O巴4)筘攨L艄6"遵)W裟馓集屘釽翷x.瓛F茫r澢$E燆)gh&柌w 邂i|`,溢 YH诚圊G粐n翪H9憵豳?F a8)粘岍砸0L癣a-R謒F5"鄂绞袠 Y衛~凲w7h挸滑娗 ◇1V號摮褿66廞#$_湏-溡S撻*圥ExI`Q橎袓皸PyPKR-賤PK򿹒8com/tonicsystems/jarjar/ext_util/JarProcessorChain.class昍Mo覢}c'5qM[6 IE] 棯HE㏕愩F幏7ń+8r嵋 侰艡苛f*8 嘶3炽禀迣追3窶 招*朼z抝1L鼳愷蚺眫92驘蒦懄*> d靲3冟u郍A秭"l聺\h妱?歅 蛠榜 u0馌芌?"躪娼荜靎羺纰薋IA榤:方錫3︷妰拠K(昤a朠袊2%芟' 粪漡wG貕ur帛 j='T2橰轁鉖i痴<\命$&P'愪剿矹砶匁|4茑:喋;* 惾塯;2OG镁H.2頧麂瞰Q娗2X鎞繠x椡状8v1蓈匫]>[+/榡瘆F;*>a頒V际秡^漫*怑娦鄕 6踶Ι1舥悟皋'焱蹎撖埞硍_運麏蔻h熅辫焻1弑.`1鉳寉淽距葀Yd%9^徵&gM薋森 御PKo$APK򿹒5com/tonicsystems/jarjar/ext_util/JarTransformer.class昒mSU~.,,lW嫶袞b汳琀跃$BP)j,X&偻芙羊S~澅#3齇庣顔创3蓕;>鐪缂?7!\/* |/趶敤E楐s臩酩↑愃5蓛h;5!M0啞=w<豵7鲃2虦陸 =E!1; 炚 Wwz漷倨- 惦G 撑S漜0雺bz|>PrU蓡榍dg彀簨梭O=QW~:腖$f>缟箑( 门$鮾潨\7Y Cr幽8脌盯u_2\p^K?恶>.[xWRo2揋5窢5茎脋暋池"7 ^#?5m鈛哘щ$攷匢鎺彗丳%b$6b]鶭1E49 覍卛d誥蕂巑恰*敼羯T+z{: 賁鑺M緛涄鶑+q_JQ&>e8B嶭麥奕埒 9眢m>g#煱p锹-躤皐剨U栤,:铯诲複5B侇坠赸恆-絒C樓&漝8Tm2悳$=b?3<6_ 0 墷r衡fy丈|c{[缵Vt1エW笹迬8匓WR逐嵁Р螏z濌応D&醄T:j5*Ld6居裐流斻迡卲+∏玡.}綴kz`8[Qj6卨焁澃P氤V脝裟俖EYL_=S棩馟诠43汒2-滪=4谏!蚾鸭Id斊穛杗榍楢笠4<帜/`睟鸗 櫏_裚2`篵脆枽33M条6裆nUh髖 鳛#5E/椣q蓌F*lR4唖mcn!愦^腃魭d_酢%旇孡h洩W藊D阼 ,菭秽(&hu檺*綖,!苊5翶羕s髱a@;K@洤鵛FXX┐皻筂7薄遠鈬過ao Op{34n欧PK#= PK򿹒:com/tonicsystems/jarjar/ext_util/JarTransformerChain.class漇[kA﨨岔6i吹秈应誢訫俔 U_1鞁e {佪I袵吝岖 ^袊喑颗違=硩E#s3g缁孥/C奏n鴔桕8R~"2L菥H富蚬hD襂D>嫇P&瓆"Dp荄谌朜`垲A橉蛡=m熓 D汘瞥C樇"ワn9CPyф0卋 称坔蟷皂K_8c|q$ 驨鐔f0[腨湷a0 粈 浊禿(wD'5岐笞s4<聓*U:6)a 昳,b橜娗}偉鱑J竬淧&俱傼#x愀璴魛P`碘譪"餌73f*aW&馡j m镕鲬~d弜H}k橘梣牓/.N'k﹤C}膐鬼馺馥槴gj葵鰭&譂碷*{畘膼?杹' ?C堆靁(4a`罛2Xd0鬚F 囄?E脣≯<巋縕i<; 飡侱F[輴`臦.鱶< 進♀菮溓~_3萍Rq鑺庺vhI凗潥摑)薖^D塸昻篻(毉XgSauZAK@%魪敆%$:ym籐6EF1讂B畚殥3荒$2蹌誘曽PK%PK򿹒=com/tonicsystems/jarjar/ext_util/StandaloneJarProcessor.class漋YpSU﨨氫6iX跙/埿倶產))m 稊hKE窶/逯$7苘鱹QqApE頁特,#>閷33宱::脣/򘇢鈝nRHd0撥s麠[K馥朗 賔軋$挾K嗿5嬤悀霓洸峢肘絑詫-毜2#z2iZ 劺魚韾妀窬P{O 虧\2 xq胣 栵 7荟#)昂zTG昖*.lu2绦&#峽唬1J藈 *hno:禷L鋔V0澭SZ攁g澣М|w3Q枨 5c7,]初N=枑js;l藞髡M -≧1塃鱶檪{0睽游侱凘d[ 0c湤L钍(臖亂跾v"e覱])窸$W|扉齸鯑峔啲 ?犼 l娵eS ☉濂瑜zR毶鈻eN舤K9%K癟喆l 9, j袙[MKo婈1jM:堤>X乁q:=(5榌 凲'僮虤秹咬踡ZL&[:?睘9;|3'阙&佖擰豬HFz纼h栻- [%{夳潅:驹禷讳亓#*l庍L桜(槂颭#趍$渶r 6G:駩劃芥2亓欧a{]益n侁魂b0頓鎁`i鹞C 溇}{ u鰄#:#q屝Rraw癊樨/忷<7y6槺凟忯悒纁( %$洁D=犜)[#As #A獽倱7ysef叅v畎嬬磋!O$j&殄9c@冥o轣=?帟r8靂嵏迻婖鑆栤縴 R赃aΜ.胋粁曀B揿|~史W琳S1 遹n\鴮螥? 笧阆隤胬浅)洧発%9(槺楎跠豜Q橣駃蠝-.`.遀w蘔輀FP贓嬄,A矮r迕 {GP5孭XQ=i,绔盳4幩]嚼wh 鸗E酯盿3-ChW晩!t疠#)粏衇*」(糱峕56>筼O銆+倯FL鮆捾瓃閒寿t用y饐﹝8縂╆N闵]( $2D掂騳恹*~倁8k:纂Y3'附8啩4A輰3x2/m8呯<%皒踖腋{;犰^滤葬糂[y ^悌狰潈鴘Ε?8N0m2y'皭膝|[F[9 j◎~[纚q!VQn5%觇诏锐禆3e災zZ趫w蠨}涴9噚;]B3cm畔厥H[?ㄡ*癄?檠5靈嫩7扼/C鴜灜胕膧q2鍎_嬄祣'e6Z&aw店畳"围1%靟vr祿疈+7I@!氪寠拾萗}╞朽o叧fPK 胵%[l畈`s'!vQC徼爠s櫖z"祴篿m骟*鉠蔚 oE-}V#=cB鍰蠁l&m桾T篴轞x]eU藜4>紂鞻GV愊嫨 JZ嚦g楍鰷萤^艰E靁E枨l^e穦编PK%z6cx PKHjl63com/tonicsystems/jarjar/asm/AnnotationVisitor.class昉 0滜U啁趦,=墄+x{廢$&怐羅筻鳴bAT觳0盎3郴综`a珨Y%ElN苙Sd埭l*ゲ %#a刄 ?r剁r雂[eB鯓灭誣Z-.1棁0鶽蓇zN绲+a鯒= 4NZa隽じd <簦 颞V钵d琛畎仸;桄PK丶天PKHjl62com/tonicsystems/jarjar/asm/AnnotationWriter.class昖[S[U 猢P(j T赯Bz甿 崋襐 l%AH0 趜羕秸j5跻潄tFg}拔|鞂3菌は值91h摻g沓鱖吆畹箅?/ㄇM伜`t蕰團铝鴏<殜&1瓳|蕌(&塸4鈴!P28pM"cB$嗵/'d佢頫r钌@<n!歗欰4Gl9;f>0獕噃幰ㄏ)盾m(h G聣v 沟f[=惎}yk$[m煀Mx狿PX*顑诗 p?T氆嘦斃芦3仢额L:}塜82忠<-H椵A2y:痐 濏眈<*P緤猌瘖Z-傲!P揰 8 抉h寍p丶顾(+|*\豦∫啐緽滞Q皸.勍"靋窮侞3p獭|.f蘩銵HKZ噴f碭袆Vk欗Nn;晴@鮖 1?%n亶YED羇uX蓉5犫1,耦0躞瀕発ss鎽[x韀C蓦x肞譍闘D或S7(q8::鑑0t歆H盪咧T/郣7oSRx䌷忲%聍=.鄜l傘R)第徶軫yE澁t〞澘鹓抛I絞H蛼j瞑SR浌蒉,媐砋 菧ITYe犦**[┓^笔藼埻2較u搏~G%纉n朰x幻惣$!R告珲海_Hf|j橊櫋.涰K鉉mR{暆什惨^电(<奾暵鏑msU獫婙嗊%蛜┍+鞔鹷Gy梁L执^3/PKhI蠻 ]PKHjl6+com/tonicsystems/jarjar/asm/Attribute.class昑]OQ=穂龆礏Q钘瓈"带t垑坿a[6X-賋$嵂^x肖-F <_馳溮瓳D梢4澔w螠93语烤HAe)栕襳(瓓e雓VzE3闆脂掉榤洢聠璼0喰婗^K痡苧鶨aE/冏 3e,gX伭菩7尻U&彇寬龍!=沜悽惫 吾|^B 䲣5k3蕸F鯁…d迨K!?a杣{J+璜Co4?5恟驓憾酿!z*:藩Y諯B阥VU9 y胎0⑩`闠傕饓;HV楖pt鷔]D脬L#勩櫐V)栕+ 胥7{漊q6苣簈洝e, 乢i^@蚻~\%朣徙[煟讜MjC;$G4 *蜖*d#濺嶀P7 d靏?k为闆浮o尉TS2Cx纝 褘>宴 寐觬"啁=蠖l 墾&弰簭iS塀5 茪W搓A11N ┄入 銸1!&i迥抟dyh 韇!>4 K韐鼁舊9=]&紘l 緝秞鱿 ,鼸幄僫%巳z价庯襂熢魕&慰|鞊慊偒巓惒Y蹴鲁}2\釢遼5DUtE^ED挈!燰; J洆碲Ela駥!<煺怴鋐`埅倦v摃葐パ鴗rKV10絬鸪c>枥'鵉 W鋧奓12D3 吩懎"3蛑翉0?u(g/~瞛\T紡溌82>b :(>b#7鈽敎媑4愥[{蜄7PK箚4PKHjl6,com/tonicsystems/jarjar/asm/ByteVector.class潟Ko覢涁^'樦關剩m@@(}PR  昉/1!闏m俁僒碾懜pT$^B饽樀;璕%夗澷黺v掽!渇/VV睳ゼX\][uJ+%籎煬胶挐\sJ偿﹔0}删og楉騶銎%騭D樛櫅ちm簉 圣膨3M蘪!噭=d(1D皸AJf{幦翋!囚蜳F4p˙h煇鞂觝?茅tn *Y═猊ax8訒蚣罊趨朮w3氓魌XШX賲惥u1G婙朘鍄g镰gNC/幠q}4Q\矮瘻W4胵1s侫 {筞底喴s摶狽+1硡\眗$漽0択闶揉T夢J錘 }tdu`.j )蓣墕柆$E0z畹>C臭 #:藁"毽0!スa=洟t$硤8i}@专)栀駇%}! a=跫e~D楑轐_`倴唆<'芌r( イ敧E厛70I-1 p&RSm詌}艺圂黗[6癕摉`涴財PM贃迒;鄿90羒.毫 I壢x麜)mL,=g)H{爓>~谲vO骚<星氟\G棣锘综6屋誶凍)称煃颓ti浚F闃D诪跮=洟輊~ 1吽濣!霒JE/5Nc裾:+* 睢铺:纲斱P/娐vD揜TL 扭PK$⺷玭pPKHjl6.com/tonicsystems/jarjar/asm/ClassAdapter.class漈]徱@= ,衇v]a]庄-_[縙c瞃5!A鱝舂 蚙圃?蕏g(%QB趇'g=魈烬/'xB0恨炿t景嚲俜F7-h ,?鞾=蕗泒kb私2/鹶Wd悓醚q|Gx虘"$BwO搻~罡巟Ah穹U:劋Q殍"焹]GkY$癆HM$岎謍第螭.娜q瘹qV$僲b+4*膮7um卤嘥2\菐d%鸣樰W炂bY袒彚浣1=u]OX埋\滤硷*K蜑o9&acB0%腌_~tRI絽#蓅{&靛簯蟅礌%夛鉃$綩)庾=破奅玄毸MS矜~℉9誝奔迸忰|ZU息*hq巻TtBXS奮=悧 跈壮q=麙/M6Lr鼫U髑藞刓纙钓叝?掿byg嗙黻7J錐Q+汤 !xI.恋z絛勨QE枺窦>E5敶婆箰0/!奒/D韰9*罎DD舉侸H a-纐*嚴v+腕柺懂 PKG佡Ps弩坾&襣xDadPK钘;PKHjl6-com/tonicsystems/jarjar/asm/ClassReader.class; xT照缣糦 $K2< B 燖麤! &1櫊hKik[桓炊)礜]K-$.Z矮荽嬚甐籬髦j 9骶73 C鵿y鳛{杮蟰辖o椋'犅憙0ЛkGe+盅只7菅[=褻UFzwT.韺赧畨F冢=@劺鋈蜨eg$兜瞴篥h[N_藭崼痀诩澞橮脯 8r$d鶜簳 - 5\胶n詹 牀XlFplF嵲hC槾)-%抻踆C#頼r傇X雸"窲6諚瓽鹦槐眛揳` 8KT?0r}4r1聞獬.舟5mo僦G蠮Ku(傞L>CL`魴胻ˇ銇:L処<^腹訟╒ijk4^字眄ˉ慫^E+)投LOM!L)i艽4 U0焔y夆谝鞶\絩ek/葬R叧恡O8嵄x磄K& JJ唱脯ら.rUO1猘崋蹾,Vz昮X鈬Z !\襵娥盄楳隀蚏8瘮V2賠旴.G萂S/镬姁鱚0#堶057"k倳~V1`箳矚乓gSWl獴綛X艘1 厊#_=蘋杣鮩顚z`#A;塡塙PE筁嚪论 䥽玍fE0丹馶@O冯皡=h~x-聦Q 6!皾IKFP骣勓潱~W<簽褼WO Db袓0{l4牋只 閴霣≒!=v﹒梵C/$U悗7岴7.為嶎%/凕G腫t赝Z嵙;9蔱隴le崕M 嶌悜0)5熊pC[;扪驚8挺z躲{貛穜lL嶂82彻=落懶-[.鹈FCw'E7,皖7嗃0顮轭幤趀罒-,悞E顐彴笍噴6/|孊$蕙餿鑷y尠抐"㎏,$漰茠Y眄觌i嬛* 敒{B#T>缸骼~诌同鯮XQ+^触/诸咞x6?鱣)蜕煡琄饚B(*9鳶{ m徖<艄醄俓>蟣豼酆荷}儥KQ[hMc愄巁C~x 砿谪佖煂譿魐帮7矎 .N受4劙xF)5r僷-q湅i阱漄/湢uE媡鰩pqK u|欇+c県彍D擻霫2kC倡椉ae4经嬏z択诰#窬拐毦X糲G旂Mv瑡D8壟譱>刷=讯H8 ??V琊纒T偙J萢W褨蹑6,;芋養~F酩‖CK蕭$瞫鼟9鼕凗繴.'pwQl觪U浽+噹A 片"朣 8"+Y畞03V廛y+8 砐鵐&涑)淫迭倛=h驵ヨ qj:j?驉卆朷<(鄚RW`:謗腢勯巛=X)6楉皆JWW -:6鄏绰忰\攤嘱靂壏m靔仡壁K(俣2r+y蒑飙]m懳鯌畠昨/3馞y钦3皲釄缓m!:b裊};6G{,:緓!?(戏#m桩宼[(豳 /n"aqbс(H(疑1敧V?訯 葟b腒藝庋慧葏z=|M5q莳芔峩霘76,籪礤崵橧藰2al镰>:璶筸[ぇ悟灔:n莐芅:4甖郯崕1呡EE昨︽旱:^ tz謿歐1}膒Y蠛疻菼{6鱆垠9譟詬x ~唤澭I~,炇呱登.隶[辜of.壴妻#锓束^$)* 尮oe.顴-蒄F3&噾)臊头1玉儼|圢-JQ|1)Ovx;蘖w掞K+鷙t+覐~i靾旦憦)殢訅D 枛;(m(鍹\j赾Z蛁/~傚奄\(媢u]圩=\郮膷-鳫>紬罘礔駹V~@遇@S{洑@諷#q 尴I黄晻曗泽袃獫@=眜螴L 殰aI熋僉B)mu姿*8{_繡L|剞唀P=o矈l r唭x刧8d击嗜 :S8<\wQ1:U巊))锫?%2Ky蟴iO珩I. 綣瀽琨A炩6悲):H]]澭H虄咪糧自0<[[4痮阌>~國璢硯R膑帑.渆嗔gXj嫆鶦?>?/犜H,O聵K鍻>o[!址C菬裶摉鲶骪钩{饤碼l岼忔炽呏跮G+5捐莀醥謲泶}\|鮗;羀肪K/x瀑梓f 俿m骿ǘ?憿W璳j荫/ 餡谳鵥𑭕轮?粛媜兿?y冈劘筠0眝s彠2緋\韲+0#偳徉勋Un鯀F2隷wx>楴嘯&\&柉'6餚邲宴qF?圍zFL囡_詾朵{"L掞< '毶0}$萘騼!g枘 \魕霒|2L礟#~?劼`0L  拗(>? 硞嘸 S 韖榮J潶 鄌5輾厷n9$荏2:爀4[%钟`=#囹駳$>記餪娷A鍸觟5铰+\髁85]Ip ^ c瀴呺00斲 瓈蕯.rB 头滧=l√厃J!8%夆jタ°Xp蠦5S╯-臀渑Kt媳bQ⺗鄆孥哉6uj,+72a垒(極膵 H奴 鯝" k*8S(甡尽裭Z.Z頾_ 廥忏鋂9酤糱癛餼 k*<洢筡親讽驧1ㄝ \働 4 诊㈢<@螿擆L~HjD竇Rο 幵-厪^蒸r祌c%釥幞X1岻8`鲙@琁i鷍蓵()wZ鸽`6\3%-4漅岐 )逦鲡 ,9J氣睞坣j!4抔鳴墭!] !豧h'篗B44岑: 濣6家,瑽k7]p澰眿,\p齍!C; 7咈囗叿^冒'Tx逎幩洨J递 #疝Ax緿O埛H溘, 'F<0 *p=胥鬵>q>5膳,.]膮骹[;穕橒橝H~1869C磰兊厧齈@怶p諦NCsCk ,(l]L凔潣鄚箄$F蛱郰#VpL! 噿帚p碻氛3忆B薀K=脂q9M酚鬬厮7}鋓dY/=梧H(黥﹑5u~ 1鉮攂拞)勉漟n络u0朴 c奷讙9娖 递褣@A;⌒曨L, x咏I耮$姧HU訵图勵y`9圴炊歾"風蛱藟齷H巃佱瀭岍60|裵唜uJ鵉/0I Q嗌I紭F*G粕37墌倽挵岍軕奩 8(儼燘13飚蒜~Q綝溇v禱憚鹖檙軮笓`卟`䦃咿c鷵皼`邞榜?!谹里I鄑[9f hj)F肧扨Gx?釯By疤葪=浽p9p~.4 O聏P啛厰AG*熢~鷣P蠧}J90銍噻髀c)SN赂1贅2縱1$鋯尒哸\4/k牨~伣@9) .醘镯D/復G漂惒 岔( E<恹#4'ag稛衎糎!x93过故Krホm)@*|rス-3彄]{3|溃蘆-寰C餙$r絩R鱖c颥XX8V韹漟yv:谹Lz裆狓词%;!峍悇廹簼/禹vgq表賊l],蘴'0w騃w驖菨|霳>蹪|襯驜覔.6(HY爛琨!D7劎覰蔓43O鋧y#絝夊5E5E麪姻cZ蕀騌n儦6E$鼂r 佰 s兗h]哆6刕媷4孝tQp>沪岅49烷NsY譱陻椣16禪f'|n# r艅金 g$|浟 挍勩)8戼?撆黽,痛d=蘭| 2- 眑! 孍&箿)若$ 櫂偺HR)軪忊%⒇r幱瘔芙嗝pq7嘰k'+u?舝+yv卸蠵"彿睌[臗8欬h1$n4f~崣_漏醂片C飮 晍坯C酚渕贌棺揆f'a1I斃齈1 *彜c覝N笕l慦z/$峳撵~J惔=芌z鵇A鸻,K幭愈佹6刄TX訂>蚿1k\e: ~c.んb6襄t赌JgE溛*焛ieW+贤1 % .3d嗎r蕕桒樕癖83O帿w嵆瑌X淢-忯9缉雈壭艤V硵讄倶5>庻aB狝貔嗵n3.!u 'Sg?F鯑#置?3軥贤8G苛怏HB$^GK贗,署騐程姴猄愃颿X縜[3+20)u 訒腂灲謏蚠&@b?y頝# -Y戝H'"捉粷扻俟E [忢Z+o:o廳b?鹒*$鸫诼肩誓I樔澱n^#鲼CV_噷)槝羗C8話r# ┸(塗n5匱aT孌猦I棔/鋺 噷r冿W 6@晀暘獡兇X拱昇34藵f呌瑃歴濇<4;蚄0忙f^*缝蘵檈$l桖0F頡UY(="im2T>躣E秏焵"m状2籅i=F"/ギ,藫p殎%po痜黳9H=嵜xu"W焍%髬 =击马奺E抪c経暠kXN笠$琿覝娛(賍^&姫5F$浵萼坆V柬Fp7熃$奾o蘶8}胆枨堎弮^ f袼擔qв\(黷糍 s崪I卅-c乆榅垙aGK魂Y-j+),2.y% NdXL觊貲螻胭o- 坑j繓啅|o1x45杨栦欕R絕甑;┓.折E匌L酦:1G{貧厲t詅R粇8Uv惄ㄖ醰U-R"势吰"jS鬠Ti2漏 aQ#c轈;,~<2U^,騒R瓛礃$嵟\3E砆霑b@@奬l岌4*谉5K$謉 醹t枼/M>eO:梧b漁?霅D'堤U9D3隁N峌楾/Q稩棭%蔗: T韟6窭:婐\/3陮!|埶晧檺G]缊C仓玌娹榋姅8剰┡9~f鎆4鰩鶘诵 镺徍m (飝絻碶JI貸莦f:FM匉 啱Ey? 﨑徂Fy唙F.*壤諟s諗bD懠5i:|"2埽Z&y鏇ARJ萫'酬摪]厴5)" /6狾筶5戞闸禕匃胻nib褈A罡Z瓫寂|j玼&蟶K灐哴锶&鵚P劔鴱╥溽G=`譡矍r^衬!|湺|剩承 u筐荊CC鳨uU爨邏Y魃浝^ 臰霹 炊"+n: 遄訐@囸欤l愶j-尤傤`>_%<|&M)fN+枲 鄸_uV*~.釽叵|篸瀶滱5鄠E 眤壡&3/M攸嘢霗hⅤ湟C;MrQrE^ 鏾z.朥.庭'J萧|o朊羭7 i1栽Z藴睮绹噄6韛婳/ン颴S泍=o醐份戊熾梁Q z~!雧嚣ee煛蔰9I褖帳s翉酳銩F幱鈳A麱鏔I9|忈w楝 嵎F騴v袂i 夡;駞4師錓疘H沥S杀_h4FORcG馥4禟齆辡,J:>泇V嶷K!濓j/s娟'#冚1j曘閴揘6[榴%鯑.zJ飨醢_漵祗聈@後p-2苈3翲k钄F37苤氏$駅D}赚F>>MN>顑2亦l竏Zd,L8N9]n珚跣SI螧z(趵叿Zi1*x Lа.n衖秔z6n些謗{p%7﨔峼n:T,>;│) 释Y{盂C蕡叐3謧歩^赇:鸱找愷虮絃灊鱾匓#&n肅鮾 /╋賑ptC 䴘切<牼椻?`号|掯9倜V券皛麁L!Lr婟墷襩胗霦尨睱7斿[E泀.穐鎄4す詯t橢t0ⅸi鄦=e斣ln詑稲馄s!贿奫陚%_{绁ZQ爃譫韂廥d梻笛B-聍*榈黐嵰陋捌鄢坌& +I0鏦单萠L吠怩q蛴鼈VS社袦0\椴凚苨r酀彛g舮灊#灥鼣 7*聅绾錂廩BL Lp 紒%击0莆嗇馥Pswt匤${勏Ι?s6;厈m胎*ダ藠亴/锁A屉饐厃+aR頨+cZk舀U觩 O郕畂庒 q+裉羉pリPrt嗔cъt竓p撽Ptx 6轲[-胱4 PK絑sAPKHjl6.com/tonicsystems/jarjar/asm/ClassVisitor.class潚跩聾钡锳踷~S/痰鯦<@犣婤/鬸CMhw!画鴍^>敻櫒-!tY鴄欩鏌賧x}p#üg攲M8譤,{=$掊Lh=巘dT鈥軽,7r 'q骆2 !芄?#F&変確驽SoLh1xI庉24y脜 n乸V*穲v!2翫J甐蓄{儮Q骈_箪豖滥z%湼艑锶_秥)<_矷?5w叧G侣]#<畻O$坌<)脞y]┬FV1鱍g滓毃附q嵃*矣ㄚ}G 瓣犖贎摰-謒碮;璨頯梪8LQ烶K}4PKHjl6-com/tonicsystems/jarjar/asm/ClassWriter.class: x斦曠dd鴣IB!Ay$5皔橦&駪! 蒨2g&@"跔VkD 昮跩艗(A@>l諙Z圯峨篯醉痉9鬓yι婪;?齄鐬{搠渰~x逑'N@ aQ[矮4 陆釄+\狠?マpWiu7騁|! 帘莼肹陂 礂草牙凱4!塎?$絲m 7稻蚱F魳H=%痌_Y开憽Y挫E萰I骡5rZ矬n鯀!-舸殉w_Uo姆塼 妋>剏-汊{罉坭iG槢r=~zV裇Ck緷炢瑭E萞摯lc$大z鸿 d;xh襇享魟 A(W勈@ 馞$S睢g9鼚抎KO那;v页嫗迚躊膑unMr贛O%1顬z_#槻夶綒瀎z瓹癡Js慻&S砚M:\+靈啎:鋩-侧 3sUvㄦ惽[-'r组0 遚仅 ~:L椳腠皻)^3渞禴嚈r禔囧p5螲黵9=~|ζ礕*^a-^筄儧3`繺t刚稝S`*KJ什2BC懬sa膄i奶覇踭竆舞钾緷B(匋4<:l囒:\!t sxF荄#7.!$衤:虝x=:虛碀:虠砠繠炤0Ih 礠FX攩zEIZw黝sG℉'})I嚮諳镻$僽耇!轟:!e31叫嫢袩!瞪d .邌揞陶&G<罒樟惔>1檥j倚k身獑Pz皯e;! D%勌-0|-%: 05 聻蘋Ose姧N}#:笭楳黆54;忛鄸'◣J城s7マ%Ofy鍾鏘m亦霚*h麺茜濦 楀桞%2酂裔JV逨 ⑹ ]bZs﨧f)%Cp苣汻5 檘椟遡#"f!蟜彩"旒T%K怎べ平)4xa惠(攒,M7lp拻0莳賛R$葒2蝣騗dqKKa 釼忉仇]6鶮<0⒚UP8遚抌乛O阔賺7蛸鄧诓拊;辇琴敧鑾9Mk|[z赪韸aJL6)禪伓蝋槫枽沉&bDㄆ虻y#>䴗#态7轲E黰6鳾簢'O/l兎9辜勦\堷粅齑-澗d.$淿!╡O`G刜) %檣抒馠谬杦g+寓信2'厌2sf命#)@)()bRQ 4櫕H渑鑏孛7?b珆勑t _g命6ye/簣懖2N/iK︱兜菮旞I朆僪 阷蜳Gj槭.6A狥''箥鏺В孷:E兀d摲城Вj楳f⑩-hp嫢SmKRg#i8艓S橳^r『蚨q 6z溑1з1箝~綨hxg0-獋罭7犪L姼-%I痀荁渆紎 节螤楄&觧鉯rG瓗sq玎|禓mXX4k倎v 搸4Krㄓ褏舦4型2銹鱼{鑴k笖r遃1Or┭馽x梐s┥愃r鎟.2駄x蛓a桻匭競 瘻爫鉱瓎'j>很":Vq8Vb5箯`场窊锢攝_(廚=|-o∑t2m呟B⺪:N:z銳k*Z07錎tv綕暋鰹._ 瞛焁蕼6 L?烻U隙m7豵恌l6`鮲w&УXzR$鶩蹹詐髖'|湇M紤r[$(譼級誡7嶓辥堑鬲9*戵愩爡m稌S蓥V栻K将執詳體椱駬 #;I2)颍c@'﨎嘲h.卉螔咗鑔睹f苊灮2缋,.勬Km3I"妈w盃wJ棲{%w",v3两-桯eSi怣馄椱4K侊a侘qW皼镢踒4蝕p?E72Sv邢2魋28漝偰濌d|b'両諬抇d抇/\S,}E积攌舀G0杍w晄x茿覿o磚x樟镺p铂繡屫!挞>〤侙,哶涁呅R_橅錕Z[盎W簦OG~縠莖郤|遽{"晍使樟`牨;裦.响SE簍4c<眠厑帍筄i辘磹铀邉UWД7勏矐s!bj8LC布, w=D饄Q8沋睄劵煻甯扭囙 j讔( n4_6殉y4f粉2彇 !遡&]F醧2K@畝奀9颓椕5舉&鶆Cc妺P廌鞈#qi 逺x!R灔貴hG下攄5醝sk炴5梩凪ㄊ䁦,N恒@稵K笸<嬻?$b荈 乥g7舗зI 脸 s>茰1 '楧毶撃锨w渹j莇馧O滍i8#桳/瞚|1僫祛h0瓲蓩 渚,, 醎n璸沦唩Lel蝻梉湒樠g幥WZ+湒A鳤筫`2+§Gf濑堲g轹^S皗G繧翺粗 #鱱祒|冚葈S咙?[嵻sqp^H遇躝靟,9溎yK仚趟a&樈Ξ屃/抨籮鮌觋▲陒j跞\炏j壛oZ爽MYY1 ~璭~UC鸹r桐妣>锍4lv騳貝樤|(r-(嘳E緵g2[綧zg经鷏t缭 U 挎笣Z 㑳C&2樨iN c)嵩仟p瘸3墖*,Rju痁}m剃^礘.U灦l-1怆1邧瓇`狩U 蘥7%灃@籣Z釧EZ艵K鱏B銑斝ho岴h(g;甏 &%朧┠萤P釥JA2zf痤w揼 垧遜靾调択団k99塦a役髅俛萰pS筸nirj膔磇1蘲赽h>&`虼w潋H鉪逝P雵=Fa '#郥 CG+伖1湠螑1t&$`A 瘓W娩筩N 2媲皥亞1,2hi 桰嗖~嘉X胷V鬝!h^孙朂T徫`e=%V琿責;MVF悯1?6宬泦q] 1佳脰2勣2坩lS0_僱J掼啮B 羗 e=錠.兊鋯uf褽};謚C豒Oi緲膝9嗇旫6骫佀Ce3讎J&i噋Gq>{gE鷯-蔂Q1(aM諦霱芒1"炿'v+&並]=掩枞vQ墫"l$释N骙Xj8睧亾鮷?y.7S%A鬣]娡e闢0#= d裩l7鲀1i,{棦嶚栿$:,Y%#涩t錫涩q>厎姪撛gLf(麽絚d洡兄(W}傒J狺 饫JqP篱c8H褏閭l^ Hゼ)訅韋 羁婠Ze鷍F"啛徲o; '郱J 荽鸢< 賎笁eaN$皴婙&E紟,娽桽墬夎&?9,4滝斬)盷)y't&tht璁釺H]]$m5&TqON$.c壁幧]#襓xdL`9躀醼D纴SO繺嫎t蠦螸n<婫⿹礁1%P凯竾wS 9f鬓N-HQ/瞍昄籤 >Fy垿卋噬['簷鈝b8Hc琨l4垯?+%1 y.G$'炁3 派y9暬躵0矩脑;/潶鹷 孔1з-莌蜿#0壸^2檱?`衚 {鬙赧海腝J剰壽 1&'碩5e I: ┫韐饕zj膀\TF<(z握岨8y"j沅`恨妹犋5< AbEˉ密簉y崥+笾2K惧Q丷梠Y施v躈+qt歄u梚<=WnsZ漟#嶨У裪+尵裧=#喊:c謢詆;) n筷 y烸玛x秬T録準g粈n匠捊 戣g"4妒x睑<|k峣E0.邙+G逯6P20q邥$/PK/*M+PKHjl6&com/tonicsystems/jarjar/asm/Edge.class}峂 翤 卂鞜知E7曷9釬\w瞌鞵ZN<+羺餚bt葪梽椞鼢芈'q]姦X?t-ryR椻敜黒蕙(d晩K敨竡`H2g&",镁CT眂gLX:/賖锍*kc稻z胹abB0弖`-`0l聪涟\文雽9k;6/L煗 PK礕餭PKHjl6.com/tonicsystems/jarjar/asm/FieldVisitor.class}= 翤勭5QA=Fb 暊V !呡鎳!賲霺餵繡塈T靯<榖緳yOK〉FKu屩: 佈杶F裈M絟肝tZ汿ブM长疺L峃&uC7Tbm僔芎f葧睘:D頕*鹉釿 p1/ⅶ4-~ P甎 !袇A\⑤ 楉蓰u ]2wM9H蘛隗G鏽 DbW$膽'YB>5"≯鎾zln\鄁靹腪諶!A~>竱毜7贋B~俒聉疔=<$虨愇Jk<顀g餴.哰槷歓栻+r'埢芊繬盘lKSZt蟂頰歖8舜鹮_`iQ籿=窡1/$淕/麂KqsX愋gt踼j\<丏k漕( 聗u葟<.t鑺鲘5攵裑)eS5态Z╤戻迀藜枋T sC3鮸O=罽mГ錟S[ `昺魎C5+%駺迷5灐諅骣3喅虝m1T屳L轷o揩彠E巅闓!H賜篝帝義枏"彤b~癵蹦䦅 棪y鶎h趶蜵v聅風qMU贙ヶ!Hx魝裲縚プ刷!噕;辞囈(Z聪4>D}澌%颱趍罜䜩C羲玟D C瘓 盬y%!0!枑G旮Q胔B巣-n,趛m;D詗0m}u||OkH Lb 鼊聉]|嵒藝罤29╟諧k5鏂Y<剅;笍H訩Ⅸ綣D5炭B%I7$楱'肿壵O捎琚[&覮 K淟閇\t霣譃柇馐/;塯撲$礝 掇x楗&v>尳} 秉喵> 錁錶3涻獅嵱yW<褠i#鬧瞮 -Yz. 頄玀7禉#D槻夝tt詀&~nfV3忾秼'F'2j1n僩饰作睠竃F巊貾Z9泬&Gy8\荷拘 :vrS 嚥]挍昬CUf峜竮@Dn仲灍騌彛譓4#i4酓"豎筜啇F碽g(穃e赒Rr}o诪?:3/PK8w=,x PKHjl6'com/tonicsystems/jarjar/asm/Frame.classmtT誵蘧符v梾$W-D袙糽>]!!QH61 ㄍ不$媎 &.褌龗jB膎裊獴B匜玌,=ы彏謘=怯烚hi:s咄鎚<篴钐;3w钴;魑汊g疧@%\斷贖OwU'忯'c蔟U幻}*苓]赵顜 IP;/\'滆 碥$U%惵豽 盨傚璼檍 飳愆EB!啺 ,t!%p瑣'馍z 湟箔(畳@)m)k窭 焎祍粅鏟o #睻偏.+瑟悞`~g,霃襞{=},,蛖饐酇7$貏g笫擃!Fwq頂 (hKP0=?峰刼;螐Fф{D5u槰b昤翊宙丏2 Fb缴xOBH癹脰蚒泝w杽鸼%墳dI@ooO_2-?烄$c黴/獒奛!]猪nx~D嚂镫廼跁4碛D `>z6镢斎硟娠m;湢晪(閵(閵(閵(閵韬榔F峀崅Z?発eV /襍"韕滤x羷{{c |孅鶔v舜傃}^%C疘郘鰳c8C埝"屔E亵9司~)D)V疜P齳('錩蕵湏r罣攈vz7怜滛;譌鰣楓b癐鼩洤歚癌倅~嶔G'皛乕kr躌c諲C)卦堟殮>ilD 娓痊Y厙鄤wh濣箑/PCO4肇良菋f}尕%鷑巑Tnp_t .潼B琓p)ッ?-Jt 6(糥-靱蚇物纔碖樯廙箎殊3:0*鳲LpX蘽2痧c{贊GB飓刵c[ 璫瞻FB玐悙煭&t=[Ch 簺y噁鱁 魽1<}稕牌邔{G)TN囧,虨%%蟁e嗇E9諟S澨qeO4B_ d膡 o ゑ }J?#娞jC茟镃.态肅H鵽S9潱:漀3氏=旇8|- 篰希^8偳傥yNCA]硰輻9ㄠW迼榋/鐝欱4dB鹐-t@ノ緛萲螉檃Y_(童N翉卍t諵11 uFy呮X9吣$爁e45勣鈪釬7奅&t衼>茎5ew2悶+Y殠;[憊#菊/g晲竴 因J勞9燪 -`J>.AVgJ顑楸/ >怕妸O!晪縧7逈伃匃䥺?軔v#E+'冿ィa矬断茙B;B7聗/6c靫T >艧片9帤c\铷 <佦{羷Yz体 紖;尫憧笯`s鎆HW齦&阮-铵;勶x陬0X#失[崉,葔l崊4|藎#tW玊4 `弨9[>梜魃)粐s恙 諺辆CW 'x毁啞徝#溵/ E:K掂橲-=雦 鴥5泖v hb藷^氥饦~L䥽∮丑]k姝謇[K=鄙詂i鵰)SG;(Z8欉耡媴 絙驉紬[L藂髐撁8倬賚觬玚R霕rX蕇║詸露蟫璏鍔9烳l'蟥P胩Ut^B=v〆蓝/豃蓝XHX蝸土C煟%}l鑔蟊呆OsksF(x堞舢鑉lJ 鱇:)f5{O瀮芹沭F逡S鉷$-0龘丛o猍F觅Q 枚创)损临鉷$鞂徖54v寳醟゜峏1冚腔I} 炲|烽<便T4巅 続 a-B⊥`'光;{ 鯯N糵4'7叵8q耟8駭翞缒{s?j\|鷅,觑9x眪^b?冇.l芵溰Й錶q太驔槒Kvq卐t梄]%"繧敇,~aV6辤aQFe@鼕紑6/$晙"S]G釘鶋筗S鵊(t衷蕗Ss鯸i鬲9┊s#潞n6犀胲\膇謚(V籍龤E捅4'!O*諏鴣k攌戈s揌8L 攦*VW[}莁s昼氩陾 r鯻鶁^頦x慫#甽奿J喦F|pv<κU~兔>虸=#_蜏>锵q夥\晫岯娋NDP$喫鐖1溍彟vX8K蜄E觞!音~P! v玬937R柗Xv∟7书!%凕7S8蹄5愋 }. owjnR#嘤Q埖 椨r{Sc鹬0}踺嵳8{埸蔏C.毯un(g礆*3漐2CV振C臄P a頏衋蛠随鉂痣粳徊.瀢呶辪曤t怇BC/)冄蠥祁_苉馂HPK=髴 PKHjl6)com/tonicsystems/jarjar/asm/Handler.class}嶬 0E矬W"艍厒羪贔iiSh冟 \煡郘葃' 7椉迯'唲G履趙觡jT攰@&紕L#睍 Ub軥^>嫿(譞(Hr咠枎 棞t楍}鸚v0壇线bv虊0鵞嬤TV决蜌P溛嶮t协〈= |*L9泙暬毣唞殭[h$嗃搋剡涷鼛-嬦PK考GrEPKHjl6&com/tonicsystems/jarjar/asm/Item.class峈KOSQ-渐^(AjJ轫錛|+ j$%5,Xy)Ki癖循墘 cbpa貦6&褏?繽阙8s)-俘蛲3咛9珑燂?L鄦繞瓟姽T鵜箳^-G笃Fy5 !袡7褌Q藾o-缬⿰泙0 2!EX!,2瀌]r凡+f#K騽C擅獡1+*6-波聝n8.`靐叄 -8!0%O艗淭岽瑍mp眜J1╨ ╤番!5m)Fl/vww箟吶"<摶~棂B蔂1 t=`骬閹$Qr暡烶1 eG4 :^Z_.鑎1m3E睺淘r# *吾 gqA`娢显忊i猯y\pf峳v6荗Oc茀)\iG輄篞爚{磀3譸漇畦D\ 4^;较6].鳶$;%觤橪wer讳蒼讐.檳 鈊u 苇E蟝X絩粭史粁[鱑裌忨蕵洶堩盆c_@靋鯳醙T`琤9XE9TE9\E笘籾0炿鏖午鉪M钧削)"R"浕耜NV榚-E鄀揇M樽w0Y|栅:-UY券w毥厀p盺,IvI>愝J麱&你鏨x4 '嶯剏4U筺F靲桔-x4哓6f嫡8!{薻痮祯z贞U8鋊~徱夬T涾拍M~= 筃H,I鰆x'}O9嗱)婟#於-rx3H灹m蘭彰{刵AZ榴!Z鉳[諬PK褈]殇%PKHjl6'com/tonicsystems/jarjar/asm/Label.class昑踨跿]菛-YQ╉DM 1q.-巖q/\ いT4CBJX玻郒[磬︳?星耂仚鹄澤mh扝C襮嬊躯靰仲烦非苝潯琯]嵌妽f55攥裍螻+fUc埊7峫瞻+贆5宠3朷v扴嘜 虪ビZ2剸副L獴k昦`猆 楇坪奢Y螩z蓃CK鋎┾裹!z敛-"C834]2糒笰C= 眾槲斔 吁繲D镉j宅諅k告渥E虫Z-"袜v紱闅影鳴z説荕瘶疀 ,+A鑘镰[v%铵7('葉^1蘥Z:m韩Ni緉筬=9裻9z;砖v哠/k7\荭 g簟 񋄳 憙陋Sw滝峠膞暶8设鏴;1迊7殆絰?,-x慐\牀3陁tjM-s敨3L^皨xG欺x椺h簿41慈p2雍>]膽噘淨翩@膃迶>隀滕鋊锠hG(胮獍m釬筶覔M蓸4gSf棂孼痛iBG炁#& % >鍘 詚玠诋6嵳KN<拟牨C簜0芹:闲蜕衣w鲸郈|膚_蠿r4!歊垈hR= れg'/烗ム黿 濴⑤P=y掠%夽 酐%i 拰dD哿+:縅aB?趾顰6 劮愹睂va蟄椂塗渲w8} 蓙滫滾檁"唫组F刣量q儶p嶯暥憹呃v柎a柙B┮&^吡#!栐R,g琮鬊|簜`呪綟煚M婫蒣'5螹忥_擇栩#*邌G脼e飅>t\[ 凹厊魈!C咸凖'偘QP欎熱溊々萴隇殖匧8Q#<劐炘葷薊霦5=Vz詇)'㏑6睿嶄穥?狳*  燧逝訶?垽gSc3藈g7p黖祪T!'恴Gd椌;K*q8筥杝隐q+駜柿媨摢痿M/貊刯*&烜6 箜&鬫w>聂&?奁嬒繁磵kPK刳i&PKHjl6/com/tonicsystems/jarjar/asm/MethodAdapter.class璘ks跠=藇摠M_y'擝r炷7q)竬Z%mI 叙,+塕[嗜rJ0$榿a~?娽甐(扜滻擷晤棍溄{黛_'e2 н2'响殗篕縈}衞n氜佊mw#蟭薫 鮟劫禹兾xer%俦栫P"肵槨j1攏[跺輆XV^"肞Pj;219 矊2螌c f9琺蹘朿瘷{1躌j#I拹圚苰\楧 H税I俣=撞鱗O^炩29 肻@馪w蹙I;髈畊E=9T8+ 缒zYc惷蓀綡$PG"缼顁對榵撫l0聒淙3i佩罐论<錆╖栙電槙礃<#<飡x熺 *艳B鎶榢E2 鸊傭&Q広!M飿 G该s|鞢0胮c'駇苠瘾Q 诞!$L+閇稁 餴$Z祃C,GU壳pYT]雉添鐤g垟韀Y9劁|[Hw済茫妗S>#N9矛豄e>o划~5 h智鴤摕]誵OVuRz风~#鯏 ⿳炬鸀D4切{t,緥 ?ガ+兹〩* 惧 繈帓f冁职1]O1##僭0DGvkvW茷p畗ne窲w籂鐿鈼 ]> 杩B屟{b駑淽啯_3b c~艛廗 ?23=1鮵硡5pZ稤垑P掌倧萌孋豯(j2H驺"U渫楠^g1啘7,惺K艟鹜/MK暍J>溒Y醣榩Л睯玕.抹f6闢"/NE5|紱犎YCTEz)乑狧>>,评晳累 惣4嬿搫3c 謷r怟f>K@jv5'|ds鵧Oi-To,朾QV?~櫚け諩裿V:! 2/爬Jq轰沱r ~歖酦耺d着LP{Y]~u9PK腬敧' PKHjl6/com/tonicsystems/jarjar/asm/MethodVisitor.class璖踤覢=KC訓M铟))"(鬷c/璖_"{訏膚窭餛堳#梑EFJ閤廸螜潤O;0ZN2 ='%R壻绫鷽< 藽!"冯%瀸*胘焈p隅岍幀b啞q憜t0抃zQ'攫/-{扐瀿櫞V畨1vn{,c/v棲Ya㈩W1瑪Z台尳s核cM/疡觝 艄Q詼4O喏精#E朼R5=w絩W y? ╀'u渔=岱缶褭ac ,踰碷(n.蓑,nM鲖鱸q|镮鏛佣阯 銚捙誹qQt>黰S颇*k钞^9棟8妫;7Z煔<阱w~錅3|+S謹B 砖桋酸沮l/明;攂〞韰鈎鬌<~▏黭0G啕;藀たfE=U 珮#溓-,.a檖珓稱#純5聑 6q楌^嗺駙!>搂Y3<'|仐$4"苈+马L鐄柗撝PKl rPKHjl6.com/tonicsystems/jarjar/asm/MethodWriter.class瓃 `斉欖愤坊Y 栞E"a7 j)O1扔D笖岻釕AP媂b{氲仅侄-臓]嬙,婖秵眄觡洲柖j璵颱z;3箜nB 狺婲f3g螠9s螜sf鯷飤 曟盏l洑hin緖{埚k垧在碹.mHlj葜攈h矵 lY;ukms阍宸nn↘X4逡4V5moJ磤祩:風 s :`陧3鴘(U(( ( _抋:阎攒葓(汸歅6敵嶨n卍漲揞D*燛N窶P闋鑣洓[祲 椡(-偊鞈(4y饋 ,笾褑%伈e'蕀(籔v\2e灎I僐健豆~b>攨(祝,Be1蕧(kQ枲,EY&h鉅t椩挹皶.GY伈&A娆︽]冿GT]甲C伂磛頂U俓ESV掓 H楠)咵髛磤纡i<嶖RAH搰媙餝<^舿姪?Y苁~驋廩+鼣K~nAZVs胢7譢 昏庹LS 蒽%琯u嫙騎k瓱)拉騍乯}繭#To躉6嶄儁$穨猈4C!6zú彠P砙3>福v膂~)W2s 豃踻磪歖4駄A<>瑙墛8啂郡Y疵G;Y鹱襲纾凈y?峌l敡v9p甀檽劷幛!tj汛}~K}C諰pグ騁 >z槖~歂銟/瞾Ⅴ0=妲+霮偧扱&針眭糘0枹u{悂`^6J莸▼9濮)诗濘S戲1O篋+;焅遒T悺Z諟hhd<錶jN莺C 熙k衄彏w壗D側C媳觼c9V嬀蓳<螸蝍幘恣I)|譕W)幘C`饔(威羬8Q苟1J5(珰稢睄")倷9RG硵9Ti8齻W笏K竊塶询瓈皣膦E@/碜>z欮薕吃襼0l嗨;?蚔?饝&咘 縙竈换堶_i衑/龎咡&[q(mc蕓v杔%h楧aST硰去0;E蚂纪鱇8贫鑍/躜栗M [_5缶v迖4vH.琌0莺M祄sJ}琨), 裸>*iP隮d=蚐.箐gi掬l蜮踆珍搵讂'█+紻臓0y4b8衚1翺錿 擫磟p镙'蝙綱Z腕>5[報軄砫+桕藰糺<鳋荰浅!蟚觽zY\椐 閻腢~*渲NQ膅6[晥:娑ぞNI箌 7摧+彷+遢{沦姜Mw2仝[6T咧敤郅繩.逅証 ~&gv迍;嘜驄鱅o.磝(¤需"g盀p"犇忠瞖Gk e邯.h敳A翸s𧒸翻璿枫:0d笒t垲鄇拗柡- j談 劫!d繓樸sYy-(*琦J溏鯗]竨䅟bUB努7r*'[K(f斿$柎哉n舚夷'h褔齝##刬2諂篫i鈌?MU罢~*U5^以馨l嵌[邳垶$2咍'YZ ma嗧歁m-否=|14)栋颈u>QOs进s;䦂+MtA< v?BlbO覄]B +/鉘a岫,R貤鵹丧姭d|*Z賈?)秚|踄8藲Cgr骍)|髨紉傏炢]w貊鲵5T莅' 駭!y =j/徍脸詥呁鮨5r╉.勌|烪q鵬 团呫9/| 騽嫧窏m飖嘄 F疆78顬88;*5駃>牆#壹7博秣|隿侄64 蜔r戀)鞕~駹埾s9P3壤<川>淔En8赂sP.黠 |f手,:RXG*q钿区3刍({{祟 刖3瓉|^V'j攵,璵諣.痣<疉啲鎞6芛8厔P<4o岙簡VN牱{膇8嶊萃塎 墻:弜趨[行谥PW沨埊1NScsmbG伫wdk萃x7o谘渉谥缐98 a&鋘鲌ob5bU笪Pw訔利帬+適 50#jw75灾砎裻?收d盙妜艔臤v槟S炶侸媥訂9r"/劵2礳鑢a-向Kn}7骔湝\骢M鴎炴縓耤鵵,:鐘髄縮@,?0hkⅹ崔科?rK鵖邲S蓙%䦟Q,簴州蚝驸珡@靟臺_饀輯o1fa取溥槼錍^)rMKi侅}梴qtx原陃>.q;3憮-藂8樁6捃"?/7噊竐=L讁何+絮p '鰠汧J黁4Z諥#霅戸X]_~'棂&犏J]O引W轱蓏"=EG鮳L.嚸AY梛鳷M鏹=M楅o傀灝鵅:&雛]闲x滓u伯絮L]弦e]奟I'!幜澸鋐) o$蛬灕kN衣-妘褝g)7M褝I註湾4K咽h8E昭XI7璑褮h,h戎篽蠬漾h袧 A硣f3嚚<*E笛h>錕Q潾躪{搨lo,h谵瞡诟驾+捊繅跒d箳4潭0抎&:H詈*拊M-(/害嫪嚪頴逗h)js過 <{愘铐嵹%澳漍鈓) sG纼1w0g换楫鉘e虞JD>嫰骽lF<鸑=k0`  譏q醺`鮉z夭儤洪.斦¥ F貯狖S鬿R掲'i竸<郂蝄煢翔>児L憎旯* 9he馌駸溝9@S枂G曅漼氼I瑶牄帷2灂Awu拪鸯稢鈜8t;<>D潥莍PA溹4 "x苺|4E荴潕&)肋忞锴漨2脱脟蒾щ+t\u鍇F箤渰Aa覣2巼r:Ds龚婲刴$u皇M wR{塵=K[衐魺b闦#灑?鸵犷杗zz矧$璓叵爍3蒴u燤镺Ljx廈谫Eg婚[{椃浶;%'堆I ^銭鰃槱著鄁|?|崺賶;/?;aI@9w柶d旤湒_箼軫觚z> e隉2  橿鮲mft昜秴M(垨豓買鶬ǘ慒` 葿鵦*俹囥慎"棨f>崨5樣I9`?l藼+Sh尖s9W槄 蟓4&t駵帤ヨ,X/8:鸁簪V-H]h&?飦#:;偪鸿K坣鶰R贳'梓∫0诏糭7,a(L靿<颮荐q蝫覈襘覕A菮刢蝁"+qE窐707 愀跁G1%l匈氞:&粐W盂棦棊G]1葦c珶悭42v歗^sRLD/Cb)1)%&餍EXL杽\簶02a ⑶)楤LNR骿t衆-硌_I 故骾n.辴=!GW嬮G贒忞箪懆對旁嗞緑钜nv88K\9L~f噒隅濉鄘窽燭垐蝣#P繠 攩:糯魆糤碂P\廞\j =$MM焗#B龔,⊿:B萵鰒#F烞<L刄$S:邗駭幡LL总n,>z淴檄u 乱漋k秸 =Q"踉vJ輆 <尣Z喍A r:8K, O茪繊聣9孴垯殤涣'0;F 湃c2 6FJ(.芏LpT报豽2茨v梕》涣舷惱舍w3臀~終鳗]讠閉zL9DeT>n裊)栖汜#e炱"e}]橒$/v{F姐驑;B鵃9\⒖栧=,1[s笷s筎橞:`(V屿> 鵭辮}\焽柚aA槄鞮S)逕嶬\ro陎巓/s:鎁竷nX閭牷8%%)(鐵*炅d|"催iJ,唓/9K~瘕~ Y釲綬埭'擉夵晖喇9+(暎鰶扻舽AC6熇 OgOD3i7u%n镃θi揦藑C軛⒋躨2,矏闥伵燲櫪G 鏷O8 _鐪蒚墔s翽6主aq=掣乊芾}艎C^竖7Zq情皋偄 v*#gP-傽锩/vVh,鈫崊0穴:K轇q+"g皌Vjq>Z 3J4傛#t蚷Q礹絏曍趄񮍤耗鏀 C琱,嚥锝.<j輚勪O称,cv4転#嗷*#)4%鎣冉+X!颿GD8泸F2壾辌懤8zh`鎍2摻m"I"乽4Y襓S蒻/皰"3禲&it嫩.r3呣拄82鵣@t曋竐%X淏%蛟 -I洕=/-:屾蝗贞С%哪瀚簓倭`8桶鬷養帰2槒窬唀8 v侔⒈绰鋾臄>3z啂⑥ !C~&⑽尴Ie5}N]磶g欉詫5jS鄅)t槅G侳u詖G84?I徽8A稭U慛狦&鰑Y巰醥JW偃.】'卞搣.m锍渦zE椘\涔f*a=nYa售罓裼u|wX&Y(>⒄峳#a#痶蚮鐶闷PsT蜣9E伀8乿C ,1 n8棴!篤O芟口炲搃w踱 烫{崬wㄣ摻铣種ui}Xu惬f8塊v狦 瘐j.<?冒o? -缡耸Y51iZ鴌 ㈧@畞跜r8//s *S鈄6塖筡嘰蝨2G廾コ滗コ(/熦(毪<嬩睄宱ⅵ倖尴=a篷榿渿辦擵"M*譝7/ |=B5蚒*锊闁P滐皀祉韢嘓_S彩t旊漅@蕧蚯惡.f縣雄屦逓;譪C0掄@z'ys$諿|E%氬枊5闽3gò賠 抷=湲仄cR岕<姪4 eJ蔥曳駇学P迻'堰Q秃奻_o-)郁={諩wV鐕輻o 蟼 崥懜 /邝y`沄r鐘8色x$T w朹e[(>)葳A 趴韥揃=R|霕嶱囀>G跼坙ǎN栲g惲v壪"yQk奐徠qT绨,閵 觱路3+k爄頒屠簄qhu谗u乓鹩TM嚧d[N/80S⑾貴 徍j絆椟~斉(7kx'~ 趬r7萓)rK鸭^5纭笯5g牴V5嬔湩氥褱瘹#熏V蚛4s硰僨穢D 3豾k3坨\潼蒧粜姌|蹏@L>{i羅搹^|墌.箶廕颒蘺謗覠{$0l9麓(7)/茝醥_蛪瀁鷺?Q  Y蓐P`竼鞏/l娗gqb谻!咑e呮a I顨t黢LwM簕}蝴D接M缭3M >ⅴs巳蔙$呪dz8滽?贑摍黁丹c檱 欪狣=$o犂萐;蘘礖狥$糋=6欀)0 廻諈 陰g3z涑_g爁h傿`%駵bG鞬/妣t髻蘆镲汐逸呶t?愵捱C撰铒猲K緅熝僳屁~&0嶟岵骋孄櫿瀮簌Wt)}/婻嘋#汻G6䲠!洷gr聲#"t蘍Z駗ゴn燏鶂.哜V珱5猌в}鑢(6鐕]猝 a蓬?[}\陫襣駨趉菀:策:絡3vP扶鳔[瓗t k7O弚嫙莋锹屋:s晄4囡oY暿,k猅证a5i佞4lc籕0m 曏"6喪X畦羏刼 鶘%鱼效 挂悷赊 z褆螙U$~m孋" 蛥欐s1嫫 ~熺 di(Y tk}Z剧噎褿鸋殗蠈e軘^剶,蝒^哫术萅^彋~3麯逐鮕7dj魀^蔸 聗嗃F?G桁压鬊ǘ隲fm襸i呦;b葩%e9sc7 捠K蔍$鮖鵶yS_跧#T)uN哭W2FwU?藊S鵎P∮鹟過鍟睂_e喸r铼&[烁WG麛攵捤緦\`辌bia棘L揲齰莼?欲軱稔)溵飁z;t/蹺a秅d;a0'm皀嘷 爊諿赌鯏o)2絯O喩棄4蒥顤o񶠝鉨9!r?!~k[覷 %炑4幇達B9鶀B'窠鍡Y8點椷牣Tt那Cl杯z妑齜'哞φ#7@=瘏翇?%~/&)慆~吲%秈{O壸藑动`/=勧緜粃A師U L6声%_=絥~?6=F0j贛?縦7軮z賤#U\獠MM臆揱鬛歑緈歿湋秈霹粸舊仼\c8陑#)鄰9擔鍊恰 Hr譐 鈛祍阯l 輓".楁桲3/>c臒騏鋿ㄚ_ 婧娤o柛倊W 穫古glsy衉r鵷0wi锌迢郘劜$遹 '牷Y;蟩J椁窹aI%襽N驻&I5虬箁瞭h%T(縑迭.流鐸Q奨臝墷擉鶢esT粴u)鐒硌轰押溲轰a] U椾燜&撿狘爼~<縼a廽榽;3!呤髄忬X恴-Z戥猁v~吵OOO矣3锝|Z)u>φ甎u=]澦刍7t鱰甗讯脍篧展wt'斨獀E酆逗昺滽胲E+:趝狟赂8U*%侂+xp幥S\()膿(獜慗躇跩Q庆*綢Z R畂3M墒饤9唣僟VkUC檶6%j肈.5=J屇鵳⒄I5y甤5覼%)Upm宑篑f咰7xV貉 鏢0<胟萄髹蛮鵀徜,玉脄#h琇Pa9鹃e%{PFC縇UYxg狵?&38礪$O钎髐dG"[MY由73KUi3霗)挺/6府m嶸U~1誨餽糁*3秌袘U嗴媔梻!僚 蓇&足瓃鹴j>\d籒#/臼sN披鴥2臠捩婣撏峫謙尹E蛂3汏x腐乸嘥韅;糊瀻kΓ姈笛翳`4y7帾諣糲9杘6]棰遜0睠#銡篘/5V爁:屒F∪諫狲(谘v4B&蕟8:韉d~匉灵皵?2篱6X質 AJ臋賗~aa,, ?'C粍♂1F #0才B`梻L)H4奅㎎5仸X諨6缁_領4vY撻eM。5U4"籂1K7Q馁`:"n檮wC!"n*b蘀,`伋n柭9该蝈jA:濈t+:-娥u歔椡肙 庣婴噮W斏.@en幜#[F歐o!葺a軉8茓h0n\緛馀TT芀>寳R}s衑T扑>學P}_I鮥獲馢鉛T茲T芣T餀;┱T芖Q}0瞀z卿饯囮脁-諊:惬鵿泋n膣|儀C愮]nc愮z2!6褤Q耭^i嘩q 痶o佩礬. 稴aK餇0轎y酸p瀏矝 厈8銺饕x咞8鋫r剻犩 粊<葝!x卭Ⅳ屯!鴽[鑴3鎙妎遑徵6巑~;芪q#顼b芜詐.趡3E 冚%飰涟鱂塦禧D+?釆倓Q>蕛Q"8蔆楽k?宔<亲劄蓛>娮唎=摏c)辵;輛軾鵯攞6($镅[Z=AT'i儕=煢 *3谻"菙M?陎濫"xW"c6%狭((鹹4朣pg梭驛涺B9櫵)+H災墔沈/j5 壬綟紻颰简灺瀏磼_L&^7/6滷煑4眍>15"誨袴L壸!YxN蕋~SkF驠3蛢rob躌緟n撖ro;(銊M;|8甋J紜樠緍y珧炈pZG`=HBc#VU幎抸侈褿o襕撌V5hZ'D;撌 ⑤I ⒔I5;場'D*Dx见ズ:粄:{ m+滓濨S篎ノ狟粅DQo檧珔k>聖幛p?缚竀x 6廈lsb骽壨5懂sc:/懂骳雤El]闹[讌耺"醰x眕糄x),,^_)^% w 瘑^w 骼k呑罻泅咍眪aCl_畨 泟7肹劮论劮;剋禄剋脅匃蔓匃聡劘 亸 儻続鳩&釠醄刼卭綜鳱.峄醷勶咃~@鳤!釃酖~~B鳬)岌醙剰孟 焵~~A$餕鹚搂郬刜匫 .餥'勥嗊~皈3聼?#黋鴖聼嚳 麰鳮耞喛"黆鴎耞嚳!麺鳾逻喛#黓鴞逻 麮鳪?"黃鴊?!麷鳺驴#黐鴚摈囡Q鳲馃U鴒疬S鴂鹂W=葰1A c聲拌ct畣k匊纝厯p?狺醃x狆 x梆Y帷0後岢醩勏呄>}孎撷E/G _嬀E癣o谚[磋[4-嵕E嬀E癣o谚[磋[4-嵕E嬀EO' O仹 O儳 蟺E煝>闸O褁焜学h糘佃S4-嶠@>E7立/谚磋K 7 ;+渽g {pN貒E? 拌?t , =齾媬B/E耺聥鄓崤p囸x2X 齻齻F繝E繝/h/h Z 齻齻F繝E繝/h/桴麸秡冝執Qd)$ボSzSk臝巾勣Aa%嚮(焱 8蹽a偯Vsx埪跔怵qTPK璝1殌 PKHjl6&com/tonicsystems/jarjar/asm/Type.class峎 |撜?_螗億俙DL撔 詩蹟G0b眛巻6戳4㊣娻c覻7軵йt〒巑9J蕋鈉O芩雇秦咏7轀谓麩m俐噤瀞9鐬{瀇燒遚G埁娹Vhnw:汮苹32賆{4昭L跗]1) 檑;⒄塰卜簎膂Xw諪呍鲋p矪Jm5膊qRCk70^缉c鉐!fm[雍a#狟栶:乑笨*亿(坮DZ篆f堞Pys毳M!n[銌 Lh8jmZ2$ il袞隬*tN錆^禱!ТX蔴lqg%K 鈧[,裼 %[* 衾蚝x2瀖繩}崾v8耊兕-t怞UNZ@曆鵑豣\ w喡af<弢紋亾*嶃 轝/2倍l:烄]^9囪闩l勢硬㏄_4輼NGw绷暆!'誗儍阧匓琦`$泽暗I)罢H%>鈬尊 紆佡鯬"毶L昔┿柷3胗颃x6#&|假Ik)⑿1憄2雿46mNZO镆〞68虿7*t[{*辌61K吜襮翬M㏕"M讪S3冸='(j跁E鍀ie柟 2g荷$D$跐e沜mc境 揪溠謼J穔t鬁m痿腈脏.Li4繪 ︳ 奦%RQ(蔶4<袧^籸0毴尗 c/宭飲f鶥噱A 薯镓N/$N o 紿x#毺禛1FZ緳坒裭睷9綝胈漝m7h噳> 从DO}簤 Z7延@籐魌3L鬖}鑉&z6䴘i=狇|6堳,刮曤賠=G蕌瀄鐙张煁B' 臵)i縓嚼郋茳_PPeXG┶9D孅!Zr库c峝\蕣跆1凄!{裄縶LF惚-e軔Qx蠠-)敁,虴 l恹2K鋛*Xj粑a搽YuG82J玶E瀚ヤUR恖貱[╉s@/鑖F/F 磭裗伷M4设0篊;s殛0谨0]_0z4鈜${錐a綵oiT )5氮[+嚛|"胻唓/邒豌o Y殏蠰?陖偸柀啂絩/U蚔絹 腑剽Gi壉,胐硯恓殛孪蚔菍籕苢-虈q稤G牽%pD韎疝K疇7郵|>6d9>r`A|w14s"Bo <}D2卶7!yg`錪亓1h58鼞op(J4{埏﹜雼&@'纔徦齕迨p }2干;孛倮i繟鄨sb蘟W臊瀶.5r麺僃黤6DPr宏v.N褌8囘U=,V鹦护悝I荵龍雫y|w駒亴翙jjK=莛毀 兿)銋 珳V怈L 浡1掯A$/>君!q,a剹h)`9h赲{s甇錦熚>泂嶄\熕>焥}!琥b顀:衼捎:aC+'=鄗,OG6 !蹀溟ip謚鞥襑鮦*O,X}磆鮘X淨Bɡ}M憑庫p.6f敒嶘tq﹟鐆閧挿QN $oKP麇轾Mo嗳>仨]劙(棺僜蟧蝮N皑畬繏ずg爩涇{8鱚 X#]y \雄鶜}砛Crm択沑胷]%椎rm6V厂螋#>夝蓜儉綷HH;徱凋=砫f9葪*胶l;櫭h熐 齌虍Fvh麰$^奛uLz蒗 R鐒椠J* Ke酡進J聽训帊E;姿R+Pk铭B%(F蚡PM7孭4(啀Ψ冐鉌7僗G記@, 姂i! 僢鑘z埞A1v4聂<毦 D咕读±趴輧N瑆 {篝嚃戙Y@/璠槯WkUKmuh轇5O桘蒎z徲j孲w9Y聆c~s鷎辩虛僽g璶蹕p3b3G-t𷔠)駱岠 较7&S蜧?鄚@峔/挱錬賈謝靅=z9仞尺c暖 -鞓t畳ud楘枛eR撔;A泑菦7鶐i﨑菏x覶vY-Oat蝈A繼.q| S3W帡帡6ZZ珃鶢陁[餮5o Nj輏峘E&+E蔷U %r偗效=}u甝7誛;*见拳O箴%5]}ub 絑O涒刎捎?r覒8#Q/0(谔*-孼g碶=屭歞.蠯48v 躟筞O迫A?PKD6l PKHjl6;com/tonicsystems/jarjar/asm/signature/SignatureReader.class蛃e桨皘l襇跰1j癙裫盉&*5MjSk.倮枓%郴d殐悭<%!蘦.u43z蜾嵘鮫焪_朻踧4勿痨炏唧,琪?xk *璮謒Y鯅炽竑由n6}矄犹:鯕e竚厶.鸒K5m孉4秿l冒j倥峂斥20冡!挫趗玍`显[d袙茅U哷2氮@F4 1!劊@!W1穃咮r?只Zw阯琐饐i哲踍傘8NP筸爻擴J朣%8艖 r莳歸o1剴2鱶 =u漚挘7 <赏焍O3溵鎳+-籭4Vv短雴m4M状<婬相9哻濹゛8蝄玬U蛏訯YT<飔屾漚8嵴\定昜F鹏闢h_皆Y/端{W饞消-/檾+秽籢久鳗蜡 锖苻2 A^`蠢疛%袹悄傭h c炤溼樷,%K|眊1黔K~燳6vD" 夥珕]76劸-fY>渑2mo犅佅麃G-2DD邷莣鍡KYf鞿籭Z畟伨莀兑X茑q蕨﨣34Z墌uh'墳eD棼:M 涌E\O儽麁g?巆聠M憦LzLc2袏權υ> 澶寶驻L鏐閷&IU-t3= @ I雱st*致挈.&H"Fj = 哚済zWbd}3V饗港呠姖]剝~d5倭%S痪缢C蟔ym雝\i音( 3僪嶠餴z莽 舁宻殏i2!宐pq%}_O躤^E/竿肾堨嶈I竿紾鐝2=@b_Odzx薻l_W >H)'84奴4Ebh? s墓|X鴹鐆挔鳢󵐂3$-)侮Z(!U)V>⑸焋<3獒Z]慕请L珔漽XfT惾$邃.铨 g)脄畓$4蒃抯]$Iuq瀦爘麸皂'N峭'a8Q/峔|猪墙Q/PK*徭\PKHjl6<com/tonicsystems/jarjar/asm/signature/SignatureVisitor.class潙蚇1呄%mB褺 賣褕E 圛/M4銐lj^ 嚜j8M篍掺]咩k?}3>$E楤瀔#rLY拔漀$汻 ^炱㎞M Bw蕎d,'铃蚑$E胦1伮啀鵋X徔_E譔|"l阊`F梘9!薰吺9蚲鈯缏E8鑍,Cb9 ;諔0c璒婻决/7K煱_;6''路珻鈘&T鈷{曬锫铞媠茁f融┧墭櫞餱2OY媄7{m凡5f曭M&^譾栿灼b)詩混5P2=椧穉z鱄戆愙4c蜫盇XC觺kGX锃ZC岁絜貊妦俷擆m啦儩奭蟏=蟷蟝炏瘼狻飐潺梌框|7瀘+緎 PK违qEPKHjl6;com/tonicsystems/jarjar/asm/signature/SignatureWriter.class漈kOA=(P爺Q狼v佒 R@乭BBA鉖\襫涊-憻_ 氿H4寃vй蒺0襱w3鐪{餀;缜/Y糳*擪9vD晌韘嬀9n梤侗gr壾Zm秈幇毨掻鼆鐘苘私俎 Q嗛0l)揵 u󲑒探リ町膀唇M蟵z 綮谐滦8g槅忱2 矗1$z/梚B]H&袆x3"琛2囎e嬰駯[$↙鞡:y-抾鄷0)洿稖*攓o3宊&y駧$辝鑠覾.r踍*We萗-硓3簧.Wn扭:wyA(I/萙"瑐$}"K#x佬f0ぼ.閉瓰5zM霛牳^})垔c斦b浕改m猃帒 濐瞈卩柫穻立e馛踍髂嫗@泴^)~砏蛅P掩珫勯0溴挢迅W澊1顢絪d柚..漦s騖绌掊驇0e絊9閱Fd煿c< G漀鬹QI濟Otm潱竭!? }鑇萯R埿'8FJ彎b娼晒3 m寿嗇IrV.4F04趇斞"7祑线'u箺 >*)邍vM剬咖.c獖178畛&k肝j ,\Q仪*嫓B*c[$*4顟o井0C鶨皿A捭+2枢I@=P_ 玱漙册)&k闟>/玿#d3棝w苚糏誼.1昪艄柝'B嚮*k浟s0g疷H'缈z濮C障鷻G~!3楫)`逢漚翐娙?9UR}驇QwEkwd.)/fG纘嶵k筯辖PK;{PK(q66com/tonicsystems/jarjar/asm/commons/EmptyVisitor.class璙賀A= n概-{挞Q鸯奩1翣κ剣郉Gjf叙捠'%O┦C> 旿 0嵰#PR,征躿界6篦唢?%X,鑚芤5VLKV网5;NM50U滋xZ-Y暅b*杗凙啅 ﹙呱+.蓮+UうY]嘟∪琵簑 赙%[嚭甾K0镧炘4茛枹k鯋~傤UES琖]R47A枘"貣2櫖w餧薖磧D+柦螃h帬!拚薋A&槙Z〔銌湼澆%NU 朳婖c骿B稗勴s4踁I.迸,W倶湎Q箐沂hZ龕+2c吁9t幀蔙噸虨諁驴,紝祮籮%84媐r騇>X=Ni%1q腧Z.2/I韜|!鸃 L溂σ蹃▃-R\铹浳襟齣f初衃晽蓃 J嶥5=s9,?VJ不瀐v0;n蠸滊挂i拷qp'瞃VK顉栄鸘3K髍1嵬偝&橊J/虱Cv苦n7.5/瑳VF血~cn絟(餅*V嵝5g硭翕嶗ZLn躆N讖衰苖Z$雨6搉貈(蒻4i碦搧噔u蟧TR攅礦 遉I霋\毷i碯-2e+vw緒x羄NO鎅E摲薺^6j兒E繗﨓锎VV >钓勤鯱鋷懀俆揗讧 `OAt}`廽鰼鳊灜F/a俊/ 匌"8Z#秏5 8▼嚻1罙A毮T谗担U*畄a>:npP垏n秦堇xw勜tg蚎辵JS # a黢脗 貙榬u驪1驯bNT銀1磤Z膾◣從衏<>3Q蛳馚-嫇_AB斊*^奷 疎刼!%R骱iq#Ao齠鉂p&2劁囜?PKlW擳q PK(q6>com/tonicsystems/jarjar/asm/commons/LocalVariablesSorter.class絍[W氀寙&啾+刲艓S1躌'U\皾r#卑c於f悾 4碝/辇珐 瑿浉i[阈嚠諊鼕>舯俊>gF86Z樇斉aK{锍迖怇 Xc8*:滲>*]+9vy*襬蕌,W葪: )+{*f瑝琞J妿]TZ痘=d;訁tO跉>嗂D镩伨袺# 坊=zm祁fPr痔L&?臥s1熔WE4%喥媰棴+Vg质Ou&&.).h摍b: 探2WうI貼撲X&焣N0鬌銦0晅婁皗坭苘蝒J靚9切齌t裕A儎F j`0赃洂倉:懈<筥勅蕯眙sv掎L阊 禱t劚_C3瑷兾脁愂H挋鏼_%:噓院:焑携餦 4駖) G鉸^`b鴶嶸t瓖褵8;8囫;\~'5箐`詂蝒aP忝鎐.篌:d彄弒墄'+"0磣&8嗐$!D.D唶 )-/眩颜蛨鏠A繋樀繧:Q義&熲%择+釔!k);刃 竪*肒U#蝪QZvv'*㈠齑姂话睑Pp唂衺nVL:-t屸瑔$笣~=$ _鲸c ^/^D NマF奤VD5罄n<浀Кl冶{`.e8橞^伵p/k旿gl+m;E["ラ耹6櫚#T潕\8討侒#=谬桸為HF&持攰=塚FQ[&u炻n籭𥮍粅w鮀> X泞u-U樄芵V)` +螡錛袗!v]L踏 i护犎 裆キ 擇糲O質RPM樳es."髰&Ft|正籨=蚨蜣h8y/怆寂/涯W>冕7佫挗羌粸綢震ZPz墘钺Q?墏OK4曳声韌迢U1耄返e5膑|埾,)m .涩WC/欧IZ艫_L6錉幢&s靰 J唡d彄l^fK4壗岃秽?尶灻P<呣矎t鸿堞矰g櫸;t焔K e/酨i.鉗"F1"皇8JD)~"d6Sq蕠J鍻nf~蝣m洫f圠恘:N逹~jS9D猏y穔棯箮;婔榵娊增裍糜m+x:魡1䜩%髒羽*S弓侄鰻 u_Q6硌 w肀F侰-Q%Tsu`b!綂┛虞蘵BЧ 離謴w壯碅`轵驩緺焴7逐/b6/軵弔倎2D-縔 O鉥縱槮 e⺻<μ珓][綳繮劵E<桐√+霩轧塆倸0侤PKi<秔 tc u]H攘"+C霬ff蠴P)7饖W鹱//樊郲.唓^鐯4獗*4 堄);CK8\器夓ю堨h堅撏U夻t坵齽癡o柑0}n 卭 吡^hut8hu <4v2袵EO劼 8$嚙C银~蜜'鬼搢aj1o鉁P[瞓岨Y魧疥瓬80怌蜂衪RJ 揶崢6<$襱X8弓u蒤 >CNd緅钹 :鰶d鉌L6 箥缟E,'栢煑?6湫 &厲1銳鰋l6&鈲 氰零w窄f<鞬t$)rX躆,BwC$代b!Q榺*>缆*疰 ++C捯3晢k裺ft>蔾XyG輾PK挵1PK(q62com/tonicsystems/jarjar/asm/commons/Remapper.class[WU﨨20Nijlii4﹨$*N!歔'撢x珬>3/>鬉|A2t蓲/e-乷鶪詝2`劥矘f煶魁韔锍蔑 |I娉Q#熡捙r裀撑璨⒂oT)f4椡鐘裪5 c8铂躑%棊N輁V搯N鱡- 蝋(!箮ㄅ$Cwpb踰菩礬z 醋男зrA踵Na璩>d@!磰恜浬隖L翾1哣通Y5gE;l 蹚v巔溼!pt璥鋟喍燤x;湊Q柅F眿誂耰揤'C鹡勧乙Y]\w多朋T^竆 輸& 9  1x嵓'Aa8L腷9C誷JfR瑟uS晘Kx蒐楲x -^魴齚 9Q魄嶗毾J唓淊i芺矍宨j坡S猵喪#H`>?Х42Z]醬x`期䥺躙磣%?聭x讹玤钛銧魣鬖卛 NVpj屹'z?铓[9_wz*铏| 罢Y>/V餽o紷}.k騔5皟弍媆墒I撾紣l v"v=,讐艥騘Z3J鼇揾赘g<啑,梜Qㄩs妭駊>y .F>tn冧Y;^肺&%=.2"Q誈迀坬/赧宦Wp -渫_0 連挐x7吜孁厐{ 迉k畝{*錙淬壃B〒屨I~M*"~&W鄴讏鑤7k諌xt[r)DWc哈 糚?b;op鸾gU┭度憍穛j>bq氪l兇傊包+$R1摏TU篝(溤估%S ╯:nMn`櫬揞螨畵+恴袱臮碩杆w>4!>,葀z 旂d熢聗娤3騀sDj{sO4靟l嚂 PK╲Y)i PK(q6Dcom/tonicsystems/jarjar/asm/commons/RemappingAnnotationAdapter.class昐mO覲~蝂VV嗻 (B譽+緗衊H褊哪%~蠛5 m椂,爷殘黁苨gq2p盡踫镩s烍躶N@ ;硇w0疒 N\?v"廑憋7? b鐓雼^ v LD鈪羘G7褸劰 鏟误w]窛hP鮅#{I菵S剛渇m箒疠埿{8 ->/!5sν棭"(f礶`:T\2燼簞 敔苏a/ 沠sT詶I牡遪帡y萰缪0碗8脃vqA`差Yf`苼v燥旷n攏|褐b桲"X繲栮 d\抄滿伣聙m&Y}簃諆窅 袢Er俎LQ$墠3 筶%睡R鲢W矙无醤nE%R 緀腼TQ: 9對U猸%钊F熣mwD苕p 麅繶X刿V皤K朂}惺&-盀 デ冓Q)摴_惞恳䥺水bIV戟娝鴳髗] (疪繒?::>撦釢瞉罬析瓁+8庡;籃y&䙡+渶xu/h:.1頩跨y{)x鹬吵#=;,|楨?Q瘡侴;6 微喦箫禡+鳨`_胊耭x*怹t7-湧嶯训o*BO)/袠]M殱!峚囚&契釱L>b#カdㄐ8珬^猡炈c⒋岹-5紡徛4壌炭P臒PCIfg涾4啢#5,怶鏃譟o 驧\\)I澬DV碅GV穲宫缲寏'嫟鵈溺k'掌琨&叔LLjTgF10鞵p-J蝚劥X蝨焊傉翼1γoM壟9-)鸛袾9*R54N垛.J1i^:漥釴1Z霊U3f!蒖G涯} 斺3%襤6D泺kT拽Y祲m啈Z.7吊\$熌妕欺堮闞 oPK長銈} PK(q6?com/tonicsystems/jarjar/asm/commons/RemappingFieldAdapter.class昐跩聾=揤玬荚K臊V叾J, ^A緲东MI謧*~8刯C捹轀93{捂睚@ k勍Z蕮N5 攑玭鹼[v郱鮠`譶4y}鑸涄n蚽('@勓狠喘[^[菚酣b剕7覑l庲槪廯\5 牛鎙!J]髜n@柢G:j噋赊蕜X綪6懧Pq 汬``FM "〨c剳Ζ邥襍秗K緐^鑊綋扪g'S; 呶fLL`2厏L. 趸乛找:$懪,a鳶舺*銖阓葠g 洪E>"!蟻瑱X茞^\!镊細喙翞餓.hc鴂佣p噪)橖^遒,#bG-~譄.n">灼t <oa>J圉,3S!笉%_n蕄$嶪 j#GPK4KPK(q6@com/tonicsystems/jarjar/asm/commons/RemappingMethodAdapter.class璙msU~.,賱n覛&h捑 鄂&5J揟$璉啪&a梇6q?g鬕>Zg4-ut魮3岝茌豠@漚鲛禁<<畿s襄峡 `:脇(-C 語誖苏7闂嬲r毦 綒^W思R阳璘遮6姍"疿)1\雲3 紨绂7Kju0m稛a写-&肻畐%0p]5k懥坓s;|彠K\逬oX& ]鑚 #疷50籆;箱2雁L^亴 $00啈=俯━bV瘖蓠t悦奝+1$麗ム^RFR$E)欐wk曖R蹸P鐠傆 "剄吶v躪糒nyX)l//g^膃礪Pp竹<0觭~dL)榴c8圀 琼蛂蝞 搚鏬D∴掋x驱屻>∴/E蹫葼c泶邹嬍機ZP^Μ贁\编0B嚦v{sG-Xv! 掲 襲瘵倗鳫H '#換8碴癳℅眝2喐h,cHx臬捿l4 +覓QT1E$胮J\4孉z栭 } 8拡熲X",齽汣澽臸%幚M'~纳=哠坫lX:@LL興矌 4 \熨@糰 Y莑5z桌)跤x驁:.麤`j.,A}4 袄&饅o鴼X晔M摸朼;蜄aj.8I9aLpRH2蹏覑O2-v\/觴&候'8K瑆翿8#+7乖 \顈r)廄屨6熶蓥C盁b龎K爟(W屍P働Uy湈 緻A"o#U杆圫塨娳鑘"J刁($%B完p沭獠妌 摅/"遖=或;奯c) 螷眔牑黙{}劌豔~亘Q;艁逷,#l"呔+,=!玄嬶S嶯PK歔Ge PK(q6Ccom/tonicsystems/jarjar/asm/commons/RemappingSignatureAdapter.class潝kS覢嗊-h故ME{A(蠷@A 8躞R諲&$)#Jg@?黁巊籌G侰;m擌}蜾熨誉'Y糴X)郐钯朡v廬O槷~z贶5u蔐踨鮙a騔桶*{F赔^^髣c;銰\痳扣?e/唴嬆n嘌浧掅濵+ 靾aq=A灐薸+嗁 -疧萲.栣2関 杠-3%啂tΔ!塗濊GW7b栌袓<`9掹b暬顕銡`J锎跨9= 偬en0C溛晄<缈_i臱#府啋笂 儘 ,K825L胔#叽揥e鰹;4E&t嚒筛冿WI1ヒ{A 幟廢罧長慧め>乙沘H5糼J蹤.蒩Fz[輄畴謥]]鼝a爲m|.嫐g貣Z鰷5oY葱O糒鸭Z#呒g伖'e潍x9(jW歇靬愴読徦瞛 暛厈\p*uSX瀱u毫惂捣哂u紨濿+Tm+赩蜃载 h籧4梏c摚-䦛洮颖熅OBw7鬷湀:鰂坑+w婠焯)緽>> ,&5bN0橕嗰3軐!`'辬睋Mv凥&%;幂4 M 1##&3d>f盔 趛**j顶遥T徛(闕槡彚瀱┡(j)L澹〞0ES(X}j丕娳d蚽 樳覕咭璛Hペ TPK>~&/PK󂾊 META-INF/PK򿹒l^G=META-INF/MANIFEST.MFPK򿹒斟燫 0 com/tonicsystems/jarjar/AbstractDepHandler.classPK򿹒棌鬨 %Ycom/tonicsystems/jarjar/DepFind.classPK򿹒琟 8^Z< com/tonicsystems/jarjar/DepFindVisitor$DepFindRemapper.classPK򿹒2G, com/tonicsystems/jarjar/DepFindVisitor.classPK򿹒q0(&com/tonicsystems/jarjar/DepHandler.classPK򿹒s棼.com/tonicsystems/jarjar/ExcludeProcessor.classPK򿹒潉M %com/tonicsystems/jarjar/IoUtils.classPK򿹒Y\O (com/tonicsystems/jarjar/JarJarTask.classPK򿹒=寳宰3"] com/tonicsystems/jarjar/Keep.classPK򿹒N﹕#-!com/tonicsystems/jarjar/KeepProcessor$1.classPK򿹒(皛MG"com/tonicsystems/jarjar/KeepProcessor$NoCopyByteArrayOutputStream.classPK򿹒R +$com/tonicsystems/jarjar/KeepProcessor.classPK򿹒qo(} "2.com/tonicsystems/jarjar/Main.classPK򿹒業w盬J+c;com/tonicsystems/jarjar/MainProcessor.classPK򿹒跑_[/Dcom/tonicsystems/jarjar/ManifestProcessor.classPK򿹒t筸灑C-螰com/tonicsystems/jarjar/PackageRemapper.classPK򿹒-弳涷"蘊com/tonicsystems/jarjar/Pair.classPK򿹒V1椋U'Qcom/tonicsystems/jarjar/PathClass.classPK򿹒U*U(,Scom/tonicsystems/jarjar/PatternElement.classPK򿹒=V緵 "/蜼com/tonicsystems/jarjar/ResourceProcessor.classPK򿹒GD?3"6Ycom/tonicsystems/jarjar/Rule.classPK򿹒$'鰳 -臵com/tonicsystems/jarjar/RulesFileParser.classPK򿹒0u"#4U<竊com/tonicsystems/jarjar/StringDumper$DumpStringVisitor.classPK򿹒~ =*Vdcom/tonicsystems/jarjar/StringDumper.classPK򿹒鬴\uG*雊com/tonicsystems/jarjar/StringReader.classPK򿹒8&-+竗com/tonicsystems/jarjar/StringVisitor.classPK򿹒9駼,緇com/tonicsystems/jarjar/TextDepHandler.classPK򿹒頭河 &ocom/tonicsystems/jarjar/Wildcard.classPK򿹒<獨娮0!?ycom/tonicsystems/jarjar/Zap.classPK򿹒[D呣j*ezcom/tonicsystems/jarjar/ZapProcessor.classPK򿹒XA菠$ 泒com/tonicsystems/jarjar/help.txtPK򿹒 p6 com/tonicsystems/jarjar/regex/JdkRegexEngine$1$1.classPK򿹒B-4}com/tonicsystems/jarjar/regex/JdkRegexEngine$1.classPK򿹒ь鬰`2饒com/tonicsystems/jarjar/regex/JdkRegexEngine.classPK򿹒鄦鵁+鑺com/tonicsystems/jarjar/regex/Matcher.classPK򿹒0货e+饗com/tonicsystems/jarjar/regex/Pattern.classPK򿹒 `J彉/ com/tonicsystems/jarjar/regex/RegexEngine.classPK򿹒疛6com/tonicsystems/jarjar/ext_util/AntJarProcessor.classPK򿹒賜鴹O悞com/tonicsystems/jarjar/ext_util/ClassHeaderReader$MyByteArrayInputStream.classPK򿹒v図9 +8com/tonicsystems/jarjar/ext_util/ClassHeaderReader.classPK򿹒煯:Ccom/tonicsystems/jarjar/ext_util/ClassPathIterator$1.classPK򿹒.T:?com/tonicsystems/jarjar/ext_util/ClassPathIterator$2.classPK򿹒豻5荫 8<com/tonicsystems/jarjar/ext_util/ClassPathIterator.classPK򿹒VxX57摨com/tonicsystems/jarjar/ext_util/ClassTransformer.classPK򿹒j天"2com/tonicsystems/jarjar/ext_util/EntryStruct.classPK򿹒趯 ji9com/tonicsystems/jarjar/ext_util/GetNameClassWriter.classPK򿹒R-賤3]com/tonicsystems/jarjar/ext_util/JarProcessor.classPK򿹒o$A8scom/tonicsystems/jarjar/ext_util/JarProcessorChain.classPK򿹒#= 5椒com/tonicsystems/jarjar/ext_util/JarTransformer.classPK򿹒砝:郴com/tonicsystems/jarjar/ext_util/JarTransformerChain.classPK򿹒 憀o@com/tonicsystems/jarjar/ext_util/RemappingClassTransformer.classPK򿹒%9峥com/tonicsystems/jarjar/ext_util/RuntimeIOException.classPK򿹒%z6cx =斄com/tonicsystems/jarjar/ext_util/StandaloneJarProcessor.classPKHjl6丶天3bcom/tonicsystems/jarjar/asm/AnnotationVisitor.classPKHjl6hI蠻 ]2嬌com/tonicsystems/jarjar/asm/AnnotationWriter.classPKHjl6箚4+ com/tonicsystems/jarjar/asm/Attribute.classPKHjl6$⺷玭p,bcom/tonicsystems/jarjar/asm/ByteVector.classPKHjl6钘;.*com/tonicsystems/jarjar/asm/ClassAdapter.classPKHjl6絑sA-临com/tonicsystems/jarjar/asm/ClassReader.classPKHjl6}4. com/tonicsystems/jarjar/asm/ClassVisitor.classPKHjl6/*M+-濜com/tonicsystems/jarjar/asm/ClassWriter.classPKHjl6礕餭& com/tonicsystems/jarjar/asm/Edge.classPKHjl6x敳. com/tonicsystems/jarjar/asm/FieldVisitor.classPKHjl68w=,x - com/tonicsystems/jarjar/asm/FieldWriter.classPKHjl6=髴 'com/tonicsystems/jarjar/asm/Frame.classPKHjl6考GrE)/com/tonicsystems/jarjar/asm/Handler.classPKHjl6褈]殇%&Qcom/tonicsystems/jarjar/asm/Item.classPKHjl6刳i&'"com/tonicsystems/jarjar/asm/Label.classPKHjl6腬敧' /&com/tonicsystems/jarjar/asm/MethodAdapter.classPKHjl6l r/!+com/tonicsystems/jarjar/asm/MethodVisitor.classPKHjl6猋鼂!睰.-com/tonicsystems/jarjar/asm/MethodWriter.classPKHjl6璝1殌 )Ocom/tonicsystems/jarjar/asm/Opcodes.classPKHjl6D6l &軽com/tonicsystems/jarjar/asm/Type.classPKHjl6*徭\;dcom/tonicsystems/jarjar/asm/signature/SignatureReader.classPKHjl6违qE<Rhcom/tonicsystems/jarjar/asm/signature/SignatureVisitor.classPKHjl6;{;Qjcom/tonicsystems/jarjar/asm/signature/SignatureWriter.classPK(q6lW擳q 6豰com/tonicsystems/jarjar/asm/commons/EmptyVisitor.classPK(q6挵1>恞com/tonicsystems/jarjar/asm/commons/LocalVariablesSorter.classPK(q6╲Y)i 2厃com/tonicsystems/jarjar/asm/commons/Remapper.classPK(q6:*D舿com/tonicsystems/jarjar/asm/commons/RemappingAnnotationAdapter.classPK(q6長銈} ?Lcom/tonicsystems/jarjar/asm/commons/RemappingClassAdapter.classPK(q64K?攨com/tonicsystems/jarjar/asm/commons/RemappingFieldAdapter.classPK(q6歔Ge @爣com/tonicsystems/jarjar/asm/commons/RemappingMethodAdapter.classPK(q6>~&/Cscom/tonicsystems/jarjar/asm/commons/RemappingSignatureAdapter.classPKVV搹javapng-2.0/libdev/bzip2.jar0000644000175000017500000006332110646304426015714 0ustar paulliupaulliuPK ;!/ META-INF/PK a!/.胚KKpMETA-INF/MANIFEST.MFSD[爎Vd`ia``0` fd3YEw榈]+滔眓 書龓#C3XZ呩?<^sD j!j劺D "$lUT uT?uT?lT?Manifest-Version: 1.0 Created-By: 1.4.1_02-b06 (Sun Microsystems Inc.) PK !/org/PK !/ org/apache/PK !/org/apache/tools/PK !/org/apache/tools/bzip2/PK !/仸 +org/apache/tools/bzip2/BZip2Constants.classU 槑U痼?3dyn麙J(}艛J}%54>嬲2攊fL Ei_淖 6(磈闸E{瑶)曵M蓣y蕻k>y襟<9>w甕鐐腴7v揄欍烘竛鏆晽M_][1iD宅Js6勶 ō6浆f碴暳賧7檏>,ti醿驥G S3o9籂thA!遱硖5(Y槸焆鷖齦鎟 KeF#s齭%综\Na閻鈧Ⅷ ]xD列艡"s G+蛯猝g2钮齂 忡[沰XW8c4s~, 穙EuUM蒸~鍮弣Fj求醃 ╀缡+電耸N3**V┭槳)y鴌&枬R衷ut澨u洂W6ガ怃始榈嫡域蔳癯y齆^uY蛣糒蕣閨N镌荾\桌5錁4b嘶秙氲齿[無Z岉骢-豊甑羦藌鞻l樊譶胿踷韛l矾最揽|8k筺W讬铈\嫨5(亀6) 饟2% 郷蓴4L鎓J炼dJr杁Jr鱿$z/I.|頶醡 )蹻 秮4G(%-`跦)酇 頜䙌a,i 藧v餙戹饟I鴡2劘澿/%宦緾:棉"涣冂dw豃-麞靿PA郝m"輅 Hw鴈d/谿d镤@决@!^%B貤 w魟讅z岭抷皤绳 ?鬎G効麧 隓稈C辔""霱 疓>,嚸醟I_窫疙r8_弰&G吝M46i7弳?$U|w' 烱 ,%抢o&伣G喡kF喠t態稿$>Gd_嬕邟弥悜#(鳸8竉蒱豘聲匇d,|r<鼁r耈d翫R 觸瀳PG蔪?恟"R?瀸囎癠"*'俩鄋!'#h &#撪峊镁!v'5p7揨剈d*|R9[Hγ鎽轸?毺DhNN呁!Я揧芭d6躚鋞 豅2^0-w&y湕攱翅鲬缋-戠骡羅+螱窾^[&/剭艓胅宲捈頲9?n窴a锸pk銪X廃o淺杆;人釛+釹耛 鲬\{C^-瓼痱8wp茁瓝琢f入a{=鋶p/蓻7#+oA$椑螖Kas瀛皪6騰鵁2凙剻騈鋆q7麯yOvp椕(顴X$顲⊕+他"{~a晐=流棲7蓢搶X嵭M甀N徖畱徛?'"-琢_"#&Cx^>[/焵鯎O率銼= 锞!"濧|㘎鵟,璸#t/榔 淦馬v綔T圵挴"腘m倧7} |潛)還禂o虑邷澅芬G綨妡3鼃>7鵤,g\L鞭耺I[ng/ B\茻&g埾`咨厢<}乸稛铝r[R(緜'挎L隧躥肛塷c!匊軄椗靼V勏鍙餼觚 C.近/8峡&s膐%騱凣案觜宷 3;r%s餥づZ箴ke圗 泣紸6尦m嵏鏴麮2ΛZcmHc瑾PSW}6飘謿!h凎>"Vw+塂觨-育m稩︼<賳媇秿k缟诿馇; t迵 a鰲 f!魭 b 濏%孻|栰婐堨奠帬2c{羅(鱊賴b$k3Y朊薀三`+dO+柷q慙媾;袻賮;({賰>i 碈鄔H娉姍1憞辆枃.梷aZ膙"/F>霩x- ; 醻{哩^(纊g脄,] f3(lpZ鋖H悍U!ch鏚Qr吉20K帬k锹.嫺忮樁嘹6%I遅巻6矑x纼嵣庢劁Pq|Z\韯煦巸R2-鋲0旵c?.: V<9瑒弅$8草=欝.玹鴣ML辞mB納uZlm2|糩 靭Y2)|蒬 .化%誦:|缄 ^I2葶X蟙%敡3齑x爞1釙6浻!OOK帩懆娳X\xU;鰸d&!l杇驨驕4韁晍;徤-螼s.H鈃.L于.B埥>並b>悧fo縺K].L 1譾Y)欜+G+揦!膰 a导~┘啣P^薬斪f贁喾伺 溯酽xx1遨蔥X晆[氭1錱邵3騰劯饢梬梆H式刊d蘯愾ぽ_)S﨟y紓裋皑J棱喈d綉苾>臁靱Y暜雵岑敨訍5G>攲溱鴷!脂蹰R>韦桹 8$|掸'鰐zこ 貿x嗗S> 纥k9過線b鏽#|,/!腁z蔂咨蟐蚔㎝墡D穲|=圹7搟An?D九邜os茕;椹棉峗燌u亱V緹}覔爙3!8鳾醙藦晨鱅禞|毮酐,[>忕p<鸌&}瑓L踴x揰e蹼祧邽啽}脛攲鶻铱Kz鸨*|燁#B7?e稔3]扞縎$K]鮭0F䴔軴;b ~Ng+釽钶"怨"绢繏wPK !/鷝CH+.org/apache/tools/bzip2/CBZip2InputStream.class璝 |斉?3硰#&B/7 膮餘b@H0 (爳譈撦纲 D暘敋Q|嗋怔琕m玘炮Z遫j[5f枯,堶螓 =s嫣335g<摙 ⑵A氰oI魒'}M8﹩'1鴸羨NZJ咣┫INA 葽)拳厑晛崄滱'7僤)XS񎚎Hc愇 兞儊 1 撶a,婣6 elc嫅 F1m4悠06柫8淾屒崮iv醗J.冇2乊L从K躈b0Y懾谏\澛Xcg0鎐l*c2樜`儥<:嬃l钗q21楓V拇b08.J韇瀅di甼e傡`蛼HXPr}sㄡ傟@颏IJ正`c%墟o A耳垛稣5RX鐕皷抪儬祢Px湍褐簡&腍(攒6本#袣?堡猟 k 复 躵% 朎{65ˉA4溣l4贀X威堉*座冕 屜 dlf謕Ci8獭7牼m謑k74舦!q酳Y壕吝 剛袆 鎻膞bV辗U崽闼k v垘85忆oh匰B}踻diTPM墡V霫=芉哫珕趥-艁H[y 0牘KG黦3冥郔坎L/)++cc貧迪昂tn衵[G]skS]刀俵m炮k薄u~浜舭縜潠畨蒝< y;拶黳菟6:v'0獣^EZ 勐(h(馗8次_#妖c6癏鶫(浴覾筃悛床ckx 凴捚⒀粤yt铦Bj]cXTio5内廷)毴I]8R劯讋奝閤炩 %?淭麮覆@釹FC愚i鸜駇Q仢\AE齏摮:n鹣 p麬 姹K谂7.竻襭硭v比-逝b7]O7俯佄qS栈⿷黱Z蜖搉4淝27Z7璦&痛諱-tS圓+ 菰蜬鼣5 甧pO 0薬阹迎紩 辡1僌|枢3徯搁^>/躷9K箾s炃`/嫺慻?守M=IO筰>螊.g8洷{燮卣 甡餾W1鴲G?bp%孩 諀盎橏 何M坶A鉕5&!:鍳棂N嫜硾雮k&Voh孁9粎#壻mI8煜'!#[棺宧3挑y嵨痹捩追 駧躗譴迿A伶選0n8焱艳趫<仾y) ZFH并箽`针v呝漫=响無娥[萋醬踐裔]m秌潭蒷岍航漓7泒nCf踛氥p2軫听措鯁:磦.掖蹊oH鑧qB-)?I鑟D鷽羞溞邆逴蛃n5蹮欗ef{筺夶S稺橅昮{曎n3郢亡辰謑窙-p85H2厣羝`8D"]&u+D%燬昋-3>e8EY帎錎 <*侊:%*pW狂敻梺鹟`7殴穪#辰獓琷f7M艮G冬);i;~脂鞬$e1t9K-阜憰&ǐ锱僙偌蜨湑唳V8n < :碮p洼]晘E7s罦>m躗H襗呀塀so戒>H五戒!>d!汧=廿$y渔U1CR魫硣R[殣O怗鯬Zb'=睋`}^Pz痹 f愰=4凙7窏脖鼏7琠 4餘怖隨衢冡#嘌^xx馤x`)嶾廩ok啩E郤p餕蛅|x?.轄剅>费} j躱獞=圠V#蚝i?爀叵豂Vy壤僴9曏I匌$j岱牄苩親rx7轐#篿@7糌K#簧塮T7┈qB忇バ8舣i罨b\5箬1呐oh1n%|x娉Ht狭c濭"{)醼 S"o褈"鵭5~孪lc鬖巢8D/峚K劫濱嵔4柇9dc監峁 蟷嵅閡囊Q匃3逖_`悍舢咷3we臱7jm$忢O4犌式 f3餣4磈h蓑 $/躀<4园x 藐Y襂脰F譼峦{i,蟙癳{娎栥Y轎兞<稉依\軮N面Y~3箯衖婀1僳C筤K/漬$'tC1儁p 鱝$v鴡,#=髛嚑|DY(gF牃)C臟}墈蟒邜?蝌苦徇B 哂MBRОP钒a訆\UL\戄t哗=t嘨d*鳻 k钚实`錵0+挚朝#8飱;腅郺.鬎O4﹪&伺o蛲d;B<0尾灐g%溨1忙慵bD損怟竓爌S慒覦>;簮y蓵浌夡雁贬8茩;堺 k$R匁喰慐肈v耑猛禍\堼9_ #%:xJ埽=S铖李峴o芯廗'-x!:鋉`嚿菣碃涭遢|Q騺r澳TSC拈d(M溲`1憆D>4Z湋茦j细弞tJ8:怰③饃s;4咠蔔噺悩FV\3N1漅艑闉xF 壍i(劳禸.LE乶*Q坄}查踼杗rM8沘憹l唀6{['i}N鮙 g+dg涙Im岁陒怸4挢a蒢oi紅杅蔶O,l肰2鈯殟 1/"(!8>S 呁,1 [-b|禍J阑飬箴4X儣羘-C"~4缰筻i4Y!` 湷惤9 C酼屻韇*<唪$' 閑{M`c篨氞罥駂y4~I]b搋jf4暡裨瘙耽礈A)b%㈢\+危|q~俼 怆玢娹&徢孠覯妆y s'缺5g肕曮D麯5尋咹焬 臧品僿Wt瞕>7h菙/砂輙汄9)3觔8 G''I喅rK捸営皐踅放! 嘺圩鲓) 嚜訢蠣c殬q:D8 ,电鎅j<Kt衟湜`i太頍鵌T\顗鈂循6x%K-O蘫1a4V光:j爊 檂陶媂j-膈8讃1趤|@"'!F[徜陇a.趆@*钟,眮娧枊嫨J\B腛($6%h穵蛅ヘB注絈l壦q9鯃熡8嫬睄>D麜窮郄#j兏檹醈碫垤^Fk蜜h.幯觴EY4 芰g佡4鯷`vp~w'J祈<0'VZJ鎮bIUh3砅%=瀲,訚jV7*胸}為潭脏>G玧禜戫駎踅<蒤記D]稍I`D?V玩毼敀猋=灕淶K%rX然1i/聶g;繸氤{m槀遗撌瓖EcY6L媻还飇0鏻_ [W遊ǒ]蕳岒1觘$蒏峝K韛0泌征藱鴴櫍犁瞀亴裣襒鮿輢g簲徭Jr6谪2)纹E^N><.rlq 蕈/锻s K~夺2鲏鴃婨扌肸T媑/ q燛in勧> F}摂'NJ妷#4绚G 4虇F`工束槽鉸 (橧1pb`'b 7"淀F1矒 D=4鞡q U奫iN窻蹻峛?&q7b&睽^笅鲌么O簪*;B罚絎<@傼=+與*趙魬x捑O?挠舡xF$塯E獂Z 蠅!鈟1R-⿵兝懊79騶N蠱砀&憨T鵕忮J +ゝ箳+WR|杀z臜偱艺w琡睜`乖缰甐8顛\陲鶈3oo&眦韪thjcj%脝栈.貌喤)鍵熡朷攋8-啱〇/纓$丰碏)喫畵肓辔脡宒諧 !9獓锤襒棣襜zH髖鈠饻R魫=籁)Z顋#9tR4曱w! ダT%WDm櫴凡岈< C+5K8 珙诀t宗觚#4;庛><湫╜^諃b騆赗f浲.'7嚀.密l邰就表韠箾Rb定緶輢莚v#rj 9髚.b !7腱毆 U墯e mFJ 跌讀J|僿?駊咭x錔+M6殜禜:h瀟"碖e2瓙i碕教犝覡Ha9.杻i程きr].s鐹9尞#hI7蒕%G>9唍梒镹9视鑡楗邅9佫晊艄淒呷La楖b$飞G@}J^#_捵剩r粅碠鍀 y近m燑ゲ旵蓼躵夫葲U嗢T俨K崙{筗M掻侪|r*攚y@蛽w狤.U!颲U(x.掲┉睪]#{誑探M薤涿|M塭4捰縴M僭C:A怎裬J>$l55T睿z欽U饕鷼訜55^恝7u鶚玽袩u}M]L{-]>⒓タ陭鑍*し侎煈r.n鍈}o莬n^[{rf絝_0 0+7?溚蛶ρ&rB葑鲯(鏘$瘒盃2 t-吕劃褟捂W鎊*&;毰'|U枏扢䥺渪に'i讴騣#煛%h錽,煣u騱碔線鸟齁綝濖H/! 跏W閍=!_錛zA緛勸&.掟y骽蘱Q+}犨=毹Q; ??寷 屈趘睈匣梟嘤.辍姌!M,*笍铫褶COf毸d婉WL4I澭o摍<0楽穎ae F`G閌Q沊0 y釨s輥^晨8/:LK横絫?訵p&&梶2浠4\綠潲T ?牴駽Z(?1-棢Q凕6/悡郡+鋀t嵞覲䴘鋈V 蝠?烏w臒趴哹y_U婲AU?<炵T蠗螼X西=巫G胊 J帼R4GYPY㈱匍l旸+晝V)Wj鉭8nn痠顊糛ST 康騰,煸趏o-楍査繯f铫廤 U莧聉 甹瘽罚H釒n :醿禞A領%忩悺([e!<驍A3訞ZQ 漝抇 盛J棯atN辉篩崵[説凫n5>Ao髂貊蓂i1Cb鲮$煫殢^团炥|岿暕㳠q栍)箃ㄊ1&┥4]迕芐―潙胺3銂4痉翘5&4)力嫽柄6濜?卦c7hV;*罡t6?j╥貃!0v;题懊豠.霵D>ZB+T)黶5ú勼4葡筚M譏'挣u]廄.啴+犽J楮,韬 寒啴k犽e'挣玺吂7N煖^Й4$算豄? 麝}y鸋y硓(kYο蚸氬玩縠A沆‖獤Ck缬U媻趉漠鼣疺S搻效?dM疫+sa魞Y袟Z闣 PK !/p鐦1org/apache/tools/bzip2/CBZip2OutputStream$1.class;鮫>f]nv6vNFT诽淭FqgЖ#覓傄掄挗阅\浆牟Dv.F睃偰鋵T龗渂*燽}L=*唽 <瀥y〦9壟农艑  擊s笠觚摬R揔46扐h 0"Y84P啈$PK !/詛歩j9org/apache/tools/bzip2/CBZip2OutputStream$StackElem.class漅薔翤=*垈镊{4X愿0MH,0. eb嫢%e0阓2q鳴;吀褏8M罟弒n鍸守0琭`b章簠 傖猻夂:B暝 w 嵭䦛<]彌!軷鹿筐e彁亴j $弾atg嬀p\i0v诘骩嗘P鯂")z;遊6 T馲!'抜O乺ヲB#G^z卩襉羱W<,胰X"!瘲鼐铎f+E貨嗍勔熧劓呃8I5譬 ?4W6#i铑+寳x滃樢M幽 缳硺嬜1,->釅1语馀醄溎鼬世rW恎,p柪r|#/PK !/專掃+KJ/org/apache/tools/bzip2/CBZip2OutputStream.class鍆 xTU襤誝nw:潳耻勑@Y剮6伆J  燿矙Q# @愀\pW鱩蹺u\G鶸澗滵摞亏}铩]r隩诈SU畿沢搠 H姺青t溼唙文ccg1萩0浟亅s=P夡\X鄟X溓} 3樝83(憖%挔鈤掄r@聙5{竎儏 18伭<胋艼攓禍A僇U鼙劻R鏍氎j,筻r琫瑤Y\艭k`瑧罥苒腦3?跙呤X+翻噢 N骊)尛bp*冋芏喠Z&z 坠`?譕w罯\!莕~:蘡蠑雬񷨊嫳 蝔p僺广<3咐z`.^C郻0笖噉`p儘0袀#~?l孚Ds2茾^蝝W0笒#cW筽 痸5.蹷3腚珰rk藲洬b [*朞狢pN-=﹑=;!.贰竟ガ緀~Ymk嵦蜎: 7絗辘ⅸ媑骀怈旙鰈阗 gO仕[\4j nK《)S丸焰A鹜+/(Z\X4)w肘聶 稽 A-腨CS鸵-M4symC膨職UU#_帎`e鯐 u5蚒暷w)-U往║<箄冧宅 AT]nSB i榘财矈戟a- 低檬W4f-嫚k陭沬碭H衄鷻憵Ч辘鈠*+梈Z隡[!犯洬j*Z堁(:粎&讍MpRkYe)暉&%玌,昻帞ba!-i)+Б~v4疆e纱&&頨傩磡ZY劶+S陏a瞳┇!⑥%5M-揨ZX?欑m瞟熦娭Ζ栜2釉Z焀U看が╩0C軉[弉+4丹糙趩昬宓U摚死 [毆嗜俁髺暛(V0宼哓i'm獨 6軽V_C簵儑抬栖咼z>!忚蟟+痡*b褼碑ly侦睩z")v~YS w9ズ嗿2p'/犫皢鬛]>汬蠹 ^樆p嫣櫶懍0鷰)玬.嬋h諘潨莭Vz楨QU諬KV?侫6M皩~雌.b%~)6C瑫U5K薠4~*毈?WS_2!}痫k悪s自G蹯檢rEUcK 鞵勣饘(鼎厩R闀M5-力S敮 査贇附爼t/┅/.紪0&A鍜谥f2骙c鶬A\欖vU}氎P棕T哲L覟.烡枰堦<蝄橂╘U#癹XWSo4嶔+Zb衫猌⒉#m蜴i4ysuU錻5-昭.QA惃賋櫃撺*Y迀 3825掫烌婀-艖蛝茪哤 [}3 椅t辗諱甶!鈿IH跓7R].d_即K+mhー%skyo倴*毰S_韪i憶儒獰拊惺&o誒f锱&6番VMUu tK2娯)屯瀌I檘n 05脡釘貼9)s渞雪 吶茊f龌祴i縛.婹譎O箤?)葋衈痥XQU0亅 蔅R 毢期孑飕敞m P虳買覤殽s笉v乛鸭异轒<焍莆邯r$撋屯*.JIL{$s貾鳃┊酈V S台-Χ磪k参稊f灤檆Bh峥颒t潘盕s璴(浏hoyE3/3)/y助汑M暭甏0嵈覿$t膍 " ⒌n?诬+xT9蚦鬐X5W,a觭梕6V枡m|m甫▄wv犝4Жaz汬裓^无 U+獨歬貕茵% Mue-f{簴粗諲o)v6;Q矛誨$5譀]M葳謯栔&对磨U擳Pg-5 V掫rj㩳窗〉jZ ;翊*7媤 釼lw6/n^h冨^8昔耏稗 g3h噈^xa皪耕鉞睽|靦/溍O澦`\鄥+欐U 6胘/l宥蟾鱸.dp 7郃/\沏V缐<韘 瀏$儞箇 鱚弡n{豆/<艜?3鲁尛狁W0鴢莀肙vP迗蚵誠=毲}慕2w锫{^屷斗溒袭e<帎;疚 梤Epn倹金"间匰竚浤t>錓青X/l鋷M .囌#冺@ 7y駀f2餪S1蛬I尌3笉魥G疖!驸z^!鰧潼/! 咮4楀nDT沟e鮇U7ErJW籟 Oin徜Y6p顿x6Q 镴>v^#譲i贜 彁l℃&媲D逗I緕L歘緦叀h8n 塢Z2嶃珐Q朎乤唚16猥k/搹晻霦(;k喢*)Н!e皽餤J擯疆G}针{ㄞ兀~諞z詻┺遥轏=+ .#郯)W9%mS畄阫濖4Г蚾h0e沬霬Ly禨炪旂:鍄NI:%m)S^庠/u鑝p陾9鯈N股)/7| 搌)痳祠_泶_銛[湌鼑)窔y#&笯倚v s'`捸r9|磬硶:馨槹牖箞螔3!(;A蓂0,x7h全?!龜C1.?銊朠it?=N蟬8d 歀腃& K,%S﹩懺6災竵Ff笐J勦Of泭穰7P{2o⑧".R乃惢琴nU歩怀6僈u婹燐潼67陬@{悂悞!濐2?=嶢剪蘔Lp-蜊4mm惑mJ 4!+潆1UY /析eデ9峐磲祡蝿;;mM阄{垒7UV"若砲 %葠OUt鈶葷蛸>[1 黤&*蛫涕耸V墠臑M愨痍#N}庰啽膢脕&m I齖禯極媊+鶼Y塧XK埶 劃6Bv@BWcx悔K遵漏顓S〓沐车趡柏Vd]韅掩蒔姳!O难敒瑦- vM Y_场貛 Pl 灣c7砇F"嚦潚] (;F讝哹概庨iu潉h?菇xr{6:?构*菗{汬-椳4ri橙┩%6煖"re邃篇葏諕揾$椀掱*rX雿缓垳脶6rK蝗%!敷(箿g奢粿給悡y沑虈鋅鰬滝惴恼哙袅崢 7a镰8nh牵w g幂8va 炱EpV澜蠲Z沘畝I緡qL靨$鋳L酌N4<*喞潉Y8呉交sA/駣n鈚躆X 窕: 髳痛J!\b歃偌/迏{[O+= 睿'h匠鄜聕銱郢Dy廼{凕1&ba鏕{i蜏^1艵zI鏕;魫蜢IF澵f鷅vCLw0莯 泅瘀n芹3Y旅+*1t壭艒%*<聋!禿7x;!.H羏応m軮焉A\聊i屇G{<澿 沂&rtKb襞锺擧昣%梍b鐥竱т椄6磕g%T/R酦t1壨ETx扲&絀銙因;;!滱o~乣鎛;C3>牰乂銉丯鐺觯遖;糩{醮蟻鰭耇Z橿 齪 坿`$鰠q8襹,砉|,A趝i縈5Яs8^ o,x圅鎳8>羭8@{舣8犀P繄苹V+g{訶u系Ⅲ哻/觭黡)瓌烝鉿J舥0壦繴 C' I話w@ 芸{a: 娗恀(E暑G坏3,菾=抪!&3O,<瞦1叆p y淺瑒Xs姳泸挅vIZ O樚虐I熿"拪jcDR 犨續笌S%Sq婺蚺qu.纳僳䲣嫑蘚泑 雌0殈 ,挬M臥) 伫_<撉+倵9&*UY鈦YJ 𜀅汵穣\NY0`=腷刎H鎞 灩 (,脮P嚙繨\g悌p)v鄆讨Qp:潅& a|噂x6"瀮眡.<堢(徚 1/kl芀,蹳#7Q镥詒n墨狠 綀楗棏し坂8[k,考醠>笅6裯-d<[^K:p鉜C彃|殈蟭<揓5傇榺k蓕vm菆N兗 嗓G顐填┏( n'拙儲犩潓7憮t怙G䜩t偡胮迹k#a沙]琈p椰C#=T嗷H嗷ie;{P觜啰鄫囮b0锼让挓蒪0,璜 脙踞4I逺F﹗D鱐搅ⅸ嶗搹y"#唰l>辌诿~g阽籒Uk溔葄庅佻"馓酛u澗 &峝F獇)暆0皼>>Cz~鉴?搸_民译=耲Tt鴬負嗨'G {tFx砷凲寧P'3趱]綆溺處:+!魨0Z歞`墎 ,靚v肣T尵 R僇韱0薮:萺曚0癷怘偨A锁&d郲辙!啐溧0 +槅_C~=m K'h*<k1躢-N麧跌sV;6籁譀 渏鄅2L凨橣癓籥l7蟽h_亪Kx+b!Ix)g媰>"  I0B$鬣)鹷xz懖眻}糓鯝a 2BtJ2з^G陬圳 ^:炮6毘伃勖鹠蟎m跂璿刜赕.H D:H褯騀?錵.兏嘠=SF荃啽⒖醦Qd町8帰干` {叢Za癢M素&僥6摿Z攇酒,鯊喿M雲a 枮~2膱%Tcjv0庝6幜xH% GP;)"孛祈.fmx$&傦@%举IB&u惐 銄絍峜膺:罋}銫l曘楝舠:午甦^蚥[廷雁秳黝$卤怢+%輶!Y寑T "圦0屛!GSD1篏v1蒩7栜遨fK娇;嘾锫{]跿牏:"L`21*]齕B勐彋_?nW灱.鷦焼嶜瓙俅| 茠愩H $1$銬饗0H鋻馤! S48^L噐1a筴m*孻犃7㏕, 7 愋媬+|袝Hv&|n?9岰t膕壖?8L|xH|g钚]I圬9U=`熌5忒j顬5=訤箝5bE=8 uq倧醚井閄+鼛狊伤酌朶]d]饓遏it;腘`逍Ad泍2溴;]姄dO~9瀊QfFv罈P&0`堑嚳o摌岢诿熜蠭[%c夝6堁|Gt敥嬨﹏qSWwP菖4S)ズ涬. C绍J戩甓)vrm榷-Ur蒔*%武桁T愠]YァT;斩穪譾賟=紡k韉;:鑟' 肗磽+uZ I]廣哛踈a杕p蓝诹禺韾怚OTfd1羬堼f[r榺ki"芌+C妮栶墡&1>k廹L 翗1 舦>ValzJ喬g曎夗旱殲Lj瀂!熜悧7:6_琋jW跂/粩ua"嵄\鍢y 9縦;袵襻ZY驐剒梽襅B絁Bi3+:8z4譜;5Sf蹃溡栓/-S9x気+S;x/;=觬餿粀λ羬埝L穬谑v邩nK;u~:找jA薔'璨{t埝#宒FIe!RH圗H揿T"%蜅]腳M驁P 頔僄2FB瀸PL魜蟞Oi葷瀊,"O衬踍線k骲d娲鬱;&蹤 隁宄:w<0Eb賟緮{`j7S県呛pL2嶪16)唇I佣AM淰懊磹]1⿸g嶰O馼&$Z邭咾J鉡鑄[鐒襂6峷z永呡N秤穯鳔;漮垚嶳舳噖wρ霷_縋脊墡d ;a腇蠵傆凯)>B宭;翖脦W";>=5#汫欺 v躰账U>5&蚅敐瀎+YD鈚@SZ[鵿斩.y膒*b榇献L秦42+攄(d(韻d峕筨奏徧榜伟l3绽C兔9哳"骽d螤e'蠟`{4磸04嫜埦s诿_鮜喌9)黿覎ぅ 喉(1LFk~" i=穱6蜄iG浄嚳領淰幞▎o岅莣〒?v4V嫠墯~Nz!-Y]骋^x9趞臼鲑揠舔wE#箑2; (!;釪)丌 z媟+*()( F媕8F詯5諦灗Q婦%峆+N&獷3!Za8.k醨ql隸8ng罒臋p媓儃J 桂8~孪"t墜1Y\釨$6q9W`H扁j&< D;/夺 b;朣筡軃崲[艒笟食▇懜/封Fq^!n峭釴.盥D'.v=b7>,'腃 暞圙駇8~)灷锱^麰<)茆)"3釮瘳-Sb巟A?釫Q*^K乃"Z舓b祒]%鐗7艜T禨弁釩q圾H)>慌>癜鳧鍙樯-9鮺!兢邐舧%緯夆&n椊畔帛鳨2$阱1擼L(!gH%螗%摔[V蕏筁鷇'Sy哃栫y┐錐*瘱i騔貹端ty届-o憕y递'3涿矎|喥*楋藖r$?揋/鋊"懘撲*AUir:LW冨)G2G逍V*9r,_棭r*y孼!'劘K銽u箿Ξ懹9C*廢wQ9G=&笳硆畓I蜸豕,R逷裏r嶸響'闐筙R軼栭伈\gR9FV陦詖謘2],楇E睼W:]#雞璴蠱睶綨63e>W惰 緽[h\=w%鑬)}茺珉}-P椼鴰$8v瞒%%ta)畢矷芃#a8M?A2姗:k侜 僊躔3麭>噑郷劌醻8 髁E鎤.!\婞謦7 筱/0aq *椓2擠3曯湅 5ど隺Z匁扺鬀 乱妍谓?A*;gB歗承M<态鶍;邕葾_/r3v锰鄋8杶澈峪$>,藣鄳汬櫁C捈⑶臔騩/樔乊泘sv|檴>粨j化9xG鱎綥G\愖並n襈斯蓺R 篇a惣 喨)EF僳`&蓾0E冲0OvB戃U鬹=癛耶⒍K,-騛.鋍p粅顠O.灁O )xK> 颬埙9鳨>a"j哄+(_E[締戒8D緛缅8V緟ōX緝'蕎盠緩万l7醞瓜樷拡慐O柛綉%aq憌槃艣凔h=03邠嵡b傫=.lE煿J腻榟nf0懔b却摙*s]0埭L儁-黋!eJ伂|S* 憥Om2湵%!鱘r?HX缧[~囁/a狘+ 朹A& 撨舾辵~幧矽y8い拮寯嶥跦);5囩-4唅赭9弃C*0蜼T 凾苮[M~uC.Zn#鶃繐顸凕?翓?撫’ 胊 {摆繈政貗毝絼 儅堻b ~鴮0f5=猑=六X婊D0w  砷 讹~榌偦a^!%{稄胈蠥柡b除漃`怈'$兲晭@鈠;柷毚-6l:飭倫琢 CqV姺鉲o/nQsq珰囒U逘婐fU尫┿p唚糭-"|D潃熄馦?TジO曖~晬煫J黇U嵯j壭j〩T"E請4U+F:1Q諎E狝,W'墪狪湬Z膮猆\坴礡霵;*盙*濺砵瓁M&轜肽u壶Ro諜苉=C y湪遖飯%田| 寖= 軜a7睆 #麉麣0驎愗蟿憦D芶勡餩宻媊), Oa撀栍q衚R豘q Zq癇渏俈<%p熲 骯Kb\|"( 奰銴張揪扯G>$/^#卐>?汊鱴嘒逪鸎5繐N鱃^O7扖(鏃{ 蔑E啉貊藎鐊緮岑冽V;嚌鋩膭 }蕊鱳=#-2鍌N樣I暉@)Eq嘰*C~*6}峥E)滈搸虦rs鏎9MO.嗁n燐d;υ\氋1!w黥o﹒戂輤Q)TeViLH9TG獨〧)巊j黊hWWfjY"秶燀z,B瞭=疲#"kGM慤菿殰愖嬲#乵疷5]G3B炳']r僘 p睪~鞸ツIV甐e舦髻宝y{鳹弁"5紟8披y |C軖A&酢l'+ヾmR蓇 Z]6罸)兹鹶 诒禬飭叾嘯荣挿韸N(遹璒/"译蘀碼纥tW*b贫罽<債铻.#"諌0_U邱#9疛Z=#3 C眮椰P|:B l遼Y極?e$G昙B┵\剓勖O硞櫾 Gχ+ 3尠蒽铒"崫嵓,2磘楉官俭颛[t婔lV莯 獡誴o(Z婿餸蘀j7 嚚霡t%N閹2w蜃桕lp﹕(蕼 囤秸&Qy尯"虝0嬍u5,S[燛m僑詖XG妁陑窪)頟倹訫p缓瞀駻u<噂▅E Qw阯鳿u孪j務]鑁鱞偤鸔9D=#詢R酓0蜹忇l( j疻{)梱/ROQTy珐棸兪濌u$o6>(.鲸廾渍M>揽◤馭縋熰麝S黁}(F(醍槫诱"O(姗皹O╅E-殴Z塊WiK\痌b穠媨t瑇溒緺幽+:]辑{嬒確鉅#Q鲿娛x}窵铸e=@錚=H骅#j煭3e>R.9睱彃蚑e厇屲蕀z渱\彈想eGz捾'丝隝 辗*VO霂V*He桄k )5!驷}8槪8o!&Z奦耱_t簚b-#酟奦懨q9魘.,s韫I栄/\^嚀p8G+.3&8f櫢+螀&ny舋袀#L巯P嗁 湀#团L奞9鎎f裘Q鎐N3塚n祔=/'G&躗 ﹚聣Y企峴" 仏贒 媟j奮󀜱慥~j:/TQwh根怬;舯 ,P:b鬺餛賉蠀緕糇詤0TA.啇>幹%惎聣ēq+鮞砕翀L蝚YpR追-瓁斏-4鉮揫﨏.mD搠3Ff睔"&G腺 F髼M莅港m姼M4ag#奊髓h 3猷簷< 潩ft@|*豦[}lw鈚$%惁桞@譆?瞮-i&陑槳郮st38^稡橿K鬔āz>V胝p歗坫:GC扭1GC\m╮s^惫+襰訧0詑"噺炔9z3歳 頒&懰 馣欈,~馼粁 !oQ宭3e甯6 SV'O&Qf ov5姿畕<帲}rx魖H裧僟凊y惄蠂,}!屩羋}1淘椑|J鬳癏oq94+萻\ mz3湱瘑篝亘瘏kI炿鮒窼o僋钛酌zxNw+鶩鳣霙酳}+|贳腄}﹁N綦{p牼囬0わ荺我b鑷q﹡楅前N?+鮚<]?夌瑙p搤疯g駔蔻熐{鯚q弤/阌|E繆o胱p縹恐o膺鮗xP-b;"^+觖炉?鯂釮龖8Z擊'bT陶 鷢(諢 X*汈W#骤oE淊N湱玳臚齱q囻o衭b蹖銣踗?廷U挠虩H饒KpügJ10嵆0'?^(拈x9 ⺧X缏l惑O◇U愀 y鴵牊1!镧L*銙#}/饙z锝`=鰵<.$葼鯳飰閯蹸蘲佦rC}, 碽a3瓇P`置A:潞醁珞$aX&聒.鬎髼y潢藘骘跙&A錚陭~歪τ勪OV,願 6;IМ駪qW廌5?i忍柔+姾|媘獧.禼l:|)mU湵b,靲髆隯╩陈 皀假\0褿椼|5*蔚]r~泲烦O4访(捼U碷Et6OHギ Y犴异kK9馿厌匃虠) e枛天罶泪)棫m憗痘'}诋N樤潌 楬V0,際餢C!i謕矄ap5俈Y(榷Bp晸10%1靶ブ$ò&+朰S犃 -詖5諽3⊥:纬蜞bk6l版&+疃媪 醝灣婷q饐u<|h-匌":荆?Xヰ揢幰狜霜$k fX誼窾璭8豘3:渒誧≌'X峏j5a嫡屗l礦猢稚钢Z呺i諾继: /分a籾vXg龈丝1(a;靵醮)x橧,<撪J(砰骓梻e8藜0W醖s 5榢秚n)&-亄;4舅熓呵iPm^r 毠卢齖*k荔PK !/|z  org/apache/tools/bzip2/CRC.classu誽XU漆祒AQEE!媯 u*姩1*(8E%$枿牔錊"N8UZj暀YQi歟iE陏_4O鏫琰蠡鞣X甙祖褐戨祸0偺顜儋汛68H|5]a}纆;娒册墉 O↓羒有眃ti ;许馥.=~1G損噑e*7東屃逭幐瞬g喒澨艃M囖K蝨平弊帚彋MH8V雿弗o"6S紹逧鰤狼慠椴S苹篴断恦(:5q r蜛蓫x莎 枱8席ZP輱矠ca箝2痬塃Ij蠓0晃E齽黼C5借 =咍 +5炵P濋4荁¢rnO湲嵒幭η ;∞灭諹糭幺 G 耞/冩趼晼Uh俦; 7f_E\咿8夛椺洽 ,蓾墌裏n銋平帪哦檩 }嶐8鄾柉灃y赤砑n4铞刌z61W^伣}S7连眇h\}-,蔃帘_`趻'?蒼哇0供 摢Ⅵa{岝)%N起蕕):>铟rr翋灮癷怼-酩/嘱荐V5亇玧c;辨/喳曱罇婹Z岒绦楌d半絰姊技~鈋琀r?N^瓮 罊:燂餗1?匉锨叓a竆;- W>?CF幜跛孟釶氓G餱褏锺A难8z鉿 >貿$>淽9砉-浙戓|"#秉<輭9!x靝儆楺Z33cj厦b嚇儺_!$.尮w`r8GN>a+氧o舂2.∽$焗剒 !'F䥺{* lJ楞?鞄}嶬/<6q梟勒O磌3^K*_Ol~巏冞.旗娘5Y夬+3鱏 酏顽掠p~絯~J穟搂=w足沔u&綳;>O]憙俘佴觝\u蟧艦廰鐛E嘠譖飱冖嵂怩A-ˉ痔>=暋墖Pu礹:%紗妭.x6某#灮霻'j凃耵魚oab棰碃/F踥紛憞雵`Dyx纫 O"瞦r-.陫#+恎DYPx 醱8]Cf寸CH差i兒铆2x審泟^瓜犛壃~蔼 稉|嬦鋍泙锭臐K=被岫 j汍,/mZ吒艫85z2掀侓镑馸燨{納唯岂殤k馫鎝馑鄆Gq騜幔鴝昭.駒!矽]z蟐鑰Kk鼬嘧躁 g \k畖體\s纻賕鯾逘CS餞松&,k(+*挶$7栟╭诞洷q簨-謪~壵桟友P79 ; 鎫巑佂W囋贆蒽L?觩L蒏2:)934啔喢斕滀ぬ燃0el;8#;#?4蝎w渋XG妞虱m噀d(菾N嘶5櫭rR2銙2t|擘u~z 予4,'oJpRnRJzZp~NN鎸噤9!翍睉a︶;d$ef蘃 ︶4%-?*#[#賅庒,注o濴/:哮彙uz8垤礄w(萂M士箽uFvd%-+4搡B帲r 騌尧2簸鰎o擤I匢桅i鋖篿霱g又3崕 槅 蜭蕿lI灇枓o肱0 +肁缢'C S7:(虗,:l7虁z胘砃2]浣e kT7侍62r緔迟謙m]翼鯞e+龥m6^臦F筧c, 斗W犻~k咡稸 3`U奸董c狠黹韓O觉MltO莇涆=L蟍#do觷徲/撚W懂鄖螽縒怬礤∈猣囒k逅'绡q0腔8加r昧M Z/谙赽Xw闧{y鷥瓟=賅韺誇cM刖7W冀檎函amv擮V喗辇鱫a籖N爣+=K5m,6吹嫩椅oG{K=,癞秚斱袸jOg]l#ub[3].t摱!.ue;=いг濏ロ谹闍/';J塾[趤潳^魬vdg7籋;裌昝戊&鞡?/籏徊嚧~)砦^-鮣'ソ谿跊A鰰2X趪A/硭i0H鹮牬?飷0T:wJ.糩蔄;&綃儱w3\:0#!襭+嵿}襸)蔓閩寬F2Zz?>馈(>$峟岕A錺镃!崱E:#ッtc帓庝h槊#峞渢荍Gs渢 悭q/8N惼s<'I鴪t$澞d#L&2U毮4i2'KS8E毷ti39U:呌ら虜f0K:曎襥虘f2W毰橐l鍵s8C毸|閠H骕(澚櫼|螔p洞恠39W:嫃Jg矵:噺I珧q椋'-仪X,}淥Z廨寉|Jy侽+,Q炰3蔛|Vy汅*习Ly栂)蠊@)e筊茀蕇\,囿J9+ 笵Y旂矘.U^郖蕥|Y┼2e)+晽竆y+攅\㏕睯Y蝚eW)+筞┾(VY蛈惊悸讛礬錟nT^&e=k |]偃7擬琔j竃y漑7窾〆澆欅-琖秗籖6頣旯K傥菔6(;笹倥绞n頢竉倜蔨京煦[蕕经郃錗R掴;售|W9让!Q掎Q錧晶f勶+G鶃洈F~蠌夷c蕠麯鶊菚忶﹔'擮鴻r湡+燆偋斚xZ鶞_('r奼斢麶鶄g/r嗊(_馵,洉濖 縒惧J3)唏简=T~/*琦擈#/)r懣(?癫r壙*?7^Q.螵+W~\e嬺;R5錙^WZxC4詋瞀w7&,[ k}脵xG扫S隱乡_PK !/A嗑纰 META-INF/LICENSE.txt礥藃6硷WL-#筶槀lT绚B恦|[Z,VHBRV轱戲$*[ 牕籫8>衞釃馸~矔!.v賝 g(L@灼u昺橛溆羏`邗蜺鳙瀻胥荢|}y曏蘮诓鐰jB炕#g:L9罶SV]铼 餇-i猌觎-sW祬垩液 h[+参贛O-玡(N廞bk銡MIkg儈U豇2@猭画趝Z囟瑇S75:R4y飘#护懽聳X鹃zh3} \苜恝嘱HU0感巎@2吟≯/腯訣w瓣驥>堹7{:蜙o抛齵>4H-韇訕恩鸢 櫛榳絨UQw 皓鬀繐q鴈 蚀)j=崁皨z=q#爅 焕0635T,⺪矶6=鳭t敱{琥q[琴迼鮻WS5X休蝺䦃嶹}傀zv遁n'卂7鳖dr4鄩0o煃g脏镏kS9Q誻惞|Lma>h:6 6猺彘簆t嘼pMQ谆悎燊塰壎?蚶京鯃稣圍;= +d:t5w-,nl忨鄒O]趵.15榩869朩 x[菎蓊[茧黁3崤麁值):匝b,媫.䎬L葾殢xqZX+媇繡9 豔^0邚Y襒9o07j_A軡1痔瞑"籘歵2薾D* 銀歕溡穙B闩$)䁖I5Oブ楰RRW驢a坿﹫3%?*TF鵗濈臝F懞RVfIp驎潝惕J︶%殴奣v薃oΣ1塮)h.襆厃$R炍-墘覶0闖N'L$痚湋QD欛腬勦pP <瀶L%1yY櫐0壋T亊"鸸qIO1U 矨镳朗D楣 鄼刓戅d-瘫 -{秛HL槯驃5盿:?讬黍L褽扡5鉱橿玃阓(J磃<,痰 *憷T,撩y轣g2M9qBt欆=9鐩+ 壗愊^&-c3>_恴s)1憐厒m! /渺蒍D喎 (懞恞(=褎裯敄'H币葹翇@tx\Q, 5#1絍緋P7Z 呮 /嘾<6茡&鍿∶/[opF.宄怦巑 ?p7竆谢e吇l僰嶑袦wfU运貪┢r洫{&忐\鳈xs(雽_縓~g▲;{PK ;!/ 鞟META-INF/PK a!/.胚KK 秮'META-INF/MANIFEST.MFSDUTuT?PK !/鞟org/PK !/ 鞟6org/apache/PK !/鞟_org/apache/tools/PK !/鞟org/apache/tools/bzip2/PK !/仸 +org/apache/tools/bzip2/BZip2Constants.classPK !/鷝CH+. org/apache/tools/bzip2/CBZip2InputStream.classPK !/p鐦1$org/apache/tools/bzip2/CBZip2OutputStream$1.classPK !/詛歩j9%org/apache/tools/bzip2/CBZip2OutputStream$StackElem.classPK !/專掃+KJ/'org/apache/tools/bzip2/CBZip2OutputStream.classPK !/|z  Sorg/apache/tools/bzip2/CRC.classPK !/A嗑纰 ^META-INF/LICENSE.txtPK 赽javapng-2.0/libdev/xml-writer.jar0000644000175000017500000001216210777312016016774 0ustar paulliupaulliuPKU2)META-INF/MANIFEST.MF驧趟LK-. K-*翁铣R03PKz遉 PKU2)!com/megginson/sax/XMLWriter.class璚y|T挣搠,檡Y榙亜%缾XE毎扨! "X 撋#塏f哬 嘏瓥J璙\.吹媄櫒XDmヶ绡Z楊v_]赯籛z蝱/摍a簇O橌顅诀{杮蠞鲂1/翥 魼亮2剄婥,铘惛|孾wx琔焧岚錠鏢,>外3监nn}謨厢.| 鬣^徸懪.)Cc Y茼艭=蔥>汰/q巤溃记c<8/厨 'x 7臼'y兆x耕u汶n|儧缙获M?菱I遙4媑<槉g辊~螊o;荦.肪秦哏%?嘀Y<陷兵 ?襦\t悃嫙厨,巣+鼩舘X鼥 ,^t%7^v鉾n?格墨寂熫q岑.麺烙筬輪蚚Wn匦+0;l壎ぢ-+娱鋚&mぺ級け}xtC?j/ 穌颐褨s漏4营薯馾0"Q{e鵃@L*粐cFOfみH谲獩 痱㎝鸮唉{'踝,$檰#i ⺪廸RC傃垜H莄)2槮众:亂6穐86匾K亯 稘:禄 NhJh5:D5子藨朢#栩T:淟w#!i眮墳f蝪Z8yd0妨[ L犎P8嶱d如 刍簒竮x0Or6 Q靥"w$採垜J憆W,昇f",五慏zw帍w 鐉铲ロ序釬柛忏?=飈) 嶿湸敯M砑Iベ澿"0崲6譿"4]慌庢Y]:’L\OoX=蘂競N爑餵 h,uqL愵ID5D0燼k埑貐4kg4 9鱤錏u壦Q儊Y  曷5靎朣钳 朦搷Fx2茀h'^cF'56&∫昚棎歱w=.MKW髾;2屙财E 6韦G関^指跦5甔铖h貒+4\稍鲠F W1q^]ks7諍|圁 7E匥n購n峦頼,迖敟-迯=(惚[p珕 {q 袭 眀箚=詊』占~譱#%*4Q)4|7hb掟i梚5Q+&kx/w:MLj嫿*硙;W 箄kO&闑嬮殬!f+,梙阅l1GsE郰蘡$DpY#欯x$A嘒3g`G& %0%懘tQNy/朾Uзj墢磳儍帽T<6^R楿*i濺熸9嬮譂 贊J#T鉢]祹\`瓫▊鶋h瀕宅KK驈脍䦆岺喉詰鍿`+_@慑&芕陪Q#L'7豂Y賫)L蒅违ど輿爅'(Q$鈮\菦幏S=X橪唚蟓讄a;}.1vж蛓彎籨%枩 伶*AMSI*嚶5瘠a疜櫹- 洧嶋鵠d烊匇梤~[裊No驆@毊嶝1簐;壅芘O峀蕼в袲虐TYp *∮zVX嚜崼E 架;锏w.鬞n_鍴-]rOL>$s4)蚿.9乯弰 b嶓璮^襲Q )僳柣f裇>訰鴸7績鰓叁Ra1縯銢_*7n 窻慙R<鶶Ef鑓鶴(浨佋I8X8u1捉碊 Er*溤$G'Q)烣峾uB羣篱<`鍗亙%+媭x 湵伝m鄼>}视 *B騎1t釟;髳*伡y!烝w鍦馧涹z02B谗4j朣斥*'歎虸舺瓈C Ub%U坴,碽4雅G詶曲~hY&皘愒'詭aT& }媺靵_%鏬K3魷傲尜!懯`()}臷 誡[i3蚑盛8撚r瞖獬$榱bk4垴)'崻鄛榁jG爥荕祋v!洕3祕n脛V蠅g下+灒+s~=嬮簅%f;鍱r蘇d咚克鶝O餟9驪疻y菩H0 t蝍攚E`3ヲ糋% 歞茒駅徉+N協)畟=桴d飍5蹊7逴删颂&絡)o 蜅ch蛛H:9Q /-纷痿 #繩$f丗"0摃9槨膛\%<,R歲枹  悾滿.E匀Yh觹 貜鉢琞-.e秙hn -鲄1d蕡R蔶(oG絩晄熏渿匤7Z5T1iSYhS┮凊 駑 g%叢 n%孞タg锟脃K1N唒v萎z融8胿.襺g嶻髭L絡&{"腗遈, w骞h 媼矖駻x昸)NB璻9鍅蘍> ]貵N贡赖鼓挂N淯o&]|g踑4优嶻q中=8$)%锟鮁蟒KhV_FP柀癄C}=隉勋浽!{宰皸R鱶)p籘p\:鸶tYH~*絰AjxEV猡觘礹懙N漴 Evnp箎樽蜚峖2(@k) 疬o)`&俉牯 $渚\Z爳j.#7醘&>\@櫦^恵FW搬A*犮*韏臗餲u伽@怆鉨Q':yLrガj$咓〓螕L 潕.鋃镐:h騶L戨1]鯾壾堝r篸忠\熫\栗躩s'Y至87龓3铴.轪鶃d尢霸|绫绋. 瀲学6泹莘舕t~zA.4{g[)I筷矎鹘矛囋纪\5秦Z囸;遁yrd锣T疜(。8S菩*鉞&w燷&盳ρ-3d.l悾窰^妶|7端"./CF^幩窮^鉽恭)峰^'骗N骇.驶怤dG宵p鷸籼蠇﹗VM臃殾阻緈l濙2)竹袆櫕镼 y3茯实[)譶8頖<跪v錋,%箫 语8邊12*? 凈b騍骓奂>銟踵|?_怪漈梬9虗磶?獖産I鲣猫揰 y(.-?舘PK⑽5 PKU2)"com/megginson/sax/DataWriter.class漊[W[U6滚p碢!bRJ4P赽[蒠 +9葛A燑 >w`_|⒅鹫蓑3.魽p..!3烗吞7硍菌篌/酈頷h琉11"獠芑11汊uE膭埜堊d鉼q烎cJ, 崠iY蛨槙将睯婋湰媾e迖k0烀鬱,柛摌灈'(訬o5#漗Z5S掷S熦dl*枠S8f帊虓(x 朼 毉摉懞玴|d邮珽m1碙6mfen(8Oν kE;樕f!W殏{4&^鮠&k&6讞厅湵碏Ksh2梍巒E 芕酊凿U親淁9u"2搵.3朿 討r蝸e訆锼戦0薂釥妺'or兲办[3组0贕_沂g菜刹?嬈,貀i杯櫴洳n疔苔Kg@滞 腠敄Z1騀妕|∨迅]?澺瓱肆詺+-欅抬恬宼贪宂&{%拵閔E泿v囱嵝8梃厢y"微[DDD弾髍鼣繅EN嫤扌1(駫帇xY-苤/煣坯8f5嚽W%昜彯浰藱l!椀)轐X!6彘n泾$G畻毩Q刎,p~;C蟐櫘r法綥瘎a譌巸U*s堲ys殔O畾[煻u匬lkrjk襧隢[牑擼鼩饷(勖ECTl~ 鲘"<垧哴垧夝L'^ ;悧荜&*"-誱哶啊+;螺E; v b肽>Ib#mcG蔭kG廖暳薨眥靑b花蟿#ETx  x#羀 迊w檠嫧轏-|{聫帑╰躪擐|V(5z肁欺 ベ蛀疣Z螚Z9娲才N璍贓鑬( <lS頏G')G3铗>1 掊畑]d厕鞝j)#鲍嫡E8申irQ玖-鳑亻燆kT遭[|签秊簌[#.忻M>䎬洕 谲早va覴#笜虈宆膲$簝:&紞鴻箭:V=№7^嗊肾鳁jO8祑班揽\hT|Uu獞冃剉諀 &'J)瘹Q$JwK+{Y%( !d> y楿﹃刹6|瞈 ~釞r =@eさ骠鼂.讚p蹵恪>゛Fa鈼y=F欬:﹞8.▔}Ji鳩怼N=F绛T擵佉猘/T$琭牘Y騮 3猈PK7霐 PKU2)z遉 META-INF/MANIFEST.MFPKU2)⑽5 !Zcom/megginson/sax/XMLWriter.classPKU2)7霐 "com/megginson/sax/DataWriter.classPK{javapng-2.0/lib/0000755000175000017500000000000011755244626013473 5ustar paulliupaulliujavapng-2.0/lib/png1.jar0000644000175000017500000015303010646275004015030 0ustar paulliupaulliuPK 2 META-INF/PK 2鍌?{^jMETA-INF/MANIFEST.MF驧趟LK-. K-*翁铣R03噱r藽q,HL蜨U%汪寈箿婻KRSt*A闙 寀 4侹|3搵驄+婯Rs<髵4y箈PK ]沬2com/PK ]沬2 com/sixlegs/PK ]沬2com/sixlegs/image/PK ]沬2com/sixlegs/image/png/PK ]沬2'y -com/sixlegs/image/png/AbstractTextChunk.class峍閣U I3撻右垐吺6厛b翓(仈" -浡k鶫嘚f馓 m躊Aq荾q梥暄/=m彍民媬饛R餂!敻L匣骶豢{遾䌷 l繳滰"實钃`廚鄎 揱瘞V$u烀0 繟)xR! -9嚗lHK縂T暺莟4Kp\ O醝'qJ矙dT屖 咨觟Y閘L宬񳺒 y 蟞p5x剨倞*&^瀏Lf鏓OA4u啙e駛0^鎹 6b歱卥赮蚼%%嬞賦塊羷3鑉.鲶鈩銕*Pi撴搨$2鄢樴厇bM乪6赐碝眱|%蹏溶錖陹=S巃bV丩闿瀏蕲k;硽71V扒优<賗2V9t牠}菮10墷乬%x z$!l2濿駛%^R癫乄皙娮 \ 3N.顧蟴q3GG岀) ?畞7駯伔%x$投K;癝罵?i!m骣.+沪喈侘鹁稹偱3哞Q\&W臛>芅烮协獠佅駞%昩xXF饵纹藫颲P6吪U|e鄈\>臉鉘觖笚qM%徜嫯7$↖捿6s猜兾i1羂yC鶯/c1bu樄瑽僋镣怽M8飞生駝2驄ーumM;(k璘'0.o[S+Sw秥2-榠{孷吒亼3<#z趶),鬇喡I9躆0徿馴S礢:hg搑CqW (孭煆尋mS 媦Y諬珵,j院茧涔+L:@3碻滏 p7嬺)I"汪2 分p?]阞緎擭肉vV岡滛玗鶢O苜暍'x,潑Ii讪扻戌鶙厼ㄆ圮-xV4g #5啉(絝5!Y憈錧璻帝q,蝖镃圇衛︻掯[椐b#膇轵aPO44镣磌$榿r 騍餳 4蛬籮8╜ %*1}2栒洶堽P球Y覡|4+#裘$<1嫼 刡3P/c+!瓱B劎>s苼 #册W4Lc 躶Kt柸pe篦盧鼧 Zn疍n.DHMsX睵W桹n縌*犭7褆擻Ggqo婐隐缼蝃]力艾划%;[.斖]鐶1I+L珌.Z[<筕OI汬'#鶸劍悎-珱笼S鑾E3X>匨裀d鬻h"t碊C嵏⒈ 洽9<剦歆F0~>瞠赳鲴sXY:締^.k\孙麺澟?#D齣Zu玡q%溅奮[E⒆W裮Ut{軶E仟栉2}絴 / 锌NPK ]沬2gG^R+com/sixlegs/image/png/Adam7Interlacer.classm惲J聾&賛k誮=xZA阃K腟N勔嗯槮!肖郈yQ倛郈壋5"]槞甍繚儋席pc蟼伃tl+#豦杏<-廫1a0*s蝋=#鈘<j鶀vE\0饁囸$.'a旀I煱恩/0Xt驀".麐Rd7U崹Z螰 a脛`8屍橻8)4 撠濅墈13//汩(屸)昧r)峩行T譚}(*6燱觧據壂霶k j9氨ZE顖荍\%曍牷E 邽螠〒Ss}cY綳【 檩岼浚I贞9蜉 8澨~`RH妿⿹f#塗蜳$^怚C笔 漍礴C PK ]沬2UrYY$com/sixlegs/image/png/BitMover.class峌賤E絤II$娾樑&萅碮b 婰B$g@^皾訓F3q岱煎5p抯 O<|痢J挜'捬9S]輘隫醉氈_>.屻'?.岵儀浲;l轚馂)?<橉醹\襻*>疳壹朼o捊)>鬮趮<讀{麘 沋s?咸 ,鷫xI 唓撏2汷(概椊X羼3?F0∴秬潜殌m+鄊鴨-/蔎E.蓇C鑋%鄩壊Yv嘎憶顚暓W頑0喢玓vCn蒬貸jfu覻tl]VR訬N:e爽)鳿牽;椴3cm槎@:溚Y昫c枧Z瞈慐=Y5嬌y敞$8銱﹖  "&姲繾cG$$m記g箰:F}菩暓騅D,玌萏 叺萐:4蹚倚G縌 +n1>锼Y唀7疡g檑#T諕l唞V` 黷 w (藶:煴c78S咧虤#蜏~4Q硊-鞻 2訡_頾;]瓡k#嗚]vq濚Nv璹 麍p瓖t7=t瓈懼m嶔祾u袰掍呅G0=場=@飨h緤髗c"紉oQCk滙颎瓞O@善Ⅺ痤梅頇簢摫纜'楋a竷:o痿=x倎:蝨鹆=鴆乲審誵鯳 詑1g釳萻饇蝨&灮團翄u =起禅姀镢%*徢骉/Sヱ30猜?纇m伈]麅杲嵾饜tB[zr潲i糐gPK ]沬2;M~L'com/sixlegs/image/png/BitMover16G.class}P籎A=搣LW兔鯔鞉鳻m偁*" 奙1Y棔}勢5.E>Dl邑a+鳴茮j鍏;缣蘟9篑 (チ1汧睖40fy9滱輘|'辡愂 (h[W庪2蔒篝Zt呩嗛wn獬8磩穔!}躪Y澵 鼒c^C) 媂野 V[乬DN系烊p裪 c3囶謾w豳Ab籷<軰劬-籲輊06呵~+ 捀菵唵a#51啔塹L槝敏q贊D^臃[q觀 翼渎o/9粵k 遙棼q丑篪唔疓 At"傚^沕yQH 嚧Q叶wi]0鼓"龑幖 詳 %RUbF線=饣L旈Z~|=7挘p吽w笧F罳ju丒亞W-uK飂苋搆鵟s)s食O惛跔z#?襤dNe畍%1en蘼"○-4J+傥暵?鄣岫B-S蝙PK ]沬2W襗橞*com/sixlegs/image/png/BitMover16RGBA.class}P薐聾=<&謍胧E[袽7奰E$T*1屼Q赬察"7(葛(&^竤嫣溼;痮皢 &蟠Li槅燻咥捩!弚凧鯇A軏:.鱹喤J>紇幣#7馡躶漙硕6兌煷輓蹋隘牗C啟c9(1,罚狸竽w骄莝璶鑉 E贩Y?>h2,/c(⻊h䎬捒乻闬9撞肫ai侼6 堲i濞)1T{{膚濉,綆鑁灠-%S2臶\詾怺}啺^桽8sW3綬 虜 #1CM啨:L蠉R2lf倯念?锸欟礖塼 PK ]沬2懿! [&com/sixlegs/image/png/BitMover1G.class}PKK聾渕抧[va|杜c[袺/H酪"HOkCJK^腒/^QPx縏cfwff?綹!a8&H"'枛!藀Lqh 袽鄣-㏄f]Q..^>v~vF6浱继;Ff 0F琰擳 晼檽萌 黹摃X枿煓橶PZ\R敋榢黹╅扇厘Z憸ZP挋焀涛 让朗榔 拿 氯爯湡玙淵憮歗瑹櫅槥猒悧擸鉀_朲d廊 嘷 #0躰窾娶 擂餯0鷸榾,Fv KH3侱炊30ndN2惔 P6`6ceeY臓崄蓪M[秴橯攳紽课1[X!l嶇f`PK ]沬2鞷D&com/sixlegs/image/png/BitMover8G.class}P籎A=搣櫢>捀>揱櫮柃EPYPR(6┢d]Fv;媩堌けD谅磅寃#D+/\螜3s蠙彲穡HXG) 3"&枔栕0Я`Pw/=‐筦兌Mp%\棥PnZ'准薓槚吖壪庑孓巈U,喬Q痚wb鴳唝HkX斜%薠裃@慳xf$zD︷竎1D|t韕麡◆縿!?v嵦碐伻c:9!縠`塯噞?鐥.臠5-lBH*EM@"bYBF═_翞餝撔I顲]蹝陫jり闦/1C>C簢& 犱dZ(喓q阻+l0,>洟杋4 PK ]沬2泫)'com/sixlegs/image/png/BitMover8GA.class}愊J聾瓶i捚屁5Z翃挹'^ATD/=璵 +鵖歑z粜'疋艐 |_7Q'f~ 7 k樂``"莈衣& & 賋﹖彔U0ny+剠JC淺水tU鞀▆摓O;BT:5絭(1Q磻卛c帀Ys(枦q&x~猹P鸀蹘|鰼ェq纂l#跹@钏0旂2`繖嗻u诗0Z悯6狊 "蒙vA鉙両Lvz腛鋊眑p缴彶酞秂8啠遖iボ专鰟剃3歹A蓷z孵続鱛鍑a僸N濢诶7PK ]沬2騫矓a&com/sixlegs/image/png/BitMover8P.class}O籎Q=搣楹>b\l尋L4醃A盤,.(%.W鯡v 鶂|I466 ~_釽ǔ<螜飨7枥wa聅眾56霰NtqB0毉倅脻"翹骎^鑄${(畫 #)[掄瀼*+t氫,6=园Eh粲X鋤0:B%$Ш窵GjxxE佚凱[hR賍Gl檃0C鈥5QF厯m佮pUe賩='柊蘡e煌k%6尞錥9舦暜絖溘綁E朝忷銃襄4 PK ]沬2頠5Z(com/sixlegs/image/png/BitMover8RGB.class}P薐肞=穣专ik|禲竕6畩牳▓攤姏m 巑f╡r7PK ]沬2_侳*com/sixlegs/image/png/CRCInputStream.classm抋o襊嗊K 靦揢噣ln*攁'覯M6 哪D抏_*R娰d?缽&髁谋D蛜?蕏NN涺瀞飝嫌{^)$8嶻躌p;r1\B潡煭騌寫闚謝{棾g雚視躍p_@j篗睐[蠼i =籧|胞F鮡u絋埥禀琷o鑨旆\总韓 D*禼{Orc勢3jN杞騖遂栿 冠kY讯5涛怰)棷 刔k`y䦷T徭3矗稍?輐Z}项9Jnw籚僿v烞疄笂伳f郣F.獺`^厗+*!"蛥M処G"X;4苊<殊媨#(cJ糯嘂叵幊G<'4<赛▎廍皶楒q|B ?暮熢恇>!忘孂i C蘂4d槦0厅淁9 #滔ke~AC桖E 9鏃48/kp檁褠g~U脋孀4榑奏1俊羐~SC戼- c蘯kg~GC夰]逽駗昚松 敜偘?懛勳\FA#彐<粩2^摑33VS奚48$w.Q犣5i7/\Vj/鷠~2sdN頽%魌舴q篃阎認芑嫅谳跧4w6啌}瑨=紪$鼽+|F矒进絔}勲犠猾匒!n{话K4w霥澤^`怚秅湑蕷濿K;獣;;&唻唯倸s蘬蕷瓷篇&仳鍀図佝ヤ3灛繙恜o掏O(_.a=鵝i{蚇饰f閲怩W垭)豤嶸賌Y1+輌t垭3嚞~7!愱e唯銕; '|嫶s&-缮o舭#筨址骙珄/u!穈螧鏲酗阫i髒 uO代輣qj制+q湭A3!Yき敳蚓:瀀%F戞C⑩敹 陽蚨D蔚┈却犋n籃踣茛摓嵀`霚J+擹@㏄p *~'xT鼣-:U:~啛+貄'v~t妆(z_1焪 5坷/uL嗪繻(5捇F酦请p泿鐁扃恳駅麼棚uT'仆*惘鴽倁 撝R 犮秫犋U駉l_鰵螷X概L莟疨:栤蹬偸q1 _ zz忛x\0夿7稪y+E泿裥 *0酹視癛°晉晭A轚奅殔舃圗喤0 浥婹Y9 桬炁~ 烢懪媞%\ :棡盍Z瀭5 灄9樀fFm)=/ ,獉tk禾渦挓;鴫d,坑<湿3釱蓿%/輰痝皀>Z産M|┇滨怎jP幻z襮瑐0度gZ盯(g焼Z穰)渹s楍衰玟鱀輎)r炶鈷珀t歕mB9摢yE<欎:Ti骟枔Vp敄嚃񸖮努嫦稚鐱%.g胒≠ 邳i%刹鑨v ,黟*鰷r岾旇儋3噛Q*o晕佛!敜*Rp%缎鹣諅a瓵倀釅 $訏栦恉FrX覗曁J$IW2/筥 镮鷴E1蓂蓲犉厳鰔截[ 荔怹氚倊殡瞐 涳厇料 8$uYgeC趦霵&iP蓇D(/斒[H曠 菭+5|嵝軧/-)/襹瘳鏅R硢5kbX阋N1E7蚸6襣5knc当z褋(>孞贵$[%竃谥I蹗! SK󝠇莗Fk佑X槃褚賞誅6Y灆{兮9J彍K蔖;廲6素)横@ ?xk7Es谮\{茤I闁轈翼N轹聠Pg瞛tC!<訋5T蘴4闠饰D練幮 岐鈞$巆肜*费*L#F-悻牷}鏺g桻k匝-鉢j"?!溈F s 覮axa杤骗硯7#硦-侔岤}GN2x-鍘綥ち9;薨0 e层8B鐣濨 (,r教)T愼嚹蛒亨3実 ^l\"该)x,羐蛡-FB罢hl7v 6拏{尳F椦-豤f]vvVv6F顚募敎T鐚壹lFq 煬牟D郎募t挗碳t雋'0Fヤ黒虋溤鬮苣鬞>E 威IY┥%@ @憛h3 PK ]沬2焐tx&com/sixlegs/image/png/Chunk_IDAT.class}嶮 俻胚i礹爪a t>芷揜# 篤m燙EcB藜7虖a^锴2f歅`Z,=6A[鋏, 搽%⊕擿淩憚6鬽&郦痣黵H弛 懃厅`w.鳑(\ ? 8簯c蝊)hKb┬@9峹&vcz!]繉鉍8瑬爊PK ]沬2$q興&com/sixlegs/image/png/Chunk_IEND.class;鮫>f]AN.. 镣卫梦浪壤f摍梇b侨垃迫棱湡捠壤昜歋扽悡觑 枆鈇郼噻a`e`dPH蜗/维菼M/窒蘉LO/菿譿(退庽t鮯ad惼h D'惄岍芵t 01+#;%3i璏 屰6傉0p0pBUi &5`9PK ]沬259&com/sixlegs/image/png/Chunk_IHDR.class昗:v蒂貖儊`'V Y$坄'i%6!&8业禆6琕BZ'\卹奋WC Gi+ \p8{QJ?K樘踘K酐硖紮锿涛7kO?G腭`闐"枨84嬌[3daGpw鹨ap%WG戚嗓áぢ颖 e w1?╟嘪:n骥鑸鈄辺锕熒/4<蓝y馣&ix>⑨Q忈qO鑈媉瘪譒炘鄘衚e3炚洘尊5寄黣垦q%庰空褍#^瞻U臦影M胟^尊唵75麼臶*~ t蠳{YJJA8k贆珿蚀U`鍜|+斀鐂參U*r聉< b荒s躌犗蒬竝愋蓲=閄橰椅+Yp3稍乑2s"噾窦/9T ?狁\燀憆I羣,铣FJV莽 笞)dM_謪<擮[巶隽鎉f<枭庚糏)f(纾聸l做(幕nV'59蕰夕渾w 旁姈0=摤['签v蕙n鴥?鈠(fi7n2皣摲駧妛 *>4鴺-'PU1e`' le6\O匸竛卉蘚p鐘7tL2茕m7覹灅皧 e3󞡹V[灼 |侽U8呄x9晄依鴴穦e鄈Nb;'戔$Z孛橅臘#`nd!#嫜1/+镵v频'靟吁臻o䦷ot瀡*v鱦g脵劳豮霼癍;VK潦y&(p-|LAО僑[=鈷<剽秊ゲ舝枟艇笓髝~G譨砯嵊浮8礜m`7(X火嗠襢'Uw?:熁9s,珴1o虉6W偷M灨7漾w鮑K鋄+絍1眳硐栞;雩歃嫶D羠憻漁:3鑟 芐|v.C∥0 ěS紶[筳q9L/r]飿O彽?` 铫(L孉3截 坾送饄D铺魻擴圯'躸['9X圣馢72s潢假姙f"<儴 腖釯m 朘僶]|痿Q雄諣颛E镐,摗e棷;;瘾yy_`渪#m %J7爆t!镶P〦B閰b綻=就菚=跧n7KYs笣/牔谘)负>撫4剒5]*z蛒滣3~c,蚗揞m}ik陇 彤賿溼摛苂絾馓q9}鷖黣禝綸驍;$)鶢4栯]掃(9}#鶊4縀p効)P3掆h" 鐷| eM塦丏爦 擆q;圼q涇誏渨5迵钝蒫蹅 書┠ '%獔惃G椌NBt$hmLai5眳ゆ谞k9娡3垘蝋勹4Z[桹祈e菼碝彳煮阾-緉 鏞c义U闯嵕-猆狉獖幚&:蕙践D=4z钟s呍鮄>鹟n獱;L洳h 养2|Olu}+齽讧癑& 祍犐-+l 鶥坬蟦 2$⿹3閳_槥K鍅'=ez幨鮳酳趆-糶4$Dd(f缳*b黽Q{"蘥L窣F5B2 獯:睿F盖彛a酼漵抧; 甘p"$鯸掏/閖郡澋捠: [/Z75|W蠫,|3灹赒Z内+圹B痈樮_RE紓U墦琚厐D蟧M碸J8島d 悄廷灃鮛!颙G儋6赺熭鶽v瓧5>钒礼鞇軥'徧锃藑prA饐永W 嵿*篒>&韂踖鉳犫\甚k鎇5崼XAi{甏W 砑樧1<﹌g+禣c<砓觙iji4m懄鯢覱ぉ谎鬝iJ6毊摝 崷>i陻&忭揗料閥焏濜=DPK ]沬2綉R &com/sixlegs/image/png/Chunk_PLTE.class昖賩UM'$KI虐讦叞 H Jaへ,U$櫐蒐L&戳]昃 釼押>茸臤I|疠?C=gf殕 _钯~g圭瀧Э/邌却靍+剗x0刵舭竉&駙剝A羰[噋I 猕宩Vn@嚢彴馫^倄5/ ^RLu^yI畴 莇徦 YA鋎<巪 秾5\d7脝%尠P捬寭=淋瀿鸫_8 T@^P障B 廽. h#&M4乂4鞚钠γ齿JQL9[特F.飖,GI曅畍礻屉Z狢)9捲s禷櫞峠s)椭{騐N羡哵牋岹9v(〆捙 <婱 v9香攧Q/鄀 (柔U鵸!`E沂 艸FObFVK氡湙庻橀r^{wwD扖E髕$[,貞A+摫#=]綕畾摻┼4迴pF鳞8+`蛙Z兌暢q(r袻E 3捨k鞨8 蘖&*氀痛=D財q( &J谪F掭患记>踅蒵f)挘p董Gt游S軆 饧碽;滵开`3頥皡棴技$)8炱 )(仄鍻q^銭栶檪 鳿2撍谴Z,Q㑳又觶^罞vg爨渌6l{絉蛿>襫e>殭寕/3W緁鞲4澜D繠'玜旁願鞴FK44褢疀灖蔅湺pkL93韘G[QMS戏g碆伹x VeY`4)76 邈力霒謒隍<嫂k4$欓8)0D梀舷昛萦q >巧1/4燓灑穭瀳;3嗈R嶼闛选慛2坊7s;耿MU隯柂X2s樿濁'钀Y0姚瀓+俸驪洋WS冰R林 因t[揤$ Z贊钅1=i钦蓲s蟈潒*贔&禛+ ]轼虉^b╒踤愴zM吁*蕽植Y6匣畁蒷沘SI諐哝z齓緤tШ鲾"+{5︼蘻鶯!T衩礼/孋穢t獹穣敒%嚻=陉 衞'顓麍[Dq⒘%莹A mb>QFT夁y饿雖[E産洶娋"漾 擆3{ )HWP}辆谛4鋉=鍹@9菛昃邬痈-5佨^鄝]f禃n 绫叠J恝憢瀔潡亐媈:'+Nbq橻R骊听嗃⑼馄I,6麍劊蛜" 鈳\纙"K櫩c 撕墕+厗0Z%驡T溌漬;澁 笩(}季瀱焮嘢1H8|:鰍"盓(叉GD8椮猥Y 塢.*1n媀援l櫬#娬棻q痈婱n檧Z櫩渁[妙铟Y.i秒譂%f烧尵㳠}儯=遅瀈 $G >屾綣P 椓5p>幫覺;塽阖?#w^&贛埦垰PK ]沬2勹送Q4'com/sixlegs/image/png/Chunk_VcHRM.class厬跩A瓶Q硸NEv5[;碭0⒗ 拣6l搈Y篙u坫t1 ]A廝DIZo骥}咛燍0蟔廜p#墲>馻Q葺倖彇f羹>浃Y犋Mst<譥sN妐撯\$曤搀I/x篇ZW 裍唯U磫e桲fC*E长斋\5eH 瀕憩 蛬攤%,+X联5塽 塎-塵壌DC滹&袤腙臝81劵沾K1y汙桞*&鲞\v搧響筰蕋)潉mJ'a烰G挪&瑶 F3)0<媡_m仼 楆嘯爣 魭鶬扐乤?扫筛绖鷢例O|PK ]沬2籍n&com/sixlegs/image/png/Chunk_bKGD.class峌]se~^舶蹟|`-6瑽础~臯 盰摎丐嵈j\`砽察獠橍gx鞥*37:L2犹鑵硒兗t<嘳/椺}献{炵=,黧_1pc笇L湒,K1紟7b錁!嚊l{摻o濒v镟]鯪蓌/奫q(竿Q鋏L1刲3(酿>溴/w9賚Esq\腉滆^2T D埕 欖#i蜘駔蓑虇/-t<徤T7WW媤V甎嫐}nБ7<颖2,饩+鳧杄|蕏 熒()xOx鶞镁罈2|MA伀k;杗4sf]3鬨6r硕衙xゼp瘶Z鯲恨jz 遣滍趄怅渙fU:6ee窷水华 mj遠9KL閱钍0訿守TKAF0V7;櫞m/7隭幩 _儷sxB }f欖:_G uJ埨H萾r闞_%$≒I台芘硁茆塽TY \>=V;M桙^+猰腩5泑镫g\鉙2?耯k4S篕?!璤'u绝 F-9F V醤>m="杗^崒e炔i魉9访躎谎騐<汏:!_6?.2~+贛影蹶]殟位Cm殽{瑹~7瀅BHfg搾浂戠镀衇箱'龢杇Z箉璝蟠才-9芁<垿拉K錗解鍙Z睪Mg詻y 勢uW=+ _ 梼絁鉐5廳T3Z9畤浉D縰麳艚䲃'i!拃枘/腬舩1H;G~ |讕:e監Q邝'hCj#蹻銰骝澂wl悻S,=#F-m啮燁%y;R>窂吝z骟脡 昍廾融ax)蓹~=櫄,綦/&Г]竌 =夛q;`R殥J厵@ xK0鲴2池~`?祴o$y嗀D"r蘘慁_,簡HW惡倈 塇R顟 H9SA猅'C鬣粩攤c 稼i捓k鬩%9N 7]APK ]沬2毌歸= &com/sixlegs/image/png/Chunk_cHRM.class崡鵚W强C a宧油捴=]=谽A%*羺N0寗I 猴嬢k[刀蝶j-K[祐疹杏?豸迿78簌辸飣鹘箉3侊3x枺 !_苣(0 1镭dC寷0ne芷笣q鉔芣尰0铄疹cx皽餚9躲戱(<苮滖鉏芐導,v癒苙烗湆=<D /p鶁霾鮎/l餵愭离罌Q)*8#2>W緮P曢-潸U巳諴4D谪琡9V(X蒱b$蛯U苆瑦駮偗駦勱 en: 庘槃箼\糷敳歗笤扸S??NjJ畮dz叹H@褗 ZF胫"-硭?w韀遯剧e鄃"7豮X殏~P5OA&梌4y淤 呗觨-譪宴7衩[6杏xT2anS矲w霓秱_潾H>g槚傔駠勅+5瓠t4 鐬"E {F.瀀3甉^g獢 .羚譪粲彺滛<ě黚r2 砄滺G\,眹-q捖vW矶L( 釉 Y礨詩渇W髖檞i魛 辜V .=觵,#oR嫿枤悟]螛翸M袊zu莞grMz珫标'{]浼氄,婮=UC壶糝憨瀪:#Y驮璣 錳祷E夭av9]岓S摺飝vk姺yAk[孰"巓鵿畂汫>侩涳炊峛釂qk砸u)恖鏤$<%櫜蹧ぅ苄4'T鍎)鋝C訚P 蜖愡 8NhV襘=豙閫栺曃偺嘩8镜鑁TD,簆 !鳍耆^:壵慟\嬹睂忊捦#樈楁(]6喫O圿嗥倱c7 ]116菎y'擎1_枋壉yn?96邖伞&副耪N擔霧I萊h'礂~亁泶]{PQ[兣;_募儴O膾 ];婋簽0姤cXv淠1>#;H簼8岅PK ]沬2澩m陔r&com/sixlegs/image/png/Chunk_gAMA.class峊踤覢=洏81n伌5-肖\慢n! !%厲K 9赦渦oP舧鹉 ? ↗$愢 $> 1═赽赊裉賡fvv髑螼_1╭^颔尊y関7驑\瑑葒>f/鲺4*D$劭:帊st{Ei琇.# m浘a3b澶轆+;舟0鑗s骢涯浄 4PNv癊仮钡峬弑Q29缅F谪棾照СN颩 '鑒,`/PK ]沬2 gO$&com/sixlegs/image/png/Chunk_gIFg.class峉OA}K 诪'禪卸妵垦"(%M0i K籠痺洼掷且4恏餋g *Z絛og嫱虥潩碛0徴,r77ˉsY溓dS笎链亱趆浉勊& L槝羖s\哑J #K2恓!U,絙HW忙`菵7焤痰潌(眮矃k竛!弝 7X皃w 艿pN{r薾矢栖粉B德&C~浛鐜蟩%<YX-T癲鄳卐剋c2鑤暯錽廰4I*|緆+ 冚跱,w|崤巐sO8"ǘ毫 蟷F亾\,㎎啂箕銗詡~(sI,汉))&僝鹲佺jヂ0=貎6摓 Q甄q,b喒剃(b欩7悍NvDいN=VK広U襴烍弗 6d把/虻澪諚QW4m?燠oCN贤 朸 毇籎$s耳W~(攁盭;忰蚼裀曘栆qCV笳[a:p婃^C打(窱:C:=S稄塐氺B磭囜你m箛T #焌!=硣>=渪j DO。h焧,!f8K6&鞸魓o!PK ]沬2癏_鲚u&com/sixlegs/image/png/Chunk_gIFx.class峊 S覢䦷枽墖駚<きb}((Hア09J M&u⊿陮泺黁巤)e猅$3w涊齨wo黧追`颱t`HX⺌cDC1韴k競‘I6♂:nH鐼赊掵*钹畩1苡p+楶饜A矻醲謫% 骩#aN.戹姈gP崚饭-槀u!h灹毎藍埰2$M鷪pQ娲蠷瀣伛瑐* \[Nxz兎蝖瑱.侻扠 騲蛂0撧RK忨劊SH掔弭鑔:╇ 9R樶鐳梻Y帶 3蘳淎穫/袄潱/堡 -檶傋+x`-*1鬵 鶆k昺憇V奕壞艤,9踜9}μ衱刟牴v众H=岣tK営~6珺B_8H莼f熼2篖礲9k逆涆M昬妕gтQ^厬ЪJ厯5儙E趺UjZ溉2[89o语娍穨琐Dw圳慦湅1t讘噦Sep3%坜eh嵁N蓜淺啧劵$丹膀戴#;婲N 舼醜臩雃;(&m胾吽0薈<LFCcX,;Y疨<萵儗阣榝y沨CM址3诵[蠳#-r 4>眈i+璣%T齯挏 强}E薵/坰刪&q廤垊;俇搭!T鉮UC呙{P朲廤qB 怟am湰i#5忕}疶"Z芽];Q榛U葫.a爥Z洩y]絃籉t蒞堻PK ]沬2:卤&com/sixlegs/image/png/Chunk_hIST.class峊]S覢=移@A /m+麱(*慴q@鮼I蹛婴搇p_|補`F|t鉕P锒蘬鲱=w锕{&邁|蹻cxAN婶V廯喡栄姂梧瑎"0)瑪宻乧a湕\ Z'-氢S 罝C(銝 筊彻U祶鼃yJ畟标z6;教 4玸濣脔鍠滕.)笇+ ⒏&$\Wp7%L)竻 僂发簃樉jUt覲珟.:鎛唩捕/杒误xユ篪猭垲锁bn9踦 奿 3 2楿閉蘄苊紓"e绥 浔呖妼H"b噭0D佐簀躬nPc+尤LhB蠣U1.w喋5盚3A Ku笴 蛁 /c刖o # 粓e?おn猷yB塿P覟D啳材=1逾靽,鰭RC噘 ]C踦L^鬜甶K柍8u騹:搽桐8z吺檩i蚠CЦ24Tv=^寇-龟筓勉厂q穕uN魉\/丌E複軘& _X3<阶撥肼8: O團轄 汝F, 滫秴利f󉊐#趇佮&v|/诹N3 琂罸Jm 竵Z劲Z焧I[轅d{挅rr姦M墋係}7垘猯-*绒净到腓&:7>Y瘈)揹4锌+崕_PK ]沬255蛶&com/sixlegs/image/png/Chunk_iCCP.class匱[OA䥺v[枊m晔投 *Z,⒇V┰蠨傃瞝2拜m篬5&氳(銠稈躣2鐪;9丑膑罪`疌=n獦斒T訕 a腢$翽悢屰襵G臷垟籥榃 晎 +x0,岑0鈮-哷-qMx稲璹香&鰹!\┷鲸趞c潝倦謝>缓0X鎫伪軖p 眡o殕m:e銔_#k欰璹硵5}摐sG聈< jx剶(枿jqi{A胏,kx俫 V5岻$懮uk钑虹朐壟K\/6s-籐栒0仒^0 "灮+l;f卥x5y 疈 v Xc衶讙戱積 S)朦x舜爰Ie6廗窮~#嬹s掠 X災x^. *t鷝崽蔏&q齶,5lMK;痚l.兦0鬅右+}f敧is擐g膍媤_-賩&S5_ 荶満/lc汪鰘s菛}1Cぷ鍖鲳 噅輌Hu孳刭鐤燁$篗 龂r蕵7@+℉抌# P摕棼凿q椱宎%/峕钇+瑛]舩ic丠郼渉""=2&O斄>c$h;jA輣m祧6z盫S烛3u(/qr鎀%UHs鸥55C '`A"钏82艰杚帥.湑眲ee< C/u蘫糯毷 U f壡矠猠\1&C鸔捰卍R婉歐鯗7R忽FMxeD*#<C涽`爺蠜Q-#1Z伃素@喜IS噿2趹L+㏎Zm 厗Fb炄x奼4壅葇H= ^隫f Y&!S象t~q3 湣Y噃 D3傖ペ< At4I填 sqK(β郷崔:W湧xXL吉dH祻刪刓盂Q4峀蒮U滵语;阋珵*暟涆Y<"F5HI潢盳秃,=檆蛽詙閦1漷艍'}R5扔潹xo;鐿b&訣zr:#/>儠佯 p =麍|來銅缸2l瘑龛兿"禅&SY~Oo6騩)躕0撅'<鰓豾徼诹孽=8姿怽M%葎j䦅翡:IΛ凷%磾狷豳罖=乎0贛企噱\m%达耝}楱钾e湲v≒f PK ]沬2窜磴&com/sixlegs/image/png/Chunk_oFFs.class峊[S覲﨨[H≤T(F "X/萂笿- 堭聞龃$摛>|補蕦惕?蕅O[憽蚅v7咿w仙蟔呔#圓l62n菵bB陸褘>AnJ圞H葠-涠寊$吤P钹n唓/岥葓 &!F聏屁1 蹉唀鴵 義5Ch莆p9_0}1yj堡$h沢m梜砈 a楇橸葑 熪Ks7l藫0\S槚0s 1切椂驣县3y蜬y=菗帟K.[广 +v謌h哒唛IS'鍔Vn簮蛂W臼覮姞洩=?铹闈傰V-P鸫5;*xA4习(<< )薠懓猔 詓S毡=CT狀14童Y>蟩W潞7亘6遟h9塨在菸坺稤 濈楶豏啙訰求昡橣b\K k+SZFb﹙拦=,蛂 >蛽膣1啂?袿(炟.鮙Z=遦杇,灆搠閫噪幟 聾|轸UPy}敶*>[鲰2滦#嫸Z閔A#ON碛幽>邆fZ瀌▅筒;c隇莍杞H#(K?惕8p7D瓒rc0 悍汶郐(弗LFNN#到擞⺋5挩0鶮'D/*衝HjE$ /.D+嵞匛 ㈦咡璁Q銨Iu稃,"4^e^7龍X4 軬ㄟ8偞q坧ぁ9Z膮"擟\麬秿竧"潎h)&甬j糫嘌 ^nK-暼p澽W$四囬岿MPK ]沬2e.&com/sixlegs/image/png/Chunk_pCAL.class峌]s跠=,話/祫6A袞贗(4:)u汊写iR>俵o擬eI#蓪笪afx釁N&a(稂~D薦.i涠xF拚筭=魅娠"吽p肊嵕rr椬0両 梡欋= Li樒>蕌F臛抷U烓8媖樛b*4|侽U,2\譧 Б╞I挪*>c干PR悪畧鵸棰W 碏訅勶鹗Jy@P昽{/--轚塥/Y慐鴕鼿xn萷K :苢[晴0w謙芘=镏糉!-囒aA4,|.龀掝k| 2X: :l烊S⑴砯9X舶n5 B.*IrZS w瑐cQc%76zSЗ$睐4傖d理I梷)8郏Z+<釧ɡ-{Q%錛p%*'nIx匯遒犎.恚 )+I1醤誧c渌.筏qJ屩"騋cV僚I%籌绛臩$MsR稱6p#;艿靥T瑧K灀諢隴 遊窚&飄 竜墍P騭疞綂:0-慜╬够鐔聉y^D6斝 牵懞霆'$峼X褷铺↙/TI扌撉_螤训杗啃z蓇yPt0滗 痻纘yj鰠=Gq鶃珞 2笛蜘  w"葌噞涝/I︵闝+誡^媐揌> a g镚R~襱嶃-恴Au擟酏卺紞w:寭碕F_陾N靄2栴莆S>S疇YZs鸋 結>@@'渪屘;匉卒o葨踧m〕韦嶔謐捳3M蝣s)OH矐鶅]c誔嵦0F櫋堕'飢*??龂頭咔>噯&0|0奇!N肙K蹾'o膩㩳`4d拋7/螌2壌暱獺o]u趉次?[ PK ]沬2探C{&com/sixlegs/image/png/Chunk_pHYs.class峊隦覲饯娜QQ""Z擿 韎 &I濖 >3么32}(=-(c嬟櫆蓊~籫枯s西_"sXk臦湌i趇g棏缾劤唀H8羪!揵 枊2赂$.封 b".釂(Fe宎<倹LH%&%L1勄 损'衲C0e8僜,櫨針|醤统B5灧]L=f埜\贤杈N鲑r;綼[瀯i)(枧瑐鄹#aN亞y w忈t.&=騻4妟'珢|`~錣大>谩 龒4ur.a喊`8NZ7ZH"C熈猦冮C>铠訤_p譿2吩|镨 搢;磪@辽9]棥慞,儽P蝜C蔜壎V 荁ˊ┾7路m 盐mD3齍tU薪记嶖C坭赡BU:窊:ir鬳H桰幮?PK ]沬2H=X&com/sixlegs/image/png/Chunk_sBIT.class峊]O訞=.踤瓐 ~俈@猇棚T`曣*U>槻;,課鄞]>>銒咹遼餡鳮;墍&3s甾觭孓3~ZB Gp'霺h覄?媙鬱褘8 >憋蟗簶 GaH8&愀倴sB茽倱8%岽3 庣拿 ┚; 镼磕擩諐澙譳扄錃岢~韧彼r4f6驟膸顴为8圀*#р$  *茞g.#r鎉^ 椆xec+(1-8Wk昷kA葖寄瞪倳O麭銑姭梎&T瘚﹢n獦$昧苆誉l绦i簞盷-Q+侊q/諮歋q S 瓚S鰷YS`茐)遡n3h腚寠> {ahd? 7虊UuH'2撎>S'錞$W0/Slr { 翿瓆椁嫪閥<u(脕解+R轾.廲磙7)旇.憊j誴m奓恰銜s"魈x貓浭5h壚04缀藧-ZO:′x撌鬿爳Y橿P嶉p墚愗庡鳊攽"y篏#t_傂x;⑽Iφ豵峲;殝Wt瘆7/觅斟櫂y膵qn 前嵽馣迂`豂64阳編賲輚D 褦zW忢YK/:壒I呢 d∨甭R H/狔6F鎊洿;eh鮪盂$ 絩泪鷡淔濬ゾ戼"魯炛泬B龍桋蟌濉$V鱗zz臵nJZ桜宵RC?鹪p椌 氜5 蜐疎-髭,Ⅴ塍{箅荍禰圳魪h繘精VD郝4.摥汹K怇%逮PK ]沬2伌 &com/sixlegs/image/png/Chunk_sCAL.class峌[s跠6v,EU釉IZ僆*H/vpq)6 伳N╤趧阹I做赒*KB;? 挑^蔰l蠑釙~?勧瑵盨頌=叻缍g跭Dp奁 )]逐 (x_C WU| 屦>0圤4\胾筧F,驿騍9+鳯CW%鳄8*,kH 7`R臡+&怮qK羗 9吮聐咹*}!歴藗A硇騦眤硟<$UQT\_橓吇 /x9螩NFIx″:亗5_釒巜爱.)腐c.栜Z6定Y"9侦歋葸款VB3埸 馅溊跣窚阞絉敬90e赿佦F怺X1J[u绫Q尷%玝 菩Q繡9||+w~S#灌福(:J(K5e|罾眄z(黣庄駊?8Tl榘`+ㄩp2滛瑔爃JF僡淅L蕲m!絳 咀#8Jk瞄姫皓z嫾lTl棁T胹-'4瀙. 9T 檚輸D嗕+( 飽5W鱯Ф鑞e&)S6奲9涘N\j1褹 ^沞8籫D厫u #蕥OC验;銥'2C&祌5f=猲窅$舮<獑nW0栮c紵;JkfK7CΥ%f nC霭盖鼲,餁<輈ゾO^o莫)銟脿{f'_蜖顬k磠縰觪劅硑j 汔架E^僃%騶~hI鱼荽辍ego餪+鋞fe清e酖麪6溼卺b稥)滍栅{U僞N鶍褿o 螕4u^靣.噔.c榝堻紜]昱X,t翱镼Wi⺧z&设sL%焎矋罛盉 J\mb(賱帜暨讳摲h4q<鴋^62縝鋤#蔭覴KD嚐-~#N'姨苭p&~秿D!m釐&捃8$;@x珝塀矃I 2帏9 蕎/镹 郁=&Y9G6FPK ]沬2,片J&com/sixlegs/image/png/Chunk_sPLT.class峌輘U輡&ē鵍[0圶眳*齈VⅸK誾摻I秎铑d7Lypxsgx酇漀嗜>洡招萀罱鐬s~鐆>n蜃呖龓(.罧b Z潍9L樎磶 \2犪-y\V攴摳倃捀妛 锑x矹7浮n鎢|``&pS jYT藪r\竹憥措巘聐唄nr!惰賯(嫪忠驼庢C)附腃N阱韸餋菗亷[&,|b4n(郤煓(bE晴&継夅|舓g 4xM鋧Y睡融>N色 暵j昼C憰!病鏴]O;&謕啄梄譹夏狙眎鈁pe 肒-遳*0: 垐 U'b[%侗a櫒+'辐瀢9*匨GZ摘hd8怖.V+6旬蟜M8豏藑.VL4 矁骫潺M吢0唗噷沐~叏5]Wf1gゝ閹艽;, \轛长 )-s ^褦Z-U57Yx綡剸z䦷F;僀d3箖~婟櫫&J`鱬m"赧f(J 萫@v痯c鬰>Q#秒tF凬@b闣癩D~樨膼=媍+婬霫O&yG攷m摛宇N 贔l叫FI腇$[瘘H掊i炨戀穆XE/9紥l3抦疷涕遄~<藞鬨]JO蘉KEKXfú蘬朖7?榪$d"', y"ヽo=譐E\.2艿眳蠀螾鄀愂.C4~YC)喥rP;7f鮁└2兡!闯%N飒! m#(`儬KzK约閜'規釼%A洠墐消铲馋j 薩cLbWVm盳$vB毂M檯!焸q3K-{睨悄P'眶E豳栢欋O2ih澭硽.s则n.蟏邧]lQ餸'>azk緳r鋖旇つ6c%6J啞pfR<漳帾袊KtK菺≌+`窲R$o`E秜1m付嫧"怜欢萉洸gk伈#]R7z軉矋猒):贍鶬臧騾垥ht8}皠殼Q患飛尽畡鷇奾贏骯藚Z挱E\旡J錎h4&H謍徰 :幒縋K ]沬2锵&com/sixlegs/image/png/Chunk_tEXt.class}惢N0摛M/≤   ; E 莰*膫LcC釺 鍧墎唷N葎强西#無锇眹.0枇敛珓觥怋 湼H8*.験蓵釯.~术竏ReL箐?~巒2&予L桞劸盙3g)w辨a緡6塾"彅Xd醋垢剰9>岣虗煁td2曣=唋=冔榉M詍Ycpz*捍怠&妘埋├|& q暎&0囅骓_+9杙M鄈\c8w$趈玍釫潬ゼ畁y穞骿4 g偘l鼤H瀔錒噅鱉9n栕憔膣簚弌n`檆E&惧-皧;敀:J.顀P哽腼Z '郀0(!稷伢疊懂RS鎿X駇=K逥m叡k[輺2嫪P嶶麜j "Q鎣餭Y$5蠽: z 噲勺 馧Wb贙?$z閲a谖牝俩.m賤7珕哼!<1斌qW'QK玴u3顧tr沤嚷O"暬懚駽 憂誰2i獏姛~镸詉Q傀%D唼Pd搊譅庫d涊檃醟瓃鮲$*a橔绗y9?渊凛^躑=Yj恭僤雖0м&Qk_鹉VT8脮藉k?RΧ 1A弬2$巵zJ襋寫8涌=咆揟'x{W0漋c,箅.Y彞 pzt'蠍Y炆 憹y嗆属6駽瘗澯箿 箲 |$82[\暪忾.蓔聒硳kLI87坤蘤 櫍$髲1.鵦8淫憧p犱>拧?fO慫(s2/箃鋋|嚪馰8;膽!J鱳<櫐灭.璠$籺z鬺6PPK ]沬2陟Gn &com/sixlegs/image/png/Chunk_tRNS.class璙雜U輙覯露傏B)捴JxY袯>擧癊瓫d,l6q场-惊恹 > 20泺E'Mg瑑濕汇廁o堢l$~03鬈s想圭l哌]C钅/丁跥d?s鱵q=^簪蠇~芟Vd0溷!p豄0d2膎ypT瓢襻幊 V?涛<8蓲G蒯Q弝0頒鰾E/2c0!#頒+鳆铚悺<8突$赡攽拺ú悏7R搕瞙舏懄z痭陃7蹘 H僵&郖f [O卩!G3F6懖磒邅彞┍>誚I?找稙232濸`a粋粣Q`#+銓侷湑瘠偋鸫実<3L瀋<劬儡9(%/籝矉蒒&5乽顶殭磈ift:@"佣=QC辘闙). o-osGy\纘2攤瑌 碊S蒔F2磝&'崭J涶袗/%*吧>zd8Md陀乨6c&R/蔓2>`9蒒#恽@ 塪舫T:'Cニ娄5J|JY枚駷炷勬$)把亽禦 =③Z尃X(W!`OУ傁9揔 . 伬 2阸&懈倝彏 +J"\橕↗OR-f]V稜1)a釉琟C蚫奋鋫V觫[63殔u礔醚睱谺嵚麕v荬巐#*暤覻粡j:2B廈Ww56P漭眰‖涖叕蹡?艌&性$醂筐,R 鴜Z彊=njg﹂撪6Ik柇s-Y[7B誏耉#縋u0v辴z奃 敾t0rJ嬟]%m婨憎曡)嬄鵗#漃臃葼n(Mw螌;Jrw' VrZ54泂[xD森pa8_晑\'{鑊u躌'鵃u鬞氜L銗誮:瓩1亷ヮ\$*L7AlZ^氡S壚卩b.l?*竔亚Q躻鱙舽烦K磋伝塠 q[9妇q,%炝=E媄谫耈鮱Qw颾澊犽⑷.止~囂╘?风P晝攦;G*O騑た炉奦s顸 "K忹!s玑璽簌龡悲潂9C汦 Y.J鰰听鮱蟥mjj毭<譃笂[J 暈$b髡峉3捂NL吞b]J雊)L鶐[鶐bZZ5 棄_9 %世_絋波D_诡波θuJ R尺35愉3咱%蒈 暡n]裙榢伃-5蘲疒d狰#j嫜4Z< ?斉;r豿瓫+拯%漩<瓦鹒眽6,Z:壵WH揅K僁t#釰l,;Xq癑蔦#B&;,bAp 媗V \硈倵鱳Ei犵鉱~薡鼠劃闞嫔a`毂樘y"X囩 脉慈槖婽$娚lfF毛y~s漣挛锸癀%熽H,t二Yf摅綆F&`倉6猄6: 8&y癓夯/燱X蠉覧1嗘 藒罯FO sdPK ]沬2揟~:p.com/sixlegs/image/png/DummyImageConsumer.class厫蚇1匫@P饤1@b0.揾t牌UK:S2-姀迨膮郈oa宍D涇=吖鞫鼾沲 Y湤Q酌瀲} 3K{螑鯖}哱G 啰+#ヽ脨髅衋н$z"+ rx0礡=n-(裿"Y{2朵戍箐扠3:a窰鎻6墵N獇{辫1L6'M敯緈 GE汖 (0鳦F螖櫾6塆AwEO幄AlHj髍屌2皰乧dh4E jH7廚u跈SZ/`蟨圧姭Y26朠fUHZ6钡凧兆芷物烶K ]沬2;Z3P2,com/sixlegs/image/png/EmptyEnumeration.class峆MO翤湧@KA@Q艰夐悩夆c⒎Z7イ麿8怘旕uxb擙x3箧M鲢篚 眐BG絸秚4L玛:禡扪裠0鷥崤蔂g3碞(碽p/饵旭5瀍yo媃颧庺#q膼嵇聴 Z珆蓯鞥窚¤q眛凨Uд^莅2r獬h薯嘰萖9_摜鄐檪 5;w8ds~3娈k*O E擩(纃豐聶k g(u辩.$SV嬊P?敗⺧G妢鶾塿3 聮\t甉礜7K形 *爩JJW d煈yT/瘹稖6g磭斲纅收怮湵剉礍鯹) F7H懍9R鋉慁/PK ]沬2Ch0/-com/sixlegs/image/png/ExDataInputStream.class峊踨襊]堁R(^ 鮪h+^k曋K*-嫡z1 A裆 В弣r詶辱鄌贽醔q09g漸志濔砬绡pcw$ b ?i痍爠H鷔堖嘐戉荙9瞥鉲&$溊8懦) 8玩岋靱8凂矻;莃3l螊H嬋餗閱n癩>U摵櫶鍤礲U4禂姱 饻7QkFU/碫柴9}D萠u0-5,n卶)S爼-4"fi<捰崅%摁ST岯矇 +=蜉 Q*珪6[4U媭%S缛#近魋靅\2-#姌 (c'vQq&'彑納X苸(嗂yni*鮵甪u娛嚦2鎝I<0,bQFK".薠茒+瑌"笌2nb寫穚=G倰`枓U絕 栅^R Z睱yd阨誖7tS蓝v`靹;菹u'@潼劢6[O7孪0珂3枷*:栙顃盎牑y瓰{卦!-9 堅Jj澰敩稠+jF佱@祐口偈浗涣a诂/R8釹礨迂峥.X﹍;砋>H駭蚲O:O}8兾瑽p%F?Ab械h韲帷 5; `7鲂1& 糓芧z>zㄗ舥厊6=该-n樃槝p嶠:睞皱菷*堧 7椫釅~B`=釅x1D橦迗5|腓弜mlz~!w"肥 黖8霝J5 禠'⒈5HぽGc6 糅团轥G|酓蘳螰6磅蒤鼄隥韒 l ~PK ]沬2Y搼庭(com/sixlegs/image/png/GifExtension.classE=侤呥姎榅瑺0{+bLL,,璙X% g仇矢8蚖眺f摞髚撩翲+'什I崻0:d!E.'畬 略i;_[1杔J.E鹈杓"n綉, 掣,Dm歕閆楤j%n钚韦蹎暛]08^2s廆锠'仔昏綪K ]沬2構_+com/sixlegs/image/png/IDATInputStream.class璚y|wN不3;`I B钖朄P,豴診繰 i[滌N6吵圪X璯5X E ,Z崔W斤恢隴|of7傩黙蛏稞巜煋'?J盌(摫=~碿//郊煦錘瘨崦w绅粐粂y瓕揍跫{儓"(# 0|/o杙瘜粪奁绶藰唚菵馧?蠲粁筥禄>嗲儀峤剪鵴飺鸢L罪qP!皱檖箦 嗝Q d!22a气飵睎e毅$|\拢,銣dmNq蜕2vN聽3L 铸,c1b//鐇箾|R耤2毋S>吞g>熱椣J運噱香倛/坸B?M瘴X殌挐a>蒈e﹞Tl诃雳uz.l2鯲垡阅*!jE\)歀豫鮚C嫥媵钻Rf籍┙i4匟1誚,嚖シ欈GS曣壐8mf<F宖,浙i訚1逋.C氩d7j$觗蛋,哒涉7抲玼S纷 副f2蒫鷊洽[ **酒俗L #煸偹zE|C7- P3c4]*6瀌镁`X"精鄘P|蟳 晚A'﹤塋趂F]篍鏝爦岌"~︵瑛厒_釽"~7熨陃韼宯i盽郐帠&_枪"遂E嫗(%;Y@橯3&F臱姃賃t=J '甒鋥墈;峁算6o%l殮誨ㄩ礀ΠN20)|燪;N﹩fsH鍻钥wq撪M種屚vp2 O^碏0礙7岝j"O盌緌崔焯) 炨1瀕(庒鄸殚3JBTk扁膖 Q炬筤S瀟鶰鍨瀗*M0f霴镅S溮!O;逪秧躼7R)畠0O^壼:抩6k爆5喝F娤戨 穕iΘ1'噧滓A_漆 呷叢q侭)'遮蹈瀡R辬熪奕=酵躢&焕</诃Z +)岚幤镁衢鮗屯=雝僁u,/颅}`吾L頏以v 5j咬 箩$熊層贛xX驕摬( -微4T泤'T潊74_b睚懶萗敐匊C順3'幞 I仙艺UnYS痔=叐UK"CD1郊<嚝猺楺^A f叶|-s輢Qy~ 鬫z敶3猄榹S楽y5?_;_Ih@"獓 `~_烄Z噷^rX袕溗膣$y鑦淔讘={柘C7A氜y锿 (斬%9,<顇'﹄*#竎q5fQ婭]廓傹!矎o蟕1[]霘粰K鸂 a)<+W撕衙'诳垵K鹋9,空U% oX 昔<袊E毗^1Z奘黯阍鍿xi嫉嶽H熫;陖c癧)g3齏伟褿q恻 氰:倐D1 1$魭搼鴷c>:!蔞/羪n段 1D='廣=痯"鋔:5k 畒7+{鐁^訔崖╨鐨3h取1痻圥毑PX9嬫黺M-鵰Y離浢>2油顀+柟佷詭xm祒雓玸Tx 1浝帲 ▏p缪袻6巉部 ,;q䥺首鸄后紵/B緳8o蓂轙佁炾'鰏+<9l E瓒s滼折葒H谨朤zs剀w闄"]+#侔eDe忏韘thCk3痷峴体葨敀:mp鏊с襗 ;嚮\q軸躵2\ 聈{腗N~99R:鞫F<伓謭7哎5 琽崍)) 稦纠ZE跓芓棴熜*|馇PK ]沬2茹鴰&com/sixlegs/image/png/Interlacer.class峉跱Q]-dZ@馬qu糰浇墘c;攣^3绹^|衽D聊W?南P>)`0盜>{斫霈侑腚7(樍,唒-傾0\gpn0芴2苁6铕蒭杆p忈>唶i胎馠`犲砭荇jA槐$ 榚侅NP髅h C*镄wM 愚n1责C1j国蓳([X] 齢閔B}.hQE@+W玈疕糞蛟4赞q倲羄^鯃IsqkQ/朱6鈠>蓳V賜G嬃 梑G浙舨乹T 溒gL唖 #8o`V <乵死e)NJ湈槰uZN6鼺-;涰哠mG㑇荧鵞冸轠蟟zD/糦鱧慭<*X橑鴯>u偖x郅S姖蔴狮瞋噀,╜週皍媞,舚#}1 t!:Mq摸 a+H1( 猰@硧协娸E赨W35S軬6.N购鯽:,?!e阓愥I(1+ eO(- "欗(鴈Y!.O瀀V掤伽昿9孟SHZ韬G槫鶒q杪X'InR簰埊(仲BO瑃戨%I鈂_|/= 邰}1潆IW,C∵E糠斧B=|W矹ErU9哉緡>FM軹!阀:i+в枓Y歎柰漱,PK ]沬2=))com/sixlegs/image/png/KeyValueChunk.class峊kse~顿d粉B缾F 4MkPJ&夽羵奒66賺汳/x罧U+83齔g e,冞g傰淢趇!沭a蟵搠転s鰷笄靠輫=鴁CI) O鉿3!鍺0鱸3蒦袗茓b8ーX) -8蛼6=米桾滃鬁 缳~攅4\乃|SqI舉謞E莲#┼5 8弯 撟LBFAV匬1蝔9v撶wS脵dR蠵勁湱牑 綢1+x聵2檬%喂巌K餙厞8bZ; A頛.袘渤衄涘擼,9Yr$%'!+cg蓞-澅F嶶G巽唊xV銺毶垝k赩Y#Aa厯 瑱 5臈 玉辸w>旄A,K<袝gt 鄲幗 s2W啱牏c奯1C3v1Q6g "WN楨#'%騳剖0YGバ掣︺M讥鉳#-Z鰐mG 稌觪滳蠲:灻爭0`}`NGH0j9"c,髿菷%z C(芗濏弐%D<4H魏b衠屬憡[M,$畽/.}堁~:>熲3熴唲-鴹澃潰岙謥r蹓殲7N怇o4摨X5`_8萯^ )?X0NK_醟哞笁o; ;^78刾ct驤A#k+%5_l副 g毝VkG=荤U筫k貿剷s骬'it苜u睤靬{E1H痴hVF$,毌頖犋Z驅筴\7挨﹌絁}R>+7+n[┳C9ycx(需;/'<駄|?5Q墇餯橏6坒 -<譠G=Si幧鱱)廫Ry缵廒┘醲S翄,v9狄* M兎.)~筪d毽x儣4Y &!N=BH豋\;i4 /B(骉{4u綅tJt鄆嚿攨:Y俯 葇 帙O]翾⒋陉F)簈]贰T谦hn粬爫-l:6蹺k圹圱眎砜秋b舐C畯╰蘒0 逽Oq岊*傯磅nw DnMmM盖圖誄.a鸛8恄D竉拊剓j dU< t薬9[|嶠`H鶀萠艓*灉_⺧{麜1w瓘誦w=hH&納\XBl骐"( m毓*/楮泦煪L扢|豾7窟'G傭螲#s>┓暨E-扉-駧&-:Z搷跽D:f]A. 徘卫衔 廊纅摍梇b侨廓衢迫棱湡捠壤橶怷\淶倘垃¢扇罎瀂\悩湙T︶&扇澌ДD s"yXXT掦s鯆3+rR計3s覵 蛞觚Jsr<驤R媟揝+C(a0``貈h6#% 壋kI薼g`V"览卫U4'79L9f/N9PK ]沬2*i登N'com/sixlegs/image/png/PixelReader.class峊mOA~遁鰖 <癀 ^立bE 斢"嶀9郏^疢 '峗麭R餑g j戒鰴櫇澷檥vA屷檪羲h莯0$c譭 .#]AbL 4&n 醵 wBヲ禪e杷逅gレ扽碦窐毘%釕az>9j筂s跮馘斸V饵U縥%殟8趾+癴0HB7K>#-瞡;为bO佼硐0L茮鋦 蜭晉晾冲匯jy踖讚&39(u|0寗!岙娝楾q殜嬭V褖. 鱐芮磩0+帷9tK泉樓倞KByも1UDq^偂 灙萢墶可俄氬D;&贄遧Zy昝@觠徦`:.y鶖5U齄籡T留M債▎隯宅cz炲1 疯鰫XE9ntG4 涊豶呔6鏦(f_+"b亰輅h?i軖) 翏Yi8薛=鳰S喍㈠焗s-9杊M黃g购泫V堿6玌s'_0桉苓嚌10 鎶嬂#姙蒼Q%崎畍]墌$u Hl& 6t盈^%i湠 `B#邤}羿>傶>肝d:聈骇堨C謸 范=/F?Ca/泡C釃4颕圁:偦萮\铩鴪惼觓褕01-|U鉠笎纡+矐D{养.秩-I5氯蝕湜>+i.\&u\,"碭/8-xy淣楦HG!}鬙懍幮C橝PK ]沬2k饈vK(com/sixlegs/image/png/PngException.classeOMO1}"蜥輝Z0?@聟x 乭傫^暴5KK谾鵜r憚?E渆巾4漣珲統=~`坁<5#\2D汸k鼧$齡Bu鈄*櫧)Ri礨鴯柄.囅+n刕/繅QG槯]47K欃g卢b蛯G稫钓芛B$e湗>敽Oo)_R6i彗*薠 专驐x髉癐>倒宗`凇鄂wP崤澚ga4J鬿_PK ]沬22,com/sixlegs/image/png/PngExceptionSoft.class;鮫>f]^.N僚卫臀烂壤f摍梇b侨垃迫棱湡捠 摃X枿煋槜\R敊梟泼朗"8話髎鯆3+rR計3s覵 j蛞]+扴 J2篌傮覬+dP簬榾h #;%A"Z72@衵ùP9H洊鰒&<PK ]沬23埯檭&com/sixlegs/image/png/PngImage$1.class;鮫>f].vVvF梧始拰話蘢vNF呬黒虋溤鬮苣鬞齻紅齹紅OG艕憗亼伹3//等9'备8禈慉 +,Q?'ㄐ?)+5箘慉9 @S "`b.8# 惻PK ]沬2O殕mj)com/sixlegs/image/png/PngImage$Data.class匱隢A禲肥E+"(璛甬 坢慚H$BHd貛磬v垤螝鶻㭎毃|(銠軲0F鑜r撅9sn怀縹麎!,愕塓71Yb <2憥暻灅0b濠洗x6琸鯞 / 糱:m/[苭O鴊^晅藝翾m峚膇嗈'睳㧐葆AS馽Wh噹 Rl哃莖證G貃哱s殛絃坢7 脦!#Y鐘aq譱肥侅孩攅7D广5蕍u肜:≮W距-澇)x] 砱╄鞚闧6:J堿顊5r7颊=R旇狫2摵_I鐽悒Ds 諹 $M撌SM鋀f稳风5l璓鹅O5厭漑棡T s匒視v]0敛=O.60{~時X(岙U ,1岨麉X媚 1iaS驓蚹QB吐俧嫎0癕(なc p999>h葍a*D*ο髑 輳1$ts袐:夝 "紛k^O餏7紖oc&;槏p.9烵馔'笎郻攐\涋i1贙袰瘉鬳規槎媫唺邞~浊p#D 才1f骈迏SjE4軬畤嫥.}E糐X,薗-)b楘`=畫绚b=l诵6眳?PK ]沬2B萾-$com/sixlegs/image/png/PngImage.class: x昭骎睼Z痮o'v廛婌$憢贃c_鯌`ukm 藪愔塎RJSh⌒円謎 m(5IH -J7-簸--=-%疼]I東%o遻s紮y箧<彘wz,癋!瞮"[/伬螚 $86H掏.斬F秹啗%笩m賄 $vg9皐15垌#矚,巬\倈V+琋d^ VOX;╥怈c>jvRs壢憩I2Zkι懙吟=4覨T碓霠E;┵E蚽毣旔篋v櫮霭薸p赁KM窛%咳鲅穱8p'S╅ウ彋~j傇\I5!悮叭"\潭彣犬"61懪%`ulHb 圪 靯Z齤煗龔mbg5床沰壡Ev}?$矁剕 >L王剆5貵EvW-vv}?F屯vv }言棑 憓R俕}蠧礋r爛穵煊$鑝v鷡Vb焎T"溝嬱 4=$/掯缎州N该洱+鶁J霮焖俄鶊;L蜐芘緬 K豜詜晥屁w7A铩拮╳/璼5Gh額= 玻苣帀旄7砪4 5'绀缙 0!盨4眫Hb撿aj℃Qj蜳s枤迁:5 q7嗓[l圪(9$'$鋫$蓫擐$o$竾綩Kp/}-瞘D霈染染pX嵳嘃窀g`k~v(T徑v冹毼鷝o[w伙2/硒湓F聁講鵆CyeGc懢鳙 $im$J|暺+CZ0T萼忳k䙌!u 僜O{醉m甿5颼P#嘃峋陃- 鳌c|桝^'米.乮g逤):;7}ш减炍茙灕& 粨A~澂降延枕酱单氽軄觰D輲:%绗娖炄`u<8R樟A焃EiZ脈>,'¤5嬆僸-!5Wo椱b垚W垡匾州颜觏扪骈矏)姚=嵀 Z慟 罢予龛膫朖伌悫丄裨$/"_s嚪S胝嵬'Rねz/u I<K綅D皾胍在鎚o鞯4蓾途庮捂K歔v7+餫m|祄-8浵磞陓ぬk'璟絤缔謳NR,3m^驀]辬i踻&拜友賳`攭勼俄猱=5-崫閿董羛P蹎*93=p.魩贖稼;埽F ?7琷諠mo1孴! YA*t敛齺潻5芵墎?萞螪嘬@87F霁I<<򧉡 鯋F 蔯闡Cj\雸D"聧j祀宗愿叒u普榳8 玜魘巹)D@]0 鵊0G?睽C偊8I溼q匫#F煪ノ)&$d 門q#0Y澻p 俍搎%B5䴙伨Xd(對 褄呮d'>囂韴;喧箶>]曯苶!6A狴8騾55蝼谛誵妔覈yā'眵做1并溬柳帢$捭!<7鲄臧j奃 狘Q5Α+緮〇}WbxA抎A 4鲱Wc#Z?襭M8v敠(<0僟訓脑>宎x鑨洔3?o饑!臾橄H1 >宰ZQ_M#賷fP2滰{鲽t搗!褑im2綈 2肈塹\呒羄锇泮^埼S婘{z蛨渮觏コ掑茔#硓 O軥GD.+f7 筩沘i躿] &EL%9 l; ;拈泂E;F銟テD鉞菇罰hp羞AW2Z--6ā()驹筭頧斪屌ж螏秌54r绷9N%薰蟭囌PZ遆焕`熓劬'd捏叇纡N獊斝婲hB雰!5"盟 6詛Md?斮徹s"虀聻 溓`. 2| 灃貽幛虀/鯌輖掝 蛳e 鯧LF瞰秒m姶霿2{扆Zf縼gd鯷鰭虀莮/硹貹 '饏悤?援55 !z`├xQ監U芡绽Z迉?伸)H賚%?癢e稓筪鯣鰵 o"<O署5逨灌-x[f70型h祫T響^Md给熧_d鯳xGh;xN怡蹢堩2薴瞚臘`椯b'7龠d鰓槓?'5oQ65⒔75颬霎涛; 溣媁74882Um紞!n汅% @籠恇|t> 酁 Q笆B賤檐隼 揎=t+(樊┽>鱥m鳍$5RK臑蹈:锣P\幂噞0鴆#Z<t閟"[擸!珢;ゞ翋- 晡@泩敛 賒j乊df鍤g8'謬 k)毾K谈\畐*饬毰弣Y悈jr1&T8wW*V薆瀽忕o惫o迻票昹,啅Y卢, Ex,e瓉矕,E數E嫔B0_J2[聳5J3?綆悈匓,斆(,拝甏彈癟X& 搜艆翵YX%8ea掂拝J譅崊祩E跁t*稚l┚z啙銔25腭覚3薼 [+砵j猦耋駩 D-  ea摪Y度耉"a,\L蛌j<栽PSKM5^∞凑遭o蟉鼎圩P6J+6sq8;姺筺O屐鲃棍)i W縡声gX5q醅Cl_胟l,q6n馨绗T6蟈庰4GN璳0禸茞V嶋}仚H(I蟀f@ O烻痏揗 蘍喯$旂貯VO(7^#刹展揱\惲Fgf~93m>c疁r苽O 喕? 癹&i<=9阘蔷R獿ヶe!uc"礅?U <+ER>:傳U酚L砸ImQ:(@Y籆誝x鴅緄 6铆宩#)焇 S 鉹螖&R苐葋r羸yX;f秎櫱 $:丠プ~Y疥s驮抩A⒅s忻1`坞╚汨# 獟V赝鍿u凞19物粠埦娲e湉\殶埸t r3唆楰T4U澢欄RN襌 獪京諗}(脲懲嶒儶9 谠礯8誵覡v-bjU焯#雐躂V騘LHf臣 #罸檔yz蔏务<窘慩譠1噯yd囌I棡*b!,鴽*/醱"YdH`<@ M~㧏犼串n5^CR_J%'F蚏{v鳔{╣('䴗3権,{BN|戢僘X腧; 畜锹"廹鏜堍3LN%欛帟偽%0z?l鑏9A=將 x@/遊瘗f峤千k格淫1簼GO+%莞N沃7鮘巂>H#髲鑾隁&:欜f8%%猘:73 >尅酤B}鉗孊婳N Ez岄\s滫T貅铓2簲S語z{qG 2 鎯up纀癝骯&p絰胕惃みmㄢ狃G嘌 幭民譙七礼沭湍鵣}戍=趴@e:嘺蓨逺x6e帏)泔狲)帏)狲箶駨q鼡4~惜宊礼O余?K强H2m4~/αM毤縈) wi煝^窿pf匕P鈿5 BWX *惸:Y歉羅?惉啌 ] Y渢'8埑R締-Q亝S姰JD惦▌鸷佇孯袿5 p {┧& $犬 棟鸀苈糏蕊*唫 (団4= J棲瞝鏉擏'僿5.M/#'羫Lg5(2\`㧏/18藃_ 鮹鷂kァ2_港濑f輧J撢t魷I(*,焵Eg\H必 噴G`I1嚗 Xf阐[傒rc貔匉刬冲\浞鈽駤赀E丄懙駻Xi9-x暪轠鸲^乢F'r毱q⒏穬h4锌$炸/銢1獹 "k`\廇濉4;馼c"}=T諌5d紱怾G蝂 5U;7-岗P嵮_葑玑椑挮鸺qXwM鱫z21舔衹献瓇 豴_塽w&I$f捸 贅I"蜛)撃帥:涉LG俤橝R2卍嗽絆%曟Xmk&I6 2脧髶$箈 .受t椛噈$,橡唖.顨韷3嘪鑩:泱峘* O僩崙v蜝蜋尭黍Y伭j-Ik'‘x'5|b:X!+2竆巗匷$;拿 }绑 1鸿8\BL8瞧Q轉鸩骆k-41 璢.膢)h*yJ^<泆郄诞骆%粮~$磯gfR柊錬儾(I侃S钍$+滿莆q貪I瞏6扠)昫a")唒B_x篖)c譣硖&漆2⑹G貌I雉+蝎轠={似羅;阈33臓$,Ow*仦 6o ]崪Q>)]硼z>咲"權!魱剾汢鱮←$佤廇v#軱潦3歉輬Q$z6$s艈G"+)]匍-桌7.B]x岺V=窣铩 孋瑷i盇4詡S猪誘u "E$tf溈阧$ Q\c 鴃'镍f-K8掦R庛B,"#-g+兙稪~UR)犵o}昦諈構1DC賴N陙#櫮s&v1坍禅=*蹄梇8爝 潱(scP`M嚂0<傍沏癹 采jq[鶟孝豱(!2遺 .嗺 茆SC"}饉纽垔榦埸醟[起\$A-ml鞙!]揌W恵q7躪x謏嬉誥N既曢怸.*珅0tU柇O^忌4\k,4|PT噪N脟袊G駊敪窞 pP@崞3摶d0c綼 鸿c鼺$碭 箶憥潌:H[rc噤$t-凼i吢蕆S4 饨扭zn<平"劌K b侒<窔@?4鐀mf蔑犃I俯薳溑 鳻%鮑z:< 7w怪L-洯\薲陘艳UY奩09饨OX躖J蒟Tヾ櫴d痚茩*s1魷0嶂鉖= +IkYr裃扔7鎿孉鲶7巽*a( A鼮M趜[rK軉焪夊颟W甔0@栫埙>,m*w凼玁困t遨!O毖H{6嬠隺讣4刷`5t雗冚犩1(W忑濮嘤稢q惁++莦媌/O灧8ㄓ 碡迿i縥SG旮/为銓%Po囅竚舍fQW蘶樀枈妢>K傠V壃繥妱Vp餧搜?钻蜰錝>86f?镂Ur墅輞 顋襟Ew丷髤J鯲nXV蓋Y芘JQ鵤P菜暍)篙(瞓U x濺韚棓f)嬞Z鱸e^5酁w;T+%姴譣姛颐f琞當,a庶柋s*%鍔傟攲漿V)Rr骱嬈屋 篥rar龊 莆吀fX蹺JmかR)耤彾<邋鷉6>G淁H|垐迅眪b騺缫}牢蜬D=碭叭眀%3 w鄒馥釖b2myX譓聺8寄&.靰曶瓢w7镙兘藿鼗/懝18巑!.q幮鍔G< PK ]沬2h?P%com/sixlegs/image/png/TextChunk.classE1侤E* 龆Z=ゥ$r7+ 丒醞繡Ct723銐168>儻曒^Tg喤j︱&E&G[%Fo)&'3i争g$6R+轐 3陃椘\.ち2.rQ'm-挏dQ姻摭Z 兔)U滨F杷u=Dw7滛>PK ]沬2三_唴 /com/sixlegs/image/png/UnfilterInputStream.class昗}s漷.莢| )槃夭b4犚86 'mIc鈵`B煡硘醸:"0/ゼ m10f,;Cht潂剼莼嫬宪>{鲥賫N繜a軈軏盍巧N ^>!cB茡 d+堗4+煀岌3 &〕n姉E -Wb2媚dr柹覮,稕eb3)澄a鴊dTdT炷x.搒L+H⑽fs坚揼儋sQ<痐/鹇{"K/qp/除蟚""3哵4*v)攇3U硁茰誎F票K櫻櫄欬醿菄葧蝙q髠!@ O9!橏t%勢G侮玺L5由漤iKw岼辷j罡[1鬥潑qN@鑤 5祶;:縵臉v蠖251紎,潥eC/智貃杼舝来MwD6閷佶V鸘 1驽Lv锍Yw 廝绱zq畤j轸偄7鞷6=蛚讜計接q骱s幈縒溉銸*駁捂S;}樕Q麯拉5籦%沍恀+*rl濈?庠胵汫鞢躊沩涺IXK;抗绋姾;15o跢e寓N7ㄗ鬈镤]4A豢厵{S泇x蕇膑揿 狏-R苍鄏U焨,汇'{T鏦醂絅)窟&|K/|%揰jEg 鏠轿wD0𾥾;r+絜a杅\擺L#恒6 錪P貭曗娪玄m-=⿳vd鎺佗潾礧L疶艄B贆恘輛l戡Qp囼洦 蠚6]赭星 鐯7%$u髄{<p饝?饑䅟纒貊唆!I嬼' !-~m"斵粚2&5D&疉瀀E传珗5·鹏2l駲:诞bk綽 :G疑Ute糯破揗t鑖圩pV$^]FM 焫Ek 稷/堳1嬆n臟Huv胵if$檖K&詃b挅艅g`笋.餿%鳳Q}@V瀏>%粚 x斬-胭}顲Hˉt版W+傅 -}j6狜;4>eAE忉Z28嬳qJ]犜4比薖V8]b弎 澍E旒嗕5欷S菇粀w腤発籛q鐥?淴镥挷"Q鬨&V癵$閏%捙崞诳鉄Pqyw殉嚍g棂終6:G菅D_:蹹?蓕迲 ~遳/M緘傆桡见X阦┛宾6X=沘m鲃飱n狸纶zh簋虑灍敩而m?1謚魎銨柽穵T[i=蓙 'f&軼鸐wP嶱阋76槑鏷祬窩倥绯"蹦|V"枩螰4Q&礖1+k2礦6狤/倛K挰I舕L嫳"鎾$场)琍\扝[)W@PKZ虠%-馇$痫 悙颌\擯X\赁ECa>圌男g蔓莻B蝾8+&絙.鄓骸睥州 恑Z% $8熈$瞵凄迍&Q菁溟*bIl胄&z99湦銰k !$!勗C+N)d娉 秓挰?E壖佄PK ]沬2萝%com/sixlegs/image/png/UserChunk.class峈貼翤=C懖岥倞 J jM|曾氊勀x04 S锗g櫢区~旕NQ軟L2w=魈<<com/sixlegs/image/png/Chunk_bKGD.classPK ]沬2毌歸= &pBcom/sixlegs/image/png/Chunk_cHRM.classPK ]沬2澩m陔r&馠com/sixlegs/image/png/Chunk_gAMA.classPK ]沬2 gO$& Lcom/sixlegs/image/png/Chunk_gIFg.classPK ]沬2癏_鲚u&圢com/sixlegs/image/png/Chunk_gIFx.classPK ]沬2:卤&㏎com/sixlegs/image/png/Chunk_hIST.classPK ]沬255蛶&濼com/sixlegs/image/png/Chunk_iCCP.classPK ]沬2:窕&pWcom/sixlegs/image/png/Chunk_iTXt.classPK ]沬2窜磴&玓com/sixlegs/image/png/Chunk_oFFs.classPK ]沬2e.&襗com/sixlegs/image/png/Chunk_pCAL.classPK ]沬2探C{&com/sixlegs/image/png/Chunk_pHYs.classPK ]沬2H=X&dcom/sixlegs/image/png/Chunk_sBIT.classPK ]沬2伌 &bhcom/sixlegs/image/png/Chunk_sCAL.classPK ]沬2,片J&^lcom/sixlegs/image/png/Chunk_sPLT.classPK ]沬2Y 戙b&Npcom/sixlegs/image/png/Chunk_sRGB.classPK ]沬2锵&uscom/sixlegs/image/png/Chunk_tEXt.classPK ]沬2涜竦 &縯com/sixlegs/image/png/Chunk_tIME.classPK ]沬2陟Gn &#xcom/sixlegs/image/png/Chunk_tRNS.classPK ]沬2缄 &畗com/sixlegs/image/png/Chunk_zTXt.classPK ]沬2揟~:p.鴡com/sixlegs/image/png/DummyImageConsumer.classPK ]沬2;Z3P2,~com/sixlegs/image/png/EmptyEnumeration.classPK ]沬2Ch0/-com/sixlegs/image/png/ExDataInputStream.classPK ]沬2Y搼庭(icom/sixlegs/image/png/GifExtension.classPK ]沬2構_+Tcom/sixlegs/image/png/IDATInputStream.classPK ]沬2茹鴰&崗com/sixlegs/image/png/Interlacer.classPK ]沬2=))Ycom/sixlegs/image/png/KeyValueChunk.classPK ]沬2睤#@*}com/sixlegs/image/png/NullInterlacer.classPK ]沬2*i登N'com/sixlegs/image/png/PixelReader.classPK ]沬2k饈vK(瓫com/sixlegs/image/png/PngException.classPK ]沬22,跍com/sixlegs/image/png/PngExceptionSoft.classPK ]沬23埯檭&褲com/sixlegs/image/png/PngImage$1.classPK ]沬2O殕mj)槥com/sixlegs/image/png/PngImage$Data.classPK ]沬2B萾-$Icom/sixlegs/image/png/PngImage.classPK ]沬2h?P%[com/sixlegs/image/png/TextChunk.classPK ]沬2三_唴 /Dcom/sixlegs/image/png/UnfilterInputStream.classPK ]沬2萝%com/sixlegs/image/png/UserChunk.classPKDD窨javapng-2.0/benchmark.txt0000644000175000017500000001261210646275036015417 0ustar paulliupaulliusrc/test/images/suite/basi0g01.png src/test/images/suite/basi0g02.png src/test/images/suite/basi0g04.png src/test/images/suite/basi0g08.png src/test/images/suite/basi0g16.png src/test/images/suite/basi2c08.png src/test/images/suite/basi2c16.png src/test/images/suite/basi3p01.png src/test/images/suite/basi3p02.png src/test/images/suite/basi3p04.png src/test/images/suite/basi3p08.png src/test/images/suite/basi4a08.png src/test/images/suite/basi4a16.png src/test/images/suite/basi6a08.png src/test/images/suite/basi6a16.png src/test/images/suite/basn0g01.png src/test/images/suite/basn0g02.png src/test/images/suite/basn0g04.png src/test/images/suite/basn0g08.png src/test/images/suite/basn0g16.png src/test/images/suite/basn2c08.png src/test/images/suite/basn2c16.png src/test/images/suite/basn3p01.png src/test/images/suite/basn3p02.png src/test/images/suite/basn3p04.png src/test/images/suite/basn3p08.png src/test/images/suite/basn4a08.png src/test/images/suite/basn4a16.png src/test/images/suite/basn6a08.png src/test/images/suite/basn6a16.png src/test/images/suite/bgai4a08.png src/test/images/suite/bgai4a16.png src/test/images/suite/bgan6a08.png src/test/images/suite/bgan6a16.png src/test/images/suite/bgbn4a08.png src/test/images/suite/bggn4a16.png src/test/images/suite/bgwn6a08.png src/test/images/suite/bgyn6a16.png src/test/images/suite/ccwn2c08.png src/test/images/suite/ccwn3p08.png src/test/images/suite/cdfn2c08.png src/test/images/suite/cdhn2c08.png src/test/images/suite/cdsn2c08.png src/test/images/suite/cdun2c08.png src/test/images/suite/ch2n3p08.png src/test/images/suite/cm0n0g04.png src/test/images/suite/cm7n0g04.png src/test/images/suite/cm9n0g04.png src/test/images/suite/cs3n2c16.png src/test/images/suite/cs3n3p08.png src/test/images/suite/cs5n2c08.png src/test/images/suite/cs5n3p08.png src/test/images/suite/cs8n2c08.png src/test/images/suite/cs8n3p08.png src/test/images/suite/ct0n0g04.png src/test/images/suite/ct1n0g04.png src/test/images/suite/ctzn0g04.png src/test/images/suite/f00n0g08.png src/test/images/suite/f00n2c08.png src/test/images/suite/f01n0g08.png src/test/images/suite/f01n2c08.png src/test/images/suite/f02n0g08.png src/test/images/suite/f02n2c08.png src/test/images/suite/f03n0g08.png src/test/images/suite/f03n2c08.png src/test/images/suite/f04n0g08.png src/test/images/suite/f04n2c08.png src/test/images/suite/g03n0g16.png src/test/images/suite/g03n2c08.png src/test/images/suite/g03n3p04.png src/test/images/suite/g04n0g16.png src/test/images/suite/g04n2c08.png src/test/images/suite/g04n3p04.png src/test/images/suite/g05n0g16.png src/test/images/suite/g05n2c08.png src/test/images/suite/g05n3p04.png src/test/images/suite/g07n0g16.png src/test/images/suite/g07n2c08.png src/test/images/suite/g07n3p04.png src/test/images/suite/g10n0g16.png src/test/images/suite/g10n2c08.png src/test/images/suite/g10n3p04.png src/test/images/suite/g25n0g16.png src/test/images/suite/g25n2c08.png src/test/images/suite/g25n3p04.png src/test/images/suite/oi1n0g16.png src/test/images/suite/oi1n2c16.png src/test/images/suite/oi2n0g16.png src/test/images/suite/oi2n2c16.png src/test/images/suite/oi4n0g16.png src/test/images/suite/oi4n2c16.png src/test/images/suite/oi9n0g16.png src/test/images/suite/oi9n2c16.png src/test/images/suite/pp0n2c16.png src/test/images/suite/pp0n6a08.png src/test/images/suite/ps1n0g08.png src/test/images/suite/ps1n2c16.png src/test/images/suite/ps2n0g08.png src/test/images/suite/ps2n2c16.png src/test/images/suite/s01i3p01.png src/test/images/suite/s01n3p01.png src/test/images/suite/s02i3p01.png src/test/images/suite/s02n3p01.png src/test/images/suite/s03i3p01.png src/test/images/suite/s03n3p01.png src/test/images/suite/s04i3p01.png src/test/images/suite/s04n3p01.png src/test/images/suite/s05i3p02.png src/test/images/suite/s05n3p02.png src/test/images/suite/s06i3p02.png src/test/images/suite/s06n3p02.png src/test/images/suite/s07i3p02.png src/test/images/suite/s07n3p02.png src/test/images/suite/s08i3p02.png src/test/images/suite/s08n3p02.png src/test/images/suite/s09i3p02.png src/test/images/suite/s09n3p02.png src/test/images/suite/s32i3p04.png src/test/images/suite/s32n3p04.png src/test/images/suite/s33i3p04.png src/test/images/suite/s33n3p04.png src/test/images/suite/s34i3p04.png src/test/images/suite/s34n3p04.png src/test/images/suite/s35i3p04.png src/test/images/suite/s35n3p04.png src/test/images/suite/s36i3p04.png src/test/images/suite/s36n3p04.png src/test/images/suite/s37i3p04.png src/test/images/suite/s37n3p04.png src/test/images/suite/s38i3p04.png src/test/images/suite/s38n3p04.png src/test/images/suite/s39i3p04.png src/test/images/suite/s39n3p04.png src/test/images/suite/s40i3p04.png src/test/images/suite/s40n3p04.png src/test/images/suite/tbbn1g04.png src/test/images/suite/tbbn2c16.png src/test/images/suite/tbbn3p08.png src/test/images/suite/tbgn2c16.png src/test/images/suite/tbgn3p08.png src/test/images/suite/tbrn2c08.png src/test/images/suite/tbwn1g16.png src/test/images/suite/tbwn3p08.png src/test/images/suite/tbyn3p08.png src/test/images/suite/tp0n1g08.png src/test/images/suite/tp0n2c08.png src/test/images/suite/tp0n3p08.png src/test/images/suite/z00n2c08.png src/test/images/suite/z03n2c08.png src/test/images/suite/z06n2c08.png src/test/images/suite/z09n2c08.png src/test/images/misc/anigif.png src/test/images/misc/cc1.png src/test/images/misc/manhat.png src/test/images/misc/penguin.png src/test/images/misc/ps2n2c16.png src/test/images/misc/u_horn.111.png src/test/images/misc/pngtest.png javapng-2.0/dist/0000755000175000017500000000000011755244626013670 5ustar paulliupaulliujavapng-2.0/dist/javapng-2.0.jar0000644000175000017500000013210211016304456016274 0ustar paulliupaulliuPK u焦8 META-INF/PK t焦8驆勥oMETA-INF/MANIFEST.MF驧趟LK-. K-*翁铣R03噱r藽q,HL蜨U%虯椅E〾%)篘 酽z駟I& 隶y 緳蒃暸%┕ 瀥蓏毤\灩9┕﹜%%@3f亴沐PK p焦8com/PK p焦8 com/sixlegs/PK q焦8com/sixlegs/png/PK q焦8飉`篳)com/sixlegs/png/BasicPixelProcessor.class峈MOQ=3觟* 將ZZmq狲兤豀B6 鞞)潶3H冫C 6nLD&n' 窦We亞丐餅wr=鬈y~ 爠)6懩:L鄦:n谌蹣0jQ,悰瘑;錒v羦Tn5匪O(朚?朼sZ缼鼭V#DE 9#2蜔YW橽0焺礍爓^6儏轁蜖解o6若蛧U勘攴ズ&透.2馱9?捳% K戆DQ豓s岛'縙芽5),佻8岧;予K鷐噞塽诎;媅[Q@鸙g9Z岥(鰤鱠-駌港悉oc擽鹢 2(d怋:=6苈 緼Y`? 熚:漙湔B囄X笯殕tw捠s膪+写濓釈谤LP ㄙ5#桤象冀廨`-|(彁(d廯|袎<鸴曜f⑻6S,簝 dF篹溉 h凢JH婶ST藞aXZ紴3摺筐壃k股'槆X蓏夺トn差ポ敍>垃9 ]谫(-緐尼章礭,孜mx东lx┟鉶纣擓KZ.=父廇<@q訕c|秩o岜鲋bM W欉C/Cx並D)尦2Q歖+疅鞝+ (%24 Y]#J瞗DO< PK q焦8OV/com/sixlegs/png/ConvertIndexedDestination.class峌mSU~n6Yiヘ赿i+趩V枝PI乂%俾v抣f焢~漣ǎ巭78?>&,/"韲渟钶篁<鐪蔹/肅iL覴\觪71颖nJqK娤逵Y緪a穟掭諴J鈳躺藋)頙癀 e乭dK痎h筟5g璘h6 3N+pv鄗 -縍鬸谦:5仭]7儌[纷渹炸:[{ R峨蜌/X)夹[蕷q?&咣埇)16躟J郎 蓏孟媈介5淔跋'$+8Yr诬F}振镔5摁暭奭[瞹W灮棻`%鷳`+z崸(N鮜筲沶5Xg賭齅<:R-'鸽n95N,薢$p岵q瀕熦鈕?61衍踯衦1駀&>L裓癧併 溚CZ鲚@R锔M迒_q;<:皩辯稿蕱 䁖k芼-C0653皥+轊F脪d d烁亖b滥埨筬s 媿諪抽鶃S漮:惊rs4!`竢珀l餚輵吙60嶬.藗焷趄=X佁1 J耷/ˊ/;蓫 囄 縵!窮屰臐X爆紎{z鱖Q捩狸湳睇鰒舓rA蘚i蟖~鯄S v_WjW饮澦侊6著掳i钃CU'绂4G︳@Wg粴儯掷蜶篝 Q末鍴s磵9簝Xq?秲D歩>玳9磈Is@Z蒅块mb蓿F掤酿)R渏.遝V緜8郢樌9濉<%Ye] 迗$(瞨3E7筴詖6VW幸聃馜:=误韽ャc4R槟翦o/ E`<衩丝$鲲/烱S戗|歖o袌d豺r笰Up嵃:&q ( $盰!蒮▄Hf擵B 哨黃(6 ]6c2姮崗.I">顠]du侍 8{爐>司[ 賟 嫢耣┌X婟?胋vK,,#鮛洋狅 酤諬箎0孀命z槦飖7Ej%{倭?蔨V賺嶰7粣焺c麨娍d<&蔌駜瘰w!魍9&曠PK q焦8,╙  com/sixlegs/png/Defilterer.class昗kp但曋kI~l臯0R[N8!@&僊匹X栔禓朤i邸猃.P%M~ZJ汵в∮檝3艋籸鞇@鲛橱瀧炦9wu`~В c~D盙飞釃r竇:罾^I)嚮tw胴噞4塬美}钭:腃鲠晉Tr>&嚽u<3O陎 Ok唃t,艠?戵~9<+囩t勸紗熽8?擈_衠?椇J陳怎傇酡啒啑4,P栁 橅$v'氂规x6?lw+1碅@IъA瘐ロ-V^緅拍P>cy:╫O鎲殝檠5Pl蝕;樱VΤ怟Z舃瓳A>设)銯x沂賂G巡)朴#准淤唇I`C韷倾g釉窼@"棽傢楝u蒺P烾貫杷pオ=桳dv& i鵡ZT炝4-;M?澅瓊%眵o䥺阁讀#銙鋼休晚cyJ糌Cy殄f /捿淩E洆6:Ljl嶳G籰嬱陿;塨qu]襕罓-6f[臢M芇Ks 殹IFg7p9=皻w叶tt[;(┚醻佢3nI貕兔R橽E┣ニz酣孖霬飸∷79贪鑇&墡t.[0!迷彻g3媚寈 Vq8#峬缑笀a 艘^A弿孹^魃乹-unT&檦踨犩!p咎B鉟锦 夝Eq覎w 漶椺& La诶 抻鹁乊营4;癅"Gq& 9p锶琩n Kxリ蔌折,獄郈93>杅|"85鯒r鴷哋 X噵 繒>XUN屘壅褀 # P} 3^洂曣J膁cd潑J亰藶 N)炸書Yq 峃[嵩敌竬萺S纶$M1K竈l.p祂孷駵?Q($茠O <擋-潓SmC黐v}v蝅!N#洽3ɑQz$V, 蝑~-Ysy璻鸗g"y珪歔靐鴸苁韐}殪=m馶;鋕艼鞛椎,簶_澲鄑8犍!涯猟#U%3.蚹J3{3-匠謊9r鯞癑[9n噗(\諩!(嬛M峀B墯$詇X潉7E絳f燤崢枢Q}y 9畝焎屸謶簶_;隥M5a9+q w7qGG%鏚噿. 噿螖9攖倾P襋拧*9/缅洧eA 圢S熼}猺8.]x薁喆迱/愉Z(t2笸耩Qg牱)敺軎o?41侐剥)T礀衰| L!扔⒄0<_o8阫 8c 张*蛺=垙筥6匬*;奩TvWUMz樮錻S汚M88/U30ウ鯙X礬堈5f臕fu8h执剕8!Iシe|飺;鱑媫5e'緲@+2\顟R咠彥J玷这]溄挳e嫣JS澛蕇8lZ冡曛谰愢栆珳8盜9|2硔皩銜P縦妐f閖f镜"尃枫z軑.<庬貜x;y殿 u>E7庛F鼤' $竃D+Z珿R\倲]:;h狩愿(ㄆ,+H誔+谺獖疮嵒黩汗妅!<@}[IUJl!峊渒隆畍慒iぺ]簴旉P讘颌^復D踛QOO嗡E坭[厪颼寊}nC9cz~c6/鑬3*熛6V禽舂嘥撸a m簤瓧p鼼j鑷1%驓c5pd-滅0如 饱.b^S5晝b]訲%jz[z熦綩b饽?摄2,*14駋&N|笯*1rR8g;瞢f#烪茦&賐&I鹹试芻簻}惚r9c啯涘溅憭d戛X <"丐*舔T,h錌&U!CfH.刲R3x暅B嚑:!粟 簅弪M3峏e硆伣莩骙=嵹)D"SX6卻攊沷gw驵g犅46饟 6"V v3#<尿貎垧 y{钅1J鶎夻B鬣飫缈p燄鄜Q舝<$0侕圶嚽R>昊IR~j輯鵷匛獪錆2hG?I8~Iia>H*(t闙=FIa鑰%,jm﹦啘B舭3+X%.-N q玈Bs@.~`7(:YZ;XW曛沠qn非3嶅覑 "凳,檯櫰y璲X璖枂a侃[戁wpA韰抋臶tG蕴4維赥3 稯 .墀s+趠牨#汉濞翁vtuKq塷^稂犯М惀k.惥 7痗諂#幙PK q焦8{貳9!com/sixlegs/png/Destination.class}PMO1}厖D@樿m酅茓芼搷5p餞杅)Yv蒼Q䱷'攓Z恱睮痮f摁臌@G5憋饫!C鵅%J_2絅熈笿G挕―尬=塧LL;HC鱁μ}E:z瑀啌 L(c减莁显A夅鵁A(:駑脡 祍}.m*鶴8!#,u吡((XA賿]T璎/áF 蹹胋s-lYlc垅鍊rwm战PK q焦8eLC%A)com/sixlegs/png/GammaPixelProcessor.class峊MoW=蠟裉8肞 lJ墶M$⿰"E "擩{b?d{,闲(孇 鸿倣7軹狝辎氇5骷g+E题摅罨魑=缃> 柍笇JU\蒪掘嚆6_ksM沋mj赲O惚位徉 d洸討麇搗(愙般栚J膴俐Xvz0^劢p[2濨駩&w忍JV隥獳;l普^穀.諘墛簊+謗脏;n个$霴璅u賬 鸍A+i帱:哐筮U儼}彰8廁s镕L =pz)l畼V蛾6*6闓踆娽 址垛恾砹F鲨烵紉N辑I>賔菎鑉~鬐?2e濠麵:橌1彌|苈mG拌c? },is噠4 4:/('駪%砃!搥 搟2NBf)W踯U節TUG6藐弣曡3殼P拯 3烨_捿昈+猴濭e.3綄嘎彿擀&T(2>7鯏跳励咠滝(W#P*椷@糀-谣K#Xv2v8VzGG淲瘐喺2@0;嵪萃鮺7;F{ 鞺-r╧`詐譹7p溁ド 8亾Ay 4禂A歕歈鼊偍眞杮;z 营9闅竆汞15/5螘/梕"ㄐ/f_.{\髥鉾?籦8䴖k.陑軬/睿I珊樘w8~_*熖V`櫡橓m梞3大餻摙/p襕浠E愺&}藛}5迁蛴9|I銻漇&鎗喕陟,mvp灮).m4篐dT *e貃汮e3癀PK q焦8親漣l*com/sixlegs/png/ImageDataInputStream.class峊QSU頜杔翻RjkX*"(粗R 44@% 稳K梔&籐瞦焲u禅`и抉翶gJ8?@擊7懕訆>旃=畿餃{=_傀`E輝7匴馂棓)轜h芷>榜!&毑qW鶫壂j櫉漗祊吐磪F JQ-东~ +賉a%n5鉨\鹘趀6冃x凉{笨囟+(7vb雽 藨:&>H^ *0濝瘓G^#風T&锷K挖哶_6W]箨佢w2 ^嗤准?肱摅鲿\ff8/`蟤楛8埪唴0硚=焀荧偶Q"巄疛蘞絽晦^6埐s斯贸d<莨CY鮕x5%?霞,昋配鄒:枧zp柿i溑y寘99 Y榳py 竔∴`C柊爨朆焋E圄薘x訣嘣擐E稽J謳m8貉N艔W鼩千VNhG螮/$MM=袲饠闗甕秮A鷰z-td堈-.?,蟣6孟籴&盬;篢鑟曲l劬咥蜺7gO拆,=Q彧綹畣W俶z儾徎2&譤)+脍囜庫胻/頒>昼鷷 蔏1尒Q&8l3郙"h2 獬猹"螕C羸] S稅02vqZ7稣轪啶v炓仠隽N爏|汘|沕,P棨檼?抺蠝恑(蛚|7丬-X?c?-藵/铓H(<覘柗訅Ri橬転惢v|~:x?穚霺跢鉵且s!, i#箋饀Z頜IWrc1厩=滌2w 2脹尾Ys%涚,!涎X:n. 劓軀菈笹X羮u昻恊抏縺焚4"C$閏懴%bu涻#|B34z嚾|:#賕PK q焦8暛~$"com/sixlegs/png/ImageFactory.class昚 `T諜y湮芄!蓯B0j悁括EH %A4卆f 澨Lg&権猆钡[5X哦>*U7A恽麄謪据>韐Zm帝嵌莺吖w扡$"琬鐪濓?gx耧癏庩x 恐鸷7t8N缉c?抟餥棵郦yG噯唠杵╊检5R?縐膨Wㄦ铼."8t蘐俧奡&n绸朑婙M5弜誛鲌#"媢T釳/W5R拨│D5オ)S涾u.鍤:辚B:柸LM:柺,M*u-U:査^騬臲塬VVSy櫕┪咪l52O擓:V9殰A斡揨M阾瑩,员A蜽鼖4┳q,謉墡Mr&K5Y+抟盓杒匝""涤臞憪Z宦第8uZ嵀t瓃碣揓╢荒#珪謝ち#Y獸砖ι僑妎5淰*o餒砄.曀t(泃,[t瑫筡媗籽$WM*A羸56絵M闷u粭-_秥估阎"N,Yh酟&;繖6 '律廁艱8沒!鸲&s澅\<2藤 (ZO苨螝Wc*攍'c浕祸2勖{駉LE聣酟\躞儺\g<+槼1掙苳睅l}歿6w;bM酘.曢逯綡&闻琎翓歲黐咒 [飜9欘蔚涓甼E=6WW\ 蓓肀L,j顢!榰f濒Z<)0'#爱'K玮ヾV揤A垈k鉣眃枓χ谡搄o沐甑HW秢锏雩摗蓜彻XFp諼IWf9乵價@4T嵱zm,泲'檬2r箂檖22圼撼濕v.*蝔"崺D*硥慜n譁屍zF8(敲m覊X幈敐J蔌u$'r瓐韖啩r"6Z揓穔阊𵪵镨灲褴Z卌Z6fz贊'戬嫥$k"3:瘏畼=AR辞涞2Ц#朳_喱9摛~瑽峰Z蕁L'$DZ瑚Z駢';Z珼衘殯k檆蜠尵rZ蝡峞?襀锲趁癃歭W7唇7M癀6F44沈稏濄N猕K-fN+:尵|锥Ix 匢,碊*K鹿碍弉橹抐R2M#gb蒆/潟韦襓収#嶷N+HLu*+5u婔p:濊]o;W玦khkQ\束4Gc蒤<讻懟嶥晤E孪淪S鸏Fd匜UG临c'6M╊dt -闻 IVF》XG)當)+匎Ej&m嗢孪樶S砣a贉矘槶6S&撌r礬c偻7R否槪!趉H yn喣ぽ繿40F,潽壦>毤讗;谣F炁爜k$%U刚饓77#>(轀`-9fh乊c=h#懰鯹u坡昷儁朥 莀N$舱L攍<玁礫蛹盜僞mゲ!筕櫻^誠 ?庣5y!愲鐜=Ф燞(w ;栛.4c辋笃-@1$M唭氒d韧r嬧=`:歼繭3Cn騛鉫A拓=帆#g溠軫謴 eK煚v芉収纀皅犛昇%y扜猰?:亞 醠<2^脧r混汙 rud筷&铏\憥∝>伟OYS2y彃p怶3舚!煇Or梶蕫籷!魅 箺 瓻弫^<+}D傈罰)坋:;挵, y诔殛陎:炣N模枕⿲}2C@鳗S惯栗*瓇Qd鄔镹⒃<(i験C嗣殀螑纤斱GT驟C${5y膼G15蚋!_'樥撦~夃#g宿}滞;鋿'5琡篸 z褿4vs窴 V塎導u(蓖壀+烫3昇<沛顱|盃{90t#bjV胝Xc䦷W怒'诲0|疭Z ] u管q?爬叡邑麕瑚 輋S檶錴52觋VQS;皴嵶赿.W75(崐XIn祊奲[報+瓢踶0{%k鼨g=箶=篓踳U幏竕媢娖嵎蝬u"\菽阂<轊F縆l*E紲W3K锄Oペ)9撞穹谅w袆戝彩I資>d周毄峧隶s娬; n沦Nk我Qbw9Od筯w蒇Y;>駆A踒杨HlI泻8N姹稏禷O蝕q&鏹炾9辯 у尮S欤x獛倖)抍7橅嚩)8覽o*鵍鷴欼~cWym;WL紗珂玻'/犹髿f'Ig8M亩Z沛靟 =2k+蔃耜J峠訅p锖;v7%%萹誜蠘蕷艻犖癙~W嶁爧泶牄%"顶A峬Y蠸w 佐鯽邬龢蛈.gPg:鏜H萕饳园"d槷`遍3B%亽h奶V池6@牑幄ATrxvs鷔%e胡q灑軍歄 嘬%O慵`柄訶素齠欕!xM侩Al淙傕t 冨艿虦^z14蚷,/mU潑a歠E?協 ⒕50胻懻oN78Tz_襃6*N65 Bナ炓A,m 啦;松(鞧)04]B濡n_$.>V>厠彔#蝵瑋镝!,*-}%詖U<私f!虛|' 鳱⒇,2+⑶pI0O(錠+1+&T~嗀4XcjJ鑮樓86db鏜W /爄雐P鵌e5 9TN].砻佑噣B .Sb碎!68癌.0=@OmV-窄屽錯6礢K+5+25頕俄  T8潵4觮昷{J= 觤鹮E^鷉Gㄐ騶E阖娌8M彻42 髚df必颧,Σa{噚T]>r蘝排lk 2隤&汤zTa驷R遭2Fl鉄+m貖莞1l>ざ鉏炖3渳伋' 5緩kr{6馒;鰥檭ㄌEL枺CB钄鮄H+挷 ) #-封}r2豺r 哄8鏊费#?銾\/镟Gnr鴓砪&nq遭#刐餫.苕H醰Gw83高y;锱 芼桅Nq膖j聺な┻)揨V銚*ǐ壔)虪芅軑{PJ輛嵊&5lB熍聖0)騷饔{劸!$eCア纼艉踶耮身s蕞~W#剸9?獈\cf8鄐P寮'灣_燿jiR^瑃钇I樨滠/眬鴓-粒宁6鏹<频咆韁壡IMC臈Jd梗荻'/(g藀蜀 |厰_Z 岃S.椸i讳趔鄼帞,1F粋烏漤)胡/_ゎキN~W2癚A"}D珩s暱躅Cㄢ涛u簖mさ'彪鑭忙>蕶kF2鮨陟Φg咽pmU薸着訽玧:熝{h暛U鵛干↑弼8炏k蒫V臲常晎\咽D愮..籝!鼻&Q﹋芧!1婦線槷菃鯯46WJ񘟍J羍鰡<.璲趯"%跸/鳺"T+Et鮇k^+龋笖铫++Di!斱>>?#婅篌荟厒r^5鞐8i)牜_m"顋斵炂3 峬V]V鵹*G繆闔M( ;媦熫0麗\G纜朦鞳乍N>uX酴胑乍8齲Q"3}蟳B氄z Nz敏柒f,>P,K<oA鐎!G摭F@[p V{偤?鏸 y[C芴﹙5趺楨$损nЗ虎塐l?啵淲l9琨啕 烑:{ФG;N韢瑳鷔規c 鐽諬鰪!9埖璮'Z|Hu鹁憧(縆頇k釜;1侺}椋v毕= N,.2R鎩-.{ z言jziM/4чU%:;r鞩&蒞檵_#P既Cw A|漞鱫連緧,久涭wy褆壭騹≒$n薹媊垎縢羓近b—-柯絬躏 {拳衞秌V鲜淑紱湯*c诼籿pr圻/刹Y 櫰}K铦R枿2旙;K辵䲡Z{+媐[P6洗袘oM栣焢W2ъfr+]鼶&9簈蜼蕹菹[x珷1杲Hz?/琎?䲟檴釛+/ ,}嘎哝o58vC哉食R罧橴9颡ePK q焦8,com/sixlegs/png/Integers.classuRYOQ=.訓倁 (KK佖 *FmlZ\^檀巙刃.慊OH4岀唤:蒠嫖]倔甍lD0姽0F0/ZZZZe匳,"篇5 乥国vE!Q:皬飕g7賐畴4渧迀]5篺鬺鮙F7峮) n禹n+欲 ;Ga6漴锇娲玽豌H荚蘧輛遢 軒B猅of;'蟟t/觌癅肴鰖N褰Br緲E匬☆檍"{璣活fxK<0RR]J 70:at襤诣斞i>偂爌.KU岳)訵!\!踵畳 竼牒0婳笝|砈_ 螷 盕lyb囏%蠅 眞尅1|劅A"BD槇艨c鴘瑶ya"直-,@L+xJX ^鍖W伉#崨弗嫽}烚愁袗億<Cb歹 jki抑i?謣0'"齍:,躢<缼辡爉vl▽噚CGG燒 PK q焦8/*J$com/sixlegs/png/PixelProcessor.class}O=OA}' bo( hlLLH.B偂衘o萼掑栰喛eeb餑'檹麈蚅鎔0B?A梽鰸)LyOhγ9!zpo毿蚅6玕鹓橻f鷻S椅7#r Sn%傎Zb],脑l禎z芜怩掫u\垧吜蘭家彟趘u<5Z貯狷刕%Vrk/*黦e v~+翙8穘継焨;尕';N戰$釋0w^/~PK q焦8璊/# 'com/sixlegs/png/PngConfig$Builder.class峌[PW﨨扰E攢 A X玕崍犃[梔謓6i.z橱觉Sfz欓Efぃo鞮>稄}i熪:蚇&&遷v?啭黦鼷'8;.tb /彯貑~溲U0 5嗠N4b氠 肬弉蜩&徛 3 醉稿"~褖v 啫1Z0錊測嶢e疙/佟(2潦I鏀/蹜貇fl|x*x湓蠕瘗嬃绤杒gZ懀A5]KQ%&绱靁9憪橹窣]T亭4yq,烰陫N5 rZW鮴f\问ElK翊捝妧#璂sョ)芛j4橬++e捁tD工恼.#x[灄B墳藌\SI-摏腿墧F訤掹紥舁扺'U]蜑皕;lI(-ZTu錌.1/顺輖Y洊*_7m95#`嫂ZT◎H]W遥殰(魻=I&5)駥?デ貘hR彥r盖[9l怣Y#1差$J爅桋Z綕浧uxg6 剜;菊览煎vhks {=筿/;鷐m-Om@碭爘2+'#氋甀c檘晈范(t剗K8丄 噋X鞐型袊|钂p湣/{qT`wEo瑬憪e< 7Qy峟授p:濳衴薌擳骤鰸階撡4誧$媞 6棘┭禕炮移8&!廍哤$紛讀┉Kw劅!h.姯緧钿>铥哧 辕{ 娃6蝞&=_6題懅"貅臀褃漇曾)T拴敘S2踛C-ī蕳g皓饌澩賒絗讥q裍n}r轙据З=剪丁櫅2肃n摡 5瓜鋨搃 >n 鱧!竃 O襏}> ,>7⊥绠ZA迪;兠%+p荮P #'>輊荥U富翇借苙9侤塜;W餴毕H祗 b軀,謁^D壿 謒婖桹観"鰣W7屿-/諴"夶\A;剆迥,%b繏豲镍嗖XOygu%b愗膠Lg丘)v:槪&壕E杭i 粓v-h2\Dc<5磩W殃摅{犿霏bc诿]8皞g緺 稓㎏伩h】褑璧绋UC虏伶D焰勸襛汚7m.SRU腃瀍xZ栄院勴瓰OQ踙[偝阎 j丌幻pd秡Ba[K(\ W7贐|]股D ZD=:DN 丰Ο癗淹勖粕B團ct慒Vc4A#=(?熮酇昲┌?掐8pn醭M5(#鶺Y)#k+8'}齅爯浃编e K 4捪PK q焦8閗禡\ com/sixlegs/png/PngConfig.class峌軸U- 翨B)朖jU"找*殕@冡$ば/篒.a閒7頽g舻>捐/帲3ぬ}雰搸鏻B蓈!珉捱圭溸輿傀摪羶癜o[徹z讨c稙磅劖秜貁手S2le厥矔e+荲蜲B柏e戺aC伧釞眯|(鵂鸴H疠)㈱N涓 3)%, 比翹$憪 %tE 莶軳+ZIx%H鑤鲕%坂$!鄤6WS衲蜝$醦媱'蹔浦S蹈GB}|%枈湲y%t楤%詡jSq9鲍4{I)猦慛施VQS緢 ]璐╇P1uU蟍媻環措昘4嵓),K=詳)rガ槡yN5LSd(橸!颡]墋錊 +噕x冎=瘔蔲2朢(jt妱枃4橆訋9q$r趂U]电%寘Y对#M洵pQ蠂柞<蛁W蛷V>3灃鄭9*.怭u盳*d剻R2EFV岩姪瞋 z=書裹T/sJ氲QD]cb嵑锿 ;谛'4毋嵹 -#唙-V釱缙跰戸z&贖犾d瘧N蒱=瀀螣<亲判;c淡[蓏钗廑婉忱众町%歃i躝I波25莸袾r12鍼屁岟1%稹寷,躡q渗32f費a]& $%8漣訰8崐柎[膸并h;/胀6h 馓"僘E ;翏%r罜辙 V9m饬YA 州is"敿B穒璧棄:+s-筹衺?餅2}∧颫饅&幯. ?-\z叜陬{i鶶掦4J` ^軈8L熝(4jeZ)r.i$郡淂iD;堯?Y 圦沱競E市B瀵"LZ"軯黒+円槗P甽&敤,7pW#8 ^毩4o粋'O幐俉\翝嵿eW皙k倬撇摦5b靑<9 剧ZvG#鴻+槥*8B穫 茺 /1纪 龜~mHg抓K檙+9蟙c5_樟}5;苒 O幻[涏吒嘛幻蹥噙豪[板萴糆贠kAzb鑏PK q焦8砭引"com/sixlegs/png/PngConstants.class}楖cG沁ve[枏菼]R窋斢1%&\))琖kii%vW庉肸ZK涜bw曏·Z犥敵躻9 碢瞰荀}唣?遈I鰀泗棫鱵3箧7of䓖稞Dt䲟:+9B烳Q偽&閟^.钽怏)?B_/I4j閅C彼&憈滵j凬+\r]w瓒拺滺亭$J韫寜9很Sゼ\鸨宐薥p]322蠾廸32+9 s溅 鑥莶e.爗猌捁嗪蔦@镤V 枇俷薥p\p萏.萛@5傠zA摴嗪iX2蠴q媼佁逰U2'變瀆k2=}濍雦幁2(&璬$跐?顪tN6o吘转N覘%J┡|裠鯦IK襑$S媴挬Y朸4掫U墕u誏易$*厒挙疌=靄捑9M湘$}[&蘧%袶I蒶 6尾L蓷r痱D愣VI15C]I襴蟼蜌挪慖襴%*樗Z辀%蚫e,'閧;槺メ(簯e<AV轙*喭P+I?DΧ秎35W6幝#斘譬$榍懈$9砐Pl]誱l馭,覷晻"蕚?僿晾 吇9 慍 肠RH/P~珳蚸柇eX 伢砩陭,アヤYA硈E潺@貰z篞*踠1痙擊k&Z^Ya絰儮Y 嶕-b尓铭G;ぱ3 犄0姈n銗䜣U显姮P汤%诘 櫖雀$裻誊;O>楡⒙`?S>"#pa勥 X/掕鈙締眀珯楺4pavm攲R8溺I甲A0)-tp4(3PQl~IvY|[魬妺R鎃k&矘(杯/i, 暥M] Z鼔RⅡ癍4s -7T琤緇荳Χ*䲟萮?隳9潣D{系t<絵陜d摡dt培俄ceXm岬mdif啹馴^x璂蜢%礭uQ⒓譺峮s挣mg滇蜃qK庯qa菝媢E疽n込铆7m饘噏\^牬*^aX5鳐R锒N8鮽掞漷B)/0堇鮋篣湥X螝k氛vK莐ne営脑ix:︴糘蠟?i>垹*e祷~臸魓^Sbqz絖鈤簁k/>}】r穹q;齝匎9NKt鶅G喉备z墉郼0宏叕陃:陋m焻Qcp振 疒-溰氉C5зt饆錵嗠甒玸G^ NkG:N y}'s:枍嚲 :庯*(皲猄9Q筵軻曺礥c崁u\焨+l}︶犼颌0緊 蛑 re 鶐咁z娶麦o]桉'DR恙z/茑]S┌庍^嬑$-kEg6婎 5遡?僴e鄜O蚚cU/璐Я歯XoW.: qv![k8NFs輪沉zA4妓zE 硚吳{4鼂!e0a鴑5;斱] ;j&裊;5鑩/沀d4秢<党;^弔軉P*u荳罗錞W:毃D椧M皨?迶铴=[|1xZ郖x/鳵乬@ |9_~樌W 黳#~$鳴?乬聋?V喃缽x^嗲 ~?|H喃罯鴌嗝_>"鸬唰 "Xヌk郋伋鄿::亸傮绬繣pI鄃侻--p$1鸩+嚯,仧 ~幚 黒皙pU`&p \!p 苚埈cl麺瘪7氢{K,;匋 ~浝o#1飱窕c'二界亷O?`櫱/>44w枻{)笷t'? !0~G#粞C樛&fv_tI躀 槗脗 眕'凵墊A'潀|松諁'3S俕蕚椛-/熦!旚 :Y1敾闉緭裳貞(眗枂vo胰Lz颩S艨臃oRr&翡>P6i纛卅-a#[泘>者魡玟MJqG榻雜墎瀆?374$`g赓,lt>嵨.}&毜PK q焦8^$躢]"com/sixlegs/png/PngException.class匲踁跢輈 5嘖$8┯`涄h擱4c覙BMzF6"材插攡Q^鶣H Ye导#)]=3R鸤F?悂翜寉_)帷0r翨 (n萖猞BH谱荃XA鵦E7 V&鉡% $婏絺K溇?(鐴('C籥维謑 鵰頇55珰S/;%葙7'*殻 l潯縧j岶偅漍侏?k&憈Hf9屛睖-1 7莩e粬h沪^m$v堘慤澺-;巃[ jUwr'嚀o&挖泟晏朸h6酊姭%柗藲躬 齴t~Xb奓騬L1EX諌蹁*舝秾悯<%愼萊賎$佐FC 鐦-繛n辛雚觬寶屨Vv嗽訏伌峺穣後$/舛酼  磙∑漸lg辬Z汚)≥Q嗚d亵闔I縍礇醪>o V*9Ul鄐嗻圾╈'悅-@魥 砗26U孊W1﹑豫屪 u)尛b拠<V-~ 7g9阕REU蟯fxx1 ♀n2\>-ol蛹守Ra`涱倥載:q鍸噎橢Gs倛蕹=沬V*z+!rQ壐a=碂/钸锺笂0U詘崚H瑰筽堖鋓刭躵*W靭A玅'亥Ko萍涧請袶磱滁3L防<97唎\饺G.JA 酶=93%蠜圖圪-by菚 v勎E鄣蠵 70剉1>-碏佱6 迒oS=Mod沱堻嵨橖 岩KD#B朮霍'擱x堠何犰(嘟紼'螐3鶮a匂楄o窴1埽鏕籀3 8)X Mベ!:_修遽aZp腯>'^^烺&v<飷髕踙-ひ嚫満;篎^cf弊槫g奟籖 廝輐蠎楘ャq渐#魰q5亊镉zw眸E棣X费#?P9谕擏!鶙櫍z/f懖蠐eYd3E鷴擰*$裺H訤鈯 ~}慳A&8&糪炒rT[7t0"宬~郠G鶉奝iA谋+敖楼3 漛+{!)j7M鳦%fXj[誂]哒蕻莟捄=葘繂郱茼樱塦$L玛 G 睞缂u缙钭略3x th臛F%V&d0  1耻猴該 V|O攑!Y 褾qF #n忞zx盖店 :AAF悾鶥8憆瞇6;冧3 鷳;5_yR&ZBo6 4跥鹤漓蚻!z 罭=g艤跦襦6B9*觘r-+(6J饰幪[NQi 豛骲,堥湾F緇孃H仈!歉縑媴僡r齀鉪8T 暤A劔讏潵z0蠥H砳^L4<潾粮7溞c!艇8QWE▍"盪聖騢*鉗-}=勏7t辎覸3毅%Zg&P1峝*(+楷!0uD.kl\'1H0颁鶅駂H隮崉0{UH]薳I 蹼緢?融Hc兞B芥圗郝$;题 BLv哩 仾瀅7熳粔⒌裷_禾kh憀誧 :焃f纱鋭腃裔闹驆泃菒=瑄,y8萝 H蜨嚯2b鶸][斜E uH羍譤諯A&喗啴L眰lI]Y*{*;报+:l>毢 r卶筇h厭8厡睵鲯沯 a-踗澊n壱攐佱b5咸B&卐轙扝ペy思(#3湊"眄q澖g-Bz8`FJsW($G_~1;矆r厰礡cg|s0谪 0賹﹊摰i潓=虆^T[)琊燿鶘簁)叅碊嶌溨: u讗c眺吿马j峵舼z(t9墒[艠d塬鈴0涥霉Si捷娕"1膤*<C笉f0 1dДZ純糏呡p w罎*靷廴%:K迥!!済&荄p?銁r8廳 8#-穻凂0A渗垔徛S駋xa觷侶澖牉!5誖焺稶戾蟂屜╬TL鱕婏3藬 oJx?郋焎2鶕叢6此妵鸢孏T<娗2j-)訿r鴇D玿鹍霿$KS(G臵(侏鸘|伡形,w/崴*%揹hg萲浀P{$蜘麐)Z 瑋uP臰=迍S*緤:蓩?V x廟蘓.*|f閟n &蛀嵚 &錶=7K*枷朩杬р洭矰BME霶.笡2砠批2歛]槶伦'0閶漆)鳫欧蜢m灲z嘐黂苭U 笴昰},癚厈醤頲脣k鍈 L㈤ 慟祼餦媈 譩罪 沏d意╕蛫K(5暔3黀艔痃枺鞉-^毯"岥hX飵R!# 謃v2鵽T?舗茿曬と灦U%﨡芆T5i?胚P♀oq煂煩9擇w{;C,鎼絥#挡臷 T夸銨紞J:阝鍗峀Ei}W0鋑桽31扊舾G苵左f艠Jp蕓脅LT)ZD呃絍3u绋豺LmD埔締Ky跊場芼.R|3_譩L扲撗2丢F棝lS卂抈駝Kv0Y<2黄uaf謼繷屬Qd頹DCkH雪崋 玶衏l裬-o IlZ詎偺ζVn)l氝焒#;鉵"K婩u1+涎X羽继鶝孊J '鈌?虾5绩`8)螿cN/ 麄!甑{X3磷%咪送f夲}j*无漠陥E秗薾軛凂F猲!b涙g搟3$驫 H<鈂徛|~IO$з綡8A繕{PW{(%=7?敤舀(殢 7铯縛矃凒粅z頊d趇帜-偈~傩PN瘲,騉釥kyj&仙$`鵦dY2烲L?fs4"潨Q蝷c0s棸Qrn缜嗙睌滊H臶#1包檛,z騢!8V'lF酫2#纚桇x铈棻c;6r陣Ip3穫c沽7鳟b朏Z焙w仃綼-珘4櫨{i5囸!脁嶡V?葒炎E#@刃 襆5郹樑嚦it稀O溝牍{A恩傒 "b0 魙0.瑂:霚VdZ-0:有}o欣%$礬F賶鵷'1>X矆掑拠冯 砐糆k{枯]h疭RW旵u5 bVAg採/x岳n糬尩磣 纊q=Ax| 麊兘F怈nc违0I9笖聉k-呯x O码辆J皁养>焰喔r場 8墛嶈?C迟0揻弦.掚锪j詧硟擛界匤囜 檇堁(べq扥俁< }t訄8A毇鬒x佲|(睃&5c}1As(葹娛袗菘 ╄枔糒73 ]D#邤茵俉J釙(f瘨 a{ ^?6礉蹚絋SIE.1蛱=啜J拦 G @叛$棑"#8斾j鑷&坏f蓯=钇~X捨K朣I鴿L讞f>-沲w3]鱢竈涶鶲=篾骢<弡]遚鎾t4-h騌h尴呐父8#?M]逥鞋攡涙彛$ャ鋰a" w驣ha[bE宖W譞8盲鏍吼yW藷Y粘嗛>c廦;茶g.52莵 UQ勘0@U*1U纲"oMJ#搉\绤T霽.1阸_rV瀭P紎蚀M浨輚0嘯 林輁&泰|fT$剸'aR6-∩鲬跀'鸝n{韲zO婇Z_ 乓&盗\2X$]桯W*镴X+mHi}寑 妾 﨣4$m)=戳 =SV鴂褠5扖粹釸?雒纣G邈'墽LX丶惼眽-<泪9圩N銅+dI K=/踐杢 /m'I畤呉嬒鸳8=(娰Q8-靁O3皕旇tXG0崜00泹)gW]氞1劲I媿6s邁酪cL簝8鍴X|kn娪&%冷爜1飊R『梍槢谲譹<ヵw>沂C0Bz剽pn穻Tc阪v俞j':飝&隽'9镔K忶>竈皟Ⅺ喠.^'N⑨鬐Cs遥d娗@肤$寱zz圣ga呼訦S潿 揚1^+鷐㥮-:嚱+嚿f孂7j[5菭崊悊u`)Q洬b帯%G呬顴0/ペ?﹐v捀7隽MG!氚埾☆"2G>K#r﨓貕eT PK q焦8K>e _$com/sixlegs/png/PngInputStream.class匴kxW~'偻n& h挷爾dC  !- P傖"jJ&粨癳吵钗b繸6*U{Sii馬嫋%K$zWk秸[誾╋7;櫶n堵髉f蝫矽嘻具e6o蔝嬹g丰D(翂r瘁2湐帷緺"/输K2<瑀xb蹡;Ι7<纁**q"埱妁e_罻8%'TL菗r畲Aq饠槥鈱m/深 偗塌7T|-1?腨Y鵹 9亄N#*毋侺/属y櫨 /疠 ^T梔>*霉*n 橽V1嗭└俼△ 邨岐 x9WxUAi$QP觰穨Po蒟眡酸X播c{遣カ斈頱蘬長$3V窌2鬉.亥+橂.<K5槫= 鼥i閝&eq#1`礴n釬縀[k,弛蘨,z_.n0偸甔仑3R;艟8-誡fD忥襍1;F煹?朧陫槂-樨PH$-0颖犏懘bf"纊湩-=eu煜$pKc揱%9h$葑) ez氖2c(iD惹G逹蜸F:<懈Ы愚褲龠蠎:pg鶣,)65Q$n 鸕伯O恙7魟m郗燡l;臐0㈨,nV嫚秸瀝U熱葑竭LI关渨铌v巙熳S丁僠判權呝-]fb擂采癫!n9/X謾[|氈Ml誓銍HG緯 qA洖鹣*樥財藔肝`1H蹦纉游糎0茽蝿<鍦n盹OD洐T呢 3絏渏貍棅浠喌h譸6j炎綩b嫃謈儐丸0颢/抐nF)榏H=舆oP駓潈蓴4R!墥neR脾P.媽hh蓯喿馞oj~HL硕 敺4tb搯 z4|],噕=奌倖r暥*$^~m4 '焗)~ 壆鳅蠙/>墖哶;%e 糟#詏r志D>国2_i5~#],Ge鶾 '33$诚坣%k]漶鑄5C 碖 4h脀5难锰鳃#捖鐆~?馂?釵顣粡a瘑蠆L縻>7N0鶟嚔L镂餰z2赊燻Q阍灇展`nO焅烧X卐n4唕回佡姇D2'短.r醤)埠bg輯齦OR7艗穬嵭V:Wqv蜜偋(灪bv鳟 濎掛$?F畗钍憧YC闋|y鼚箮閛躣髌歜x澶臻H觕 =f槑A.b毹氒9雪T<穡$瓁慨m*笣熖j 鼣WKg盁瑍v羐墧狚d谙亡s铣Yp緧橱鄧徬冡薖裸(楣屢Q3Rp䅟(矢栳拭U誴kC碃=v K1絞f(竼X栺髑 C6慿 .'譜2崙]嘃秙w葚a9h+∝{w抺 v殃eN8z 焮*鋜(曷桺w 絛阭2 2|$媦.嘖餰拑璦Y7^u#.睕P蝢3(鷗蔨C穜鍁RXO铔 緡p呅,囆z蝫3dJ=仉续簱1Vy讔a伻説恈嗷% 鄊B7_#斱武氚惽&|6芌z噮w}!=攝/CyC r偾礮蜓q}x泈8敲 銲噖U簨\m/陀b覂\$饤岎,嫤趾3z吉/J聻軭尷巕b $I{岺y"v卫\( /鶛蕉丳JG05姿碼 蚘,Z岖運磷\_躭C1著 鈋嚇J1 焒澻 A匏9B檹賎楃.w錦K7牸El9-j斯髄*<**}擡e2\7喤浅hik8岪鵜喯籋UL翥* 筯B`m瞫测{t?+\眔^连巆IO鯂/c5鲙2{!劭栛屮Wp7C櫭緬3Y浧v 遈鳭G <顀2蛁ws瑳O6擃柗睻T屻柷妅瀌誾8蛨=臫y趽@3 黮僑(沥薦的A^&.匋rY菼睮 E6d衷" 諚鮊^1跱炵8灒#ㄢ焫sp戍.墇噭奪&JWA谬$kg*潟夜t:iX劈聽'蝌1(腞:&C22橧M&p甾*7n2h筽m;-Ow绤枠T遻鼋鳒顋+Q,ば I炱Ei.I3柭e孠3!窊)LaZ+2D驻巩蛜d迣嶻yci拱鴇眕?_XX或咀-/\避e讟@搭Uz%繓k8-桩4r 绞|酮豐1G侢鈙雲暢6聹婁f沰kv`椃#鹾姥縆9-踋 鼟輍鴣, h嵭鎵X蒾z!Ge侙淬9酻佌炜囑yM0悸辻縇N粙巊/4k响`賨2.%薦G罘俍XuW麶廓阤+%9睫#愂餭 *词{衃髦6荶K^v紉I坚斆*u`佴$劣%旍9G筹彟 竌 凖酄丆枵Q00嚊nIsin銕> 溎)懄埢∪w俺间殨  $*vC摴$衫-郓T煞[莪k衲]Kピu蒖HW-谯S 祟鎲,$=| 鬮厮]麍)qZ<匰瀝)擐|DJ枾T8J;容kh缤O鍴髏Q驦9矇W稼唍j鍳鑹jO冽孌1趡璐梇gIL摐r=W0腳蚇 @!9絇HQH22孰輾k'枳賋;捬2盠|1輡]欨6$44樧艜|媞 q) 喐塸E踊h峎%&哼@邹A嫀膄(,E#竴mV4%丙濕~[g职"禢襥El#DQ匩i !)4J鐉/\玳sj嗴PK q焦8<杭Y|/com/sixlegs/png/ProgressivePixelProcessor.class峊]oE=c膈.q椧6.m)鄰 跙K營氈舏BS5埁{ko駰价苼< !x醽7猅!醼!〖衿o@ 嗵劁%"鳛櫣{孓sg孀?$n楬c*^捚戞4鏛紝WL溓9|U歩鼩壸qQH3玞N%丠+p糝泶J佭oz鯛詍譑K~遦.:U/:襟嗊!  痻~ Dkmv菧剘 齆z喽篗/坵%9Ad昄 ~fr2黈婂r6郓y閵喏k瓂頩3銜N誱辴{&蛋3忊^頭м#咣誊jY}⿰O%紇崿废羹舀N-鑅撷襪ㄥh.镘 </{z盇>T<怪霻啐GoS岶0;鱶Uo迼'锖鱙 G0o0帉厓邑x\莈 WP謖章╔8$W灷a 'pR莻卥X窗7-\遣@K拼鰋等赊荮C忚X缽岧叿G庶怢w懬S/厐b"J鉙鏽類丒鬈畂疆東辁鳒<-砘.=R桢z睫扗6︴壷15;岊c-j]?0な玳塧x誩毬絟D肥暀C蔙䴖9潘耰潄缡 a2a蠝950q &胰0`Πn" M,b撢9喡t蝊伐締/&虵г猚櫨揘,F Q錏嬩S`詖杔巚)#N>g}唱Y臩腛29hd咨nPn ,2嚎 菻`槍(Fq"LI$萭%mA;凍噿!<て申耹U=媦dt]V 娾2Z繫陳壛G&鞥鏔H\;Cb稭䦃腨a g(渷A鈚酣 "埄 涉4)烵PLE1臫SQ杊!&/傭E昈拭Y:,搱J臃庙 鸟蟂釽奧壂rO雂J;!dJxGf蔟 PK q焦8B刱季t<&com/sixlegs/png/RegisteredChunks.class昛 |T耪?g鰑迟劙怖& 悁咅 jP墰d摤$籥w#爤ㄔjE[[耽(hm孵QQ[堚种吨侄洱j礦助醭o檣麈&b藦虧;w嫣9s&y=ID3 ~緲w鴛w鵌%~r癀~秭骵记O瀹M衰禬+じR姭へ'臛じZ姀Jq譐1)畵b譑q椻R荑j\絴c1?邈泑|碂&餹僶戠Д刚鄒<唰駖泴驾鄡蚣绵; >d餫冿2鴑?c八削餲孂s5豰痃 7肛/||縧)緃饍2兯\檷M ~HA窯 6D/扇/0燎 0鳴s禎礿沽荾慝7畊痾v=,齽玨橼?i餝忬裼~:椏怅n茉l32绯~黍Wヶ5兛n餾-i兛a7 ~捺刹璺\閑嶘溘菚薷j檞+c蝳=珫 _p.熾|陥{瘠楜錣w齺饭嘠訩报檹2峩W葞倦鵾_~舌麮d鹚蜮D?5 䴔怜黶僟55!呖n/}鼏忂粲~轢L遵瘖)~脬訊鼂仝 ~饲of 麚忂耨燒t啧迎培*禊灍3绵J锟 HO&T,厭耬(贰<>艴淑阩\賓(肞E嗱粧+W Ul█ Uj楩jぁ倖:骚F ~罰!W簓臚C6C5T豍>U岌n绉o猂婑RL"j漧↖@,)彩)啔**繗Ζ嫲3皷獤⑵籨2?SF2冤~5[濇SLE0T霒uM+楩(zqtV&􀾁蹝L07璳7o吸仲LAsLO45kS&OtaDIC2懳D櫝=1&c螃芝<洓W段c駿S╄藰F:fh鑹τ槧h赢D;枆稢妚闇,&(撟挠&锫x"灘grUM;浬輴炖J#帜宝禭9谥擁褳常└喘Nw;瀎:yM{瞱V:境'謺炚6坪0{,雋桀OlY堠X磧榇狥S衳r烛h&跇桦,h2铭DWco+禶YgW朿l\L' 3兑Kte罕L繲sB}ヾ_Z6:h浀>1藠濏本L9小容*翇閿猘e蠠B澡I驾眡W7詌磁31-乞ぱ乞<4娳=蒚侈b1d頚乓i瑥;="喣x鯠踓9佒痠礀'滰穊駎剃雼瞿2{~ 顷荬莤2﹉"!1阩嫸o隞%矟栖[墹豮_i埵藭箺T瘼+谯王IH驼 !Y"+ 肜蝦o$2曵舧苲译c┩锕-宪Gz裡岸q序碈t岕t樦本@剢鶨 {壗 擐0a#X祑勤1嵀jll暌幽s/6澷+Hv鮂w3腴噈铏黣亐h&)В絵=1 P灦]櫂cg9?7喬蹓Y梸⺈伴靿律冀盠w睠\TO:1嬾B叨禺籦 D$隻 繄分毺ヵc)鬹条D盗柬:氊0B線;忾綿:趽?K楗Wj:b=裖ysJj侚辝k絘礂踡dl玏敲bm5V|駣u禌ky俺鰀*k渠K遨蔷旅z钖i怿寵'9磣I糘Z橪鮂3v傟\欈>斏~,1翞p炀T渒]譬hW< 誊樿5 ~床ML2諠 嗕亀彘夨 P媏瞥r霏v蔭'孝4'淂{z膍嘄N )cW$|>3'0#媺5ht鈉歊u釳宀9[rZ翄f9晕S謪=V鮫J雩赾+銙C匢pμ鑃5棑L[i惁<謎J﹢毀-U噦搛礟- 0 餱>;%\郠R寯b昍訨1F芔H1^妷R虗3抌洡X孽>UP嬚肈圁 到砈瞃俨hG$.$"骚.PK2)j构礡瑽倴眻焑鑚Y2;覚LEtS埨2uk澚n闅9GMv%爱汲搈 d2f\3;^O葅m'f{凮5詸,焃PkU m凋媉擞j歳赦D"硌D"檳磁"鞭 乱d荎撡`睅駎+叶+r簣S逌LFz]+麲惒R馲Zt礜- I庂:A,覅貞F>嫏 1/燙n_4(+6a-. NT弛4誢9禤侶bQB4別雖k揣 }侾xXwM眛怺处黑 Y{w*壭o廹 儋Xtm,竮`侨%盩2"炻讴昸 ^GL 貧K#俩#奰D6搫^z埼;v-殊眄埖氃へ7隼=!)BC"榫X{)>%iR曋綳猆薅沰珔sS 厜榊?b!,;N笉laK^yu竞窆7@Oe4W囸0w7倲d顇鵀7 4':j玧<<P=0堨3鯃贗憍:,IvF谀.谄4n揅窰oZCy^譁]󆷝a迦埿泩p頬駤c墏 育]]1DP>嬞;C7S2跮S歄w 鑐囄愐PmО訕 .5"!lSn王鎾G@Ri-镲雭緛p[4髠hh驀M貓-姤T廘:T:$;^ヨ5O5r挰檓 kp2, S>à}@3rP+;褤X瞉#h>窶RrYa慠R*z懹卻Z2褁"I鑤_,湵5情* 5'晏橲倥+拶#|9颟{咍两 V摏栮甭齔3汓*詮广捔3$傚骈聻O搞鄫 q嫤鸖盺D牬#鯆"`~嚟墜uue螾W>I臰訥5异 ╧涨 777u礯]?L(dny6X譾懄'4崭伪癍I W,垡決U抿嵝p$G嵄t,1睑T#椕呷芴嶽崙C u7J2tU缮黼嬌1菌C埐撏a願猘ń$s'嵮锰籈68-2澃掅b謰! 浔甔J4撕NY!Ok圽ュ)D畧D鬁檝]0磄谛.x 斵喔稟s檥牛O+O誽薲#漑谠滾e摊,隧*惼R蠍闵朼)蜤V 0斲刓I唂禢K遰 轿0舓7恟4絡竰L'!畉L頜錉l潟}樚<箴 @蕝樊7膱西巏忇衈疼M7榛@G6櫺峾鞑%R樜鑽m飶訾漀򄂌sE;:騈ノ 0 (wi浂@"腬24湥5-衡=鏁纄茮a/旸8膙副|y蛪濒_魳埰bP#-0G)媢輖3#X罈 └磄淴P3$g抳抅镵佘9锭縕7`罊,U旑oK哿xm燆!淹瘫釺篺]]%n$w葄藯K+8!LlU}餵鶐Dz崀AD^*廧9紸o盈PWt韄;跓E7庼d1 磉隷N聲鞻%~蔻费#j仇d<=訌戺!燈乙9冝A0袩閉<嬭/厪诈桴駮5G蒞.抇0鈟\.笋|H帨x~Mn婑|Q顒1'4喓1/wS&嶾=+6荱敃 驫氘紦寪歷溒 -(渪擭C昧蝍展a厛糉8惪i Y**9SF 鵐%彿**,]W鑢朙鈝LR<祌f?JЧ铚赅!罚uF茹h 愥h 9Z驜>5>I颢趕aA[h 潎@{>D.R旑蔙砰U趩摆%郧'裿 烠;笗vr礅+鑂緰v t逩楏#礂_か%壆训獦>βt潥J篰5 j}\鸔焿|==琸3奆x雥穑1j籕sS搑硣紷u栵c擂凕.耓d{楜愳沑孼:渣y>X爙愛'鴠♀6*鏺Ux隸 +=殿恵$Cwy鎊P铇跙駱-湀漞靛g⒋Cn-rw旒噁減:-e終损窺鐧樣i繊稞6诀埒辭閐.乳cr92党4妇,俔弡沑)蕦籭LM萴珒龉9o獌 轝俲M釚N謮鷹(郀y 敓U韵_粨Du鋺僁 nu:h-R.1< b'侐彚fQ糗莄塷唤鲻风H 茻l诼摯&蠪瀸Z镜ω4鬉#詛榺zn!愊%;k=廉 賱_簫2渺_剒恇|.〉!陷4刷畐bpQ葅忓]ZMa53珒癜疨+祱習4炃)0h-Gh!O腶鑔&ao)芐@'R姧傯Ui ub'Mt峲駣=吨鲐Z踓c|弲斾藣q!O覼裬忽攨8渽)_&g貝z茒R澚媡1UQ彴銬L1晖um敤茆 &6锤兩 -瀈邌op麊_0怠7磾y斁`咮崟k釸9揓yb瞟4揼CCg8"YЛ丯[漹$;G下HVc镬9鑅鍴/(0牆M5fP2}臸燢滚勦-W贅鄋GkA2GkapZG轵赅^嚓娽B|窲眬⒓继苯そ饯浇ろ騆(&{E骣nE熖焙尖.2是軨嫕緙ド嶯^參\(志膪*c紎燭#j3虍嗐3;j虍喠魴9:奩巭薳 7鸦:乐徻e! 鲪鍀W浤<孴s佺聨20<烅)筱Ta廂∕嘟用^Mk傋-紩線冑觸!絺弥煿]涗|阵\灖E6樲盗舢-薜怇爴{鄶h睓钿:}蹸D婨\o]埤+0 G焌q翥t+4r%9F[爰a81/x拔p筴齖W蘵乺隯錣+:1h瞴礔S硉萞[敟;`颭撼赌|攩J車i.藓j磁i孋傯:,ǹKR]#諈JP祍糨幯煈%幯a,xO鸪艄衡\i鋫r8e[琻筣6幯珉J4^狂=O陾簲穇+ 嗺辬△>s%w瘙"4\ 闹锓[j!<鰠K屡酅1鷅!趎營癠7y8N%|騮|畻fp6I彻v;8R娢 凋湃;僿Q/A繑v餹dh//x/=腤蠶緬^鍈_M嚯榵?楏 1:x臋M抒Y顺4/孥)B;w 巔9L簌.p黬淀m達m缟:>K缟褕3k4径v縥唄>駻Ds 堟梿/;p4O荖@4橙灍G堟0飣l䦆 珿覈 ⒐&氹O@47镣楿堟d櫐5y岙茒vnw2h肧爫丅m匁 校蠼幒1諿z+鑈t; 駱ゾ銀7殢'Z"<欕yJv蠣猓滏cT4|渇胥磫墇:)P咬徼_乲>Cw鸪 7 ur9b膈埈#朸輙縱?崳洿x魖.Vp!誽牍Y鎠陑 /[宖s餴'瓟1飯胐嚝僟DU6霂?俿4烏<<隱瓤/.豌T/9栉f{記鞰o督j缿>嬩飁\>箓[X1蛍J霈#駖5巧綱郎 LJ鯿D簾1b謄R矃秾 "$V:塜 o }"&絨楦啖鼎@{},#鱭:?W9N這鍥u:>鲋赴I阚稱尚鞡炭s擽染,雦/唥{O呩?Q[i恙颶>蓚鳸`5`#侟M劜_!䴕栶o☉ ?澝縂{ 猁m谂'楔w閣m蔜 /褑蹆H朶w躧淂F[7¤4养^B}>o圯 R鎭, 9 |;Q抐a凴!聖_U8By/蹇9LZj薘,:叐5b躨璹暤泣羶 )kP@e腩煽7l+/溼yP湢 熯'6V1蚒!趞[殆杊2d押:L) hY氇笡&鍾d葈誦齤 >侬閹黒▕ 摕F╞4N曅DUJS裌J飓1T扼灳槫O"鱥盾зrO虠"d|S睿$旛P間礘薭 o誩+P袕戢]/娞掘(齞净騰E?t_x攡f+坻磺ぜ峕崄η襩9獪知 桥褄[蝓朵鉊鉩澄;湇载嬓昙82鋙4a寗相#k帗玡R1<メ%*鴱iF腚X躹S|O氙8m5繢10z隈悗覂諤(△婝PK q焦8嶪-com/sixlegs/png/SourceRegionDestination.class峌[Sg~6賚6qAEc 墩E詒Rkl*=$KX'~B滈L橿z盐d跈鼍犛琮E属"稃|呔囩=戽~5l剄S!|;!芘礌{傤 鬇戌 J壡0継Z幊a<茰堸0瀈A.奨 鈏g0%噀+A|3 沼袚螖 瑟[;筳瞈%;U-跒[*巌衚 Z妏GA潶E9)卹蕞j0戚㈦Mj3N谯^r辽xv1梬館)雋8檝嬑悱潞SY沧蠹镴2v~佼竢n^贽λ铳Z,mU2蝹揷畐K豹o=襭("BU菦wkN炑蛒*昛M)vEg恢P踠《盦nZ鸙$罄澀8蕧3讂"\矮濻研hsq v蜪甌\O m槓V'キ竃o撱萀播ⅲLns⑶祖r蹗泿涆旪?恶N帮芷i粯鍒;埘腾j 洬啶e䝼四иF;孯啻鞪呸蓴受橠<6榌Arc#9肝w|Ly&t # 熎i輅 p;Fp 熜 梡PH萲 舏#鎾4升万傇匵5専怱毧疒.濭 魙t=k債3做q2葞鉍軐?;[c砙鱃 咑q娳ь醅 泹蔸N.jL皣,k奺!簨%L#U訡掛,Z萜U"C埛 -全 -全 偖b鉻>缢,䓖瀠i3; 9}夻豄羧媹\噖!錎cW餍.)襸凬#\B)g镈#x嬥P嬥P嬥2L@k濷挠g灲临?[ 妪洵鑖+嘿妌盯洯椟z4S++)噞鏊¤*赫屧埉'鈎全CG胍}\粭a舮嵔磸1,'PK q焦8峓 "com/sixlegs/png/StateMachine.class}V軴U蔟# +-P芞-lk)m瓡",_kaYwWZ〞冒L惶ngfc馇1j鐾雯5辶#6'_麷c|矠{g7檣9s>~鐬s铎/#冒c枥p1聴Q緦舎IG駄坆X81d0蓋"x-騶)Hx澯ーzl(' wpV麓 $!醸 obV聟((v 陕,K3<*浂螖ZA唞O-yf;鏡,澩L蝔 命m`撏4H頬i:3J0男 #呩芎<蘌缡3C\aV"脼q詂+%絟鲪'k覭jQ?&饚r甌圖 觩:o=E<轱7L=S]氂瓊:W"I觴YSKS猠p啘E胒鼗舋濭烶礒rChあ钿]@廉n:( Y潻 u9嗀饖*佬?觟顙i刌番矔^泉%輖魕r/W-M18諪?γ誩U芉h2帬S︻霊阉w齲櫋}洏毹ㄤ芗Г奓-,Vt嫛5U冬j參+赽占ゐ泔S幀葮艂"e溉姠$c 2蕊e,JE 菭篥艰畾巒轶}妼 樾y硑飾L槭俛袴萪 !錗缇疿害想蔮:OM綶裈,;奪╄ 鋇嶷 JN縗5(2:頥跟9oZ*'畷M闦1栭.税蠫莞H纓擇E賀 i`609wQ裗訟帄;85㭎㎞uo拐>m躼摝.驋頿蔯鷬蠦-赫%u窼^Si钰V# v籢[粆h 垭 w@f抋'M(昑 僉硵'桻桯q汊i朘e嫃;鐱塧7觫擃7卂Yx婙}>㱮怊g智 舅莣燄?溷煟嚻M靑4B:Gq屩隳M<@tgX"x伳;嫌趧'h=:紑z$埢f$9娠m隈ptI郋魕蝅灝啄粚a縫# 哠5Nnk軓桯gH忋':让'趂 taJq#粯E 苵Y抛硦婥c矤凰擨&W羴庤6鈇{冊兵位'B- 櫣鯁 o吣圠?@tう夯埖咔"w!囶釅> 帛"a齍t賧m矷僰诣3i麊} 顝瘤矣=75]G8词4磉汉擖鵠芦/⑶鏝馵岃悡虽DV餮] vV]&=Q蠠殾)QM薓,&'挏㏕朣{0]47:醛/K/力/栓餓罝軃?佑枧豁披嗡f錛筲准5/瘹嚕V9掋値M 廾W=筂u裰l俩w>祄鸱7DV邰T/忀B(m赧鸼x'V花2=纫n5<蓿輚L酜溋8嬠8嘷q縜裤 ?7t鼉" 耟a\bc柑姲檨*s[茣剰餼 丱=4袐)8N]綃F挲a搜紆虍 x 摿w|F沠>嬣$袦笅=戨┓壴7姘^綮鐞p"_驧wq;CJ PK q焦8L:v捊,com/sixlegs/png/SubsamplingDestination.class峌遱U⺪~&44 n匑愬GK -蔜~陂沝I椯$;I熷箪#尡:扂輿t+ #ff=鬈s葵濓;療p 穜貒j镟4烮sN+圀 綃襖蔭2唴&皑釆啱﹡孬 圲痕蔒趸O炄&B酚驕籲唏彉棛w;n p⒓鲈息娵禰Ne#p#活9黜0r偣U鶝Y'豶烽L鐅痌w2M`j敖u;p鍇LE[n(P^kt蹠许{N+漋ブ珖v埙H闅Fn菐躰g帞u犂懛0u{A觅p浹朄6t"U嫌薲鸋瓳议40抝ˋ#;坖AC@SL}~埸瀾埧 烫.lE鬡紭):譣Yx裢瀿5錻KyL腔襆I 藋\肑`銺耡 左竵泍|姄l搾某)嗝N伢齨9;(魰~民#O`{?幘8银暅co"R椧姘g詪譮深4)m|凸霡uゆ麳撬r枲去楸L蛟;I%霆?:w彫頢;g餚Ug幮c喺榓5fX鍩凙晿譣濟/権蹵屭靳/t=F譪t=F譪粲 闾?PK q焦8S彛&com/sixlegs/png/SuggestedPalette.class]幫j翤F揩1Q[v2贅璨E n\M鉫蒧揑i_虴%螆8媨嚆 汜 cC#偋X/e苿,鲵[啯蘒(t曚陼04倫Y欜[唁毿鰞鑯~鏡z讈帔裋鲁5溓菑爝(*鎦b(诺孑ZΜ5蟣aYX'?):,m褍G遰W{幍K 碻_13 昏澷菗1Mス- NPK q焦8}郺)*com/sixlegs/png/SuggestedPaletteImpl.class峉MoI}m蠈澞闩,!刲68C翵@姆d饐皫!炻亻u&彸%{@8qB .轨aW翨鈵鄒{p k duUuM姜WU矸揿樒賌1褍&晿RbZ墱8肔 嗭T(篥 Q鸳碜鯠 ;覤詾j涟3渗 膿蘢o =祂總榈`鼼Li抒渁驑e9f?婹#噑8炉v~腝@[姭袞b褨荁v9je瞝溥NIK;想詨v@榋`.`霟}郖]罜]裂隴燎q lW 1ㄆ稻爎≦ND鐛{H1$*f蜎搃#m>_yb垵忥wp駍苘靖枂%鉡i雚~贩n捜-線+瞂dg鼈;笇甙"頲飖苷m葶矰 s/&79倱 苀B遾+8~e碀6}B[x檤b0F熩)fo哮)q&蹁狇@蔦v槞}答4癢cH鮥<轠EJW];篏蘅骋\;g囃d圈廘囚[;逻癴3蠄/03蹮PK q焦8Gcom/sixlegs/png/TextChunk.classE1侤E**J,l4pK區`呁 "X甪<攓HN1蝮2警7菙c0QR飀筇媹a醶鸇(4#com/sixlegs/png/TextChunkImpl.class漅薾覲=遵#M軼H%ZH\h膡QT!U ,篽斀揬筺'rh兿` >廈誊 R脗吞荞9s蜭螨亲ov癩@7`&嘯69lq竚釒厷吅u"限 鉃@=鲛z嵭孅芶懣+'4萻w禊R爯腲4 紻鲽筚恴)`> pk齙o撃G+n7銅G-J;鑪a蹕~O泎r*nw衞寕覲茞F秇忼t异CZ虽醑誎祕烛%麓f畚袐詖g靼*u廫璑)苢W 斲? 彀殟586 X碼sX獍蘟蹵`醴鍍伪鞉咈_)蔜UX"K舆ト*/M篁4 &嶙%p乛铩Q:_ 滍歴7E喂桞w蕑 肶7R槦!D:i鳌>ら廻襝旕<:}輿棠E\T呸劒貪*鰲S;訳 B^ 侍4溝>蝜槳公潇 `*'p%搇虛焔挴f掯y驄L虻Lrn烖*摷A=O6?虘2叒PK q焦8焸Xxw.com/sixlegs/png/TransGammaPixelProcessor.class峉MoW=3鲐3噺Jk;. 丂傅jH廷靿=撒笧Ic籂]D瑾恝B蕟M$T殲;禭P5,;镛;骷;52j&蝐帜\笎肁\sI蘣1骲畧* 偖i擂灉竛`牙拏亵:餅靼+ぶ襮唠F博r祩蚗Ako爌0:蕉 劢枾犌~Ё惞t儀A醫;(待fT閡洉~]/骂趜礪枷s薬僿N詡g酗廦L致鹤撅購漽 H鲃-i鈔0疔w鸻輳?O聧堅篼襋0z#寓@j縝?>羸#n聻魍杔Ig艤齪珱洃汐覂地榍=&qKd cK致瓇輄 貤y遺杕芾M+6n岫峜ㄚ8剋lL鈃锪眖X嚏b巿鵅驇J$N)^ мN]颌狛v竹}訲5K/妢f(k褾袍+A莐鷷 桏 雚8柤n奤┗飲&胑導旙 #菴3鼔2攼JM姌蒍=擋饃=2^&鄛阢=噯4讌音 H絼VB/"]r!2讂cYA駙羸满=;E{Y隗1KVs溧"鳮笂巳3cvt+>绹@> r$$i 挒t9 #妾 {鎑H&譺 屯jn紊:芐鼱功鎆%抱X灕圳(欢c䝼 铅;鞽暹`杌袡L囧錁3)1=扇|7鱠u荝粄疐a)夺?C 9戈dM① 7坊鹘萩M軮;櫁8瘘>eXI?9\6座8%鷹甭夸k題'勠塚;斐尦孕‘S劽:菢 >匢飶(袟錖鞝He蕤 %*4蚳*A3DZ偽$ *T!拾委5嘮+2.锡PK u焦8 鞟META-INF/PK t焦8驆勥o+META-INF/MANIFEST.MFPK p焦8鞟com/PK p焦8 鞟com/sixlegs/PK q焦8鞟com/sixlegs/png/PK q焦8飉`篳)Fcom/sixlegs/png/BasicPixelProcessor.classPK q焦8OV/com/sixlegs/png/ConvertIndexedDestination.classPK q焦8,╙  Pcom/sixlegs/png/Defilterer.classPK q焦8{貳9!com/sixlegs/png/Destination.classPK q焦8eLC%A)ccom/sixlegs/png/GammaPixelProcessor.classPK q焦8親漣l*com/sixlegs/png/ImageDataInputStream.classPK q焦8暛~$"com/sixlegs/png/ImageFactory.classPK q焦8,A.com/sixlegs/png/Integers.classPK q焦8/*J$0com/sixlegs/png/PixelProcessor.classPK q焦8璊/# '1com/sixlegs/png/PngConfig$Builder.classPK q焦8閗禡\ 7com/sixlegs/png/PngConfig.classPK q焦8砭引"<com/sixlegs/png/PngConstants.classPK q焦8^$躢]"蹹com/sixlegs/png/PngException.classPK q焦8 m'yIcom/sixlegs/png/PngImage.classPK q焦8K>e _$i]com/sixlegs/png/PngInputStream.classPK q焦8雎qd%gcom/sixlegs/png/ProgressUpdater.classPK q焦8<杭Y|/ojcom/sixlegs/png/ProgressivePixelProcessor.classPK q焦8謟賶Y'杗com/sixlegs/png/RasterDestination.classPK q焦8B刱季t<&4qcom/sixlegs/png/RegisteredChunks.classPK q焦8嶪-6com/sixlegs/png/SourceRegionDestination.classPK q焦8峓 "檾com/sixlegs/png/StateMachine.classPK q焦8L:v捊,矚com/sixlegs/png/SubsamplingDestination.classPK q焦8S彛&篂com/sixlegs/png/SuggestedPalette.classPK q焦8}郺)*螣com/sixlegs/png/SuggestedPaletteImpl.classPK q焦8G?com/sixlegs/png/TextChunk.classPK q焦8:>(4#6com/sixlegs/png/TextChunkImpl.classPK q焦8焸Xxw.pcom/sixlegs/png/TransGammaPixelProcessor.classPK 3javapng-2.0/README0000644000175000017500000000213011016304334013560 0ustar paulliupaulliuCopyright (C) 1998-2008 Chris Nokleberg All rights reserved. README - Sixlegs Java PNG Decoder Features Supports all valid bit depths (grayscale/color), interlacing, paletted images, alpha channel/transparency, gamma correction, access to all standard chunks, private chunk handling, and progressive display. Getting Started After including the javapng jar file in your classpath, typical usage is as follows: // create a new instance of PngImage com.sixlegs.png.PngImage png = new com.sixlegs.png.PngImage(); // decode a PNG file into a BufferedImage using the read method java.awt.image.BufferedImage image = png.read(new java.io.File("test.png")); // the PngImage object will now provide access to the metadata int colorType = png.getColorType(); Revision History See http://code.google.com/p/javapng/wiki/ChangeLog Contact Information The latest version of this package is available from: http://code.google.com/p/javapng/ Please let me know about any problems you encounter, or features that you would find valuable. Chris Nokleberg javapng-2.0/javadoc/0000755000175000017500000000000011755244626014334 5ustar paulliupaulliujavapng-2.0/javadoc/serialized-form.html0000644000175000017500000001341211016304460020276 0ustar paulliupaulliu Serialized Form

Serialized Form


Package com.sixlegs.png

Class com.sixlegs.png.PngException extends IOException implements Serializable

Serialized Fields

fatal

boolean fatal



javapng-2.0/javadoc/help-doc.html0000644000175000017500000002164011016304460016677 0ustar paulliupaulliu API Help

How This API Document Is Organized

This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

Package

Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

  • Interfaces (italic)
  • Classes
  • Enums
  • Exceptions
  • Errors
  • Annotation Types

Class/Interface

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description

  • Nested Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary

  • Field Detail
  • Constructor Detail
  • Method Detail
Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

Annotation Type

Each annotation type has its own separate page with the following sections:

  • Annotation Type declaration
  • Annotation Type description
  • Required Element Summary
  • Optional Element Summary
  • Element Detail

Enum

Each enum has its own separate page with the following sections:

  • Enum declaration
  • Enum description
  • Enum Constant Summary
  • Enum Constant Detail

Use

Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.

Tree (Class Hierarchy)

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.

Deprecated API

The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

Index

The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.

Prev/Next

These links take you to the next or previous class, interface, package, or related page.

Frames/No Frames

These links show and hide the HTML frames. All pages are available with or without frames.

Serialized Form

Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.

Constant Field Values

The Constant Field Values page lists the static final fields and their values.

This help file applies to API documentation generated using the standard doclet.



javapng-2.0/javadoc/deprecated-list.html0000644000175000017500000001124111016304460020251 0ustar paulliupaulliu Deprecated List

Deprecated API


Contents


javapng-2.0/javadoc/index-all.html0000644000175000017500000015240111016304460017061 0ustar paulliupaulliu Index
B C D F G H I O P R S T U W Z

B

BACKGROUND - Static variable in class com.sixlegs.png.PngConstants
bKGD: Background samples
BIT_DEPTH - Static variable in class com.sixlegs.png.PngConstants
IHDR: Bit depth
bKGD - Static variable in class com.sixlegs.png.PngConstants
Background color
build() - Method in class com.sixlegs.png.PngConfig.Builder
Create a configuration using the current values of this builder.

C

cHRM - Static variable in class com.sixlegs.png.PngConstants
Primary chromaticities
CHROMATICITY - Static variable in class com.sixlegs.png.PngConstants
cHRM: Chromaticity
COLOR_TYPE - Static variable in class com.sixlegs.png.PngConstants
IHDR: Color type
COLOR_TYPE_GRAY - Static variable in class com.sixlegs.png.PngConstants
IHDR: Grayscale color type
COLOR_TYPE_GRAY_ALPHA - Static variable in class com.sixlegs.png.PngConstants
IHDR: Grayscale+alpha color type
COLOR_TYPE_PALETTE - Static variable in class com.sixlegs.png.PngConstants
IHDR: Palette color type
COLOR_TYPE_RGB - Static variable in class com.sixlegs.png.PngConstants
IHDR: RGB color type
COLOR_TYPE_RGB_ALPHA - Static variable in class com.sixlegs.png.PngConstants
IHDR: RGBA color type
com.sixlegs.png - package com.sixlegs.png
 
COMPRESSION - Static variable in class com.sixlegs.png.PngConstants
IHDR: Compression method
COMPRESSION_BASE - Static variable in class com.sixlegs.png.PngConstants
IHDR: Deflate/inflate compression
convertIndexed(boolean) - Method in class com.sixlegs.png.PngConfig.Builder
Whether to convert images with an indexed color model (paletted and 1/2/4/8-bit grayscale) to use a component color model.
createImage(InputStream, Dimension) - Method in class com.sixlegs.png.PngImage
A hook by which subclasses can access or manipulate the raw image data.

D

defaultGamma(float) - Method in class com.sixlegs.png.PngConfig.Builder
Sets the default gamma value.
displayExponent(float) - Method in class com.sixlegs.png.PngConfig.Builder
Sets the default display exponent.

F

FILTER - Static variable in class com.sixlegs.png.PngConstants
IHDR: Filter method
FILTER_BASE - Static variable in class com.sixlegs.png.PngConstants
IHDR: Adaptive filtering

G

gAMA - Static variable in class com.sixlegs.png.PngConstants
Image gamma
GAMMA - Static variable in class com.sixlegs.png.PngConstants
gAMA: Gamma
gammaCorrect(boolean) - Method in class com.sixlegs.png.PngConfig.Builder
Enables or disables gamma correction.
getBackground() - Method in class com.sixlegs.png.PngImage
Returns the background color explicitly encoded in the image.
getBitDepth() - Method in class com.sixlegs.png.PngImage
Returns the image bit depth.
getChunkName(int) - Static method in class com.sixlegs.png.PngConstants
Returns the four-character ASCII name corresponding to the given chunk type.
getChunkType(String) - Static method in class com.sixlegs.png.PngConstants
Returns the chunk type corresponding to the given four-character ASCII chunk name.
getColorType() - Method in class com.sixlegs.png.PngImage
Returns the image color type.
getConfig() - Method in class com.sixlegs.png.PngImage
Returns the configuration used by this object.
getConvertIndexed() - Method in class com.sixlegs.png.PngConfig
Return sthe current indexed image conversion setting.
getDefaultGamma() - Method in class com.sixlegs.png.PngConfig
Returns the current default gamma value.
getDisplayExponent() - Method in class com.sixlegs.png.PngConfig
Returns the current display exponent.
getFrequency(int) - Method in interface com.sixlegs.png.SuggestedPalette
Retrieve a sample frequency value.
getGamma() - Method in class com.sixlegs.png.PngImage
Returns the gamma exponent that was explicitly encoded in the image, if there was one, or the value of PngConfig.getDefaultGamma() otherwise.
getGammaCorrect() - Method in class com.sixlegs.png.PngConfig
Returns the current gamma correction setting.
getGammaTable() - Method in class com.sixlegs.png.PngImage
Returns a gamma table which can be used for custom gamma correction.
getHeight() - Method in class com.sixlegs.png.PngImage
Returns the image height in pixels.
getKeyword() - Method in interface com.sixlegs.png.TextChunk
Returns the Latin-1 (ISO-8859-1) encoded keyword of this TextChunk.
getLanguage() - Method in interface com.sixlegs.png.TextChunk
Returns the language (RFC-1766) used by the translated keyword and the text, or null if unspecified.
getName() - Method in interface com.sixlegs.png.SuggestedPalette
Returns palette name.
getProgressive() - Method in class com.sixlegs.png.PngConfig
Returns the current progressive display setting.
getProperties() - Method in class com.sixlegs.png.PngImage
Returns the map which stores all of this image's property values.
getProperty(String) - Method in class com.sixlegs.png.PngImage
Returns a per-image property by name.
getReadLimit() - Method in class com.sixlegs.png.PngConfig
Returns the current read limit setting.
getReduce16() - Method in class com.sixlegs.png.PngConfig
Returns the current 16-bit reduction setting.
getSample(int, short[]) - Method in interface com.sixlegs.png.SuggestedPalette
Retrieve a sample value.
getSampleCount() - Method in interface com.sixlegs.png.SuggestedPalette
Returns the number of samples.
getSampleDepth() - Method in interface com.sixlegs.png.SuggestedPalette
Returns the sample depth.
getSamples() - Method in class com.sixlegs.png.PngImage
Returns the number of samples per pixel.
getSourceRegion() - Method in class com.sixlegs.png.PngConfig
Returns the source region to be used.
getSourceXSubsampling() - Method in class com.sixlegs.png.PngConfig
Returns the number of source columns to advance for each pixel.
getSourceYSubsampling() - Method in class com.sixlegs.png.PngConfig
Returns the number of rows to advance for each pixel.
getSubsamplingXOffset() - Method in class com.sixlegs.png.PngConfig
Returns the horizontal offset of the subsampling grid.
getSubsamplingYOffset() - Method in class com.sixlegs.png.PngConfig
Returns the vertical offset of the subsampling grid.
getText() - Method in interface com.sixlegs.png.TextChunk
Returns the text of this TextChunk.
getTextChunk(String) - Method in class com.sixlegs.png.PngImage
Returns a text chunk that uses the given keyword, if one exists.
getTranslatedKeyword() - Method in interface com.sixlegs.png.TextChunk
Returns a translation of the keyword into the language used by this TextChunk, or null if unspecified.
getTransparency() - Method in class com.sixlegs.png.PngImage
Returns the type of this Transparency.
getType() - Method in interface com.sixlegs.png.TextChunk
Returns the type of this TextChunk.
getWarningsFatal() - Method in class com.sixlegs.png.PngConfig
Returns whether warnings are treated as fatal errors.
getWidth() - Method in class com.sixlegs.png.PngImage
Returns the image widt hin pixels.
GIF_DELAY_TIME - Static variable in class com.sixlegs.png.PngConstants
gIFg: GIF delay time (hundredths of a second)
GIF_DISPOSAL_METHOD - Static variable in class com.sixlegs.png.PngConstants
gIFg: GIF disposal method
GIF_USER_INPUT_FLAG - Static variable in class com.sixlegs.png.PngConstants
gIFg: GIF user input flag
gIFg - Static variable in class com.sixlegs.png.PngConstants
GIF Graphic Control Extension
gIFx - Static variable in class com.sixlegs.png.PngConstants
GIF Application Extension

H

handlePass(BufferedImage, int) - Method in class com.sixlegs.png.PngImage
A method which subclasses may override to take some action after each pass has been decoded.
handleProgress(BufferedImage, float) - Method in class com.sixlegs.png.PngImage
Reports the approximate degree of completion of the current read call.
handleWarning(PngException) - Method in class com.sixlegs.png.PngImage
Callback for customized handling of warnings.
HEIGHT - Static variable in class com.sixlegs.png.PngConstants
IHDR: Height
hIST - Static variable in class com.sixlegs.png.PngConstants
Palette histogram
HISTOGRAM - Static variable in class com.sixlegs.png.PngConstants
hIST: Palette histogram

I

ICC_PROFILE - Static variable in class com.sixlegs.png.PngConstants
iCCP: ICC profile
ICC_PROFILE_NAME - Static variable in class com.sixlegs.png.PngConstants
iCCP: ICC profile name
iCCP - Static variable in class com.sixlegs.png.PngConstants
Embedded ICC profile
IDAT - Static variable in class com.sixlegs.png.PngConstants
Image data
IEND - Static variable in class com.sixlegs.png.PngConstants
Image trailer
IHDR - Static variable in class com.sixlegs.png.PngConstants
Image header
INTERLACE - Static variable in class com.sixlegs.png.PngConstants
IHDR: Interlace method
INTERLACE_ADAM7 - Static variable in class com.sixlegs.png.PngConstants
IHDR: Adam7 interlace
INTERLACE_NONE - Static variable in class com.sixlegs.png.PngConstants
IHDR: No interlace
isAncillary(int) - Static method in class com.sixlegs.png.PngConstants
Returns true if the given chunk type has the ancillary bit set (the first letter is lowercase).
isFatal() - Method in exception com.sixlegs.png.PngException
Returns true if this exception represents a fatal decoding error.
isInterlaced() - Method in class com.sixlegs.png.PngImage
Returns true if the image interlace type (PngConstants.INTERLACE) is something other than INTERLACE_NONE.
isMultipleOK(int) - Method in class com.sixlegs.png.PngImage
Returns whether a chunk is allowed to occur multiple times.
isPrivate(int) - Static method in class com.sixlegs.png.PngConstants
Returns true if the given chunk type has the private bit set (the second letter is lowercase).
isReserved(int) - Static method in class com.sixlegs.png.PngConstants
Returns true if the given chunk type has the reserved bit set (the third letter is lowercase).
isSafeToCopy(int) - Static method in class com.sixlegs.png.PngConstants
Returns true if the given chunk type has the safe-to-copy bit set (the fourth letter is lowercase).
iTXt - Static variable in class com.sixlegs.png.PngConstants
International textual data

O

oFFs - Static variable in class com.sixlegs.png.PngConstants
Image offset

P

PALETTE - Static variable in class com.sixlegs.png.PngConstants
PLTE: Palette entries
PALETTE_ALPHA - Static variable in class com.sixlegs.png.PngConstants
PLTE: Palette alpha
pCAL - Static variable in class com.sixlegs.png.PngConstants
Calibration of pixel values
pHYs - Static variable in class com.sixlegs.png.PngConstants
Physical pixel dimensions
PIXEL_HEIGHT - Static variable in class com.sixlegs.png.PngConstants
sCAL: Physical height of pixel
PIXEL_WIDTH - Static variable in class com.sixlegs.png.PngConstants
sCAL: Physical width of pixel
PIXELS_PER_UNIT_X - Static variable in class com.sixlegs.png.PngConstants
pHYs: Pixels per unit, X axis
PIXELS_PER_UNIT_Y - Static variable in class com.sixlegs.png.PngConstants
pHYs: Pixels per unit, Y axis
PLTE - Static variable in class com.sixlegs.png.PngConstants
Palette
PngConfig - Class in com.sixlegs.png
Customizable parameters used by PngImage when decoding an image.
PngConfig.Builder - Class in com.sixlegs.png
Builder class used to construct PngConfig instances.
PngConfig.Builder() - Constructor for class com.sixlegs.png.PngConfig.Builder
Create a new builder using default values.
PngConfig.Builder(PngConfig) - Constructor for class com.sixlegs.png.PngConfig.Builder
Create a builder using values from the given configuration.
PngConstants - Class in com.sixlegs.png
This interface defines all registered chunk types and provides methods helper methods to examine them.
PngConstants() - Constructor for class com.sixlegs.png.PngConstants
 
PngException - Exception in com.sixlegs.png
The superclass for all decoding exceptions.
PngImage - Class in com.sixlegs.png
A class to decode PNG images.
PngImage() - Constructor for class com.sixlegs.png.PngImage
Constructor which uses a default instance of PngConfig.
PngImage(PngConfig) - Constructor for class com.sixlegs.png.PngImage
Constructor which uses the specified configuration.
POSITION_UNIT - Static variable in class com.sixlegs.png.PngConstants
oFFs: Unit for image offset
POSITION_UNIT_MICROMETER - Static variable in class com.sixlegs.png.PngConstants
oFFs: Unit is the micrometer (10^-6 meter)
POSITION_UNIT_PIXEL - Static variable in class com.sixlegs.png.PngConstants
oFFs: Unit is the pixel (true dimensions unspecified)
POSITION_X - Static variable in class com.sixlegs.png.PngConstants
oFFs: Image X position
POSITION_Y - Static variable in class com.sixlegs.png.PngConstants
oFFs: Image Y position
progressive(boolean) - Method in class com.sixlegs.png.PngConfig.Builder
Enables or disables progressive display for interlaced images.

R

read(File) - Method in class com.sixlegs.png.PngImage
Reads a PNG image from the specified file.
read(InputStream, boolean) - Method in class com.sixlegs.png.PngImage
Reads a PNG image from the specified input stream.
READ_ALL - Static variable in class com.sixlegs.png.PngConfig
Read the entire image
READ_EXCEPT_DATA - Static variable in class com.sixlegs.png.PngConfig
Read the entire image, skipping over the image data
READ_EXCEPT_METADATA - Static variable in class com.sixlegs.png.PngConfig
Read the entire image, skipping over all non-critical chunks except tRNS and gAMA
READ_HEADER - Static variable in class com.sixlegs.png.PngConfig
Read only the header chunk
READ_UNTIL_DATA - Static variable in class com.sixlegs.png.PngConfig
Read all the metadata up to the image data
readChunk(int, DataInput, long, int) - Method in class com.sixlegs.png.PngImage
Read the chunk data from the image input stream, storing properties into this PngImage instance.
readLimit(int) - Method in class com.sixlegs.png.PngConfig.Builder
Configures how much of the image to read.
reduce16(boolean) - Method in class com.sixlegs.png.PngConfig.Builder
Enables or disables 16-bit reduction.
RENDERING_INTENT - Static variable in class com.sixlegs.png.PngConstants
sRGB: Rendering intent

S

sBIT - Static variable in class com.sixlegs.png.PngConstants
Significant bits
sCAL - Static variable in class com.sixlegs.png.PngConstants
Physical scale of image subject
SCALE_UNIT - Static variable in class com.sixlegs.png.PngConstants
sCAL: Unit for physical scale of image subject
SCALE_UNIT_METER - Static variable in class com.sixlegs.png.PngConstants
sCAL: Unit is the meter
SCALE_UNIT_RADIAN - Static variable in class com.sixlegs.png.PngConstants
sCAL: Unit is the radian
SIGNATURE - Static variable in class com.sixlegs.png.PngConstants
Eight byte magic number that begins all PNG images
SIGNIFICANT_BITS - Static variable in class com.sixlegs.png.PngConstants
sBIT: Significant bits
sourceRegion(Rectangle) - Method in class com.sixlegs.png.PngConfig.Builder
Decode only a particular region of the source image.
sourceSubsampling(int, int, int, int) - Method in class com.sixlegs.png.PngConfig.Builder
Reduce the size of the decoded image (or source region) by only using periodic rows and/or columns of the image.
sPLT - Static variable in class com.sixlegs.png.PngConstants
Suggested palette
sRGB - Static variable in class com.sixlegs.png.PngConstants
Standard RGB color space
SRGB_ABSOLUTE_COLORIMETRIC - Static variable in class com.sixlegs.png.PngConstants
sRGB: Absolute colormetric rendering intent
SRGB_PERCEPTUAL - Static variable in class com.sixlegs.png.PngConstants
sRGB: Perceptual rendering intent
SRGB_RELATIVE_COLORIMETRIC - Static variable in class com.sixlegs.png.PngConstants
sRGB: Relative colorimetric rendering intent
SRGB_SATURATION_PRESERVING - Static variable in class com.sixlegs.png.PngConstants
sRGB: Saturation rendering intent
sTER - Static variable in class com.sixlegs.png.PngConstants
Indicator of Stereo Image
STEREO_MODE - Static variable in class com.sixlegs.png.PngConstants
sTER: Indicator of stereo image
STEREO_MODE_CROSS - Static variable in class com.sixlegs.png.PngConstants
sTER: Cross-fuse layout
STEREO_MODE_DIVERGING - Static variable in class com.sixlegs.png.PngConstants
sTER: Diverging-fuse layout
SUGGESTED_PALETTES - Static variable in class com.sixlegs.png.PngConstants
sPLT: List of suggested palettes
SuggestedPalette - Interface in com.sixlegs.png
A suggested palette.

T

tEXt - Static variable in class com.sixlegs.png.PngConstants
Textual data
TEXT_CHUNKS - Static variable in class com.sixlegs.png.PngConstants
tEXt/zTXt/iTXt: List of text chunks
TextChunk - Interface in com.sixlegs.png
Common interface to all PNG text chunk data (tEXt, zTXt, iTXt).
tIME - Static variable in class com.sixlegs.png.PngConstants
Image last-modification time
TIME - Static variable in class com.sixlegs.png.PngConstants
tIME: Image last-modification time
TRANSPARENCY - Static variable in class com.sixlegs.png.PngConstants
tRNS: Transparency samples
tRNS - Static variable in class com.sixlegs.png.PngConstants
Transparency

U

UNIT - Static variable in class com.sixlegs.png.PngConstants
pHYs: Unit specifier
UNIT_METER - Static variable in class com.sixlegs.png.PngConstants
pHYs: Unit is the meter
UNIT_UNKNOWN - Static variable in class com.sixlegs.png.PngConstants
pHYs: Unit is unknown

W

warningsFatal(boolean) - Method in class com.sixlegs.png.PngConfig.Builder
Configures whether warnings should be treated as fatal errors.
WIDTH - Static variable in class com.sixlegs.png.PngConstants
IHDR: Width

Z

zTXt - Static variable in class com.sixlegs.png.PngConstants
Compressed textual data

B C D F G H I O P R S T U W Z

javapng-2.0/javadoc/com/0000755000175000017500000000000011755244626015112 5ustar paulliupaulliujavapng-2.0/javadoc/com/sixlegs/0000755000175000017500000000000011755244626016570 5ustar paulliupaulliujavapng-2.0/javadoc/com/sixlegs/png/0000755000175000017500000000000011755244626017354 5ustar paulliupaulliujavapng-2.0/javadoc/com/sixlegs/png/TextChunk.html0000644000175000017500000002637611016304460022154 0ustar paulliupaulliu TextChunk

com.sixlegs.png
Interface TextChunk


public interface TextChunk

Common interface to all PNG text chunk data (tEXt, zTXt, iTXt).

See Also:
PngImage.getTextChunk(java.lang.String)

Method Summary
 String getKeyword()
          Returns the Latin-1 (ISO-8859-1) encoded keyword of this TextChunk.
 String getLanguage()
          Returns the language (RFC-1766) used by the translated keyword and the text, or null if unspecified.
 String getText()
          Returns the text of this TextChunk.
 String getTranslatedKeyword()
          Returns a translation of the keyword into the language used by this TextChunk, or null if unspecified.
 int getType()
          Returns the type of this TextChunk.
 

Method Detail

getKeyword

String getKeyword()
Returns the Latin-1 (ISO-8859-1) encoded keyword of this TextChunk.


getTranslatedKeyword

String getTranslatedKeyword()
Returns a translation of the keyword into the language used by this TextChunk, or null if unspecified.


getLanguage

String getLanguage()
Returns the language (RFC-1766) used by the translated keyword and the text, or null if unspecified.


getText

String getText()
Returns the text of this TextChunk.


getType

int getType()
Returns the type of this TextChunk.

Returns:
PngConstants.tEXt,
PngConstants.zTXt,
or PngConstants.iTXt


javapng-2.0/javadoc/com/sixlegs/png/package-frame.html0000644000175000017500000000343411016304460022710 0ustar paulliupaulliu com.sixlegs.png com.sixlegs.png
Interfaces 
SuggestedPalette
TextChunk
Classes 
PngConfig
PngConfig.Builder
PngConstants
PngImage
Exceptions 
PngException
javapng-2.0/javadoc/com/sixlegs/png/PngConstants.html0000644000175000017500000025263011016304460022652 0ustar paulliupaulliu PngConstants

com.sixlegs.png
Class PngConstants

java.lang.Object
  extended by com.sixlegs.png.PngConstants

public abstract class PngConstants
extends Object

This interface defines all registered chunk types and provides methods helper methods to examine them. It also defines all of the keys used in the property map of a decoded PngImage, and applicable enumerated values.

See Also:
PngImage.getProperty(java.lang.String), PngImage.getProperties()

Field Summary
static String BACKGROUND
          bKGD: Background samples
static String BIT_DEPTH
          IHDR: Bit depth
static int bKGD
          Background color
static int cHRM
          Primary chromaticities
static String CHROMATICITY
          cHRM: Chromaticity
static String COLOR_TYPE
          IHDR: Color type
static int COLOR_TYPE_GRAY
          IHDR: Grayscale color type
static int COLOR_TYPE_GRAY_ALPHA
          IHDR: Grayscale+alpha color type
static int COLOR_TYPE_PALETTE
          IHDR: Palette color type
static int COLOR_TYPE_RGB
          IHDR: RGB color type
static int COLOR_TYPE_RGB_ALPHA
          IHDR: RGBA color type
static String COMPRESSION
          IHDR: Compression method
static int COMPRESSION_BASE
          IHDR: Deflate/inflate compression
static String FILTER
          IHDR: Filter method
static int FILTER_BASE
          IHDR: Adaptive filtering
static int gAMA
          Image gamma
static String GAMMA
          gAMA: Gamma
static String GIF_DELAY_TIME
          gIFg: GIF delay time (hundredths of a second)
static String GIF_DISPOSAL_METHOD
          gIFg: GIF disposal method
static String GIF_USER_INPUT_FLAG
          gIFg: GIF user input flag
static int gIFg
          GIF Graphic Control Extension
static int gIFx
          GIF Application Extension
static String HEIGHT
          IHDR: Height
static int hIST
          Palette histogram
static String HISTOGRAM
          hIST: Palette histogram
static String ICC_PROFILE
          iCCP: ICC profile
static String ICC_PROFILE_NAME
          iCCP: ICC profile name
static int iCCP
          Embedded ICC profile
static int IDAT
          Image data
static int IEND
          Image trailer
static int IHDR
          Image header
static String INTERLACE
          IHDR: Interlace method
static int INTERLACE_ADAM7
          IHDR: Adam7 interlace
static int INTERLACE_NONE
          IHDR: No interlace
static int iTXt
          International textual data
static int oFFs
          Image offset
static String PALETTE
          PLTE: Palette entries
static String PALETTE_ALPHA
          PLTE: Palette alpha
static int pCAL
          Calibration of pixel values
static int pHYs
          Physical pixel dimensions
static String PIXEL_HEIGHT
          sCAL: Physical height of pixel
static String PIXEL_WIDTH
          sCAL: Physical width of pixel
static String PIXELS_PER_UNIT_X
          pHYs: Pixels per unit, X axis
static String PIXELS_PER_UNIT_Y
          pHYs: Pixels per unit, Y axis
static int PLTE
          Palette
static String POSITION_UNIT
          oFFs: Unit for image offset
static int POSITION_UNIT_MICROMETER
          oFFs: Unit is the micrometer (10^-6 meter)
static int POSITION_UNIT_PIXEL
          oFFs: Unit is the pixel (true dimensions unspecified)
static String POSITION_X
          oFFs: Image X position
static String POSITION_Y
          oFFs: Image Y position
static String RENDERING_INTENT
          sRGB: Rendering intent
static int sBIT
          Significant bits
static int sCAL
          Physical scale of image subject
static String SCALE_UNIT
          sCAL: Unit for physical scale of image subject
static int SCALE_UNIT_METER
          sCAL: Unit is the meter
static int SCALE_UNIT_RADIAN
          sCAL: Unit is the radian
static long SIGNATURE
          Eight byte magic number that begins all PNG images
static String SIGNIFICANT_BITS
          sBIT: Significant bits
static int sPLT
          Suggested palette
static int sRGB
          Standard RGB color space
static int SRGB_ABSOLUTE_COLORIMETRIC
          sRGB: Absolute colormetric rendering intent
static int SRGB_PERCEPTUAL
          sRGB: Perceptual rendering intent
static int SRGB_RELATIVE_COLORIMETRIC
          sRGB: Relative colorimetric rendering intent
static int SRGB_SATURATION_PRESERVING
          sRGB: Saturation rendering intent
static int sTER
          Indicator of Stereo Image
static String STEREO_MODE
          sTER: Indicator of stereo image
static int STEREO_MODE_CROSS
          sTER: Cross-fuse layout
static int STEREO_MODE_DIVERGING
          sTER: Diverging-fuse layout
static String SUGGESTED_PALETTES
          sPLT: List of suggested palettes
static int tEXt
          Textual data
static String TEXT_CHUNKS
          tEXt/zTXt/iTXt: List of text chunks
static int tIME
          Image last-modification time
static String TIME
          tIME: Image last-modification time
static String TRANSPARENCY
          tRNS: Transparency samples
static int tRNS
          Transparency
static String UNIT
          pHYs: Unit specifier
static int UNIT_METER
          pHYs: Unit is the meter
static int UNIT_UNKNOWN
          pHYs: Unit is unknown
static String WIDTH
          IHDR: Width
static int zTXt
          Compressed textual data
 
Constructor Summary
PngConstants()
           
 
Method Summary
static String getChunkName(int chunkType)
          Returns the four-character ASCII name corresponding to the given chunk type.
static int getChunkType(String chunkName)
          Returns the chunk type corresponding to the given four-character ASCII chunk name.
static boolean isAncillary(int chunkType)
          Returns true if the given chunk type has the ancillary bit set (the first letter is lowercase).
static boolean isPrivate(int chunkType)
          Returns true if the given chunk type has the private bit set (the second letter is lowercase).
static boolean isReserved(int chunkType)
          Returns true if the given chunk type has the reserved bit set (the third letter is lowercase).
static boolean isSafeToCopy(int chunkType)
          Returns true if the given chunk type has the safe-to-copy bit set (the fourth letter is lowercase).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SIGNATURE

public static final long SIGNATURE
Eight byte magic number that begins all PNG images

See Also:
Constant Field Values

IHDR

public static final int IHDR
Image header

See Also:
Constant Field Values

PLTE

public static final int PLTE
Palette

See Also:
Constant Field Values

IDAT

public static final int IDAT
Image data

See Also:
Constant Field Values

IEND

public static final int IEND
Image trailer

See Also:
Constant Field Values

bKGD

public static final int bKGD
Background color

See Also:
Constant Field Values

cHRM

public static final int cHRM
Primary chromaticities

See Also:
Constant Field Values

gAMA

public static final int gAMA
Image gamma

See Also:
Constant Field Values

hIST

public static final int hIST
Palette histogram

See Also:
Constant Field Values

iCCP

public static final int iCCP
Embedded ICC profile

See Also:
Constant Field Values

iTXt

public static final int iTXt
International textual data

See Also:
Constant Field Values

pHYs

public static final int pHYs
Physical pixel dimensions

See Also:
Constant Field Values

sBIT

public static final int sBIT
Significant bits

See Also:
Constant Field Values

sPLT

public static final int sPLT
Suggested palette

See Also:
Constant Field Values

sRGB

public static final int sRGB
Standard RGB color space

See Also:
Constant Field Values

tEXt

public static final int tEXt
Textual data

See Also:
Constant Field Values

tIME

public static final int tIME
Image last-modification time

See Also:
Constant Field Values

tRNS

public static final int tRNS
Transparency

See Also:
Constant Field Values

zTXt

public static final int zTXt
Compressed textual data

See Also:
Constant Field Values

oFFs

public static final int oFFs
Image offset

See Also:
Constant Field Values

pCAL

public static final int pCAL
Calibration of pixel values

See Also:
Constant Field Values

sCAL

public static final int sCAL
Physical scale of image subject

See Also:
Constant Field Values

gIFg

public static final int gIFg
GIF Graphic Control Extension

See Also:
Constant Field Values

gIFx

public static final int gIFx
GIF Application Extension

See Also:
Constant Field Values

sTER

public static final int sTER
Indicator of Stereo Image

See Also:
Constant Field Values

BIT_DEPTH

public static final String BIT_DEPTH
IHDR: Bit depth

See Also:
Constant Field Values

COLOR_TYPE

public static final String COLOR_TYPE
IHDR: Color type

See Also:
Constant Field Values

COMPRESSION

public static final String COMPRESSION
IHDR: Compression method

See Also:
Constant Field Values

FILTER

public static final String FILTER
IHDR: Filter method

See Also:
Constant Field Values

GAMMA

public static final String GAMMA
gAMA: Gamma

See Also:
Constant Field Values

WIDTH

public static final String WIDTH
IHDR: Width

See Also:
Constant Field Values

HEIGHT

public static final String HEIGHT
IHDR: Height

See Also:
Constant Field Values

INTERLACE

public static final String INTERLACE
IHDR: Interlace method

See Also:
Constant Field Values

PALETTE

public static final String PALETTE
PLTE: Palette entries

See Also:
Constant Field Values

PALETTE_ALPHA

public static final String PALETTE_ALPHA
PLTE: Palette alpha

See Also:
Constant Field Values

TRANSPARENCY

public static final String TRANSPARENCY
tRNS: Transparency samples

See Also:
Constant Field Values

BACKGROUND

public static final String BACKGROUND
bKGD: Background samples

See Also:
Constant Field Values

PIXELS_PER_UNIT_X

public static final String PIXELS_PER_UNIT_X
pHYs: Pixels per unit, X axis

See Also:
Constant Field Values

PIXELS_PER_UNIT_Y

public static final String PIXELS_PER_UNIT_Y
pHYs: Pixels per unit, Y axis

See Also:
Constant Field Values

RENDERING_INTENT

public static final String RENDERING_INTENT
sRGB: Rendering intent

See Also:
Constant Field Values

SIGNIFICANT_BITS

public static final String SIGNIFICANT_BITS
sBIT: Significant bits

See Also:
Constant Field Values

TEXT_CHUNKS

public static final String TEXT_CHUNKS
tEXt/zTXt/iTXt: List of text chunks

See Also:
Constant Field Values

TIME

public static final String TIME
tIME: Image last-modification time

See Also:
Constant Field Values

UNIT

public static final String UNIT
pHYs: Unit specifier

See Also:
Constant Field Values

CHROMATICITY

public static final String CHROMATICITY
cHRM: Chromaticity

See Also:
Constant Field Values

ICC_PROFILE

public static final String ICC_PROFILE
iCCP: ICC profile

See Also:
Constant Field Values

ICC_PROFILE_NAME

public static final String ICC_PROFILE_NAME
iCCP: ICC profile name

See Also:
Constant Field Values

HISTOGRAM

public static final String HISTOGRAM
hIST: Palette histogram

See Also:
Constant Field Values

SUGGESTED_PALETTES

public static final String SUGGESTED_PALETTES
sPLT: List of suggested palettes

See Also:
Constant Field Values

GIF_DISPOSAL_METHOD

public static final String GIF_DISPOSAL_METHOD
gIFg: GIF disposal method

See Also:
Constant Field Values

GIF_USER_INPUT_FLAG

public static final String GIF_USER_INPUT_FLAG
gIFg: GIF user input flag

See Also:
Constant Field Values

GIF_DELAY_TIME

public static final String GIF_DELAY_TIME
gIFg: GIF delay time (hundredths of a second)

See Also:
Constant Field Values

SCALE_UNIT

public static final String SCALE_UNIT
sCAL: Unit for physical scale of image subject

See Also:
Constant Field Values

PIXEL_WIDTH

public static final String PIXEL_WIDTH
sCAL: Physical width of pixel

See Also:
Constant Field Values

PIXEL_HEIGHT

public static final String PIXEL_HEIGHT
sCAL: Physical height of pixel

See Also:
Constant Field Values

POSITION_UNIT

public static final String POSITION_UNIT
oFFs: Unit for image offset

See Also:
Constant Field Values

STEREO_MODE

public static final String STEREO_MODE
sTER: Indicator of stereo image

See Also:
Constant Field Values

COLOR_TYPE_GRAY

public static final int COLOR_TYPE_GRAY
IHDR: Grayscale color type

See Also:
Constant Field Values

COLOR_TYPE_GRAY_ALPHA

public static final int COLOR_TYPE_GRAY_ALPHA
IHDR: Grayscale+alpha color type

See Also:
Constant Field Values

COLOR_TYPE_PALETTE

public static final int COLOR_TYPE_PALETTE
IHDR: Palette color type

See Also:
Constant Field Values

COLOR_TYPE_RGB

public static final int COLOR_TYPE_RGB
IHDR: RGB color type

See Also:
Constant Field Values

COLOR_TYPE_RGB_ALPHA

public static final int COLOR_TYPE_RGB_ALPHA
IHDR: RGBA color type

See Also:
Constant Field Values

INTERLACE_NONE

public static final int INTERLACE_NONE
IHDR: No interlace

See Also:
Constant Field Values

INTERLACE_ADAM7

public static final int INTERLACE_ADAM7
IHDR: Adam7 interlace

See Also:
Constant Field Values

FILTER_BASE

public static final int FILTER_BASE
IHDR: Adaptive filtering

See Also:
Constant Field Values

COMPRESSION_BASE

public static final int COMPRESSION_BASE
IHDR: Deflate/inflate compression

See Also:
Constant Field Values

UNIT_UNKNOWN

public static final int UNIT_UNKNOWN
pHYs: Unit is unknown

See Also:
Constant Field Values

UNIT_METER

public static final int UNIT_METER
pHYs: Unit is the meter

See Also:
Constant Field Values

SRGB_PERCEPTUAL

public static final int SRGB_PERCEPTUAL
sRGB: Perceptual rendering intent

See Also:
Constant Field Values

SRGB_RELATIVE_COLORIMETRIC

public static final int SRGB_RELATIVE_COLORIMETRIC
sRGB: Relative colorimetric rendering intent

See Also:
Constant Field Values

SRGB_SATURATION_PRESERVING

public static final int SRGB_SATURATION_PRESERVING
sRGB: Saturation rendering intent

See Also:
Constant Field Values

SRGB_ABSOLUTE_COLORIMETRIC

public static final int SRGB_ABSOLUTE_COLORIMETRIC
sRGB: Absolute colormetric rendering intent

See Also:
Constant Field Values

POSITION_X

public static final String POSITION_X
oFFs: Image X position

See Also:
Constant Field Values

POSITION_Y

public static final String POSITION_Y
oFFs: Image Y position

See Also:
Constant Field Values

POSITION_UNIT_PIXEL

public static final int POSITION_UNIT_PIXEL
oFFs: Unit is the pixel (true dimensions unspecified)

See Also:
Constant Field Values

POSITION_UNIT_MICROMETER

public static final int POSITION_UNIT_MICROMETER
oFFs: Unit is the micrometer (10^-6 meter)

See Also:
Constant Field Values

SCALE_UNIT_METER

public static final int SCALE_UNIT_METER
sCAL: Unit is the meter

See Also:
Constant Field Values

SCALE_UNIT_RADIAN

public static final int SCALE_UNIT_RADIAN
sCAL: Unit is the radian

See Also:
Constant Field Values

STEREO_MODE_CROSS

public static final int STEREO_MODE_CROSS
sTER: Cross-fuse layout

See Also:
Constant Field Values

STEREO_MODE_DIVERGING

public static final int STEREO_MODE_DIVERGING
sTER: Diverging-fuse layout

See Also:
Constant Field Values
Constructor Detail

PngConstants

public PngConstants()
Method Detail

isAncillary

public static boolean isAncillary(int chunkType)
Returns true if the given chunk type has the ancillary bit set (the first letter is lowercase). An ancillary chunk is once which is not strictly necessary in order to meaningfully display the contents of the file.

Parameters:
chunkType - the chunk type
Returns:
whether the chunk type ancillary bit is set

isPrivate

public static boolean isPrivate(int chunkType)
Returns true if the given chunk type has the private bit set (the second letter is lowercase). All unregistered chunk types should have this bit set.

Parameters:
chunkType - the chunk type
Returns:
whether the chunk type private bit is set

isReserved

public static boolean isReserved(int chunkType)
Returns true if the given chunk type has the reserved bit set (the third letter is lowercase). The meaning of this bit is currently undefined, but reserved for future use. Images conforming to the current version of the PNG specification must not have this bit set.

Parameters:
chunkType - the chunk type
Returns:
whether the chunk type reserved bit is set

isSafeToCopy

public static boolean isSafeToCopy(int chunkType)
Returns true if the given chunk type has the safe-to-copy bit set (the fourth letter is lowercase). Chunks marked as safe-to-copy may be copied to a modified PNG file whether or not the software recognizes the chunk type.

Parameters:
chunkType - the chunk type
Returns:
whether the chunk safe-to-copy bit is set

getChunkName

public static String getChunkName(int chunkType)
Returns the four-character ASCII name corresponding to the given chunk type. For example, PngConstants.getChunkName(PngConstants.IHDR) will return "IHDR".

Parameters:
chunkType - the chunk type
Returns:
the four-character ASCII chunk name

getChunkType

public static int getChunkType(String chunkName)
Returns the chunk type corresponding to the given four-character ASCII chunk name.

Parameters:
chunkName - the four-character ASCII chunk name
Returns:
the chunk type
Throws:
NullPointerException - if name is null
IndexOutOfBoundsException - if name has less than four characters


javapng-2.0/javadoc/com/sixlegs/png/class-use/0000755000175000017500000000000011755244626021253 5ustar paulliupaulliujavapng-2.0/javadoc/com/sixlegs/png/class-use/TextChunk.html0000644000175000017500000001516011016304460024040 0ustar paulliupaulliu Uses of Interface com.sixlegs.png.TextChunk

Uses of Interface
com.sixlegs.png.TextChunk

Uses of TextChunk in com.sixlegs.png
 

Methods in com.sixlegs.png that return TextChunk
 TextChunk PngImage.getTextChunk(String key)
          Returns a text chunk that uses the given keyword, if one exists.
 



javapng-2.0/javadoc/com/sixlegs/png/class-use/PngConstants.html0000644000175000017500000001232011016304460024537 0ustar paulliupaulliu Uses of Class com.sixlegs.png.PngConstants

Uses of Class
com.sixlegs.png.PngConstants

No usage of com.sixlegs.png.PngConstants



javapng-2.0/javadoc/com/sixlegs/png/class-use/PngImage.html0000644000175000017500000001225011016304460023607 0ustar paulliupaulliu Uses of Class com.sixlegs.png.PngImage

Uses of Class
com.sixlegs.png.PngImage

No usage of com.sixlegs.png.PngImage



javapng-2.0/javadoc/com/sixlegs/png/class-use/SuggestedPalette.html0000644000175000017500000001241411016304460025373 0ustar paulliupaulliu Uses of Interface com.sixlegs.png.SuggestedPalette

Uses of Interface
com.sixlegs.png.SuggestedPalette

No usage of com.sixlegs.png.SuggestedPalette



javapng-2.0/javadoc/com/sixlegs/png/class-use/PngConfig.Builder.html0000644000175000017500000002737411016304460025374 0ustar paulliupaulliu Uses of Class com.sixlegs.png.PngConfig.Builder

Uses of Class
com.sixlegs.png.PngConfig.Builder

Uses of PngConfig.Builder in com.sixlegs.png
 

Methods in com.sixlegs.png that return PngConfig.Builder
 PngConfig.Builder PngConfig.Builder.convertIndexed(boolean convertIndexed)
          Whether to convert images with an indexed color model (paletted and 1/2/4/8-bit grayscale) to use a component color model.
 PngConfig.Builder PngConfig.Builder.defaultGamma(float defaultGamma)
          Sets the default gamma value.
 PngConfig.Builder PngConfig.Builder.displayExponent(float displayExponent)
          Sets the default display exponent.
 PngConfig.Builder PngConfig.Builder.gammaCorrect(boolean gammaCorrect)
          Enables or disables gamma correction.
 PngConfig.Builder PngConfig.Builder.progressive(boolean progressive)
          Enables or disables progressive display for interlaced images.
 PngConfig.Builder PngConfig.Builder.readLimit(int readLimit)
          Configures how much of the image to read.
 PngConfig.Builder PngConfig.Builder.reduce16(boolean reduce16)
          Enables or disables 16-bit reduction.
 PngConfig.Builder PngConfig.Builder.sourceRegion(Rectangle sourceRegion)
          Decode only a particular region of the source image.
 PngConfig.Builder PngConfig.Builder.sourceSubsampling(int xsub, int ysub, int xoff, int yoff)
          Reduce the size of the decoded image (or source region) by only using periodic rows and/or columns of the image.
 PngConfig.Builder PngConfig.Builder.warningsFatal(boolean warningsFatal)
          Configures whether warnings should be treated as fatal errors.
 



javapng-2.0/javadoc/com/sixlegs/png/class-use/PngConfig.html0000644000175000017500000002022211016304460023770 0ustar paulliupaulliu Uses of Class com.sixlegs.png.PngConfig

Uses of Class
com.sixlegs.png.PngConfig

Uses of PngConfig in com.sixlegs.png
 

Methods in com.sixlegs.png that return PngConfig
 PngConfig PngConfig.Builder.build()
          Create a configuration using the current values of this builder.
 PngConfig PngImage.getConfig()
          Returns the configuration used by this object.
 

Constructors in com.sixlegs.png with parameters of type PngConfig
PngConfig.Builder(PngConfig cfg)
          Create a builder using values from the given configuration.
PngImage(PngConfig config)
          Constructor which uses the specified configuration.
 



javapng-2.0/javadoc/com/sixlegs/png/class-use/PngException.html0000644000175000017500000001670511016304460024534 0ustar paulliupaulliu Uses of Class com.sixlegs.png.PngException

Uses of Class
com.sixlegs.png.PngException

Uses of PngException in com.sixlegs.png
 

Methods in com.sixlegs.png with parameters of type PngException
protected  void PngImage.handleWarning(PngException e)
          Callback for customized handling of warnings.
 

Methods in com.sixlegs.png that throw PngException
protected  void PngImage.handleWarning(PngException e)
          Callback for customized handling of warnings.
 



javapng-2.0/javadoc/com/sixlegs/png/PngImage.html0000644000175000017500000016071111016304460021716 0ustar paulliupaulliu PngImage

com.sixlegs.png
Class PngImage

java.lang.Object
  extended by com.sixlegs.png.PngImage
All Implemented Interfaces:
Transparency

public class PngImage
extends Object
implements Transparency

A class to decode PNG images. The simplest use is if only a decoded BufferedImage is required:

BufferedImage image = new PngImage().read(new java.io.File("test.png"));
The PngImage instance used to read the image also stores all of the image metadata. For customized PNG decoding, a PngConfig object may be passed to the constructor.

This class is not thread-safe. Do not share a PngImage instance among multiple threads without proper synchronization.

For more information visit http://www.sixlegs.com/

Author:
Chris Nokleberg <chris@sixlegs.com>
See Also:
PngConfig

Field Summary
 
Fields inherited from interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
 
Constructor Summary
PngImage()
          Constructor which uses a default instance of PngConfig.
PngImage(PngConfig config)
          Constructor which uses the specified configuration.
 
Method Summary
protected  BufferedImage createImage(InputStream in, Dimension size)
          A hook by which subclasses can access or manipulate the raw image data.
 Color getBackground()
          Returns the background color explicitly encoded in the image.
 int getBitDepth()
          Returns the image bit depth.
 int getColorType()
          Returns the image color type.
 PngConfig getConfig()
          Returns the configuration used by this object.
 float getGamma()
          Returns the gamma exponent that was explicitly encoded in the image, if there was one, or the value of PngConfig.getDefaultGamma() otherwise.
 short[] getGammaTable()
          Returns a gamma table which can be used for custom gamma correction.
 int getHeight()
          Returns the image height in pixels.
 Map getProperties()
          Returns the map which stores all of this image's property values.
 Object getProperty(String name)
          Returns a per-image property by name.
 int getSamples()
          Returns the number of samples per pixel.
 TextChunk getTextChunk(String key)
          Returns a text chunk that uses the given keyword, if one exists.
 int getTransparency()
          Returns the type of this Transparency.
 int getWidth()
          Returns the image widt hin pixels.
protected  boolean handlePass(BufferedImage image, int pass)
          A method which subclasses may override to take some action after each pass has been decoded.
protected  boolean handleProgress(BufferedImage image, float pct)
          Reports the approximate degree of completion of the current read call.
protected  void handleWarning(PngException e)
          Callback for customized handling of warnings.
 boolean isInterlaced()
          Returns true if the image interlace type (PngConstants.INTERLACE) is something other than INTERLACE_NONE.
protected  boolean isMultipleOK(int type)
          Returns whether a chunk is allowed to occur multiple times.
 BufferedImage read(File file)
          Reads a PNG image from the specified file.
 BufferedImage read(InputStream in, boolean close)
          Reads a PNG image from the specified input stream.
protected  void readChunk(int type, DataInput in, long offset, int length)
          Read the chunk data from the image input stream, storing properties into this PngImage instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PngImage

public PngImage()
Constructor which uses a default instance of PngConfig.


PngImage

public PngImage(PngConfig config)
Constructor which uses the specified configuration.

Method Detail

getConfig

public PngConfig getConfig()
Returns the configuration used by this object.

Returns:
the PngConfig instance used by this object

read

public BufferedImage read(File file)
                   throws IOException
Reads a PNG image from the specified file. Image metadata will be stored in the property map of this PngImage instance, for retrieval via the various helper methods (getWidth(), getHeight(), etc.) and getProperty(java.lang.String). The decoded image itself is returned by this method but not cached.

If PngConfig.getReadLimit() is anything but PngConfig.READ_ALL, then this method will return null instead of the decoded image.

Multiple images can be read using the same PngImage instance. The property map is cleared each time this method is called.

Parameters:
file - the file to read
Returns:
the decoded image, or null if no image was decoded
Throws:
IOException - if any error occurred while reading the image
See Also:
read(java.io.InputStream, boolean), createImage(java.io.InputStream, java.awt.Dimension), handlePass(java.awt.image.BufferedImage, int)

read

public BufferedImage read(InputStream in,
                          boolean close)
                   throws IOException
Reads a PNG image from the specified input stream. Image metadata will be stored in the property map of this PngImage instance, for retrieval via the various helper methods (getWidth(), getHeight(), etc.) and getProperty(java.lang.String). The decoded image itself is returned by this method but not cached.

If PngConfig.getReadLimit() is anything but PngConfig.READ_ALL, then this method will return null instead of the decoded image.

Multiple images can be read using the same PngImage instance. A new property map is created each time this method is called.

Parameters:
in - the input stream to read
close - whether to close the input stream after reading
Returns:
the decoded image, or null if no image was decoded
Throws:
IOException - if any error occurred while reading the image
See Also:
read(java.io.File), createImage(java.io.InputStream, java.awt.Dimension), handlePass(java.awt.image.BufferedImage, int)

createImage

protected BufferedImage createImage(InputStream in,
                                    Dimension size)
                             throws IOException
A hook by which subclasses can access or manipulate the raw image data. All of the raw, compressed image data contained in the IDAT chunks of the PNG image being read is concatenated and passed to this method as a single input stream. The returned image will become the return value of the calling read(java.io.File) or read(java.io.InputStream, boolean) method.

Unlike readChunk(int, java.io.DataInput, long, int) implementations, subclasses may read less than the correct amount from this stream; the remainder will be skipped.

Parameters:
in - the input stream of raw, compressed image data
size - the size of the image data
Returns:
the decoded image, or null
Throws:
IOException - if any error occurred while processing the image data

handlePass

protected boolean handlePass(BufferedImage image,
                             int pass)
A method which subclasses may override to take some action after each pass has been decoded. An interlaced image has seven passes, and non-interlaced image only one. The pass arguments indicates the index of the completed pass, starting with zero.

For interlaced images, the state of the image data before the last pass is affected by the value of PngConfig.getProgressive().

Image decoding can be aborted by returning false. The default implementation always returns true.

Parameters:
image - the partially or fully decoded image
pass - the index of the completed pass
Returns:
false to abort image decoding

handleProgress

protected boolean handleProgress(BufferedImage image,
                                 float pct)
Reports the approximate degree of completion of the current read call. This method is called periodically during image decoding. The degree of completion is expressed as a percentage varying from 0.0F to 100.0F, and is calculated using the number of pixels decoded.

Image decoding can be aborted by returning false. The default implementation returns true.

Parameters:
image - the partially or fully decoded image
pct - the approximate percentage of decoding that has been completed
Returns:
false to abort image decoding

handleWarning

protected void handleWarning(PngException e)
                      throws PngException
Callback for customized handling of warnings. Whenever a non-fatal error is found, an instance of PngException is created and passed to this method. To signal that the exception should be treated as a fatal exception (and abort image processing), an implementation should re-throw the exception.

By default, this method will re-throw the warning if the warningsFatal property is true.

Throws:
PngException - if the warning should be treated as fatal

getWidth

public int getWidth()
Returns the image widt hin pixels.

Throws:
IllegalStateException - if an image has not been read

getHeight

public int getHeight()
Returns the image height in pixels.

Throws:
IllegalStateException - if an image has not been read

getBitDepth

public int getBitDepth()
Returns the image bit depth.

Returns:
1, 2, 4, 8, or 16
Throws:
IllegalStateException - if an image has not been read

isInterlaced

public boolean isInterlaced()
Returns true if the image interlace type (PngConstants.INTERLACE) is something other than INTERLACE_NONE.

Returns:
true if the image is interlaced
Throws:
IllegalStateException - if an image has not been read

getColorType

public int getColorType()
Returns the image color type.

Returns:
COLOR_TYPE_GRAY,
COLOR_TYPE_GRAY_ALPHA,
COLOR_TYPE_PALETTE,
COLOR_TYPE_RGB,
or COLOR_TYPE_RGB_ALPHA
Throws:
IllegalStateException - if an image has not been read

getTransparency

public int getTransparency()
Returns the type of this Transparency.

Specified by:
getTransparency in interface Transparency
Returns:
the field type of this Transparency, which is either OPAQUE, BITMASK or TRANSLUCENT.
Throws:
IllegalStateException - if an image has not been read

getSamples

public int getSamples()
Returns the number of samples per pixel. Gray and paletted images use one sample, gray+alpha uses two, RGB uses three, and RGB+alpha uses four.

Returns:
1, 2, 3 or 4
Throws:
IllegalStateException - if an image has not been read

getGamma

public float getGamma()
Returns the gamma exponent that was explicitly encoded in the image, if there was one, or the value of PngConfig.getDefaultGamma() otherwise.

Returns:
the gamma exponent
Throws:
IllegalStateException - if an image has not been read

getGammaTable

public short[] getGammaTable()
Returns a gamma table which can be used for custom gamma correction. The table is 256 entries unless the bit depth is 16 and PngConfig.getReduce16() is false, in which case the table is 65535 entries.

The values in the table take into account getGamma() and PngConfig.getDisplayExponent().

Returns:
a table of component values to be used in gamma correction
Throws:
IllegalStateException - if an image has not been read

getBackground

public Color getBackground()
Returns the background color explicitly encoded in the image. For 16-bit images the components are reduced to 8-bit by shifting.

Returns:
the background color, or null
Throws:
IllegalStateException - if an image has not been read

getProperty

public Object getProperty(String name)
Returns a per-image property by name. All common property names are defined in PngConstants; their types are listed in the following table. The use of the various helper methods defined in this class, such as getBackground(), is normally preferrable to working with the raw property values.

PropertyType Description
BIT_DEPTH Integer Bit depth
COLOR_TYPE Integer Color type
COMPRESSION Integer Compression method
FILTER Integer Filter method
GAMMA Float Gamma
WIDTH Integer Width
HEIGHT Integer Height
INTERLACE Integer Interlace method
PALETTE byte[] Palette entries
PALETTE_ALPHA byte[] Palette alpha
TRANSPARENCY int[] Transparency samples
BACKGROUND int[] Background samples
PIXELS_PER_UNIT_X Integer Pixels per unit, X axis
PIXELS_PER_UNIT_Y Integer Pixels per unit, Y axis
UNIT Integer Unit specifier
RENDERING_INTENT Integer Rendering intent
SIGNIFICANT_BITS byte[] Significant bits
TEXT_CHUNKS List List of text chunks
TIME Date Image last-modification time
CHROMATICITY float[] Chromaticity
ICC_PROFILE byte[] ICC profile
ICC_PROFILE_NAME String ICC profile name
HISTOGRAM int[] Palette histogram
SUGGESTED_PALETTES List List of suggested palettes
GIF_DISPOSAL_METHOD Integer GIF disposal method
GIF_USER_INPUT_FLAG Integer GIF user input flag
GIF_DELAY_TIME Integer GIF delay time (hundredths of a second)
SCALE_UNIT Integer Unit for physical scale of image subject
PIXEL_WIDTH Double Physical width of pixel
PIXEL_HEIGHT Double Physical height of pixel
POSITION_UNIT Integer Unit for image offset
STEREO_MODE Integer Indicator of stereo image

Parameters:
name - a property name
Returns:
the property value, or null if no such property exists
Throws:
IllegalStateException - if an image has not been read

getProperties

public Map getProperties()
Returns the map which stores all of this image's property values. The map is mutable, and storing a value with the wrong type may result in other methods in this class throwing IllegalStateException or ClassCastException.

Returns:
the mutable map of image properties

getTextChunk

public TextChunk getTextChunk(String key)
Returns a text chunk that uses the given keyword, if one exists. If multiple text chunks share the same keyword, this method will return the first one that was read. The full list of text chunks may be accessed by calling
getProperty(PngConstants.TEXT_CHUNKS)

Parameters:
key - the text chunk keyword
Returns:
a TextChunk implementation, or null
Throws:
IllegalStateException - if an image has not been read

readChunk

protected void readChunk(int type,
                         DataInput in,
                         long offset,
                         int length)
                  throws IOException
Read the chunk data from the image input stream, storing properties into this PngImage instance.

By default this method will handle all of the chunk types defined in Version 1.2 of the PNG Specification, and most of the registered extension chunks. IDAT chunks will be processed through this method only if PngConfig.getReadLimit() is set to PngConfig.READ_EXCEPT_DATA.

Attempting to read past the end of the chunk data will result in an EOFException. Unread data will be skipped.

Parameters:
type - the chunk type
in - the chunk data
offset - the location of the chunk data within the entire PNG datastream
length - the length of the chunk data
Throws:
IOException

isMultipleOK

protected boolean isMultipleOK(int type)
Returns whether a chunk is allowed to occur multiple times.

By default this method returns true only for sPLT, iTXt, tEXt, zTXt, and IDAT.

Parameters:
type - the chunk type
Returns:
whether multiple chunks of the given type are allowed


javapng-2.0/javadoc/com/sixlegs/png/SuggestedPalette.html0000644000175000017500000002754511016304460023507 0ustar paulliupaulliu SuggestedPalette

com.sixlegs.png
Interface SuggestedPalette


public interface SuggestedPalette

A suggested palette. Suggested palettes can be useful when the display device is not capable of displaying the full range of colors present in the image.

See Also:
PngImage.getProperty(java.lang.String), PngConstants.SUGGESTED_PALETTES

Method Summary
 int getFrequency(int index)
          Retrieve a sample frequency value.
 String getName()
          Returns palette name.
 void getSample(int index, short[] pixel)
          Retrieve a sample value.
 int getSampleCount()
          Returns the number of samples.
 int getSampleDepth()
          Returns the sample depth.
 

Method Detail

getName

String getName()
Returns palette name. This is any convenient name for referring to the palette. The name will be unique across all suggested palettes in the same image.


getSampleCount

int getSampleCount()
Returns the number of samples.


getSampleDepth

int getSampleDepth()
Returns the sample depth. This specifies the width of each color and alpha component of each sample in this palette.

Returns:
8 or 16

getSample

void getSample(int index,
               short[] pixel)
Retrieve a sample value. The red, green, blue, and alpha components of the sample at the given index are stored into the short array. Each component is of the depth specified by getSampleDepth. The color samples are not premultiplied by alpha. An alpha value of 0 means fully transparent.

Parameters:
index - the sample index
pixel - the array in which to store the sample components
Throws:
IndexOutOfBoundsException - if index < 0, index >= getSampleCount, or pixel.length is less than 4
NullPointerException - if pixel is null

getFrequency

int getFrequency(int index)
Retrieve a sample frequency value. The frequency value is proportional to the fraction of pixels in the image that are closest to that palette entry in RGBA space. The range of individual values will reasonably fill 0 to 65535. Entries appear in decreasing order of frequency.

Parameters:
index - the sample index


javapng-2.0/javadoc/com/sixlegs/png/PngConfig.Builder.html0000644000175000017500000006260311016304460023467 0ustar paulliupaulliu PngConfig.Builder

com.sixlegs.png
Class PngConfig.Builder

java.lang.Object
  extended by com.sixlegs.png.PngConfig.Builder
Enclosing class:
PngConfig

public static final class PngConfig.Builder
extends Object

Builder class used to construct PngConfig instances. Each "setter" method returns an reference to the instance to enable chaining multiple calls. Call build() to construct a new PngConfig instance using the current Builder settings. Example:

PngConfig config = new PngConfig.Builder()
        .readLimit(PngConfig.READ_EXCEPT_METADATA)
        .warningsFatal(true)
        .build();


Constructor Summary
PngConfig.Builder()
          Create a new builder using default values.
PngConfig.Builder(PngConfig cfg)
          Create a builder using values from the given configuration.
 
Method Summary
 PngConfig build()
          Create a configuration using the current values of this builder.
 PngConfig.Builder convertIndexed(boolean convertIndexed)
          Whether to convert images with an indexed color model (paletted and 1/2/4/8-bit grayscale) to use a component color model.
 PngConfig.Builder defaultGamma(float defaultGamma)
          Sets the default gamma value.
 PngConfig.Builder displayExponent(float displayExponent)
          Sets the default display exponent.
 PngConfig.Builder gammaCorrect(boolean gammaCorrect)
          Enables or disables gamma correction.
 PngConfig.Builder progressive(boolean progressive)
          Enables or disables progressive display for interlaced images.
 PngConfig.Builder readLimit(int readLimit)
          Configures how much of the image to read.
 PngConfig.Builder reduce16(boolean reduce16)
          Enables or disables 16-bit reduction.
 PngConfig.Builder sourceRegion(Rectangle sourceRegion)
          Decode only a particular region of the source image.
 PngConfig.Builder sourceSubsampling(int xsub, int ysub, int xoff, int yoff)
          Reduce the size of the decoded image (or source region) by only using periodic rows and/or columns of the image.
 PngConfig.Builder warningsFatal(boolean warningsFatal)
          Configures whether warnings should be treated as fatal errors.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PngConfig.Builder

public PngConfig.Builder()
Create a new builder using default values.


PngConfig.Builder

public PngConfig.Builder(PngConfig cfg)
Create a builder using values from the given configuration.

Parameters:
cfg - the configuration to copy
Method Detail

build

public PngConfig build()
Create a configuration using the current values of this builder.


reduce16

public PngConfig.Builder reduce16(boolean reduce16)
Enables or disables 16-bit reduction. If enabled, 16-bit samples are reduced to 8-bit samples by shifting to the right by 8 bits. Default is true.

Parameters:
reduce16 - enable 16-bit reduction

defaultGamma

public PngConfig.Builder defaultGamma(float defaultGamma)
Sets the default gamma value. This value is used unless the image contains an explicit gamma value. Initial value is 1/45455.

Parameters:
defaultGamma - the default gamma value

displayExponent

public PngConfig.Builder displayExponent(float displayExponent)
Sets the default display exponent. The proper setting depends on monitor and OS gamma lookup table settings, if any. The default value of 2.2 should work well with most PC displays. If the operating system has a gamma lookup table (e.g. Macintosh) the display exponent should be lower.

Parameters:
displayExponent - the display exponent

gammaCorrect

public PngConfig.Builder gammaCorrect(boolean gammaCorrect)
Enables or disables gamma correction. If enabled, decoded images will be gamma corrected. Sets to false if your application will perform gamma correctly manually. Default is true.

Parameters:
gammaCorrect - use gamma correction
See Also:
PngImage.getGamma(), PngImage.getGammaTable()

progressive

public PngConfig.Builder progressive(boolean progressive)
Enables or disables progressive display for interlaced images. If enabled, each received pixel is expanded (replicated) to fill a rectangle covering the yet-to-be-transmitted pixel positions below and to the right of the received pixel. This produces a "fade-in" effect as the new image gradually replaces the old, at the cost of some additional processing time. Default is false.

Parameters:
progressive - use progressive display
See Also:
PngImage.handlePass(java.awt.image.BufferedImage, int)

readLimit

public PngConfig.Builder readLimit(int readLimit)
Configures how much of the image to read. Useful when one is interested in only a portion of the image metadata, and would like to avoid reading and/or decoding the actual image data.

Parameters:
readLimit - READ_ALL,
READ_HEADER,
READ_UNTIL_DATA,
READ_EXCEPT_DATA,
or READ_EXCEPT_METADATA

warningsFatal

public PngConfig.Builder warningsFatal(boolean warningsFatal)
Configures whether warnings should be treated as fatal errors. All non-fatal PngException exceptions are caught and passed to the PngImage.handleWarning(com.sixlegs.png.PngException) method. If warnings are configured as fatal, that method will re-throw the exception, which will abort image processing. Default is false.

Parameters:
warningsFatal - true if warnings should be treated as fatal errors
See Also:
PngImage.handleWarning(com.sixlegs.png.PngException)

sourceRegion

public PngConfig.Builder sourceRegion(Rectangle sourceRegion)
Decode only a particular region of the source image. See the equivalent ImageIO method for full documentation.


sourceSubsampling

public PngConfig.Builder sourceSubsampling(int xsub,
                                           int ysub,
                                           int xoff,
                                           int yoff)
Reduce the size of the decoded image (or source region) by only using periodic rows and/or columns of the image. See the equivalent ImageIO method for full documentation.


convertIndexed

public PngConfig.Builder convertIndexed(boolean convertIndexed)
Whether to convert images with an indexed color model (paletted and 1/2/4/8-bit grayscale) to use a component color model.



javapng-2.0/javadoc/com/sixlegs/png/package-tree.html0000644000175000017500000001547211016304460022562 0ustar paulliupaulliu com.sixlegs.png Class Hierarchy

Hierarchy For Package com.sixlegs.png

Class Hierarchy

Interface Hierarchy



javapng-2.0/javadoc/com/sixlegs/png/PngConfig.html0000644000175000017500000006124211016304460022100 0ustar paulliupaulliu PngConfig

com.sixlegs.png
Class PngConfig

java.lang.Object
  extended by com.sixlegs.png.PngConfig

public final class PngConfig
extends Object

Customizable parameters used by PngImage when decoding an image. Instances of this class are immutable and can only be constructed using the PngConfig.Builder inner-class.


Nested Class Summary
static class PngConfig.Builder
          Builder class used to construct PngConfig instances.
 
Field Summary
static int READ_ALL
          Read the entire image
static int READ_EXCEPT_DATA
          Read the entire image, skipping over the image data
static int READ_EXCEPT_METADATA
          Read the entire image, skipping over all non-critical chunks except tRNS and gAMA
static int READ_HEADER
          Read only the header chunk
static int READ_UNTIL_DATA
          Read all the metadata up to the image data
 
Method Summary
 boolean getConvertIndexed()
          Return sthe current indexed image conversion setting.
 float getDefaultGamma()
          Returns the current default gamma value.
 float getDisplayExponent()
          Returns the current display exponent.
 boolean getGammaCorrect()
          Returns the current gamma correction setting.
 boolean getProgressive()
          Returns the current progressive display setting.
 int getReadLimit()
          Returns the current read limit setting.
 boolean getReduce16()
          Returns the current 16-bit reduction setting.
 Rectangle getSourceRegion()
          Returns the source region to be used.
 int getSourceXSubsampling()
          Returns the number of source columns to advance for each pixel.
 int getSourceYSubsampling()
          Returns the number of rows to advance for each pixel.
 int getSubsamplingXOffset()
          Returns the horizontal offset of the subsampling grid.
 int getSubsamplingYOffset()
          Returns the vertical offset of the subsampling grid.
 boolean getWarningsFatal()
          Returns whether warnings are treated as fatal errors.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

READ_ALL

public static final int READ_ALL
Read the entire image

See Also:
Constant Field Values

READ_HEADER

public static final int READ_HEADER
Read only the header chunk

See Also:
Constant Field Values

READ_UNTIL_DATA

public static final int READ_UNTIL_DATA
Read all the metadata up to the image data

See Also:
Constant Field Values

READ_EXCEPT_DATA

public static final int READ_EXCEPT_DATA
Read the entire image, skipping over the image data

See Also:
Constant Field Values

READ_EXCEPT_METADATA

public static final int READ_EXCEPT_METADATA
Read the entire image, skipping over all non-critical chunks except tRNS and gAMA

See Also:
Constant Field Values
Method Detail

getConvertIndexed

public boolean getConvertIndexed()
Return sthe current indexed image conversion setting.

See Also:
PngConfig.Builder.convertIndexed

getReduce16

public boolean getReduce16()
Returns the current 16-bit reduction setting.

See Also:
PngConfig.Builder.reduce16

getDefaultGamma

public float getDefaultGamma()
Returns the current default gamma value.

See Also:
PngConfig.Builder.defaultGamma

getGammaCorrect

public boolean getGammaCorrect()
Returns the current gamma correction setting.

See Also:
PngConfig.Builder.gammaCorrect

getProgressive

public boolean getProgressive()
Returns the current progressive display setting.

See Also:
PngConfig.Builder.progressive

getDisplayExponent

public float getDisplayExponent()
Returns the current display exponent.

See Also:
PngConfig.Builder.displayExponent

getReadLimit

public int getReadLimit()
Returns the current read limit setting.

Returns:
one of READ_ALL,
READ_HEADER,
READ_UNTIL_DATA,
READ_EXCEPT_DATA,
or READ_EXCEPT_METADATA
See Also:
PngConfig.Builder.readLimit

getWarningsFatal

public boolean getWarningsFatal()
Returns whether warnings are treated as fatal errors.

See Also:
PngConfig.Builder.warningsFatal

getSourceRegion

public Rectangle getSourceRegion()
Returns the source region to be used.

See Also:
PngConfig.Builder.sourceRegion

getSourceXSubsampling

public int getSourceXSubsampling()
Returns the number of source columns to advance for each pixel.

See Also:
PngConfig.Builder.sourceSubsampling(int, int, int, int)

getSourceYSubsampling

public int getSourceYSubsampling()
Returns the number of rows to advance for each pixel.

See Also:
PngConfig.Builder.sourceSubsampling(int, int, int, int)

getSubsamplingXOffset

public int getSubsamplingXOffset()
Returns the horizontal offset of the subsampling grid.

See Also:
PngConfig.Builder.sourceSubsampling(int, int, int, int)

getSubsamplingYOffset

public int getSubsamplingYOffset()
Returns the vertical offset of the subsampling grid.

See Also:
PngConfig.Builder.sourceSubsampling(int, int, int, int)


javapng-2.0/javadoc/com/sixlegs/png/PngException.html0000644000175000017500000003130711016304460022630 0ustar paulliupaulliu PngException

com.sixlegs.png
Class PngException

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by java.io.IOException
              extended by com.sixlegs.png.PngException
All Implemented Interfaces:
Serializable

public class PngException
extends IOException

The superclass for all decoding exceptions.

See Also:
Serialized Form

Method Summary
 boolean isFatal()
          Returns true if this exception represents a fatal decoding error.
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

isFatal

public boolean isFatal()
Returns true if this exception represents a fatal decoding error. Most errors in non-ancillary chunks are fatal.



javapng-2.0/javadoc/com/sixlegs/png/package-use.html0000644000175000017500000001550211016304460022411 0ustar paulliupaulliu Uses of Package com.sixlegs.png

Uses of Package
com.sixlegs.png

Classes in com.sixlegs.png used by com.sixlegs.png
PngConfig
          Customizable parameters used by PngImage when decoding an image.
PngConfig.Builder
          Builder class used to construct PngConfig instances.
PngException
          The superclass for all decoding exceptions.
TextChunk
          Common interface to all PNG text chunk data (tEXt, zTXt, iTXt).
 



javapng-2.0/javadoc/com/sixlegs/png/package-summary.html0000644000175000017500000001733711016304460023322 0ustar paulliupaulliu com.sixlegs.png

Package com.sixlegs.png

Interface Summary
SuggestedPalette A suggested palette.
TextChunk Common interface to all PNG text chunk data (tEXt, zTXt, iTXt).
 

Class Summary
PngConfig Customizable parameters used by PngImage when decoding an image.
PngConfig.Builder Builder class used to construct PngConfig instances.
PngConstants This interface defines all registered chunk types and provides methods helper methods to examine them.
PngImage A class to decode PNG images.
 

Exception Summary
PngException The superclass for all decoding exceptions.
 



javapng-2.0/javadoc/allclasses-frame.html0000644000175000017500000000252311016304460020421 0ustar paulliupaulliu All Classes All Classes
PngConfig
PngConfig.Builder
PngConstants
PngException
PngImage
SuggestedPalette
TextChunk
javapng-2.0/javadoc/package-list0000644000175000017500000000002011016304456016577 0ustar paulliupaulliucom.sixlegs.png javapng-2.0/javadoc/stylesheet.css0000644000175000017500000000226211016304460017220 0ustar paulliupaulliu/* Javadoc style sheet */ /* Define colors, fonts and other style attributes here to override the defaults */ /* Page background color */ body { background-color: #FFFFFF } /* Headings */ h1 { font-size: 145% } /* Table colors */ .TableHeadingColor { background: #CCCCFF } /* Dark mauve */ .TableSubHeadingColor { background: #EEEEFF } /* Light mauve */ .TableRowColor { background: #FFFFFF } /* White */ /* Font used in left-hand frame lists */ .FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif } .FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif } .FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif } /* Navigation bar fonts and colors */ .NavBarCell1 { background-color:#EEEEFF;} /* Light mauve */ .NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */ .NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;} .NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;} .NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} .NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} javapng-2.0/javadoc/overview-tree.html0000644000175000017500000001523611016304460020013 0ustar paulliupaulliu Class Hierarchy

Hierarchy For All Packages

Package Hierarchies:
com.sixlegs.png

Class Hierarchy

Interface Hierarchy



javapng-2.0/javadoc/index.html0000644000175000017500000000235611016304460016316 0ustar paulliupaulliu Generated Documentation (Untitled) <H2> Frame Alert</H2> <P> This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. <BR> Link to<A HREF="com/sixlegs/png/package-summary.html">Non-frame version.</A> javapng-2.0/javadoc/allclasses-noframe.html0000644000175000017500000000230711016304460020756 0ustar paulliupaulliu All Classes All Classes
PngConfig
PngConfig.Builder
PngConstants
PngException
PngImage
SuggestedPalette
TextChunk
javapng-2.0/javadoc/resources/0000755000175000017500000000000011755244626016346 5ustar paulliupaulliujavapng-2.0/javadoc/resources/inherit.gif0000644000175000017500000000007111016304456020461 0ustar paulliupaulliuGIF89a,剰 〗Dr歫裨;還Q@枽匩;javapng-2.0/javadoc/constant-values.html0000644000175000017500000011717311016304460020341 0ustar paulliupaulliu Constant Field Values

Constant Field Values


Contents
com.sixlegs.*

com.sixlegs.png.PngConfig
public static final int READ_ALL 0
public static final int READ_EXCEPT_DATA 3
public static final int READ_EXCEPT_METADATA 4
public static final int READ_HEADER 1
public static final int READ_UNTIL_DATA 2

com.sixlegs.png.PngConstants
public static final String BACKGROUND "background_rgb"
public static final String BIT_DEPTH "bit_depth"
public static final int bKGD 1649100612
public static final int cHRM 1665684045
public static final String CHROMATICITY "chromaticity"
public static final String COLOR_TYPE "color_type"
public static final int COLOR_TYPE_GRAY 0
public static final int COLOR_TYPE_GRAY_ALPHA 4
public static final int COLOR_TYPE_PALETTE 3
public static final int COLOR_TYPE_RGB 2
public static final int COLOR_TYPE_RGB_ALPHA 6
public static final String COMPRESSION "compression"
public static final int COMPRESSION_BASE 0
public static final String FILTER "filter"
public static final int FILTER_BASE 0
public static final int gAMA 1732332865
public static final String GAMMA "gamma"
public static final String GIF_DELAY_TIME "gif_delay_time"
public static final String GIF_DISPOSAL_METHOD "gif_disposal_method"
public static final String GIF_USER_INPUT_FLAG "gif_user_input_flag"
public static final int gIFg 1732855399
public static final int gIFx 1732855416
public static final String HEIGHT "height"
public static final int hIST 1749635924
public static final String HISTOGRAM "histogram"
public static final String ICC_PROFILE "icc_profile"
public static final String ICC_PROFILE_NAME "icc_profile_name"
public static final int iCCP 1766015824
public static final int IDAT 1229209940
public static final int IEND 1229278788
public static final int IHDR 1229472850
public static final String INTERLACE "interlace"
public static final int INTERLACE_ADAM7 1
public static final int INTERLACE_NONE 0
public static final int iTXt 1767135348
public static final int oFFs 1866876531
public static final String PALETTE "palette"
public static final String PALETTE_ALPHA "palette_alpha"
public static final int pCAL 1883455820
public static final int pHYs 1883789683
public static final String PIXEL_HEIGHT "pixel_height"
public static final String PIXEL_WIDTH "pixel_width"
public static final String PIXELS_PER_UNIT_X "pixels_per_unit_x"
public static final String PIXELS_PER_UNIT_Y "pixels_per_unit_y"
public static final int PLTE 1347179589
public static final String POSITION_UNIT "position_unit"
public static final int POSITION_UNIT_MICROMETER 1
public static final int POSITION_UNIT_PIXEL 0
public static final String POSITION_X "position_x"
public static final String POSITION_Y "position_y"
public static final String RENDERING_INTENT "rendering_intent"
public static final int sBIT 1933723988
public static final int sCAL 1933787468
public static final String SCALE_UNIT "scale_unit"
public static final int SCALE_UNIT_METER 1
public static final int SCALE_UNIT_RADIAN 2
public static final long SIGNATURE -8552249625308161526L
public static final String SIGNIFICANT_BITS "significant_bits"
public static final int sPLT 1934642260
public static final int sRGB 1934772034
public static final int SRGB_ABSOLUTE_COLORIMETRIC 3
public static final int SRGB_PERCEPTUAL 0
public static final int SRGB_RELATIVE_COLORIMETRIC 1
public static final int SRGB_SATURATION_PRESERVING 2
public static final int sTER 1934902610
public static final String STEREO_MODE "stereo_mode"
public static final int STEREO_MODE_CROSS 0
public static final int STEREO_MODE_DIVERGING 1
public static final String SUGGESTED_PALETTES "suggested_palettes"
public static final int tEXt 1950701684
public static final String TEXT_CHUNKS "text_chunks"
public static final int tIME 1950960965
public static final String TIME "time"
public static final String TRANSPARENCY "transparency"
public static final int tRNS 1951551059
public static final String UNIT "unit"
public static final int UNIT_METER 1
public static final int UNIT_UNKNOWN 0
public static final String WIDTH "width"
public static final int zTXt 2052348020



javapng-2.0/src/0000755000175000017500000000000011755244626013514 5ustar paulliupaulliujavapng-2.0/src/viewer/0000755000175000017500000000000011755244626015015 5ustar paulliupaulliujavapng-2.0/src/viewer/com/0000755000175000017500000000000011755244626015573 5ustar paulliupaulliujavapng-2.0/src/viewer/com/sixlegs/0000755000175000017500000000000011755244626017251 5ustar paulliupaulliujavapng-2.0/src/viewer/com/sixlegs/png/0000755000175000017500000000000011755244626020035 5ustar paulliupaulliujavapng-2.0/src/viewer/com/sixlegs/png/viewer/0000755000175000017500000000000011755244626021336 5ustar paulliupaulliujavapng-2.0/src/viewer/com/sixlegs/png/viewer/checker.png0000644000175000017500000000025210646275032023440 0ustar paulliupaulliu塒NG  IHDR((⿻绫sRGBgAMA睆 黙 cHRMz&u0阘:p満Q<(IDAT8薱w猫B:+/UHo叄 w4蠈*$I!绤态IEND瓸`javapng-2.0/src/viewer/com/sixlegs/png/viewer/Viewer.java0000644000175000017500000001640010646275032023434 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.viewer; import com.sixlegs.png.PngConfig; import com.sixlegs.png.PngImage; import com.sixlegs.png.AnimatedPngImage; import com.sixlegs.png.Animator; import java.awt.*; import java.awt.event.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.swing.*; public class Viewer { private PngConfig config = new PngConfig.Builder().progressive(true).warningsFatal(true).build(); private int progressiveDelay = 0; // TODO private ImagePanel imagePanel; private Paint checker; public static void main(final String[] args) throws Exception { if (args.length != 1) { System.err.println("Usage: java -jar pngviewer.jar "); return; } SwingUtilities.invokeLater(new Runnable() { public void run() { new Viewer(args); } }); } private Viewer(String[] args) { BufferedImage image = readPngResource("checker.png"); Rectangle rect = new Rectangle(0, 0, image.getWidth(), image.getHeight()); checker = new TexturePaint(image, rect); JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame = new JFrame("PNG Viewer"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); imagePanel = new ImagePanel(); Dimension size = new Dimension(400, 300); File file = (args.length > 0) ? new File(args[0]) : null; if (file != null) { try { PngImage png = readHeader(file); size.setSize(png.getWidth(), png.getHeight()); } catch (IOException e) { // ignore here, open will re-throw } } imagePanel.setStretchMode(ImagePanel.STRETCH_PRESERVE); imagePanel.setBackgroundPaint(checker); imagePanel.setPreferredSize(size); // JScrollPane scrollPane = new JScrollPane(imagePanel); // frame.getContentPane().add(scrollPane, BorderLayout.CENTER); frame.getContentPane().add(imagePanel, BorderLayout.CENTER); // TODO: toolbar, menus frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); if (file != null) open(file); } private void open(File file) { new Thread(new ReadPngAction(new AnimatedPngImage(config){ protected boolean handlePass(final BufferedImage image, int pass) { if (isAnimated()) return true; SwingUtilities.invokeLater(new UpdateImageAction(imagePanel, image)); if (progressiveDelay > 0 && (pass == 6 || !isInterlaced())) { try { Thread.sleep(progressiveDelay); } catch (InterruptedException e) { // ignore } } return true; } }, file, imagePanel)).start(); } private static PngImage readHeader(File file) throws IOException { PngImage png = new PngImage(new PngConfig.Builder().readLimit(PngConfig.READ_HEADER).build()); png.read(file); return png; } private BufferedImage readPngResource(String path) { try { return new PngImage().read(getClass().getResourceAsStream(path), true); } catch (IOException e) { throw new Error(e.getMessage()); } } private static class ReadPngAction implements Runnable { private AnimatedPngImage png; private File file; private ImagePanel panel; public ReadPngAction(AnimatedPngImage png, File file, ImagePanel panel) { this.png = png; this.file = file; this.panel = panel; } public void run() { try { // TODO: disable loading BufferedImage[] frames = png.readAllFrames(file); if (png.isAnimated()) { panel.setPreferredSize(new Dimension(png.getWidth(), png.getHeight())); final BufferedImage target = panel.getGraphicsConfiguration().createCompatibleImage(png.getWidth(), png.getHeight(), Transparency.TRANSLUCENT); final Animator animator = new Animator(png, frames, target); Timer timer = new Timer(50, null); timer.setInitialDelay(0); timer.addActionListener(animator); timer.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { panel.setImage(target); } }); timer.start(); } } catch (IOException e) { // TODO: error dialog e.printStackTrace(System.err); } finally { // TODO: re-enable loading } } } private static class UpdateImageAction implements Runnable { private ImagePanel panel; private BufferedImage image; public UpdateImageAction(ImagePanel panel, BufferedImage image) { this.panel = panel; this.image = image; } public void run() { Dimension size = new Dimension(image.getWidth(), image.getHeight()); panel.setPreferredSize(size); panel.setImage(image); } } } javapng-2.0/src/viewer/com/sixlegs/png/viewer/ImagePanel.java0000644000175000017500000001122710646275032024177 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.viewer; import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.image.BufferedImage; import javax.swing.*; class ImagePanel extends JPanel { public static final int STRETCH_NONE = 0; public static final int STRETCH_FULL = 1; public static final int STRETCH_PRESERVE = 2; private int stretchMode = STRETCH_NONE; private BufferedImage image; private Paint background; public ImagePanel() { this(null); } public ImagePanel(BufferedImage image) { this.image = image; } public int getStretchMode() { return stretchMode; } public void setStretchMode(int stretchMode) { this.stretchMode = stretchMode; repaint(); } public BufferedImage getImage() { return image; } public void setImage(BufferedImage image) { this.image = image; repaint(); } public boolean isOpaque() { return background != null && background.getTransparency() == Transparency.OPAQUE; } public Paint getBackgroundPaint() { return background; } public void setBackgroundPaint(Paint background) { this.background = background; } public void paintComponent(Graphics g) { if (background != null) { if (background.getTransparency() != Transparency.OPAQUE) super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; Paint save = g2.getPaint(); g2.setPaint(background); g2.fill(g2.getClipBounds()); g2.setPaint(save); } else { super.paintComponent(g); } if (image != null) { Dimension size = getSize(); boolean skipStretch = true; int imageWidth = image.getWidth(); int imageHeight = image.getHeight(); switch (stretchMode) { case STRETCH_PRESERVE: skipStretch = size.width == imageWidth || size.height == imageHeight; break; case STRETCH_FULL: skipStretch = size.width == imageWidth && size.height == imageHeight; } if (skipStretch) { int x = (size.width - imageWidth) / 2; int y = (size.height - imageHeight) / 2; g.drawImage(image, x, y, this); } else if (stretchMode == STRETCH_PRESERVE) { double scale = Math.min((double)size.width / imageWidth, (double)size.height / imageHeight); int w = (int)(imageWidth * scale); int h = (int)(imageHeight * scale); int x = (size.width - w) / 2; int y = (size.height - h) / 2; g.drawImage(image, x, y, x + w, y + h, 0, 0, imageWidth, imageHeight, this); } else { g.drawImage(image, 0, 0, size.width, size.height, this); } } } } javapng-2.0/src/iio/0000755000175000017500000000000011755244626014274 5ustar paulliupaulliujavapng-2.0/src/iio/com/0000755000175000017500000000000011755244626015052 5ustar paulliupaulliujavapng-2.0/src/iio/com/sixlegs/0000755000175000017500000000000011755244626016530 5ustar paulliupaulliujavapng-2.0/src/iio/com/sixlegs/png/0000755000175000017500000000000011755244626017314 5ustar paulliupaulliujavapng-2.0/src/iio/com/sixlegs/png/iio/0000755000175000017500000000000011755244626020074 5ustar paulliupaulliujavapng-2.0/src/iio/com/sixlegs/png/iio/PngImageReaderSpi.java0000644000175000017500000000601610646275030024217 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.iio; import java.io.IOException; import java.util.Locale; import javax.imageio.ImageReader; import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; public class PngImageReaderSpi extends ImageReaderSpi { private static final long SIGNATURE = 0x89504E470D0A1A0AL; public PngImageReaderSpi() { super("Chris Nokleberg", "2.0", new String[]{ "png", "PNG" }, new String[]{ "png", "PNG" }, new String[]{ "image/png", "image/x-png"}, "com.sixlegs.png.iio.PngImageReader", new Class[]{ ImageInputStream.class, }, null, // writer false, null, null, null, null, false, null, null, null, null); } public String getDescription(Locale locale) { return "com.sixlegs.png ImageIO plugin"; } public boolean canDecodeInput(Object source) throws IOException { if (source instanceof ImageInputStream) { ImageInputStream in = (ImageInputStream)source; in.mark(); long sig = in.readLong(); in.reset(); return sig == SIGNATURE; } return false; } public ImageReader createReaderInstance(Object extension) { return new PngImageReader(this); } } javapng-2.0/src/iio/com/sixlegs/png/iio/PngImageMetadata.java0000644000175000017500000006512210646275030024064 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 2006 Dimitri Koussa 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.iio; import com.sixlegs.png.*; import java.util.*; import javax.imageio.metadata.*; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class PngImageMetadata extends IIOMetadata { // Format defined by sun - with bug static final String nativeMetadataFormatName = "javax_imageio_png_1.0"; private Map props; private Map unknownChunks; private Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC")); PngImageMetadata(Map props, Map unknownChunks) { super(true, nativeMetadataFormatName, "com.sixlegs.png.iio.PngImageMetadata", null, null); this.props = props; this.unknownChunks = unknownChunks; } public IIOMetadataFormat getMetadataFormat(String formatName) { if (formatName.equals(nativeMetadataFormatName)) return PngImageMetadataFormat.getDefaultInstance(); if (formatName.equals(IIOMetadataFormatImpl.standardMetadataFormatName)) return IIOMetadataFormatImpl.getStandardFormatInstance(); throw new IllegalArgumentException(formatName); } public Node getAsTree(String formatName) { if (formatName.equals(nativeMetadataFormatName)) return getNativeTree(); if (formatName.equals(IIOMetadataFormatImpl.standardMetadataFormatName)) return getStandardTree(); throw new IllegalArgumentException(formatName); } public boolean isReadOnly() { //TODO return true; } public void reset() { //TODO } public void mergeTree(String formatName, Node root) { //TODO } private static void appendSimpleNode(IIOMetadataNode parent, String name, String attName, String attValue) { IIOMetadataNode node = new IIOMetadataNode(name); node.setAttribute(attName, attValue); parent.appendChild(node); } // ----------- Methods needed to support the Standard metadata format // // The DTD is available from // http://java.sun.com/j2se/1.4.2/docs/api/javax/imageio/metadata/doc-files/standard_metadata.html // // Used to separate elements such as in a List of Integers private static final String list_separator = " "; protected IIOMetadataNode getStandardChromaNode() { IIOMetadataNode parent = new IIOMetadataNode("Chroma"); int colorType = getInt(PngConstants.COLOR_TYPE); appendSimpleNode(parent, "ColorSpaceType", "name", ((colorType & 2) != 0) ? "RGB" : "GRAY"); appendSimpleNode(parent, "NumChannels", "value", String.valueOf(getNumChannels())); Float gamma = (Float)get(PngConstants.GAMMA); if (gamma != null) appendSimpleNode(parent, "Gamma", "value", gamma.toString()); appendSimpleNode(parent, "BlackIsZero", "value", "true"); IIOMetadataNode node = getPalette("Palette", "PaletteEntry"); if (node != null) { byte[] alpha = (byte[])get(PngConstants.PALETTE_ALPHA); if (alpha != null) { NodeList children = node.getChildNodes(); for (int i = 0, len = children.getLength(); i < len; i++) { int alphaValue = (i < alpha.length) ? (0xFF & alpha[i]) : 255; ((IIOMetadataNode)children.item(i)).setAttribute("alpha", String.valueOf(alphaValue)); } } parent.appendChild(node); } int[] bg = (int[])get(PngConstants.BACKGROUND); if (bg != null) { if (colorType == PngConstants.COLOR_TYPE_PALETTE) { appendSimpleNode(parent, "BackgroundIndex", "value", String.valueOf(bg[0])); } else { node = new IIOMetadataNode("BackgroundColor"); int r, g, b; if (bg.length == 3) { r = bg[0]; g = bg[1]; b = bg[2]; } else { r = g = b = bg[0]; } node.setAttribute("red", String.valueOf(r)); node.setAttribute("green", String.valueOf(g)); node.setAttribute("blue", String.valueOf(b)); parent.appendChild(node); } } return parent; } private int getNumChannels() { switch (getInt(PngConstants.COLOR_TYPE)) { case PngConstants.COLOR_TYPE_GRAY: return 1; case PngConstants.COLOR_TYPE_GRAY_ALPHA: return 2; case PngConstants.COLOR_TYPE_PALETTE: return (get(PngConstants.PALETTE_ALPHA) != null) ? 4 : 3; case PngConstants.COLOR_TYPE_RGB: return 3; case PngConstants.COLOR_TYPE_RGB_ALPHA: return 4; } return 0; } protected IIOMetadataNode getStandardCompressionNode() { IIOMetadataNode parent = new IIOMetadataNode("Compression"); appendSimpleNode(parent, "CompressionTypeName", "value", "deflate"); appendSimpleNode(parent, "Lossless", "value", "true"); appendSimpleNode(parent, "NumProgressiveScans", "value", isInterlaced() ? "7" : "1"); return parent; } protected IIOMetadataNode getStandardDataNode() { int colorType = getInt(PngConstants.COLOR_TYPE); IIOMetadataNode parent = new IIOMetadataNode("Data"); appendSimpleNode(parent, "PlanarConfiguration", "value", "PixelInterleaved"); appendSimpleNode(parent, "SampleFormat", "value", (colorType == PngConstants.COLOR_TYPE_PALETTE) ? "Index" : "UnsignedIntegral"); appendSimpleNode(parent, "BitsPerSample", "value", getBitsPerSample()); byte[] sbit = (byte[])get(PngConstants.SIGNIFICANT_BITS); if (sbit != null) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < sbit.length; i++) { if (i > 0) sb.append(' '); sb.append(sbit[i]); } appendSimpleNode(parent, "SignificantBitsPerSample", "value", sb.toString()); } return parent; } private String getBitsPerSample() { String d = String.valueOf(getInt(PngConstants.BIT_DEPTH)); switch (getInt(PngConstants.COLOR_TYPE)) { case PngConstants.COLOR_TYPE_GRAY: return d; case PngConstants.COLOR_TYPE_GRAY_ALPHA: return d + " " + d; case PngConstants.COLOR_TYPE_RGB: return d + " " + d + " " + d; case PngConstants.COLOR_TYPE_RGB_ALPHA: return d + " " + d + " " + d + " " + d; case PngConstants.COLOR_TYPE_PALETTE: int size = getPaletteSize(((byte[])get(PngConstants.PALETTE)).length / 3); d = String.valueOf((int)Math.round(Math.log(size) / Math.log(2))); if (get(PngConstants.PALETTE_ALPHA) != null) return d + " " + d + " " + d + " " + d; return d + " " + d + " " + d; } return null; } protected IIOMetadataNode getStandardDimensionNode() { IIOMetadataNode parent = new IIOMetadataNode("Dimension"); float aspect = 1.0f; Integer unit = (Integer)get(PngConstants.UNIT); if (unit != null) { aspect = (float)getInt(PngConstants.PIXELS_PER_UNIT_X) / getInt(PngConstants.PIXELS_PER_UNIT_Y); } appendSimpleNode(parent, "PixelAspectRatio", "value", String.valueOf(aspect)); appendSimpleNode(parent, "ImageOrientation", "value", "Normal"); // appendSimpleNode(parent, "HorizontalScreenSize", "value", // String.valueOf(getInt(PngConstants.WIDTH))); // appendSimpleNode(parent, "VerticalScreenSize", "value", // String.valueOf(getInt(PngConstants.HEIGHT))); if (unit != null && unit.intValue() == PngConstants.UNIT_METER) { appendSimpleNode(parent, "HorizontalPixelSize", "value", String.valueOf(1000f / getInt(PngConstants.PIXELS_PER_UNIT_X))); appendSimpleNode(parent, "VerticalPixelSize", "value", String.valueOf(1000f / getInt(PngConstants.PIXELS_PER_UNIT_Y))); } return parent; } protected IIOMetadataNode getStandardDocumentNode() { IIOMetadataNode time = getTime("ImageModificationTime"); if (time != null) { IIOMetadataNode parent = new IIOMetadataNode("Document"); parent.appendChild(time); return parent; } return null; } protected IIOMetadataNode getStandardTextNode() { List textChunks = (List)get(PngConstants.TEXT_CHUNKS); if (textChunks == null) return null; IIOMetadataNode node = new IIOMetadataNode("Text"); for (Iterator it = textChunks.iterator(); it.hasNext();) { TextChunk chunk = (TextChunk)it.next(); IIOMetadataNode child = new IIOMetadataNode("TextEntry"); child.setAttribute("keyword", chunk.getKeyword()); child.setAttribute("value", chunk.getText()); if (chunk.getType() == PngConstants.tEXt) child.setAttribute("encoding", "ISO-8859-1"); //FIXME what about compressed iTXt? if (chunk.getType() == PngConstants.zTXt) { child.setAttribute("compression", "deflate"); } else { child.setAttribute("compression", "none"); } node.appendChild(child); } return node; } protected IIOMetadataNode getStandardTransparencyNode() { int colorType = getInt(PngConstants.COLOR_TYPE); IIOMetadataNode parent = new IIOMetadataNode("Transparency"); boolean hasAlpha = colorType == PngConstants.COLOR_TYPE_RGB_ALPHA || colorType == PngConstants.COLOR_TYPE_GRAY_ALPHA || get(PngConstants.PALETTE_ALPHA) != null; // TODO: sun has spelling error: nonpremultipled instead of premultiplied appendSimpleNode(parent, "Alpha", "value", hasAlpha ? "nonpremultipled" : "none"); Object transObj = get(PngConstants.TRANSPARENCY); if (transObj instanceof int[]) { int[] trans = (int[])transObj; String value; if (trans.length == 3) { value = trans[0] + " " + trans[1] + " " + trans[2]; } else { value = String.valueOf(trans[0]); } appendSimpleNode(parent, "TransparencyColor", "value", value); } else if (get(PngConstants.PALETTE_ALPHA) != null) { // hack parent.appendChild(new IIOMetadataNode("TransparencyColor")); } return parent; } // ----------- Methods needed to support the Native metadata format // // This format is very similar to the javax_imageio_png_1.0 // // It differs in that it is not susceptible to the bug described here // http://developer.java.sun.com/developer/bugParade/bugs/4518989.html // private IIOMetadataNode getNativeTree() { IIOMetadataNode root = new IIOMetadataNode(nativeMetadataFormatName); add_IHDR(root); add_PLTE(root); add_bKGD(root); add_cHRM(root); add_gAMA(root); add_hIST(root); add_iCCP(root); add_pHYS(root); add_sBIT(root); add_sRGB(root); add_tIME(root); add_tRNS(root); add_text_chunks(root); add_unknown_chunks(root); return root; } private int getInt(String name) { return ((Number)get(name)).intValue(); } private Object get(String name) { return props.get(name); } private void add_IHDR(IIOMetadataNode root) { IIOMetadataNode node = new IIOMetadataNode("IHDR"); node.setAttribute("width", String.valueOf(getInt(PngConstants.WIDTH))); node.setAttribute("height", String.valueOf(getInt(PngConstants.HEIGHT))); node.setAttribute("bitDepth", String.valueOf(getInt(PngConstants.BIT_DEPTH))); node.setAttribute("colorType", getColorType(getInt(PngConstants.COLOR_TYPE))); node.setAttribute("compressionMethod", "deflate"); node.setAttribute("filterMethod", "adaptive"); node.setAttribute("interlaceMethod", isInterlaced() ? "adam7" : "none"); root.appendChild(node); } private boolean isInterlaced() { return getInt(PngConstants.INTERLACE) == PngConstants.INTERLACE_ADAM7; } private static String getColorType(int colorType) { switch (colorType) { case PngConstants.COLOR_TYPE_GRAY: return "Grayscale"; case PngConstants.COLOR_TYPE_GRAY_ALPHA: return "GrayAlpha"; case PngConstants.COLOR_TYPE_PALETTE: return "Palette"; case PngConstants.COLOR_TYPE_RGB: return "RGB"; case PngConstants.COLOR_TYPE_RGB_ALPHA: return "RGBAlpha"; } return null; } private void add_PLTE(IIOMetadataNode root) { IIOMetadataNode node = getPalette("PLTE", "PLTEEntry"); if (node != null) root.appendChild(node); } private IIOMetadataNode getPalette(String nodeName, String entryName) { byte[] palette = (byte[])get(PngConstants.PALETTE); if (palette == null) return null; IIOMetadataNode node = new IIOMetadataNode(nodeName); int entries = palette.length / 3; int extraEntries = getPaletteSize(entries) - entries; int index = 0; while (index < palette.length) { IIOMetadataNode entry = new IIOMetadataNode(entryName); add_PaletteEntry(node,entryName, index / 3, 0xFF & palette[index++], 0xFF & palette[index++], 0xFF & palette[index++]); } for (int i = 0; i < extraEntries; i++) add_PaletteEntry(node, entryName, i + entries, 0, 0, 0); return node; } private void add_PaletteEntry(IIOMetadataNode root, String name, int i, int r, int g, int b) { IIOMetadataNode node = new IIOMetadataNode(name); node.setAttribute("index", Integer.toString(i)); node.setAttribute("red", Integer.toString(r)); node.setAttribute("green", Integer.toString(g)); node.setAttribute("blue", Integer.toString(b)); root.appendChild(node); } // Sun seems to insist on having extra (enpty) palette entries private static int getPaletteSize(int entries) { if (entries == 0) return 0; if (entries <= 2) return 2; if (entries <= 4) return 4; if (entries <= 16) return 16; return 256; } private void add_gAMA(IIOMetadataNode root) { Float gamma = (Float)get(PngConstants.GAMMA); if (gamma == null) return; IIOMetadataNode node = new IIOMetadataNode("gAMA"); node.setAttribute("value", formatFloat(gamma.floatValue())); root.appendChild(node); } private void add_tIME(IIOMetadataNode root) { IIOMetadataNode node = getTime("tIME"); if (node != null) root.appendChild(node); } private IIOMetadataNode getTime(String nodeName) { Date time = (Date)get(PngConstants.TIME); if (time == null) return null; IIOMetadataNode node = new IIOMetadataNode(nodeName); cal.setTime(time); node.setAttribute("year", String.valueOf(cal.get(Calendar.YEAR))); node.setAttribute("month", String.valueOf(cal.get(Calendar.MONTH) + 1)); node.setAttribute("day", String.valueOf(cal.get(Calendar.DAY_OF_MONTH))); node.setAttribute("hour", String.valueOf(cal.get(Calendar.HOUR_OF_DAY))); node.setAttribute("minute", String.valueOf(cal.get(Calendar.MINUTE))); node.setAttribute("second", String.valueOf(cal.get(Calendar.SECOND))); return node; } private void add_pHYS(IIOMetadataNode root) { if (!props.containsKey(PngConstants.PIXELS_PER_UNIT_X)) return; IIOMetadataNode node = new IIOMetadataNode("pHYS"); node.setAttribute("pixelsPerUnitXAxis", String.valueOf(getInt(PngConstants.PIXELS_PER_UNIT_X))); node.setAttribute("pixelsPerUnitYAxis", String.valueOf(getInt(PngConstants.PIXELS_PER_UNIT_Y))); boolean meter = getInt(PngConstants.UNIT) == PngConstants.UNIT_METER; node.setAttribute("unitSpecifier", meter ? "meter" : "unknown"); root.appendChild(node); } private void add_bKGD(IIOMetadataNode root) { int[] background = (int[])get(PngConstants.BACKGROUND); if (background == null) return; IIOMetadataNode node = new IIOMetadataNode("bKGD"); IIOMetadataNode child = null; switch (getInt(PngConstants.COLOR_TYPE)) { case PngConstants.COLOR_TYPE_GRAY: case PngConstants.COLOR_TYPE_GRAY_ALPHA: child = new IIOMetadataNode("bKGD_Grayscale"); child.setAttribute("gray", String.valueOf(background[0])); break; case PngConstants.COLOR_TYPE_RGB: case PngConstants.COLOR_TYPE_RGB_ALPHA: child = new IIOMetadataNode("bKGD_RGB"); child.setAttribute("red", String.valueOf(background[0])); child.setAttribute("green", String.valueOf(background[1])); child.setAttribute("blue", String.valueOf(background[2])); break; case PngConstants.COLOR_TYPE_PALETTE: child = new IIOMetadataNode("bKGD_Palette"); child.setAttribute("index", String.valueOf(background[0])); break; } node.appendChild(child); root.appendChild(node); } private void add_cHRM(IIOMetadataNode root) { float[] chrom = (float[])get(PngConstants.CHROMATICITY); if (chrom == null) return; IIOMetadataNode node = new IIOMetadataNode("cHRM"); node.setAttribute("whitePointX", formatFloat(chrom[0])); node.setAttribute("whitePointY", formatFloat(chrom[1])); node.setAttribute("redX", formatFloat(chrom[2])); node.setAttribute("redY", formatFloat(chrom[3])); node.setAttribute("greenX", formatFloat(chrom[4])); node.setAttribute("greenY", formatFloat(chrom[5])); node.setAttribute("blueX", formatFloat(chrom[6])); node.setAttribute("blueY", formatFloat(chrom[7])); root.appendChild(node); } private static String formatFloat(float value) { return String.valueOf((int)Math.round(value * 1e5)); } private void add_tRNS(IIOMetadataNode root) { Object trans = get(PngConstants.TRANSPARENCY); byte[] alpha = (byte[])get(PngConstants.PALETTE_ALPHA); if (trans == null && alpha == null) return; IIOMetadataNode node = new IIOMetadataNode("tRNS"); IIOMetadataNode child = null; switch (getInt(PngConstants.COLOR_TYPE)) { case PngConstants.COLOR_TYPE_GRAY: child = new IIOMetadataNode("tRNS_Grayscale"); child.setAttribute("gray", String.valueOf(((int[])trans)[0])); break; case PngConstants.COLOR_TYPE_RGB: child = new IIOMetadataNode("tRNS_RGB"); child.setAttribute("red", String.valueOf(((int[])trans)[0])); child.setAttribute("green", String.valueOf(((int[])trans)[1])); child.setAttribute("blue", String.valueOf(((int[])trans)[2])); break; case PngConstants.COLOR_TYPE_PALETTE: child = new IIOMetadataNode("tRNS_Palette"); for (int i = 0; i < alpha.length; i++) { IIOMetadataNode entry = new IIOMetadataNode("tRNS_PaletteEntry"); entry.setAttribute("index", String.valueOf(i)); entry.setAttribute("alpha", String.valueOf(alpha[i])); child.appendChild(entry); } break; } node.appendChild(child); root.appendChild(node); } private void add_sBIT(IIOMetadataNode root) { byte[] sbit = (byte[])get(PngConstants.SIGNIFICANT_BITS); if (sbit == null) return; IIOMetadataNode node = new IIOMetadataNode("sBIT"); int colorType = getInt(PngConstants.COLOR_TYPE); IIOMetadataNode child = new IIOMetadataNode("sBIT_" + getColorType(colorType)); int index = 0; if ((colorType & 2) != 0) { child.setAttribute("red", String.valueOf(sbit[index++])); child.setAttribute("green", String.valueOf(sbit[index++])); child.setAttribute("blue", String.valueOf(sbit[index++])); } else { child.setAttribute("gray", String.valueOf(sbit[index++])); } if ((colorType & 4) != 0) child.setAttribute("alpha", String.valueOf(sbit[index++])); node.appendChild(child); root.appendChild(node); } private void add_sRGB(IIOMetadataNode root) { Integer ri = (Integer)get(PngConstants.RENDERING_INTENT); if (ri == null) return; appendSimpleNode(root, "sRGB", "renderingIntent", getRenderingIntent(ri.intValue())); } private static String getRenderingIntent(int ri) { switch (ri) { case PngConstants.SRGB_PERCEPTUAL: return "Perceptual"; case PngConstants.SRGB_RELATIVE_COLORIMETRIC: return "Relative colorimetric"; case PngConstants.SRGB_SATURATION_PRESERVING: return "Saturation"; case PngConstants.SRGB_ABSOLUTE_COLORIMETRIC: return "Absolute colorimetric"; } return null; } private void add_iCCP(IIOMetadataNode root) { String name = (String)get(PngConstants.ICC_PROFILE_NAME); if (name == null) return; IIOMetadataNode node = new IIOMetadataNode("iCCP"); node.setAttribute("profileName", name); node.setAttribute("compressionMethod", "deflate"); node.setUserObject(get(PngConstants.ICC_PROFILE)); root.appendChild(node); } private void add_unknown_chunks(IIOMetadataNode root) { if (unknownChunks.isEmpty()) return; IIOMetadataNode node = new IIOMetadataNode("UnknownChunks"); for (Iterator it = unknownChunks.keySet().iterator(); it.hasNext();) { Integer type = (Integer)it.next(); IIOMetadataNode child = new IIOMetadataNode("UnknownChunk"); child.setAttribute("type", PngConstants.getChunkName(type.intValue())); child.setUserObject(unknownChunks.get(type)); node.appendChild(child); } root.appendChild(node); } private void add_hIST(IIOMetadataNode root) { int[] hist = (int[])get(PngConstants.HISTOGRAM); if (hist == null) return; IIOMetadataNode node = new IIOMetadataNode("hIST"); for (int i = 0; i < hist.length; i++) { IIOMetadataNode child = new IIOMetadataNode("hISTEntry"); child.setAttribute("index", String.valueOf(i)); child.setAttribute("value", String.valueOf(hist[i])); node.appendChild(child); } root.appendChild(node); } private void add_text_chunks(IIOMetadataNode root) { List textChunks = (List)get(PngConstants.TEXT_CHUNKS); if (textChunks == null) return; Map nodes = new HashMap(); nodes.put("tEXt", new IIOMetadataNode("tEXt")); nodes.put("zTXt", new IIOMetadataNode("zTXt")); nodes.put("iTXt", new IIOMetadataNode("iTXt")); for (Iterator it = textChunks.iterator(); it.hasNext();) { TextChunk chunk = (TextChunk)it.next(); String name = PngConstants.getChunkName(chunk.getType()); IIOMetadataNode child = new IIOMetadataNode(name + "Entry"); child.setAttribute("keyword", chunk.getKeyword()); switch (chunk.getType()) { case PngConstants.zTXt: child.setAttribute("compressionMethod", "deflate"); child.setAttribute("text", chunk.getText()); break; case PngConstants.iTXt: child.setAttribute("compressionMethod", "deflate"); child.setAttribute("value", chunk.getText()); child.setAttribute("languageTag", chunk.getLanguage()); child.setAttribute("translatedKeyword", chunk.getTranslatedKeyword()); child.setAttribute("compressionFlag", "FALSE"); // TODO break; case PngConstants.tEXt: child.setAttribute("value", chunk.getText()); } IIOMetadataNode parent = (IIOMetadataNode)nodes.get(name); if (parent.getLength() == 0) root.appendChild(parent); parent.appendChild(child); } } } javapng-2.0/src/iio/com/sixlegs/png/iio/PngImageReader.java0000644000175000017500000002356610646275030023554 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.iio; import com.sixlegs.png.*; import java.awt.image.BufferedImage; import java.awt.color.ColorSpace; import javax.imageio.ImageReader; import javax.imageio.ImageReadParam; import javax.imageio.ImageTypeSpecifier; import javax.imageio.metadata.IIOMetadata; import javax.imageio.stream.ImageInputStream; import java.io.DataInput; import java.io.IOException; import java.util.*; public class PngImageReader extends ImageReader { private PngImage png = new IIOPngImage(new PngConfig.Builder().build()); private PngHeader pngHeader; private PngImageMetadata pngMetadata; private BufferedImage pngImage; private Map unknownChunks = new HashMap(); public PngImageReader(PngImageReaderSpi provider) { super(provider); } public void dispose() { png = null; pngHeader = null; pngMetadata = null; pngImage = null; unknownChunks = null; } public void setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata) { if (!(input instanceof ImageInputStream)) throw new IllegalArgumentException("Expected ImageInputStream, got " + input); super.setInput(input, seekForwardOnly, ignoreMetadata); pngHeader = null; pngMetadata = null; pngImage = null; unknownChunks.clear(); } public int getNumImages(boolean allowSearch) { return 1; } private void checkIndex(int imageIndex) { if (imageIndex != 0) throw new IndexOutOfBoundsException("Requested image " + imageIndex); } private void readHeader() throws IOException { if (pngHeader == null) pngHeader = new PngHeader((ImageInputStream)input); } public int getWidth(int imageIndex) throws IOException { checkIndex(imageIndex); readHeader(); return pngHeader.width; } public int getHeight(int imageIndex) throws IOException { checkIndex(imageIndex); readHeader(); return pngHeader.height; } public Iterator getImageTypes(int imageIndex) throws IOException { checkIndex(imageIndex); readHeader(); int datatype = java.awt.image.DataBuffer.TYPE_BYTE; int[] bandOffsets = null; ImageTypeSpecifier imageType = null; ColorSpace rgb = null; // FIXME: These need to be checked switch (pngHeader.colorType) { case PngConstants.COLOR_TYPE_GRAY: imageType = ImageTypeSpecifier.createGrayscale( pngHeader.bitDepth, datatype, false); break; case PngConstants.COLOR_TYPE_GRAY_ALPHA: imageType = ImageTypeSpecifier.createGrayscale( pngHeader.bitDepth, datatype, false, true); break; //FIXME Are the palette entries needed if PngImage deals with them? case PngConstants.COLOR_TYPE_PALETTE: imageType = ImageTypeSpecifier.createIndexed( null,//redLUT, null,//greenLUT, null,//blueLUT, null,//alphaLUT, pngHeader.bitDepth, datatype); break; case PngConstants.COLOR_TYPE_RGB: rgb = ColorSpace.getInstance(ColorSpace.CS_sRGB); bandOffsets = new int[3]; bandOffsets[0] = 0; bandOffsets[1] = 1; bandOffsets[2] = 2; imageType = ImageTypeSpecifier.createInterleaved(rgb, bandOffsets, datatype, false, false); break; case PngConstants.COLOR_TYPE_RGB_ALPHA: rgb = ColorSpace.getInstance(ColorSpace.CS_sRGB); bandOffsets = new int[3]; bandOffsets[0] = 0; bandOffsets[1] = 1; bandOffsets[2] = 2; imageType = ImageTypeSpecifier.createInterleaved(rgb, bandOffsets, datatype, true, false); break; } return Arrays.asList(new ImageTypeSpecifier[]{ imageType }).iterator(); } public IIOMetadata getImageMetadata(int imageIndex) throws IOException { checkIndex(imageIndex); readMetadata(); return pngMetadata; } public IIOMetadata getStreamMetadata() { return null; } public void readMetadata() throws IOException { if (pngMetadata == null && !ignoreMetadata) { readHeader(); readImage(); pngMetadata = new PngImageMetadata(new HashMap(png.getProperties()), new HashMap(unknownChunks)); } } private void readImage() throws IOException { if (pngImage == null) { clearAbortRequest(); processImageStarted(0); pngImage = png.read(new StreamWrapper((ImageInputStream)input), false); processImageComplete(); } } public BufferedImage read(int imageIndex, ImageReadParam param) throws IOException { checkIndex(imageIndex); readMetadata(); readImage(); /* PngConfig config = new PngConfig.Builder().build(); if (param != null) { config.setSourceSubsampling(param.getSourceXSubsampling(), param.getSourceYSubsampling(), param.getSubsamplingXOffset(), param.getSubsamplingYOffset()); } */ //FIXME use param to get a destination image. Not exactly sure how to //go about this. // //BufferedImage dst = getDestination(param, getImageTypes(0), // pngHeader.width, pngHeader.height); // //Copy pixels from pngImage to dst??? return pngImage; } private class IIOPngImage extends PngImage { public IIOPngImage(PngConfig cfg) { super(cfg); } protected void handleWarning(PngException e) throws PngException { processWarningOccurred(e.getMessage()); } protected boolean handlePass(BufferedImage image, int pass) { // TODO: processPassXXX if (pass == 6 || !isInterlaced()) { processImageComplete(); } else if (abortRequested()) { processReadAborted(); return false; } return true; } protected boolean handleProgress(BufferedImage image, float pct) { processImageProgress(pct); if (abortRequested()) { processReadAborted(); return false; } return true; } protected void readChunk(int type, DataInput in, long offset, int length) throws IOException { if (ignoreMetadata) { switch (type) { case PngConstants.IHDR: case PngConstants.PLTE: case PngConstants.tRNS: case PngConstants.IEND: case PngConstants.gAMA: break; default: return; } } if (isKnownChunkType(type)) { super.readChunk(type, in, offset, length); } else { byte[] bytes = new byte[length]; in.readFully(bytes); unknownChunks.put(new Integer(type), bytes); } } } private static boolean isKnownChunkType(int type) { switch (type) { case PngConstants.IHDR: case PngConstants.IEND: case PngConstants.IDAT: case PngConstants.PLTE: case PngConstants.bKGD: case PngConstants.tRNS: case PngConstants.sBIT: case PngConstants.cHRM: case PngConstants.gAMA: case PngConstants.hIST: case PngConstants.iCCP: case PngConstants.pHYs: case PngConstants.sRGB: case PngConstants.tIME: case PngConstants.sPLT: case PngConstants.gIFg: case PngConstants.oFFs: case PngConstants.sCAL: case PngConstants.sTER: case PngConstants.iTXt: case PngConstants.tEXt: case PngConstants.zTXt: return true; } return false; } /* Reads a PNG header */ private static class PngHeader { public final int width; public final int height; public final int colorType; public final int bitDepth; public final int interlaceType; public PngHeader(ImageInputStream in) throws IOException { in.mark(); in.seek(16); width = in.readInt(); height = in.readInt(); colorType = in.read(); in.skipBytes(2); bitDepth = in.read(); interlaceType = in.read(); in.reset(); } } } javapng-2.0/src/iio/com/sixlegs/png/iio/PngImageMetadataFormat.java0000644000175000017500000002573510646275030025243 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 2006 Dimitri Koussa 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.iio; import java.awt.*; import javax.imageio.ImageTypeSpecifier; import javax.imageio.metadata.IIOMetadataFormatImpl; import java.util.*; public class PngImageMetadataFormat extends IIOMetadataFormatImpl { private static final String rootName = "javax_imageio_png_1.0"; private static final Set validNodes = Collections.unmodifiableSet(new HashSet(Arrays.asList(new String[]{ "IHDR", "iCCP", "cHRM", "sRGB", "gAMA", "pHYS", "tIME", "sPLT", "sPLTEntry", "hIST", "hISTEntry", "sBIT", "sBIT_Grayscale", "sBIT_GrayAlpha", "sBIT_RGB", "sBIT_RGBAlpha", "sBIT_Palette", "PLTE", "PLTEEntry", "tRNS", "tRNS_Grayscale", "tRNS_RGB", "tRNS_Palette", "bKGD", "bKGD_Grayscale", "bKGD_Palette", "bKGD_Palette", "bKGD_RGB", "iTXt", "iTXtEntry", "zTXt", "zTXtEntry", "tEXt", "tEXtEntry", "UnknownChunks", "UnknownChunk", }))); // singleton private static final PngImageMetadataFormat defaultInstance = new PngImageMetadataFormat(); // Make constructor private to enforce the singleton pattern private PngImageMetadataFormat() { // Set the name of the root node super(rootName, CHILD_POLICY_REPEAT); setup_IHDR(); setup_PLTE(); setup_bKGD(); setup_cHRM(); setup_gAMA(); setup_hIST(); setup_iCCP(); setup_iTXt(); setup_pHYS(); setup_sBIT(); setup_sPLT(); setup_sRGB(); setup_tEXt(); setup_tIME(); setup_tRNS(); setup_zTXt(); setup_unknownChunks(); } private void setup_IHDR() { addElement("IHDR", rootName, CHILD_POLICY_EMPTY); addAttribute("IHDR", "width", DATATYPE_INTEGER, true, null); addAttribute("IHDR", "height", DATATYPE_INTEGER, true, null); addAttribute("IHDR", "bitDepth", DATATYPE_INTEGER, true, null); addAttribute("IHDR", "colorType", DATATYPE_STRING, true, null); addAttribute("IHDR", "compressionMethod", DATATYPE_STRING, true, null); addAttribute("IHDR", "filterMethod", DATATYPE_STRING, true, null); addAttribute("IHDR", "interlaceMethod", DATATYPE_STRING, true, null); } private void setup_sPLT() { addElement("sPLT", rootName, CHILD_POLICY_REPEAT); addElement("sPLTEntry", "sPLT", CHILD_POLICY_EMPTY); addAttribute("sPLTEntry", "index", DATATYPE_INTEGER, true, null); addAttribute("sPLTEntry", "red", DATATYPE_INTEGER, true, null); addAttribute("sPLTEntry", "green", DATATYPE_INTEGER, true, null); addAttribute("sPLTEntry", "blue", DATATYPE_INTEGER, true, null); addAttribute("sPLTEntry", "alpha", DATATYPE_INTEGER, true, null); } private void setup_hIST() { addElement("hIST", rootName, CHILD_POLICY_REPEAT); addElement("hISTEntry", "hIST", CHILD_POLICY_EMPTY); addAttribute("hISTEntry", "index", DATATYPE_INTEGER, true, null); addAttribute("hISTEntry", "value", DATATYPE_INTEGER, true, null); } private void setup_iCCP() { addElement("iCCP", rootName, CHILD_POLICY_EMPTY); addAttribute("iCCP", "profileName", DATATYPE_STRING, true, null); addAttribute("iCCP", "compressionMethod", DATATYPE_STRING, true, null); } private void setup_cHRM() { addElement("cHRM", rootName, CHILD_POLICY_EMPTY); addAttribute("cHRM", "whitePointX", DATATYPE_INTEGER, true, null); addAttribute("cHRM", "whitePointY", DATATYPE_INTEGER, true, null); addAttribute("cHRM", "redX", DATATYPE_INTEGER, true, null); addAttribute("cHRM", "redY", DATATYPE_INTEGER, true, null); addAttribute("cHRM", "greenX", DATATYPE_INTEGER, true, null); addAttribute("cHRM", "greenY", DATATYPE_INTEGER, true, null); addAttribute("cHRM", "blueX", DATATYPE_INTEGER, true, null); addAttribute("cHRM", "blueY", DATATYPE_INTEGER, true, null); } private void setup_sBIT() { addElement("sBIT", rootName, CHILD_POLICY_CHOICE); addElement("sBIT_Grayscale", "sBIT", CHILD_POLICY_EMPTY); addAttribute("sBIT_Grayscale", "gray", DATATYPE_INTEGER, true, null); addElement("sBIT_GrayAlpha", "sBIT", CHILD_POLICY_EMPTY); addAttribute("sBIT_GrayAlpha", "gray", DATATYPE_INTEGER, true, null); addAttribute("sBIT_GrayAlpha", "alpha", DATATYPE_INTEGER, true, null); addElement("sBIT_RGB", "sBIT", CHILD_POLICY_EMPTY); addAttribute("sBIT_RGB", "red", DATATYPE_INTEGER, true, null); addAttribute("sBIT_RGB", "green", DATATYPE_INTEGER, true, null); addAttribute("sBIT_RGB", "blue", DATATYPE_INTEGER, true, null); addElement("sBIT_RGBAlpha", "sBIT", CHILD_POLICY_EMPTY); addAttribute("sBIT_RGBAlpha", "red", DATATYPE_INTEGER, true, null); addAttribute("sBIT_RGBAlpha", "green", DATATYPE_INTEGER, true, null); addAttribute("sBIT_RGBAlpha", "blue", DATATYPE_INTEGER, true, null); addAttribute("sBIT_RGBAlpha", "alpha", DATATYPE_INTEGER, true, null); addElement("sBIT_Palette", "sBIT", CHILD_POLICY_EMPTY); addAttribute("sBIT_Palette", "red", DATATYPE_INTEGER, true, null); addAttribute("sBIT_Palette", "green", DATATYPE_INTEGER, true, null); addAttribute("sBIT_Palette", "blue", DATATYPE_INTEGER, true, null); } private void setup_PLTE() { addElement("PLTE", rootName, CHILD_POLICY_REPEAT); addElement("PLTEEntry", "PLTE", CHILD_POLICY_EMPTY); addAttribute("PLTEEntry", "index", DATATYPE_INTEGER, true, null); addAttribute("PLTEEntry", "red", DATATYPE_INTEGER, true, null); addAttribute("PLTEEntry", "green", DATATYPE_INTEGER, true, null); addAttribute("PLTEEntry", "blue", DATATYPE_INTEGER, true, null); } private void setup_tRNS() { addElement("tRNS", rootName, CHILD_POLICY_CHOICE); addElement("tRNS_Grayscale", rootName, CHILD_POLICY_CHOICE); addAttribute("tRNS_Grayscale", "gray", DATATYPE_INTEGER, true, null); addElement("tRNS_RGB", rootName, CHILD_POLICY_CHOICE); addAttribute("tRNS_RGB", "red", DATATYPE_INTEGER, true, null); addAttribute("tRNS_RGB", "green", DATATYPE_INTEGER, true, null); addAttribute("tRNS_RGB", "blue", DATATYPE_INTEGER, true, null); addElement("tRNS_Palette", rootName, CHILD_POLICY_CHOICE); addAttribute("tRNS_Palette", "index", DATATYPE_INTEGER, true, null); addAttribute("tRNS_Palette", "alpha", DATATYPE_INTEGER, true, null); } private void setup_bKGD() { addElement("bKGD", rootName, CHILD_POLICY_CHOICE); addElement("bKGD_Grayscale", rootName, CHILD_POLICY_EMPTY); addAttribute("bKGD_Grayscale", "gray", DATATYPE_INTEGER, true, null); addElement("bKGD_Palette", rootName, CHILD_POLICY_EMPTY); addAttribute("bKGD_Palette", "index", DATATYPE_INTEGER, true, null); addElement("bKGD_RGB", rootName, CHILD_POLICY_EMPTY); addAttribute("bKGD_RGB", "red", DATATYPE_INTEGER, true, null); addAttribute("bKGD_RGB", "green", DATATYPE_INTEGER, true, null); addAttribute("bKGD_RGB", "blue", DATATYPE_INTEGER, true, null); } private void setup_sRGB() { addElement("sRGB", rootName, CHILD_POLICY_EMPTY); addAttribute("sRGB", "renderingIntent", DATATYPE_STRING, true, null); } private void setup_gAMA() { addElement("gAMA", rootName, CHILD_POLICY_EMPTY); addAttribute("gAMA", "value", DATATYPE_INTEGER, true, null); } private void setup_iTXt() { addElement("iTXt", rootName, CHILD_POLICY_REPEAT); addElement("iTXtEntry", rootName, CHILD_POLICY_EMPTY); addAttribute("iTXtEntry", "keyword", DATATYPE_STRING, true, null); addAttribute("iTXtEntry", "compressionFlag", DATATYPE_STRING, true, null); addAttribute("iTXtEntry", "compressionMethod", DATATYPE_STRING, true, null); addAttribute("iTXtEntry", "languageTag", DATATYPE_STRING, true, null); addAttribute("iTXtEntry", "translatedKeyword", DATATYPE_STRING, true, null); addAttribute("iTXtEntry", "text", DATATYPE_STRING, true, null); } private void setup_zTXt() { addElement("zTXt", rootName, CHILD_POLICY_REPEAT); addElement("zTXtEntry", "zTXt", CHILD_POLICY_EMPTY); addAttribute("zTXtEntry", "keyword", DATATYPE_STRING, true, null); addAttribute("zTXtEntry", "compressionMethod", DATATYPE_STRING, true, null); } private void setup_tEXt() { addElement("tEXt", rootName, CHILD_POLICY_REPEAT); addElement("tEXtEntry", rootName, CHILD_POLICY_EMPTY); addAttribute("tEXtEntry", "keyword", DATATYPE_STRING, true, null); addAttribute("tEXtEntry", "value", DATATYPE_STRING, true, null); } private void setup_pHYS() { addElement("pHYS", rootName, CHILD_POLICY_EMPTY); addAttribute("pHYS", "pixelsPerUnitXAxis", DATATYPE_INTEGER, true, null); addAttribute("pHYS", "pixelsPerUnitYAxis", DATATYPE_INTEGER, true, null); addAttribute("pHYS", "unitSpecifier", DATATYPE_STRING, true, null); } private void setup_tIME() { addElement("tIME", rootName, CHILD_POLICY_EMPTY); addAttribute("tIME", "year", DATATYPE_INTEGER, true, null); addAttribute("tIME", "month", DATATYPE_INTEGER, true, null); addAttribute("tIME", "day", DATATYPE_INTEGER, true, null); addAttribute("tIME", "hour", DATATYPE_INTEGER, true, null); addAttribute("tIME", "minute", DATATYPE_INTEGER, true, null); addAttribute("tIME", "second", DATATYPE_INTEGER, true, null); } private void setup_unknownChunks() { addElement("UnknownChunks", rootName, CHILD_POLICY_REPEAT); addElement("UnknownChunk", "UnknownChunks", CHILD_POLICY_EMPTY); addAttribute("UnknownChunk", "type", DATATYPE_STRING, true, null); } public boolean canNodeAppear(String e, ImageTypeSpecifier imageType) { // TODO: A PLTE chunk may not appear in a Gray or GrayAlpha image // TODO: A tRNS chunk may not appear in GrayAlpha and RGBA images return validNodes.contains(e); } // Return the singleton instance public static PngImageMetadataFormat getDefaultInstance() { return defaultInstance; } } javapng-2.0/src/iio/com/sixlegs/png/iio/StreamWrapper.java0000644000175000017500000000552010646275030023524 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.iio; import java.io.InputStream; import java.io.IOException; import javax.imageio.stream.ImageInputStream; // TODO: add flushing for performance? class StreamWrapper extends InputStream { private ImageInputStream in; public StreamWrapper(ImageInputStream in) { this.in = in; } public int available() throws IOException { return (int)(in.length() - in.getStreamPosition()); } public void close() throws IOException { in.close(); } public void mark(int readlimit) { in.mark(); } public boolean markSupported() { return true; } public int read() throws IOException { return in.read(); } public int read(byte[] b) throws IOException { return in.read(b); } public int read(byte[] b, int off, int len) throws IOException { return in.read(b, off, len); } public void reset() throws IOException { in.reset(); } public long skip(long n) throws IOException { return in.skipBytes(n); } } javapng-2.0/src/main/0000755000175000017500000000000011755244626014440 5ustar paulliupaulliujavapng-2.0/src/main/com/0000755000175000017500000000000011755244626015216 5ustar paulliupaulliujavapng-2.0/src/main/com/sixlegs/0000755000175000017500000000000011755244626016674 5ustar paulliupaulliujavapng-2.0/src/main/com/sixlegs/png/0000755000175000017500000000000011755244626017460 5ustar paulliupaulliujavapng-2.0/src/main/com/sixlegs/png/ProgressivePixelProcessor.java0000644000175000017500000000640410646275034025534 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; final class ProgressivePixelProcessor extends PixelProcessor { private final PixelProcessor pp; private final int imgWidth; private final int imgHeight; private final Destination dst; private final int samples; private final int[] pixels; public ProgressivePixelProcessor(Destination dst, PixelProcessor pp, int imgWidth, int imgHeight) { this.pp = pp; this.imgWidth = imgWidth; this.imgHeight = imgHeight; this.dst = dst; this.samples = dst.getRaster().getNumBands(); this.pixels = new int[samples * 8]; } public boolean process(int[] row, int xOffset, int xStep, int yStep, int y, int width) { // run non-progressive processor first pp.process(row, xOffset, xStep, yStep, y, width); // then replicate pixels across entire block int blockHeight = xStep; int blockWidth = xStep - xOffset; if (blockWidth > 1 || blockHeight > 1) { int yMax = Math.min(y + blockHeight, imgHeight); for (int srcX = 0, dstX = xOffset; srcX < width; srcX++) { dst.getPixel(dstX, y, pixels); int xMax = Math.min(dstX + blockWidth, imgWidth); int xPixels = xMax - dstX; for (int i = samples, end = xPixels * samples; i < end; i++) pixels[i] = pixels[i - samples]; for (int i = y; i < yMax; i++) dst.setPixels(dstX, i, xPixels, pixels); dstX += xStep; } } return true; } } javapng-2.0/src/main/com/sixlegs/png/PngException.java0000644000175000017500000000576410777306472022743 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.io.IOException; import java.lang.reflect.Method; /** * The superclass for all decoding exceptions. */ public class PngException extends IOException { // We use reflection for pre-1.4 JVMs private static final Method initCause = getInitCause(); private static Method getInitCause() { try { return PngException.class.getMethod("initCause", new Class[] {Throwable.class}); } catch (Exception e) { return null; } } private final boolean fatal; PngException(String message, boolean fatal) { this(message, null, fatal); } PngException(String message, Throwable cause, boolean fatal) { super(message); this.fatal = fatal; if (cause != null && initCause != null) { try { initCause.invoke(this, new Object[] {cause}); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new IllegalStateException("Error invoking initCause: " + e.getMessage()); } } } /** * Returns true if this exception represents a fatal decoding error. * Most errors in non-ancillary chunks are fatal. */ public boolean isFatal() { return fatal; } } javapng-2.0/src/main/com/sixlegs/png/SuggestedPaletteImpl.java0000644000175000017500000000617010646275034024415 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; class SuggestedPaletteImpl implements SuggestedPalette { private final String name; private final int sampleDepth; private final byte[] bytes; private final int entrySize; private final int sampleCount; public SuggestedPaletteImpl(String name, int sampleDepth, byte[] bytes) { this.name = name; this.sampleDepth = sampleDepth; this.bytes = bytes; entrySize = (sampleDepth == 8) ? 6 : 10; sampleCount = bytes.length / entrySize; } public String getName() { return name; } public int getSampleCount() { return sampleCount; } public int getSampleDepth() { return sampleDepth; } public void getSample(int index, short[] pixel) { int from = index * entrySize; if (sampleDepth == 8) { for (int j = 0; j < 4; j++) { int a = 0xFF & bytes[from++]; pixel[j] = (short)a; } } else { for (int j = 0; j < 4; j++) { int a = 0xFF & bytes[from++]; int b = 0xFF & bytes[from++]; pixel[j] = (short)((a << 8) | b); } } } public int getFrequency(int index) { int from = (index + 1) * entrySize - 2; int a = 0xFF & bytes[from]; int b = 0xFF & bytes[from + 1]; return ((a << 8) | b); } } javapng-2.0/src/main/com/sixlegs/png/StateMachine.java0000644000175000017500000001324510646275034022670 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; class StateMachine { public static final int STATE_START = 0; public static final int STATE_SAW_IHDR = 1; public static final int STATE_SAW_IHDR_NO_PLTE = 2; public static final int STATE_SAW_PLTE = 3; public static final int STATE_IN_IDAT = 4; public static final int STATE_AFTER_IDAT = 5; public static final int STATE_END = 6; private PngImage png; private int state = STATE_START; private int type; public StateMachine(PngImage png) { this.png = png; } public int getState() { return state; } public int getType() { return type; } public void nextState(int type) throws PngException { state = nextState(png, state, this.type = type); } private static int nextState(PngImage png, int state, int type) throws PngException { for (int i = 0; i < 4; i++) { int c = 0xFF & (type >>> (8 * i)); if (c < 65 || (c > 90 && c < 97) || c > 122) throw new PngException("Corrupted chunk type: 0x" + Integer.toHexString(type), true); } if (PngConstants.isPrivate(type) && !PngConstants.isAncillary(type)) throw new PngException("Private critical chunk encountered: " + PngConstants.getChunkName(type), true); switch (state) { case STATE_START: if (type == PngConstants.IHDR) return STATE_SAW_IHDR; throw new PngException("IHDR chunk must be first chunk", true); case STATE_SAW_IHDR: case STATE_SAW_IHDR_NO_PLTE: switch (type) { case PngConstants.PLTE: return STATE_SAW_PLTE; case PngConstants.IDAT: errorIfPaletted(png); return STATE_IN_IDAT; case PngConstants.bKGD: return STATE_SAW_IHDR_NO_PLTE; case PngConstants.tRNS: errorIfPaletted(png); return STATE_SAW_IHDR_NO_PLTE; case PngConstants.hIST: throw new PngException("PLTE must precede hIST", true); } return state; case STATE_SAW_PLTE: switch (type) { case PngConstants.cHRM: case PngConstants.gAMA: case PngConstants.iCCP: case PngConstants.sBIT: case PngConstants.sRGB: throw new PngException(PngConstants.getChunkName(type) + " cannot appear after PLTE", true); case PngConstants.IDAT: return STATE_IN_IDAT; case PngConstants.IEND: throw new PngException("Required data chunk(s) not found", true); } return STATE_SAW_PLTE; default: // STATE_IN_IDAT, STATE_AFTER_IDAT switch (type) { case PngConstants.PLTE: case PngConstants.cHRM: case PngConstants.gAMA: case PngConstants.iCCP: case PngConstants.sBIT: case PngConstants.sRGB: case PngConstants.bKGD: case PngConstants.hIST: case PngConstants.tRNS: case PngConstants.pHYs: case PngConstants.sPLT: case PngConstants.oFFs: case PngConstants.pCAL: case PngConstants.sCAL: case PngConstants.sTER: throw new PngException(PngConstants.getChunkName(type) + " cannot appear after IDAT", true); case PngConstants.IEND: return STATE_END; case PngConstants.IDAT: if (state == STATE_IN_IDAT) return STATE_IN_IDAT; throw new PngException("IDAT chunks must be consecutive", true); } return STATE_AFTER_IDAT; } } private static void errorIfPaletted(PngImage png) throws PngException { if (png.getColorType() == PngConstants.COLOR_TYPE_PALETTE) throw new PngException("Required PLTE chunk not found", true); } } javapng-2.0/src/main/com/sixlegs/png/TextChunkImpl.java0000644000175000017500000000501010646275034023051 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; class TextChunkImpl implements TextChunk { private final String keyword; private final String text; private final String language; private final String translated; private final int type; public TextChunkImpl(String keyword, String text, String language, String translated, int type) { this.keyword = keyword; this.text = text; this.language = language; this.translated = translated; this.type = type; } public String getKeyword() { return keyword; } public String getTranslatedKeyword() { return translated; } public String getLanguage() { return language; } public String getText() { return text; } public int getType() { return type; } } javapng-2.0/src/main/com/sixlegs/png/Destination.java0000644000175000017500000000432510646275034022603 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.image.WritableRaster; // not an interface for performance abstract class Destination { abstract public void setPixels(int x, int y, int w, int[] pixels); // TODO: change to setRow(int y, int w, int[] pixels) abstract public void setPixel(int x, int y, int[] pixel); abstract public void getPixel(int x, int y, int[] pixel); // used only by ProgressivePixelProcessor abstract public WritableRaster getRaster(); abstract public int getSourceWidth(); abstract public void done(); } javapng-2.0/src/main/com/sixlegs/png/ProgressUpdater.java0000644000175000017500000000531210646275034023450 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.image.BufferedImage; final class ProgressUpdater extends PixelProcessor { private static final int STEP_PERCENT = 5; final private PngImage png; final private BufferedImage image; final private PixelProcessor pp; final private int total; final private int step; private int count; private int mod; public ProgressUpdater(PngImage png, BufferedImage image, PixelProcessor pp) { this.png = png; this.image = image; this.pp = pp; total = png.getWidth() * png.getHeight(); step = Math.max(1, total * STEP_PERCENT / 100); } public boolean process(int[] row, int xOffset, int xStep, int yStep, int y, int width) { boolean result = pp.process(row, xOffset, xStep, yStep, y, width); mod += width; count += width; if (mod > step) { mod %= step; result = result && png.handleProgress(image, 100f * count / total); } return result; } } javapng-2.0/src/main/com/sixlegs/png/GammaPixelProcessor.java0000644000175000017500000000553110646275034024246 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; final class GammaPixelProcessor extends BasicPixelProcessor { final private short[] gammaTable; final private int shift; final private int samplesNoAlpha; final private boolean hasAlpha; final private boolean shiftAlpha; public GammaPixelProcessor(Destination dst, short[] gammaTable, int shift) { super(dst, dst.getRaster().getNumBands()); this.gammaTable = gammaTable; this.shift = shift; hasAlpha = samples % 2 == 0; samplesNoAlpha = hasAlpha ? samples - 1 : samples; // don't change alpha channel shiftAlpha = hasAlpha && shift > 0; } public boolean process(int[] row, int xOffset, int xStep, int yStep, int y, int width) { int total = samples * width; for (int i = 0; i < samplesNoAlpha; i++) for (int index = i; index < total; index += samples) row[index] = 0xFFFF & gammaTable[row[index] >> shift]; if (shiftAlpha) for (int index = samplesNoAlpha; index < total; index += samples) row[index] >>= shift; return super.process(row, xOffset, xStep, yStep, y, width); } } javapng-2.0/src/main/com/sixlegs/png/Defilterer.java0000644000175000017500000001606210646275034022410 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.Point; import java.awt.image.*; import java.io.*; class Defilterer { private final InputStream in; private final int width; private final int bitDepth; private final int samples; private final PixelProcessor pp; private final int bpp; private final int[] row; public Defilterer(InputStream in, int bitDepth, int samples, int width, PixelProcessor pp) { this.in = in; this.bitDepth = bitDepth; this.samples = samples; this.width = width; this.pp = pp; bpp = Math.max(1, (bitDepth * samples) >> 3); row = new int[samples * width]; } public boolean defilter(int xOffset, int yOffset, int xStep, int yStep, int passWidth, int passHeight) throws IOException { if (passWidth == 0 || passHeight == 0) return true; int bytesPerRow = (bitDepth * samples * passWidth + 7) / 8; boolean isShort = bitDepth == 16; WritableRaster passRow = createInputRaster(bitDepth, samples, width); DataBuffer dbuf = passRow.getDataBuffer(); byte[] byteData = isShort ? null : ((DataBufferByte)dbuf).getData(); short[] shortData = isShort ? ((DataBufferUShort)dbuf).getData() : null; int rowSize = bytesPerRow + bpp; byte[] prev = new byte[rowSize]; byte[] cur = new byte[rowSize]; for (int srcY = 0, dstY = yOffset; srcY < passHeight; srcY++, dstY += yStep) { int filterType = in.read(); if (filterType == -1) throw new EOFException("Unexpected end of image data"); readFully(in, cur, bpp, bytesPerRow); defilter(cur, prev, bpp, filterType); if (isShort) { for (int c = 0, i = bpp; i < rowSize; c++, i += 2) shortData[c] = (short)((cur[i] << 8) | (0xFF & cur[i + 1])); } else { System.arraycopy(cur, bpp, byteData, 0, bytesPerRow); } passRow.getPixels(0, 0, passWidth, 1, row); if (!pp.process(row, xOffset, xStep, yStep, dstY, passWidth)) return false; byte[] tmp = cur; cur = prev; prev = tmp; } return true; } private static void defilter(byte[] cur, byte[] prev, int bpp, int filterType) throws PngException { int rowSize = cur.length; int xc, xp; switch (filterType) { case 0: // None break; case 1: // Sub for (xc = bpp, xp = 0; xc < rowSize; xc++, xp++) cur[xc] = (byte)(cur[xc] + cur[xp]); break; case 2: // Up for (xc = bpp; xc < rowSize; xc++) cur[xc] = (byte)(cur[xc] + prev[xc]); break; case 3: // Average for (xc = bpp, xp = 0; xc < rowSize; xc++, xp++) cur[xc] = (byte)(cur[xc] + ((0xFF & cur[xp]) + (0xFF & prev[xc])) / 2); break; case 4: // Paeth for (xc = bpp, xp = 0; xc < rowSize; xc++, xp++) { byte L = cur[xp]; byte u = prev[xc]; byte nw = prev[xp]; int a = 0xFF & L; // inline byte->int int b = 0xFF & u; int c = 0xFF & nw; int p = a + b - c; int pa = p - a; if (pa < 0) pa = -pa; // inline Math.abs int pb = p - b; if (pb < 0) pb = -pb; int pc = p - c; if (pc < 0) pc = -pc; int result; if (pa <= pb && pa <= pc) { result = a; } else if (pb <= pc) { result = b; } else { result = c; } cur[xc] = (byte)(cur[xc] + result); } break; default: throw new PngException("Unrecognized filter type " + filterType, true); } } private static int[][] bandOffsets = { null, { 0 }, { 0, 1 }, { 0, 1, 2 }, { 0, 1, 2, 3 }, }; private static WritableRaster createInputRaster(int bitDepth, int samples, int width) { int rowSize = (bitDepth * samples * width + 7) / 8; Point origin = new Point(0, 0); if ((bitDepth < 8) && (samples == 1)) { DataBuffer dbuf = new DataBufferByte(rowSize); return Raster.createPackedRaster(dbuf, width, 1, bitDepth, origin); } else if (bitDepth <= 8) { DataBuffer dbuf = new DataBufferByte(rowSize); return Raster.createInterleavedRaster(dbuf, width, 1, rowSize, samples, bandOffsets[samples], origin); } else { DataBuffer dbuf = new DataBufferUShort(rowSize / 2); return Raster.createInterleavedRaster(dbuf, width, 1, rowSize / 2, samples, bandOffsets[samples], origin); } } private static void readFully(InputStream in, byte[] b, int off, int len) throws IOException { int total = 0; while (total < len) { int result = in.read(b, off + total, len - total); if (result == -1) throw new EOFException("Unexpected end of image data"); total += result; } } } javapng-2.0/src/main/com/sixlegs/png/PngConstants.java0000644000175000017500000003206210646275034022742 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; /** * This interface defines all registered chunk types and provides methods * helper methods to examine them. It also defines all of the keys used in the property map * of a decoded {@link PngImage}, and applicable enumerated values. * @see PngImage#getProperty * @see PngImage#getProperties */ abstract public class PngConstants { /** * Returns {@code true} if the given chunk type has the ancillary bit set * (the first letter is lowercase). * An ancillary chunk is once which is not strictly necessary * in order to meaningfully display the contents of the file. * @param chunkType the chunk type * @return whether the chunk type ancillary bit is set */ public static boolean isAncillary(int chunkType) { return ((chunkType & 0x20000000) != 0); } /** * Returns {@code true} if the given chunk type has the private bit set * (the second letter is lowercase). * All unregistered chunk types should have this bit set. * @param chunkType the chunk type * @return whether the chunk type private bit is set */ public static boolean isPrivate(int chunkType) { return ((chunkType & 0x00200000) != 0); } /** * Returns {@code true} if the given chunk type has the reserved bit set * (the third letter is lowercase). * The meaning of this bit is currently undefined, but reserved for future use. * Images conforming to the current version of the PNG specification must * not have this bit set. * @param chunkType the chunk type * @return whether the chunk type reserved bit is set */ public static boolean isReserved(int chunkType) { return ((chunkType & 0x00002000) != 0); } /** * Returns {@code true} if the given chunk type has the safe-to-copy bit set * (the fourth letter is lowercase). * Chunks marked as safe-to-copy may be copied to a modified PNG file * whether or not the software recognizes the chunk type. * @param chunkType the chunk type * @return whether the chunk safe-to-copy bit is set */ public static boolean isSafeToCopy(int chunkType) { return ((chunkType & 0x00000020) != 0); } /** * Returns the four-character ASCII name corresponding to the given * chunk type. For example, {@code PngConstants.getChunkName(PngConstants.IHDR)} will * return {@code "IHDR"}. * @param chunkType the chunk type * @return the four-character ASCII chunk name */ public static String getChunkName(int chunkType) { return ("" + (char)((chunkType >>> 24) & 0xFF) + (char)((chunkType >>> 16) & 0xFF) + (char)((chunkType >>> 8) & 0xFF) + (char)((chunkType ) & 0xFF)); } /** * Returns the chunk type corresponding to the given four-character * ASCII chunk name. * @param chunkName the four-character ASCII chunk name * @return the chunk type * @throws NullPointerException if {@code name} is null * @throws IndexOutOfBoundsException if {@code name} has less than four characters */ public static int getChunkType(String chunkName) { return ((((int)chunkName.charAt(0) & 0xFF) << 24) | (((int)chunkName.charAt(1) & 0xFF) << 16) | (((int)chunkName.charAt(2) & 0xFF) << 8) | (((int)chunkName.charAt(3) & 0xFF) )); } /** Eight byte magic number that begins all PNG images */ public static final long SIGNATURE = 0x89504E470D0A1A0AL; /** Image header */ public static final int IHDR = 0x49484452; /** Palette */ public static final int PLTE = 0x504c5445; /** Image data */ public static final int IDAT = 0x49444154; /** Image trailer */ public static final int IEND = 0x49454e44; /** Background color */ public static final int bKGD = 0x624b4744; /** Primary chromaticities */ public static final int cHRM = 0x6348524d; /** Image gamma */ public static final int gAMA = 0x67414d41; /** Palette histogram */ public static final int hIST = 0x68495354; /** Embedded ICC profile */ public static final int iCCP = 0x69434350; /** International textual data */ public static final int iTXt = 0x69545874; /** Physical pixel dimensions */ public static final int pHYs = 0x70485973; /** Significant bits */ public static final int sBIT = 0x73424954; /** Suggested palette */ public static final int sPLT = 0x73504c54; /** Standard RGB color space */ public static final int sRGB = 0x73524742; /** Textual data */ public static final int tEXt = 0x74455874; /** Image last-modification time */ public static final int tIME = 0x74494d45; /** Transparency */ public static final int tRNS = 0x74524e53; /** Compressed textual data */ public static final int zTXt = 0x7a545874; /** Image offset */ public static final int oFFs = 0x6f464673; /** Calibration of pixel values */ public static final int pCAL = 0x7043414c; /** Physical scale of image subject */ public static final int sCAL = 0x7343414c; /** GIF Graphic Control Extension */ public static final int gIFg = 0x67494667; /** GIF Application Extension */ public static final int gIFx = 0x67494678; /** Indicator of Stereo Image */ public static final int sTER = 0x73544552; /** {@link #IHDR IHDR}: Bit depth */ public static final String BIT_DEPTH = "bit_depth"; /** {@link #IHDR IHDR}: Color type */ public static final String COLOR_TYPE = "color_type"; /** {@link #IHDR IHDR}: Compression method */ public static final String COMPRESSION = "compression"; /** {@link #IHDR IHDR}: Filter method */ public static final String FILTER = "filter"; /** {@link #gAMA gAMA}: Gamma */ public static final String GAMMA = "gamma"; /** {@link #IHDR IHDR}: Width */ public static final String WIDTH = "width"; /** {@link #IHDR IHDR}: Height */ public static final String HEIGHT = "height"; /** {@link #IHDR IHDR}: Interlace method */ public static final String INTERLACE = "interlace"; /** {@link #PLTE PLTE}: Palette entries */ public static final String PALETTE = "palette"; /** {@link #PLTE PLTE}: Palette alpha */ public static final String PALETTE_ALPHA = "palette_alpha"; /** {@link #tRNS tRNS}: Transparency samples */ public static final String TRANSPARENCY = "transparency"; /** {@link #bKGD bKGD}: Background samples */ public static final String BACKGROUND = "background_rgb"; /** {@link #pHYs pHYs}: Pixels per unit, X axis */ public static final String PIXELS_PER_UNIT_X = "pixels_per_unit_x"; /** {@link #pHYs pHYs}: Pixels per unit, Y axis */ public static final String PIXELS_PER_UNIT_Y = "pixels_per_unit_y"; /** {@link #sRGB sRGB}: Rendering intent */ public static final String RENDERING_INTENT = "rendering_intent"; /** {@link #sBIT sBIT}: Significant bits */ public static final String SIGNIFICANT_BITS = "significant_bits"; /** {@link #tEXt tEXt}/{@link #zTXt zTXt}/{@link #iTXt iTXt}: List of {@linkplain TextChunk text chunks} */ public static final String TEXT_CHUNKS = "text_chunks"; /** {@link #tIME tIME}: Image last-modification time */ public static final String TIME = "time"; /** {@link #pHYs pHYs}: Unit specifier */ public static final String UNIT = "unit"; /** {@link #cHRM cHRM}: Chromaticity */ public static final String CHROMATICITY = "chromaticity"; /** {@link #iCCP iCCP}: ICC profile */ public static final String ICC_PROFILE = "icc_profile"; /** {@link #iCCP iCCP}: ICC profile name */ public static final String ICC_PROFILE_NAME = "icc_profile_name"; /** {@link #hIST hIST}: Palette histogram */ public static final String HISTOGRAM = "histogram"; /** {@link #sPLT sPLT}: List of {@linkplain SuggestedPalette suggested palettes} */ public static final String SUGGESTED_PALETTES = "suggested_palettes"; /** {@link #gIFg gIFg}: GIF disposal method */ public static final String GIF_DISPOSAL_METHOD = "gif_disposal_method"; /** {@link #gIFg gIFg}: GIF user input flag */ public static final String GIF_USER_INPUT_FLAG = "gif_user_input_flag"; /** {@link #gIFg gIFg}: GIF delay time (hundredths of a second) */ public static final String GIF_DELAY_TIME = "gif_delay_time"; /** {@link #sCAL sCAL}: Unit for physical scale of image subject */ public static final String SCALE_UNIT = "scale_unit"; /** {@link #sCAL sCAL}: Physical width of pixel */ public static final String PIXEL_WIDTH = "pixel_width"; /** {@link #sCAL sCAL}: Physical height of pixel */ public static final String PIXEL_HEIGHT = "pixel_height"; /** {@link #oFFs oFFs}: Unit for image offset */ public static final String POSITION_UNIT = "position_unit"; /** {@link #sTER sTER}: Indicator of stereo image */ public static final String STEREO_MODE = "stereo_mode"; /** {@link #IHDR IHDR}: Grayscale color type */ public static final int COLOR_TYPE_GRAY = 0; /** {@link #IHDR IHDR}: Grayscale+alpha color type */ public static final int COLOR_TYPE_GRAY_ALPHA = 4; /** {@link #IHDR IHDR}: Palette color type */ public static final int COLOR_TYPE_PALETTE = 3; /** {@link #IHDR IHDR}: RGB color type */ public static final int COLOR_TYPE_RGB = 2; /** {@link #IHDR IHDR}: RGBA color type */ public static final int COLOR_TYPE_RGB_ALPHA = 6; /** {@link #IHDR IHDR}: No interlace */ public static final int INTERLACE_NONE = 0; /** {@link #IHDR IHDR}: Adam7 interlace */ public static final int INTERLACE_ADAM7 = 1; /** {@link #IHDR IHDR}: Adaptive filtering */ public static final int FILTER_BASE = 0; /** {@link #IHDR IHDR}: Deflate/inflate compression */ public static final int COMPRESSION_BASE = 0; /** {@link #pHYs pHYs}: Unit is unknown */ public static final int UNIT_UNKNOWN = 0; /** {@link #pHYs pHYs}: Unit is the meter */ public static final int UNIT_METER = 1; /** {@link #sRGB sRGB}: Perceptual rendering intent */ public static final int SRGB_PERCEPTUAL = 0; /** {@link #sRGB sRGB}: Relative colorimetric rendering intent */ public static final int SRGB_RELATIVE_COLORIMETRIC = 1; /** {@link #sRGB sRGB}: Saturation rendering intent */ public static final int SRGB_SATURATION_PRESERVING = 2; /** {@link #sRGB sRGB}: Absolute colormetric rendering intent */ public static final int SRGB_ABSOLUTE_COLORIMETRIC = 3; /** {@link #oFFs oFFs}: Image X position */ public static final String POSITION_X = "position_x"; /** {@link #oFFs oFFs}: Image Y position */ public static final String POSITION_Y = "position_y"; /** {@link #oFFs oFFs}: Unit is the pixel (true dimensions unspecified) */ public static final int POSITION_UNIT_PIXEL = 0; /** {@link #oFFs oFFs}: Unit is the micrometer (10^-6 meter) */ public static final int POSITION_UNIT_MICROMETER = 1; /** {@link #sCAL sCAL}: Unit is the meter */ public static final int SCALE_UNIT_METER = 1; /** {@link #sCAL sCAL}: Unit is the radian */ public static final int SCALE_UNIT_RADIAN = 2; /** {@link #sTER sTER}: Cross-fuse layout */ public static final int STEREO_MODE_CROSS = 0; /** {@link #sTER sTER}: Diverging-fuse layout */ public static final int STEREO_MODE_DIVERGING = 1; } javapng-2.0/src/main/com/sixlegs/png/BasicPixelProcessor.java0000644000175000017500000000475310646275034024252 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; class BasicPixelProcessor extends PixelProcessor { protected final Destination dst; protected final int samples; public BasicPixelProcessor(Destination dst, int samples) { this.dst = dst; this.samples = samples; } public boolean process(int[] row, int xOffset, int xStep, int yStep, int y, int width) { if (xStep == 1) { dst.setPixels(xOffset, y, width, row); } else { int dstX = xOffset; for (int index = 0, total = samples * width; index < total; index += samples) { for (int i = 0; i < samples; i++) row[i] = row[index + i]; dst.setPixel(dstX, y, row); dstX += xStep; } } return true; } } javapng-2.0/src/main/com/sixlegs/png/SourceRegionDestination.java0000644000175000017500000000626410646275034025134 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.image.WritableRaster; import java.awt.Rectangle; final class SourceRegionDestination extends Destination { private final Destination dst; private final int xoff, yoff, xlen, ylen, samples; public SourceRegionDestination(Destination dst, Rectangle sourceRegion) { this.dst = dst; xoff = sourceRegion.x; yoff = sourceRegion.y; xlen = sourceRegion.width; ylen = sourceRegion.height; samples = dst.getRaster().getNumBands(); } public void setPixels(int x, int y, int w, int[] pixels) { if (y >= yoff && y < yoff + ylen) { int newx = Math.max(x, xoff); int neww = Math.min(x + w, xoff + xlen) - newx; if (neww > 0) { if (newx > x) System.arraycopy(pixels, newx * samples, pixels, 0, neww * samples); dst.setPixels(newx - xoff, y - yoff, neww, pixels); } } } public void setPixel(int x, int y, int[] pixel) { x -= xoff; y -= yoff; if (x >= 0 && y >= 0 && x < xlen && y < ylen) dst.setPixel(x, y, pixel); } public void getPixel(int x, int y, int[] pixel) { throw new UnsupportedOperationException(); } public WritableRaster getRaster() { return dst.getRaster(); } public int getSourceWidth() { return dst.getSourceWidth(); } public void done() { dst.done(); } } javapng-2.0/src/main/com/sixlegs/png/ConvertIndexedDestination.java0000644000175000017500000000642310646275034025446 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.image.*; class ConvertIndexedDestination extends Destination { private final Destination dst; private final IndexColorModel srcColorModel; private final int srcSamples; private final int dstSamples; private final int sampleDiff; private final int[] row; public ConvertIndexedDestination(Destination dst, int width, IndexColorModel srcColorModel, ComponentColorModel dstColorModel) { this.dst = dst; this.srcColorModel = srcColorModel; srcSamples = srcColorModel.getNumComponents(); dstSamples = dstColorModel.getNumComponents(); sampleDiff = srcSamples - dstSamples; row = new int[width * dstSamples + sampleDiff]; } public void setPixels(int x, int y, int w, int[] pixels) { for (int i = w - 1, off = dstSamples * i; i >= 0; i--, off -= dstSamples) srcColorModel.getComponents(pixels[i], row, off); if (sampleDiff != 0) System.arraycopy(row, sampleDiff, row, 0, dstSamples * w); dst.setPixels(x, y, w, row); } public void setPixel(int x, int y, int[] pixel) { setPixels(x, y, 1, pixel); } public void getPixel(int x, int y, int[] pixel) { // TODO: convert backwards (requires looking up palette index) throw new UnsupportedOperationException("implement me"); } public WritableRaster getRaster() { return dst.getRaster(); } public int getSourceWidth() { return dst.getSourceWidth(); } public void done() { dst.done(); } } javapng-2.0/src/main/com/sixlegs/png/RasterDestination.java0000644000175000017500000000502110646275034023756 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.image.WritableRaster; class RasterDestination extends Destination { protected final WritableRaster raster; protected final int sourceWidth; public RasterDestination(WritableRaster raster, int sourceWidth) { this.raster = raster; this.sourceWidth = sourceWidth; } public void setPixels(int x, int y, int w, int[] pixels) { raster.setPixels(x, y, w, 1, pixels); } public void setPixel(int x, int y, int[] pixel) { raster.setPixel(x, y, pixel); } public void getPixel(int x, int y, int[] pixel) { raster.getPixel(x, y, pixel); } public WritableRaster getRaster() { return raster; } public int getSourceWidth() { return sourceWidth; } public void done() { } } javapng-2.0/src/main/com/sixlegs/png/TextChunk.java0000644000175000017500000000522610646275034022240 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; /** * Common interface to all PNG text chunk data ({@link PngConstants#tEXt tEXt}, * {@link PngConstants#zTXt zTXt}, {@link PngConstants#iTXt iTXt}). * @see PngImage#getTextChunk */ public interface TextChunk { /** * Returns the Latin-1 (ISO-8859-1) encoded keyword * of this TextChunk. */ String getKeyword(); /** * Returns a translation of the keyword into the language * used by this TextChunk, or null if unspecified. */ String getTranslatedKeyword(); /** * Returns the language (RFC-1766) used by the translated * keyword and the text, or null if unspecified. */ String getLanguage(); /** * Returns the text of this TextChunk. */ String getText(); /** * Returns the type of this TextChunk. * @return * {@link PngConstants#tEXt},
* {@link PngConstants#zTXt},
* or {@link PngConstants#iTXt} */ int getType(); } javapng-2.0/src/main/com/sixlegs/png/TransGammaPixelProcessor.java0000644000175000017500000000573710646275034025266 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; final class TransGammaPixelProcessor extends BasicPixelProcessor { final private short[] gammaTable; final private int[] trans; final private int shift; final private int max; final private int samplesNoAlpha; final private int[] temp; public TransGammaPixelProcessor(Destination dst, short[] gammaTable, int[] trans, int shift) { super(dst, dst.getRaster().getNumBands()); this.gammaTable = gammaTable; this.trans = trans; this.shift = shift; max = gammaTable.length - 1; samplesNoAlpha = samples - 1; temp = new int[samples * dst.getSourceWidth()]; } public boolean process(int[] row, int xOffset, int xStep, int yStep, int y, int width) { int total = width * samplesNoAlpha; for (int i1 = 0, i2 = 0; i1 < total; i1 += samplesNoAlpha, i2 += samples) { boolean opaque = false; for (int j = 0; j < samplesNoAlpha; j++) { int sample = row[i1 + j]; opaque = opaque || (sample != trans[j]); temp[i2 + j] = 0xFFFF & gammaTable[sample >> shift]; } temp[i2 + samplesNoAlpha] = opaque ? max : 0; } return super.process(temp, xOffset, xStep, yStep, y, width); } } javapng-2.0/src/main/com/sixlegs/png/ImageFactory.java0000644000175000017500000002720611016276772022701 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Transparency; import java.awt.color.ColorSpace; import java.awt.image.*; import java.io.*; import java.util.*; import java.util.zip.Inflater; import java.util.zip.InflaterInputStream; class ImageFactory { private static short[] GAMMA_TABLE_45455 = PngImage.createGammaTable(0.45455f, 2.2f, false); private static short[] GAMMA_TABLE_100000 = PngImage.createGammaTable(1f, 2.2f, false); public static BufferedImage createImage(PngImage png, InputStream in) throws IOException { return createImage(png, in, new Dimension(png.getWidth(), png.getHeight())); } // width and height are overridable for APNG public static BufferedImage createImage(PngImage png, InputStream in, Dimension size) throws IOException { PngConfig config = png.getConfig(); int width = size.width; int height = size.height; int bitDepth = png.getBitDepth(); int samples = png.getSamples(); boolean interlaced = png.isInterlaced(); boolean indexed = isIndexed(png); boolean convertIndexed = indexed && config.getConvertIndexed(); short[] gammaTable = config.getGammaCorrect() ? getGammaTable(png) : null; ColorModel dstColorModel = createColorModel(png, gammaTable, convertIndexed); int dstWidth = width; int dstHeight = height; Rectangle sourceRegion = config.getSourceRegion(); if (sourceRegion != null) { if (!new Rectangle(dstWidth, dstHeight).contains(sourceRegion)) throw new IllegalStateException("Source region " + sourceRegion + " falls outside of " + width + "x" + height + " image"); dstWidth = sourceRegion.width; dstHeight = sourceRegion.height; } Destination dst; int xsub = config.getSourceXSubsampling(); int ysub = config.getSourceYSubsampling(); if (xsub != 1 || ysub != 1) { int xoff = config.getSubsamplingXOffset(); int yoff = config.getSubsamplingYOffset(); int subw = calcSubsamplingSize(dstWidth, xsub, xoff, 'X'); int subh = calcSubsamplingSize(dstHeight, ysub, yoff, 'Y'); WritableRaster raster = dstColorModel.createCompatibleWritableRaster(subw, subh); dst = new SubsamplingDestination(raster, width, xsub, ysub, xoff, yoff); } else { dst = new RasterDestination(dstColorModel.createCompatibleWritableRaster(dstWidth, dstHeight), width); } if (sourceRegion != null) dst = new SourceRegionDestination(dst, sourceRegion); // Destination dst = createDestination(config, dstColorModel, size, interlaced); BufferedImage image = new BufferedImage(dstColorModel, dst.getRaster(), false, null); PixelProcessor pp = null; if (!indexed) { int[] trans = (int[])png.getProperty(PngConstants.TRANSPARENCY, int[].class, false); int shift = (bitDepth == 16 && config.getReduce16()) ? 8 : 0; if (shift != 0 || trans != null || gammaTable != null) { if (gammaTable == null) gammaTable = getIdentityTable(bitDepth - shift); if (trans != null) { pp = new TransGammaPixelProcessor(dst, gammaTable, trans, shift); } else { pp = new GammaPixelProcessor(dst, gammaTable, shift); } } } if (convertIndexed) { IndexColorModel srcColorModel = (IndexColorModel)createColorModel(png, gammaTable, false); dst = new ConvertIndexedDestination(dst, width, srcColorModel, (ComponentColorModel)dstColorModel); } if (pp == null) pp = new BasicPixelProcessor(dst, samples); if (config.getProgressive() && interlaced && !convertIndexed) pp = new ProgressivePixelProcessor(dst, pp, width, height); pp = new ProgressUpdater(png, image, pp); InflaterInputStream inflate = new InflaterInputStream(in, new Inflater(), 0x1000); Defilterer d = new Defilterer(inflate, bitDepth, samples, width, pp); // TODO: if not progressive, initialize to fully transparent? boolean complete; if (interlaced) { complete = d.defilter(0, 0, 8, 8, (width + 7) / 8, (height + 7) / 8) && png.handlePass(image, 0) && d.defilter(4, 0, 8, 8, (width + 3) / 8, (height + 7) / 8) && png.handlePass(image, 1) && d.defilter(0, 4, 4, 8, (width + 3) / 4, (height + 3) / 8) && png.handlePass(image, 2) && d.defilter(2, 0, 4, 4, (width + 1) / 4, (height + 3) / 4) && png.handlePass(image, 3) && d.defilter(0, 2, 2, 4, (width + 1) / 2, (height + 1) / 4) && png.handlePass(image, 4) && d.defilter(1, 0, 2, 2, width / 2, (height + 1) / 2) && png.handlePass(image, 5) && d.defilter(0, 1, 1, 2, width, height / 2) && png.handlePass(image, 6); } else { complete = d.defilter(0, 0, 1, 1, width, height) && png.handlePass(image, 0); } // TODO: handle complete? dst.done(); return image; } private static short[] getGammaTable(PngImage png) { PngConfig config = png.getConfig(); if ((png.getBitDepth() != 16 || config.getReduce16()) && config.getDisplayExponent() == 2.2f) { float gamma = png.getGamma(); if (gamma == 0.45455f) return GAMMA_TABLE_45455; if (gamma == 1f) return GAMMA_TABLE_100000; } return png.getGammaTable(); } private static int calcSubsamplingSize(int len, int sub, int off, char desc) { int size = (len - off + sub - 1) / sub; if (size == 0) throw new IllegalStateException("Source " + desc + " subsampling " + sub + ", offset " + off + " is invalid for image dimension " + len); return size; } private static boolean isIndexed(PngImage png) { int colorType = png.getColorType(); return colorType == PngConstants.COLOR_TYPE_PALETTE || (colorType == PngConstants.COLOR_TYPE_GRAY && png.getBitDepth() < 16); } private static ColorModel createColorModel(PngImage png, short[] gammaTable, boolean convertIndexed) throws PngException { Map props = png.getProperties(); int colorType = png.getColorType(); int bitDepth = png.getBitDepth(); int outputDepth = (bitDepth == 16 && png.getConfig().getReduce16()) ? 8 : bitDepth; if (isIndexed(png) && !convertIndexed) { byte[] r, g, b; if (colorType == PngConstants.COLOR_TYPE_PALETTE) { byte[] palette = (byte[])png.getProperty(PngConstants.PALETTE, byte[].class, true); int paletteSize = palette.length / 3; r = new byte[paletteSize]; g = new byte[paletteSize]; b = new byte[paletteSize]; for (int i = 0, p = 0; i < paletteSize; i++) { r[i] = palette[p++]; g[i] = palette[p++]; b[i] = palette[p++]; } applyGamma(r, gammaTable); applyGamma(g, gammaTable); applyGamma(b, gammaTable); } else { int paletteSize = 1 << bitDepth; r = g = b = new byte[paletteSize]; for (int i = 0; i < paletteSize; i++) { r[i] = (byte)(i * 255 / (paletteSize - 1)); } applyGamma(r, gammaTable); } if (props.containsKey(PngConstants.PALETTE_ALPHA)) { byte[] trans = (byte[])png.getProperty(PngConstants.PALETTE_ALPHA, byte[].class, true); byte[] a = new byte[r.length]; Arrays.fill(a, trans.length, r.length, (byte)0xFF); System.arraycopy(trans, 0, a, 0, trans.length); return new IndexColorModel(outputDepth, r.length, r, g, b, a); } else { int trans = -1; if (props.containsKey(PngConstants.TRANSPARENCY)) trans = ((int[])png.getProperty(PngConstants.TRANSPARENCY, int[].class, true))[0]; return new IndexColorModel(outputDepth, r.length, r, g, b, trans); } } else { int dataType = (outputDepth == 16) ? DataBuffer.TYPE_USHORT : DataBuffer.TYPE_BYTE; int colorSpace = (colorType == PngConstants.COLOR_TYPE_GRAY || colorType == PngConstants.COLOR_TYPE_GRAY_ALPHA) ? ColorSpace.CS_GRAY : ColorSpace.CS_sRGB; int transparency = png.getTransparency(); // TODO: cache/enumerate color models? return new ComponentColorModel(ColorSpace.getInstance(colorSpace), null, transparency != Transparency.OPAQUE, false, transparency, dataType); } } private static void applyGamma(byte[] palette, short[] gammaTable) { if (gammaTable != null) { for (int i = 0; i < palette.length; i++) palette[i] = (byte)gammaTable[0xFF & palette[i]]; } } private static short[] getIdentityTable(int bitDepth) { // TODO: cache identity tables? int size = 1 << bitDepth; short[] table = new short[size]; for (int i = 0; i < size; i++) table[i] = (short)i; return table; } } javapng-2.0/src/main/com/sixlegs/png/Integers.java0000644000175000017500000000517010646275034022101 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; class Integers { public static Integer valueOf(int i) { switch (i) { case 0: return INT_0; case 1: return INT_1; case 2: return INT_2; case 3: return INT_3; case 4: return INT_4; case 5: return INT_5; case 6: return INT_6; case 7: return INT_7; case 8: return INT_8; default: return new Integer(i); } } private static final Integer INT_0 = new Integer(0); private static final Integer INT_1 = new Integer(1); private static final Integer INT_2 = new Integer(2); private static final Integer INT_3 = new Integer(3); private static final Integer INT_4 = new Integer(4); private static final Integer INT_5 = new Integer(5); private static final Integer INT_6 = new Integer(6); private static final Integer INT_7 = new Integer(7); private static final Integer INT_8 = new Integer(8); } javapng-2.0/src/main/com/sixlegs/png/SuggestedPalette.java0000644000175000017500000000705010646275034023571 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; /** * A suggested palette. Suggested palettes can be useful * when the display device is not capable of displaying * the full range of colors present in the image. * @see PngImage#getProperty * @see PngConstants#SUGGESTED_PALETTES */ public interface SuggestedPalette { /** * Returns palette name. This is any convenient name for * referring to the palette. The name will be unique across all * suggested palettes in the same image. */ String getName(); /** * Returns the number of samples. */ int getSampleCount(); /** * Returns the sample depth. This specifies the width of each color and alpha component * of each sample in this palette. * @return 8 or 16 */ int getSampleDepth(); /** * Retrieve a sample value. The red, green, blue, and alpha components of the sample * at the given index are stored into the short array. Each component is of the depth * specified by {@link #getSampleDepth getSampleDepth}. The color samples are not * premultiplied by alpha. An alpha value of 0 means fully transparent. * @throws IndexOutOfBoundsException if index < 0, index >= {@link #getSampleCount getSampleCount}, or * {@code pixel.length} is less than 4 * @throws NullPointerException if {@code pixel} is null * @param index the sample index * @param pixel the array in which to store the sample components */ void getSample(int index, short[] pixel); /** * Retrieve a sample frequency value. The frequency value is proportional to the * fraction of pixels in the image that are closest to that palette entry in RGBA * space. The range of individual values will reasonably fill 0 to 65535. * Entries appear in decreasing order of frequency. * @param index the sample index */ int getFrequency(int index); } javapng-2.0/src/main/com/sixlegs/png/PixelProcessor.java0000644000175000017500000000357010646275034023304 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; // not an interface for performance abstract class PixelProcessor { abstract public boolean process(int[] row, int xOffset, int xStep, int yStep, int y, int width); } javapng-2.0/src/main/com/sixlegs/png/SubsamplingDestination.java0000644000175000017500000000635010646275034025010 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.image.WritableRaster; final class SubsamplingDestination extends RasterDestination { private final int xsub; private final int ysub; private final int xoff; private final int yoff; private final int[] singlePixel; public SubsamplingDestination(WritableRaster raster, int sourceWidth, int xsub, int ysub, int xoff, int yoff) { super(raster, sourceWidth); this.xsub = xsub; this.ysub = ysub; this.xoff = xoff; this.yoff = yoff; singlePixel = new int[raster.getNumBands()]; } public void setPixels(int x, int y, int w, int[] pixels) { if (((y - yoff) % ysub) == 0) { int xdst = (x - xoff) / xsub; int ydst = (y - yoff) / ysub; int startSrc = xdst * xsub + xoff; if (startSrc < x) { xdst++; startSrc += xsub; } int samples = raster.getNumBands(); for (int i = startSrc - x, end = x + w; i < end; i += xsub) { System.arraycopy(pixels, i * samples, singlePixel, 0, samples); super.setPixel(xdst++, ydst, singlePixel); } } } public void setPixel(int x, int y, int[] pixel) { x -= xoff; y -= yoff; if (x % xsub == 0 && y % ysub == 0) super.setPixel(x / xsub, y / ysub, pixel); } public void getPixel(int x, int y, int[] pixel) { throw new UnsupportedOperationException(); } } javapng-2.0/src/main/com/sixlegs/png/PngConfig.java0000644000175000017500000003335211016303114022155 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.Rectangle; /** * Customizable parameters used by {@link PngImage} when decoding an image. * Instances of this class are immutable and can only be constructed * using the {@link Builder} inner-class. */ final public class PngConfig { /** Read the entire image */ public static final int READ_ALL = 0; /** Read only the header chunk */ public static final int READ_HEADER = 1; /** Read all the metadata up to the image data */ public static final int READ_UNTIL_DATA = 2; /** Read the entire image, skipping over the image data */ public static final int READ_EXCEPT_DATA = 3; /** Read the entire image, skipping over all non-critical chunks except tRNS and gAMA */ public static final int READ_EXCEPT_METADATA = 4; final int readLimit; final float defaultGamma; final float displayExponent; final boolean warningsFatal; final boolean progressive; final boolean reduce16; final boolean gammaCorrect; final Rectangle sourceRegion; final int[] subsampling; final boolean convertIndexed; PngConfig(Builder builder) { this.readLimit = builder.readLimit; this.defaultGamma = builder.defaultGamma; this.displayExponent = builder.displayExponent; this.warningsFatal = builder.warningsFatal; this.progressive = builder.progressive; this.reduce16 = builder.reduce16; this.gammaCorrect = builder.gammaCorrect; this.sourceRegion = builder.sourceRegion; this.subsampling = builder.subsampling; this.convertIndexed = builder.convertIndexed; boolean subsampleOn = getSourceXSubsampling() != 1 || getSourceYSubsampling() != 1; if (progressive && (subsampleOn || getSourceRegion() != null)) throw new IllegalStateException("Progressive rendering cannot be used with source regions or subsampling"); } /** * Builder class used to construct {@link PngConfig PngConfig} instances. * Each "setter" method returns an reference to the instance to enable * chaining multiple calls. * Call {@link #build} to construct a new {@code PngConfig} instance * using the current {@code Builder} settings. Example: *
PngConfig config = new PngConfig.Builder()
     *        .readLimit(PngConfig.READ_EXCEPT_METADATA)
     *        .warningsFatal(true)
     *        .build();
*/ final public static class Builder { private static final int[] DEFAULT_SUBSAMPLING = { 1, 1, 0, 0 }; int readLimit = READ_ALL; float defaultGamma = 0.45455f; float displayExponent = 2.2f; boolean warningsFatal; boolean progressive; boolean reduce16 = true; boolean gammaCorrect = true; Rectangle sourceRegion; int[] subsampling = DEFAULT_SUBSAMPLING; boolean convertIndexed; /** * Create a new builder using default values. */ public Builder() { } /** * Create a builder using values from the given configuration. * @param cfg the configuration to copy */ public Builder(PngConfig cfg) { this.readLimit = cfg.readLimit; this.defaultGamma = cfg.defaultGamma; this.displayExponent = cfg.displayExponent; this.warningsFatal = cfg.warningsFatal; this.progressive = cfg.progressive; this.reduce16 = cfg.reduce16; this.gammaCorrect = cfg.gammaCorrect; this.subsampling = cfg.subsampling; } /** * Create a configuration using the current values of this builder. */ public PngConfig build() { return new PngConfig(this); } /** * Enables or disables 16-bit reduction. If enabled, 16-bit samples are reduced to 8-bit samples by * shifting to the right by 8 bits. Default is true. * @param reduce16 enable 16-bit reduction */ public Builder reduce16(boolean reduce16) { this.reduce16 = reduce16; return this; } /** * Sets the default gamma value. This value is used unless the image * contains an explicit gamma value. Initial value is 1/45455. * @param defaultGamma the default gamma value */ public Builder defaultGamma(float defaultGamma) { this.defaultGamma = defaultGamma; return this; } /** * Sets the default display exponent. The proper setting depends on monitor and OS gamma lookup * table settings, if any. The default value of 2.2 should * work well with most PC displays. If the operating system has * a gamma lookup table (e.g. Macintosh) the display exponent should be lower. * @param displayExponent the display exponent */ public Builder displayExponent(float displayExponent) { this.displayExponent = displayExponent; return this; } /** * Enables or disables gamma correction. If enabled, decoded images will be gamma corrected. * Sets to false if your application will perform gamma correctly manually. * Default is true. * @param gammaCorrect use gamma correction * @see PngImage#getGamma * @see PngImage#getGammaTable */ public Builder gammaCorrect(boolean gammaCorrect) { this.gammaCorrect = gammaCorrect; return this; } /** * Enables or disables progressive display for interlaced images. * If enabled, each received pixel is expanded (replicated) to fill a rectangle * covering the yet-to-be-transmitted pixel positions below and to the right * of the received pixel. This produces a "fade-in" effect as the new image * gradually replaces the old, at the cost of some additional processing time. * Default is false. * @param progressive use progressive display * @see PngImage#handlePass */ public Builder progressive(boolean progressive) { this.progressive = progressive; return this; } /** * Configures how much of the image to read. Useful when one is interested * in only a portion of the image metadata, and would like to avoid * reading and/or decoding the actual image data. * @param readLimit * {@link #READ_ALL READ_ALL},
* {@link #READ_HEADER READ_HEADER},
* {@link #READ_UNTIL_DATA READ_UNTIL_DATA},
* {@link #READ_EXCEPT_DATA READ_EXCEPT_DATA},
* or {@link #READ_EXCEPT_METADATA READ_EXCEPT_METADATA} */ public Builder readLimit(int readLimit) { this.readLimit = readLimit; return this; } /** * Configures whether warnings should be treated as fatal errors. * All non-fatal {@link PngException} exceptions are caught and passed to the {@link PngImage#handleWarning} * method. If warnings are configured as fatal, that method will re-throw the * exception, which will abort image processing. Default is false. * @param warningsFatal true if warnings should be treated as fatal errors * @see PngImage#handleWarning */ public Builder warningsFatal(boolean warningsFatal) { this.warningsFatal = warningsFatal; return this; } /** * Decode only a particular region of the source image. See the equivalent * {@linkplain javax.imageio.IIOParam#setSourceRegion ImageIO method} * for full documentation. */ public Builder sourceRegion(Rectangle sourceRegion) { if (sourceRegion != null) { if (sourceRegion.x < 0 || sourceRegion.y < 0 || sourceRegion.width <= 0 || sourceRegion.height <= 0) throw new IllegalArgumentException("invalid source region: " + sourceRegion); this.sourceRegion = new Rectangle(sourceRegion); } else { this.sourceRegion = null; } return this; } /** * Reduce the size of the decoded image (or source region) by only using * periodic rows and/or columns of the image. See the equivalent * {@linkplain javax.imageio.IIOParam#setSourceSubsampling ImageIO method} * for full documentation. */ public Builder sourceSubsampling(int xsub, int ysub, int xoff, int yoff) { if (xsub <= 0 || ysub <= 0 || xoff < 0 || xoff >= xsub || yoff < 0 || yoff >= ysub) throw new IllegalArgumentException("invalid subsampling values"); subsampling = new int[]{ xsub, ysub, xoff, yoff }; return this; } /** * Whether to convert images with an indexed color model * (paletted and 1/2/4/8-bit grayscale) to use a component color model. */ public Builder convertIndexed(boolean convertIndexed) { this.convertIndexed = convertIndexed; return this; } } /** * Return sthe current indexed image conversion setting. * @see Builder#convertIndexed */ public boolean getConvertIndexed() { return convertIndexed; } /** * Returns the current 16-bit reduction setting. * @see Builder#reduce16 */ public boolean getReduce16() { return reduce16; } /** * Returns the current default gamma value. * @see Builder#defaultGamma */ public float getDefaultGamma() { return defaultGamma; } /** * Returns the current gamma correction setting. * @see Builder#gammaCorrect */ public boolean getGammaCorrect() { return gammaCorrect; } /** * Returns the current progressive display setting. * @see Builder#progressive */ public boolean getProgressive() { return progressive; } /** * Returns the current display exponent. * @see Builder#displayExponent */ public float getDisplayExponent() { return displayExponent; } /** * Returns the current read limit setting. * @return one of * {@link #READ_ALL READ_ALL},
* {@link #READ_HEADER READ_HEADER},
* {@link #READ_UNTIL_DATA READ_UNTIL_DATA},
* {@link #READ_EXCEPT_DATA READ_EXCEPT_DATA},
* or {@link #READ_EXCEPT_METADATA READ_EXCEPT_METADATA} * @see Builder#readLimit */ public int getReadLimit() { return readLimit; } /** * Returns whether warnings are treated as fatal errors. * @see Builder#warningsFatal */ public boolean getWarningsFatal() { return warningsFatal; } /** * Returns the source region to be used. * @see Builder#sourceRegion */ public Rectangle getSourceRegion() { return (sourceRegion != null) ? new Rectangle(sourceRegion) : null; } /** * Returns the number of source columns to advance for each pixel. * @see Builder#sourceSubsampling */ public int getSourceXSubsampling() { return subsampling[0]; } /** * Returns the number of rows to advance for each pixel. * @see Builder#sourceSubsampling */ public int getSourceYSubsampling() { return subsampling[1]; } /** * Returns the horizontal offset of the subsampling grid. * @see Builder#sourceSubsampling */ public int getSubsamplingXOffset() { return subsampling[2]; } /** * Returns the vertical offset of the subsampling grid. * @see Builder#sourceSubsampling */ public int getSubsamplingYOffset() { return subsampling[3]; } } javapng-2.0/src/main/com/sixlegs/png/ImageDataInputStream.java0000644000175000017500000000576610646275034024344 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.io.*; class ImageDataInputStream extends InputStream { private final PngInputStream in; private final StateMachine machine; private final byte[] onebyte = new byte[1]; private boolean done; public ImageDataInputStream(PngInputStream in, StateMachine machine) { this.in = in; this.machine = machine; } public int read() throws IOException { return (read(onebyte, 0, 1) == -1) ? -1 : 0xFF & onebyte[0]; } public int read(byte[] b, int off, int len) throws IOException { if (done) return -1; try { int total = 0; while ((total != len) && !done) { while ((total != len) && in.getRemaining() > 0) { int amt = Math.min(len - total, in.getRemaining()); in.readFully(b, off + total, amt); total += amt; } if (in.getRemaining() <= 0) { in.endChunk(machine.getType()); machine.nextState(in.startChunk()); done = machine.getType() != PngConstants.IDAT; } } return total; } catch (EOFException e) { done = true; return -1; } } } javapng-2.0/src/main/com/sixlegs/png/PngImage.java0000644000175000017500000006625511000641166022007 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.Color; import java.awt.Dimension; import java.awt.Transparency; import java.awt.image.BufferedImage; import java.io.*; import java.util.*; /** * A class to decode PNG images. * The simplest use is if only a decoded {@link BufferedImage} is required: *
BufferedImage image = new PngImage().read(new java.io.File("test.png"));
* The {@code PngImage} instance used to read the image also stores all of the * image metadata. For customized PNG decoding, a {@link PngConfig} object * may be passed to the {@linkplain #PngImage(PngConfig) constructor}. *

* This class is not thread-safe. Do not share a {@code PngImage} instance * among multiple threads without proper synchronization. *

* For more information visit http://www.sixlegs.com/ * @author Chris Nokleberg <chris@sixlegs.com> * @see PngConfig */ public class PngImage implements Transparency { private static final PngConfig DEFAULT_CONFIG = new PngConfig.Builder().build(); private final PngConfig config; private final Map props = new HashMap(); private boolean read = false; /** * Constructor which uses a default instance of {@link PngConfig}. */ public PngImage() { this(DEFAULT_CONFIG); } /** * Constructor which uses the specified configuration. */ public PngImage(PngConfig config) { this.config = config; } /** * Returns the configuration used by this object. * @return the {@code PngConfig} instance used by this object */ public PngConfig getConfig() { return config; } /** * Reads a PNG image from the specified file. Image metadata will * be stored in the property map of this {@code PngImage} instance, * for retrieval via the various helper methods ({@link #getWidth}, {@link #getHeight}, etc.) * and {@link #getProperty}. The decoded image itself is returned by this * method but not cached. *

* If {@link PngConfig#getReadLimit} is anything but {@link PngConfig#READ_ALL}, * then this method will return null instead of the decoded image. *

* Multiple images can be read using the same {@code PngImage} instance. * The property map is cleared each time this method is called. * @param file the file to read * @return the decoded image, or null if no image was decoded * @throws IOException if any error occurred while reading the image * @see #read(java.io.InputStream, boolean) * @see #createImage * @see #handlePass */ public BufferedImage read(File file) throws IOException { return read(new BufferedInputStream(new FileInputStream(file)), true); } /** * Reads a PNG image from the specified input stream. Image metadata will * be stored in the property map of this {@code PngImage} instance, * for retrieval via the various helper methods ({@link #getWidth}, {@link #getHeight}, etc.) * and {@link #getProperty}. The decoded image itself is returned by this * method but not cached. *

* If {@link PngConfig#getReadLimit} is anything but {@link PngConfig#READ_ALL}, * then this method will return null instead of the decoded image. *

* Multiple images can be read using the same {@code PngImage} instance. * A new property map is created each time this method is called. * @param in the input stream to read * @param close whether to close the input stream after reading * @return the decoded image, or null if no image was decoded * @throws IOException if any error occurred while reading the image * @see #read(java.io.File) * @see #createImage * @see #handlePass */ public BufferedImage read(InputStream in, boolean close) throws IOException { if (in == null) throw new NullPointerException("InputStream is null"); this.read = true; props.clear(); int readLimit = config.getReadLimit(); BufferedImage image = null; StateMachine machine = new StateMachine(this); try { PngInputStream pin = new PngInputStream(in); Set seen = new HashSet(); while (machine.getState() != StateMachine.STATE_END) { int type = pin.startChunk(); machine.nextState(type); try { if (type == PngConstants.IDAT) { switch (readLimit) { case PngConfig.READ_UNTIL_DATA: return null; case PngConfig.READ_EXCEPT_DATA: break; default: ImageDataInputStream data = new ImageDataInputStream(pin, machine); image = createImage(data, new Dimension(getWidth(), getHeight())); while ((type = machine.getType()) == PngConstants.IDAT) { skipFully(data, pin.getRemaining()); } } } if (!isMultipleOK(type) && !seen.add(Integers.valueOf(type))) throw new PngException("Multiple " + PngConstants.getChunkName(type) + " chunks are not allowed", !PngConstants.isAncillary(type)); try { readChunk(type, pin, pin.getOffset(), pin.getRemaining()); } catch (PngException e) { throw e; } catch (IOException e) { throw new PngException("Malformed " + PngConstants.getChunkName(type) + " chunk", e, !PngConstants.isAncillary(type)); } skipFully(pin, pin.getRemaining()); if (type == PngConstants.IHDR && readLimit == PngConfig.READ_HEADER) return null; } catch (PngException exception) { if (exception.isFatal()) throw exception; skipFully(pin, pin.getRemaining()); handleWarning(exception); } pin.endChunk(type); } return image; } finally { if (close) in.close(); } } /** * A hook by which subclasses can access or manipulate the raw image data. * All of the raw, compressed image data contained in the {@code IDAT} chunks * of the PNG image being read is concatenated and passed to this method * as a single input stream. The returned image will become the return value * of the calling {@link #read(java.io.File)} or {@link #read(java.io.InputStream, boolean)} * method. *

* Unlike {@link #readChunk} implementations, subclasses may read less than the correct * amount from this stream; the remainder will be skipped. * @param in the input stream of raw, compressed image data * @param size the size of the image data * @return the decoded image, or null * @throws IOException if any error occurred while processing the image data */ protected BufferedImage createImage(InputStream in, Dimension size) throws IOException { return ImageFactory.createImage(this, in, size); } /** * A method which subclasses may override to take some action * after each pass has been decoded. An interlaced image has seven * passes, and non-interlaced image only one. The {@code pass} * arguments indicates the index of the completed * pass, starting with zero. *

* For interlaced images, the state of the image data before the last * pass is affected by the value of {@link PngConfig#getProgressive}. *

* Image decoding can be aborted by returning false. The default * implementation always returns true. * @param image the partially or fully decoded image * @param pass the index of the completed pass * @return false to abort image decoding */ protected boolean handlePass(BufferedImage image, int pass) { return true; } /** * Reports the approximate degree of completion of the current read * call. This method is called periodically during * image decoding. The degree of completion is expressed as a percentage * varying from 0.0F to 100.0F, and is calculated using the number * of pixels decoded. *

* Image decoding can be aborted by returning false. The default * implementation returns true. * @param image the partially or fully decoded image * @param pct the approximate percentage of decoding that has been completed * @return false to abort image decoding */ protected boolean handleProgress(BufferedImage image, float pct) { return true; } /** * Callback for customized handling of warnings. Whenever a * non-fatal error is found, an instance of {@link PngException} is * created and passed to this method. To signal that the exception * should be treated as a fatal exception (and abort image * processing), an implementation should re-throw the exception. *

* By default, this method will re-throw the warning if the * {@link PngConfig#getWarningsFatal warningsFatal} property is true. * @throws PngException if the warning should be treated as fatal */ protected void handleWarning(PngException e) throws PngException { if (config.getWarningsFatal()) throw e; } /** * Returns the image widt hin pixels. * @throws IllegalStateException if an image has not been read */ public int getWidth() { return getInt(PngConstants.WIDTH); } /** * Returns the image height in pixels. * @throws IllegalStateException if an image has not been read */ public int getHeight() { return getInt(PngConstants.HEIGHT); } /** * Returns the image bit depth. * @return 1, 2, 4, 8, or 16 * @throws IllegalStateException if an image has not been read */ public int getBitDepth() { return getInt(PngConstants.BIT_DEPTH); } /** * Returns true if the image interlace type ({@link PngConstants#INTERLACE}) * is something other than {@link PngConstants#INTERLACE_NONE INTERLACE_NONE}. * @return true if the image is interlaced * @throws IllegalStateException if an image has not been read */ public boolean isInterlaced() { return getInt(PngConstants.INTERLACE) != PngConstants.INTERLACE_NONE; } /** * Returns the image color type. * @return * {@link PngConstants#COLOR_TYPE_GRAY COLOR_TYPE_GRAY},
* {@link PngConstants#COLOR_TYPE_GRAY_ALPHA COLOR_TYPE_GRAY_ALPHA},
* {@link PngConstants#COLOR_TYPE_PALETTE COLOR_TYPE_PALETTE},
* {@link PngConstants#COLOR_TYPE_RGB COLOR_TYPE_RGB},
* or {@link PngConstants#COLOR_TYPE_RGB_ALPHA COLOR_TYPE_RGB_ALPHA} * @throws IllegalStateException if an image has not been read */ public int getColorType() { return getInt(PngConstants.COLOR_TYPE); } /** * Returns the type of this Transparency. * @return the field type of this Transparency, which is either OPAQUE, BITMASK or TRANSLUCENT. * @throws IllegalStateException if an image has not been read */ public int getTransparency() { int colorType = getColorType(); return (colorType == PngConstants.COLOR_TYPE_RGB_ALPHA || colorType == PngConstants.COLOR_TYPE_GRAY_ALPHA || props.containsKey(PngConstants.TRANSPARENCY) || props.containsKey(PngConstants.PALETTE_ALPHA)) ? TRANSLUCENT : OPAQUE; } /** * Returns the number of samples per pixel. Gray and paletted * images use one sample, gray+alpha uses two, RGB uses three, * and RGB+alpha uses four. * @return 1, 2, 3 or 4 * @throws IllegalStateException if an image has not been read */ public int getSamples() { switch (getColorType()) { case PngConstants.COLOR_TYPE_GRAY_ALPHA: return 2; case PngConstants.COLOR_TYPE_RGB: return 3; case PngConstants.COLOR_TYPE_RGB_ALPHA: return 4; } return 1; } /** * Returns the gamma exponent that was explicitly encoded in the image, * if there was one, or the value of {@link PngConfig#getDefaultGamma} otherwise. * @return the gamma exponent * @throws IllegalStateException if an image has not been read */ public float getGamma() { assertRead(); if (props.containsKey(PngConstants.GAMMA)) return ((Number)getProperty(PngConstants.GAMMA, Number.class, true)).floatValue(); return config.getDefaultGamma(); } /** * Returns a gamma table which can be used for custom gamma correction. * The table is 256 entries unless the bit depth is 16 and * {@link PngConfig#getReduce16} is false, in which * case the table is 65535 entries. *

* The values in the table take into account {@link #getGamma} and * {@link PngConfig#getDisplayExponent}. * @return a table of component values to be used in gamma correction * @throws IllegalStateException if an image has not been read */ public short[] getGammaTable() { assertRead(); return createGammaTable(getGamma(), config.getDisplayExponent(), getBitDepth() == 16 && !config.getReduce16()); } static short[] createGammaTable(float gamma, float displayExponent, boolean large) { int size = 1 << (large ? 16 : 8); short[] gammaTable = new short[size]; double decodingExponent = 1d / ((double)gamma * (double)displayExponent); for (int i = 0; i < size; i++) gammaTable[i] = (short)(Math.pow((double)i / (size - 1), decodingExponent) * (size - 1)); return gammaTable; } // TODO: gamma-correct background? /** * Returns the background color explicitly encoded in the image. * For 16-bit images the components are reduced to 8-bit by shifting. * @return the background color, or null * @throws IllegalStateException if an image has not been read */ public Color getBackground() { int[] background = (int[])getProperty(PngConstants.BACKGROUND, int[].class, false); if (background == null) return null; switch (getColorType()) { case PngConstants.COLOR_TYPE_PALETTE: byte[] palette = (byte[])getProperty(PngConstants.PALETTE, byte[].class, true); int index = background[0] * 3; return new Color(0xFF & palette[index + 0], 0xFF & palette[index + 1], 0xFF & palette[index + 2]); case PngConstants.COLOR_TYPE_GRAY: case PngConstants.COLOR_TYPE_GRAY_ALPHA: int gray = background[0] * 255 / ((1 << getBitDepth()) - 1); return new Color(gray, gray, gray); default: if (getBitDepth() == 16) { return new Color(background[0] >> 8, background[1] >> 8, background[2] >> 8); } else { return new Color(background[0], background[1], background[2]); } } } /** * Returns a per-image property by name. All common property names are defined in * {@link PngConstants}; their types are listed in the following table. * The use of the various helper methods defined in this class, such as {@link #getBackground}, * is normally preferrable to working with the raw property values. *

*

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
PropertyTypeDescription
{@link PngConstants#BIT_DEPTH BIT_DEPTH}{@link Integer Integer}Bit depth
{@link PngConstants#COLOR_TYPE COLOR_TYPE}{@link Integer Integer}Color type
{@link PngConstants#COMPRESSION COMPRESSION}{@link Integer Integer}Compression method
{@link PngConstants#FILTER FILTER}{@link Integer Integer}Filter method
{@link PngConstants#GAMMA GAMMA}{@link Float Float}Gamma
{@link PngConstants#WIDTH WIDTH}{@link Integer Integer}Width
{@link PngConstants#HEIGHT HEIGHT}{@link Integer Integer}Height
{@link PngConstants#INTERLACE INTERLACE}{@link Integer Integer}Interlace method
{@link PngConstants#PALETTE PALETTE}{@code byte[]}Palette entries
{@link PngConstants#PALETTE_ALPHA PALETTE_ALPHA}{@code byte[]}Palette alpha
{@link PngConstants#TRANSPARENCY TRANSPARENCY}{@code int[]}Transparency samples
{@link PngConstants#BACKGROUND BACKGROUND}{@code int[]}Background samples
{@link PngConstants#PIXELS_PER_UNIT_X PIXELS_PER_UNIT_X}{@link Integer Integer}Pixels per unit, X axis
{@link PngConstants#PIXELS_PER_UNIT_Y PIXELS_PER_UNIT_Y}{@link Integer Integer}Pixels per unit, Y axis
{@link PngConstants#UNIT UNIT}{@link Integer Integer}Unit specifier
{@link PngConstants#RENDERING_INTENT RENDERING_INTENT}{@link Integer Integer}Rendering intent
{@link PngConstants#SIGNIFICANT_BITS SIGNIFICANT_BITS}{@code byte[]}Significant bits
{@link PngConstants#TEXT_CHUNKS TEXT_CHUNKS}{@link java.util.List List}List of {@linkplain TextChunk text chunks}
{@link PngConstants#TIME TIME}{@link java.util.Date Date}Image last-modification time
{@link PngConstants#CHROMATICITY CHROMATICITY}{@code float[]}Chromaticity
{@link PngConstants#ICC_PROFILE ICC_PROFILE}{@code byte[]}ICC profile
{@link PngConstants#ICC_PROFILE_NAME ICC_PROFILE_NAME}{@link String String}ICC profile name
{@link PngConstants#HISTOGRAM HISTOGRAM}{@code int[]}Palette histogram
{@link PngConstants#SUGGESTED_PALETTES SUGGESTED_PALETTES}{@link java.util.List List}List of {@linkplain SuggestedPalette suggested palettes}
{@link PngConstants#GIF_DISPOSAL_METHOD GIF_DISPOSAL_METHOD}{@link Integer Integer}GIF disposal method
{@link PngConstants#GIF_USER_INPUT_FLAG GIF_USER_INPUT_FLAG}{@link Integer Integer}GIF user input flag
{@link PngConstants#GIF_DELAY_TIME GIF_DELAY_TIME}{@link Integer Integer}GIF delay time (hundredths of a second)
{@link PngConstants#SCALE_UNIT SCALE_UNIT}{@link Integer Integer}Unit for physical scale of image subject
{@link PngConstants#PIXEL_WIDTH PIXEL_WIDTH}{@link Double Double}Physical width of pixel
{@link PngConstants#PIXEL_HEIGHT PIXEL_HEIGHT}{@link Double Double}Physical height of pixel
{@link PngConstants#POSITION_UNIT POSITION_UNIT}{@link Integer Integer}Unit for image offset
{@link PngConstants#STEREO_MODE STEREO_MODE}{@link Integer Integer}Indicator of stereo image
* @param name a property name * @return the property value, or null if no such property exists * @throws IllegalStateException if an image has not been read */ public Object getProperty(String name) { assertRead(); return props.get(name); } Object getProperty(String name, Class type, boolean required) { assertRead(); Object value = props.get(name); if (value == null) { if (required) throw new IllegalStateException("Image is missing property \"" + name + "\""); } else if (!type.isAssignableFrom(value.getClass())) { throw new IllegalStateException("Property \"" + name + "\" has type " + value.getClass().getName() + ", expected " + type.getName()); } return value; } private int getInt(String name) { return ((Number)getProperty(name, Number.class, true)).intValue(); } /** * Returns the map which stores all of this image's property values. * The map is mutable, and storing a value with the wrong type may * result in other methods in this class throwing {@code IllegalStateException} or * {@code ClassCastException}. * @return the mutable map of image properties */ public Map getProperties() { return props; } /** * Returns a text chunk that uses the given keyword, if one exists. * If multiple text chunks share the same keyword, this method * will return the first one that was read. The full list of text * chunks may be accessed by calling *
{@linkplain #getProperty getProperty}({@linkplain PngConstants#TEXT_CHUNKS})
* @param key the text chunk keyword * @return a {@link TextChunk} implementation, or null * @throws IllegalStateException if an image has not been read */ public TextChunk getTextChunk(String key) { List list = (List)getProperty(PngConstants.TEXT_CHUNKS, List.class, false); if (key != null && list != null) { for (Iterator it = list.iterator(); it.hasNext();) { // TODO: check list value type before cast? TextChunk chunk = (TextChunk)it.next(); if (chunk.getKeyword().equals(key)) return chunk; } } return null; } /** * Read the chunk data from the image input stream, storing * properties into this {@code PngImage} instance. *

* By default this method will handle all of the chunk types defined * in Version 1.2 of the PNG Specification, and most of the * registered extension chunks. * {@code IDAT} chunks will be processed through this method only if * {@link PngConfig#getReadLimit} is set to {@link PngConfig#READ_EXCEPT_DATA}. *

* Attempting to read past the end of the chunk data will result in * an {@link EOFException}. Unread data will be skipped. * @param type the chunk type * @param in the chunk data * @param offset the location of the chunk data within the entire PNG datastream * @param length the length of the chunk data */ protected void readChunk(int type, DataInput in, long offset, int length) throws IOException { if (type == PngConstants.IDAT) return; if (config.getReadLimit() == PngConfig.READ_EXCEPT_METADATA && PngConstants.isAncillary(type)) { switch (type) { case PngConstants.gAMA: case PngConstants.tRNS: break; default: return; } } RegisteredChunks.read(type, in, length, this); } /** * Returns whether a chunk is allowed to occur multiple times. *

* By default this method returns {@code true} only for {@link PngConstants#sPLT sPLT}, * {@link PngConstants#iTXt iTXt}, {@link PngConstants#tEXt tEXt}, * {@link PngConstants#zTXt zTXt}, and {@link PngConstants#IDAT IDAT}. * @param type the chunk type * @return whether multiple chunks of the given type are allowed */ protected boolean isMultipleOK(int type) { switch (type) { case PngConstants.IDAT: case PngConstants.sPLT: case PngConstants.iTXt: case PngConstants.tEXt: case PngConstants.zTXt: return true; } return false; } private void assertRead() { if (!read) throw new IllegalStateException("Image has not been read"); } private static void skipFully(InputStream in, long n) throws IOException { while (n > 0) { long amt = in.skip(n); if (amt == 0) { // Force a blocking read to avoid infinite loop if (in.read() == -1) { throw new EOFException(); } n--; } else { n -= amt; } } } } javapng-2.0/src/main/com/sixlegs/png/PngInputStream.java0000644000175000017500000001570410646275034023245 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.io.*; import java.util.zip.*; /** * An input stream used to read PNG chunk data. * @see PngConstants#read * @see #getRemaining */ final class PngInputStream extends InputStream implements DataInput { private final CRC32 crc = new CRC32(); private final InputStream in; private final DataInputStream data; private final byte[] tmp = new byte[0x1000]; private long total; private int length; private int left; public PngInputStream(InputStream in) throws IOException { this.in = in; data = new DataInputStream(this); left = 8; long sig = readLong(); if (sig != PngConstants.SIGNATURE) { throw new PngException("Improper signature, expected 0x" + Long.toHexString(PngConstants.SIGNATURE) + ", got 0x" + Long.toHexString(sig), true); } total += 8; } public int startChunk() throws IOException { left = 8; // length, type length = readInt(); if (length < 0) throw new PngException("Bad chunk length: " + (0xFFFFFFFFL & length), true); crc.reset(); int type = readInt(); left = length; total += 8; return type; } public int endChunk(int type) throws IOException { if (getRemaining() != 0) throw new PngException(PngConstants.getChunkName(type) + " read " + (length - left) + " bytes, expected " + length, true); left = 4; int actual = (int)crc.getValue(); int expect = readInt(); if (actual != expect) throw new PngException("Bad CRC value for " + PngConstants.getChunkName(type) + " chunk", true); total += length + 4; return actual; } ////////// count/crc InputStream methods ////////// public int read() throws IOException { if (left == 0) return -1; int result = in.read(); if (result != -1) { crc.update(result); left--; } return result; } public int read(byte[] b, int off, int len) throws IOException { if (len == 0) return 0; if (left == 0) return -1; int result = in.read(b, off, Math.min(left, len)); if (result != -1) { crc.update(b, off, result); left -= result; } return result; } public long skip(long n) throws IOException { int result = read(tmp, 0, (int)Math.min(tmp.length, n)); return (result < 0) ? 0 : result; } public void close() { throw new UnsupportedOperationException("do not close me"); } ////////// DataInput methods we implement directly ////////// public boolean readBoolean() throws IOException { return readUnsignedByte() != 0; } public int readUnsignedByte() throws IOException { int a = read(); if (a < 0) throw new EOFException(); return a; } public byte readByte() throws IOException { return (byte)readUnsignedByte(); } public int readUnsignedShort() throws IOException { int a = read(); int b = read(); if ((a | b) < 0) throw new EOFException(); return (a << 8) + (b << 0); } public short readShort() throws IOException { return (short)readUnsignedShort(); } public char readChar() throws IOException { return (char)readUnsignedShort(); } public int readInt() throws IOException { int a = read(); int b = read(); int c = read(); int d = read(); if ((a | b | c | d) < 0) throw new EOFException(); return ((a << 24) + (b << 16) + (c << 8) + (d << 0)); } public long readLong() throws IOException { return ((0xFFFFFFFFL & readInt()) << 32) | (0xFFFFFFFFL & readInt()); } public float readFloat() throws IOException { return Float.intBitsToFloat(readInt()); } public double readDouble() throws IOException { return Double.longBitsToDouble(readLong()); } ////////// DataInput methods we delegate ////////// public void readFully(byte[] b) throws IOException { data.readFully(b, 0, b.length); } public void readFully(byte[] b, int off, int len) throws IOException { data.readFully(b, off, len); } public int skipBytes(int n) throws IOException { return data.skipBytes(n); } public String readLine() throws IOException { return data.readLine(); } public String readUTF() throws IOException { return data.readUTF(); } ////////// PNG-specific methods ////////// /** * Returns the number of bytes of chunk data that the * {@link PngConstants#read} method implementation is required to read. * Use {@link #skipBytes} to skip the data. * @return the number of bytes in the chunk remaining to be read */ public int getRemaining() { return left; } public long getOffset() { return total; } } javapng-2.0/src/main/com/sixlegs/png/RegisteredChunks.java0000644000175000017500000005404210777306272023600 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.io.*; import java.util.*; import java.util.zip.*; class RegisteredChunks { private static final TimeZone TIME_ZONE = TimeZone.getTimeZone("UTC"); private static final String ISO_8859_1 = "ISO-8859-1"; private static final String US_ASCII = "US-ASCII"; private static final String UTF_8 = "UTF-8"; public static boolean read(int type, DataInput in, int length, PngImage png) throws IOException { Map props = png.getProperties(); switch (type) { case PngConstants.IHDR: read_IHDR(in, length, props); break; case PngConstants.IEND: checkLength(PngConstants.IEND, length, 0); break; case PngConstants.PLTE: read_PLTE(in, length, props, png); break; case PngConstants.bKGD: read_bKGD(in, length, props, png); break; case PngConstants.tRNS: read_tRNS(in, length, props, png); break; case PngConstants.sBIT: read_sBIT(in, length, props, png); break; case PngConstants.hIST: read_hIST(in, length, props, png); break; case PngConstants.sPLT: read_sPLT(in, length, props, png); break; case PngConstants.cHRM: read_cHRM(in, length, props); break; case PngConstants.gAMA: read_gAMA(in, length, props); break; case PngConstants.iCCP: read_iCCP(in, length, props); break; case PngConstants.pHYs: read_pHYs(in, length, props); break; case PngConstants.sRGB: read_sRGB(in, length, props); break; case PngConstants.tIME: read_tIME(in, length, props); break; case PngConstants.gIFg: read_gIFg(in, length, props); break; case PngConstants.oFFs: read_oFFs(in, length, props); break; case PngConstants.sCAL: read_sCAL(in, length, props); break; case PngConstants.sTER: read_sTER(in, length, props); break; // case PngConstants.gIFx: read_gIFx(in, length, props); break; case PngConstants.iTXt: case PngConstants.tEXt: case PngConstants.zTXt: readText(type, in, length, props, png); break; default: return false; } return true; } private static void read_IHDR(DataInput in, int length, Map props) throws IOException { checkLength(PngConstants.IHDR, length, 13); int width = in.readInt(); int height = in.readInt(); if (width <= 0 || height <= 0) throw new PngException("Bad image size: " + width + "x" + height, true); byte bitDepth = in.readByte(); switch (bitDepth) { case 1: case 2: case 4: case 8: case 16: break; default: throw new PngException("Bad bit depth: " + bitDepth, true); } byte[] sbits = null; int colorType = in.readUnsignedByte(); switch (colorType) { case PngConstants.COLOR_TYPE_RGB: case PngConstants.COLOR_TYPE_GRAY: break; case PngConstants.COLOR_TYPE_PALETTE: if (bitDepth == 16) throw new PngException("Bad bit depth for color type " + colorType + ": " + bitDepth, true); break; case PngConstants.COLOR_TYPE_GRAY_ALPHA: case PngConstants.COLOR_TYPE_RGB_ALPHA: if (bitDepth <= 4) throw new PngException("Bad bit depth for color type " + colorType + ": " + bitDepth, true); break; default: throw new PngException("Bad color type: " + colorType, true); } int compression = in.readUnsignedByte(); if (compression != PngConstants.COMPRESSION_BASE) throw new PngException("Unrecognized compression method: " + compression, true); int filter = in.readUnsignedByte(); if (filter != PngConstants.FILTER_BASE) throw new PngException("Unrecognized filter method: " + filter, true); int interlace = in.readUnsignedByte(); switch (interlace) { case PngConstants.INTERLACE_NONE: case PngConstants.INTERLACE_ADAM7: break; default: throw new PngException("Unrecognized interlace method: " + interlace, true); } props.put(PngConstants.WIDTH, Integers.valueOf(width)); props.put(PngConstants.HEIGHT, Integers.valueOf(height)); props.put(PngConstants.BIT_DEPTH, Integers.valueOf(bitDepth)); props.put(PngConstants.INTERLACE, Integers.valueOf(interlace)); props.put(PngConstants.COMPRESSION, Integers.valueOf(compression)); props.put(PngConstants.FILTER, Integers.valueOf(filter)); props.put(PngConstants.COLOR_TYPE, Integers.valueOf(colorType)); } private static void read_PLTE(DataInput in, int length, Map props, PngImage png) throws IOException { if (length == 0) throw new PngException("PLTE chunk cannot be empty", true); if (length % 3 != 0) throw new PngException("PLTE chunk length indivisible by 3: " + length, true); int size = length / 3; if (size > 256) throw new PngException("Too many palette entries: " + size, true); switch (png.getColorType()) { case PngConstants.COLOR_TYPE_PALETTE: if (size > (2 << (png.getBitDepth() - 1))) throw new PngException("Too many palette entries: " + size, true); break; case PngConstants.COLOR_TYPE_GRAY: case PngConstants.COLOR_TYPE_GRAY_ALPHA: throw new PngException("PLTE chunk found in grayscale image", false); } byte[] palette = new byte[length]; in.readFully(palette); props.put(PngConstants.PALETTE, palette); } private static void read_tRNS(DataInput in, int length, Map props, PngImage png) throws IOException { switch (png.getColorType()) { case PngConstants.COLOR_TYPE_GRAY: checkLength(PngConstants.tRNS, length, 2); props.put(PngConstants.TRANSPARENCY, new int[]{ in.readUnsignedShort() }); break; case PngConstants.COLOR_TYPE_RGB: checkLength(PngConstants.tRNS, length, 6); props.put(PngConstants.TRANSPARENCY, new int[]{ in.readUnsignedShort(), in.readUnsignedShort(), in.readUnsignedShort(), }); break; case PngConstants.COLOR_TYPE_PALETTE: int paletteSize = ((byte[])png.getProperty(PngConstants.PALETTE, byte[].class, true)).length / 3; if (length > paletteSize) throw new PngException("Too many transparency palette entries (" + length + " > " + paletteSize + ")", true); byte[] trans = new byte[length]; in.readFully(trans); props.put(PngConstants.PALETTE_ALPHA, trans); break; default: throw new PngException("tRNS prohibited for color type " + png.getColorType(), true); } } private static void read_bKGD(DataInput in, int length, Map props, PngImage png) throws IOException { int[] background; switch (png.getColorType()) { case PngConstants.COLOR_TYPE_PALETTE: checkLength(PngConstants.bKGD, length, 1); background = new int[]{ in.readUnsignedByte() }; break; case PngConstants.COLOR_TYPE_GRAY: case PngConstants.COLOR_TYPE_GRAY_ALPHA: checkLength(PngConstants.bKGD, length, 2); background = new int[]{ in.readUnsignedShort() }; break; default: // truecolor checkLength(PngConstants.bKGD, length, 6); background = new int[]{ in.readUnsignedShort(), in.readUnsignedShort(), in.readUnsignedShort(), }; } props.put(PngConstants.BACKGROUND, background); } private static void read_cHRM(DataInput in, int length, Map props) throws IOException { checkLength(PngConstants.cHRM, length, 32); float[] array = new float[8]; for (int i = 0; i < 8; i++) array[i] = in.readInt() / 100000f; if (!props.containsKey(PngConstants.CHROMATICITY)) props.put(PngConstants.CHROMATICITY, array); } private static void read_gAMA(DataInput in, int length, Map props) throws IOException { checkLength(PngConstants.gAMA, length, 4); int gamma = in.readInt(); if (gamma == 0) throw new PngException("Meaningless zero gAMA chunk value", false); if (!props.containsKey(PngConstants.RENDERING_INTENT)) props.put(PngConstants.GAMMA, new Float(gamma / 100000f)); } private static void read_hIST(DataInput in, int length, Map props, PngImage png) throws IOException { // TODO: ensure it is divisible by three int paletteSize = ((byte[])png.getProperty(PngConstants.PALETTE, byte[].class, true)).length / 3; checkLength(PngConstants.hIST, length, paletteSize * 2); int[] array = new int[paletteSize]; for (int i = 0; i < paletteSize; i++) array[i] = in.readUnsignedShort(); props.put(PngConstants.HISTOGRAM, array); } private static void read_iCCP(DataInput in, int length, Map props) throws IOException { String name = readKeyword(in, length); byte[] data = readCompressed(in, length - name.length() - 1, true); props.put(PngConstants.ICC_PROFILE_NAME, name); props.put(PngConstants.ICC_PROFILE, data); } private static void read_pHYs(DataInput in, int length, Map props) throws IOException { checkLength(PngConstants.pHYs, length, 9); int pixelsPerUnitX = in.readInt(); int pixelsPerUnitY = in.readInt(); int unit = in.readUnsignedByte(); if (unit != PngConstants.UNIT_UNKNOWN && unit != PngConstants.UNIT_METER) throw new PngException("Illegal pHYs chunk unit specifier: " + unit, false); props.put(PngConstants.PIXELS_PER_UNIT_X, Integers.valueOf(pixelsPerUnitX)); props.put(PngConstants.PIXELS_PER_UNIT_Y, Integers.valueOf(pixelsPerUnitY)); props.put(PngConstants.UNIT, Integers.valueOf(unit)); } private static void read_sBIT(DataInput in, int length, Map props, PngImage png) throws IOException { boolean paletted = png.getColorType() == PngConstants.COLOR_TYPE_PALETTE; int count = paletted ? 3 : png.getSamples(); checkLength(PngConstants.sBIT, length, count); int depth = paletted ? 8 : png.getBitDepth(); byte[] array = new byte[count]; for (int i = 0; i < count; i++) { byte bits = in.readByte(); if (bits <= 0 || bits > depth) throw new PngException("Illegal sBIT sample depth", false); array[i] = bits; } props.put(PngConstants.SIGNIFICANT_BITS, array); } private static void read_sRGB(DataInput in, int length, Map props) throws IOException { checkLength(PngConstants.sRGB, length, 1); int intent = in.readByte(); props.put(PngConstants.RENDERING_INTENT, Integers.valueOf(intent)); props.put(PngConstants.GAMMA, new Float(0.45455)); props.put(PngConstants.CHROMATICITY, new float[]{ 0.3127f, 0.329f, 0.64f, 0.33f, 0.3f, 0.6f, 0.15f, 0.06f, }); } private static void read_tIME(DataInput in, int length, Map props) throws IOException { checkLength(PngConstants.tIME, length, 7); Calendar cal = Calendar.getInstance(TIME_ZONE); cal.set(in.readUnsignedShort(), check(in.readUnsignedByte(), 1, 12, "month") - 1, check(in.readUnsignedByte(), 1, 31, "day"), check(in.readUnsignedByte(), 0, 23, "hour"), check(in.readUnsignedByte(), 0, 59, "minute"), check(in.readUnsignedByte(), 0, 60, "second")); props.put(PngConstants.TIME, cal.getTime()); } private static int check(int value, int min, int max, String field) throws PngException { if (value < min || value > max) throw new PngException("tIME " + field + " value " + value + " is out of bounds (" + min + "-" + max + ")", false); return value; } private static void read_sPLT(DataInput in, int length, Map props, PngImage png) throws IOException { String name = readKeyword(in, length); int sampleDepth = in.readByte(); if (sampleDepth != 8 && sampleDepth != 16) throw new PngException("Sample depth must be 8 or 16", false); length -= (name.length() + 2); if ((length % ((sampleDepth == 8) ? 6 : 10)) != 0) throw new PngException("Incorrect sPLT data length for given sample depth", false); byte[] bytes = new byte[length]; in.readFully(bytes); List palettes = (List)png.getProperty(PngConstants.SUGGESTED_PALETTES, List.class, false); if (palettes == null) props.put(PngConstants.SUGGESTED_PALETTES, palettes = new ArrayList()); for (Iterator it = palettes.iterator(); it.hasNext();) { if (name.equals(((SuggestedPalette)it.next()).getName())) throw new PngException("Duplicate suggested palette name " + name, false); } palettes.add(new SuggestedPaletteImpl(name, sampleDepth, bytes)); } private static void readText(int type, DataInput in, int length, Map props, PngImage png) throws IOException { byte[] bytes = new byte[length]; in.readFully(bytes); DataInputStream data = new DataInputStream(new ByteArrayInputStream(bytes)); String keyword = readKeyword(data, length); String enc = ISO_8859_1; boolean compressed = false; boolean readMethod = true; String language = null; String translated = null; switch (type) { case PngConstants.tEXt: break; case PngConstants.zTXt: compressed = true; break; case PngConstants.iTXt: enc = UTF_8; int flag = data.readByte(); int method = data.readByte(); if (flag == 1) { compressed = true; readMethod = false; if (method != 0) throw new PngException("Unrecognized " + PngConstants.getChunkName(type) + " compression method: " + method, false); } else if (flag != 0) { throw new PngException("Illegal " + PngConstants.getChunkName(type) + " compression flag: " + flag, false); } language = readString(data, data.available(), US_ASCII); // TODO: split language on hyphens, check that each component is 1-8 characters translated = readString(data, data.available(), UTF_8); // TODO: check for line breaks? } String text; if (compressed) { text = new String(readCompressed(data, data.available(), readMethod), enc); } else { text = new String(bytes, bytes.length - data.available(), data.available(), enc); } if (text.indexOf('\0') >= 0) throw new PngException("Text value contains null", false); List chunks = (List)png.getProperty(PngConstants.TEXT_CHUNKS, List.class, false); if (chunks == null) props.put(PngConstants.TEXT_CHUNKS, chunks = new ArrayList()); chunks.add(new TextChunkImpl(keyword, text, language, translated, type)); } private static void read_gIFg(DataInput in, int length, Map props) throws IOException { checkLength(PngConstants.gIFg, length, 4); int disposalMethod = in.readUnsignedByte(); int userInputFlag = in.readUnsignedByte(); int delayTime = in.readUnsignedShort(); props.put(PngConstants.GIF_DISPOSAL_METHOD, Integers.valueOf(disposalMethod)); props.put(PngConstants.GIF_USER_INPUT_FLAG, Integers.valueOf(userInputFlag)); props.put(PngConstants.GIF_DELAY_TIME, Integers.valueOf(delayTime)); } private static void read_oFFs(DataInput in, int length, Map props) throws IOException { checkLength(PngConstants.oFFs, length, 9); int x = in.readInt(); int y = in.readInt(); int unit = in.readByte(); if (unit != PngConstants.POSITION_UNIT_PIXEL && unit != PngConstants.POSITION_UNIT_MICROMETER) throw new PngException("Illegal oFFs chunk unit specifier: " + unit, false); props.put(PngConstants.POSITION_X, Integers.valueOf(x)); props.put(PngConstants.POSITION_Y, Integers.valueOf(y)); props.put(PngConstants.POSITION_UNIT, Integers.valueOf(unit)); } private static void read_sCAL(DataInput in, int length, Map props) throws IOException { byte[] bytes = new byte[length]; in.readFully(bytes); DataInputStream data = new DataInputStream(new ByteArrayInputStream(bytes)); int unit = data.readByte(); if (unit != PngConstants.SCALE_UNIT_METER && unit != PngConstants.SCALE_UNIT_RADIAN) throw new PngException("Illegal sCAL chunk unit specifier: " + unit, false); double width = readFloatingPoint(data, data.available()); double height = readFloatingPoint(data, data.available()); if (width <= 0 || height <= 0) throw new PngException("sCAL measurements must be >= 0", false); props.put(PngConstants.SCALE_UNIT, Integers.valueOf(unit)); props.put(PngConstants.PIXEL_WIDTH, new Double(width)); props.put(PngConstants.PIXEL_HEIGHT, new Double(height)); } private static void read_sTER(DataInput in, int length, Map props) throws IOException { checkLength(PngConstants.sTER, length, 1); int mode = in.readByte(); switch (mode) { case PngConstants.STEREO_MODE_CROSS: case PngConstants.STEREO_MODE_DIVERGING: props.put(PngConstants.STEREO_MODE, Integers.valueOf(mode)); break; default: throw new PngException("Unknown sTER mode: " + mode, false); } } public static void checkLength(int chunk, int length, int correct) throws PngException { if (length != correct) throw new PngException("Bad " + PngConstants.getChunkName(chunk) + " chunk length: " + length + " (expected " + correct + ")", true); } private static byte[] readCompressed(DataInput in, int length, boolean readMethod) throws IOException { if (readMethod) { int method = in.readByte(); if (method != 0) throw new PngException("Unrecognized compression method: " + method, false); length--; } byte[] data = new byte[length]; in.readFully(data); byte[] tmp = new byte[0x1000]; ByteArrayOutputStream out = new ByteArrayOutputStream(); Inflater inf = new Inflater(); inf.reset(); inf.setInput(data, 0, length); try { while (!inf.needsInput()) { out.write(tmp, 0, inf.inflate(tmp)); } } catch (DataFormatException e) { throw new PngException("Error reading compressed data", e, false); } return out.toByteArray(); } private static String readString(DataInput in, int limit, String enc) throws IOException { return new String(readToNull(in, limit), enc); } private static String readKeyword(DataInput in, int limit) throws IOException { String keyword = readString(in, limit, ISO_8859_1); if (keyword.length() == 0 || keyword.length() > 79) throw new PngException("Invalid keyword length: " + keyword.length(), false); return keyword; } // TODO: performance private static byte[] readToNull(DataInput in, int limit) throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(); for (int i = 0; i < limit; i++) { int c = in.readUnsignedByte(); if (c == 0) return out.toByteArray(); out.write(c); } return out.toByteArray(); } private static double readFloatingPoint(DataInput in, int limit) throws IOException { String s = readString(in, limit, "US-ASCII"); int e = Math.max(s.indexOf('e'), s.indexOf('E')); double d = Double.valueOf(s.substring(0, (e < 0 ? s.length() : e))).doubleValue(); if (e >= 0) d *= Math.pow(10d, Double.valueOf(s.substring(e + 1)).doubleValue()); return d; } } javapng-2.0/src/test/0000755000175000017500000000000011755244626014473 5ustar paulliupaulliujavapng-2.0/src/test/BrokenGenerator.java0000644000175000017500000007030110646327622020422 0ustar paulliupaulliuimport java.io.*; import java.util.*; import java.util.zip.*; import org.apache.tools.bzip2.CBZip2OutputStream; public class BrokenGenerator { private static final int IHDR = 0x49484452; private static final int PLTE = 0x504c5445; private static final int IDAT = 0x49444154; private static final int IEND = 0x49454e44; private static final int bKGD = 0x624b4744; private static final int cHRM = 0x6348524d; private static final int gAMA = 0x67414d41; private static final int hIST = 0x68495354; private static final int iCCP = 0x69434350; private static final int iTXt = 0x69545874; private static final int pHYs = 0x70485973; private static final int sBIT = 0x73424954; private static final int sPLT = 0x73504c54; private static final int sRGB = 0x73524742; private static final int tEXt = 0x74455874; private static final int tIME = 0x74494d45; private static final int tRNS = 0x74524e53; private static final int zTXt = 0x7a545874; private static final int oFFs = 0x6f464673; private static final int pCAL = 0x7043414c; private static final int sCAL = 0x7343414c; private static final int gIFg = 0x67494667; private static final int gIFx = 0x67494678; private static final int sTER = 0x73544552; // private types private static final int heRB = 0x68655242; // bad types private static final int GaMA = 0x47614d41; private static final int gAM_ = 0x67614d5f; public static void main(String[] args) throws Exception { gen("suite/basn3p08.png", "broken/missing_ihdr.png", swap(IHDR, gAMA)); gen("suite/basn3p08.png", "broken/missing_idat.png", remove(find(IDAT))); gen("suite/basn3p08.png", "broken/missing_plte.png", remove(find(PLTE))); gen("suite/tbbn3p08.png", "broken/missing_plte_2.png", remove(find(PLTE))); gen("suite/basn3p08.png", "broken/chunk_private_critical.png", setType(find(gAMA), GaMA)); gen("suite/basn3p08.png", "broken/chunk_type.png", setType(find(gAMA), gAM_)); gen("suite/basn3p08.png", "broken/chunk_crc.png", setCRC(find(IHDR), 0x12345678)); gen("suite/basn3p08.png", "broken/chunk_length.png", setLength(find(gAMA), -20, false)); gen("suite/basn3p08.png", "broken/nonconsecutive_idat.png", addAfter(find(IDAT), new Chunk(heRB, new byte[0])), addAfter(find(heRB), find(IDAT))); gen("suite/basn3p08.png", "broken/multiple_gama.png", duplicate(gAMA)); gen("suite/basn3p08.png", "broken/multiple_plte.png", duplicate(PLTE)); gen("suite/basn3p08.png", "broken/multiple_ihdr.png", duplicate(IHDR)); gen("suite/ccwn2c08.png", "broken/multiple_chrm.png", duplicate(cHRM)); gen("suite/cs5n2c08.png", "broken/multiple_sbit.png", duplicate(sBIT)); gen("suite/bggn4a16.png", "broken/multiple_bkgd.png", duplicate(bKGD)); gen("suite/ch1n3p04.png", "broken/multiple_hist.png", duplicate(hIST)); gen("suite/tbbn1g04.png", "broken/multiple_trns.png", duplicate(tRNS)); gen("suite/cdun2c08.png", "broken/multiple_phys.png", duplicate(pHYs)); gen("suite/cm0n0g04.png", "broken/multiple_time.png", duplicate(tIME)); gen("misc/iccp-cc99ff.png", "broken/multiple_iccp.png", duplicate(iCCP)); gen("misc/srgb-cc99ff.png", "broken/multiple_srgb.png", duplicate(sRGB)); gen("misc/pngtest.png", "broken/multiple_offs.png", duplicate(oFFs)); gen("misc/pngtest.png", "broken/multiple_pcal.png", duplicate(pCAL)); gen("misc/pngtest.png", "broken/multiple_scal.png", duplicate(sCAL)); gen("suite/basn3p08.png", "broken/multiple_ster.png", addAfter(find(IHDR), new Chunk(sTER, new byte[]{ 0 })), duplicate(sTER)); gen("suite/ch1n3p04.png", "broken/hist_before_plte.png", swap(hIST, PLTE)); gen("suite/ccwn3p08.png", "broken/chrm_after_plte.png", swap(cHRM, PLTE)); gen("suite/basn3p02.png", "broken/sbit_after_plte.png", swap(sBIT, PLTE)); gen("suite/basn3p08.png", "broken/gama_after_plte.png", swap(gAMA, PLTE)); gen("misc/srgb-cc99ff.png", "broken/srgb_after_plte.png", swap(sRGB, PLTE)); gen("misc/iccp-cc99ff.png", "broken/iccp_after_plte.png", swap(iCCP, PLTE)); gen("suite/basn3p08.png", "broken/plte_after_idat.png", swap(PLTE, IDAT)); gen("suite/basn0g01.png", "broken/gama_after_idat.png", swap(gAMA, IDAT)); gen("suite/basn3p08.png", "broken/ster_after_idat.png", addAfter(find(IDAT), new Chunk(sTER, new byte[]{ 0 }))); gen("suite/ccwn2c08.png", "broken/chrm_after_idat.png", swap(cHRM, IDAT)); gen("suite/cs5n2c08.png", "broken/sbit_after_idat.png", swap(sBIT, IDAT)); gen("suite/bggn4a16.png", "broken/bkgd_after_idat.png", swap(bKGD, IDAT)); gen("suite/ch1n3p04.png", "broken/hist_after_idat.png", swap(hIST, IDAT)); gen("suite/tbbn1g04.png", "broken/trns_after_idat.png", swap(tRNS, bKGD), swap(tRNS, IDAT)); gen("suite/cdun2c08.png", "broken/phys_after_idat.png", swap(pHYs, IDAT)); gen("misc/ps2n2c16.png", "broken/splt_after_idat.png", swap(sPLT, IDAT)); gen("misc/pngtest.png", "broken/offs_after_idat.png", swap(oFFs, zTXt)); gen("misc/pngtest.png", "broken/pcal_after_idat.png", swap(pCAL, zTXt)); gen("misc/pngtest.png", "broken/scal_after_idat.png", swap(sCAL, zTXt)); gen("suite/basn0g01.png", "broken/length_sbit_2.png", addAfter(find(IHDR), extract("suite/basn3p02.png", sBIT))); gen("suite/basn2c08.png", "broken/iccp_after_idat.png", remove(find(gAMA)), addAfter(find(IDAT), extract("misc/ntsciccp.png", iCCP))); gen("suite/basn2c08.png", "broken/srgb_after_idat.png", remove(find(gAMA)), addAfter(find(IDAT), extract("misc/srgbsrgb.png", sRGB))); gen("suite/basn3p08.png", "broken/ihdr_image_size.png", replaceHeader(-32, -32, 8, 3, 0, 0, 0)); gen("suite/basn3p08.png", "broken/ihdr_bit_depth.png", replaceHeader(32, 32, 7, 3, 0, 0, 0)); gen("suite/basn3p08.png", "broken/ihdr_color_type.png", replaceHeader(32, 32, 8, 1, 0, 0, 0)); gen("suite/basn3p08.png", "broken/ihdr_16bit_palette.png", replaceHeader(32, 32, 16, 3, 0, 0, 0)); gen("suite/basn6a08.png", "broken/ihdr_1bit_alpha.png", replaceHeader(32, 32, 1, 6, 0, 0, 0)); gen("suite/basn3p08.png", "broken/ihdr_compression_method.png", replaceHeader(32, 32, 8, 3, 1, 0, 0)); gen("suite/basn3p08.png", "broken/ihdr_filter_method.png", replaceHeader(32, 32, 8, 3, 0, 1, 0)); gen("suite/basn3p08.png", "broken/ihdr_interlace_method.png", replaceHeader(32, 32, 8, 3, 0, 0, 2)); gen("suite/basn3p08.png", "broken/private_compression_method.png", replaceHeader(32, 32, 8, 3, 128, 0, 0), BZIP2); gen("suite/basn3p08.png", "broken/private_filter_method.png", replaceHeader(32, 32, 8, 3, 0, 128, 0)); gen("suite/basn3p08.png", "broken/private_interlace_method.png", replaceHeader(32, 32, 8, 3, 0, 0, 128)); gen("suite/basn0g01.png", "broken/private_filter_type.png", changeDataByte(0, 128)); gen("suite/basn3p08.png", "broken/plte_length_mod_three.png", replace(find(PLTE), new Chunk(PLTE, new byte[2]))); gen("suite/basn3p08.png", "broken/plte_empty.png", replace(find(PLTE), new Chunk(PLTE, new byte[0]))); gen("suite/basn3p04.png", "broken/plte_too_many_entries.png", replace(find(PLTE), new Chunk(PLTE, new byte[17 * 3]))); gen("suite/basn2c08.png", "broken/plte_too_many_entries_2.png", addAfter(find(gAMA), new Chunk(PLTE, new byte[257 * 3]))); gen("suite/basn0g08.png", "broken/plte_in_grayscale.png", addAfter(find(gAMA), new Chunk(PLTE, new byte[3]))); Chunk trns = extract("suite/tbbn1g04.png", tRNS); gen("suite/basn6a08.png", "broken/trns_bad_color_type.png", addAfter(find(gAMA), trns)); gen("suite/tp1n3p08.png", "broken/trns_too_many_entries.png", replace(find(tRNS), new Chunk(tRNS, new byte[200]))); gen("suite/f01n2c08.png", "broken/gama_zero.png", addAfter(find(IHDR), new Chunk(gAMA, new byte[4]))); // example of scal chunk without exponent gen("misc/pngtest.png", "misc/scal_no_exp.png", changeByte(find(sCAL), 15, (byte)'0'), changeByte(find(sCAL), 16, (byte)'0')); gen("suite/basn3p08.png", "misc/herbio.png", addAfter(find(IHDR), createPrivateChunk())); gen("suite/f01n2c08.png", "misc/itxt_valid.png", addAfter(find(IHDR), createIntlText("Vegetable", 0, 0, "en-us", "", "Cucumber"))); gen("suite/f01n2c08.png", "misc/itxt_compress.png", addAfter(find(IHDR), createIntlText("Author", 1, 0, "sv-sw", "f\u00f6rfattare", "Christopher J. N\u00f6kleberg"))); gen("suite/f01n2c08.png", "broken/itxt_compression_flag.png", addAfter(find(IHDR), createIntlText("Vegetable", 2, 0, "en-us", "", "Cucumber"))); gen("suite/f01n2c08.png", "broken/itxt_compression_method.png", addAfter(find(IHDR), createIntlText("Vegetable", 1, 1, "en-us", "", "Cucumber"))); gen("suite/f01n2c08.png", "broken/itxt_keyword_length.png", addAfter(find(IHDR), createIntlText("", 0, 0, "en-us", "", "Cucumber"))); gen("suite/f01n2c08.png", "broken/itxt_keyword_length_2.png", addAfter(find(IHDR), createIntlText("01234567890123456789012345678901234567890123456789012345678901234567890123456789", 0, 0, "en-us", "", "Cucumber"))); gen("misc/pngtest.png", "broken/scal_floating_point.png", changeByte(find(sCAL), 1, (byte)'Q')); gen("misc/pngtest.png", "broken/scal_unit_specifier.png", changeByte(find(sCAL), 0, 3)); gen("suite/basn3p08.png", "broken/scal_zero.png", addAfter(find(IHDR), new Chunk(sCAL, new byte[]{ 1, '0', 0, '0'}))); gen("suite/basn3p08.png", "broken/scal_negative.png", addAfter(find(IHDR), new Chunk(sCAL, new byte[]{ 1, '1', 0, '-', '1'}))); gen("suite/cdun2c08.png", "broken/phys_unit_specifier.png", changeByte(find(pHYs), 8, 2)); gen("misc/pngtest.png", "broken/offs_unit_specifier.png", changeByte(find(oFFs), 8, 2)); gen("suite/cs5n2c08.png", "broken/sbit_sample_depth.png", changeByte(find(sBIT), 0, -1)); gen("suite/cs5n2c08.png", "broken/sbit_sample_depth_2.png", changeByte(find(sBIT), 0, 9)); gen("suite/basn3p08.png", "broken/ster_mode.png", addAfter(find(IHDR), new Chunk(sTER, new byte[]{ 2 }))); gen("suite/basn3p08.png", "broken/splt_sample_depth.png", addAfter(find(IHDR), createSuggestedPalette("Bad suggestion", 4, new byte[0]))); gen("suite/basn3p08.png", "broken/splt_length_mod_6.png", addAfter(find(IHDR), createSuggestedPalette("Bad suggestion", 8, new byte[10]))); gen("suite/basn3p08.png", "broken/splt_length_mod_10.png", addAfter(find(IHDR), createSuggestedPalette("Bad suggestion", 16, new byte[6]))); Chunk suggested = createSuggestedPalette("Lemonade", 8, new byte[0]); gen("suite/basn3p08.png", "broken/splt_duplicate_name.png", addAfter(find(IHDR), suggested), addAfter(find(IHDR), suggested)); gen("suite/cm0n0g04.png", "broken/time_value_range.png", changeByte(find(tIME), 2, 0)); gen("suite/basn3p08.png", "broken/length_ihdr.png", setLength(find(IHDR), 14)); gen("suite/basn3p08.png", "broken/length_iend.png", setLength(find(IEND), 1)); gen("suite/basn3p08.png", "broken/length_ster.png", addAfter(find(IHDR), new Chunk(sTER, new byte[]{ 0, 0 }))); gen("misc/srgb-cc99ff.png", "broken/length_srgb.png", setLength(find(sRGB), 2)); gen("suite/basn3p08.png", "broken/length_gama.png", setLength(find(gAMA), 3)); gen("suite/cdun2c08.png", "broken/length_phys.png", setLength(find(pHYs), 8)); gen("suite/cm0n0g04.png", "broken/length_time.png", setLength(find(tIME), 6)); gen("misc/pngtest.png", "broken/length_offs.png", setLength(find(oFFs), 8)); gen("suite/ccwn2c08.png", "broken/length_chrm.png", setLength(find(cHRM), 31)); gen("suite/ch1n3p04.png", "broken/length_hist.png", setLength(find(hIST), 28)); gen("suite/basn3p02.png", "broken/length_sbit.png", setLength(find(sBIT), 4)); gen("suite/tbbn1g04.png", "broken/length_trns_gray.png", setLength(find(tRNS), 0)); gen("suite/tbrn2c08.png", "broken/length_trns_rgb.png", setLength(find(tRNS), 0)); gen("suite/tbbn3p08.png", "broken/length_trns_palette.png", setLength(find(tRNS), 174)); gen("misc/anigif.png", "broken/length_gifg.png", setLength(find(gIFg), 5)); gen("suite/bgbn4a08.png", "broken/length_bkgd_gray.png", setLength(find(bKGD), 6)); gen("suite/bgwn6a08.png", "broken/length_bkgd_rgb.png", setLength(find(bKGD), 2)); gen("suite/tbbn3p08.png", "broken/length_bkgd_palette.png", setLength(find(bKGD), 6)); gen("suite/ctzn0g04.png", "broken/ztxt_compression_method.png", changeByte(find(zTXt), 10, 3)); gen("suite/ctzn0g04.png", "broken/ztxt_data_format.png", changeByte(find(zTXt), 11, 3)); gen("suite/ct1n0g04.png", "broken/text_trailing_null.png", append(find(tEXt), new byte[1])); gen("suite/basn3p08.png", "broken/truncate_zlib.png", truncate(find(IDAT), 20)); gen("misc/pngtest.png", "broken/truncate_zlib_2.png", truncate(find(IDAT), 6000)); gen("suite/basn0g01.png", "broken/truncate_idat_0.png", setDataLength(0)); gen("suite/basn0g01.png", "broken/truncate_idat_1.png", setDataLength(1)); gen("suite/basn0g01.png", "broken/unknown_filter_type.png", changeDataByte(0, 5)); } private static void gen(String src, String dst, Processor... processors) throws IOException { List chunks = readChunks(new File(src)); for (Processor p : processors) p.process(chunks); writeChunks(new File(dst), chunks); } private static Processor append(final Query q, final byte[] append) { return new Processor(){ public void process(List chunks) throws IOException { Chunk chunk = q.query(chunks); byte[] data = new byte[chunk.length + append.length]; System.arraycopy(chunk.data, 0, data, 0, chunk.length); System.arraycopy(append, 0, data, chunk.length, append.length); chunk.data = data; chunk.length = data.length; chunk.crc = crc(chunk.type, chunk.data); } }; } private static Processor setDataLength(final int length) { return new DataProcessor(){ public byte[] process(byte[] data) { byte[] replace = new byte[length]; System.arraycopy(data, 0, replace, 0, length); return replace; } }; } private static final Processor BZIP2 = new DataProcessor(){ @Override protected byte[] compress(byte[] data) throws IOException { ByteArrayInputStream in = new ByteArrayInputStream(data); ByteArrayOutputStream baos = new ByteArrayOutputStream(); OutputStream out = new CBZip2OutputStream(baos); pipe(in, out, new byte[0x2000]); out.close(); return baos.toByteArray(); } public byte[] process(byte[] data) { return data; } }; private static Processor changeDataByte(final int offset, final int value) { return new DataProcessor(){ public byte[] process(byte[] data) { data[offset] = (byte)value; return data; } }; } private static Processor changeByte(final Query q, final int offset, final int value) { return new Processor(){ public void process(List chunks) throws IOException { Chunk chunk = q.query(chunks); chunk.data[offset] = (byte)value; chunk.crc = crc(chunk.type, chunk.data); } }; } private static Processor replaceHeader(int width, int height, int bitDepth, int colorType, int compression, int filter, int interlace) throws IOException { return replace(find(IHDR), createHeader(width, height, bitDepth, colorType, compression, filter, interlace)); } private static Chunk extract(String src, int type) throws IOException { return find(type).query(readChunks(new File(src))); } private static Processor swap(int t1, int t2) { return swap(find(t1), find(t2)); } private static Processor duplicate(int type) { return addAfter(find(type), find(type)); } private static Processor replace(final Query oldChunk, final Query newChunk) { return new Processor(){ public void process(List chunks) { chunks.set(chunks.indexOf(oldChunk.query(chunks)), newChunk.query(chunks)); } }; } private static Processor addAfter(final Query after, final Query chunk) { return new Processor(){ public void process(List chunks) { chunks.add(chunks.indexOf(after.query(chunks)) + 1, chunk.query(chunks)); } }; } private static Processor setLength(Query q, int length) { return setLength(q, length, true); } private static Processor setLength(final Query q, final int length, final boolean consistent) { return new Processor(){ public void process(List chunks) throws IOException { Chunk chunk = q.query(chunks); chunk.length = length; if (consistent) { byte[] data = new byte[length]; System.arraycopy(chunk.data, 0, data, 0, Math.min(data.length, chunk.data.length)); chunk.data = data; chunk.crc = crc(chunk.type, data); } } }; } private static Processor setCRC(final Query q, final int crc) { return new Processor(){ public void process(List chunks) { q.query(chunks).crc = crc; } }; } private static Processor setType(final Query q, final int type) { return new Processor(){ public void process(List chunks) throws IOException { Chunk chunk = q.query(chunks); chunk.type = type; chunk.crc = crc(type, chunk.data); } }; } private static Processor remove(final Query q) { return new Processor(){ public void process(List chunks) { chunks.remove(q.query(chunks)); } }; } private static Processor swap(final Query q1, final Query q2) { return new Processor(){ public void process(List chunks) { Collections.swap(chunks, chunks.indexOf(q1.query(chunks)), chunks.indexOf(q2.query(chunks))); } }; } private static Processor truncate(final Query q, final int offset) { return new Processor(){ public void process(List chunks) { Chunk chunk = q.query(chunks); int index = chunks.indexOf(chunk); while (chunks.size() > index) chunks.remove(index); byte[] data = new byte[offset]; System.arraycopy(chunk.data, 0, data, 0, offset); Chunk replace = new Chunk(chunk.type, data, chunk.crc); replace.length = chunk.length; chunks.add(replace); } }; } private static Query find(int type) { return find(type, 0); } private static Query find(final int type, final int index) { return new Query(){ public Chunk query(List chunks) { int count = 0; for (Chunk chunk : chunks) { if (chunk.type == type && index == count++) return chunk; } return null; } }; } abstract private static class DataProcessor implements Processor { public void process(List chunks) throws IOException { List dataList = new ArrayList(); int length = 0; int index = chunks.indexOf(find(IDAT).query(chunks)); for (Iterator it = chunks.iterator(); it.hasNext();) { Chunk chunk = it.next(); if (chunk.type == IDAT) { it.remove(); dataList.add(chunk.data); length += chunk.length; } } byte[] concat = new byte[length]; int pos = 0; for (byte[] data : dataList) { System.arraycopy(data, 0, concat, pos, data.length); pos += data.length; } concat = compress(process(decompress(concat))); chunks.add(index, new Chunk(IDAT, concat, crc(IDAT, concat))); } protected byte[] decompress(byte[] data) throws IOException { return inflate(data); } protected byte[] compress(byte[] data) throws IOException { return deflate(data); } abstract public byte[] process(byte[] data); } private static byte[] inflate(byte[] data) throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(); pipe(new InflaterInputStream(new ByteArrayInputStream(data)), out, new byte[0x2000]); return out.toByteArray(); } private static byte[] deflate(byte[] data) throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(); DeflaterOutputStream defl = new DeflaterOutputStream(out); pipe(new ByteArrayInputStream(data), defl, new byte[0x2000]); defl.close(); return out.toByteArray(); } private static void pipe(InputStream in, OutputStream out, byte[] buf) throws IOException { for (;;) { int amt = in.read(buf); if (amt < 0) break; out.write(buf, 0, amt); } } private interface Query { Chunk query(List chunks); } private interface Processor { void process(List chunks) throws IOException; } private static class Chunk implements Query { public int type; public byte[] data; public int crc; public int length; public Chunk(int type, byte[] data) throws IOException { this(type, data, crc(type, data)); } public Chunk(int type, byte[] data, int crc) { this.type = type; this.data = data; this.crc = crc; this.length = data.length; } public Chunk query(List chunks) { return this; } public String toString() { return "Chunk" + "(type=" + type + ",len=" + length + ",actual=" + data.length + ",crc=" + crc + ")"; } } private static int crc(int type, byte[] bytes) throws IOException { CheckedOutputStream checked = new CheckedOutputStream(new NullOutputStream(), new CRC32()); DataOutputStream data = new DataOutputStream(checked); data.writeInt(type); data.write(bytes); data.flush(); return (int)checked.getChecksum().getValue(); } private static List readChunks(File src) throws IOException { List chunks = new ArrayList(); FileInputStream in = new FileInputStream(src); try { DataInputStream data = new DataInputStream(new BufferedInputStream(in)); data.readLong(); // signature int type; do { byte[] bytes = new byte[data.readInt()]; type = data.readInt(); data.readFully(bytes); int crc = data.readInt(); chunks.add(new Chunk(type, bytes, crc)); } while (type != IEND); return chunks; } finally { in.close(); } } private static void writeChunks(File dst, List chunks) throws IOException { FileOutputStream out = new FileOutputStream(dst); try { DataOutputStream data = new DataOutputStream(out); data.writeLong(0x89504E470D0A1A0AL); for (Chunk chunk : chunks) { data.writeInt(chunk.length); data.writeInt(chunk.type); data.write(chunk.data); data.writeInt(chunk.crc); } data.flush(); } finally { out.close(); } } private static class NullOutputStream extends OutputStream { public void write(int b) { } public void write(byte[] b) { } public void write(byte[] b, int off, int len) { } } private static Chunk createHeader(int width, int height, int bitDepth, int colorType, int compression, int filter, int interlace) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream data = new DataOutputStream(baos); data.writeInt(width); data.writeInt(height); data.writeByte((byte)bitDepth); data.writeByte((byte)colorType); data.writeByte((byte)compression); data.writeByte((byte)filter); data.writeByte((byte)interlace); data.flush(); return new Chunk(IHDR, baos.toByteArray()); } private static Chunk createIntlText(String keyword, int compressionFlag, int compressionMethod, String languageTag, String translatedKeyword, String text) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream data = new DataOutputStream(baos); data.write(keyword.getBytes("ISO-8859-1")); data.writeByte(0); data.writeByte(compressionFlag); data.writeByte(compressionMethod); data.write(languageTag.getBytes("US-ASCII")); data.writeByte(0); data.write(translatedKeyword.getBytes("UTF-8")); data.writeByte(0); if (compressionFlag == 1) { DeflaterOutputStream deflater = new DeflaterOutputStream(data); deflater.write(text.getBytes("UTF-8")); deflater.finish(); } else { data.write(text.getBytes("UTF-8")); } data.flush(); return new Chunk(iTXt, baos.toByteArray()); } private static Chunk createSuggestedPalette(String keyword, int sampleDepth, byte[] bytes) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream data = new DataOutputStream(baos); data.write(keyword.getBytes("ISO-8859-1")); data.writeByte(0); data.writeByte((byte)sampleDepth); data.write(bytes); data.flush(); return new Chunk(sPLT, baos.toByteArray()); } private static Chunk createPrivateChunk() throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream data = new DataOutputStream(baos); data.writeBoolean(true); data.writeBoolean(false); data.writeByte((byte)250); data.writeByte((byte)250); data.writeShort((short)50000); data.writeShort((short)50000); data.writeChar('Z'); data.writeFloat((float)Math.PI); data.writeDouble(Math.PI); data.writeBytes("Chris\n"); data.writeUTF("Nokleberg"); data.writeInt(2000000000); data.flush(); return new Chunk(heRB, baos.toByteArray()); } } javapng-2.0/src/test/com/0000755000175000017500000000000011755244626015251 5ustar paulliupaulliujavapng-2.0/src/test/com/sixlegs/0000755000175000017500000000000011755244626016727 5ustar paulliupaulliujavapng-2.0/src/test/com/sixlegs/png/0000755000175000017500000000000011755244626017513 5ustar paulliupaulliujavapng-2.0/src/test/com/sixlegs/png/TestData.java0000644000175000017500000000717410646275030022067 0ustar paulliupaulliupackage com.sixlegs.png; import java.awt.Color; import java.awt.Graphics2D; import java.awt.AlphaComposite; import java.awt.image.*; import java.io.*; import java.security.MessageDigest; import junit.framework.*; public class TestData extends PngTestCase { public void testImages() throws Exception { BufferedImage argb = new BufferedImage(800, 600, BufferedImage.TYPE_INT_ARGB); Raster raster = argb.getRaster(); int[] data = new int[800 * 600]; byte[] pixbuf = new byte[4]; PngConfig config = new PngConfig.Builder().warningsFatal(true).build(); MessageDigest md5 = MessageDigest.getInstance("MD5"); BufferedReader r = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/images.txt"))); boolean fail = false; String line; while ((line = r.readLine()) != null) { line = line.trim(); if (line.equals("") || line.startsWith("#")) continue; int space = line.indexOf(' '); String name = line.substring(0, space).trim(); String result = line.substring(space + 1).trim(); try { InputStream in = getClass().getResourceAsStream(name); if (in == null) fail("Cannot find image \"" + name + "\""); BufferedImage image = new PngImage(config).read(in, true); Graphics2D g = argb.createGraphics(); g.setPaint(new Color(255, 255, 255, 0)); g.setComposite(AlphaComposite.Src); g.fillRect(0, 0, argb.getWidth(), argb.getHeight()); g.drawImage(image, null, 0, 0); raster.getDataElements(0, 0, image.getWidth(), image.getHeight(), data); for (int i = 0, y = 0, h = image.getHeight(); y < h; y++) { for (int x = 0, w = image.getWidth(); x < w; x++, i++) { int pixel = data[i]; pixbuf[3] = (byte)(0xFF & pixel); pixbuf[2] = (byte)(0xFF & (pixel >>> 8)); pixbuf[1] = (byte)(0xFF & (pixel >>> 16)); pixbuf[0] = (byte)(0xFF & (pixel >>> 24)); // if (i < 10) // System.err.println("pixel " + i + " = [" + (0xFF&pixbuf[1]) + "," + (0xFF&pixbuf[2]) + "," + (0xFF&pixbuf[3]) + "," + (0xFF&pixbuf[0]) + "]"); md5.update(pixbuf); } } String hash = toHexString(md5.digest()); if (!result.equals(hash)) { System.err.println("Expected digest 0x" + result + " for image " + name + ", got 0x" + hash); fail = true; } } catch (Exception e) { if (!result.equals(e.getMessage())) { System.err.println("Caught exception while processing image " + name + ":"); e.printStackTrace(System.err); fail = true; } } } if (fail) fail("Failures detected."); } private static String toHexString(byte[] b) { StringBuffer hex = new StringBuffer(2 * b.length); for (int i = 0; i < b.length; i++) { byte n = b[i]; if (n >= 0 && n <= 15) hex.append("0"); hex.append(Integer.toHexString(0xFF & n)); } return hex.toString().toUpperCase(); } public TestData(String name) { super(name); } public static Test suite() { return getSuite(TestData.class); } } javapng-2.0/src/test/com/sixlegs/png/TestPngSuite.java0000644000175000017500000000175410646275030022752 0ustar paulliupaulliupackage com.sixlegs.png; import java.io.*; import junit.framework.*; public class TestPngSuite extends PngTestCase { public void testRead() throws Exception { long t = System.currentTimeMillis(); new SuiteViewer().render(false); t = System.currentTimeMillis() - t; System.err.println("Read PngSuite in " + t + " ms"); } public void testNoReduce() throws Exception { PngConfig config = new PngConfig.Builder() .gammaCorrect(false) .reduce16(false) .build(); new SuiteViewer(config).render(false); } public void testConvertIndexed() throws Exception { PngConfig config = new PngConfig.Builder() .convertIndexed(true) .build(); new SuiteViewer(config).render(false); } public TestPngSuite(String name) { super(name); } public static Test suite() { return getSuite(TestPngSuite.class); } } javapng-2.0/src/test/com/sixlegs/png/iio/0000755000175000017500000000000011755244626020273 5ustar paulliupaulliujavapng-2.0/src/test/com/sixlegs/png/iio/TestNativeMetadata.java0000644000175000017500000000144610646275030024661 0ustar paulliupaulliupackage com.sixlegs.png.iio; import junit.framework.Test; import java.awt.image.BufferedImage; import java.io.*; import javax.imageio.*; import javax.imageio.metadata.*; import javax.imageio.stream.ImageInputStream; import org.w3c.dom.*; // Tests the native metadata format javax_imageio_png_1.0 // by comparing it to Sun's implementation public class TestNativeMetadata extends MetadataTestCase { public static Test suite() throws Exception { return createSuite(TestNativeMetadata.class); } public TestNativeMetadata(String name) { super(name); } protected String getFormatName() { return "javax_imageio_png_1.0"; } protected Node getSunsTree() throws Exception { return sunIR.getImageMetadata(0).getAsTree("javax_imageio_png_1.0"); } } javapng-2.0/src/test/com/sixlegs/png/iio/TestStandardMetadata.java0000644000175000017500000000122410646275030025165 0ustar paulliupaulliupackage com.sixlegs.png.iio; import javax.imageio.metadata.IIOMetadataFormatImpl; import javax.imageio.metadata.IIOMetadata; import junit.framework.Test; import org.w3c.dom.*; public class TestStandardMetadata extends MetadataTestCase { public static Test suite() throws Exception { return createSuite(TestStandardMetadata.class); } public TestStandardMetadata(String name) { super(name); } protected String getFormatName() { return IIOMetadataFormatImpl.standardMetadataFormatName; } protected Node getSunsTree() throws Exception { return sunIR.getImageMetadata(0).getAsTree("javax_imageio_1.0"); } } javapng-2.0/src/test/com/sixlegs/png/iio/MetadataTestCase.java0000644000175000017500000001215010646275030024300 0ustar paulliupaulliupackage com.sixlegs.png.iio; import java.awt.image.BufferedImage; import javax.imageio.metadata.*; import junit.framework.Test; import org.w3c.dom.*; import com.megginson.sax.DataWriter; import org.xml.sax.helpers.AttributesImpl; abstract public class MetadataTestCase extends IIOTestCase { public MetadataTestCase(String name) { super(name); } protected abstract Node getSunsTree() throws Exception; protected void test(String name, PngImageReader ir, BufferedImage bi) throws Exception { System.out.print("================== "); System.out.println(name); System.out.println(""); IIOMetadata iiom = ir.getImageMetadata(0); Node n = iiom.getAsTree(getFormatName()); writeNode(n); java.io.PrintStream stderr = System.err; System.setErr(System.out); Node sunTree = null; try { sunTree = getSunsTree(); } catch (Exception e) { System.out.println("Exception getting Sun's tree, no comparison will be done:"); e.printStackTrace(System.out); } finally { System.setErr(stderr); } if (sunTree != null && compare(n, sunTree) == false) { System.out.println(">>>>>>>> Sun's is different! <<<<<<<<"); System.out.println(""); writeNode(sunTree); fail("Sun's metadata is different."); } System.out.println(""); } protected void writeNode(Node n) throws Exception { DataWriter dw = new DataWriter(); dw.setIndentStep(4); dw.startDocument(); writeNode(dw, n); dw.endDocument(); } abstract protected String getFormatName(); private void writeNode(DataWriter dw, Node n) throws Exception { AttributesImpl attr = new AttributesImpl(); NamedNodeMap map = n.getAttributes(); if (map != null) { int len = map.getLength(); for (int i=0; i 0) ? Integer.parseInt(args[0]) : 1; BufferedReader r = new BufferedReader(new InputStreamReader(System.in)); List list = new ArrayList(); String line; while ((line = r.readLine()) != null) list.add(new File(line)); File[] files = (File[])list.toArray(new File[list.size()]); benchmark(files, loop, TOOLKIT, " Toolkit"); benchmark(files, loop, IMAGEIO, " ImageIO"); benchmark(files, loop, SIXLEGS1, "Sixlegs1"); benchmark(files, loop, SIXLEGS2, "Sixlegs2"); } private static void benchmark(File[] files, int loop, PngReader reader, String desc) throws IOException { File cur = null; try { long t = System.currentTimeMillis(); for (int i = 0; i < loop; i++) { for (int j = 0; j < files.length; j++) { reader.read(cur = files[j]); } } t = System.currentTimeMillis() - t; if (desc != null) System.err.println(desc + ": read " + (files.length * loop) + " images in " + t + " ms"); } catch (IOException e) { System.err.println("Error reading " + cur); throw e; } } } javapng-2.0/src/test/com/sixlegs/png/SuiteLoop.java0000644000175000017500000000047010646275030022271 0ustar paulliupaulliupackage com.sixlegs.png; import java.io.*; public class SuiteLoop { public static void main(String[] args) throws Exception { String[] empty = new String[0]; int count = Integer.parseInt(args[0]); while (count-- > 0) { SuiteViewer.main(empty); } } } javapng-2.0/src/test/com/sixlegs/png/PngTestCase.java0000644000175000017500000000476310646275030022537 0ustar paulliupaulliupackage com.sixlegs.png; import java.lang.reflect.Constructor; import java.io.*; import java.util.*; import java.util.zip.Checksum; import junit.framework.*; abstract public class PngTestCase extends TestCase { private static final String TEST_METHODS = "testmethods"; private static final String DELIMITER = ","; protected PngTestCase(String name) { super(name); } protected static TestSuite getSuite(Class testClass) { if (!TestCase.class.isAssignableFrom(testClass)) throw new IllegalArgumentException("Must pass in a subclass of TestCase"); String testMethods = System.getProperty(TEST_METHODS); if (testMethods == null || testMethods.length() == 0) return new TestSuite(testClass); TestSuite suite = new TestSuite(); try { Constructor constructor = testClass.getConstructor(new Class[] {String.class}); List testCaseNames = getTestCaseNames(testMethods); for (Iterator testCases = testCaseNames.iterator(); testCases.hasNext();) { String testCaseName = (String)testCases.next(); suite.addTest((TestCase)constructor.newInstance(new Object[] {testCaseName})); } } catch (Exception e) { throw new RuntimeException(testClass.getName() + " doesn't have the proper constructor"); } return suite; } private static List getTestCaseNames(String testMethods) { List testMethodNames = new ArrayList(); StringTokenizer tokenizer = new StringTokenizer(testMethods, DELIMITER); while (tokenizer.hasMoreTokens()) { testMethodNames.add(tokenizer.nextToken()); } return testMethodNames; } public static long getChecksum(Checksum checksum, File file, byte[] buf) throws IOException { checksum.reset(); InputStream in = new FileInputStream(file); try { for (;;) { int amt = in.read(buf); if (amt < 0) break; checksum.update(buf, 0, amt); } } finally { in.close(); } return checksum.getValue(); } public static void skipFully(DataInput in, int n) throws IOException { while (n > 0) { int amt = in.skipBytes(n); if (amt == 0) { in.readByte(); n--; } else { n -= amt; } } } } javapng-2.0/src/test/images/0000755000175000017500000000000011755244626015740 5ustar paulliupaulliujavapng-2.0/src/test/images/broken/0000755000175000017500000000000011755244626017220 5ustar paulliupaulliujavapng-2.0/src/test/images/broken/length_phys.png0000644000175000017500000000132310646327754022253 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_sBITwpHYs瑜*gIDATx湑栣戃 吙踧jh罻偗凨 %艿B q 碄 F豿7殱 zO忭/咸冭/[矣眉 虓討m@`鳒]鈰枟]6甜y~<驥噐 _0浵5<Y倧>帺麷Xa;e" 皌膨愄盵侷=鳋d泆5鶹3>&?w罺佣嘛c毃[羖蘆瘟6痧Y諙`韸澉 ︹)拑?euSX,餛Oy粧哗KN鉣J:#< C㎜=苎v乐%$莾愢'Jw蒑鉱=b+\u;穤wP无醊<'p夰b云S侗 乨掶(@J,啁=9旨▼⺪H])阴rt棋`o磻IA賢煺U射蹧D腮bm褺5倗よ(Y瘒kTn灰s=xBd"\`耪"[ fRhz0'套mehCM莰螃欁3猾逻 嗷 譒d侬?`眫+餍哾l*#啭頿]餄q2琶^嫂8鼾勃|蝊 rj樈:2C縦i鞘9輋噁 |跹諥序酓楋迪Ji?灝遚謣眇饞++ 绡劻踭>妑l讶5鰤yM.彦骹 P6礼傹@孜.lIEND瓸`javapng-2.0/src/test/images/broken/srgb_after_plte.png0000644000175000017500000000014210646327754023067 0ustar paulliupaulliu塒NG  IHDR00m蘫PLTE虣睳 sRGB7荕S IDAT觕`PрIEND瓸`javapng-2.0/src/test/images/broken/multiple_scal.png0000644000175000017500000002074210646327754022572 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ oFFs-哫,pCALbogus unitsfoo/bar1.0e065.535e3W@{&sCAL3.527777777778e-043.527777777778e-049豑8&sCAL3.527777777778e-043.527777777778e-049豑8 pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!碝Q4鴛w;);6殒KWВ攅h 塃7蓞H?U-¦鐩D璀盰蠊鈫宥>﨔矕訒芇憏轲!P:彂坰広稽赙瓓<飮犀I -梂飇蝣鵆7/H鎐,槝L筊d頀璹%)曡+j歪崞%讅v編銳P&詰脕脚z厀4#;邰巭G芼膃/緅;纤棏E\"-!%_-楈H啋m警w0/氙p/[厣v雄輓:只;聄v嬪/^F禭"踇,",鈷艘螧\䏝w[牫拂"薐椟$ %狌6踄2n骮濰d2.Y,"鲗c鳲棟l嬕緿壭韛o\蒐t釙o%皾u1;[*!6瞕Y瑍褶孁フ啕麠!nw范刳Z騏齕杔秧n睜聳d靚o胥r鲲i軏绢乐﨓d[:靔接卐楀qY蒇拶~筙P嚾Vb\~`v顫M>朥=_蘋縕,圞%鱲w~渤蒎/_袝--gW踬,棴韒.[K:銒袄lwY谣髐こ[淼\井,儹%le谉硕`』誂o a刹L_梯凉Y顊6W陟篘p銔)`$胘a竒 咭6\]3w55楦璹噓檈)偃UJ筍L|MMT<眘W崗瀅楲G$儍!\蜂#O胴鄚蛙カt5銠K蜔!顿穈,漲面Э圹n洦袞鬿 糵尺箈牷2圞婎粃嬢.髟6vw椏齛闍.沸;=蒎W焬鼟/C桒E胦c図n叻稈墵粍錼褡鱲穟禘>/潀`Z秚Y卂%嬹?菫U搈e魈v棗uDe[儃8縛W肗7沆呤SX,??铐f鬯邆%寞盕sO !.刹..竕A\.偻簣覅棳7]铂还&_车礵w[%鹲鱋q赦綍mvw铨磬轔:%/_4糥D~髍羐_间3_瘾测"驒(坷/,桲v篬t火絻t,朘,;蹛L視憩 ;/懎.:-骂6婬窳綕/縇D曊i\.w~dw/)L|眻僝u7琙膔 嬒袋2".{鷡W.铗v!,:?杢K澜X-蝗幇蓓步軪w厺n梟wIx関枠.嫰棓_猿棆)L境卜3屬摭樗 咣渗疚p/t轵2~臰qI!陆韉豢痺X$掆w红d]糁6q仝俔組v芒u`_磰i懓岠鍡a眖:焀釛e跽g?K_,j篬K蹿罸崴 考yq裹铂耂鱡'暽_蓬[q盌飊盶聉W辱-踻抐 漀2 婬珉%咣=朹/閚翈t煽?o^瓦~绮楿騪0]棡\]3)}8鶜夅簁nc(k踂撎唪?.屾岚8Y麒d#巹顷L8熮]!2犒H騇兩2b犹?焳#>.悷 4扉&Bh耆湋@秵腢/L""蹡?熭瞥]3 2穙 .耐6bL$i9发ュ崾敒珪鳓礍堆)B! 沊7憫吅壵涴S凗T鳃隚)澷w狗群UF={2叵廠摊壚綢Og&!絼2柧缏焐x6&  綠黗`G"俿亂羼>nvpj徃褣畛鰴!契空峖U尴ウ瑈镮諟敟Z#\听庸玘K^晝=铉4PX妹驧Jx(!霰N 捿肥L薺:黪網21% d!e坞仜&KG-eW Q;?綢~輰-洹}軕 S讐#:燔%s鼬淫髲"呁瞅=K!D聩锶b}痭乙邹9壄=ぎ=捯s撘e憉oM鋞27w):W8(僗/Z 嵴O蕏揟!><漷+-飂J y瘽]籽Y昘@V y杚誠w怷治V!戝橽好+I痒黜远uLE豄_o 玏T锓蓢笸燏钿=蛨lL坘唅熾睼瞣5琳酼э珤+ 媔F蜿覭?LY屟哒o*镥 m М葙(#緣6S橏焂9╅Yur7/#拃鳢 vw査夔_钥75.梍琮')吒矴}{>谤辱 W7矺WM绠>!阜Q ,HA+趱 螘苲TXtDescriptionx淢薃J腀衹N駰 3a@釴=?IAR誸UFr{肪▍W6j&l(.婍C:pk)硊#泲)^ 粙螆吀蒄'1貣搃 i鳞躯廦y砘o袻\科髳-P1痲厉ZD僲M禛葶耘"嶪VbI;┤禶A揀_播檟HB戟y渒矻wnW#鱯IEND瓸`javapng-2.0/src/test/images/broken/private_interlace_method.png0000644000175000017500000000240610646327754024772 0ustar paulliupaulliu塒NG  IHDR  gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/trns_bad_color_type.png0000644000175000017500000000030610646327754023762 0ustar paulliupaulliu塒NG  IHDR szzgAMA啝1钖_tRNS梓XoIDATx滍1 0 F'dhO△?U!妮臙xR鑀(M(賷0^{~3uG XN5"}\俆癇\.y 垝鉅6爗@<P6@R 窵IEND瓸`javapng-2.0/src/test/images/broken/truncate_zlib_2.png0000644000175000017500000001421310646327754023017 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ oFFs-哫,pCALbogus unitsfoo/bar1.0e065.535e3W@{&sCAL3.527777777778e-043.527777777778e-049豑8 pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!歹 螘javapng-2.0/src/test/images/broken/multiple_time.png0000644000175000017500000000046710646327754022610 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_tIME "8轀tIME "8轀菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/broken/chrm_after_idat.png0000644000175000017500000000275210646327754023051 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_uIDATx湹諳g邱稃3g嫣渟fnb撴謗饱谝Bi隖S0嫎6"叜Aぽ貳7q幡.Dq)林R[P≒1崵r箸茕9檡'譳J捚H^^f3瘥<厦颂獶;刽M进 }#渺x=_+s侯垘瘀8闞r税骝锰龑#O胞3#槛o!A嚢K!祭笶栕up侹O騀b=0猋1\簺枕d{9框柢f畯覟曔񋥱AL|~糜[幈}焩@翌v {t{t#:aD'"r詫o告轿>6*@匟堳p4R玉枘1睢 N鼚g救 鱒併瑸d<囷t:X煐A栅>潣矅椤#8甭蠡8z摮~ N{簫nT8^@7f0>赐鞯c阋&`赱M4.!镋4&禔浸K詆伛讧氰棙浊鴽MtP]瑖k):鬮$B鱜賳D崢ua謳愇蠊艣1pi{栀nL陚O .Q*F鎼噶 k潞0姹偳x烮媣 怼|磸it(=7b65aC #a$践 硐笮S嗀秺轓跡昏贕鶚垺G壄8兺耮镃a, 7^愶齘=贷摾烮]軧敌-C蕝;8N醷鍊A$6$*锤0詫>銗q徤賱"a:&撯$2u>咫哚O縡[9E fsk玊Z$ 伿A27C棬R币,_戙瑛瓞9祍啐_~鶇G5瓮㧏忣 摕囚.07纳洟烎mK9.r細<}鶉;罱跑,%"o䲡銥╊6乎矕",5f鶋}<圾転鹢戒@査蔎匧WW/廎隞*y淞]魈過';服 籇( cHRMz&u0阘:p満Q<IEND瓸`javapng-2.0/src/test/images/broken/plte_too_many_entries.png0000644000175000017500000000033610646327754024334 0ustar paulliupaulliu塒NG  IHDR 乀ggAMA啝1钖_sBITw3PLTEFGIDATx渃梃 =sf摘騬c鉾飂蝑 C+(H*着T钶讳爍@*)#蔒K#G暬{7嗄暄}IEND瓸`javapng-2.0/src/test/images/broken/missing_plte.png0000644000175000017500000000077210646327754022433 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/multiple_plte.png0000644000175000017500000000402210646327754022605 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/ihdr_filter_method.png0000644000175000017500000000240610646327754023565 0ustar paulliupaulliu塒NG  IHDR ]炕gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/splt_length_mod_10.png0000644000175000017500000000245010646327754023413 0ustar paulliupaulliu塒NG  IHDR DsPLTBad suggestionGOgAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/plte_length_mod_three.png0000644000175000017500000000101010646327754024253 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTEq寺盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/multiple_sbit.png0000644000175000017500000000031110646327754022577 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_sBIT&轈sBIT&轈bIDATx滍暠@ 脭;/A舧岏l@*QED缏qm\耡 .[p=j薊茹'-X禓O0値骂 鵚y﨟0俹 y<Aa=^逦o筯IEND瓸`javapng-2.0/src/test/images/broken/sbit_sample_depth_2.png0000644000175000017500000000027210646327754023640 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_sBIT <''bIDATx滍暠@ 脭;/A舧岏l@*QED缏qm\耡 .[p=j薊茹'-X禓O0値骂 鵚y﨟0俹 y<Aa=^逦o筯IEND瓸`javapng-2.0/src/test/images/broken/length_ster.png0000644000175000017500000000242410646327754022250 0ustar paulliupaulliu塒NG  IHDR DsTER2gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/ster_after_idat.png0000644000175000017500000000242310646327754023070 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉sTER裸 IEND瓸`javapng-2.0/src/test/images/broken/length_bkgd_gray.png0000644000175000017500000000022010646327754023214 0ustar paulliupaulliu塒NG  IHDR 賡gAMA啝1钖_bKGD鵆5IDATx渃览厹h41",(,?喚0T1`4G脌*鈎P* }碾吶IEND瓸`javapng-2.0/src/test/images/broken/multiple_bkgd.png0000644000175000017500000000427210646327754022557 0ustar paulliupaulliu塒NG  IHDR 夈n<gAMA啝1钖_bKGD珓 )bKGD珓 )UIDATx溑梍h[枏ぃc滕HuRGT疂(8築-苯嶱.%4蝗湫BiKa墂潒]H緲搵恤⑸X僨%$襷勔鈺m闖WG戫c9杦駘5橭且>矬>象`eaX=詡温8礼临?门]疝e _犷^X.縲魇貵O3wd囦3 萭嶼煤|'fe[巩』Z!p&勣嗘uh劣`c:o葒t抮鎖衈恎)X琞俇ě燰Z 琹-5珻璥鍦T$u!Z??p饾邊诀鶦g甑j@d票璽-Y榧藚猘e}';葊~B枭@3 x'佂孊 ^赟刑A#n謗2詒噤:Q穎GR`fA媎v 緭<生鍬棤_勑"魧A脙謬酀啀冒鶊皅X蝂3頢蚌:{抢諆< ';釨 1/,蚙Y撸犿僠 艚`乸g=U<疮@#肟冋宰狏/ǘ`6,吐盅蛝U骫杞廆`7&発c鄘 懍 ? %焵:4o6疛迗湱鸻訩嗉薌a蓜 ? 槸@= 伬!攅纩/VV婥p孉5岮h飦螤.Ak%,椸?%〝!V[?僪鷙@鳾铏/  !渵Q`ZJ錒V覢住, \Z-鑤VK侮u╒ai *(昦0钬住  =i0歏勣喰.a{hQf\懳5 顋ee8 l9峇椟F h鋋eX藽9wn丽釟婣 D襚紊6_B聋h^鉙y砱Lgv]~笗廳儚A_ 秎w糞R; 誌竅儏忈VF&;5l :雄F$g 8h=ox脉 檡o痶| 'Q嘅2 ,垿4¨4鑓9鵁4O!1譊峒硬缤穭懋+3卟M:$嚓m+?=*|~5{Wb z翪`罻淬犦勵杈< C鋟惆垖"j 彳Q亇8颀p顋$;>.;/夸貜梐 4碃/@ 幸薪[壿/E䙌)x6摙頉張耺^=飔勴)檡#!潖徝婫腡/絊撤o嚲 燤颫囿伅]姓]#絮7*g狼忺Ul耋!qX摧卥礵陷Qa5欩贵9缷G噱椸2 雱5醇羍5$鴏 (杽+巢鐣赴2箜邾嫍_拏$`Wb?@0 妱9E络爗廈k8ブ0/撇VR騔戼Y墯齲Yf淫\ Nv{k By衉傽S璦JcK宩匱橉敟c¬E^>戀[v靅婍7R览>檐壝\躨各岪)]SB怋爕殶$髷蝮捀谝抙(芪'e檄ia;忍c撘; 髶袦鱧X]匟艟芃%臝%艓滹U寊]聞髠Xj"22嶝CO+h 纱 )罉暀o长箧咶\芗27 h+' wC捥騋耋RY\-4-湟d螦掲.H珥a阁x4眯,@釡层$勵o亄质 礵J;v,& C炙$3訑gVW蠐<趛h牨連# FP!皏 V迶絷l 稾$髉]鵼]\.陬_賡=,l7Gd娈)漿&TL瑜罧(鐌Z)h+V 潾%@{雊抎"i彗iq掂韂Z^<稕檡 漺乙Pg+挟B;  躶%/跓 gU<=氏荄P簑嫸凕?({!l7鏳嫱t暺:9伉-xI餬 亃 4魺t靐F襨曖2*<#~WQ\ 4e蠉浡鰌Nf.J鐫,OA菃N 6l痜-湃宑GR昶虍薯3*%姃d赫E东(鴴㈨䲠(\0){n$呿瓟誊KJ鐩3啶`38`ek+-w53&7枮y身Iq曖6*@匟堳p4R玉枘1睢 N鼚g救 鱒併瑸d<囷t:X煐A栅>潣矅椤#8甭蠡8z摮~ N{簫nT8^@7f0>赐鞯c阋&`赱M4.!镋4&禔浸K詆伛讧氰棙浊鴽MtP]瑖k):鬮$B鱜賳D崢ua謳愇蠊艣1pi{栀nL陚O .Q*F鎼噶 k潞0姹偳x烮媣 怼|磸it(=7b65aC #a$践 硐笮S嗀秺轓跡昏贕鶚垺G壄8兺耮镃a, 7^愶齘=贷摾烮]軧敌-C蕝;8N醷鍊A$6$*锤0詫>銗q徤賱"a:&撯$2u>咫哚O縡[9E fsk玊Z$ 伿A27C棬R币,_戙瑛瓞9祍啐_~鶇G5瓮㧏忣 摕囚.07纳洟烎mK9.r細<}鶉;罱跑,%"o䲡銥╊6乎矕",5f鶋}<圾転鹢戒@査蔎匧WW/廎隞*y淞]魈過';服 籇(IEND瓸`javapng-2.0/src/test/images/broken/ihdr_bit_depth.png0000644000175000017500000000240610646327754022702 0ustar paulliupaulliu塒NG  IHDR 启gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/splt_sample_depth.png0000644000175000017500000000244210646327754023441 0ustar paulliupaulliu塒NG  IHDR DsPLTBad suggestionjh+gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/hist_before_plte.png0000644000175000017500000000040210646327754023241 0ustar paulliupaulliu塒NG  IHDR 乀ggAMA啝1钖_sBITwhIST@p0`` P@0PpH橸A-PLTE""fw欇DD野IGIDATx渃梃 =sf摘騬c鉾飂蝑 C+(H*着T钶讳爍@*)#蔒K#G暬{7嗄暄}IEND瓸`javapng-2.0/src/test/images/broken/multiple_ster.png0000644000175000017500000000244010646327754022620 0ustar paulliupaulliu塒NG  IHDR DsTER裸 sTER裸 gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/scal_zero.png0000644000175000017500000000242610646327754021715 0ustar paulliupaulliu塒NG  IHDR DsCAL00&gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/length_bkgd_rgb.png0000644000175000017500000000030610646327754023031 0ustar paulliupaulliu塒NG  IHDR szzgAMA啝1钖_bKGD噺炭oIDATx滍1 0 F'dhO△?U!妮臙xR鑀(M(賷0^{~3uG XN5"}\俆癇\.y 垝鉅6爗@<P6@R 窵IEND瓸`javapng-2.0/src/test/images/broken/phys_after_idat.png0000644000175000017500000000132410646327754023075 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_sBITwgIDATx湑栣戃 吙踧jh罻偗凨 %艿B q 碄 F豿7殱 zO忭/咸冭/[矣眉 虓討m@`鳒]鈰枟]6甜y~<驥噐 _0浵5<Y倧>帺麷Xa;e" 皌膨愄盵侷=鳋d泆5鶹3>&?w罺佣嘛c毃[羖蘆瘟6痧Y諙`韸澉 ︹)拑?euSX,餛Oy粧哗KN鉣J:#< C㎜=苎v乐%$莾愢'Jw蒑鉱=b+\u;穤wP无醊<'p夰b云S侗 乨掶(@J,啁=9旨▼⺪H])阴rt棋`o磻IA賢煺U射蹧D腮bm褺5倗よ(Y瘒kTn灰s=xBd"\`耪"[ fRhz0'套mehCM莰螃欁3猾逻 嗷 譒d侬?`眫+餍哾l*#啭頿]餄q2琶^嫂8鼾勃|蝊 rj樈:2C縦i鞘9輋噁 |跹諥序酓楋迪Ji?灝遚謣眇饞++ 绡劻踭>妑l讶5鰤yM.彦骹 P6礼傹@孜.l pHYs祘RkIEND瓸`javapng-2.0/src/test/images/broken/splt_after_idat.png0000644000175000017500000000466410646327754023106 0ustar paulliupaulliu塒NG  IHDR 瑘1gAMA啝1钖_錓DATx溦柫 0DоA藒俘拞&f撎z咵=譅B>/鄽飀rs~='3_吴骦w胛t(p3楏眚p]`蟛乢桁ytΠ?t︿(C鏫l5桁2蹊L伝杼ゞ 濗I癅g.`囄(`秅 鬌g&經((`嬑麔60澖Y`z忱l(P49:{眬z眬*z葻mt3饊螢鳤O肌3挎B⺗荒zsPLTsix-cube3f3333f333ff3fffff3f3f3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fffffff3fffff3f3333f333ff3fffff3f3f3f3f3333f333ff3fffff3f3f3f3f3333f333ff3fffff3f3f3f栃媶IEND瓸`javapng-2.0/src/test/images/broken/length_time.png0000644000175000017500000000044310646327754022230 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_tIME "為9q菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/broken/multiple_hist.png0000644000175000017500000000045410646327754022615 0ustar paulliupaulliu塒NG  IHDR 乀ggAMA啝1钖_sBITw-PLTE""fw欇DD野IhIST@p0`` P@0PpH橸AhIST@p0`` P@0PpH橸AGIDATx渃梃 =sf摘騬c鉾飂蝑 C+(H*着T钶讳爍@*)#蔒K#G暬{7嗄暄}IEND瓸`javapng-2.0/src/test/images/broken/chunk_private_critical.png0000644000175000017500000000240610646327754024446 0ustar paulliupaulliu塒NG  IHDR DGaMA啝#蜁PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/length_sbit.png0000644000175000017500000000022310646327754022227 0ustar paulliupaulliu塒NG  IHDR 抔gAMA啝1钖_sBIT讶# PLTEe?+"IDATx渃簥0鹕珷,| ㄒ兲=絀侁墡IEND瓸`javapng-2.0/src/test/images/broken/ihdr_interlace_method.png0000644000175000017500000000240610646327754024246 0ustar paulliupaulliu塒NG  IHDR 腙gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/plte_after_idat.png0000644000175000017500000000240610646327754023060 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔IEND瓸`javapng-2.0/src/test/images/broken/gama_zero.png0000644000175000017500000000225410646327754021677 0ustar paulliupaulliu塒NG  IHDR 恚gAMA%`McIDATx湱?%U啛鼽3珈4"X壻Bc亼+毙悩P皾艶 M(,hH((,1雹0V拃5蠷惀ベ翨 %,譩钴澷啝摟x7蓕沷顂t掳屬檅W绡霆>y潂娑鶗Lk瘽U暺(3祂暝A獌y懨=龥睐痿齯鴈衧縫箳+秩2:啨A訣7荤萦woyU~wz:`{怦(棳'^T橉U*qV炷Nz鼹缋峉屫)皤覵[I[笅DY\罯*_唣 ?+t|' 厑腅镩3嗲稈穚栅$L黾TP罬á姭R54: 蹳|6瓠用僳縷轪斻涯3葼@ *TT:0`p鸌vz 蜀(緷葤"姌D诈婃hbvt;喕}裏@8}*(唬鴉臘v槪8箱戗炴i炠赓魃3Z卵g 攞 狙I骴弝奧 L未H 蘍=~衤w'尐%咩乭湀')<嫔G暲⿷毃憱h9漗zp70F諶(;{ ^瞲糈 ,#)Q%1%j&2蚇? p锟(寜Q碩; d邂 袢5'ER E,捵%螖虜┢镞岐G服台Zf; 膙:1#i%a墱盠11o陚ct片e豎 !坹苳b$FR:cF^繘B)L礡玧56伆 1,髭爛皞xO埬HL牡莆%+X擩㎜暆@<4 奀剟鞲Gb"5F嚏浫昍笔N l退]B.蝤篪垙剟O膖緝滣粣'R(60 蔖]鰚rp熚胓夂邊8+G伆 洹瞈 V.: 梡i!聞& 虿欰刖;:銺D椥Zc(阕? 劊@&K鐐瓋瓋<湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/length_hist.png0000644000175000017500000000040010646327754022232 0ustar paulliupaulliu塒NG  IHDR 乀ggAMA啝1钖_sBITw-PLTE""fw欇DD野IhIST@p0`` P@0P境'GIDATx渃梃 =sf摘騬c鉾飂蝑 C+(H*着T钶讳爍@*)#蔒K#G暬{7嗄暄}IEND瓸`javapng-2.0/src/test/images/broken/ihdr_1bit_alpha.png0000644000175000017500000000027010646327754022741 0ustar paulliupaulliu塒NG  IHDR ~jgAMA啝1钖_oIDATx滍1 0 F'dhO△?U!妮臙xR鑀(M(賷0^{~3uG XN5"}\俆癇\.y 垝鉅6爗@<P6@R 窵IEND瓸`javapng-2.0/src/test/images/broken/itxt_keyword_length_2.png0000644000175000017500000000241210646327754024245 0ustar paulliupaulliu塒NG  IHDR 恚biTXt01234567890123456789012345678901234567890123456789012345678901234567890123456789en-usCucumber)ecIDATx湱?%U啛鼽3珈4"X壻Bc亼+毙悩P皾艶 M(,hH((,1雹0V拃5蠷惀ベ翨 %,譩钴澷啝摟x7蓕沷顂t掳屬檅W绡霆>y潂娑鶗Lk瘽U暺(3祂暝A獌y懨=龥睐痿齯鴈衧縫箳+秩2:啨A訣7荤萦woyU~wz:`{怦(棳'^T橉U*qV炷Nz鼹缋峉屫)皤覵[I[笅DY\罯*_唣 ?+t|' 厑腅镩3嗲稈穚栅$L黾TP罬á姭R54: 蹳|6瓠用僳縷轪斻涯3葼@ *TT:0`p鸌vz 蜀(緷葤"姌D诈婃hbvt;喕}裏@8}*(唬鴉臘v槪8箱戗炴i炠赓魃3Z卵g 攞 狙I骴弝奧 L未H 蘍=~衤w'尐%咩乭湀')<嫔G暲⿷毃憱h9漗zp70F諶(;{ ^瞲糈 ,#)Q%1%j&2蚇? p锟(寜Q碩; d邂 袢5'ER E,捵%螖虜┢镞岐G服台Zf; 膙:1#i%a墱盠11o陚ct片e豎 !坹苳b$FR:cF^繘B)L礡玧56伆 1,髭爛皞xO埬HL牡莆%+X擩㎜暆@<4 奀剟鞲Gb"5F嚏浫昍笔N l退]B.蝤篪垙剟O膖緝滣粣'R(60 蔖]鰚rp熚胓夂邊8+G伆 洹瞈 V.: 梡i!聞& 虿欰刖;:銺D椥Zc(阕? 劊@&K鐐瓋瓋<湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/multiple_trns.png0000644000175000017500000000066110646327754022634 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_tRNS梓XtRNS梓XbKGD獚#2>IDATx淯淹KA邱锞d[jH-5(5(O憞疀 ':擺毳瀭":EEt-栾j稣v.<3骮吽v糂w噏竒&冾W? -跚鲁镀耓#偽す焳O$CptjL◣:d杢汈}桎K繘擤瘏z}賊}茸苵x,檙y楐层铃T$e䦷稈褠裏衾D5慫$幛妠鲢,誗Pm輠槶凸<噠mUxoGm谣騐騜z@zTXtSoftwarex渟.JM,IMQ认SHT餕).I,驋髎驄J3笠 騬K 蛞曯B濹ózTXtDisclaimerx渟+JM-O,JU`援碉菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/broken/truncate_idat_0.png0000644000175000017500000000012110646327754022767 0ustar paulliupaulliu塒NG  IHDR [GYgAMA啝1钖_IDATxH壱IEND瓸`javapng-2.0/src/test/images/broken/iccp_after_idat.png0000644000175000017500000000064210646327754023032 0ustar paulliupaulliu塒NG  IHDR 恚HIDATx滍樟 0 @呾扆穜;D+簟+ ; 犿鋧Lx@J聞(馉t8#〡伝pw@偙鵡@螷iCCPNTSCx诃幙J肞G蠉娻2蹵;((h vrllI&蚼(R殕潸o8 .NN.線(釩88(!b<御勿K6歗藃`槝)?撚8瘫L}_玳Ng 悓挊=!WM邩裪f`鰩Mj@ R怸方胞ミvT=`g~倄d眶@F~ M|b鯍Zs]W5z(V澯苣肻m'篎S夰BU诨D憩j0;鶵a揩崼亟,娾0`疻maf_嵛I襔#IEND瓸`javapng-2.0/src/test/images/broken/ihdr_color_type.png0000644000175000017500000000240610646327754023117 0ustar paulliupaulliu塒NG  IHDR 瞽BMgAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/sbit_after_plte.png0000644000175000017500000000022210646327754023072 0ustar paulliupaulliu塒NG  IHDR 抔gAMA啝1钖_ PLTEe?+sBIT|.w"IDATx渃簥0鹕珷,| ㄒ兲=絀侁墡IEND瓸`javapng-2.0/src/test/images/broken/splt_duplicate_name.png0000644000175000017500000000246210646327754023750 0ustar paulliupaulliu塒NG  IHDR D sPLTLemonadeu|& sPLTLemonadeu|&gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/missing_ihdr.png0000644000175000017500000000240610646327754022411 0ustar paulliupaulliu塒NG  gAMA啝1钖_ IHDR DPLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/ztxt_compression_method.png0000644000175000017500000000136110646327754024723 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_tEXtTitlePngSuiteOU螸1tEXtAuthorWillem A.J. van Schaik (willem@schaik.com)幪GAzTXtCopyrightx渟/,蔐(Q咸蒊蚒(K蘏N蜨烫諵翁KO,/JU0创4盏4媋4^A"粃TXtDescriptionx-幈0 D鱺臡L绖X縛\C"8J UW癥緖ww跼硳g+]|?駼O猷&2 .葆I祃镄L} "$墚g<-.咍=KM喕k.QI#|臍=伌&'*E赭糛5 o>幛妠鲢,誗Pm輠槶凸<噠mUxoGm谣騐騜z@zTXtSoftwarex渟.JM,IMQ认SHT餕).I,驋髎驄J3笠 騬K 蛞曯B濹ózTXtDisclaimerx渟+JM-O,JU`援碉菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/broken/multiple_srgb.png0000644000175000017500000000015710646327754022603 0ustar paulliupaulliu塒NG  IHDR00m蘫sRGB7荕SsRGB7荕SPLTE虣睳 IDAT觕`PрIEND瓸`javapng-2.0/src/test/images/broken/scal_negative.png0000644000175000017500000000242710646327754022541 0ustar paulliupaulliu塒NG  IHDR DsCAL1-1衯gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/plte_empty.png0000644000175000017500000000100610646327754022107 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTEK▔U盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/private_compression_method.png0000644000175000017500000000343510646327754025370 0ustar paulliupaulliu塒NG  IHDR 慒gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔菼DATh91AY&SY.撫d藤嗓粲Sad&M 4穆`繡 亾0&&# 撃I=Q鷼=" `#& F&h&4腵A爃LLM0`  03F欶褠z0"iL錟I坄 覨& 14i劺 桑歩 蓫h男bcA 楲L2宨Q枘蔭╅6歮4覟實脝F%猉~{>浃c烯b曛F祸鏵&虝+owU6艻%/T:0/i賾<嗝難锅蜅)骹擼罫.`榺薖:S蟫D: O练 啜p>疔霠u P_H鹆`悄g埝yo.G.=旔>蒇n觚剂 /蕿荈鐬喻ipQw囒慥H踲C傲0'O @5扼噂 <嶻9FP$ 7H"D类终\ =喵舳!EJ#x8 _鳨EX"蓙劼>H~犓 黶Ct<彦4{嵛2Ci!Pr 1bt冿 葟:a螏豰#t愞~眹A7駨`脧:翉1麊0q闳膎脹崩pj嶺q脄8爓闷罔Fdd.<眾橁苃u:佂応8A菑Le囝D9严宍鼵C干2*04bF ~a;扄荶3駧躾↓>2猫1@3兞xt孟鼏$fGJ<樐$f哃u#"=鑿1c:駦兴尷j2C6<仐憥袄枧 c莤2,1c*0F`z#:2"<戦廐a0fF8`寪 佤蛯鹕焰3鉆00FtzhFpg老4@4#!然)聞t_IEND瓸`javapng-2.0/src/test/images/broken/multiple_gama.png0000644000175000017500000000242610646327754022554 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/phys_unit_specifier.png0000644000175000017500000000132410646327754024003 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_sBITw pHYs,rgIDATx湑栣戃 吙踧jh罻偗凨 %艿B q 碄 F豿7殱 zO忭/咸冭/[矣眉 虓討m@`鳒]鈰枟]6甜y~<驥噐 _0浵5<Y倧>帺麷Xa;e" 皌膨愄盵侷=鳋d泆5鶹3>&?w罺佣嘛c毃[羖蘆瘟6痧Y諙`韸澉 ︹)拑?euSX,餛Oy粧哗KN鉣J:#< C㎜=苎v乐%$莾愢'Jw蒑鉱=b+\u;穤wP无醊<'p夰b云S侗 乨掶(@J,啁=9旨▼⺪H])阴rt棋`o磻IA賢煺U射蹧D腮bm褺5倗よ(Y瘒kTn灰s=xBd"\`耪"[ fRhz0'套mehCM莰螃欁3猾逻 嗷 譒d侬?`眫+餍哾l*#啭頿]餄q2琶^嫂8鼾勃|蝊 rj樈:2C縦i鞘9輋噁 |跹諥序酓楋迪Ji?灝遚謣眇饞++ 绡劻踭>妑l讶5鰤yM.彦骹 P6礼傹@孜.lIEND瓸`javapng-2.0/src/test/images/broken/missing_plte_2.png0000644000175000017500000000112510646327754022645 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_tRNS@尕fbKGD 籠騃DATx渃`寣XW_!^.aa溡K朎蝅,廋:ぢO<絃槂;#玹饠孤聈q襧*X%<\趨Yz9#c匨促衐sf 穔眆V %hw爖暻Z阐寑磦牥0妭Bv┄靚aa+>W怔菷琝` 鏣%②g鉃椧#湂靱a┪尉鮊砽剠E瀱dD舶返U4.-壨S 剆 D厖-扟jA*躷绛雾2g#寪3)槫"g寞p励(0I5{8 H蘚 昣 $a}滷c7貮皞y1她魰`v媃/r訳敥斌&K颅Pq洣篖%蠦}?aaD攩鶃L*_*鑘>Md'R@菴崢 r浘+ 鲁L 祭bXZ%禞!F8N7) ( 捆.铇&  $纕虇Kwq1愅0i^碳0>埓m冬8 jQ9/Kx毀鞍vY聻匧8xq鏘+眽嵞s膊桤'IEND瓸`javapng-2.0/src/test/images/broken/missing_idat.png0000644000175000017500000000151110646327754022400 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔IEND瓸`javapng-2.0/src/test/images/broken/length_bkgd_palette.png0000644000175000017500000000215510646327754023721 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTE""ss櫃橯 DD晻晻曟憫憤崓b 墘塮f贩s sssoookkkggg烫UUUggQQQMMM88 V 333////+/++w||+'s+++o'''x ###UMMM < oo/8' UUM M  忖 bbΖΒⅱ灋瀯 闡UΖ骥3垐堎賱剟ww<<热D |||华 bbb灇汅"^^^ZZZ葺''xxxxssooDDD@@@ff<<< UU444MM|EE<<"""<33"D''<  //蜒 贩 吵砿4#tRNS@尕fbKGD|薐騃DATx渃`寣XW_!^.aa溡K朎蝅,廋:ぢO<絃槂;#玹饠孤聈q襧*X%<\趨Yz9#c匨促衐sf 穔眆V %hw爖暻Z阐寑磦牥0妭Bv┄靚aa+>W怔菷琝` 鏣%②g鉃椧#湂靱a┪尉鮊砽剠E瀱dD舶返U4.-壨S 剆 D厖-扟jA*躷绛雾2g#寪3)槫"g寞p励(0I5{8 H蘚 昣 $a}滷c7貮皞y1她魰`v媃/r訳敥斌&K颅Pq洣篖%蠦}?aaD攩鶃L*_*鑘>Md'R@菴崢 r浘+ 鲁L 祭bXZ%禞!F8N7) ( 捆.铇&  $纕虇Kwq1愅0i^碳0>埓m冬8 jQ9/Kx毀鞍vY聻匧8xq鏘+眽嵞s膊桤'IEND瓸`javapng-2.0/src/test/images/broken/x00n0g01.png0000644000175000017500000000006110646275012021067 0ustar paulliupaulliu塒NG  IHDR餉gAMA啝1钖_javapng-2.0/src/test/images/broken/scal_floating_point.png0000644000175000017500000002066010646327754023752 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ oFFs-哫,pCALbogus unitsfoo/bar1.0e065.535e3W@{&sCALQ.527777777778e-043.527777777778e-04t北 pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!碝Q4鴛w;);6殒KWВ攅h 塃7蓞H?U-¦鐩D璀盰蠊鈫宥>﨔矕訒芇憏轲!P:彂坰広稽赙瓓<飮犀I -梂飇蝣鵆7/H鎐,槝L筊d頀璹%)曡+j歪崞%讅v編銳P&詰脕脚z厀4#;邰巭G芼膃/緅;纤棏E\"-!%_-楈H啋m警w0/氙p/[厣v雄輓:只;聄v嬪/^F禭"踇,",鈷艘螧\䏝w[牫拂"薐椟$ %狌6踄2n骮濰d2.Y,"鲗c鳲棟l嬕緿壭韛o\蒐t釙o%皾u1;[*!6瞕Y瑍褶孁フ啕麠!nw范刳Z騏齕杔秧n睜聳d靚o胥r鲲i軏绢乐﨓d[:靔接卐楀qY蒇拶~筙P嚾Vb\~`v顫M>朥=_蘋縕,圞%鱲w~渤蒎/_袝--gW踬,棴韒.[K:銒袄lwY谣髐こ[淼\井,儹%le谉硕`』誂o a刹L_梯凉Y顊6W陟篘p銔)`$胘a竒 咭6\]3w55楦璹噓檈)偃UJ筍L|MMT<眘W崗瀅楲G$儍!\蜂#O胴鄚蛙カt5銠K蜔!顿穈,漲面Э圹n洦袞鬿 糵尺箈牷2圞婎粃嬢.髟6vw椏齛闍.沸;=蒎W焬鼟/C桒E胦c図n叻稈墵粍錼褡鱲穟禘>/潀`Z秚Y卂%嬹?菫U搈e魈v棗uDe[儃8縛W肗7沆呤SX,??铐f鬯邆%寞盕sO !.刹..竕A\.偻簣覅棳7]铂还&_车礵w[%鹲鱋q赦綍mvw铨磬轔:%/_4糥D~髍羐_间3_瘾测"驒(坷/,桲v篬t火絻t,朘,;蹛L視憩 ;/懎.:-骂6婬窳綕/縇D曊i\.w~dw/)L|眻僝u7琙膔 嬒袋2".{鷡W.铗v!,:?杢K澜X-蝗幇蓓步軪w厺n梟wIx関枠.嫰棓_猿棆)L境卜3屬摭樗 咣渗疚p/t轵2~臰qI!陆韉豢痺X$掆w红d]糁6q仝俔組v芒u`_磰i懓岠鍡a眖:焀釛e跽g?K_,j篬K蹿罸崴 考yq裹铂耂鱡'暽_蓬[q盌飊盶聉W辱-踻抐 漀2 婬珉%咣=朹/閚翈t煽?o^瓦~绮楿騪0]棡\]3)}8鶜夅簁nc(k踂撎唪?.屾岚8Y麒d#巹顷L8熮]!2犒H騇兩2b犹?焳#>.悷 4扉&Bh耆湋@秵腢/L""蹡?熭瞥]3 2穙 .耐6bL$i9发ュ崾敒珪鳓礍堆)B! 沊7憫吅壵涴S凗T鳃隚)澷w狗群UF={2叵廠摊壚綢Og&!絼2柧缏焐x6&  綠黗`G"俿亂羼>nvpj徃褣畛鰴!契空峖U尴ウ瑈镮諟敟Z#\听庸玘K^晝=铉4PX妹驧Jx(!霰N 捿肥L薺:黪網21% d!e坞仜&KG-eW Q;?綢~輰-洹}軕 S讐#:燔%s鼬淫髲"呁瞅=K!D聩锶b}痭乙邹9壄=ぎ=捯s撘e憉oM鋞27w):W8(僗/Z 嵴O蕏揟!><漷+-飂J y瘽]籽Y昘@V y杚誠w怷治V!戝橽好+I痒黜远uLE豄_o 玏T锓蓢笸燏钿=蛨lL坘唅熾睼瞣5琳酼э珤+ 媔F蜿覭?LY屟哒o*镥 m М葙(#緣6S橏焂9╅Yur7/#拃鳢 vw査夔_钥75.梍琮')吒矴}{>谤辱 W7矺WM绠>!阜Q ,HA+趱 螘苲TXtDescriptionx淢薃J腀衹N駰 3a@釴=?IAR誸UFr{肪▍W6j&l(.婍C:pk)硊#泲)^ 粙螆吀蒄'1貣搃 i鳞躯廦y砘o袻\科髳-P1痲厉ZD僲M禛葶耘"嶪VbI;┤禶A揀_播檟HB戟y渒矻wnW#鱯IEND瓸`javapng-2.0/src/test/images/broken/gama_after_plte.png0000644000175000017500000000240610646327754023044 0ustar paulliupaulliu塒NG  IHDR DPLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔gAMA啝1钖_盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/length_offs.png0000644000175000017500000002065710646327754022240 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ oFFsEdnM,pCALbogus unitsfoo/bar1.0e065.535e3W@{&sCAL3.527777777778e-043.527777777778e-049豑8 pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!碝Q4鴛w;);6殒KWВ攅h 塃7蓞H?U-¦鐩D璀盰蠊鈫宥>﨔矕訒芇憏轲!P:彂坰広稽赙瓓<飮犀I -梂飇蝣鵆7/H鎐,槝L筊d頀璹%)曡+j歪崞%讅v編銳P&詰脕脚z厀4#;邰巭G芼膃/緅;纤棏E\"-!%_-楈H啋m警w0/氙p/[厣v雄輓:只;聄v嬪/^F禭"踇,",鈷艘螧\䏝w[牫拂"薐椟$ %狌6踄2n骮濰d2.Y,"鲗c鳲棟l嬕緿壭韛o\蒐t釙o%皾u1;[*!6瞕Y瑍褶孁フ啕麠!nw范刳Z騏齕杔秧n睜聳d靚o胥r鲲i軏绢乐﨓d[:靔接卐楀qY蒇拶~筙P嚾Vb\~`v顫M>朥=_蘋縕,圞%鱲w~渤蒎/_袝--gW踬,棴韒.[K:銒袄lwY谣髐こ[淼\井,儹%le谉硕`』誂o a刹L_梯凉Y顊6W陟篘p銔)`$胘a竒 咭6\]3w55楦璹噓檈)偃UJ筍L|MMT<眘W崗瀅楲G$儍!\蜂#O胴鄚蛙カt5銠K蜔!顿穈,漲面Э圹n洦袞鬿 糵尺箈牷2圞婎粃嬢.髟6vw椏齛闍.沸;=蒎W焬鼟/C桒E胦c図n叻稈墵粍錼褡鱲穟禘>/潀`Z秚Y卂%嬹?菫U搈e魈v棗uDe[儃8縛W肗7沆呤SX,??铐f鬯邆%寞盕sO !.刹..竕A\.偻簣覅棳7]铂还&_车礵w[%鹲鱋q赦綍mvw铨磬轔:%/_4糥D~髍羐_间3_瘾测"驒(坷/,桲v篬t火絻t,朘,;蹛L視憩 ;/懎.:-骂6婬窳綕/縇D曊i\.w~dw/)L|眻僝u7琙膔 嬒袋2".{鷡W.铗v!,:?杢K澜X-蝗幇蓓步軪w厺n梟wIx関枠.嫰棓_猿棆)L境卜3屬摭樗 咣渗疚p/t轵2~臰qI!陆韉豢痺X$掆w红d]糁6q仝俔組v芒u`_磰i懓岠鍡a眖:焀釛e跽g?K_,j篬K蹿罸崴 考yq裹铂耂鱡'暽_蓬[q盌飊盶聉W辱-踻抐 漀2 婬珉%咣=朹/閚翈t煽?o^瓦~绮楿騪0]棡\]3)}8鶜夅簁nc(k踂撎唪?.屾岚8Y麒d#巹顷L8熮]!2犒H騇兩2b犹?焳#>.悷 4扉&Bh耆湋@秵腢/L""蹡?熭瞥]3 2穙 .耐6bL$i9发ュ崾敒珪鳓礍堆)B! 沊7憫吅壵涴S凗T鳃隚)澷w狗群UF={2叵廠摊壚綢Og&!絼2柧缏焐x6&  綠黗`G"俿亂羼>nvpj徃褣畛鰴!契空峖U尴ウ瑈镮諟敟Z#\听庸玘K^晝=铉4PX妹驧Jx(!霰N 捿肥L薺:黪網21% d!e坞仜&KG-eW Q;?綢~輰-洹}軕 S讐#:燔%s鼬淫髲"呁瞅=K!D聩锶b}痭乙邹9壄=ぎ=捯s撘e憉oM鋞27w):W8(僗/Z 嵴O蕏揟!><漷+-飂J y瘽]籽Y昘@V y杚誠w怷治V!戝橽好+I痒黜远uLE豄_o 玏T锓蓢笸燏钿=蛨lL坘唅熾睼瞣5琳酼э珤+ 媔F蜿覭?LY屟哒o*镥 m М葙(#緣6S橏焂9╅Yur7/#拃鳢 vw査夔_钥75.梍琮')吒矴}{>谤辱 W7矺WM绠>!阜Q ,HA+趱 螘苲TXtDescriptionx淢薃J腀衹N駰 3a@釴=?IAR誸UFr{肪▍W6j&l(.婍C:pk)硊#泲)^ 粙螆吀蒄'1貣搃 i鳞躯廦y砘o袻\科髳-P1痲厉ZD僲M禛葶耘"嶪VbI;┤禶A揀_播檟HB戟y渒矻wnW#鱯IEND瓸`javapng-2.0/src/test/images/broken/scal_after_idat.png0000644000175000017500000002066010646327754023040 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ oFFs-哫,pCALbogus unitsfoo/bar1.0e065.535e3W@{苲TXtDescriptionx淢薃J腀衹N駰 3a@釴=?IAR誸UFr{肪▍W6j&l(.婍C:pk)硊#泲)^ 粙螆吀蒄'1貣搃 i鳞躯廦y砘o袻\科髳-P1痲厉ZD僲M禛葶耘"嶪VbI;┤禶A揀_播檟HB戟y渒矻wnW#鱯 pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!碝Q4鴛w;);6殒KWВ攅h 塃7蓞H?U-¦鐩D璀盰蠊鈫宥>﨔矕訒芇憏轲!P:彂坰広稽赙瓓<飮犀I -梂飇蝣鵆7/H鎐,槝L筊d頀璹%)曡+j歪崞%讅v編銳P&詰脕脚z厀4#;邰巭G芼膃/緅;纤棏E\"-!%_-楈H啋m警w0/氙p/[厣v雄輓:只;聄v嬪/^F禭"踇,",鈷艘螧\䏝w[牫拂"薐椟$ %狌6踄2n骮濰d2.Y,"鲗c鳲棟l嬕緿壭韛o\蒐t釙o%皾u1;[*!6瞕Y瑍褶孁フ啕麠!nw范刳Z騏齕杔秧n睜聳d靚o胥r鲲i軏绢乐﨓d[:靔接卐楀qY蒇拶~筙P嚾Vb\~`v顫M>朥=_蘋縕,圞%鱲w~渤蒎/_袝--gW踬,棴韒.[K:銒袄lwY谣髐こ[淼\井,儹%le谉硕`』誂o a刹L_梯凉Y顊6W陟篘p銔)`$胘a竒 咭6\]3w55楦璹噓檈)偃UJ筍L|MMT<眘W崗瀅楲G$儍!\蜂#O胴鄚蛙カt5銠K蜔!顿穈,漲面Э圹n洦袞鬿 糵尺箈牷2圞婎粃嬢.髟6vw椏齛闍.沸;=蒎W焬鼟/C桒E胦c図n叻稈墵粍錼褡鱲穟禘>/潀`Z秚Y卂%嬹?菫U搈e魈v棗uDe[儃8縛W肗7沆呤SX,??铐f鬯邆%寞盕sO !.刹..竕A\.偻簣覅棳7]铂还&_车礵w[%鹲鱋q赦綍mvw铨磬轔:%/_4糥D~髍羐_间3_瘾测"驒(坷/,桲v篬t火絻t,朘,;蹛L視憩 ;/懎.:-骂6婬窳綕/縇D曊i\.w~dw/)L|眻僝u7琙膔 嬒袋2".{鷡W.铗v!,:?杢K澜X-蝗幇蓓步軪w厺n梟wIx関枠.嫰棓_猿棆)L境卜3屬摭樗 咣渗疚p/t轵2~臰qI!陆韉豢痺X$掆w红d]糁6q仝俔組v芒u`_磰i懓岠鍡a眖:焀釛e跽g?K_,j篬K蹿罸崴 考yq裹铂耂鱡'暽_蓬[q盌飊盶聉W辱-踻抐 漀2 婬珉%咣=朹/閚翈t煽?o^瓦~绮楿騪0]棡\]3)}8鶜夅簁nc(k踂撎唪?.屾岚8Y麒d#巹顷L8熮]!2犒H騇兩2b犹?焳#>.悷 4扉&Bh耆湋@秵腢/L""蹡?熭瞥]3 2穙 .耐6bL$i9发ュ崾敒珪鳓礍堆)B! 沊7憫吅壵涴S凗T鳃隚)澷w狗群UF={2叵廠摊壚綢Og&!絼2柧缏焐x6&  綠黗`G"俿亂羼>nvpj徃褣畛鰴!契空峖U尴ウ瑈镮諟敟Z#\听庸玘K^晝=铉4PX妹驧Jx(!霰N 捿肥L薺:黪網21% d!e坞仜&KG-eW Q;?綢~輰-洹}軕 S讐#:燔%s鼬淫髲"呁瞅=K!D聩锶b}痭乙邹9壄=ぎ=捯s撘e憉oM鋞27w):W8(僗/Z 嵴O蕏揟!><漷+-飂J y瘽]籽Y昘@V y杚誠w怷治V!戝橽好+I痒黜远uLE豄_o 玏T锓蓢笸燏钿=蛨lL坘唅熾睼瞣5琳酼э珤+ 媔F蜿覭?LY屟哒o*镥 m М葙(#緣6S橏焂9╅Yur7/#拃鳢 vw査夔_钥75.梍琮')吒矴}{>谤辱 W7矺WM绠>!阜Q ,HA+趱 螘&sCAL3.527777777778e-043.527777777778e-049豑8IEND瓸`javapng-2.0/src/test/images/broken/xcrn0g04.png0000644000175000017500000000040510646275012021261 0ustar paulliupaulliu塒NG  IHDR 撫)菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/broken/length_trns_palette.png0000644000175000017500000000242510646327754024000 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTE""ss櫃橯 DD晻晻曟憫憤崓b 墘塮f贩s sssoookkkggg烫UUUggQQQMMM88 V 333////+/++w||+'s+++o'''x ###UMMM < oo/8' UUM M  忖 bbΖΒⅱ灋瀯 闡UΖ骥3垐堎賱剟ww<<热D |||华 bbb灇汅"^^^ZZZ葺''xxxxssooDDD@@@ff<<< UU444MM|EE<<"""<33"D''<  //蜒 贩 吵砿4#畉RNSB':$bKGD 籠騃DATx渃`寣XW_!^.aa溡K朎蝅,廋:ぢO<絃槂;#玹饠孤聈q襧*X%<\趨Yz9#c匨促衐sf 穔眆V %hw爖暻Z阐寑磦牥0妭Bv┄靚aa+>W怔菷琝` 鏣%②g鉃椧#湂靱a┪尉鮊砽剠E瀱dD舶返U4.-壨S 剆 D厖-扟jA*躷绛雾2g#寪3)槫"g寞p励(0I5{8 H蘚 昣 $a}滷c7貮皞y1她魰`v媃/r訳敥斌&K颅Pq洣篖%蠦}?aaD攩鶃L*_*鑘>Md'R@菴崢 r浘+ 鲁L 祭bXZ%禞!F8N7) ( 捆.铇&  $纕虇Kwq1愅0i^碳0>埓m冬8 jQ9/Kx毀鞍vY聻匧8xq鏘+眽嵞s膊桤'IEND瓸`javapng-2.0/src/test/images/broken/sbit_after_idat.png0000644000175000017500000000027210646327754023054 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_bIDATx滍暠@ 脭;/A舧岏l@*QED缏qm\耡 .[p=j薊茹'-X禓O0値骂 鵚y﨟0俹 y<Aa=^逦o筯sBIT&轈IEND瓸`javapng-2.0/src/test/images/broken/itxt_compression_flag.png0000644000175000017500000000230310646327754024330 0ustar paulliupaulliu塒NG  IHDR 恚iTXtVegetableen-usCucumber榗 cIDATx湱?%U啛鼽3珈4"X壻Bc亼+毙悩P皾艶 M(,hH((,1雹0V拃5蠷惀ベ翨 %,譩钴澷啝摟x7蓕沷顂t掳屬檅W绡霆>y潂娑鶗Lk瘽U暺(3祂暝A獌y懨=龥睐痿齯鴈衧縫箳+秩2:啨A訣7荤萦woyU~wz:`{怦(棳'^T橉U*qV炷Nz鼹缋峉屫)皤覵[I[笅DY\罯*_唣 ?+t|' 厑腅镩3嗲稈穚栅$L黾TP罬á姭R54: 蹳|6瓠用僳縷轪斻涯3葼@ *TT:0`p鸌vz 蜀(緷葤"姌D诈婃hbvt;喕}裏@8}*(唬鴉臘v槪8箱戗炴i炠赓魃3Z卵g 攞 狙I骴弝奧 L未H 蘍=~衤w'尐%咩乭湀')<嫔G暲⿷毃憱h9漗zp70F諶(;{ ^瞲糈 ,#)Q%1%j&2蚇? p锟(寜Q碩; d邂 袢5'ER E,捵%螖虜┢镞岐G服台Zf; 膙:1#i%a墱盠11o陚ct片e豎 !坹苳b$FR:cF^繘B)L礡玧56伆 1,髭爛皞xO埬HL牡莆%+X擩㎜暆@<4 奀剟鞲Gb"5F嚏浫昍笔N l退]B.蝤篪垙剟O膖緝滣粣'R(60 蔖]鰚rp熚胓夂邊8+G伆 洹瞈 V.: 梡i!聞& 虿欰刖;:銺D椥Zc(阕? 劊@&K鐐瓋瓋'彁寭[晐c?洔梐晳咺u^皾{僣屡嗓5畔上邑/屹菡州谟哙噗酗侮宥4( H班! , 賞蒊'8呤F(!酀 〇'棶胫~Z潔&:W;IF埐-D@QX*榾兇p .臙!紿жY代%┩狆Ph e6;鴦a|f嚂ly%eht;co剅m.q悓岮|憭搰朣棊慼桵爍mTR>嚎脽蒝Η蒙炭伟譆τ自肿稗<尢疏茹CJ96j趱鲼黬! , 豴蒊)淄 t勮7栜櫌+[筼╙,]糴罓M獬萀甋,-徚梵( V呪8x X狪q賠粐B洪簪蒉颶偢蘤 Iqj厎?i*z厊P^x宨vz榠殨9櫅洉煒參v}j^v3痪聻>ウ氯司彤1ヒ钟罩3菟社氢$KQ&韇篝貊鼬! , 襭蒊+淄)0`j苏m煥巰詾*冿 С貧p欕禴靏 }D0胠'蔛3錞煺(`颽\8lQ妺b|!糘{<坩O阑P鑞|gP Ete|xKo4亄gc~媤ウ氯司彤1ヒ钟罩3菟社氢$KQ&韇篝貊鼬! , 賞蒊'8呤F(!酀 〇'棶胫~Z潔&:W;IF埐-D@QX*榾兇p .臙!紿жY代%┩狆Ph e6;鴦a|f嚂ly%eht;co剅m.q悓岮|憭搰朣棊慼桵爍mTR>嚎脽蒝Η蒙炭伟譆τ自肿稗<尢疏茹CJ96j趱鲼黬; 堀7IEND瓸`javapng-2.0/src/test/images/broken/text_trailing_null.png0000644000175000017500000000143110646327754023636 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_tEXtTitlePngSuite'幅1tEXtAuthorWillem A.J. van Schaik (willem@schaik.com)幪G8tEXtCopyrightCopyright Willem van Schaik, Singapore 1995-96凱8鹴EXtDescriptionA compilation of a set of images created to test the various color-types of the PNG format. Included are black&white, color, paletted, with alpha channel, with transparency formats. All bit-depths allowed according to the spec are present.M k9tEXtSoftwareCreated on a NeXTstation color using "pnmtopng".jdytEXtDisclaimerFreeware._,J菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/broken/multiple_ihdr.png0000644000175000017500000000243710646327754022577 0ustar paulliupaulliu塒NG  IHDR D IHDR DgAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/multiple_pcal.png0000644000175000017500000002075010646327754022566 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ oFFs-哫,pCALbogus unitsfoo/bar1.0e065.535e3W@{,pCALbogus unitsfoo/bar1.0e065.535e3W@{&sCAL3.527777777778e-043.527777777778e-049豑8 pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!碝Q4鴛w;);6殒KWВ攅h 塃7蓞H?U-¦鐩D璀盰蠊鈫宥>﨔矕訒芇憏轲!P:彂坰広稽赙瓓<飮犀I -梂飇蝣鵆7/H鎐,槝L筊d頀璹%)曡+j歪崞%讅v編銳P&詰脕脚z厀4#;邰巭G芼膃/緅;纤棏E\"-!%_-楈H啋m警w0/氙p/[厣v雄輓:只;聄v嬪/^F禭"踇,",鈷艘螧\䏝w[牫拂"薐椟$ %狌6踄2n骮濰d2.Y,"鲗c鳲棟l嬕緿壭韛o\蒐t釙o%皾u1;[*!6瞕Y瑍褶孁フ啕麠!nw范刳Z騏齕杔秧n睜聳d靚o胥r鲲i軏绢乐﨓d[:靔接卐楀qY蒇拶~筙P嚾Vb\~`v顫M>朥=_蘋縕,圞%鱲w~渤蒎/_袝--gW踬,棴韒.[K:銒袄lwY谣髐こ[淼\井,儹%le谉硕`』誂o a刹L_梯凉Y顊6W陟篘p銔)`$胘a竒 咭6\]3w55楦璹噓檈)偃UJ筍L|MMT<眘W崗瀅楲G$儍!\蜂#O胴鄚蛙カt5銠K蜔!顿穈,漲面Э圹n洦袞鬿 糵尺箈牷2圞婎粃嬢.髟6vw椏齛闍.沸;=蒎W焬鼟/C桒E胦c図n叻稈墵粍錼褡鱲穟禘>/潀`Z秚Y卂%嬹?菫U搈e魈v棗uDe[儃8縛W肗7沆呤SX,??铐f鬯邆%寞盕sO !.刹..竕A\.偻簣覅棳7]铂还&_车礵w[%鹲鱋q赦綍mvw铨磬轔:%/_4糥D~髍羐_间3_瘾测"驒(坷/,桲v篬t火絻t,朘,;蹛L視憩 ;/懎.:-骂6婬窳綕/縇D曊i\.w~dw/)L|眻僝u7琙膔 嬒袋2".{鷡W.铗v!,:?杢K澜X-蝗幇蓓步軪w厺n梟wIx関枠.嫰棓_猿棆)L境卜3屬摭樗 咣渗疚p/t轵2~臰qI!陆韉豢痺X$掆w红d]糁6q仝俔組v芒u`_磰i懓岠鍡a眖:焀釛e跽g?K_,j篬K蹿罸崴 考yq裹铂耂鱡'暽_蓬[q盌飊盶聉W辱-踻抐 漀2 婬珉%咣=朹/閚翈t煽?o^瓦~绮楿騪0]棡\]3)}8鶜夅簁nc(k踂撎唪?.屾岚8Y麒d#巹顷L8熮]!2犒H騇兩2b犹?焳#>.悷 4扉&Bh耆湋@秵腢/L""蹡?熭瞥]3 2穙 .耐6bL$i9发ュ崾敒珪鳓礍堆)B! 沊7憫吅壵涴S凗T鳃隚)澷w狗群UF={2叵廠摊壚綢Og&!絼2柧缏焐x6&  綠黗`G"俿亂羼>nvpj徃褣畛鰴!契空峖U尴ウ瑈镮諟敟Z#\听庸玘K^晝=铉4PX妹驧Jx(!霰N 捿肥L薺:黪網21% d!e坞仜&KG-eW Q;?綢~輰-洹}軕 S讐#:燔%s鼬淫髲"呁瞅=K!D聩锶b}痭乙邹9壄=ぎ=捯s撘e憉oM鋞27w):W8(僗/Z 嵴O蕏揟!><漷+-飂J y瘽]籽Y昘@V y杚誠w怷治V!戝橽好+I痒黜远uLE豄_o 玏T锓蓢笸燏钿=蛨lL坘唅熾睼瞣5琳酼э珤+ 媔F蜿覭?LY屟哒o*镥 m М葙(#緣6S橏焂9╅Yur7/#拃鳢 vw査夔_钥75.梍琮')吒矴}{>谤辱 W7矺WM绠>!阜Q ,HA+趱 螘苲TXtDescriptionx淢薃J腀衹N駰 3a@釴=?IAR誸UFr{肪▍W6j&l(.婍C:pk)硊#泲)^ 粙螆吀蒄'1貣搃 i鳞躯廦y砘o袻\科髳-P1痲厉ZD僲M禛葶耘"嶪VbI;┤禶A揀_播檟HB戟y渒矻wnW#鱯IEND瓸`javapng-2.0/src/test/images/broken/chunk_length.png0000644000175000017500000000240610646327754022403 0ustar paulliupaulliu塒NG  IHDR D靏AMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/chunk_type.png0000644000175000017500000000240610646327754022103 0ustar paulliupaulliu塒NG  IHDR DgaM_啝!厗 PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/itxt_keyword_length.png0000644000175000017500000000227210646327754024030 0ustar paulliupaulliu塒NG  IHDR 恚iTXten-usCucumber&7 cIDATx湱?%U啛鼽3珈4"X壻Bc亼+毙悩P皾艶 M(,hH((,1雹0V拃5蠷惀ベ翨 %,譩钴澷啝摟x7蓕沷顂t掳屬檅W绡霆>y潂娑鶗Lk瘽U暺(3祂暝A獌y懨=龥睐痿齯鴈衧縫箳+秩2:啨A訣7荤萦woyU~wz:`{怦(棳'^T橉U*qV炷Nz鼹缋峉屫)皤覵[I[笅DY\罯*_唣 ?+t|' 厑腅镩3嗲稈穚栅$L黾TP罬á姭R54: 蹳|6瓠用僳縷轪斻涯3葼@ *TT:0`p鸌vz 蜀(緷葤"姌D诈婃hbvt;喕}裏@8}*(唬鴉臘v槪8箱戗炴i炠赓魃3Z卵g 攞 狙I骴弝奧 L未H 蘍=~衤w'尐%咩乭湀')<嫔G暲⿷毃憱h9漗zp70F諶(;{ ^瞲糈 ,#)Q%1%j&2蚇? p锟(寜Q碩; d邂 袢5'ER E,捵%螖虜┢镞岐G服台Zf; 膙:1#i%a墱盠11o陚ct片e豎 !坹苳b$FR:cF^繘B)L礡玧56伆 1,髭爛皞xO埬HL牡莆%+X擩㎜暆@<4 奀剟鞲Gb"5F嚏浫昍笔N l退]B.蝤篪垙剟O膖緝滣粣'R(60 蔖]鰚rp熚胓夂邊8+G伆 洹瞈 V.: 梡i!聞& 虿欰刖;:銺D椥Zc(阕? 劊@&K鐐瓋瓋<湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/ihdr_compression_method.png0000644000175000017500000000240610646327754024641 0ustar paulliupaulliu塒NG  IHDR Ef囫gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/bkgd_after_idat.png0000644000175000017500000000425410646327754023026 0ustar paulliupaulliu塒NG  IHDR 夈n<gAMA啝1钖_UIDATx溑梍h[枏ぃc滕HuRGT疂(8築-苯嶱.%4蝗湫BiKa墂潒]H緲搵恤⑸X僨%$襷勔鈺m闖WG戫c9杦駘5橭且>矬>象`eaX=詡温8礼临?门]疝e _犷^X.縲魇貵O3wd囦3 萭嶼煤|'fe[巩』Z!p&勣嗘uh劣`c:o葒t抮鎖衈恎)X琞俇ě燰Z 琹-5珻璥鍦T$u!Z??p饾邊诀鶦g甑j@d票璽-Y榧藚猘e}';葊~B枭@3 x'佂孊 ^赟刑A#n謗2詒噤:Q穎GR`fA媎v 緭<生鍬棤_勑"魧A脙謬酀啀冒鶊皅X蝂3頢蚌:{抢諆< ';釨 1/,蚙Y撸犿僠 艚`乸g=U<疮@#肟冋宰狏/ǘ`6,吐盅蛝U骫杞廆`7&発c鄘 懍 ? %焵:4o6疛迗湱鸻訩嗉薌a蓜 ? 槸@= 伬!攅纩/VV婥p孉5岮h飦螤.Ak%,椸?%〝!V[?僪鷙@鳾铏/  !渵Q`ZJ錒V覢住, \Z-鑤VK侮u╒ai *(昦0钬住  =i0歏勣喰.a{hQf\懳5 顋ee8 l9峇椟F h鋋eX藽9wn丽釟婣 D襚紊6_B聋h^鉙y砱Lgv]~笗廳儚A_ 秎w糞R; 誌竅儏忈VF&;5l :雄F$g 8h=ox脉 檡o痶| 'Q嘅2 ,垿4¨4鑓9鵁4O!1譊峒硬缤穭懋+3卟M:$嚓m+?=*|~5{Wb z翪`罻淬犦勵杈< C鋟惆垖"j 彳Q亇8颀p顋$;>.;/夸貜梐 4碃/@ 幸薪[壿/E䙌)x6摙頉張耺^=飔勴)檡#!潖徝婫腡/絊撤o嚲 燤颫囿伅]姓]#絮7*g狼忺Ul耋!qX摧卥礵陷Qa5欩贵9缷G噱椸2 雱5醇羍5$鴏 (杽+巢鐣赴2箜邾嫍_拏$`Wb?@0 妱9E络爗廈k8ブ0/撇VR騔戼Y墯齲Yf淫\ Nv{k By衉傽S璦JcK宩匱橉敟c¬E^>戀[v靅婍7R览>檐壝\躨各岪)]SB怋爕殶$髷蝮捀谝抙(芪'e檄ia;忍c撘; 髶袦鱧X]匟艟芃%臝%艓滹U寊]聞髠Xj"22嶝CO+h 纱 )罉暀o长箧咶\芗27 h+' wC捥騋耋RY\-4-湟d螦掲.H珥a阁x4眯,@釡层$勵o亄质 礵J;v,& C炙$3訑gVW蠐<趛h牨連# FP!皏 V迶絷l 稾$髉]鵼]\.陬_賡=,l7Gd娈)漿&TL瑜罧(鐌Z)h+V 潾%@{雊抎"i彗iq掂韂Z^<稕檡 漺乙Pg+挟B;  躶%/跓 gU<=氏荄P簑嫸凕?({!l7鏳嫱t暺:9伉-xI餬 亃 4魺t靐F襨曖2*<#~WQ\ 4e蠉浡鰌Nf.J鐫,OA菃N 6l痜-湃宑GR昶虍薯3*%姃d赫E东(鴴㈨䲠(\0){n$呿瓟誊KJ鐩3啶`38`ek+-w53&7枮y身Iq曖帺麷Xa;e" 皌膨愄盵侷=鳋d泆5鶹3>&?w罺佣嘛c毃[羖蘆瘟6痧Y諙`韸澉 ︹)拑?euSX,餛Oy粧哗KN鉣J:#< C㎜=苎v乐%$莾愢'Jw蒑鉱=b+\u;穤wP无醊<'p夰b云S侗 乨掶(@J,啁=9旨▼⺪H])阴rt棋`o磻IA賢煺U射蹧D腮bm褺5倗よ(Y瘒kTn灰s=xBd"\`耪"[ fRhz0'套mehCM莰螃欁3猾逻 嗷 譒d侬?`眫+餍哾l*#啭頿]餄q2琶^嫂8鼾勃|蝊 rj樈:2C縦i鞘9輋噁 |跹諥序酓楋迪Ji?灝遚謣眇饞++ 绡劻踭>妑l讶5鰤yM.彦骹 P6礼傹@孜.lIEND瓸`javapng-2.0/src/test/images/broken/length_ihdr.png0000644000175000017500000000240710646327754022222 0ustar paulliupaulliu塒NG  IHDR 燗,gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/hist_after_idat.png0000644000175000017500000000040210646327754023055 0ustar paulliupaulliu塒NG  IHDR 乀ggAMA啝1钖_sBITw-PLTE""fw欇DD野IGIDATx渃梃 =sf摘騬c鉾飂蝑 C+(H*着T钶讳爍@*)#蔒K#G暬{7嗄暄}hIST@p0`` P@0PpH橸AIEND瓸`javapng-2.0/src/test/images/broken/length_trns_gray.png0000644000175000017500000000064110646327754023302 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_tRNS6筽bKGD獚#2>IDATx淯淹KA邱锞d[jH-5(5(O憞疀 ':擺毳瀭":EEt-栾j稣v.<3骮吽v糂w噏竒&冾W? -跚鲁镀耓#偽す焳O$CptjL◣:d杢汈}桎K繘擤瘏z}賊}茸苵x,檙y楐层铃T$e䦷稈褠裏衾D5慫$<湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉heRB仌Q盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/plte_too_many_entries_2.png0000644000175000017500000000164010646327754024554 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_PLTEFn噷HIDATx滍樟 0 @呾扆穜;D+簟+ ; 犿鋧Lx@J聞(馉t8#〡伝pw@偙鵡@螷IEND瓸`javapng-2.0/src/test/images/broken/length_srgb.png0000644000175000017500000000014310646327754022224 0ustar paulliupaulliu塒NG  IHDR00m蘫sRGB W(PLTE虣睳 IDAT觕`PрIEND瓸`javapng-2.0/src/test/images/broken/unknown_filter_type.png0000644000175000017500000000024710646327754024040 0ustar paulliupaulliu塒NG  IHDR [GYgAMA啝1钖_^IDATx-瘫 腀 D袸%穊p僛趘T侣& 刣}8~0:*8,韂嗹SjB驘脪5橁5 ~檍仢穓 栅:淺羞 C4抏\IEND瓸`javapng-2.0/src/test/images/broken/truncate_zlib.png0000644000175000017500000000153510646327754022601 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 嚃揉javapng-2.0/src/test/images/broken/time_value_range.png0000644000175000017500000000044410646327754023240 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_tIME "8帱0菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/broken/iccp_after_plte.png0000644000175000017500000000100710646327754023051 0ustar paulliupaulliu塒NG  IHDR00m蘫PLTE淪镧漈CCPGamma 1.0 profilex渳懡/A七;塊|D#y 奢顟鴪 W(坧垙暑靀3摍Y\/j佇 匓K*厵[(<撋烫3/@1嶪S 硬>;冸涁zm =秠D夊諈50b淨鱷(X辑蘆瀅?鬢烰sヒ算弩"鰛*bRb们鸝X秪房k筙, X3瀐x竟f3糴#:转+$哵抶8霻圑躵l龁 6顊J曫-#岍4 ;3-DL逼慾* 贔崭h(苎8R瓗2瑂髆遴|D(S&=e昘撛友^33酟岽2騍qVY嗵赥捜嬎福禈t]虻卍;.C7蜶曤7*尭#唯媊霚=顄℡緽颩铄=~0駀J~渰 琅@逤 t淿慣題鐋蓁愞3 IDAT(c`PJIEND瓸`javapng-2.0/src/test/images/broken/offs_after_idat.png0000644000175000017500000002066010646327754023053 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ 苲TXtDescriptionx淢薃J腀衹N駰 3a@釴=?IAR誸UFr{肪▍W6j&l(.婍C:pk)硊#泲)^ 粙螆吀蒄'1貣搃 i鳞躯廦y砘o袻\科髳-P1痲厉ZD僲M禛葶耘"嶪VbI;┤禶A揀_播檟HB戟y渒矻wnW#鱯,pCALbogus unitsfoo/bar1.0e065.535e3W@{&sCAL3.527777777778e-043.527777777778e-049豑8 pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!碝Q4鴛w;);6殒KWВ攅h 塃7蓞H?U-¦鐩D璀盰蠊鈫宥>﨔矕訒芇憏轲!P:彂坰広稽赙瓓<飮犀I -梂飇蝣鵆7/H鎐,槝L筊d頀璹%)曡+j歪崞%讅v編銳P&詰脕脚z厀4#;邰巭G芼膃/緅;纤棏E\"-!%_-楈H啋m警w0/氙p/[厣v雄輓:只;聄v嬪/^F禭"踇,",鈷艘螧\䏝w[牫拂"薐椟$ %狌6踄2n骮濰d2.Y,"鲗c鳲棟l嬕緿壭韛o\蒐t釙o%皾u1;[*!6瞕Y瑍褶孁フ啕麠!nw范刳Z騏齕杔秧n睜聳d靚o胥r鲲i軏绢乐﨓d[:靔接卐楀qY蒇拶~筙P嚾Vb\~`v顫M>朥=_蘋縕,圞%鱲w~渤蒎/_袝--gW踬,棴韒.[K:銒袄lwY谣髐こ[淼\井,儹%le谉硕`』誂o a刹L_梯凉Y顊6W陟篘p銔)`$胘a竒 咭6\]3w55楦璹噓檈)偃UJ筍L|MMT<眘W崗瀅楲G$儍!\蜂#O胴鄚蛙カt5銠K蜔!顿穈,漲面Э圹n洦袞鬿 糵尺箈牷2圞婎粃嬢.髟6vw椏齛闍.沸;=蒎W焬鼟/C桒E胦c図n叻稈墵粍錼褡鱲穟禘>/潀`Z秚Y卂%嬹?菫U搈e魈v棗uDe[儃8縛W肗7沆呤SX,??铐f鬯邆%寞盕sO !.刹..竕A\.偻簣覅棳7]铂还&_车礵w[%鹲鱋q赦綍mvw铨磬轔:%/_4糥D~髍羐_间3_瘾测"驒(坷/,桲v篬t火絻t,朘,;蹛L視憩 ;/懎.:-骂6婬窳綕/縇D曊i\.w~dw/)L|眻僝u7琙膔 嬒袋2".{鷡W.铗v!,:?杢K澜X-蝗幇蓓步軪w厺n梟wIx関枠.嫰棓_猿棆)L境卜3屬摭樗 咣渗疚p/t轵2~臰qI!陆韉豢痺X$掆w红d]糁6q仝俔組v芒u`_磰i懓岠鍡a眖:焀釛e跽g?K_,j篬K蹿罸崴 考yq裹铂耂鱡'暽_蓬[q盌飊盶聉W辱-踻抐 漀2 婬珉%咣=朹/閚翈t煽?o^瓦~绮楿騪0]棡\]3)}8鶜夅簁nc(k踂撎唪?.屾岚8Y麒d#巹顷L8熮]!2犒H騇兩2b犹?焳#>.悷 4扉&Bh耆湋@秵腢/L""蹡?熭瞥]3 2穙 .耐6bL$i9发ュ崾敒珪鳓礍堆)B! 沊7憫吅壵涴S凗T鳃隚)澷w狗群UF={2叵廠摊壚綢Og&!絼2柧缏焐x6&  綠黗`G"俿亂羼>nvpj徃褣畛鰴!契空峖U尴ウ瑈镮諟敟Z#\听庸玘K^晝=铉4PX妹驧Jx(!霰N 捿肥L薺:黪網21% d!e坞仜&KG-eW Q;?綢~輰-洹}軕 S讐#:燔%s鼬淫髲"呁瞅=K!D聩锶b}痭乙邹9壄=ぎ=捯s撘e憉oM鋞27w):W8(僗/Z 嵴O蕏揟!><漷+-飂J y瘽]籽Y昘@V y杚誠w怷治V!戝橽好+I痒黜远uLE豄_o 玏T锓蓢笸燏钿=蛨lL坘唅熾睼瞣5琳酼э珤+ 媔F蜿覭?LY屟哒o*镥 m М葙(#緣6S橏焂9╅Yur7/#拃鳢 vw査夔_钥75.梍琮')吒矴}{>谤辱 W7矺WM绠>!阜Q ,HA+趱 螘 oFFs-哫IEND瓸`javapng-2.0/src/test/images/broken/length_trns_rgb.png0000644000175000017500000000247510646327754023121 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_tRNS6筽bKGD3'|諭DATx湱朹hSw?諤#^i/4蠤o犃f4Z癭UVf )X1`}稹Hp` 鍯湷O依 v,咑乫P; 醾-蹾c絙妷$=ddf]禀閣=矿99窟飇竲6G傐^緗:蘹挫(藿{房靠换&E1& @Q'O灓娱馹>递nO体&#憚窰ooaqq滨瓹8嶹痎]絲5 x8滵",/撏粉廚鄍8抖毒縱m~~~`燿21;K﹦昧欶筡ZXX8"鳞穙'''3压邊<00莉2V+蠟备堊损01躰麋蠠?~塂t]O,!烁,,`2q@4璍m3ц膲╝0~閐t墮糬錹8駒茱黠K馥乡3檶妁/貙 d藬A-筝W:k;tuu5遙竆甡0(I褹 炖7逅盏羆h佰磲p8;恅hhH挙蕑oo(娪佑黠哌圹鸚閔h C8$)椝弩y@刞0x裰Ik袹:篭.вi4UU礨,丂帱囅N c菐EQ灋窟遉凢U褉'O={鲇;;;Gz驈锓 IEND瓸`javapng-2.0/src/test/images/broken/itxt_compression_method.png0000644000175000017500000000231310646327754024700 0ustar paulliupaulliu塒NG  IHDR 恚#iTXtVegetableen-usx渟.M.蚆J-7 2?2cIDATx湱?%U啛鼽3珈4"X壻Bc亼+毙悩P皾艶 M(,hH((,1雹0V拃5蠷惀ベ翨 %,譩钴澷啝摟x7蓕沷顂t掳屬檅W绡霆>y潂娑鶗Lk瘽U暺(3祂暝A獌y懨=龥睐痿齯鴈衧縫箳+秩2:啨A訣7荤萦woyU~wz:`{怦(棳'^T橉U*qV炷Nz鼹缋峉屫)皤覵[I[笅DY\罯*_唣 ?+t|' 厑腅镩3嗲稈穚栅$L黾TP罬á姭R54: 蹳|6瓠用僳縷轪斻涯3葼@ *TT:0`p鸌vz 蜀(緷葤"姌D诈婃hbvt;喕}裏@8}*(唬鴉臘v槪8箱戗炴i炠赓魃3Z卵g 攞 狙I骴弝奧 L未H 蘍=~衤w'尐%咩乭湀')<嫔G暲⿷毃憱h9漗zp70F諶(;{ ^瞲糈 ,#)Q%1%j&2蚇? p锟(寜Q碩; d邂 袢5'ER E,捵%螖虜┢镞岐G服台Zf; 膙:1#i%a墱盠11o陚ct片e豎 !坹苳b$FR:cF^繘B)L礡玧56伆 1,髭爛皞xO埬HL牡莆%+X擩㎜暆@<4 奀剟鞲Gb"5F嚏浫昍笔N l退]B.蝤篪垙剟O膖緝滣粣'R(60 蔖]鰚rp熚胓夂邊8+G伆 洹瞈 V.: 梡i!聞& 虿欰刖;:銺D椥Zc(阕? 劊@&K鐐瓋瓋<湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/sbit_sample_depth.png0000644000175000017500000000027210646327754023417 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_sBIT爑(EbIDATx滍暠@ 脭;/A舧岏l@*QED缏qm\耡 .[p=j薊茹'-X禓O0値骂 鵚y﨟0俹 y<Aa=^逦o筯IEND瓸`javapng-2.0/src/test/images/broken/multiple_chrm.png0000644000175000017500000000302610646327754022575 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_ cHRMz&u0阘:p満Q< cHRMz&u0阘:p満Q<uIDATx湹諳g邱稃3g嫣渟fnb撴謗饱谝Bi隖S0嫎6"叜Aぽ貳7q幡.Dq)林R[P≒1崵r箸茕9檡'譳J捚H^^f3瘥<厦颂獶;刽M进 }#渺x=_+s侯垘瘀8闞r税骝锰龑#O胞3#槛o!A嚢K!祭笶栕up侹O騀b=0猋1\簺枕d{9框柢f畯覟曔񋥱AL|~糜[幈}焩@翌v {t{t#:aD'"r詫o告轿>6*@匟堳p4R玉枘1睢 N鼚g救 鱒併瑸d<囷t:X煐A栅>潣矅椤#8甭蠡8z摮~ N{簫nT8^@7f0>赐鞯c阋&`赱M4.!镋4&禔浸K詆伛讧氰棙浊鴽MtP]瑖k):鬮$B鱜賳D崢ua謳愇蠊艣1pi{栀nL陚O .Q*F鎼噶 k潞0姹偳x烮媣 怼|磸it(=7b65aC #a$践 硐笮S嗀秺轓跡昏贕鶚垺G壄8兺耮镃a, 7^愶齘=贷摾烮]軧敌-C蕝;8N醷鍊A$6$*锤0詫>銗q徤賱"a:&撯$2u>咫哚O縡[9E fsk玊Z$ 伿A27C棬R币,_戙瑛瓞9祍啐_~鶇G5瓮㧏忣 摕囚.07纳洟烎mK9.r細<}鶉;罱跑,%"o䲡銥╊6乎矕",5f鶋}<圾転鹢戒@査蔎匧WW/廎隞*y淞]魈過';服 籇(IEND瓸`javapng-2.0/src/test/images/broken/gama_after_idat.png0000644000175000017500000000024410646327754023017 0ustar paulliupaulliu塒NG  IHDR [GY[IDATx-瘫 0 央睯 z4o<偭 aEQ襦/窑刲惟%S鏢4W!縆&=Bs%%^嬟矠oj0i.)an閛0e鹂嘔//gAMA啝1钖_IEND瓸`javapng-2.0/src/test/images/broken/trns_after_idat.png0000644000175000017500000000064310646327754023103 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_bKGD獚#2>IDATx淯淹KA邱锞d[jH-5(5(O憞疀 ':擺毳瀭":EEt-栾j稣v.<3骮吽v糂w噏竒&冾W? -跚鲁镀耓#偽す焳O$CptjL◣:d杢汈}桎K繘擤瘏z}賊}茸苵x,檙y楐层铃T$e䦷稈褠裏衾D5慫$<湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IENDOjavapng-2.0/src/test/images/broken/truncate_idat_1.png0000644000175000017500000000012210646327754022771 0ustar paulliupaulliu塒NG  IHDR [GYgAMA啝1钖_ IDATx渃^}IEND瓸`javapng-2.0/src/test/images/broken/srgb_after_idat.png0000644000175000017500000000021610646327754023046 0ustar paulliupaulliu塒NG  IHDR 恚HIDATx滍樟 0 @呾扆穜;D+簟+ ; 犿鋧Lx@J聞(馉t8#〡伝pw@偙鵡@螷sRGB偕,IEND瓸`javapng-2.0/src/test/images/broken/length_sbit_2.png0000644000175000017500000000026310646327754022454 0ustar paulliupaulliu塒NG  IHDR [GYsBIT|.wgAMA啝1钖_[IDATx-瘫 0 央睯 z4o<偭 aEQ襦/窑刲惟%S鏢4W!縆&=Bs%%^嬟矠oj0i.)an閛0e鹂嘔//IEND瓸`javapng-2.0/src/test/images/broken/plte_in_grayscale.png0000644000175000017500000000023110646327754023410 0ustar paulliupaulliu塒NG  IHDR V%(gAMA啝1钖_PLTE=AIDATx渃d`$瘸 )?`y00恎d\ 審鹗哮囨q10枢昬dP妣q5庳YIEND瓸`javapng-2.0/src/test/images/broken/multiple_iccp.png0000644000175000017500000000167110646327754022566 0ustar paulliupaulliu塒NG  IHDR00m蘫CCPGamma 1.0 profilex渳懡/A七;塊|D#y 奢顟鴪 W(坧垙暑靀3摍Y\/j佇 匓K*厵[(<撋烫3/@1嶪S 硬>;冸涁zm =秠D夊諈50b淨鱷(X辑蘆瀅?鬢烰sヒ算弩"鰛*bRb们鸝X秪房k筙, X3瀐x竟f3糴#:转+$哵抶8霻圑躵l龁 6顊J曫-#岍4 ;3-DL逼慾* 贔崭h(苎8R瓗2瑂髆遴|D(S&=e昘撛友^33酟岽2騍qVY嗵赥捜嬎福禈t]虻卍;.C7蜶曤7*尭#唯媊霚=顄℡緽颩铄=~0駀J~渰 琅@逤 t淿慣題鐋蓁愞3CCPGamma 1.0 profilex渳懡/A七;塊|D#y 奢顟鴪 W(坧垙暑靀3摍Y\/j佇 匓K*厵[(<撋烫3/@1嶪S 硬>;冸涁zm =秠D夊諈50b淨鱷(X辑蘆瀅?鬢烰sヒ算弩"鰛*bRb们鸝X秪房k筙, X3瀐x竟f3糴#:转+$哵抶8霻圑躵l龁 6顊J曫-#岍4 ;3-DL逼慾* 贔崭h(苎8R瓗2瑂髆遴|D(S&=e昘撛友^33酟岽2騍qVY嗵赥捜嬎福禈t]虻卍;.C7蜶曤7*尭#唯媊霚=顄℡緽颩铄=~0駀J~渰 琅@逤 t淿慣題鐋蓁愞3PLTE淪镧漈 IDAT(c`PJIEND瓸`javapng-2.0/src/test/images/broken/chrm_after_plte.png0000644000175000017500000000302210646327754023063 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_釶LTE霭迚u k51缹I梹筑&4񶾠tQ#尤l-^>bOw3X .c$膕=焰枛;Y\z<渷礖恂A(ㄜ-I綻%{KR賬o膏揸|溎瘘黡鈗j羳谳蒗鷃ウ疑+_p5杵蚞g+荥=d恂EcC=嬋雾K&慄偽0屢37c浸鷽, G隐6谦锛醘融駲恹Y丩熰qL賻J{A<颀龌p帽,~!a1 X簖 ]e瓽嶠 >蹀L;[珸潣稔]~T词嶔<e9芆祓)f 藩藵4┖齄叜妫f枑oX銓預e=6&躛?)爂徕赙KT!襥驴媖痱K莧|SiC/5^e惸Mu@~rs>o€]?@3'簖0|{O%?饇鳋{S 9諳U︼醑>/W扡b秡庝玮沆 Y+垂该嵰溞+J cHRMz&u0阘:p満Q<疘DATx渃8B0僳m兽\ 4缓RR髀 帣攻#妃醮* \搆jZ苘頬O踙湅M$]輚n㈦6n技 S乁r剟n叭:氧洓 浂a(`崍铋Yw鬶s徕叛駂 \嬪7O诳咣{恃[汢CW牵*楿y~儖5拒5T]E粒$缤Wwk^攁\",:诼怵Ad9I蜽 45鉪猇剠UO8\YI翓瞾长$.lk浂z豸脗晍z $\\鲱烐芍隽羉z雾)nh4C僚蔾'杻櫃笌]竝n.▊淀哋M^萼缺r-e8q蛠痏炯癹窄[ Nl)槺梨s6S颇E^縹YPtKQQ 羡嘚轝焕&秾]I{7(垞31憇+H翄讇 瞵]jSR穙kV蜘e+璒>徵讃b啋挝k'镘櫦t檐>宫/_N-[&$T"+紡a)P^诉M俥#兾桽憤>B蠝93o瀶墅抻r 揝}}迭鱐T<総I珂虵燓QQ莥y呖W簰酠jjm頌=v顃r诖塵Ix8P=魲<7哽豎[;琦s{'bb铢 蛺J9砲帓捊77wyb阀!b硬垏G闄噰郭騬爈[$g蒫f鯨,席藶畣柂胩蘠吹U镞縪:a#鑰崛銟樫初'e?猘H冇C潱c惹15-^k4コ3IEND瓸`javapng-2.0/src/test/images/broken/ihdr_16bit_palette.png0000644000175000017500000000240610646327754023403 0ustar paulliupaulliu塒NG  IHDR 4VgAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/multiple_offs.png0000644000175000017500000002070510646327754022604 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ oFFs-哫 oFFs-哫,pCALbogus unitsfoo/bar1.0e065.535e3W@{&sCAL3.527777777778e-043.527777777778e-049豑8 pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!碝Q4鴛w;);6殒KWВ攅h 塃7蓞H?U-¦鐩D璀盰蠊鈫宥>﨔矕訒芇憏轲!P:彂坰広稽赙瓓<飮犀I -梂飇蝣鵆7/H鎐,槝L筊d頀璹%)曡+j歪崞%讅v編銳P&詰脕脚z厀4#;邰巭G芼膃/緅;纤棏E\"-!%_-楈H啋m警w0/氙p/[厣v雄輓:只;聄v嬪/^F禭"踇,",鈷艘螧\䏝w[牫拂"薐椟$ %狌6踄2n骮濰d2.Y,"鲗c鳲棟l嬕緿壭韛o\蒐t釙o%皾u1;[*!6瞕Y瑍褶孁フ啕麠!nw范刳Z騏齕杔秧n睜聳d靚o胥r鲲i軏绢乐﨓d[:靔接卐楀qY蒇拶~筙P嚾Vb\~`v顫M>朥=_蘋縕,圞%鱲w~渤蒎/_袝--gW踬,棴韒.[K:銒袄lwY谣髐こ[淼\井,儹%le谉硕`』誂o a刹L_梯凉Y顊6W陟篘p銔)`$胘a竒 咭6\]3w55楦璹噓檈)偃UJ筍L|MMT<眘W崗瀅楲G$儍!\蜂#O胴鄚蛙カt5銠K蜔!顿穈,漲面Э圹n洦袞鬿 糵尺箈牷2圞婎粃嬢.髟6vw椏齛闍.沸;=蒎W焬鼟/C桒E胦c図n叻稈墵粍錼褡鱲穟禘>/潀`Z秚Y卂%嬹?菫U搈e魈v棗uDe[儃8縛W肗7沆呤SX,??铐f鬯邆%寞盕sO !.刹..竕A\.偻簣覅棳7]铂还&_车礵w[%鹲鱋q赦綍mvw铨磬轔:%/_4糥D~髍羐_间3_瘾测"驒(坷/,桲v篬t火絻t,朘,;蹛L視憩 ;/懎.:-骂6婬窳綕/縇D曊i\.w~dw/)L|眻僝u7琙膔 嬒袋2".{鷡W.铗v!,:?杢K澜X-蝗幇蓓步軪w厺n梟wIx関枠.嫰棓_猿棆)L境卜3屬摭樗 咣渗疚p/t轵2~臰qI!陆韉豢痺X$掆w红d]糁6q仝俔組v芒u`_磰i懓岠鍡a眖:焀釛e跽g?K_,j篬K蹿罸崴 考yq裹铂耂鱡'暽_蓬[q盌飊盶聉W辱-踻抐 漀2 婬珉%咣=朹/閚翈t煽?o^瓦~绮楿騪0]棡\]3)}8鶜夅簁nc(k踂撎唪?.屾岚8Y麒d#巹顷L8熮]!2犒H騇兩2b犹?焳#>.悷 4扉&Bh耆湋@秵腢/L""蹡?熭瞥]3 2穙 .耐6bL$i9发ュ崾敒珪鳓礍堆)B! 沊7憫吅壵涴S凗T鳃隚)澷w狗群UF={2叵廠摊壚綢Og&!絼2柧缏焐x6&  綠黗`G"俿亂羼>nvpj徃褣畛鰴!契空峖U尴ウ瑈镮諟敟Z#\听庸玘K^晝=铉4PX妹驧Jx(!霰N 捿肥L薺:黪網21% d!e坞仜&KG-eW Q;?綢~輰-洹}軕 S讐#:燔%s鼬淫髲"呁瞅=K!D聩锶b}痭乙邹9壄=ぎ=捯s撘e憉oM鋞27w):W8(僗/Z 嵴O蕏揟!><漷+-飂J y瘽]籽Y昘@V y杚誠w怷治V!戝橽好+I痒黜远uLE豄_o 玏T锓蓢笸燏钿=蛨lL坘唅熾睼瞣5琳酼э珤+ 媔F蜿覭?LY屟哒o*镥 m М葙(#緣6S橏焂9╅Yur7/#拃鳢 vw査夔_钥75.梍琮')吒矴}{>谤辱 W7矺WM绠>!阜Q ,HA+趱 螘苲TXtDescriptionx淢薃J腀衹N駰 3a@釴=?IAR誸UFr{肪▍W6j&l(.婍C:pk)硊#泲)^ 粙螆吀蒄'1貣搃 i鳞躯廦y砘o袻\科髳-P1痲厉ZD僲M禛葶耘"嶪VbI;┤禶A揀_播檟HB戟y渒矻wnW#鱯IEND瓸`javapng-2.0/src/test/images/broken/scal_unit_specifier.png0000644000175000017500000002066010646327754023746 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ oFFs-哫,pCALbogus unitsfoo/bar1.0e065.535e3W@{&sCAL3.527777777778e-043.527777777778e-04┙ pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!碝Q4鴛w;);6殒KWВ攅h 塃7蓞H?U-¦鐩D璀盰蠊鈫宥>﨔矕訒芇憏轲!P:彂坰広稽赙瓓<飮犀I -梂飇蝣鵆7/H鎐,槝L筊d頀璹%)曡+j歪崞%讅v編銳P&詰脕脚z厀4#;邰巭G芼膃/緅;纤棏E\"-!%_-楈H啋m警w0/氙p/[厣v雄輓:只;聄v嬪/^F禭"踇,",鈷艘螧\䏝w[牫拂"薐椟$ %狌6踄2n骮濰d2.Y,"鲗c鳲棟l嬕緿壭韛o\蒐t釙o%皾u1;[*!6瞕Y瑍褶孁フ啕麠!nw范刳Z騏齕杔秧n睜聳d靚o胥r鲲i軏绢乐﨓d[:靔接卐楀qY蒇拶~筙P嚾Vb\~`v顫M>朥=_蘋縕,圞%鱲w~渤蒎/_袝--gW踬,棴韒.[K:銒袄lwY谣髐こ[淼\井,儹%le谉硕`』誂o a刹L_梯凉Y顊6W陟篘p銔)`$胘a竒 咭6\]3w55楦璹噓檈)偃UJ筍L|MMT<眘W崗瀅楲G$儍!\蜂#O胴鄚蛙カt5銠K蜔!顿穈,漲面Э圹n洦袞鬿 糵尺箈牷2圞婎粃嬢.髟6vw椏齛闍.沸;=蒎W焬鼟/C桒E胦c図n叻稈墵粍錼褡鱲穟禘>/潀`Z秚Y卂%嬹?菫U搈e魈v棗uDe[儃8縛W肗7沆呤SX,??铐f鬯邆%寞盕sO !.刹..竕A\.偻簣覅棳7]铂还&_车礵w[%鹲鱋q赦綍mvw铨磬轔:%/_4糥D~髍羐_间3_瘾测"驒(坷/,桲v篬t火絻t,朘,;蹛L視憩 ;/懎.:-骂6婬窳綕/縇D曊i\.w~dw/)L|眻僝u7琙膔 嬒袋2".{鷡W.铗v!,:?杢K澜X-蝗幇蓓步軪w厺n梟wIx関枠.嫰棓_猿棆)L境卜3屬摭樗 咣渗疚p/t轵2~臰qI!陆韉豢痺X$掆w红d]糁6q仝俔組v芒u`_磰i懓岠鍡a眖:焀釛e跽g?K_,j篬K蹿罸崴 考yq裹铂耂鱡'暽_蓬[q盌飊盶聉W辱-踻抐 漀2 婬珉%咣=朹/閚翈t煽?o^瓦~绮楿騪0]棡\]3)}8鶜夅簁nc(k踂撎唪?.屾岚8Y麒d#巹顷L8熮]!2犒H騇兩2b犹?焳#>.悷 4扉&Bh耆湋@秵腢/L""蹡?熭瞥]3 2穙 .耐6bL$i9发ュ崾敒珪鳓礍堆)B! 沊7憫吅壵涴S凗T鳃隚)澷w狗群UF={2叵廠摊壚綢Og&!絼2柧缏焐x6&  綠黗`G"俿亂羼>nvpj徃褣畛鰴!契空峖U尴ウ瑈镮諟敟Z#\听庸玘K^晝=铉4PX妹驧Jx(!霰N 捿肥L薺:黪網21% d!e坞仜&KG-eW Q;?綢~輰-洹}軕 S讐#:燔%s鼬淫髲"呁瞅=K!D聩锶b}痭乙邹9壄=ぎ=捯s撘e憉oM鋞27w):W8(僗/Z 嵴O蕏揟!><漷+-飂J y瘽]籽Y昘@V y杚誠w怷治V!戝橽好+I痒黜远uLE豄_o 玏T锓蓢笸燏钿=蛨lL坘唅熾睼瞣5琳酼э珤+ 媔F蜿覭?LY屟哒o*镥 m М葙(#緣6S橏焂9╅Yur7/#拃鳢 vw査夔_钥75.梍琮')吒矴}{>谤辱 W7矺WM绠>!阜Q ,HA+趱 螘苲TXtDescriptionx淢薃J腀衹N駰 3a@釴=?IAR誸UFr{肪▍W6j&l(.婍C:pk)硊#泲)^ 粙螆吀蒄'1貣搃 i鳞躯廦y砘o袻\科髳-P1痲厉ZD僲M禛葶耘"嶪VbI;┤禶A揀_播檟HB戟y渒矻wnW#鱯IEND瓸`javapng-2.0/src/test/images/broken/offs_unit_specifier.png0000644000175000017500000002066010646327754023761 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ oFFs4$租,pCALbogus unitsfoo/bar1.0e065.535e3W@{&sCAL3.527777777778e-043.527777777778e-049豑8 pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!碝Q4鴛w;);6殒KWВ攅h 塃7蓞H?U-¦鐩D璀盰蠊鈫宥>﨔矕訒芇憏轲!P:彂坰広稽赙瓓<飮犀I -梂飇蝣鵆7/H鎐,槝L筊d頀璹%)曡+j歪崞%讅v編銳P&詰脕脚z厀4#;邰巭G芼膃/緅;纤棏E\"-!%_-楈H啋m警w0/氙p/[厣v雄輓:只;聄v嬪/^F禭"踇,",鈷艘螧\䏝w[牫拂"薐椟$ %狌6踄2n骮濰d2.Y,"鲗c鳲棟l嬕緿壭韛o\蒐t釙o%皾u1;[*!6瞕Y瑍褶孁フ啕麠!nw范刳Z騏齕杔秧n睜聳d靚o胥r鲲i軏绢乐﨓d[:靔接卐楀qY蒇拶~筙P嚾Vb\~`v顫M>朥=_蘋縕,圞%鱲w~渤蒎/_袝--gW踬,棴韒.[K:銒袄lwY谣髐こ[淼\井,儹%le谉硕`』誂o a刹L_梯凉Y顊6W陟篘p銔)`$胘a竒 咭6\]3w55楦璹噓檈)偃UJ筍L|MMT<眘W崗瀅楲G$儍!\蜂#O胴鄚蛙カt5銠K蜔!顿穈,漲面Э圹n洦袞鬿 糵尺箈牷2圞婎粃嬢.髟6vw椏齛闍.沸;=蒎W焬鼟/C桒E胦c図n叻稈墵粍錼褡鱲穟禘>/潀`Z秚Y卂%嬹?菫U搈e魈v棗uDe[儃8縛W肗7沆呤SX,??铐f鬯邆%寞盕sO !.刹..竕A\.偻簣覅棳7]铂还&_车礵w[%鹲鱋q赦綍mvw铨磬轔:%/_4糥D~髍羐_间3_瘾测"驒(坷/,桲v篬t火絻t,朘,;蹛L視憩 ;/懎.:-骂6婬窳綕/縇D曊i\.w~dw/)L|眻僝u7琙膔 嬒袋2".{鷡W.铗v!,:?杢K澜X-蝗幇蓓步軪w厺n梟wIx関枠.嫰棓_猿棆)L境卜3屬摭樗 咣渗疚p/t轵2~臰qI!陆韉豢痺X$掆w红d]糁6q仝俔組v芒u`_磰i懓岠鍡a眖:焀釛e跽g?K_,j篬K蹿罸崴 考yq裹铂耂鱡'暽_蓬[q盌飊盶聉W辱-踻抐 漀2 婬珉%咣=朹/閚翈t煽?o^瓦~绮楿騪0]棡\]3)}8鶜夅簁nc(k踂撎唪?.屾岚8Y麒d#巹顷L8熮]!2犒H騇兩2b犹?焳#>.悷 4扉&Bh耆湋@秵腢/L""蹡?熭瞥]3 2穙 .耐6bL$i9发ュ崾敒珪鳓礍堆)B! 沊7憫吅壵涴S凗T鳃隚)澷w狗群UF={2叵廠摊壚綢Og&!絼2柧缏焐x6&  綠黗`G"俿亂羼>nvpj徃褣畛鰴!契空峖U尴ウ瑈镮諟敟Z#\听庸玘K^晝=铉4PX妹驧Jx(!霰N 捿肥L薺:黪網21% d!e坞仜&KG-eW Q;?綢~輰-洹}軕 S讐#:燔%s鼬淫髲"呁瞅=K!D聩锶b}痭乙邹9壄=ぎ=捯s撘e憉oM鋞27w):W8(僗/Z 嵴O蕏揟!><漷+-飂J y瘽]籽Y昘@V y杚誠w怷治V!戝橽好+I痒黜远uLE豄_o 玏T锓蓢笸燏钿=蛨lL坘唅熾睼瞣5琳酼э珤+ 媔F蜿覭?LY屟哒o*镥 m М葙(#緣6S橏焂9╅Yur7/#拃鳢 vw査夔_钥75.梍琮')吒矴}{>谤辱 W7矺WM绠>!阜Q ,HA+趱 螘苲TXtDescriptionx淢薃J腀衹N駰 3a@釴=?IAR誸UFr{肪▍W6j&l(.婍C:pk)硊#泲)^ 粙螆吀蒄'1貣搃 i鳞躯廦y砘o袻\科髳-P1痲厉ZD僲M禛葶耘"嶪VbI;┤禶A揀_播檟HB戟y渒矻wnW#鱯IEND瓸`javapng-2.0/src/test/images/broken/pcal_after_idat.png0000644000175000017500000002066010646327754023035 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ oFFs-哫苲TXtDescriptionx淢薃J腀衹N駰 3a@釴=?IAR誸UFr{肪▍W6j&l(.婍C:pk)硊#泲)^ 粙螆吀蒄'1貣搃 i鳞躯廦y砘o袻\科髳-P1痲厉ZD僲M禛葶耘"嶪VbI;┤禶A揀_播檟HB戟y渒矻wnW#鱯&sCAL3.527777777778e-043.527777777778e-049豑8 pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!碝Q4鴛w;);6殒KWВ攅h 塃7蓞H?U-¦鐩D璀盰蠊鈫宥>﨔矕訒芇憏轲!P:彂坰広稽赙瓓<飮犀I -梂飇蝣鵆7/H鎐,槝L筊d頀璹%)曡+j歪崞%讅v編銳P&詰脕脚z厀4#;邰巭G芼膃/緅;纤棏E\"-!%_-楈H啋m警w0/氙p/[厣v雄輓:只;聄v嬪/^F禭"踇,",鈷艘螧\䏝w[牫拂"薐椟$ %狌6踄2n骮濰d2.Y,"鲗c鳲棟l嬕緿壭韛o\蒐t釙o%皾u1;[*!6瞕Y瑍褶孁フ啕麠!nw范刳Z騏齕杔秧n睜聳d靚o胥r鲲i軏绢乐﨓d[:靔接卐楀qY蒇拶~筙P嚾Vb\~`v顫M>朥=_蘋縕,圞%鱲w~渤蒎/_袝--gW踬,棴韒.[K:銒袄lwY谣髐こ[淼\井,儹%le谉硕`』誂o a刹L_梯凉Y顊6W陟篘p銔)`$胘a竒 咭6\]3w55楦璹噓檈)偃UJ筍L|MMT<眘W崗瀅楲G$儍!\蜂#O胴鄚蛙カt5銠K蜔!顿穈,漲面Э圹n洦袞鬿 糵尺箈牷2圞婎粃嬢.髟6vw椏齛闍.沸;=蒎W焬鼟/C桒E胦c図n叻稈墵粍錼褡鱲穟禘>/潀`Z秚Y卂%嬹?菫U搈e魈v棗uDe[儃8縛W肗7沆呤SX,??铐f鬯邆%寞盕sO !.刹..竕A\.偻簣覅棳7]铂还&_车礵w[%鹲鱋q赦綍mvw铨磬轔:%/_4糥D~髍羐_间3_瘾测"驒(坷/,桲v篬t火絻t,朘,;蹛L視憩 ;/懎.:-骂6婬窳綕/縇D曊i\.w~dw/)L|眻僝u7琙膔 嬒袋2".{鷡W.铗v!,:?杢K澜X-蝗幇蓓步軪w厺n梟wIx関枠.嫰棓_猿棆)L境卜3屬摭樗 咣渗疚p/t轵2~臰qI!陆韉豢痺X$掆w红d]糁6q仝俔組v芒u`_磰i懓岠鍡a眖:焀釛e跽g?K_,j篬K蹿罸崴 考yq裹铂耂鱡'暽_蓬[q盌飊盶聉W辱-踻抐 漀2 婬珉%咣=朹/閚翈t煽?o^瓦~绮楿騪0]棡\]3)}8鶜夅簁nc(k踂撎唪?.屾岚8Y麒d#巹顷L8熮]!2犒H騇兩2b犹?焳#>.悷 4扉&Bh耆湋@秵腢/L""蹡?熭瞥]3 2穙 .耐6bL$i9发ュ崾敒珪鳓礍堆)B! 沊7憫吅壵涴S凗T鳃隚)澷w狗群UF={2叵廠摊壚綢Og&!絼2柧缏焐x6&  綠黗`G"俿亂羼>nvpj徃褣畛鰴!契空峖U尴ウ瑈镮諟敟Z#\听庸玘K^晝=铉4PX妹驧Jx(!霰N 捿肥L薺:黪網21% d!e坞仜&KG-eW Q;?綢~輰-洹}軕 S讐#:燔%s鼬淫髲"呁瞅=K!D聩锶b}痭乙邹9壄=ぎ=捯s撘e憉oM鋞27w):W8(僗/Z 嵴O蕏揟!><漷+-飂J y瘽]籽Y昘@V y杚誠w怷治V!戝橽好+I痒黜远uLE豄_o 玏T锓蓢笸燏钿=蛨lL坘唅熾睼瞣5琳酼э珤+ 媔F蜿覭?LY屟哒o*镥 m М葙(#緣6S橏焂9╅Yur7/#拃鳢 vw査夔_钥75.梍琮')吒矴}{>谤辱 W7矺WM绠>!阜Q ,HA+趱 螘,pCALbogus unitsfoo/bar1.0e065.535e3W@{IEND瓸`javapng-2.0/src/test/images/broken/splt_length_mod_6.png0000644000175000017500000000245410646327754023344 0ustar paulliupaulliu塒NG  IHDR DsPLTBad suggestion 悿gAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/broken/trns_too_many_entries.png0000644000175000017500000000244210646327754024356 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTE""ss櫃橯 DD晻晻曟憫憤崓b 墘塮f贩s sssoookkkggg烫UUUggQQQMMM88 V 333////+/++w||+'s+++o'''x ###UMMM < oo/8' UUM M  忖 bbΖΒⅱ灋瀯 闡UΖ骥3垐堎賱剟ww<<热D |||华 bbb灇汅"^^^ZZZ葺''xxxxssooDDD@@@ff<<< UU444MM|EE<<"""<33"D''<  //蜒 贩 吵砿4#萾RNSykG騃DATx渃`寣XW_!^.aa溡K朎蝅,廋:ぢO<絃槂;#玹饠孤聈q襧*X%<\趨Yz9#c匨促衐sf 穔眆V %hw爖暻Z阐寑磦牥0妭Bv┄靚aa+>W怔菷琝` 鏣%②g鉃椧#湂靱a┪尉鮊砽剠E瀱dD舶返U4.-壨S 剆 D厖-扟jA*躷绛雾2g#寪3)槫"g寞p励(0I5{8 H蘚 昣 $a}滷c7貮皞y1她魰`v媃/r訳敥斌&K颅Pq洣篖%蠦}?aaD攩鶃L*_*鑘>Md'R@菴崢 r浘+ 鲁L 祭bXZ%禞!F8N7) ( 捆.铇&  $纕虇Kwq1愅0i^碳0>埓m冬8 jQ9/Kx毀鞍vY聻匧8xq鏘+眽嵞s膊桤'IEND瓸`javapng-2.0/src/test/images/broken/length_gama.png0000644000175000017500000000240510646327754022177 0ustar paulliupaulliu塒NG  IHDR DgAMA唹r(PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/misc/0000755000175000017500000000000011755244626016673 5ustar paulliupaulliujavapng-2.0/src/test/images/misc/concat.dat0000644000175000017500000000056310646275026020634 0ustar paulliupaulliu塒NG  IHDR ,wgAMA啝1钖_怚DATx-10 E咂偰z.z儽' V9c豖,e5|Kx翱窟Op绗筽r艳賗\蹇Yc哔*疞熧'闐瀌囘[6鐧+MKOK珃斠2-c儂pEHp-殶簟/zQ!濉斻Qf"IEND瓸`倝PNG  IHDR k gAMA啝1钖_QIDATx渃Pb鑐醨喕`湏胮敂16nDg钞g]!惲dDCH dJHR宏? 0A 翣9淩M叾賫IEND瓸`javapng-2.0/src/test/images/misc/crashint.png0000644000175000017500000001517510646275026021221 0ustar paulliupaulliu塒NG  IHDRR躥\PLTEベ熭2IDATx陧褹 0鼪{-曅K@ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ JN0π3IEND瓸`javapng-2.0/src/test/images/misc/ps2n2c16.png0000644000175000017500000000466410646275026020665 0ustar paulliupaulliu塒NG  IHDR 瑘1gAMA啝1钖_zsPLTsix-cube3f3333f333ff3fffff3f3f3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fffffff3fffff3f3333f333ff3fffff3f3f3f3f3333f333ff3fffff3f3f3f3f3333f333ff3fffff3f3f3f栃媶錓DATx溦柫 0DоA藒俘拞&f撎z咵=譅B>/鄽飀rs~='3_吴骦w胛t(p3楏眚p]`蟛乢桁ytΠ?t︿(C鏫l5桁2蹊L伝杼ゞ 濗I癅g.`囄(`秅 鬌g&經((`嬑麔60澖Y`z忱l(P49:{眬z眬*z葻mt3饊螢鳤O肌3挎B⺗荒IEND瓸`javapng-2.0/src/test/images/misc/itxt_compress.png0000644000175000017500000000234410646327754022311 0ustar paulliupaulliu塒NG  IHDR 恚y潂娑鶗Lk瘽U暺(3祂暝A獌y懨=龥睐痿齯鴈衧縫箳+秩2:啨A訣7荤萦woyU~wz:`{怦(棳'^T橉U*qV炷Nz鼹缋峉屫)皤覵[I[笅DY\罯*_唣 ?+t|' 厑腅镩3嗲稈穚栅$L黾TP罬á姭R54: 蹳|6瓠用僳縷轪斻涯3葼@ *TT:0`p鸌vz 蜀(緷葤"姌D诈婃hbvt;喕}裏@8}*(唬鴉臘v槪8箱戗炴i炠赓魃3Z卵g 攞 狙I骴弝奧 L未H 蘍=~衤w'尐%咩乭湀')<嫔G暲⿷毃憱h9漗zp70F諶(;{ ^瞲糈 ,#)Q%1%j&2蚇? p锟(寜Q碩; d邂 袢5'ER E,捵%螖虜┢镞岐G服台Zf; 膙:1#i%a墱盠11o陚ct片e豎 !坹苳b$FR:cF^繘B)L礡玧56伆 1,髭爛皞xO埬HL牡莆%+X擩㎜暆@<4 奀剟鞲Gb"5F嚏浫昍笔N l退]B.蝤篪垙剟O膖緝滣粣'R(60 蔖]鰚rp熚胓夂邊8+G伆 洹瞈 V.: 梡i!聞& 虿欰刖;:銺D椥Zc(阕? 劊@&K鐐瓋瓋銧>4V$瓲到倍O霰猵=3凡2$梾摱 嘱诨攴嵜鷺`1~<牞沥5埖}赧V&橔圩潜DM ^P謄姻内>鷓眲Y脩}Lh藁>t &moq#啗盕谵7磉卭偖;5糬Wo箕=埥V堏珉+畳╚G#B綽>em8 隅電絪WIzP 檕;>U牁吻詗壃A幺僶>}疆赃臺函>▃pO僗兿磔收惱 /乆哋|鰽uk秷倍7{髌恨惛馺萛#倍廠{枫|醶 w燧<豊壃璃A4 /]+Ab譞霮稁残 嘱: 禄竀卙契芼1Fv辄内>哷2鎧c涪稽:躆僗刍kgK %滊 奯F@D瑜B内>惷裓矈_F$n旕b;t狙;菿'″ N腮嬽颩#謯5 矉b7J@裴旮c須婿窕 rB/ 6|-盬7Hk瀩击梽b@0楦c 饫7钠汤S侰k給霰鋳壄)`; 鯧{KS闄O<确@l潏]k麚健颫,c鰽 甬何w珹祀8A# 贬w鶍莸座5坿赞忬'懒筛x惔萧]k癹't{C邿N 67盵鰖監D嫉彸靟q 榱+CO N貎Q喚?18紀X^S★F鶞}я寚+ 蕨A湢|爢? 膯。 皎 怿韟8彬o摽仵=3耋蠗髧柱U1無`^o傣:蔽G{奜蠑s轱~瘓u8;儀h讋嘴 }\c键炮嚠A槉/佦躯桒悅t\>h }0堪飦渣叛砗 $X苍SBy痿砗 龊} )玮 敦 趗霦鸃^S午頞聑痿RC頓S棼鮾'}掰$O4= 鈽仉)搜'利<澘豂廇7T腘祯攅W b眭擾軵i'浯嵑 :眓4堓f(n魞;o 覌{簄kh{j痵/棼飒眘C 鈽仉 h霍w b燀1儳s/棼膯oj>P塖u綯漮W逴}t>飧7魊鱺譪%郉{37E@丗鐜p艳凡往貎喔諵 鯫需孱]戴\Z峃忏弘&H僗&!T挔@峃忏弋 康$A~澞秋]74 iE4F5p\74~n仝4F愇( 窂.yqB醋I|蕌'犙 幹迯迟h尷k簄4:-+鳋毉拖@3┕n7宿/车ht6地;盫| 绒驳 ht6祤酢k場~柇?@c6X車_傐t4堛過gS p篤|伀狚&洕箱#v=嘲西疥+`鞃z柱垉t鞢讑X+绝镑彺> 漘X凕~姲蝊靂荿8~靧~a鞢:] 8底鶇惦&@l椟.佧tZQ焲鸫蟇籲 :盞鼍沄早<漘X籲膯蝊靷綇|肓御叺&燗l椟.佧bZQz餿~a砗 鯱需储e  b 8谗a趗臌銂 +n泵荳冐O頞痿呵燗齀瀆qC4 澘仫颫B~痿呵燗鞉轿_祀鱃冐ыu廇冐!k4坿木杊8桛閨第^奘潖{紧慯+bO靧㧏譼眝MDo瘲> 辩:/6T>g+G b b享跻Gh擒^/霰C倆痿褿h{蚟/觥嵂仉ァ4堓蹲鶍}デ燗鰖i( b眭 譅h{pR冐轩孆辵摾眭襊膯蝊祺 鈩l瘲喴 鰵轿_珹熚/珹:q傰艞0眭$谋b'L篤| 衈疕嬾:q簟k'4{漘X8猪u㧏 b蒗v蒍僗8V韚5箚}$蔽'躏-頋q/kh作G+8白鶍HT夦&{漘X8揿uU秭:堪q<辄b=尻a酏 嶤{澘8灻駻耀2籷 }4堛豝/幥> 怿沧i?5溄蝊祺 諵題Z僗8^祯齮t4堼:鱾q軆X噂閘s木d縶:cq8酔8戊u# b匙鶍:N殖胟k'{澘8nfj莵轿A烀灴@',)荼i醿闫嶜戢瘋碠3鲮<qP僗OX襍篶蓿rT猡I揵{稞隷>c^惦斋Wk+啗E冐9嬽p瘍X'帗;狊紽耧?拇w穘撄仸stbΧ憫慶菐M,檧 祓288妫┿薵e掭 6赠嬽镔4K 鶊跆1=伵yA磦`賯蝵=?Z垭/^剢啨I-,姌~鲑g湤]籿'O瀯稌-俢幇.b輻_~壗試q麲Z. 庳白X笙?+W'麩| 郼媶(bwA,逭玏K.蜌5+莿}笙亄菐Q籅[eGI悖G廸蠟|衽焴g稈(Q"$I 鈞家 雎(v`+>7m7C鹣?\緗y羵y_< X]:w緘霒餛@閵_-p_眀E,YD襯X.屈鲔o緆桩=秗饽塊.]磿璠穠胫 鴤l鹜8吻箧蛬犳, 膓7xhI4坲竈l刿垄^-Z嗬錑1偞G╓窲鲄 f虡Q.  ~蟅@-蔠d*A-,纨嫱?}駾i缜礽覨8-)掲Pw絬皋崦囘紋c颺俪珑虣Kx髻 翳酑qM8懨銮锟,X-[63$謰FFe丢炩G/姌幟;藮-S膅缭㏒U猅岢z鑁仚縓8佦r笧H萺迨碲 涖蘬/_^≒!Z鴎[蓯!敏橛E?櫯艐g蠟]盉\炉雫暢紀+z壨0tr菽Fv:>浽&0'%K栜箂?點蠖薷q#,~笸7Y瞕#5le]暮庄_泧診懨裁g/N绝 0埲疋梾鑌1_稛蹔紮$I帗9s鎿'OR[髤琙*S覄埿(噮厵葜Z!jk菑}k桩-趽驂2g螠萟 (u堿 Fuv a 琳 穲F俣m[迨懺D|#蔠郖 /糵>$N淴垳躒8H瞕肾钶*畛f 湾皘 s汕鳡L緈秕4|P3籜牴b 衛藜笵霬亃糒6黻斋?坊t橐暾#<藯/攉g#F 4╛縹癏輍蛋亿鄯o嬘@&咨H犩婒e 桺$矦櫗\椑諜]+睧蠞;7e蕯怆Pz%J敻x瘼M摼^ b痂鹽司翽`$羐7a\[竝崦菆e:*T葮1c&M囡銍薹o逽Y<水{'v熵Q甛9A嫞>襀瑞氌FUR乍w熯>婒n琐逅桽E>'Z&J*u嫣噸D绤Z颺聲傸D耖喦拘U笙?[/]4j渊)R樈"B胪76{褦)S-J骺J*-[鹅冤S诘k1嗪廥YK,)UU#iT 騌7戅熬g蠟?t聳3秏鄱[穘糘漄翣S砡赓砱?噮b oL俨e 恩艱u9:本^W鞸98 JB柸热Y砯+V,桧9q皟={霈> 氳1c芼螠/嘙81攊uV甛┆mE4oe拫_辏桝P壪>縫蹶誎(Q芕膡皔骹{晈疋 &d蓲Ef琁垈Ll 衬 R钩g螰蔰蓲}楅缨gM4AD媮摼]|蜾僧]簣覸苣矎躛秎%溛鉈塾簎kS 橥!C蜌59閭 虀 {$pM时c:t "猏b藪&M:k,(飠 '辶缨O蠎# I蓲%6m婗>|胱-吽菃Kz;厺"E妉匕0蛃褊p稝萠煾+鰚淿!-[6$獯Y砯l压&k脂礿:{鰈T.b<o氼,j46Q旂蓳G耾盦脄靯潢斋>}诃5后缦麝貹笔i 1疋卆7 s湇7r絓}厲-[v硪>(}s|吅W竫疋w遾'C|訮2杏妊D瑰P鶍'垧S呰襙|z憤2h+V礿U嘁≦b艐內)R?蔻颰鄟@侍=[皶5k(HI  坽翳!'9o掑嚩a脂YJ切;!I璺o呶筞穘=`纮㏒>}茖坺5蟶栯庄+W&思j秹%傛*蠿v鲮賁籿m炊_漆Nj煩{?/,!舚塜C斩i应{黝饤搠磇訑惔琅蕁桩]C 憣9捯Wㄎev薘F"+UwO擦蓜屆躏Λ#鈽~檁8M4E1O~璟敌w菑條.扠 )|橐 4h蠤8+G柎掶A欧帉孴彙莯儉刊傀Z瓭!sL(紆螃}妟廜使螢=鹲XX胫璠磆眩G廯[&袭]盒採N脝 e爻[穘0形歼竡5j涫+[秎7o陡鹿绋靦橐qgha1-圉8\?蝊珹靅{刻/蓳'N虧;v 堩诘[瞕身[,2'!6哃h痎胶x疋浭贓鎼 蹌黑祂#煃习挨8s鍸崧呎!8擇:狐挅覤|衔.緇.\6mZ藮-7o蕈M浂m"丄3痦莴鳕Q螠箌_篹藮M6E凣`?x疣莼w薦5慌呒y.b莘邁K蚎)SΔQ佢蕛a椟膩E噢鐋+m4暐m j齱q芴L_箂`昅l芨裆闱觎j篯 q,G秛胫Eq'M9尐勁pm芨qHo鹹1馧M榁睇锟嚾璟礏1"44t蹶諊緒.蝹輻/_*鳽Q:t╞艎㏒Е讙1c,Y怖鍈┆陓揪a飍艽辟 浥=媴紀繄綃*S8坋b債*钔蘛穕%飶 >觵ef嚋糬縹鄦剟棱:u4k,88;;w藓ySY 貽絚嗔凈N>cX6mZX尷%驩E5宁梍X=鲦Y拑茷鎤\ 箄楾烫)s3a藉D薬!W甛Y礿侦俪A /Z磋笼 j^!抉n"粉穘璤縹聞 C9r浯i又E;{霈PX杙iKkw淙I,⺶垳*U猠藮y躭椟舿b崼蹩f読啨抐J ;鸳畉-9z虤譈[麥81wG錷皐轍鷆9九c貟喵镙撊?砄冼鎇蠲4#F寑鎐茖7o藿粀=蝊o鰹$ 蚯4濶pi8Z劼󉔖镓蹧狡r|矺$*涖7d蘌鐾硿-條啯jl衋扡囃捗,殈畧q繫p鹂4瀱.>Xnq%鶓鳻,qP眥鰚柎H鉒_?/膩泎丿.切<陉 肄?wg,#龀)縹6E[SJ&靦q%9 L藹,]}癒冐鏎q袣;鷃W豲掄鴂鴿啂.b/粫3燖靽Q鸿鈴 鰢膩0亘)瑡焹仞顸臹艨5壶? 蟔靭C 隹4 _蝊霦鹺~^/瑡.b脳花椠d䲢_XSX桜贬躇5堼/堪Π. n_蘝Ⅳ奎職潞h頁鶍]駋%堼/堪Π.腘甫A滒f汏鳯8%W好岄挱荠鈘幉扣/Na1轢M熙L7踪S嫃╖⿻2. U鈢嫏 >图鷶}+q A鞁>V?/琂 rP'Y誃QLV0崐凍KuX幆,蘸K疾姃*N9l~d=肒+壞oq+y浳_祸袴}鳶篰?K棳⺻椔嗇塩Yk尉樑昌贀巡h玅V ~笃 簓簋絳穙莺s6钷姑;黝掊蛧/^糮+U{il裤s奨?呤珉鶍]@摽(b?/2碗胂+~={鲮小C'N渪蝤耠庄磿)Q十受觛琪A釙+WN:篷/\ ?zd柦J|sW瑋2泒)!;ⅦiV?黶贬#鶍=鵢~ae嫣k淳Zw婡 洅%K錾'煍(Q碹凤眩切1:2@T渲璠LD~.]簍钴3g螠4ip缛 倝悜澟S賡U籿韴饒G阮U疀碹窏*UJ%< K曅鉢Z莺u賷oM6璛" 馫圶蚑弡2~頨9ⅹ瀝(G,6>$$Dn>w儡鲽3垗劃控IC鑻 隹,诖i.bqLz菛怨s绂I揊末<レ dl%郥蠟=竒爿4󅣪%< ?帘靤夿 -]呼聟 `蘅V&3f 6柝眂5k R98讜1c艻&=}蚰Rm)痏縁9N8坰 TF&l$IB占y笥G卄e4{鰏C饫!g|鲮賾#Ghl効畧b澘X冐={刻/l. 6琠縹玍璙痎}瓨(藫/枪x"荳ZI苣~!銪眆葠箁磆裝俨e:湚A穧脂Y蓲%y_t疱奍縙U嬉 ,(]4.鲮`L皐颺辱Y/埛m踁)b聆J玽蹶UUasD(洧懆S羂Nr[写4H酲扁锟m舕爐别:膔87;u阣O屺Xk籥飾鶇-耣z蚄,偢;!*G*?黶嫣}`+*津o均&o藜%K,[鹅竡$谧>~舁w/:AD.噮钸鰴#+`拟艐箦( 頇?[穫<宪饪?}诏_?澫?/gW9(敶椥v<~糱艎溥/谭. 2轗臏.蓉眂e+葩~b#A/v 6i巁稊诘kK袉 4@惵鰆U荵p螠9S礿U7(偬3,X&S6m跍9sf藮-$$D!!y秓邽J4偘樸豕s"-=wy.}j05r?刨m%!2;[^絲祇呔-[r 8,娑P9rL0A叝#X滩漟`藜y+w钴2eJ& G葧+W崷O焴iq#=M4塉垗櫩8*讗瘈/ ;转U嫥毟&b(幵脡R) 姌-蕎纮:t[#岽敉)菷:攀{皗黝+;崖怫灏牅?a 9聹#W痎] (3f孊灮碣'諙p4塏T镤蓳f=k叽圧緔闫?﨟珋B椂灢|琏m薌湟8%蜧鍆禸蓸1憷i~釦Shv钴)A釸Y鞜 6^㧏盻/'On匕a5腗黶X樚矧L!殝P臰 -z-,,琌>P L1䙡衫`仐忾/奎@E媑V@Os尧I蠞;988O<|紁崧*R椢濓呋埄g=d癗鈧庡藯?v鞓C5ji<~梯葠!儗[~c+\Q箧烷歑B $kW={vp蠞旟  菐T儹躕 '{黝E蹼胥撬牗絊"癅l$包啪 b/l_櫼竡銡5k插 缦煆󁵭蜢?:t<枹谪㏕┮熨"妪?黀挛悇s嫣箋鐜=陇mx鍌 杩宔 憽"痏縩憻狤嵬k桩!?- (玊㏑箁e 蹶AJb&椚?儐\N2e>l9积)h坌行t橐悿I搨r0妑?~a=}暝㎜2q盭毶+1*r"羛X疑8t鑀T镃渐垷>y2d'q遇,鰃 )眿 Nh鵿5堪}箊蹶琘硽6m狜孈>{霈籷)谑3(,O|0u闠p壃0`L'撫樘倰3g鬷T幦热H葧毧8 %T戬鶇h媬\紉q衉):t(R毋p.s谶M6迦懨砱蠔懕k桩1B墎劦伋桱旎~;q釪x5-X褿癊)5#妘榙?<<釓E\憀俨7钫玏艜澹'L樌U@C`'y$_緗鵹钴i鲳X掆箧+裨俽i滉汁+ V+X盃x9'>杯&wk>b?w钴颐P穲{藳7n4驏wB堶碹9sf梸遀 P'D鹝~屺娙睍+W襬E7n6x餪@&DxPDM?_湩鎌墛+={V s伆)S*"=zv遣e藊狥喞HQ喡g餅壴瞨牚p崧b涼嚠]%鐧,6+釯&qH @a7遼優蛽'湘蜎%^X蝮 Q蛭颫煻i覨>"驺\嫺&鳵づRn峐砯k懛B|^JF 殩 .(额俪>G&皥髿癄{黝=A怫w僣^絲U2oH嚀  q 6橖8堪寐C爨 钤lBLU痎給呔xD纬莚蹶2Δ O孳箂A徖馕碹p% X@ 楢l猷C!C唸;B@,撳8耉" ,K"埿o魁\媸 尪n軿:r 腬微E8CF:糟佰秏3{添S@磍賀( [e2埁]. 飒啀/偊q渊Q釧72DO?欏񪜪x|曗=m菐鯱驃kB苣4何K纴豀鶍堼8堪TP碾"謚)bqM綮贀8=柮舂e獐y瓸 魁鰶B3g嶥;)┘o=f檩Q穆_A拕疉湬S>zp斆SG骷|Y瞕蓱#MEh絲鮿.&TEZ緗y"E锥埄 俚k咨'/_緗钴9v#乎乇c粀镱呖?嚡屟夋蜄-]˙笥猆+ -{奂ys檷"羵*菽胱o過㏑%硖Nhh(崪瞄1眗馏[6j溔b#倔'p鹷~aC`d 5$$E軤Ap堀sg鑆TX孒L:靛亜(&8艛)S袙蕅!壵列熨.'壠c膱c%鉗^=赼M3臃n輮"柆29醨fbZ琫藮逅棌j撢婙(剺"c幡渎颁<捈2?藔彖n迼:'cJj芨q4i瞘萪fp璟翟4沸凕\籿m蠽( O%濡溘 *<罆朄劙鑪嫑b跗籭褆G鶎3耣(涎猈.嬄U艐穕賿f:魓鴬.]*飘,铋(^癭A纯J鵌叙5*郂l腳 b肯/煨炥1rXR菩椳?載i1 钤h杄彛陡x9嘞aa a5k枤惮F熤琘箜愤*X#;(K緎凔'L榾枖Y荫qGl裆殭堘q藜y賠鶙.](+V纓-Al捫RMw6O瀚朱悩_("柅V*6嚑琙氮x疋3g螜3,8翯窺磄嬖B9,Q}S^廯3辠诩ys參 %)Sf螠9b#烌;q<唻鶀~a'  C ㏎趾uk1|WV4?霾狭9%X缥漇y&碂Uqy鄯o/s靅l镞7~黿魯D藒h+蛄ㄕ彚㈢眂氰鴊蜌/_>鑆癭羫蹶 _痋筊@滆m,飈U頲5鐛}祃KOv"nB%琗7*寈ф郮蜎7O謇聪騛橽slRm岂闱門IK欷疠*U婏q韥b#烌[&樐;堼>堪GFF俍P戦:碯礿 l箧後幄+]|楶賡缥晅楁瑗行P墯 睿堥5涬&y姏4i"02觳8蔜Z:ujN$O(廪絲嵦<:{鰈pp0.R虭崧呝A#藲In蛂\畫X'Q!^蹇杫貍cY#JH 澳w蘂?x=q鈩耦﹩-I厶3Q3f睦Z\+鏞GS^xWKn菁煞c儘m埚嗔僩螠 P駪8A8 Ge縷鵵4顺g蟐 ,鎍燝O呒v碲 6鎡3畬Yo棲琷燜掖#|N<)[秎]/xUq嫣靖 d矄9/劯墩郩昫]璒蔣休B7(溩V瞖薞琗眪Y8h蝪鋹菷9=玏篆[座x穫V`緞琦!堪鸈9r縳駛躯迦#k摘U砯MX懈q+V@%X搰1B"[蚈 菹8 D酃s'R<.`*]呼鹐Z毠[-[@<{鰈础湬u闦秎┮鱔&隄藯/w檐9 ,X訴朽鰇墓F撴+錕踐+T簍("PN"諣>爆 *o 坰淙6mZiB貤L決!屿p黝萱猺zT0箠 覇?S腇苕/N 慄翹扃蠠翳Qz魅a(鮧蜾蓳07h蠤6v輆*O貔箸Q 7/~嗬T锟Ⅱ鉩菐昘Z骮:>n诖I"7,韥浣ォ\*&[ =u闠T濸祃R菐殒)R犘猆+ 牝O遾鳚&,簶薎.]黝輎6/^糳蓲+Wn匕a踣穙呋w铩C嚁 HM躑@,c尮s._军甝惶-湽胊螆o馠8wL脘|鉱脂眔囂_t2e.]z+W纋鄠貓命 抇貕=袡7o蘖Ad縴闫芄s醥碲笛CT矹濄(8╜*O 啜P迨曆寀暝¦5j-[V&X詁雄俦缿g.儑恪4A A 磀_桕 珆嫣櫐M浺g 偱@ )-8饊M 昸?駬pdJ裦刌栖,谺;s?╉愤~肆K,蓕pRg 幫P鳅x漼剱& 丱?#*71_r墻"帤舿饫/炷.?愬!懠 许斋W/^1c,已豓嗖虿魘-檏蘮\xdV.缙蜃I&! -櫣'眐捤榞綳眀鄱m{疋匔F(n邑燯q螠9矼6]缰腳避眂,e瑩rUr 櫖M霹Y蝈藖o蕯)eE; Uxx敢9,闙厁嘚薭蠔媪瓁>礝_囨p 臇%禅蕷5kF硖蠌>婂+ Dq捒8~A8鶇澺W玍M"##轼優珧逅应M娜IU縹}Y钐钾疠~瀰X8pf哩>/V湦N爩崵\唷0a偢)斆伓D(8ha衮㎜2q2\`B;[秎坣Y#}z鰽u毥;F閍}:鎂TH羺Cg"涸 j(!& 椩D'宎X貪鄯﹜"Eh~h91姌滶I紘y窸d槌g蠁 鲺譥 賿M絠&KSj迲:謘r.g縰&JDs笃 I婃b諟)怀gn` ]l篁B襏镗瑥)Cd@'n匕A柤W<尚叨m垩蠞;梉辕_?崭熋"硂腆nh橓u=煰^践音R *紀呔胱縲O蛚w貕 h睋8蜙鶇]tM 銹=<B勼$滥悙o@\穘轂={钯矴B軠H缟eTK{ 刍!昑羀娚鶦(A-p<;+澫"r养*︱01勨V垱窣炌4搹犻ō衣拝*T{<巴C╲檐筞礿蹼庄W痎艎iQ`q砯挺M浂y骹ZY衄毌(⿻錄O.6: M鎂 4–藮-橱M9舊T;w屑W痎曢3sb&:魁鲔逅楖0v坈%q軃8 籦Og拠雩焴釿98{疋鐎1O#I@ 念F]T 得棳7"魽R檻aIk)堖糸芋Yt焾bY眂<缨4\N:ud ueZ FT钷桔砓 ?噮Q Y%O陙D&膦驡鹿-Z攒Vh2玏痎戩俪svIp,3 e罁"3o 纯9+4屮胥絳鮂hC鰒碲祃袃f祮疵9&╙D7_鳩ew镛r鐽祇呔T㏑躳js%鬍}縯DFqiz-|;*8G&⒋鱪8q`幹^b唜槿笕顸={朑 僣@尨鋲猌礿脝 慫]籺*P羶胋鲳*o茢)S瞕蒪_q瀖q/厍汣bw钴俸ukY"SK蔎n2b&閱找y 萢A0厠5O垠 某g螰l饒>9rP=麍=臨胟桩褝狅傡ロy\#瓔J'd師uL媖>敻Cn靛P5j脏榊砯kWZkK錊鄮』裴 !.蔛/-⒃A挃t;銯』倚r,澈5踸1腲L 攸庐豄阇z坢诖Y瞕晒s鐮乜miv:坓穖踲脝 钸7b&缦煙-[6 蹅樖蟢杘fgt爗"篁効蠥fH3Y(e蕯HH0堋kOg邷硖#雈虡驵,妨VF7n(攺蓌%癓諤8p zS<排I憰杁:変B挬.2蛣3h +Vyl:剢, 鈎+EliEx錕i{膹ge&嫭滼5R%M偓*a$-s奍&?炪?蜎7隼贬拯*<坞 潼卵讷%裄M梫羵<*勖Knx1齋I  宄熾98邁s抣W咁?疉os蒐釕y+y)a1姀=鯝Z顐822r聞 H#澿 %蝝ほa:髫5耣2斋W嚺 嗨暒H$0+K伻藿毁眂v[*郁b9sf4 鳔[穘翨IU$mhhhppp蠟=G豳i2q釪;'O驵如诘kK抌? 緎6m橒坲詣K鲛蔩K 潼卵贑說蜌!漃籙玍 Y磆褖'銖傀暛9>|x璟Y>"1G懊l*@仉薳赈b戹脟}I6m箧往YBa 櫚w= (6q/6}腟E 浑汎冁梎  械K/姌Q,炩7n,X盃i应掲蜌:y颏殞恅DF QhaM|料,<<糝魿\縹崒PI⺶鴼|绢 :堪祸K.]秎悈朋缦袂挪~杳昗痎馠,_緶>#奨 :翳眩鲭>擄蠾_厽M麆 z蹯祔箧/閾鏺辩鲱/:堪鯬x蓲%拝Q禁L:u缥(bI兩損琏韄~u胫Xt1玚{熰疌瘪n&I 鈞qM任L焞闫嵎n藜镛颫熀誁j;gk瑑X鎏~疋a(糱 D馩?gT蓶-[眾鲮軫$Q洅竜H榞舻c,觯@鸟豅={6澀]籿+W 奺姵嫛膎嵼y:堪泅+W甛l+6j渊6m趯=E錕5~p穘軯7i窑N:(b祃]络椕h吱埇q桬e箏#G铏碣硣W疐FF陓腲 朦1盻砯 敛>|x澓m鄱鳃C<( 6繇缨J*wF禜(}%&E 欜3粆可蜎7_竝崃@U麍絚鋏朦1琜癭敛e薖膌Q妮簎7n芷?z$i0e祴;v繇鄯z蹶7甝籿.]秓.Y4坲9孂 乚鷁v镛 慹齠暘B冋涼A. 讳笳鶇ch币V087o迶)S褙眂Q< < 锌C 膷5猍穘籿韝`暮x宍刁馀嬜痏:u赅羶7o軔 藲琟 坲~針#嘩琗眧鵵秼/喤3f惕庄簒摘Ug螠y,樐隼#F尐Z礿}[i诖楹坲Q-栥娗V砙薕倂W痎E颂:@$詢u薹 坲~a痌蛩/ 0X鶦桩脝 [瞕蓞 か(6N<9|鴓q絲鯕4i壹ys商U潱諻嗻tK〗э蹁馽櫺耩~2Ja蓵5麪 A { -Z$#uy诖i:t2d2箂o藜伮l懫銲&胫萔才9垵,瓞A瑡駈8yQ|暝+Wb衛蝪痌眀6坲~a/贑5k,[,,,-D1cFHH壤a4贸g蠟>y旅痍斋CM0碲5j渊g+鄾^ 諩囄忡蠠呔u敕邁悃u镱]^'*鄄k,/vb漘鼗霁W瘱 猊K"o耵橛3`纮熋翹8#◎䴗={v耩稸璟矂(詵lQ乆肊瑍Bwn哝1:[鞝$p聗qB V#扼;鋲/Q掝G傌V璟5{鲮^={蹴蹢桯`Y*塤? 緗9s4hP砯推W玍m暝*f'j堸轨0?鞶ek蟾瀓 谍\'飓岑頊荟热H~l瞨(}2蓤m4Xc>((朦卤a縧俨逅棧呝骡y箧乑((9s鎽#G/!S涜*"%Δ$*f孪樸pKb.獇讒鼲STPv抟豔蟧p琤孕縯馒眮cX氪k"庫儌霢 穷?$/Z碒&t8p]晃?(b櫺翖蝠x莳U+"甉F鉕>頃/銥艝's窚+V窋9氡艊甐0)7_}腲鷻.杄揾9s笃 @"她盶G嬤Q:縫現Mb艗s疋沤z 莘o撸U6 1膾 6 ,羗>梜"赒xo%2SUJ$!浇 慱&,>"鄘碲5@) O碽峩麪爓\:縫熨僝q-|XEM虥7疧>]籺}蝤1[煞`衷eO6谎倏u箧'钸籊'屗7顼>飧2ゞ 重碂3g嶭k隫厥芄s莺?><<莼Y钹郹@\縹U珎闰1\ 3蹈滃IV~胣=c79啺^簍i鶕&M3f w竜呔潈反k桩E5猄*U蕱-[瞕牲缛#{鲮2d葦)S迨晎麝-挂ベ3轢浒y*鴞y~oA燗鰋]泞=鼌aaq橅%垩械胴眂桩]{魑I7丩悌X砯 鳳 0鄢g$`9E鶑逾頩s 觽u欺曈擥2>b長 :魦/夾沷阁 .鋒娕q唼*帴u'w庄#囃=G 疿7鶕5Xc4L6 庑行92k,Q穲饒玏"聊O鼽鵶42餎薫俷应MH8.鐌槱M鐥qZ痎絁*!?~\茍躶紂兓2eJX(Q/奎蝮?g煗:Y瞕蓳'g$I^&N湗秹l3?橱熺橐|GW甛瘰2柕E=z糸'蠟=?$ k渶豴c-麄 6m趖嗬#G帨2eJō虦9s醈:wFA针庄1爣竪镛>禁菳熙胱聂楅Hzb翜|扬>{鲮蓳'>|嗬蔚k桩m鄱,]4潭堕渖搃!&L楡!k;M:扲'N橂`N皽Q碹穱w焲騃 :v旄r錔t櫣嘴Yn'S髮3沦搤跽W郩P6弓>\驽W" 堎b@躜嫱 %輶蜜n瞩-c 嚶r搂O熸'◎淒鍑裛={郾X冋嬾: ;u4h袪胥敲鉃={秐:撕a*$`酆uk=猇瓓r琔玍藮-譋1 5#彥S5訥t煁錩鷹煨╨呔] 蜗危>w頫狼>$禕痏q~莚洮Y骋?8t栊7o<cn I,Y>C1E(蘄y'U猅rjn傝e昶萼レ|妸+Wn酲E砈;(+,f駤c媖EL忎瘢G 疎5栰 "禼磉{=癸﹉癣嗟sp02;l匕 6\緗欘J)睭(鈿5k~繸\杅凌 猟攲?R迿╆h1犖 *塦慩紉q唇砐鴅;枏$K,})R赩羖堪x'[幪N颺絘18愩xb葌腬嫒l寮$杯(:拴俥煁瀵RO鯽7鐫↘纫P%@蠁|M╜~xw镘y [ +鰡讋5X bE7"y误缦呖蜎7_箁E$ 腔w镦鵊 藴巉蜌璣絑鯌]锕+=}騞诖i俪g窏邯|鹆餕恫CA*O諵逆鳿嚱o吢=鈵e+孲! ,RN讠sg僥炁,]4w钴_N莥)J 歸羵'N滧7秱缨菑傠冤影a ,Y蹭谣K嗇 .N吀z蹶嗔_碸`Edn妴%`梍,SK虨G銾玍瓌柪 /gdc2麥甦蓲4刚竫疋P8m诖槻_癭A!q瞇垣:8獝向ud藮-江p勬;w畲1 ^52 膢s,陎從P覰[浒V谋g8綇蠹[岃3汣圢<塋玒& 喡礿諝9s*%抻轒靝杽盛{蹯%0屺祓}:焖/7冐氿痧u栊∥亮u>X*鑴Dt!0穼\橾xM穸 E%h楏+V炖嫫沲胱7i忆逩#K覜SW㏑e*7B磈 鲮賰"N2(馓3S獇腈M1獓!簒馼縹M鮣+v8閅狨胱hj警L2q諢 G爀釳$9疦|Q"犍 ]竝嶷祂襈H[b4X絜o81宖f澦, v譍 閻嵭y=|(K:騎?~|暝﹗胫罖勴葢#;&!n哴&劏紪J瑏6m谪{H4iRa爅褧皼~胝玏t皂笼鹴碚腳嫬Qvh*暾RepLfOW(L迮^9c 阪螡={v伨?啶哴"磆F揤緗yn,H&M閼普猆籺閽溤 瀌竜艎%J7煏! 6D9殙o久|v]暮"E(邒娭橭蘊橐CC镙将%題菛虢s6_+_,厢闔鲅瑓g譞珹.)岞钶+c&矈(篖r皿W后la%6蠟=硠貴 K7溝6k諰乆B .紋骹s熩l瘾Z> eP}鬛窑I%h-猵袪A2]>Y0-P玍寶R!44NE固輂礿U Nm+熔+踥N"Uj藜j度[&(7O1鉿栊2)9痶$f6 嵦潯c芽斋跋g杦螠9C_乂V~;2稾񦤯\ 焾6 蔽S 棂鲔oa顜;d繢庄__紉1Z.8p RG屣s磙交E%2崫緘ZM豨烶/妐暎.漽0 y-焲 `鷘莜柆霆谌蒙',@%t≒a禚ㄝ螡;+U獎&厜圷pL玈磆複QС0部䓖g(蹒/^腫Z賤胫M(敞% a_聳蒷呟蝵HH乳缨鉗$H鴼換D漘8嗹矽曟*捐t盫臑夆9rL6崌*蒲+_簍i籿$颫:u衆 F@lb聪-[稜蛐翽貕P=z,鞟1踯箂=z魛0H&P痚蕯穩綌f嚩g頎B.檥G蒡渖C鉪縿歴`q!洇>(,R旪9s嶈蛴藑8v曠俢P^燖巐樷稿砯蛼i)B幛";娓橭(.信lN+h8{>迒&蝈它辒紻KH塚򰙯\4t难盭冐]嫰枮镌㏒:酐缨痎綊Y舛m踁甛筰应啤+Q蜄&\|6l匦燗燕_ }鋏藮<城印,r糕IhK%a(0濚碹?y2E貄鸪g晓械 L鍬覶d蠟}]:l褄'笓X`# L鏦D僕竝a/巰讠a燝bY裸渖擓箸鐤J莉7o 麙[)X癭疋'N淗C麽骜O欌,肀y@+鈽n=G蚥 b@{飦瀀@|碲禇/_>{ mr琏mp|爆"凇CTH靵=疀擅"W琗痢8#RQ<(=瘤潜潭矂敊t翳蜒5j膱l蘓捚f揟芸w斔煸㏒玍$s逮鸅峢窑 l芨q絲醺撹>瞄Z*崗)?秿5b她7n%r儻买韕.*涕木]籿磒)~x硍璠奉鲓緜Co@(bDx笃 I鱟縟鼻鰡粬n冐{ 猕A寑侫[秎箄&(b玶米璠稸璟<昕`塴1!8q)(瓓,E⑹L6駠~愤娪+耒蠠覼械GrE祜藿"喉] R蒀-\窹拄c司窹虯井鴪 [z鵁寐嫱R 韾%YDT训\2V-:g5c茖/;4`脞艐eB2w頫禞]殗@艦+8,,尟鉭6^V]1憫懘旤B蘏]"帯鋇5OAl椟臹Q`膂璠<鹣蠊i应A}鬏w裏後2I7赼:KAbC%鲑g湚'O灁l[霵伣{?~溇牾胱a欎<藦(ty蒰/\竝橐カW癁9s>ugT~>}殢P庰踥垦 n蜟擔紋髥#舷;1(搕襾PB蛷9r蘓N8罙7p褣E馨aC:-Z碭箁%紿+挱d7%}O癣E肭a ,&M歳迨u檐y膱(5#z<"<: >+Z劌' L鑙[4℉鍡6篊液牰4.敁Aㄤ皻椓A8▋外+蘲󷆱凪蠟=镾鰺>yB暍J顏橳U靇緗i9孆蔼y>4.}逆 44Q]k悋`3:'N 榕#饫 喡h豜籿 2礿E 嬮#W軿閉瀙`1u闠蓙).??u,$I$]簍 ≦藮-粀>n芨蓳'O0a窑It烯瀟m卨綾陱腇岷畧Q棸斔"瞤9%+硿%_稌+W叚蠠?, wXbT8 m5H馥Q庖0樧6~a芕坥8屯f?秘捧捊珗-n"n 邭J眃镖 v蒉竎梵争媍b ,Y21 鬇H!閃:埮G\縹}p糽2:砆)']u04~磇訆WZR\J&5譆2"E姅-[禢:筴.!!!}橛ⅸ瞢y=M礐p洗0筳摘hg钌仝祂狲浿痏縵鮦s2L穐殴=簊缥饔睜I`囨嶝眂<~A[:u 鸁8q7崦噛y钴9^袏饚t燧A<-(Uコ饧盝娯~蕼a谁!]15sG&<7b獱c>{怊l%y蜾璠服鍡_x篓3Qj:th蹶昭聧5b&3#茯N`#"E KfK曐!Q*y惼8_緗逅棷TDn芨q箧唾v枖嚬蝈僳祂笛簎胼柩毼]蝠> 頸3>f犾0T#ZPN灿z琝筊-P烅茘y箄胫蜎7瘚X麟篲y7驉氻={ 醵m踿庚篜j7尡ゆ餤纯a胊怄xY济 埊夋E 垼歁瓵鞀结W哤 倀桧*bd)癧眀 E鼦瓈級'J甑z2{鰈敆歱:婹=膾魭鞧}$玱pv欛%i$ %o&k脂9%J(]呼w遾椓$mP眓fB竀璟 4-Z礌齢应嵞冂姵Pi镛 P>h袪 &p3麱{4f4Z羯'偿b润箂纰%窇T褒9,l崧卨9./iQ/^蘝蛻苹I幐.d;甙a4棩9﹕Y鵼洚伊Ⅸ懆墾f iGkox千欹p4澘豜珜攅藮E柴`婼B夡缦&+t袁Y侶nx缅r($[.]$盝@,藀@dy蒧 ,裙+V効)m%s嫣8G *P燖2e~'蝜懘鑘怾箁e4!1;w顃艆掩秏郓S'4]欢o邁葠!2碹.紋M蘨应銖#G6l榣e=n8Z8鹅s囇煗㏒唵r摴 嫩<箹x5熍竐!d'#霤繊8/昙/9%鯕奈 迡 柱嬢W臓x…昆替@髳 侀^={q~应M.\Pm蹶╰46\ u.^8[qj巯N纯p薢v哴fg'脄2蘂脳葈1bM囗[诽霃╖i;7卌羢0辄臦蹧績鬟_鈭藭+>蓳W痎I@照玏缤涀紋s塦膱`啶碎p栿鲰蹃赪_}跎'焢:Y8Y瞕pJE&榗Z9D槪|釘1K*U4i2g 5j$4;<,兟盎Pm校 g SW 蕈M浰/跲茓5=0`@巋舐 缟搰歱'蛼D!%腦軷饽u+8uG/@$壷:@9TT 笠*j}B'l祻悏YU専w竂眀鴸o薷怜N"#歪腝8君鈛^8粫l0簥餡<削镙[磆矌6饱蠡o>橝kVR雠"'N湊9`G佹@谣KQ鍄Q鉩孊1(%/翄x"22蜱0T09o藜|猦癣XN4蒩 KY縹}-协F燸两9蠋+%I笛wH]L搻.]:*L脫%KZ;檚a仢y 'b謱B/緐Ys徫M砯$慊e凇诜I纣U9:ᅭ[毺U玍礿摘K缥t.\楖結坚:堪g鶇]?;邱"vMkE<稅b蜾衫Q昘]腪Dx 絠烉恺.そ艝'_N5钷钩|RI綸Y鰝(Fd5棗U"N>}鲮賏1頋 癟展颫絁*Z痭蔎檴/璃$hD"観QA@怉E9h滜 AdP 奓 H 4爛妸鄬 *^E95芓莘唢隹X凫>S綰Шv稔z黝誫}隱哧汁垤俪 (b,衟N鴒藜笷zu菐p\>晠R[c0v暕鳴 a|N壥島碲U嶽秎I萰W瑂嫣5j孕h8w頫桾线亢 snq_永昀?谱_絞蠟{l酿w輚讝-[v钴.βh浯麝嵇/i {柨8穧v 乡瀧N 5讥I鳤艹g厢脝觍効-恉Rf ̄] O!伺_ 却钁G(弟t\p脝 `鬢窥昩-诘kw鲑gO4I[瘵Sp 谶埱C=碔&+W6B孺搹?&(霽傘Y砯)kR佽甭瘦醬韗凰//穄UU貔>e熠但O>佒8d;厮(钁|";>诈Sа蜔?_[夒呦@溣瞢纂 臑/*爂蜾蓮>[o脚皯1>待魮O之]K+ET侭襦羶7n塄@倈9僖8鐔@.o垿+kWcX=逢o鶂<]p谡cH [膑;V @髳C乲?徦2.\0;T礎波x槑xw]嶃)S=sb=鋠杨U#鶬}>皐I鈘h`琞<霨}4滿Pn z攠~圥}楗$機nSR喽? ^磆裮份F嵀Y硢煹鼾鱡` 貃鮹"傌滁舮A,9L毳M1獐沷均U.QI, V.O鳣傡$_/O歽澻磇See% 炮狰弮裝絻訉qz ,q>#>膦碃崪G孕鷘隚俟sg@屢缄8#鱁0赝鐄跛.Z,=蝳j6M!甯楕翾 崒醋 X了={鲕癮C ,条糼熵辈'A@贞斋T;堏[癭潄笟I鹮 莖T+[_~鵨)篬邬碋兄y淆sk w阔+RE<2\犨r2伙嫱洤鄵6m诖l俨u胫/甂郱西B?/ZD/{輚譣)闫峜RUU踯s垉禴@靁 V4x`桩]揭18]穠钷;攫 盰眀座&俪9芀 X种 蘭琙礘N缞>鈭#8mb均鏇逅棧皻6m 着{潦冸虨拻F{矾仅Z逢O媆xt╇C6ˊ劄B斠坣Dr(>y帆萞w荪/弱 庨侜糸绵&喾俦cG痎綒5kv)`*徽. 疠眎鄱O鴗鱗g|皐//n藜y蜌5|鳈3gN2鍠[na_縹<驦>埦玍堚崦嗴*朒rq邪H >堪/b 粚 5iN4!F尤I((+W畉8+0`1{W_}$"個$Ey糪{JJ鰽犒锟1馋簢h谶9安R谲?1葷s错嫱沰?7 罟鐬;w鷊鲕M>筇3=湣橋湖z嚦0頠簟焊6寸啞1CW萟}琯+瑤;r(b>嫳倴 騯 ﹂~罹鹡獨0 L荡葦F瘢3 8懜,B炽?3┨羶+.跘→譒 /夹蝌r(蟵y# 艔; c9升p裼N;恙沶6t丞 % 腨 .犍鶼仝 J薩溑b5阡C="F睮 穘輮勓0m《t镽 1汰缦/of=鵓%无吞虽蠝;w.葊4]毙议簖+,触a5尙y<戗@沥I摱m燮敷妏屘G>S圴醊簺炆yWC槰"嘃可  H苏玏 锃楝楇〝M塠ィ.蝲觃r悒覴&~2w慢)趌t鲮+亥o魁v螠9Xj譯闊磥K !犘懘r嬬k鼁甚v:t0`<或V埶j昣8& ,qnQ芑w颱玍5亞 {辻)c%K柸! 婜!泺胥i鼩擐~匨-Rv4镟<搴,jnL~)繣b J襕dgV濑&-k}焸"#a喇%藒埣蚴+;w諮?嶎熑W栤鰇缾 8y騞"9 ex鋨-[V \*鑛FW]u_nBA#s唞S铳&EtPE氻 劕辿嶁岼U1>銓3秓哳吕szy#6低瘍*雅碹凤藿;9梊r 瞶翳言宺i_>2銪猚OX樸盬祀遳`鶍3 V獆籿E> Xy儡/繉h暧MM.f&逭甸Y0dd寍諽g9Aつ瘊\F须篆栍Y吾K优X換厗 %籿睃蘖粓n俨弪/偞m884u祒馼全=㑳UU q$'ydt戝硝| 幯掠挓}迠i诖)廧櫧p酈9P 坏傀1|烛逅,5?,S擩斺-J:蕐K c镟嫫otk鲣7琬槠沧v芻砱zV军騅䦆O>䴓OかΒ"8 鯦鷴鴓耸 宁螡 埖窷1'绚=z鬬銤w搦鈰/猽锅x聙諬咐缘4ヽhà'焲2鄠黗颺4班2EY浈娈糕 娙v镛崘G 傿@|襂'祃u旨y驨:躏`e%7n 銁>.N-z箹`%肤?缠.9潻込IA笋H]璡跪渟);惻/ネb灪6l鴰?椀Z<叅4Hq#郲蕷連必9﨓(&賕渔?I9n芨 &絮埥(M㧏5K榴豤廵川,.阺缥濗嫱c\:d状i觀x-66{ 淏紹F瀠.ZC蕥戯餫醚 5B1nO胋气Zi惷.*X#Ea1jN.c執#f&MG%:戗_e 衛渊竏0>k,X壡WPne |瘾Z箠搂s薟)8f胫尟V犿羑pk/缏t:蝕瀥fM藜檦鬏w邥p瑣 靸7脧趞 澘+狂6m, 鰥u?Q卞/鰢C+V荐趉~鹆%K***簎埾=鱘4蓥碹 L謞綧}-Zt袳槌 q微1,1 鄸rd ]葌 簐硎*Z1d0徢<}廈掑w驸#-3ENa讋热纻汿bX蘏豇秏奂p7猽g硭/郡洔3g熙v熵憥嚡0:QF3o魁稐曗#痼逅C燂臌觾诼h莐犗W蔧^'J 鯮澘柑穇V>踉S@S 呮憋螈碚 臽あ_嗳场{黝菟/3fLyy笴窟C韕 'iI湸叱鯮B洧 4r>眂菐俪g .庫晪"s 傖瞨笰aMg夠豯芨楿杅)\pA隹~镛綍苇A7Nv5笸7遠艺焍4導.E厮僛U鑡欰鱺騼窽醗)蝊祓赘q;罡銐'濦l滦2E糽俨氘E YP模F岯9稝v57襎戢4{美N0Aql姥鍓:桒誢笒愒zN惀n&X塥U+売x锧乗 L纡Gq莫U5%  ,潽=O鲒肎L8q疋.>$g蛳zq恩 g叼一亰骹朲{沤/仙Nq 禷Q妌粼暾縪呔桠崦k$/誱陏毂铅O熮秏[}ǘE砺A茕径砈.鐟8脳.]赀. 1UUU"Z仸潤\0WVI濾VV辿9觰謧挛T穅?<KU舣b鶇媣?9>濒8.N"v麌鈶#F0*梜濍篆狂A0,鉸葠!繸yp軀慱<X 硠4嘤O?岼呾殫w慠Xst鑼 晷DnA?/咤漺蕖G9討莉y鋺蜌5胱紋>诜瘈c碏醗铌0浈懬&;虪釆e 涣AzrG絉躉笀豄i㧏7焴覯7b鍕Q徽*鐩o袚侖 躺萂徭鑵ET*襵駇诖阎蝸昗䌷襂'蜔?_+6L埚硾濓芄S蹍熠邓 郼}k椰傌+妖D腲薊=z4r諢靽~x戛q簑镛璠稫/絫蜌5 *,s如+皤?嵤罨飊呔}疋7躳坥癣叛G莞q氵7蜎7 熕搂9轰 .\逮2>疚櫊倏8嶹k}煐_8J "9}鶍瀹珼╦矪盍朳n樵㏒>}=鬈妸姤K椇L樫嫤瞔K浆4l~佞鍡_r两锟歸镛R(鉁嶼厌葤煺!7d薧勇~,/\#Q睏狐舝t钴躬 釚-[n魁鰏9 筘痏縰k醉俪撬氮-1D6 :;,六X9!WUxp鎈#/Sㄗ辣k蒗R覑;"h埫丕,1?D鄱m眀⺌K薅m埕橛;t栊)Sz翳眃蓲]籿exs. ?#>筎)冩|蹠4 <晤_韞7戍梬仳 埫8 n脂僖Q卙溢w橐 煗)鬓{铽赍邶硯M9毳Zr*{爔y2iT沬:缋逻:暬4@殻滁卵レhi蔩堍E嫮[泛M氄r^{淼Y砯u钴揙.//G/X幺<訨}懛鸲淤%び樂處M,H 樅蘊 楅侞蔁" 鯮斂鴦N鼐}䎱娯7辺E鼙c沁w鐪s 忿zk缥潹W']a肫E貢+WV(t磮Y;{鲮橛Вg'L橉遻-墹筋弘?TTT i{翳A芫}{咷n{O}圴诓e嫴4T/稼Iだ哃寋駌卾yY鼂A)A硸Y3 骼鎇[ 惬覱邁鹠佞粲Oo诖閬悘捨5 }:c茖I2v靀辴覯═x::Sx蔍8;d葠鋙絮譥u誙黂鱣鴕鲑gC豐23登忱燒LO暚鶚L糙V葹p 坃磁 T鬻=6趯 骝Y爾摐[穘}j熵;釕c軮",嘴夂讧#睜:f`嫆贻7CT杂阊.%E9Q@UvTS緯\F胭t'荷} 觇~嫗s螞糪r 踝_擞[o 7nD*Bz覚/绝怏?_{2XYy%梡@較)楢貨o緳?倪底^{跽W_qX疒穙遪莺漼鏅@ 蘖羉=傃_桺誱+-8 缎6m gu|牵j錱袔*邳T旮I&<膨腖醼+p灀氽箂g鷌郓S'垖艒鬎3ê觳宋;<]%腲zs'>斌~`椦.盃! &<鬈s.Z轅搪SR祱 lU)*曩舝"; mg野秪|瘊氙眶襅z琛U玍-Z槭馃>"魵k畞癙DVTTPE鶛篓h2*?俞&j眪h(s<徻~漸諽癓鸣嫱浰氇組Q?炢蝦蛉#弰癏] 睺-U罷`WO箈嵏彋O鉛朗[` v懤躘痎礁Oゥ+p搢/z)脝卷钝潑H鐊彦繽:!*姄葀瀆)朹$鱛蚞舥r,轾媴'裰璠1 弻敺o哳&q\ ~K齳嶓筡匙鋝V衧V<鄱m奂y竺?糱艎 螛1X7崞躙)秗}t际S O*8朶E襯阑8卐Uy#唓p屏A't~士#篣碋苆鑏g蕬7%柙Θ悢雙|l﹁橌緟W#篨鋮稖衪 璟礿莺5襏騇 T框斲o縸咫之C郞4塛戠梍~9y:r銱蝐 8t鑀楰囃櫥詈嬿R諏W^y妪鬓K^拷WWI|澘X帑鲔o1蛪V \` Cf戚@涂S隘%瓇噣[ -2篐瑋谐5睷衽>黀瀤 `眗錔睾`襩絮譳=&Iq4樵琘3 邸C爕趇M霢虗!CF%W 笇9@霘(D-飆俨%\S鷶v豠谂槭S韰*w伓Q=冉 Pj')Sp)卣K岒瓼"歴牱螵磒应M5嵠穯;vD梢\nx`eゾ-奋2m诖/Y瞕褋r_μ3匥攐锦V?獤譨@wP}章5懤鬟泇熵轾詆#蝻敿~{/瞒焅{ 蟔 @iEO>$PC2=4?緘 a 踏eT~嚳o燂呖诚告={竖?脂AO!W衎磡nY獞>g喰?睑於鯬q慲筞磆濦3`偆`Y噿U罦黝萘痍谣 d<曓麥z諂~)盧ZUE.錭#潀刲腣脿+` ^O9鍞秏垓-Z顧n抩3P燣镵記o緔鋱tN堉蓳'蠝9Sp<~aC嘠+铳€QUP3u ;2咁退箕{qD&爔銱l2~?/Z寞帧诘ki~#%鬈smr钴U?D燯! y'惸╘sM(Gmj簦e镞莲趂墂膳鮲漚D蟻郅畒箧 耟檉鵓奕笍啰(Y螆袄 b)莻θ9YEL0#7 朐+7:P:衶但┪#侀f窾)Y 紓?關搙0b9#潑\蠗\r蒭梋9@~5(/瞲疋*%p娏蔫Y.E?1a+5=薎>ú矑+sY:'lW3S↙頫~g};)u秧蹪败u箌&窙茳虐U唤i裈yy9y5}鷗喆秤Sd#廅喵'? gh 蒯6r^[5s唵#厘蘋36糛赟扴猄愓?0硇 a醞Z30碲点 灀J 5S喱俋閸7(侠1c8笇<-憠'驍椥 e4揍吁宙F T囥`獈詽鋩據М鴩)幯V^¥傌嬅腲bK6}JqVrR嫰 涼*搙仛糂[掼猱4/8会?屶]r▓珋3樕-牏-崝Y蛢拐 :#U;'士讶W覆⒕詤波艝-[翵璳h)劜竹-Z瘻D鞡F ^y糱芀. \y鍟鄒葠!@n竌h僈/c+埌金 鍉釂㎡~ D闹.靎C朠茤_8 庉J秳/柷砾^e-{u`齙妺u暀\杓`-9X-SuF徏?镾'c潣uE蛏 龤[s羀rV葻 vsR渍が]@瞼侣5T爌卄灺;皈h M駚i煅皌Zlβ1屾汝] m{鲮yPD.t#莭錪崒jn)\牜彙4XQSr-?繕1+隸烪{1PoM趻鈩/謩-_ 漲n\鱐5z4痵,繴.蠸缯+@>V吺妼幊Z} $堺">H嶼E!Hy:q佶D 4嬣元 !5ㄥ"惐ⅱb熵必虦9s饽壸\s 睺k7悽B/$=銓3N觧|悳J 吆s[39篃zrh3;,$鞋旪 惡d蘉埥*A%61钄評T曌醁EO宀A剈^]E8o 導渞 ≦!榃AW愃B*坶?P魆X c歇\甐^^巄={黝 edyD*^x窑I^磆碲/紧襨秂藮+VL2e淙憓挮)0碚2灑^懤咋M %仈n-i珸u 垰熢Rt潧烫錄 xu霛釶/&腲櫉喴乫)N潜$瑻椐m>h:4h跂綳~釂揭/ 浛9潊c潝^肢~嶌$霸"球,+rV嶼け鴪蛌碲=9y/v媫秊b褱3挤o呔x袳)ESjㄚ唼龇|剕#篛*蔜丰&9j岍髛(徏$禚腬G諓`x>-#Mp/l n($/⒐2!貐燪 淚 回/y;u闠YY]#啅X紉瘳Y4锆%棗桟X-拚P沜璉;罡隳t)bis>T伾⺧=埿IQ漀 O" ")痳N:宽8P琎4B祅w(3喵J峏..埫必蚟ZR婓Uq (I8-鶄1 揙啚騎hGN3Fk泶 驗~紕楨焫鈮幇1頀=j鍥鲁7h〩魮L腰XM枚\痗 鯺 锟&/ b/欩嫕餿a <耏璚n鄱-章 暪F4&OO懃怹.H缐A'6KH.)鑈蠓3oe朹8n NC 郉/d祐Z&Z,!)穒鲐<_爇軈g陭幠 ;aY荏&1辈澱Tv鍦}Bu骂耑)厛蝁R截 沉dI蘝渙柀镰&嬨o锱纳Y怛g摯vs哾宄/晏q]A痽Z未)誓/螏-愻 蘪1+偺@;%.qY甎贯=Fd卞垞4碠^㧏+ -疀T綜9$斔闰 乾#I瓘5q鶍$竓v檶6d壦_l啦_恲1"8y揮壦_lG恲1:籚Ru惣F!+朹8 Nb訟蝌 膓摈b~蹁6螊轺5#n锱 `熌F$qd斫樳〢溔8茕/6(糯斶球 G蘧nQ鈥}訪酕兽K怊-胦j緷晿竀朹父隽/U汶凼礈鯥蘝l邑q身絼~:茿報'1北谸\B{/∵>鉅m塸/6圞e%鼷>y+ 嵟猗踸升觉  ;qR7m86>鶇 难癘n笧!i-縫$黼oe`v鈷妞pr银h姼!鞊慱谸1 w鈠碠L~醸鲺篋籢vYY*@W孉侠Zw{/咦@\R寭夂貃)鯘+v"親1Z坘a铳沱#a煘飇4梑*姻 惔v簌邝5圞35樎'1q{悃伕XC蹊趝 r}S頁樋赴絈訞渾E眅虻om賺1犰6鲡#6匵摴护FYw=鵙g7姰壴傌Kl愽趝鰙 鈖,饵頵 幍絞O訟溾b[攨伕.sQ竹垕m熫刀7'赊+@\@渞焛rr3麄60敲>駴&{r螥\厥@垆U鲷玱{qd斫粗OQ\16y諣)貸猉諶賩i瓱b筨 m煘LJdo爈h{/捧[仐材鈊賩)疅" 腅監[緁q2旖t譕睝l醆㎝j 幊綏铤)钿s>卛B 鸟戴襗?E煖4>礗 鸟摈R_?卞淼鰃5LJ~岚5朽鱏LEc B陷"6E\{详4醶EnH独!嫮~ 呐拂瑍J甒鼏d B柏昵@\d{详醶庖谯蔆q霺榑8 鰈,耳1娃锄釺圞d颵臑- "貃V?!/怲蹝呗,6谵锄 nq篅c醹猗貃V?b蟫/XT墎竧鰹諒W梅&臑錨吧LqQ=珶$孊 羈薩l鮟 絞蹉硰襃Bqd硗噉 甒{详茾\嵔%1簛!=珶冺#钉;: 蠏鄻軥溫█h貵nI積榈鰃? 杢G掰#,櫣nL'3* B鰬汰祮g偃蘵c N郿TT欤歔# 喜戀埩@湸扫H谿8穯8^6b0莙2蔃?{:*q聕牓窂v挘6跥>蒕灔叴幨@湊)磴愪菮_{ql嗈怿傌滁糣?鈊 終f搇s裲x枱钻茾l鶇ke焞s県xe枱钻茾k臰鸛e泲I贸V?8+綽矍-踈炲绲1荱>嗁 4I睴e㧏S|b眮&b鲩薩l1Go3胁矚棵挮Z7J低秗,q=刿w遮)q熷.`绱殼讧&眮艪礋郄#眮艪礋歞郄 眮& ND贠M忭摓控@揻'%恣8 鰤蝊l1圡衽>郭 /湚1艞麆/N*h,縫氷_摌8憼秉)S|i砄\鋪乞 Н~L癀芯@Y{/準1艞Jp')q扏c鶇覼?R珷搾V41牨)疅+>薩\瓆"見&4朹竴綏1肖堙M檨8徑梿飇蒣硐?鰰裹耬)菺\S{薩\瓆溣娖Z馳~鰅J鹖1嚚"眮θ)K鹖1嚚"眮鲩K鹖1嚚"眮雯L麢B蠿抖de3$妻Ko谙t*D酥枲鷫W贸 膇揺kKJK駮埫糿 N,[["昵_茼-踈',[[_-蹨侙_觲饴,6涒玾{喜埫 :)緕捣$G<鰱-U)緶鰱淙@\>t騆毹 腶嗈殌綏抣j鈠胺$A:* 剿,穯伕8稣Ic薩l 丁w嶌-稦碉?Kk誦跤:眧1硰a"L珩仛馑ah醶鏆ǐ}.7呎Ot\7崷絞K 臇洟鲅1h韒%噶-7E$]7QhH朹笟 恸?唳苞)题T佖 鐅G 膇^騕麙m2*"龆臔\lk鹛嚍`踕T5B仃茾\ {[z  4禿貮{[漊盓擸笧8r龆$鷃'鄷Y笧8馋鵴l摍q剩<1敲>n垩7詃fA滘69i 嶽8棴+VTIR毭<洔48 鍥%qqRj贸<髩坢*鲻 轜剢斱墩S戩-YjJ蟊Z~^/l礀8>親n5Tゐ緓*鯮<0譊殕觊\襚q 讗R竊圫S!羵g+ )礝 0R昣爻|b砄軻L踅啷!罃柶覢l鰕ql鶍K鈹h埻緕[拃8 Kxm亞佖旖8徇窞F跽0=[燼 6郄!罡>杸鬃P= 4 膄_7踪S鲉戉『頎a 6砄v躴YY A溤l 6麊監n躴]|鈛i审檢l 6鸼貤%3遯m譭*1 ;萠焷仂u惏|堑殰琞肏啼晠埻>揮I w珁贓慕a{帠${4毎 !坌_!諹敇_衮[>猡蹏腥I蔩\觩8*O翙5讋賉擡1噊q檓_o 6餣擡;掹q简 [剚谸栬(媥% ¤d瞍t泆Z剚谸麅f鉅桦鈭斫0.`檨谸杁鹥P巖P-"獡o禛溬埻>琑巖P! 樚轅l鯽w 墧O9OPm≡>_侠db砄圤9讙頟 羭緁o 6鹍鷶K摜蠧祩嗊質緁o 6厳妃+fPM狛騬捵@cb硰b~彳觑@\/Ip 桌ab砄獋甶9P黕X跉5{辟й>T冺 s佡埻揿0YW >脉揳骲%qvIEND瓸`javapng-2.0/src/test/images/misc/penguin.png0000644000175000017500000000416410646275026021047 0ustar paulliupaulliu塒NG  IHDR/'+ PLTEtRNS@尕ftEXtSoftwaregif2png 2.4.2GtEXtCommentthe GIMP was here萂蓉襂DATx陧1庡(=H搻V渂0琉鐩壸9鏀kc (爗У碟贌┛ \斔o欽栍犁hD1 璐#傊3>j詧瓵<%A市c樱f膧fo$24 AS!H諲x )H粩aj2杸 h3HL 儎7b .a姶蠈園 L5L袩 9睯~傶燄i簱 颱硲@钣HA谏1瑑犥旹膀6?媡浠T鑎袯助q 椊f偼}ㄨ#Pm荌%=veO&}6 6"矟p湧邤#誈杙 鎻>傯舕P6庴迖p濳 鉩衹mr劆,#q滒嶓i劺螼?侀~榚 牟癀0閥=t/Bsf蛶擌摾恻<硟犐鲡譯v孎]果$s贴 斑轌Xy:&B8蝊蛪盂兝;霌0`卙 邢G槆 粟Ax鳥痵k*F脡u樴鈀t!珹4璢勴夺X,4佥俵!8!m珂訪X栃T: %偙婊缗gc蘫wY>ゎ娭9扽Mn& Fu^^簍粛1绷'a[瑲V軳餉-meT駻i@my畞 \P.,戕2'=碃."敹!彚v鄛旘Q %4塆岾 闥%S鑠*粼鬢Q溿摿皜袾0'F洺6g肷髵瑓@.秊5箵掊檾掄傈l扏I饝.|胩煲)P甈匷滵"GP(dV翍e絈B鰊宺$狧P.*A詤斿铂 Y!▃ %&H蒍墤2/臻$D  褲B藙:佸廯^坁偵芚卥慃a┄%*O>-逃碏 E悈疘蓪荅瀈ガ "U漲6K2譲|&騏)Xj瞵D橜対驎 芠⒏$" h蓹ㄙY D@T倿茼凧@笆浏40 ⒓妸qB蒚R[坥 HZ 汹韯z傼({偓奱]M葅dW@U鵺 +$# 9膰T5枬y3偫迚 歰籬 $A獏 !g*Z;&6傶聲]  >嶡齆 n'閛&h,z堗nU'蠶,辥j鸀  d圿D+ア髙:D(l锆[Y訲樟 9玏玪-E'0廈i 闱*ё,v0B鴉塲2O釯4!9蛩  鹫5酺忑<婦\隂}Z傤w洅撖 s避eZ拒S褡1┰8徔轡讑,|蝭d佘撳lt夝 2劌TL7釔韠⒊揜<( 胼 蓻哀掇軽8G,髣?鱇'渍 树瀌拓锒涤^M5桤y滤顅9o祁恢N^*汏a7*$袪.阗鲃@tDyw ?羀v;C轡鮘>A坵O貫'}G+ 藱刜>9效谺谸侱d幇涮謽0缣堨-"個讎嚨9 IX纯 `b愢類!鐚刾櫫v 廕f暣攞g衊n]9t湔 4;p洮'g==┪!g敞} 替"9偆wa嗮 eLP8╠U窙S#?"!Y婢 衡渥~c費X溁$躘,a*铄<d釱戮Z鹑|琨帓墖!0貙 !B舄柊髱hx檭k n!耓侌,tPCR梭臼灮!貙%ch瀽Vk垘8,OX犱 c邤邿﹉$蹇竢!l額籩.=耝u5kD,'攰MN蕓輰躵["a≈ a LBk<紻储殐6x料L礨"璚鯽K 禿)#,ジ甡Vi燚6畟}g縛(->郀IEND瓸`javapng-2.0/src/test/images/misc/srgbsrgb.png0000644000175000017500000005672510646275026021227 0ustar paulliupaulliu塒NG  IHDR荾gAMA睆 黙sRGB偕,]IDATx陧統豯[U摞蜺[#聱xmⅠ偏/71"EAEOA(`圖@DJ(嶔4襴r褍4葋]k?c1讱k摘x尔╊鞆/狂蝁!|||||jLp鳃8d}|||>>>>>Y燇Yg綇弿Cv:膥7醝呓y傪Ls蝰駋萔岭磂膂w頸x声8d嬸鷠Re纹貆Y8dY糬┨愉躔"港躐9讗ワ1聥畞擌耨97惀 0瓪d幞礼钽鉺簮, 5朗狏e镢鉺Z惀`:}拲剹鸒弿蠎C杗<"碞揹檒 Q瘃96纫涖陙抣鷅xL,睤 郍d./搔 烢&Y憨手e'弹BC9粯$=s >>> ,嵃u坴$;尊趢疌x续?6幇U8;A拲7鴱帍徬鞇(c0祇 焍萵Z鷔[P澸L焏鲝 嵬㧟溷3}挜(X仡ou跃榺||,︶lE鄮暧餠戲耨瞭I!F梖 J韥広况,熀慅顲9;尲祾l鬡 蜜饲千d'稁?肾.C柑葇|层!嬅q鰛-.5肾蔨o5囲 纫蚼劃嚦uw_5抣瘉餘侒駋葨Bf耣殐^3媯R增^$:>>>掺S厔E,f靖爢4堉b矧>嚞瞂g=頤榙侌w#桡銗{恕勁倧{a*!+借滜駋 惤晛廥銾砭娂At~醨Y赳q葀?饔呰膟*"OUD8d7熁醺"N$婤 o咓嚣,齃节杬z c{缒湷>>矘槼鷊b 谭寜苯H>躐9惀蹟 揪`1BV鼉橔鴾+绒vDm a蘺:豵鳊䲟赉s> KMX蘵󟝴崘地珡蟳,巼吵 "曝驘Z,菥逇 󈏋胊凧1v盘郬跳鴾.dq堯朷tA跳_崦脬s"愝|Oxjs卥黙剳蘭>?>>d親貎s鰻访詨鯚c熡,yaD7Χ4填Q鸒煦s詯J劃埑趬b,D抐"璼智鏗!K?擐茣 0譟/3秦恨 Ap鴦Xd8崉潄硈~-聵!<>>?>>G9翜湞m5蔸燆無焎侅潶W8g嫰撂m 辵晰dq^_悼抇璟<狖,瞱甁丞EA)^q匌N証w%C;g1虸,f%}箔f窎v?>>藘,e賶8{詪湺-綇弦  賷v嬮_m5/%A.矒rv嫻V^:m窂面|||Y枓#U,* 庮籫{湷>>藔/B.惓n暆胫酥+I`悫躐9(d锖H!){瞔 嚮禒$蘮 城鴮V晴p悵M肉8{屃娑#耹魓K貓碂v晰部#鎌!嬮{餤]舃殨W(>頑尔鴶V莋>纫/缰\K硬S箹袚m荰兊f法齡绗徬\惤跘E<曕揯r豓碀瓧荣|翾脬3 d1oO秺朷员趛o8蝉姲荤烨澇>>C鲱6媞澷#壕喟访斶 肨笖芹童9j}|*Bv祎鱆Bv蒢鯬^$;`a4 >5 [Q肉HZ\俗z睱 当F騨騦1脬3谗歗.樣'诱聋湷>># {飍-L渝:泵碁┑9喖扒禀:g}|F@v~]p;&胋懻鞞璟006赅>>鍚龝%閭RI:R宋vc鳏;R倏脰筹v晰B>鮰0遖刏3瑵螽n泹晲蕑-g/w晰鳻!K縕厜;鵩l 3踁癿R6B鳝鍸轧智冫" Ji籶蜰^U沮+哔 2諑筹r晰 [Q犧肢 ^睂j湫T-(G(pSKG瓘CV嗢濺詬崩rO"`!-斦`祩桬 8鹶绗廋V殳暟汴18 ;讪Z U姶蔔Lロ柍9g}d'ê趼U買祃)p嬀?褄嶌杸k3诰誕脬愴C鰚s[Uv '\ S` 擧洺$-蝁噇谗郩2燉瞯 艨6gp哽滜q葐@楻Lc编 剡夜 *惙兖Y7:j}插T`q犦湱K+\&!*W%然閛祦麱Z焥賍烜爒av9化凎 铌瀊籩癯豢s訅疮u铁淐葹今繷Df-貪櫝3\=銨m夾错獌8g}蝒掿峣禴榣v贜v7伋j [r珌 g_頊9棎臷[/T`1=賧渓 囐c]婛畾 z帆^楱9O慅M3编"譨9粻3灯軍\吚\$(z虹+湷>毞51鱠梔藃%刳>o 蓟牖^顪97惖车z対蜕柌*芍鼏Z衰0矏51W蓼鮚l銱鸕G〤隽U錊[`[寿篧手懓1#餤攑w桍盼Y煋嗢o b胍,*功Z轧鈾捭湂-e╮鈞?o胇瑷9Q>d鷵S8俸<孭|羱=刂猢7堋鳄蝁呾t10榓5又k箱樟鬁>'龠S滬偭<访X蟴氽ZKH疠v賻Z傡C'v 车8{ㄅ楕攒u掷抦粖鯵蝁,?蘊q{w_仪贏餟淉颐粱瘖慥Bs茴jg:g}N+u霥湞m癀Iu褞S屉M珂x殻昼! ~1v0{?P;鷓Aqs吊 m熸7寅d报qa0{貍A漥-∟瀉缨崄翸 3g1C鲠姳8<僎_伹nw'嶼熴勳#f尡8W舦A3怠吉5*畋諅$"頁澇>G貹G沁饴繇T鷍'>5(hr憾匸>9雜剱艑.^眬v&旐緇k:%賷, k:瓋'8j}部[N諌,羣xw;bΩ笭 e'鈏6fu啊磴澇>G貵<噔 嫭饰蕾A嫛N啦k茐俧` {渟昼 鹻fH豘d 0鍛畨碾猌闥d9 觱徻遷扎,矁c煸甡6cp撵!恗Fwc%-踃i坏弙晰,矎:\=kp=`O6s肢(~栞Q燝&_0郋mi7磢攕謌i={1.締冱e财o挠:76驺冑碇v戹>藔靋s铚竾=0笊陉'綵蠓!み>P〕  K矋7懺韼晨鍦鮕dM蘲*aL喤脺 &敯MY+鹺>6#藎l鹵> 煦施奺烰0驳1颤覲F2 蹟1=&[摧"澀)g7>噧燜戨剭侕v榋$6幧V,傎至湷>傡鉱Xy慿 芵 d56C蜖; 毆枲标会忑湷>俵Q=v-[猙Y又km啍 喅U鶡F%7禄;{皤嶼焬!麆T9hf胝(l5舸殎懚 yw滮绗蠈慅Qv伝堑| 低%XSp弼xK`1i潾Gg镥滜 \`舛,y$a9惖w鬣U橗"綾 J慇{1n穟pwG魫}b9U婬:遾dK\&u 函爯ㄍF谄 o9蝁焿!$晧3 Y囲標矩 破V;霣V隙騀n鷊p.嶼煩 诲,杽)潇ylj74W%氇-"怰m7隐俿謌2>y1/{咵Av麇╩4ㄏ秩鼩屠棒*讯最簱s謌>$纀3`3s膰緇鍋駠5]潔﹋5颋)Uq=鴙#>!'炀0q蚡Q惌N-;;l钦仡(0氌+梌媆A鼨]絪支*dt2![瘒叕㏒@V#f刦P粻1躦Xb NsYzZ鍹W擽櫹霵{[绗O=>绽荶f8D蚡讹Gh囐耀稓々v9畱嚫駻这 r$en樱鲻譕;j}*Av UqZ]畩_^h蕁-ㄊ諵终v)蝨!薊op+繎支d P6{紣;饐忙梶s4cu3泑槜超:腹3謌d紗%砾;昿恛o羐蘍6侗U [騱胐/.幈r罖尯\^鼊Vg(d烿P,鄉翫詡,陼 覔(簣`捆)_|55%1湘]枥葙儧9g}A鲩醵^媴,FW 寗艑-蜕VaVGTPxv獶贐嗥赅ξY焤>dg;6槶8# g'蹣<4;R岹禶?5TE窿4肄豎隨賕&p\4橔*僥秂會V柇屩1曇ki5砀2oe佦丽:g},%赲汍尀48`懌gz儋jH5Wc钉璬晼aS2x哄 湷>$,U( 峻2蚍-樯裐:皕z兼谑藖**杮够лke鞠Q霌冹硰P;臰~aW僦 F{i挪94快bK2,豕箭u]绗CV冹柍X稒:蟅\嵈jK挝j閡湂[蘎寔Z揫趺]E朩譹:dU>菍Q哎輈PS汝m璦f@矱-2箋`髺`P 猢朼誛犊据Q霅 s俸僆 +F[56CTlF鼐钚鶣鏾I匑挱zy DtfSm缗-g空9霅 獝N跃漦Ni0哳k 毆ǖ TKk<泋諟9肍/n9{ 绗C6侅Y+蒪貵繂厶頺|z曄?0 豼亂5L缄6]s]w慨瞑u葀灴`^萣搀阵霢昨5貴齃)'繿预 /IX-A*z熫q湷傥K/瞂鹧i賄馋舄钦a=璟鶸朇,簚靳符侅媫荐"碜鹵傥K/8.譎-kr插G2M,AV挎<,渚甙釜e伴W嵐i豚kY袐k@莥6¤农K/ya>i,$剃讑郗lU嶬6瞮O蕻:澇/ 矘吷j矺1m蠓4谂迿:靝A>*a惰碑 崎Wl晜頄砡頊=邜}i!F1<貟7`S_//瓤貥錶鰻涟"伄e硡"' /礚鷷宅@C[yu広 贄R鮻癌,Z溻+么kCj-r5W佸寐\ZtU矮z=j/珈y勳柍 ;洔漡vc ] 搮〆5枰)豙&訸蕘趢萔琿潯鍪広倏3速15n狡1袔6c醌l%Ym2体 雕A, 泆f禕抽:"珈9冹薽T臦O癧冖`;閸\\\/窵拙搇c&o枦%5僙!矛(5<蜖鲶澇 夙絪_瘶3x1_娥S 柇楀|乶]嵉乤 袖禴M%涊t驳梘蚡UíE+9j螱拀觓=7樄蝒铣$d涎惇熩\-鈒4(<_薊R-e謄e膻镹褈杝@鯱9萣y'n琰毰欝瑮桨昡v辄 50&Yc樀{X S遄柍淲' Y鬢 =k;垅_闺_3H510蒯5碽髼狸覡[5皢袶9基-"|#霐!鹙Lgh&T坛5操跂瞹亍謗4V?s7E`F*`E"X-aM{牺N瓝呾k猣伫#韑a6K蹥y候ZT暰;k岀e嬝+fAk(癍粎g7赅 淽'僮詹HZPcf炝ju筊!执悴c7{埆0舭簮蚟2敪,@Q藕*溳恩隠|∵攛倫}瞔庩疙佂蹵蓭K縟K:籙蘗絚悈茁`&w粻山bs瞝s 肶幇1j脳:罭 瞣(彯X餓皧嵁5冡dW旿8[r喢愶s蒦>`k葴&(苇U脉#-!|箂4 诲凄靈饥J掑9终X/惮p珫 S鸘壌賂+`a9 [BUX9蹆i玵霈xlD 哑`0;爁P懓w$aX茾鸼"] 攸鷎剓白Bㄇ1`cWd羞T +Z艴y寔"敟%襢炡ikKYvJZhL溚謄4 ,饜響吹m饯H会靧zG賥 拾G 3*诿怨$蹣鯹(璳靧澀lD万`l綻惢Q9*<庐凼瞐栥祺塆倏-綨彸骪揋mP蟩5址L剘/韺,歕嵚l墌5赬龏Bd+s鑐4枚粂汲7t-矖绺笯K籨/罦奩3珹攭[B秜z卹侤A*賱百薴刂办奮D幊7r.诧.!iE稼翃艤笣d6>藐-'k[m遒歬縥/枻CX閻ヮ戀俈幈R嗧覗r/"喅泇;倏 湷EN指悱濠e鳐D秺+/瞛y@O}椳A緽俵貫`鸞-`趼& R蝏鹴 哗損Q@颵6g楁 j]除-脷蛤"Ud骠ZV*X 询Lろ禡顐i9E恖纇a鳒E;无蘟,染o傒滋懋rvT5湚\!&a3lZYPq 矪9dW 龍*陕鹀];扚B朰|祋Uk(Pl酊幊8ū颡)Z3骱8k.leNve-羂l屟5玕Q恄m%愴6z渞杽# Za愕:貭N臙@鳊暘E{0尵霠4陰90g外 (嘫儕呿p0E"!沞钍P]Bv悼欯"l僳XE0򃟘骂錶缆寚囲T/攰倅buo(g-;j舜颾+硊Xze!洯g澹k鄊@裰k% 爴俢? ,g塳du侇 赫甞%篡熁pkg銇!+Q疕嬪X槩N 撿洋EⅥF痘一亥卫恫-] HLt逯\,C睇.dO十则质, RK忻n7穠P绝qb鮉簚8i 轖夙['進揍蹕I!W謟矕欰歫聖A3*C j嬟妸6初j詘涊}I罆 洉5棡U{aU鹅倊EaZ覓\%h: /邀進b3坫)gc16輢馧锻o:孪紬/颀継]y {嗂餶我) .朌"紴*j尜恈.dg!允家敼@]s列%杈醽赞64,~翩0塾瞃耭cl囟|叩~﨏框鶋煏! 罾湪!.7-罩沙ax匑95D敂朲趲K娆鮁鰻仚璱[ ?鸸FW6賥E水:a覨A9賄x錠^.冼[磺鐣$賻猽!踤⺳5Z偤a!Q;槶駻叞` 蛝鏧EK`a蕚鹃Z伨(躿饔鰅后鎄Wh~嵁竲讨nt][XE璛跼8汯瞝O+茼{庉鮯M愝<(9Ws愝綼A須目S冓 w蝟l溾.V 鋖BX>*水躋H皇 V6援r.荡郼鬕]鎣&hC樺c,鏳3%P;"刹 1剓遇G蜽昀T~碎Z% %xE9y誇橆迌酣呿;c袛ct5a6龏q覒瓬"k<躤3鬭篏鲹鹀]碲 毯盖dq-诓$藡W.揶桤瘮箄餚l葉炡觋Z,翤:_爍V邟 A茹u晎讶Y)脋U搞鎻鸾臬杰pX<岴A泩=蘶'  缁Z撩儿柃*臱癍p縊牊琁豚a~萟AV$颾僲uQ+7叧虮沤I Xu伮贂崤U 涧躏孪鳾挠敵¨2aIHj31桋}皧湹]t翃{KN澫&_謲曋k :g讃耼瞜滴禰-H卨Q宮櫺锥Z!;$墒Z@pm;&!EMO)凫|2I坫%疰[諶7K^匈菠W1芧/\k艹9 鋇>OW墮 粠:{庐Q篱偞W牠家挰伋i- 橙雂E嬭Kk(<"篈)d紵该柇捂色7h "P,UW蹲 ]J^/\鉯袈UEC嗧4y98{& z別E:g d]@[榚$l涢柁罉da硬}駨肧鑪酟2 鼨'Y}'叾3w[蹾5抹 歺蟋晾B6 J龀+脙啱x酱k 刅鋤V祔% 2琟-H卨bfY简瀛V瓬U垩爀戝,鰐?]狅 {u4嚞4铳QT瓛|-洿; 2yU:l%遒捌貢5芥Q粂肫犭7y<昢珨ay\菘蠋0踶+l^%滩簚g獴gYiE]#d! 龝 牟5N抟u摸3察紘jRu"02鑫诬  &糐񛦗秽襊灰V^\缽鄩艉窗泞VBj勛轠姜枑d踕髡桶7 UP jェH-A+[锥8艬*期v_衢kt澃U釔e巛1萊"s缟褂.t駣卺*巢{寏@盈7 Wy綁3,U爿鞲%XM踑+`=兕q駮v 谀肍G挀詊x8'种芛璁 雂恭p釞-硂 {禖6毸 ㏒0w鵔讓趢^7T嶑始u-徒┦HY曔k5牄叝饃鷎琀鼆摧偫殖縿:朻婽壈}!洉允B犊"s榚朷"/悔拀桳a溦侏蟡械Bx瓹;G脃:省齐砤{孵Uy&/F廦騔湰%耶 /8グ"%+接嶹)[熨临X$跜j+X K涧D*j凼VUm竟6麇.L^鋳\0籓迪%t-勭;dw.猜舭貪伡#%C佝拄Q薑儜2羦-囊{箴eC椲í5"&l>6e隯k"E剷bl勛柅嵌 U邰:琱篙塑熻[ 祭!粰俊0- o`# 遁H86驓薝{嬸<氜魂鄻嵄,R;,暛 /鯱瑴d+6c@满媎o棱曠l 唓V矕eKb樺Av琴&聥轎5a:y 8艼 s0玵v麏#疈X+9擂*|!G/ _魜O炼"U-禩巍>^w凪搇\*X l諐A7啦y 祙宮卐W+$侄汲e 癑16速rcGZ!紭鑋^鈵};3ty鋮716C 珕:g{廤 璴1嬮&|G蠫摳毐p苟VC貗+$俎I撆币蓁j壉軕剶砽蚡L槄A寺胞bf {v/赓-3/%&/;蠍綄1t鋉{\N^ 砚+u挋岯Y蝪? Xw組囉'鸝 ⅹ圱發斫X疾IV!,iIN矓'K1衎7`薵XY藠0滩愴6紝姓^~n! 鄊4F桟崃 朹瑩U詠膀by*iMp滃i踑頹鹴焟o.x(}唖^ 9Q犤佤辛臹掜俄6%琻 H乴7&)祁y)偓fax崖Y$B\袒潕姿壘Ms熙w8D(顏5M+k`%=]币柶俪遅a嚧绰6H6C蹠 豀'霦網佬%靂>衴綏[[1v賎+齞m i嬱頺X槙岮抋狗 缄B-41琦棙斔蚯X骆諄l桱垴溳E;~Nx荐r铪 A6`籌鯞 b懓驣痘k93踼L]@1圸\L孧槢北%a指蛞:[覌j樥崄恆勾嬸牦7爏*1刌Y伂@蹠l寽 陹匪y籵]埳汇f到)a[$磵 玴v梌e菷6n$ V眒RH3l呇篅猬^奘哬Vd3l-^{ 郙#澃 vfuu0埠:0s鰹_庚wx煆Pl{◢"m柴 貝w蟎懓DX_呐 [鸌vG(絥┶Gm粠O"恉 贮覎乀-桄謻a玣c avH:[鼖B錊锷*恊-:赅u瞣爏A)M=滩昀fb'kg亄]9缸)i^箰嫩 莘:煿vWlk $V矓>5剖苺/啥 "蹃V岈. J崄) a笫霔 覢鲺焣*-苔5舗 妚(g矬=轌M煛[ 憱鶟#菁綼顓=s劷5 簒]'奰)偟鏨^$缻譢J叓蛓囟Fl@^萞畱6/聸N帛儆3 俵取S10BV趩鮳_,g秣繻進;歃刄詠螓!誢罏胞云I俄舴Z526V,┖ 铂1`]A鬤241繮乌矛X-冏:x骾C5t;钥JW 匶铙 r6&08踶2荛oh暷踀绡J錊S賌eQ \郛麖$藚Y%苙压祜滺沶莉║hkl +*矹=6YUl髦S,W1駪7! F 卢d X{ ^澏9}u餾o捰 :g貶+狏偆a冓袴篳G諎倣嶐$鱖 叟dキG酆禜 ]@鸏层褛Wo;U叁寷t埧U鹍桊詩W!扶寔餢1K弁+笿鸪o.WtCk胑谾b+耕=>G匚\砼劙-8J泊鏇[R輐鶷`k馁懫6cP蘗s樀l綌啱岵觾+iq<(:3!惒U~W*x)5M琑跺熨鉑C稿閍_茴M許8EZ 跡m?t蠴矝實秃倛[捉磍漧F臚T猠Q%面8[f嶖痶%袥H麕冹+hn孨荘*x]尡v* 疞屚F3^焴踉Ag92憱 澈4禺雼}聉E僚+璞5趙錿侙;雂#抮ㄍ4 d鄠詌[耉柍0泍氹N1m 俭d 噱Tl曓抇d*%疦踭馿姳摄啕O-_My{8鄪湹E 掠^掜x脉搇f[K楳v=豗岭oO/恴X炛)鸍/掘║僲^鯜zk7?2扗m8n析_剐}鸙G貗L]鐠YRu敶<+m截"lZ9c a7揳オ栃櫷2w,p;{癗そ!/Ajy戲瑾X6碕I6K踃撒@壏徔f餭/,j5c恜栒:HU$g;襚驤C葳V耏+X3:賢﹛e2瑴g噇絑 :[[C暢10l綂佀絥.熴顢餬:=う廋扥16$U_a,u7Z繫_@,嬲伳>REI0>1'炫緤硊耹打"0葚(藐+/B1惖,妕Ak $絺; 甅5玬馿趦澋迌c嗢 i&爸播觜罶猹E◢f谄< k7y.逼v>砜艣Y櫝M扷/@成 埘.簉IV吃驕%熠Wv邥k氐,敹 趥0d碀Y雒倥r辿紣}M扚O埅亚"げT諏伂XQ7}葫蹁n鬐-茕Yが萔B抡寔叧\そ恦郎s7鞁8?N+\裏(纑簚T-踼许o+/齚B)妚_b鄄#^0刌F"_鏡鬹痔Z鯼蚜槽7獱鳄t?藹珍1S匾9仳I6m糸~VH+V f质Y轳瘋 _<^贔栒k+^{6暟d嫶,舳 Z-↗茉圪b![+-K踡 ?$ 鄖4*朜桳謢C稄T祃yK 饿$钣縲鹀p? v1w%|`垲韁杨珨齿楚j$撕j0踶屉偟Z*<瑺eea迃etAk豱閡Cz祅綌燴魱T0H #d烠s刅;pV~5 U鞩尔\颫,  +(紽k畧証怰懋衰癠D﹄~gk蚑竩ㄥ3l稺悁UBm憱el篅\yXv吲橢A奅牤钾 X觥銇霧>勭дWcHZ現 ㄕ5俋⊥乽鼹3o|飺Id |誂 K:g9証H鯿 zI鯾^c鸷c偾鎶赐7H骾XK+6S'愽]F皻仜蔏)<$,]'䲟舱朸礿 蒂`6嵎嚣另燓鼽16娌f杦*,g%榾3騌/啥\蛝X玧4絡闯%2寿粜鋼礟W^),򦲬05.翯䝼栧U么埀F秜D缁啝V堕e奚孰9?娹 X璷 .肾,-挀`I诮% !~w4鞥!籒P+囐仄v=旌<胒W^賘仭艆.h笋)瘸%覡燪`-翯蚕9 U#榌V召葫=溳寂车祃sV峡肾淆:# X6蘁_儨e儹馁 yS云~v族j/_+ 9蘁UYJ磍湖3,c冠 7爬b つ芦",=Y闬襁A(鶸ы6靋藝煊┶抝N 0qn崬嘅7乬颥rb憸={鹇 Xb*0挞 斁丩豀h褸鈒霑 H琾沢鸻栚X尾g仵W軑诓セ/Z\hs郗禤挪r@埓櫈瑃 ' 炝X趩/濬媈^M韀蛺嵭iDmz弻栖$峋鴉婪=$斎Y$溴,{B!fSQ q斗, Zs悕2:/dS觳H悈擙lF蹿仕fm嚲婁瑌癀o坤倎H[娈凁%C鱿iB:[7 饭怖攜濃瓧抔5在冺儆梋楚哆鉩lP V窪.谊e兴,g=6蘜Q蹞褒0汧Z紒"d祡Wa瀰伓拌倯瓳?z`懗B兜I0n漓磂樟' 侑裔駔黎Z賔$j0鄀?KI和桶翋dW\鎉A蒢,+sMW蔣I${睍謆灔h逭,┗賀 ^y嬳燆5NL虭VE I鹗7g!6 Y5翌薧{pQt睱嗧锞b籍sB 瓣+[0@铘羟%1謯WY聂' 蛄嘱:r秘 W,Bu麻tq耽l诈欯6$譽[黮)j惶}-o~I0貏h褸m6 d硿V@犎芧屗[Q榚D罿贪{懂誐W柊f- y駮简` ,y謕棓s+/叾:﹄hg勳 E瓻芍)饸冹<6z[唪揖@yo牸挡荣軆慈`彰,6Wl豃殊+桶)d#懂MB諶嶷=^-怬豓踷Ahw 癲S盉-&獤 尨唥f9I罁h帾繯釙7 C眍羕n除媒鷥I/u16権j虺j硪<蘲憱z杢!洈d壽})QK阠.螧oq9E衘j!柃廒VQ祤斫*^串,~@埉襗脲@鰤t:Q说^w愓 +a$d蟸蓓瞁 "l刃63抑抎Y6q喗8c:YF庐E狫-絗)!刹.pW 莐6睎燐b髄Ay肃 姠E\餵?Ι搿B雋糿~o搞^ R僮邁 れI0-尧L沛EX卢 V懗D. 鰜$ 8贔淯\A,g;绤蝴覔,%榟`逵囱'M*蝂v莈仼q錯\rYO u^=伮諙鰗琘秄!;lL傀4翰16攈YQ;<腾P +岬徻x宓i h驣BU.惇篊"a俑Y瞝t蜕"熠乌F _5;dO 氘ex磉誡c峺鯩?魁节6操婆XSyV┩诗6=雤慽 逸椘兕HL甸c)螧=徖&賂dmya藞.:蚄皞驏K嵥甛a鶂鯍*\淁C/次对RS*賾y杴鷸;m4款緮=汸dfC=c髷瑧6fdk$抰或Z鱦[%噤, -.H踨5 XKPWe慌綖)ue橻"g 谥+3v嫱Y#+R缭5秦d 蜢[a鸊y整愬旐楬丝NK*閡夒6.*6襟] g-ㄕ譥yK盯%恡k]垓>{*藫拙瞅婌j韭pE)偾R1Rgc道H[殚垲s缄襟hf┒4牸4权瞆 货瓄澷轞疢t6]率嬪l a掩,乗槄]蛔廢ぽ 鹔Z.a'6 d@ip佥漹,卨鄉鮿旽2鸜岔敛簚箞韔u髄k猬哯甤[ 廧銉聲{Mq祱Si馿棾 疳)hw 叁ME*莠3jY翵-统M? [ 踸 :场劖賦2鶼覍仱 顶[ 弟+统gW* H=S媆+5圾2閭Vln钡倭椹T66g盼@7穨hR矎けu犷c賉 蚧/*^)yV|懱{04嘟 矹賭刲K龥#镀杸;粽嫯k%P7` )R撉v]鏥)贫CU瑐Z!螶O钞饵A利1~棪"欷Ф*钡[掜殎A耐妝V噇岒羦eV碤,怭"Q 4擝秿燆芵g!锤 訓谦鉴襲伈蚴劥癳T盉灂炴礍潦+鄛榪貹槔K 膦猾;ɡ蚳Y*筽 浌謤娪k鲚暁j# 瓡Q羊%衾癷槙n0 E L `X|i澀朞c"S5Di+?鴞b賴観稙(堫*p璏92H逝XR鱜zV9 胠抎/罛彧II桗)唐`]棃筩Nh嫰朘q\凼G譴b,綳ゎ?p9:噧,摺歳`霁矲墏]禒H藪璱@5,bK+瀵5蹝鉔賤*礹$K"jj兇T兰R萗pE.,%檈W%諶耑訟6纅_L x1呾胔lt白:,a咡VU敾;沢u-K5+慁f属g$緽l/溅朄nq报匬鋫z!$鍶嫰Vk"祳% %琫竦蟓锢骆爯}(洼蜌笲6_-M瘦豫犞,a箦Y鈪塮禝H贖M兇I儸1犎&淓v癀v 繧葖/Q萺Vj垹lU"胈緓 豛 x:,囆*v%-e氲c欏HBfFV鬹4倁 }>殩`d$砟瑻埕杻㧟 7R樛H l挄蚻FH`-姳mIt 蒂鏂邐e稀!鸞T瑂殖6賨デj-g棱枇V畃 沙意嬏{0l柊,^.簀MB5c "c括氐矏^!)[挰 5瞞+权豛慘苙罌p$sh>&脞 薆)呵LB稜-[歡蓏6伔磀S敾DW #-6裊紧趏q+/5搪 xp薐I6 呢6]E岅*朇`^廲汣C纼h[媔`c鄴jf赗*沙1 洂=鹝W瓜瑒尨趌OHx=#o袦]< -7筏咧怃)贫呇諉谔隴毒G; 靜P{T刄n-d]5-朄?h(L>唋孜娌* *碪 W(艪贪r叓6ofwLl錸瑈6豒,z阔p>&钡辑%醴 K兲,-亷T1蠏v bP玓! ( 勍#諴晠f)/梔-簚?P泹眒k謃鈩f痣4Gz#N;P薴攸/*T3莆l柉ㄞc癑.璴@嗂珸^饑nK耀攄欫篨o 垈紲蒈錆彵)^ 姃栒tA鯼i倌跂貈ЮG傡鰨yQ基 鳈嫮E奰t[媤"冉樄碈_赓XcW@曭,,- "W阞馣0猜鶮姳刖Xs6v璕U:枵%┐殁N(燞D5yX閉P罁琄M谗+俛$[C柉惌Bk@%昀瀏鍏橗q \对女8炱皒鼸紪呡t:j 梔倥W4P\佌枚}>羪簒-0綤 %兕)倈m杧癴:=6篐- 9犬$嗖簚暢9菷1顿L8;齾1H籠鋖阎K躷I芴蝓,u 氰QA鰹T笶 诗Z^$蹣諄榟K果b汝 榦#A葐0楉rw 岠偭曹*偈鈛亭W)藼Yy鮛7].P賘彵I x从8! 4姯橂F侫x暰?菳栭$].pZm.蘶糀啺] 颜攄跠苟 x圫!鸎tdV-l閇/叅:葃V縡jJ%s貮R 瑀V懜凡:鼐R&荷{ 覾+植{5$Y斷Uck+T~冕x覑pW5缼彵儞,嬜 $+踃壄v-8E愊,|0嗽fUc繴e6X鸸邓賂纽徼W溜侰璀愁風<7慅E:虘Y麣藗W%墒 "u繲$ 敡=澳 斓B㎎唀侏袞H债づ第遐#@碶拲-i逘G^儫<鳸G狴,I3亓1(d擕窔湙>)蕔!岯[掞2奪n!醲偁\儕崻襕: 9+@痘㳠.4キfYE&YX 隧苡 x! 4+4撇 xea*昷ヨ蔞 $;\螙燰瑂Q1pi'f.癘6i 1!剃纄D- 碪m4鄺|Y罎﹢0晷AF萊 [1 敁敺,嶮陘璿┊ 洙*降R詠,XE鯝U铂峕'勹鬢&啥濤嘮胯萻撒鏝t.齕g5楅x¦ 邑$k挸Yc怺 f'勖k6&u"6 H5p/浯YKUN耼k漷Ya頗暞}櫬榗,醬@莁L阐bQ-淌0>喜86书/伓镾壒汷嗈I4卢=涉uA髓WP理pY命- 幈I礍=艣 H>t玹谷V*B-垴bK6]8蘶供6c 捦X|搘O翭5K"[还 鐨C禿頏K`圈嫃9玗T 趄,挰A>摃駢U+纬R+-s-綮鮶1`篮V9睽眜揫o8s澺];佶腦蔠 礊,蒞 R<踦Pn`9] E1V猻 错]!砩B迃炾淯撿柇?s葞戨r蛪W;坁蓴 xi9 (W瓴g.訍硖J=Y+幎: 憐=俅%i,a用dA7qx9d鞪js^ch税v]袖襫S唟蕰(w諺棾4╥Pc%*膖f鋫仱e 欉`玕o湄r萅0伐e禞Tl鎗疏W%眾'斅,'貺gV幏挏 Y]B抂丈f詠 袳軶哴篼晤碄p}Cv使 厇軏L5彖KU*樘戗e梒U嬐1蟫豒hc:嫋S磢关叻Z嗷R俟嬷tH紟Yy 浰禡: 昧2wf)螽駚lA飏q/J1&B*謀+趙璼lm据黉悵}~殕8堀m綌ф苐踃4B憱7 H統謤陧_n捎U柖 ^D氙祡? b秪#!{泄3l矔,蹗e靵 ╠ f込e&亇 >P 鳩棨歹W縛x活初淒賓蘋6 vk>(+蓭&琑奘雮潭鮎礠)允呈塠Yt蕙}\+醢X熱蹼淎賲-鑈 v矋A&4耓0u 昂"傍Y=坻w_*瑴抽涟鱔T禚 齵 砹欤胱8z睰潧颖=K馋d*脍艪Xk觻-.!窎lㄕ詠jfCXQ vf 化T4=贇D陧痷繵8q矉,N ;锞kuu!+)碥璍U!W踒P洯孖猜+m酬`傀B意诔鮇4伲傡%礌 kqT幵別霢:兴砵駹♀鮓啖àW0p朚+mW扛僶鑖-[O鐙蟩B繭(紟d溄5I喌f u佉-X倷_aP=04槪⒋橱 7yc 卤鈙軔%"崆U糔漚m諾-0n酣鸶-曑i`遾憐岈鈐%訰0槷霫V- 化(Gp狓淛餭4G喤; 蕩{&,_鯮叕t佌抮5滿葄僱 '貺㎏Z俛縯耳&dq蟅N< 耑*,a 闬尻穸勮昹罖: 栛z%Y枾<{喿/r耳8dU伟╘*`b熨c豷屐﹦l漦:硍 忁@紥) 餰蜼焥贈詥luQ`謾猣 k璼,佸Af fq营僨/[馯蜼燇Y?L肙蠽畾褎毇sY 旓0 讆瑒!凤 %凪/熭圊s耳渨绒樻E柪|W剭攌稚f-A0傌. 03aC鲋橋 踭緮a\唾赉愝蠉h>QPb 4葞幏My澏Q|倮袞"䲟奜杻i手P沃鳩谦廋6!T臫W虍爅粝]z賎:橻f弪Vρe^傢旊5澀>YmnH !/袛勫DA6篫:萒尐U3,k`兪譅嬷童飌耳8dMs儔!;R 4,n核U%圯1: Y{槙1`色V`k;侂:[}才簖tFA6z將 Q,膭5{繿4 肠{鵯抂o鄉鮭熾S]F$仑侫鵅C暗兲蒉d酬S=絾>[o靗鮭戎欙2?I袴BT扯5,茒礩*[O傎tA6Z[唳嶹噇往^至渆o8ぬ!bl6K+c,⒗抆骻m侑z橅磅g!粆Q=t╧-0ǘMP鲍5翰隊t5&蘶~龜痴菗熹s]殼5尦收0礳lC6梎W?頤瑱瞰弥8[}渤蝫褆臱 伂v6aX-彵鞏i凫e]錘n缱:[}矅欕欣j矏莘eiTね梘蹑,欪#嬙l 罎澀>倜蟱R}融麫痁PW1(襃]偺B蘰杷賂(97+圉屠]>佶蘷蠤盯)$茤JX詯唉^楘妳筫闌H疉苇 p7g珡Cv塻m%謄奮l旖瓸-k合垧4嵁鱮耳8d>逨8猊 Y咱te觡爱6Y=长t饅_g珡C鰄鎆4缱胤^畝錹3冈ePq粻冏;[}睪9暺Bv0gK鸞揃諼灥C67葇濏賰遲耳8d弤瓵y禸牟 騗9媻蘩孮$鸠豄]哼U#霤湱>儆-厫Y*Hn8D憳r胝谻瓵刭:佂s贱8dO 緳Y5L訴趜UU`禴阬鮭葹2d毄%哒濙皑 Y矕^A闹a錶躐9/惤!藰乤'田6E齓 矕S }>仲赉s ?玻9(伥Z 賳lsHU ;[}|5d縜4d蜏蜄`.`d洔I蠥湽訝澀>>夙'瞶 % -T﹎ 卨州儳8^}|柴\嵠vcQY健咈W/i却+l]熽l躐q葕┞yYCh艌"r譺弬l傋;[}|操質僘釜仾#8[ZQ[矇x柍涨![<_Kc!藒犦妍.屃鑨&x}涨!;j=,& Y擶e1槥!孁 澀>>賘s O仟冄le聱b谦弿C二| MY収0o磈B柮胨湱>> 邕M Y厴03 [_醠躐q任4U,k `軆暭[手豌縭耳8d0_E!藌U 5皑林:[}|灟 怳褖f1敪op耳8d47諅瑒N -o璷v耳8d:喥n絩+/1蕕K嵤颊耜沣怾鷟U+/#纴59[}|睬4_J k_y◆-.骄淤赉銗=柱猄-皸篨煇5雔躐q葹耚檰o刌 {钩涨!{j笈T玓媱逡雥湱>>/!匚沇揠x躐q葹楖|磅傓麧>>袤9踥UQ谁鴲痴乔!W"麃Z鋜雵澀>>Yf>汱[/嶙菧>>Y熖\ 8-餼g珡廋![鵁‰^3 谦弿C!;h鴶痴乔!霅? ㄋ諳;[}||N 睪饼<點;d饼辩叕莧煩 {屻o饼睆&生8d}|||>>>>Y徖乔乔!脬沣銗躐耨駋鳃6?17湱!fIEND瓸`javapng-2.0/src/test/images/misc/andorbug.png0000644000175000017500000003116110646275026021200 0ustar paulliupaulliu塒NG  IHDR罁gAMA啝1钖_PLTE   Qw<..?S#  k 饖 ┶'zEl?=a$>QE!鯗赅2;+1:N鄳厭1 2 眴  5H渮63;\: IDATx陟{ 8赠?3.#銙四脯1峓脢1鍶3k]択O蠲喦#e清IQ %T姶%褽5T沴(輙痴淤|G第戽扉滙?暇__飝}薹消伎RR倐琌塾c廕峡69=sLq拚s8D笟皵擜鄤芏+y诧痡胉CZ糴Q嚸灁m棢籉F泅6墔;旂濒C忇噲屁"丿WY篨坐h汢盿s孏|榟]kG<灳瓗彡躲妱s)藝9握冇e龅纹颒栜5mc饧prt鴴J榡鵀9疚7錮茥\h[瓶篣ZJ2摥NV3?: "镳 这P8鲖*~姜 撧癋N鏗7(詀 Vv5N値WcT碪<`鼲.`8瀨6_c<檥3%G鲲IJ^熦$軘z<釿罨:"^o觿 快F嬓kl虉餋豞踱囷`洴0f迟韄$5攻+Z锉屰叠韽琪壑= Gnwa0田宥4jo|Q .赼嚣偕戝悏圕29踛#8y縷-B(WJJ~w>:Xd(溇砼噺W躠vg檶塘银偞索瘎疙欑}琋)m殧l攛菮獻0姃非)+嚷顽g)布@t冬魥赔馈 簚腰DqtT4Io 嵧]_n契铘脘=憑s婾8B"鮄)W i 5檌犺え(拭`G o椽凡シ稨;44%//й.竀)R鄣57价轞裥敊q鯡rF45籚,&jLL$斂紉S}i隄3菽 c厧趞卓咱涝[4颋湣&昨L'哾静}缕刎"Maw1 沺^﨏览眖,懇妊煄┑莱Wc鴰(N&鮌 眗唬B6W6害颮拀'Stm[嚙/5捗扜淅幪=痉YAZ>%夙醑觊<滗樧q22:鷸冲o葉*=2缑峠靭ㄚr2K湴剌槢 P|魈k艔淝m醝=2N2樲7害n 璂 鳮吿櫿Nベ稉7EM尜忛/m岦腟e7嚻l魪,|pxW蕛=^杁~?Ioi?9Y%ケ筁V9琵兀鬉+[鱋>[%"sg贃bi⿺羰\*J+>H禋M忹銯冱Yy嚅 eOU%梇YS秬朊奚JZ⺌靻┢)薐鼸; 秄88Xb! }f瀗醏q鷰=貇祉-tI傭j涅?礝{% 丝",祉O靻瓝蕬^/蘍U旪W鈙8Z鎤铊X僤攁錠yw玨虢l@□婗嘐Df)税?稓3捳U鷉岨嘴亮莲,}翩怼寲:咨揺j4餚8bOlοK$X 禛鼦_~墠E腂勗┉噵BlO>蚘d鍿仔5 M5V鹭()燵禿6攮L宧8半~nq娟bS){!敨 馫迟醐嵁蚖庂簠G<疛Q C)j 磮ZMgy$藜_|t!珎尨枓恕G\'3焒)䜩j\p锋嫈攩YDb本唨(砫坫Go b睸]窛~q)<3o藫曂⒈$誳@慚I-N-瓷w蕗hǒ 閛襌媗肗F,A-0靆閶趎襇螋$憐H c!檂i=SS隺.陪踼兀擰勤緘i'黭55趦7Gx烑庳輴+献YG泎-mD wtt2頊M钦崒<=={纬鵠l;vozs酈踖6籾Gk峇Q%G&#纭$Q韕#容濬?檼谎﹃旰簐L穛港k黷A蹵狓t楈轕晁寕h屗7 Z瞉OT沮5吡 v3=?q疭M簫nc倈峵眃2蝖冮 ` 怘$T99嘬駃鎂y8u6j沐鬄n蟫W枱/H,鶿鰇58憠逴囟>62檳(Y鶢狹H@ QrK6那>惎毧7功r`燢毂=z鉢遱況?;涏皏葳`厓&T2G鼈D翾誛<>To[1W T #擉"-姥f獁 朼o{x{8;臛審 賿蹀oゅ曒s軙X猐销Sm"?`oi╊瘁蹅栙 f颊l?酸B_纖z櫻"Reㄟ 8跑疰4/o犓 .抖x飡勘鮪灞脥?代O讉4/@蹴轜r8s烩g銖梶aD裭/烬製z梭栚"2烣&嘜WN款$炎難9m埼>謵鵻S9噫:;S遺ゑDx晩駬鬝uu[k猅斣vF顗苛5赆頼;苁T?$弩煾M痽悳殒盬>,θ鮀M暡L^QQA=2煸LG鯐O>縄K+8悽緎颪5萛a*U梌W萾aN嗢╫莺?s検""饥H姤a诧棔:s鯲xv?_鵢)銊H=&p堟>哋;糇LO漥L昑q鱎w鴩L縹挮&縣桇9缤-酤p刍桐K2ECt(#$获Dz腲旹w)啾 渼 C_旵扷懥u崴覈牪)H洯鱋o(T\$HAl瑣 ~狔y泆霒'tt丐$和鵄m+P%椭7W孑W]Pp炳闝卽9 B'8競B箢卑滠EsDpxMk囍~1绛嗱Gü婦伮哊'`尃燱3"6W/v震<1Ts璊\劣@A軇 嚵緲{瓻摱a醳濭栱洼欌H蛒!4虇 唞臀'甖1F`\]r棒B贓P^偛鮁蜕垎ge)q 5H o圚湚塍4F綘暾i#珯嫛Gw6麩乯熹软qJ熱MZS阚尨---%硹筹5烌煖~昞曮巧@7镞圕D)馳 帲屲\J块Q 嚞26禱ol綶Y搢羑眵.;;鬊 \嵃m盟G窭W喼奉h澁賀鱃M韢諮7k2 怣uB:x蚣嬿淉颪侶酼:3"6W7鉅耛ZV^^栍栽 5礆蘹Ba爾掛宙[稺 +"【莢`= 蕬D硟b?6`绠9郅5445$髕]偀揓艤歀螷8pgV幓PTRR\8靭挔鍅玙s 輘T]4c覛歫2隅q.悢諼橸狈8遌UIA^&9I悥桛< 鞩 搘v!--颺 sG_5d05(6k易 垆韏づXt0Y睆谫#騀{嫾踔5衲歇臡Sf<)鹡xd堍轉$7谔为k4瓝9 >?赵;钢蘕X災gd柟/:b揦挹K]D澽_{鑾b 擜纐軩孪偆(纑"#韦筒 =仲}M瘱┡0-灳X3懭櫂0N,&yE嬋U^>岶阈h蓮z澱聂饄&3馴"q-喳0vsb-iバ綵飢孳5〒B$v2m竹坘'8腈z)6墵诬_睻軷}轖惓城颽D靼|W9躶hs)1誄J帾'&辯L@¤兙觋7贃~..sv仡斫臬[)R&=炞掏oXr犀楣1舙-誳&@瑤l崓僃5琴lMM鰳ウjIアE朘圹縕P疄$掅Rn涢厊哾堘=骀桒保Psf忤p0ck赓歖 桵io仨 秼'82鈮e0X&缨娩歯;钨袗婰0>j靈m姓Fa54辄.`嬊kI灭趒)咘*9N誧aDL4 MK顮懕涛k烁履 L#C襄RJ寤  <# 嬬砋曊瞯=裀qaQY$壞2%媂疚6顇{F美u靰M凫 奵笑CN`c儅:.*=M~er2黫蜧$b檛cM=樂L槮6Iw=Fhoo狦 G馷 籇豮讨正8H 岧p腏烽+鮱賺摍?闕壁駜:Rkg妛運K疏f 恂X咈囻迆[鷚瘈肜扌歖暠鳖JX銰鸐囓萦觹钴3#濬::萪& k%鍩礖$-$Rゥ邁;辵靉QVi楇O=u熛褕岝l卯1a0u跢贕邳vo&肓内u杇nc飚徣瓏8 /竸#呰撡V氀j郯輂YYi^愢vlo鏴m豵觭葑盠4u 0$坋?B悩HG翍 欇廸秵颱晻枛Ut檄 {q p43im虹Fz 戒L裩2杍橨[(佲菛脵;%J悥U寿<"痑3蝵祕dV彂碒&7Y枌6蕂酈Au叨噄[胹擤&瘹+铂X鮏宬񛍎!轹\鎒J钉鶤褂赿;/ 嗾(<篱e萍4LQ%'Ge1_2M嘕5;6Y鈩i黜 駜冘D【纾<>t!- 勡34q5,堛捿6絛鷝;m踭!m$+Z鑞!颀鱸d邌鴺 衐z'H柷筱匐%玮籏 2饢⒘ 梉][砙66,C蛮>2騎.逑顕L麋)窢厂钂1戹Vu颓*\p C鵿N洭Rm鞲6`霁U剞媬错q幧镴MQLF凑lszf埧dX.裷'薧<`獞榄7曨呈x齞s煥(%D5结@E瀃X ) 愦{懰朧jkKt瘧礉遾˙宙舡;詈=蒢D StO蒖S*蘒彶*蹮愆歸 S逓fk霒鵿шbR](N牔5喳漦>g}T瑟G>櫅竧\P惹丒:AuWQ3通?頭臻鼖胯/}种佄`瑖麄 畛f鑈XX C兩掽2鐸B$採縿焘`= 痂@G#!ds4 !!0拻訪g /`8桷w頏嘦謷椨эH !!駻U "痼量VR5]览虚 `s値庝<04tn 厔價 Y 濾Qi,?会{鮾 帰9釻鞞!$@9磭拻09侼4"7{E栞 2[e?$蜳恅 阬g奾nxZ"0qX蟼~蒻邛x菮Q厌璠洓O:占u+tr6=,邝&,葓C[汷刂D<轂,麙痍豖⻊O蚺Y6a緍lt4q,q睭kF扏垊!2扝傽66 z/5十墾笩e盆%毛m4x汲f饫&辟W+飿洴:=o .珔C堦j"  瓼"戉*熜wlキ趑嫲W鯰Yk 樞酀m2"祱S佄 $NL9|铎鬵x9RX.痖kkm犱玖粱捹瞻氿揤}樉'削飑xy*佛K;乗7ihL璢(^.玳髕<^^.$%1W芲蓉Xx灪rb@rRw檎爰-蒓*阐; S瞨庠T犡鳨渐_@琊i 啨殮腷}}g滿#嚓酄寗犳诿x櫂:絮T'B&廤紊13oK蝮gvg农()釕(8@G豪鵬p9zA劁鎓腉POД$&Pvvhhh}龖F嬴杮! 瞀│F:9蝩>腗/K8 ⑧匔V斜@瑑嘂!垚}N嚱0+I9Z鉁o"挘V Iqī #Ox刹鼬燸昝}抅勮(;:g旫EwB庬返Mv)<3⑨楫屡B,g Lr<\狗谞蔂箣列汹&}萠买煋 厉餗tA 逰m躴 嶢V*黡&旉垉IIW.H嫻讂臧$篯 ?帛=P Δd彗腁漕町鴦虛E"裵$貼Awv杭雊)钴Y滃蘅瑇x聹 l R憑筆P o3f隣莪t 蟵肮忾乚鞣т峭 (A# 蝌虿惰楥e焙I,Hjh戴抭樇瞷岙鯠z罻i閶噝!hA ZZ 0狽买$!+{禽轲蟰仺 -L铵 圙a盭h薊^∠跲再I 宔兊=<,橪KKm絏﹞ 凜嗟I<$n2k倖 4嶣胮$犿猎名/E<M渳酙U 嬆隆蚜9赥鏝欿皨シ吵啡悷n祢)1鴗撝蠵o/豙浤@譩辟妘泣焻B丂0;拁病霮P%&懆拊`m﹀5鏯 &烍秆Ir鲋d綺誯l1刿峿LMM甝案'q 鳬DAT11a揦|蓂69$=ssU通]促杊g挮) 膘膷衵0档巣Az害\nc翭l 骜爣H蜫宲)p碓Z傽h猕qJ#I岃ㄙ原!ny{鰚蒚欴辬Y⑶h"忞,殹:漳膭赡鷕鮽帹闐QK,ysjJ +8飂 lQ(P髡}裃1瓏髯hk鳗咪~園┳u覝v垃钲#4sp\B8?霴H樞0唉zW槈+x锺蛵i兴A釆3S3佼{琻9rK鏊锐讂鼃鮒;/崣滊苪^3 蚱礜gg舭8醦当櫂O破衐J)柽襄梉攴n蔹&x&壢"飋?阳貂堡豸}8儤C3瀹9w鴮!扶熯淂`0巣S屴?鶋龋鷢蠿"F8*缺 ㊣i,礬趩g婦E 0PE.s:墺"岩cc.媴嚷1漿X濦=~ⅴ"gz 遶嫣碲. G崘z A裭n窻晊?XI7BnbM 厤gS评&H4袏"g岩1戝沵闷撎砝>哏耵D揦=$;@杳膸沚緅鞅腓锠挳璽陌q,4z審肼鵃萜愸偬 攡w0]>lO撘﹂冏`汉6蠩r5伃h甪k`;v 篳líB;ぢn譒&欵bZ殬r1mL*赞T*愘a&T`梿(8) EO皝l/1!翍蝊fm习琥貝c. 弥溆 攃悁翔鲁瘢庎讀({T囃昭坏倰獅pq町憫e欢* 跄2Y綷 5聜葥M馶敷!w愌/VD腱粲[o收 >mqG 圠/@吓-t-}踻0胘6@B飏 b f@6=蒋烵菑i:议燚5;*R妔珵5D籍q{*旨淙軀曔}6智@"蹗{郮F衧j炧艙誥窞If拰喉,i4毢) 斤 ,蛛a0.GzPP@浰`;Z靰||躧梹ⅸ忿K驅X撂批FW灼 玛.?跟鞜閘臇-y/ワ餺v櫏鋞x騺B颠描3r{蛨藦岝裖镢嬇谫贆症L盻{邬營>z弘u讖彿媀4騍蹛#稫/<璆w你)担p?龗:k鲉楙轇疩QVV觉\蟯d忼诠跇σ,紝BKK芁dB3韒橫憨肌BJM)^實 惗@暡臱(簗勌P+PP> !EQ毉t%怲! M&媃峇@0潩=铳寭Q 矯6倌J<9=唢砘;氺Twv雯)胛P無`d孳PV[椂4b噣c7?O<擎8 56咾澆盩鱽h菀+靉-Kc%:梁w"Q晉&袾 婟 $袄仾蓑ir]黷鞕菑訮0狐  |}煡(^祱v1sr+ 检3Fぢ?&\\閾'R鲠勉<炗^:%H8A~ 峄痽l檽:Dd+V臽\墚禤-訐籖d睈=窟_<{锼法Gv劕綟|嘅!黔g鍫棣4=榕筃1蝆0洛Z綑8奚y 稫=, 摫窥城b樣長鉹 唇G葥q):旴0JJ2í箇{V蠪2*g奸*z=縷y鷗~術@k7S6爃mnR颰m裴W=!fs1﹑灧 涮{3俎駖洱皽-麏v鑀靿{比S煛 3'韙:2趻矢q鉕[4F&醅X妠笸觘嵳P武<5U'| H驊:瀆_+错蕩-リ鸴 瀸蛚b8慵訲巔~\鞎瞂v 橅0) ylv啬XV熨壡222JJ%.憆∫ 钗^甍2T3z(龞u~蜙騱>í飩vo嫾兑;?揽蔺顨B芯!a暌陬vm萱茊\吭n b耵c8,;朐A5憏xr2顎$鑿勶!' 5:泻墝>I屷芾G;:朽r*趡3y筐囩拯郗芲n珷I佼源v譜韱E5杶劃 9!>!桥9> =6m铃"迲厀.W饽q02掛4M2 *]E齫m耒O'w 趈~E维)m2[jvU嘄卲q翷-1bv襳0 S澞Iw鷳/挝庬ヅ撬钨r跓桫逿 汴*獘T梠蹋︱旱 懯i(,lW峑蠘+鏄 {a掿/涎Tw蘢`1&<>;鼲d浞╳^7峍88B罫0 莰7*懆*轺崊洪;胅ZW惗鶼活橦]﹪澕;I'嘄()壼q$G壌鬐魍埯;鼽筧赲悘0$嶽(PT*誩tp%]+闘0棏FDe站朹wtn6N甞B&`,A%/ !X.N(鑳际d2U7杹濧煘% 漴袁)#搑Wz寒P6D匎棁袲砌投j儺py*梏タ聕 $埤ㄗ A俷嗆纤+G3典F4閅虛@刾1讽崮Xw籱1濢B#氈侍 滶si桩"呦^咝脲y瀤7w脏覣埻7焥洮過襤( 缣 篌 t婈b%S銿8﹋齘ㄚ儺齏u,邋4Nv.[柫 '鑭w脃婗f浀坫<噻T廚泆簯!英~倒諼蹖搡zJ楟抳娏P%FN _$%翂!U澆7贕荡Mgu恎n錙`e峐m蛄5 QA┭ H焬茽礘连i)W祼*洉玼)9w ?魐鮸泃me拱类辺9⺈C码m凃秮佑螱裊E沓f B}Hh辅成7%?3;炲-5WEA餎1蚳砕!煪偳X旰Y輔鳰.X 8G逳务 zmD鱎W塾侁佡鄂.辜k晋2EV.贳衷峨藄CYD47$漆蘎獸(骍[妑W逘t鏰淈u瓃/h&2*/蒘梭鋳资骀5岯/椬i譲ccumk]署臡-pW贯5劧^啨u脚o孆27W_? 拰收%%蜌瑼-4俸_絑0㘎釖_)菏鶒Ii昉k:z S_丄:世d途辋F吁 es79! EK3<S]_UU<<喓鯍B祮恣1浐凋騛X u氼u貫岋蒁4n:JIBi葱_d祓+a鮉6&x舀c鳘B縄N^跁6%\{硬E犘胀w蔺黠>捪篊.猳2症裺綒N 蒇箂.d咔:$49 }zG'$熶N虯蜜鹣5IDAT5IEND瓸`javapng-2.0/src/test/images/misc/srgb-cc99ff.png0000644000175000017500000000014210646275026021410 0ustar paulliupaulliu塒NG  IHDR00m蘫sRGB7荕SPLTE虣睳 IDAT觕`PрIEND瓸`javapng-2.0/src/test/images/misc/herbio.png0000644000175000017500000000247510646327754020663 0ustar paulliupaulliu塒NG  IHDR D+heRB肞肞Z@I跕 !鸗D-Chris Noklebergw5OgAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/misc/iccp-cc99ff.png0000644000175000017500000000100710646275026021372 0ustar paulliupaulliu塒NG  IHDR00m蘫CCPGamma 1.0 profilex渳懡/A七;塊|D#y 奢顟鴪 W(坧垙暑靀3摍Y\/j佇 匓K*厵[(<撋烫3/@1嶪S 硬>;冸涁zm =秠D夊諈50b淨鱷(X辑蘆瀅?鬢烰sヒ算弩"鰛*bRb们鸝X秪房k筙, X3瀐x竟f3糴#:转+$哵抶8霻圑躵l龁 6顊J曫-#岍4 ;3-DL逼慾* 贔崭h(苎8R瓗2瑂髆遴|D(S&=e昘撛友^33酟岽2騍qVY嗵赥捜嬎福禈t]虻卍;.C7蜶曤7*尭#唯媊霚=顄℡緽颩铄=~0駀J~渰 琅@逤 t淿慣題鐋蓁愞3PLTE淪镧漈 IDAT(c`PJIEND瓸`javapng-2.0/src/test/images/misc/zlunk-cmOD.png0000644000175000017500000015776711016300034021363 0ustar paulliupaulliu塒NG  IHDRd]sgAMA睅|鸔 cHRM齊丂}y閶<蘳<厀 5iCCPsRGB IEC61966-2.1H菨杦TT囅絯z⊥0z.0. Qf Ml埁@DE悹!H瑘b!(╜HPb0姩╠F諮|yy镥鬻墙呲g飐髻{煹.$O./ 'z8覹匞斜x0Y椹続盍@$/7z喝 鼖 He栝OO椰T萠逆lN:K涅"N3"ζ$F墮/JP膔b嶽浈焳貿天d[拟淪偕l1鲌x{啇#b腉\No媂3I樚馵ql2嚈$ 8瑇泩樐t駌pじ/8 p釩工蠊q.K弉jm蜖{r28仭?摃蠕抽.)嫂L^6媑,qm棰"[歓[Z檦Q壶7%铐" 3堉鲊懑黂`虋j畴[虀: w涙!$E}k狂舮h鈟Rm實333嵏枒笭侩: }=#駐織囶蕢e tq軽)I)B>==暽庑 <8鸠骕葔屦9yP荃啕鎯鉀:8鳠畃夬懳嶜Lg 媖鈑 衻$t!0V87鴣`蓘2A. @鰝JP闍#h'@8 .肃: 顎`寖鏯a!2D佷!UH 2 d笰>P ECqB剐**:]瓸=h殏~呣L偐2  鰡冡5p缋N畠徚眇:|仧贸@ QC 鈧!H,翯6 匟9R嚧 ]H/r Aw( 妭ⅲ Q(OT妳JCm@*QGQ悫-(j MF+ 6h/*t:].G7犤袟衱秀7 唵蚜Xa<1針:L1s3锰b盭y雵eb靱19 vG末馓p罡棁+5嵛q竬^ o凎贸褓|= ?師'Htv刞Ba3蠦窪xHxE$諌帜"椄塜AP44077&9$鳤坣0;T2421t.󊍮ld曬+剆;# 倡軻颹=iY9碏gM謿玨&=%艑:崕媙婠吏c1gc糱猚fX.瑌lGv{奵)錖内艝芅瀑彭墰妛/彑婧p+/<j$.$%&銙O馾x壖晹瑪乀冊傇4洿絠3|o~C:斁&絊@齃 u匸叄Uo3C3OfIg癫醭wdO涓鐋祹诞;W-ws铊z 17jl踢8旧c友蛣蛪3+蛖%lKW緍[ $ 蜜l氛lGm鏽镞a綾嶰呾耴E&E錏奩抛2猥厺;鸎,K盥焘陧胞h﹖iN樨=韊舨虏讃v^-_V^硰癘竜ぢБs挎⺌?T芖蕞r甹璙Q=w}`馉懔鍤鲊竾钪z远譱讜8>淳鱧谱 E 忦帉 <谟h肇丐訲 7 洤嶦基嶋7--淡粗€喔瘌硂?:醹Ⅺ$鉪藈Z遀稱 邸鲮鰴庿帒勿蝸S+Nuw賤祡o酏懹jЙ稳)9K8v醆喂袤╃/腯霂陗pq张==龡/]轨~鵥疭锕+vWN_倒z鉠莡穗韢}m?X謔龠~藐F鏜霙]: ^稿z腧m罪302tw8rx.浣/飃軣伴!鷄#〨鍙c雸迦橯籽'AO尡茷旫訃顸ту崜f摟к>[齦鼀牦偀畘←饣_闆Y53䲣r嶙釽虔幖^龊{鲴涗7髎卭暹}莤>忑膢靽姀z>yz笎及鲃篼:妇SSIDATx^韢X曢嘱7轄"*燽w专3vw;阖c忀貚亯R侸www儎攧 *bS肟燀渟緎庛駗吸朝k_泈匡碁X隵骱c傀伩G嘞9#稭eK齆葯鶟nF6-(胇唚.0+旸v唚、爭T燛)氛塞輁*A縢5况` {0[#刨實鵶鈃OcL} 褫鳆旑=妌燈(Z+1?N^癋複w'6猼螦暍M)芓欘{≦i&U$w爦斘T邏舥ひX-* mO9辪)軾搾4R诮悟詚斿选$盏茫,呶90fBaH棨,字I宝*I~g撎W'櫙曄v?甶艨咧W%曙/餴韾ㄡn燭xV朢o+Q飀 y娫棪(J磾?+N$呻4_暎xKe术nN输嬤+ 婴'骱堔U]栀轿$U&w'I濋i/ 暻tでQ(轍瀭O婹〕=M鴐嵰W紱蜐様輋夻晧汒+捽霯5撍y瑕Le—旂瓺%蓎焵寲 柃BFW娼-fd碯H盆鷱|F+`0枑2e如4v鸚!艠+R~泡nN∽)蜝櫜絒SIL[*O致@錓磅掸4鋧R侭 鐴5<踝7Hk芼輚歶蟨n,LO知$爀C9e MN贐r?"Fzu] 桁DF嘒0::镲聼 f矗}C盆闬FVL!湕 徝r玫靪 社尭柽,7 萣  hE(gQ哰Kz溰憘甀掑zw瘈*4嵝慷AJ=錟嬐2T鰚懾2Yoe鋜@H$蓔橥a浜 篏@溘萨'F7.蝋tF1鄂g鬕gFk0谮< )铚%輺= 草* 沵0柈ベ+PAPsJ极 A&+瘕G彖e鵛JuP"#,珝屖|ZQ}a楷A|鱇5 +馰鯦嗁鑷賘矓=索槓 萢 f lU嫲EMg 埯摆熩糙E戡v^+V;Y呎Nm苆)O臒老瑅RsV弧k5悜舲卂8c J磹"鲀Br;(0)蜭毬oHR豼q hC醯k0J W蒪w5塍4堅16=戏E炦 妧B疛bEH懰¤踔+'l3Z跂仰灛fK婀7牒@暽献`&*=?1贡尸箱,b~kV7K嵮 瑯q屲q1l冣攔釋恇歪軕 *妀G u閥袬旱I毺1*thNo飛k膔吥л吟2絑湏瑡2$髅b鋛H宐%(喔*紇H;F;{af鱢#%Y弖Zl2M竹c鈲-z0&9\乽潽绬帎c=棿a緖饱長`t蜙5瑬8)B_挷茕454欤赪尤閻軾(叨絅矧1堁"耧=单Br=ホ蒕獫E==//初<▼樑僳3軮 l臞M6脖蠉glf挨{叚彯.纕uI屸*紟 三悙n薖yZwj牫D礊|/ 宺*Sub嚳咥<侗褩d0!娍訛<%薙乲[渟Z蟧痗鹠6 e闱)溮羦麄齄.礍)筺O滩U刐)O埅刷U) i姍8臹;zT剜絎p鶮芘筈琔尀j霑/dz^互(篆爺9攍:E) oFO&R]韣:3C Pz匔q^@8塬 ;a#p}蹜 F聱矓镆淩疃U姽.OuYc/&蚑傗後Dw廴> l嬢较H鐕^議H靶Dd疈鱘鶶}>z?夵1x盯wzQM~gz諟y`七枻LClU鹹瑑u]H釂*鸩fS+fr墒HU*廻I漯Y9-=│j"=F &*t@偉驺B./躷5廱@矩爚陞R锸━谑唃)諉^茖sWヒu柿9抍#Eip50/M詍肓犄璀`S鱄涅濻Hp?$]o妜酇8*OB17)彤;延酺瓼U翃裟G瀶n藪夠硈膶u侉lt6疖8鎘 gF清夑Ru蓋@廩萒@|$M;p栢袒o&F)We邞⑶a-閅b[*餹AI 酎$z蹪b*`7* _骽醐鶔"'疝:E_挻W])黍h淗 歋I"e楰P 鼅藷传/;=c硽2]戎Ym4w+楣O溌/!哖4忿旉0{w獔kGE炌鑅叺泰#咻ld鰏{鲲^躩-纄b1郲鏳夀Nб{)鄢9輜T⌒髍d脆荩磘磹nn*莢v+逬湶娩魻'奢4e(=痣H6)顷儢/吊\龃筰4凊l僻K,),n(Cw61*M頕%眒)肗膏 K蓘*~砥l'0φ辕 <'3薱F5 (G{)?妍{JY畾T狝舭+= T}挙钱郛`.fj鬩Wfn%標S眢睌褨r1蜈执暳吁bc僋嫍zh5jI橬殧d諑^桸犑崔皎氂洔<臸晘蹇囕jm昶朹炃瀎:*须奱袣r%A5誧鐰p蕍捚>逌^$丁鸙 {?Tu痒轡蛦5趝'!扥m┽賦.K7え$猫"概筵k/7ta煉輷避6薹椗u{Q杘+逝禬曊鐖 g~虹鵰靥)蚗铟蜢少)r\焜.I艦2qNH.;d裛3塺R瑢0霥T緬^轠I~贘蠠き袑哉hf{処6a\~HAt3摬N妟 .わY z骲-誙鼲O[宜蘊./艦g舼7錕飈閝P滛q頫毰杈'爫'? 漓@夝l╲:缴陘[氣媳9 葹Y6л耡澮21紩閡Q_J表D缇gN縮撷=k紿冋穌~`kL籖攂*Ew~R旱站淚UyCE*蟼汖u忈裊殳嵐搆鬀26葵Y z巩rH5鲠TGyzO亿洋斨TW 頱w17 >.斑)銎9愃0F秝7㈢c;褷Xcl /'R攣屸屍沙YM哈~謎7洑pC篇Q 猥屃A)p窟5堣2|Un?稑賷咁E幤鯳镣7$鋟R,旇蹉眕珬衙鴄鋝N臋f仡溟i阬z鱴w慝玻[?厥v旒塉嶮y"鹚p驻1揢┴_瀆%J錫歩隱瞐嶟2禽耈挚 M~f;C埣&5G 陻p-(O鬸,厥紼鱷6 c{}蝐?儀)譥Y碆r@VO碞筱鶡纂耎穀瓨郫1/醁d=mq禙≒uj╛J彘!A聾炣彽煅责r*@硐x賜嬎㏎綸スt 垿uzY紩╮5: 崠陬.󈥝AQ鮔韾oKS夀廷焐棪辩=U湡.f\穉涣骴x玆6羸闕b=蚐h糀鴿孯e齠2蹪0婝N犑AH!豁庳鄾1絷8zU:yi獖jK;[嘧?鮥dR颒&廛@Pu倁GD蒊斻/驳馥W閥 :^曙}∽I蒠>噮Y殀o弜譀斌燆]媄鳖+碭幬h掷搔挃h6 P仱[J翩纱鱣JXz讜\系Br 鰋怆蔰&e綯P昫&I娜XP啗=\5擽fw⒑稫餰嫲鐆?6怸~+ 睅诅产8糘"Iv5 $(R畻/懮J^罒鲺g芃煎?56v% Fゃ L类~G 祴/z35漎妃畬顎帞岉+乨4辜珵IoJ嘝U&賘 j篈<0﹉C癃 2X 蘾览8蓂"P襈<祬A犫7m蓑>:c9'[Jb 0槍憑N鳈扽;蚶m旈兔籁嘵->鳣8湳;%萫煇 黐SMq? 挍 6b度m\D鲘腎g蝓L颃鼠[1瓩ef鳚,"d烒襏_騵绔眂嚴絍@coI捽>F)F2]七jCf 洭S25圓@姞v酌|呧虪"z苁X轙墟 21e鸧玊s0踧h*Rm賞z页X jT髚5颊熭臁鼺之 幅蛜K|&貤1浰陆G膏8薐 閑8 M軚#鮔Sq笒B"Q医8NEo- 襎欂箟乀卺 6{ qf蔜忇x%蒖蠭7~牡.踊姍攔]P醭*雼⺳0<1~砩妡蔜类)骕"H兪tqΩ}#.癔弍$苨螰殀囝倅A.X!┊澃ey?傍8z< re艘檮浟嵷r03鉳A袃)ig娜 耻壝6*艏d兆隲 [VL7d_鳑Wvb=Vuf隙鬴 冧q杔dXsnK7 <齤秺韼嘇钯J懣帎n鰀詼*澈P 応?5t@!梕)鈷,凫拵だfZ鄚僩凌qbO銳F衙牰0\_絳qu7 )2溙艟畎]7#貕X蛕匯2:T●Y ?輅蓒僷/穗笎LPiぇDy乯 eb蕵鍕癑鍼^p姾贃 m0%玾BH( t"鹋e@7y眅"b8})Pf旈 .:@o觷Q驆wC均`8{ 扄68G諮P櫝寉?乷Y(2玳8 郰1σ郌)觾H 鐼o示'KOl鉵d峹舎)j@P ,;餢瑙N乸s蛺s~Dg''嬭eh3J&0i魨齀?85揮詥Y茷Ac豴I6笛徲1浙損哷V驢輞/猏W -)K隑^:(C箁yj7z]3ユ<昮檭j(拥y4V $KU庑夒~d珀Obu爰)T閷紒/X諟)p鄎k9K)骲 -脵v 繢糇Am奭6骕D[TKJqR佔卋滊 Z诊H鏇簮緬$(E攐K胘K慦ダgBdn 氰UZ/姽*p:黼C%崀餺鴥聅 嬴8誈qC瘓=^XtU%单x{8/踤G魤 F8h鵺Pダ闳眠C絸3夀,爛F_a1n-4肽G必兑i.蕱袜mYmiN[P腗E騻雥{$$a@)C恷"G8B魼0H諘帴闌包 呟凯嗭喢60愧JV娾 囕@~aC窺b蹛觓簜b~n0N犮 5`蝈6'鼾p@b:誑攢jh穰WY疸ぱS`];謣W?V+迱"X8/M脢馜}-@庶 si*d筂FT躱--蒄夑_N:愛xR逗擟畉凙L`愲噫v&-B:;滮紹m|p(zQ*銎鵳+>癑~3 e7@榫詩躶q狨 )镵Wdn/貃絘 @.[*F揘O襠窨 {+Hw轢+ ( ?覑▕rC澒d0!肳夊埮rX5鄪怮挧嗙懔髡 -猡RC刟[概[:n丩0犺媻tw浺+)Y暧裒#4r+$0?羱sx]荏 鶌T[lY#!:( ye轜旝h~鮤=羴^2鮻+弖wA阬WS铍飨蔬Z!H=8 8纜!U丩 懂 F^F~$I 渣A?鲲.R縌f葯蠱膴j簦 :$繕姡懬灞E9N欸'鸴7犍穟g趘%q廋畿P漥<'慉l繴鑞op\%匄 [壷僡#膧辒v!鴤C=薏= %\禆^y曗>狅6麿~:锏Q鬢鴲橄"T襤悟FQ'gb瞬啱朔.S 瀘肻0粣' 鋈▲叞K鴋貋{:# i)F\ w豠嗹 ;T渠傾.k访y縟覧L蟑0v_ p4厹R5q%貰掝|蚹許缿蚿o(堂ㄖ恆>b揇 獃蔍p专jz km/!E骊B榱(\檬霕戎#閥尴(るu枦%躐0b=鬠晗~%阬))!堾\僯[G%arˊ T=I)嬉K褋炲i峤L醑嫜汔Vt g!r(P暬丅漜c盧v纮P餓硂MO覩i袣K=G9夙/舿驰?颻|M'蛾膆Nk瑿汝9,0怋頒撧@*g莔鍲3}G :厥.鈢橝e-!"fA椄g&F4]荍9呧襫 i麕"o,妭4e~ua犰緇"nH獐6<棘 ┱A5(z 諊hloq鍾@岍Am.t峇Jl(? %衺缒蓃/"麍暥5|猪8軽&K Q3~x<=師乲锓拷獶蘆jH笶5筭镮蕍漁1Fp/(W嘷UN=異鈣X:^^婟抜鳆涍?5Io燹馼;嚥T跾吮咭l~x18q翌抑)E7黯= 槂1n哂聄_h(F 櫧0cA纍I芵,$輌湀∫P{胞 俧U猨鉷B庌~{燛耊;)7眾P 缀 h:t5?冴 壭*堾岼 |G5妓ё)T灍IRr⒍剿 X(裿^I鑽靴罻嚁刓隱t﹠e卣謺 {W辸U疞穙$跧攫iR彫獪Y旾(碰9. uSFya鹮鞡俭?熰]9`I/鷅$硐2,7堖i眗ツ"蟐瀱嬯Q斻$拁5纴~ 畚=镞 Rs氷@攞5Q"[b懀@叁鶄i(E6矏y!V躨^sSu)bt 否o<#鞃冇%鐰:d=γ UT邜 @s%霂go'税曙%YP浦N鷿惌毈繴-Vch盪盪+诎U\5J渕@瓦轡覛]貓*垞|问冊區蔖羘MUiP荈T虲h7蒹氠@9细A滝 #绊"H,R鱨ホ视9xK7 =嫑瀫浛 p 6r⑹"圐通0f郢G)+97e dV轘甴j (鮽奨桐锌 U艫C苮~瀏5 9鼥胺 萭 .廋 R5奆顸悐7?葬鲋7冽w I(圠; ZB癦軘(臞V擶+&閌?5i5~g Dz;習讲Z"P終憐2鋣^ǐ鳆5窞*-_&.睔豈i`cb棢[砡A褐嗼z唯爠9槚-$-A+倈噤}鬀㈠覕柜i熷z&8h,鋊IlKo 鸖0f谷 \! 堦嶣輩妘.?嚵) 銊儳艒擃$陮鉹YW蕊9  )涼蛮磇甼Ou/螔卯"5p #8glv锭耯0雓黻矯o猴座($d;迵耭鼇EY@4鼩 攬欰誑-餠醃H簸'q(畐磻'袂,t+(OByA ˋ~ 5!#P楟m撕*Z!鏰惷"/],.*漩D1d痢瑩桳'Y礋P劏e 0J"O+赬JdT* *奃6 聈 &6呀8佟4Eメ驻D旿蝱浻鉒}|1y顏Y棲(俼麃橝Q码0."-奞b鶂兪;覜鹽鐴r鱳篠+|柤千-?-菼锐3$ 偵7a_ T弼" 茐1颳瓤U唠C簱!yOC贖剦A鎧鞩((鱙d0D檙| 斊)w侐洛!/  ]枧%u崡Y縲泍Q*飳sSV%s]E-G54臬雑0欉M勒}N 笹埛Q.X I縑悵聶溘5r綡F_C麝 XH 諂HR=I#稶蔶阧犚摐 <櫙〤E侯骄邿琕 hm鲻VA皢$箰阀姹哫-佝嶅c鵤Oc缓3$苴2鉏"#$Z蒘<譠1A{魽.&閹0 样8譡d斠仉x兖珑5瀚诔'佀櫊sRXP i+Z9夭竡牝b祈玗Bl]g肿Y[$1H8r!牯$;"m媏-r{刢Y╧#[8坆Qk绶島!薞-k项_瀴Y} Jxg僅綵*N俧H5锘b7%0帉敢\S缩tK鄁C η !D溠 B蜵迫T瀮;傁笻+岸嚛v"$93櫱|g(1-8\e4殠墫汀X%#R3??Z雄蘮鋍斜"娳_m4坷吪恩c}輳= &!b5㏒EbW仕Y8詛/k嗎鈵}T_<@救F+酘3邑貎<佨-螓#5耊 瀘鷪瞥渄狘&G鏵 $睹鉞!瞧墦*Y:裮饓9 拀-聊嘋M8 唶\侾tFX鋦嵚飤j梢飈院!oE>0F:=D閞V;??0瑟傏P渷2譡i< pS/!秝腚yL霫 迈z@堪綕罾  `烙AQ栋$U啫RePz)1S謄KN峜.浴啗B馏硡 求勶{鹉.Kb;扏剑愻s饝,8麉Wx臲*@-e#n厙枈1`脌錬鰻wㄦ蚄4 峔D%鑯德 = 訞 貖钲? 渐5趈鬸齩^l}w诌鯋鄆赍B癇rn'o[t凎惵謺寢多 丄使& 偓7-芟S&* 溟!VCGZ鈗禿8H#蕠[ 徦u?bp耼聧 /;C&顺%暎X 鷣勥qO櫜P祏 2漯芈跹-.(IA ?.C鳜qx^僠*鹇59曻存q7 Q昭n棤2 !舶rd笐"僜!渀暥(F繋唺0梇齗?~痪6\ 芰鵭A0*R妦狰潌\]诱飴埋/緘A5旿(,J傤麅 %u%苯{={;璥U(c玜叏鉆讋g區U蚸釲 -駨鋛堥 V僗桀Q謰寧鋸驳C惌1O@3!X{Y泪=稖@Uqm?j\]剁(Vc,\嬆6你杮謷 W.衋kH夫技<ホ 9c$Y僫_鋳謍G峚S47滢+〒顋.営m*Z(jⅢ,-昤2Z f悍k1徳u# 闻,玁注0伡粴> U裸拻^$-玧 =弌(凁亐帚唧芵 ^圼x赬 $D踤{鈗 p/x~鮡!G迻炲$穋▔G<e*圖桅'FP黑歳=鷃灰鹿褣J徕枀碈-絉=3賄c叴湏8鲷粜 J!dV<爈TR畁贺4 糿} 9%35:儁>樹F壖"瑦沊gq^槁怀凉$5磞{諻9傄7*M迡閌撂@+=u员纫; 葆6M陋愕J瞞淇-湭13僶Y \楏6炗菷珚85J敲_剹evC7D:祀欘溴<狥峭彎!鴑q欿4剜肵!?瘕Lr貐$>u髉呔6dq(E荸( hJp颊伐8N鷁C/婩#〝+蚒娔( EOb5*[~U%⑵岉'}腶棸2|@p离- BG報C )\炂廧 拙刔;[L/P擑*ビ'乻s肇 鍨C幨芢邏鶀濊("锘[í@懈+U躪O栏掛玅~占槏焘彣B- i#豆0 m-幩6ZU鯎韐7堛Na鵐(3gI灈冩c萗#紗7H 鏵 飽勋宆4痉詑苒'硌縯bKVi1圐弑<.}馁揥`寷笰v@碄騴轹r4S e3|b%塸{乐`X筎嬢2-龤c鯱 偖滃痊u幓 悏愍, 檅@溊C+1艓"煬  i#併仭y搂絾0嶉Jl菃n鞛1緵#罇p{!韸葻毋锛Q<愙M碆e7t0x僤BV饄>蔚子(銯+庾 鷐淦?mH@r馈n圕濛w釳儁"Qqe|[簫乩 瞠56s癘⑼付/磌Q琒S8挙nb焠3诔v諞藶湜尷<|蒢涿O" 7("T醬蓯+阪呣敡黳u訟騨O争%鸬8ǎ::吣飍/ 頼1VGT9﹪m"=<+B逼柭:剛糚佒AD;Q22屼萬銞?3缅+hEd!踳 鸄. Js腄/响筟Q违感i7r閮臋71笩r 踸彬[貣!龄姩:瞹肇綛讗瑎3#忧厠Cx蕌.'役{濊馚鏊鼛纐k幟n9髴窊郰蓆J靵XDW塣=~臆胔阷9頸}"槈i7 roBH$参苘彸買Q/E笏倶v衄`℅-E貅i@{覮U萡v愣,漪7-謄廜c麅/+鞩w祢Y=M>g雡⑻1yi8*p跴 凂湀!'yga至跙擀_g*懴6葢L拚--聴荃鍀&\{濍.讉讌焽懶饽7^醃-棈〔擭`惾 懽褛鲊6您1q帚=`綷B叄b霄邘殮笢l釂鐖2pH筬軙5誆6hkィ梱<冖肿 U(闬s覜?}^cFxq昀觀欯nvh<膩#m} -+軓Vl矁螷晶墅= SF[>d'懹壵擖钖c◣恎u|隒,2 (啜胤c,t>炽M怡 +1@’"呧 IAg莌鼧毪Hq哱 h 2曣爟獗W6w`啛篸m6w嵘偟萲J偽K#蓜頽-焊 硏=泡埬/c[祫;顈 鈑鑺瓞h8=懬Any 锏n%Q僷ソ徒Y\ t=邭v牂宋具楧衢 啼 鲮垟景拧Z頹(鶧d眚 詄/玎L鏥*篘~抆r-*K@3緛o俒h傷%e縝昲廆徂fv:簕>}095蠩%@I蔪&K>j+驟耼鮍b啰!q&荙昕O蔓陨鯵0涯u9y\r扂铪覤 绩4D兗鄥= 'w2桍/kv肠~鵟饽哊HP癍3黚4N頜/爎Z箈:兠|9偱}鄎b实鏰蕈侰癖`]Z7w8禧|W暹5葟tZzC骸(H晫6藧觀I2V邷У73釋q% 筸癒惭/ 9釛mk@恀晵 倻4'刮蜾 煟2T曉迚4#筒轒!覵陓跩⿻H]朡啝f矲d 応"牛8臒模SO|獔鞮U┙│#{議e鶂汶W@x8/N傪DU=w$@v悹d瘍攐-K蕠X産]/Ld(p矫庆鳧峯蝖赗攰 ∕>q畹>)3$魏鮻揷j>鹗磎憱m閚 *鲅牕伢/丝嵶QQj蘠D辿-75tor锴^鲦t!|曚粒y%#垆倓]; 缉剨&B!^X髴战[#_瀑$K涎#鱕r/)鄰g桎\ h*mP羖y6p|5廰櫦u=D虶 b"忋鈊艵 : >瞠D~$(,"鮵%!fj`捈椿@?+t}?;HtJ煇2Y我B牆X侼borS)8J眤0坅 耮吠G/{紀6+樑q鑴P鮦\褅 Xv軖Léh(U苽飲櫥巴*e&)眐校鐐1胒舢p統0傟 橏x*Ug *DG|o姷忐p[唉 {7厣浺&>貚h讴b/腘Q0悽猍ㄎ壋[皢仃鰪佇,戬'哂踩埅铆咥 (+薶~ 泊%2\&AEN3z@F烀臂!Le< *潌P漅M歞>謽嬝xP;+sn5鴶[2攨R7+紬H:T鏱袵,4,N霩i謋坚Q(6*I'鎌苟賂Σ0誜zI釖;襅娂梔跩/0揦寣殁;+俨涹/s{m;+W^曏塺}軅A儀񅨖蓙A繭蕎h$凁 ;lfv=饈:ˊ o稈oQ2Od 3~鲲笡J8匊Ra膚ノ鮊k/j牝献筈%4F蘍u#QPyE2[蝚甇cd鮝:鹺3漇#槷稘烮禺烋BN>A8t蓱洽〡j[敟8蠻鯒娧yV袕泵 驗禚檺螄儆牬&8h扆%磆E兑柠0-ZO虑濋m.卩EtD#鳀o簏緽鴧yu蚜崽笪z粱[犾疣 藬|P漈 霦I8現?h1&哐h渌LY捖H隶抏BM褐/潤琢蹠sq鐕翝濓湻ufnSd C陳倵T ,嬬盀e礔G(ア鉭唹]]!^飁Gc槮~嗴怮濅~HR隒d(> RnUZ8Z诲伵霜鵀粜[凉℅4%@!N).b7!l翙敭莩@貚+1茪h牝施Ui 84胁鸈鞁蕾 閸授xh#+紥7艬進 ;E懬棄w9壇Fr剞焨=(9內W 伝L邸脇pt齮刬h氹〢飱G褘{#05陁&#拂`堼汌3p& 飅,馑Q<<&b岩毾C擳O!'x_藉M訿n}^豱攽E炱^q實Kz仩+J%/G_!xZ-R)e螞礞x囕P┇H镹;Ey#O鋳寏4牤HG6鄿XZ0r邫甿┊|*z{苔渚q衜槿歀蒅从:鴾X7d仧麁黑c衧P( i .R鉺L抮3V =Ti*卜室#g-M4 揳'礰o秬 % `芲PA,诂謎Sj泯戅u)<獁W 燏}s揧煕 ;@媟8榄j& 2]憶1樓蕂蘞'w藠笇嗙骲9m2\/蜉|)7 ~o R#D命惪桠<l@QW 銊顭鄑E俔 z孭yM"q霺緒逪vu纭'-yTo蠴K掻襨搓闶@⒚郳割;~v骁錯>t&瘪7謭g9┭X ,<8仳纝煱蘰&埙_揩仑附咢i繩戟蝹<=湶蘒(姊'd7*拦 E儂Qe顈褃卵`溶e軙TD伲隑$緺敞%Dn獤.B帄 n渡h2lkvoq击[蝥镻穥鹴!=岆Iя>P婐E,6曚糒嶕4^%n瀐闸.艉p煟H鏠)R~0H府D2瑦Q lyMH;Cq;篅浺珳欒O負,>?e段RaS廳7酔x 溑,IF穴?"xo _G}旱&ね$橼6曗H扯{汑絇Q澋y悤惽郆胷B萑儤硅縳dl  犛6_ c雤y畼y呹G╭>埪:~(!树" 纃富F[;>(巕=(,S#$恫4鑀5X@Pz.%- 酈ry絆z铅乪榦 |扙a這屸傸wJ°Q㈡屸(y飸牘圞f敟l;忘讐=5炤盭-_ 貆'2哤籶NV矘%)撹A躌, G诞誾a6上鰜涯筫鈜H菌`▕磥枸逈|熺7[仢k忆綶糺Cgv銉婎苹] <as崹富|2{aN碰)饽-7硥蚍玥筧8< 壙, Pc鈨蝈y(醘s1a簹+E晛Z斟娟\悖h0赋@O椲D畏HcT:靵鰘DL次鋝=俻r$饬%鹚洁PX躕%2 矻d%褧%R+鲱z1 A理Y.b\q趺瘝葙n鐑be;瀖=鑼b.寇 L洔{v歍3:泼>:捳s6疴瀋X >煊oKS"!6觅鬁暜齼啱 颃8舧q?航却p改 ヾ{瑤庶)(ф爂蘣q3X?齮椥I鑦Q妢[狧K/s'礜穿7\㑳B述霥EP淗$點誌鵹;咃\老嵞=Σ鼀] 拝煹纛.&漨~鄡7te孟宔錦痹徂?焱 q5S~'(寂烇d羿"@锟 <~A?使8>N峟谌V瓹朠R)刓喯d卅<苞Rpn]蟡瘜d_眙H皱鶿aR猐粏4钢.!o儈寸;0b饻\?覮"蜨2n寋 僳眬 J!We(咜aFP&[酐p;蜤5冶孒耳s屄w}O而$朿樹&(<菎b弇 航|叅亽歞>紘%貶Z儥秜<敳塾齕楛消@兢 騸k"$阷]捸暩 d菦+腆.pkグ e 诩澼< 極峞{滣K丕迒寭6C千葠罵翹疛詷痐蝘\懸A,o'NF婧T覾赑~藼B莉誩詖@騏 扢蟛6礱喾} 9妘:僦\=_)哖媰萍5⺄:p[蹭圱9诱碊m^佋K. ;╨~'H_D憾$恆揶7 垍蘺 :嵑% 鯠(q{C;>=籫l6謙澊綗巄u簼謹孷)汽':<B燖竤邀7雍;4+洩您;?-潅O鎱3貒\R香貑ㄇ悱颡讵 3凊+鑙N貁J裃'據须儍 8#顈筦o)S xE弊n{j遬耧蜲潋s2 M搅狋>-呮 莫肋s犈%优鞎vv鱏 b笘I槶醬Vb誇壺l钱舢t!x聸(#鑗 欿蹎/b*pnNn瞳;潩傦k|燌沭f\催剫OBb/9*0寓赈y韬秱j_㈠=倀艡撰籌趯梱?;?鐓槛,蹟偝鯇G羝Pc.羣AT坙@J垇V<&~铧鵋愮+傑0扤绳Y<>J#\ p4哠拹Vp:粃2N踚陭r6Hvw詵珡袵i\0暜》U?2m乒咜G堣@蒤 鵹Y蜍做cw O懀H蘼懎翤<岄A瘖脾g蟃[m卪1旸M璠譕頉鷗鵼搋蛉鰞6A.r'"i'簡章墂列 d :\=楖阏R埴茨OK飬锗橧=賻2攪聺h&躗翷9 茉鸈绅j,胋8v巭4w#繚?裙A,濒鳲#x:譹蛤<t盓Io|q(1迱鉺偢d抦z諆*友'g"x!呙姍Ag昮泖唓忎s嵆+矗'3匯恶蜔X \奢3L暏曰r袕绐2鋯C滊鯢#犔~遃歜!hP裿 B灻2 乎#:.飁t?d-酚硔{:g',(/"%y隥Z wC, 蠑E斔壖'G\3倻伹膨槛3Wx僔薢砄售鳧"墏0@ 〃 茠髌/=锬f乊蒛蔹:罛 m幮 /撼 E蜴璲+剏烾sv 大;嗘訜9@瑨鰏訷_黎o~Ep萿币离J , 緇嚋F敳s]憥5喍%%埀蜲K/;瓠u鄃ic`廙GHG.'荘磁t楞由bk_Q 脃淜茦尲2尫熷.ymY栆(. ?!竾t聳辫iO縠綆U9<:*珹螧緺k'蕣#A忈簢\Y歰i\^5郳邒W蛤- 1嗏謰 籕猸V黏 $: 樢辧t g"7i$恁`i4砊刲珗緕k塸曺b!乕參渕爻S/ 7E醊噫F`"eA//1*" 潇 cX鈄C蠵9店↖wV呂Vs娬%o擡劂Z6x&;D粑貇軄y鵅艓'温12"浫媁m6:靘1A耱謑娠盶緲q T)5螐c>(|q旅#夆 窇W硆*.D溭 8窀漹t票@z6PW++=岇 鉻犞"攎kC.+抗箶砧NcU^GeL&5蹳 R\m篱闔Yv豬椖E6*噇k市逘貑帹7}G紁F軔9Y`雀薘*<8臸其鄷禭誵恛9k農;\鰷鏯(p0l=P燙6踑阵罃藔X两杜sqv 雬竼莌?j茶$9駌/6t脴号|怍SX蒻'g嚳/34芜a蠦|fa;鉠嚰n8Y^]tgf玵3t?h廋3㈥辭崻 >Z/b,ZU猇鸮jV韟R冠爰鼠霒OS瓡灮7臔q8 |0禜'2u窪9詿 L6!0鳬@8浡驊2]謺傖抳敚"-0x[` 擦dr拎{驇 竑8>(绝获\ l1抲Y讟蝇 >遳O謢'鯝钭嶉峢S穙膖6膵棢澙 罾泸虏:(硣髑I锪8A剞x攐僃_.0 T軧阎(▁D璦譇鉅綐倞轙}Q庚 Vsa>;y dg掂鎕MW`遯5:dg亞4 祻碃2胫 6 俲7砓^{佻纁b0魏硦突4 齉灥~鴭怊.騅{炂I则7\铺n,f賊槍鐔胊甧耓9`埱5wC酑譝詔簑翬+9"W諢_蓜籮c鲡鄑刨-)労D淽a◣^剷x逥畯uo B紇3 Yr"轻硃弹:_筲s訶K@纂Au@瀛淼E,E/琎蹶叚+冉禶@4だ漄⑧ $甶 讃鬂oy蓋1鳵X牀備鄠罃K忙pe p*怵鱌瞀吀&譍壉蒧9醋圃?尺褩錦熒亦*聈汖vA戄6G惉莅o驲7o燧|ro~>侌q GsPMsQk掆茁醮?鞞} 7兢浛 K 饙{+ 5惏 ^訋s+务幰嗮. 椓盈h昩;N杹咘麟鴞尷HG0acmODN cpIp邢唷> 34  !"#$%&'()*+,-./012:56789;Root Entry~?单鰡C $覉DataStore 帱R,L儊R,L0u1  !"#$%')*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOQ(0 PTYP 7 0 OUTV 8 0 PAFT 2 0 THMS  繠!"菳C#csz% A朆荁餺塒NG  IHDR\窑sRGBgAMA睆 黙 cHRMz&u0阘:p満Q< pHYs  逸~癐DATx^碲媙A 悬OC#QTJ覞莭爻7B";决┗iB2134~5ZT倾谉?濉x傜!饊膓兖膓兖膓兖膓兖膓兖膓兖膓兖膓兖膓兖膓賞铴_;d<7bJ弨甾軏Q疖f@璩噘鯩餷x秨~<踤D掀猓<踤颴煪鴷阺芹S铆鋶O余鍣勼-*g叉'irbAym镜6晲#YkS4:5偁害踷*太滜 殱紓P=邔m痌昊溄顩瀡鐉篜p 啖凗T顂 i懯- *T2*p缆b^曻緓W/?疱鍸i/殶0袽f[濒蝕w 舡⿳.苚 .6偲I缿梏哹 >餒8b酸 J羨 >鹑肐敿窥s剐鎜詊疻绀砛5笥蟥Fwz@淓1\囕4>称0闎0jшta8吋5P搴H块Z昦X組#玓7]* i 謕U2潭kV羇舯嵜(碕M dV錉Uj爆`u獲→0 璓囬玗  匽5盎 V 吶嘺 !唙諴9As渀毁PU陛鏤F'趈6A]pup9%蠀7汯轚tvx酋.Zq&6赋 騔 =[ 9欵0 『雾A蟇A庝袊0戮6鍴}鷲FPX譚硱趺姜+癰驗楔?論W5P乛uvK_lp薖誄欒誫孵茾 %嵽en{x谹6k﹡W郖 斜魩髸靬絛鬂浭踳肳骸嶜E~吙唪熻鹎o5{猪5垭IEND瓸`煵楘蒃 =蘀馃JFIFHHExifII*C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222" }!1AQa"q2亼#B绷R佯$3br %&餕T塒NG  IHDR`?sRGBgAMA睆 黙 cHRMz&u0阘:p満Q<S笽DATx^韂X昚=鱚篞P眘靨慧1f毂TZ夯互CBBBLj隲傀茾濟>蟷0.飡叱O旖鲒k 責5z4=}匋x&抆≠Y菻$`Jm敇@$b$`1緒S搋嶘&V]鷴曟綿E9痀A~}}uK憲a鰠徹擘'L馿 巊,嘞鞲7毼樒灹混*?(嶌楶);7P0覷*賈孬Qけ E櫒P:旸jQEb'狧闖e盷񛉥旸kSapG述lO⿴Z攈攄哚e喕vi哰рd鏝轢卽+陽愥6!贒5羚碦傎*5 Y 馈鴠o漢牥/攉瓆ňrY9J荆Ld( E杷R紖7PaU=&~W'篟UR狶霣U ]镮/旼uη(諴O墾繯摓 }G醱价.L趘撲蕏瓆夗v$浭g?rQ〔`5蕌UΠ隦涓W@喫tm+筮觉02麵H&kDt;鼄#硶孿3GHi鱡呻v!E)Q灍:跑iI磷U(芢叢<跼qT{*O云D 潹8#8!tN@1谠T5婵m搒=英g歝C翡,孆Z7昪#鬳華GH畤E'A%蓗泙蜰bth#q䴕袮鼀F埯37斞1尞蝐d笽掃yIr;$ \薾棎糔K蚥儉套2癃IsR6旑謫掛(庭5=N霯驻萣尮G@氃鴋J詎.蛵0P瘳峯K樨Z0r/む+Rd禯Dzs9锬跷2鸀 挑繈3潌Q睹1鳾0+5m辂諴顕pND w)TO抣葄+專+I)v姅袙怙)拎抎?"O纤荢步2b錢n`T嬲 ;(,貶6へS)Sffq2Fv铮B<( 槱+磅,茤35m麏邽/謄躞郯)~Z V?A{ ~揼鯎[产踅X7形A屘 (魥坆$)轡歕慑B`S !E!%(钳5织-2X!$骍寠]诈!鳙 HO罐璻}NKb|U 3^殰v 灖巰湵葚c鶡鷸巡鰧鄂fu泏1鱱}Y鲄jLa&k1I闊镝耒練覓-hf3Z▔1亼+/露&AIwaB6胊~W枹%055l爂厓桷F2麘Q亇Kz澷蟑mv7枧樤HE謢"6J烏^趲y锪uf"k8#痑5軖膟儃_悹皼R斸"O%q]6欹由釥"蔟塓濵 z欄懑k门_浑Hec籌禃[E4粁^^f><湅槬;2萆妉臞-6鷆麮燐柋瀞欮62汉巯%舃謠愲A!泡懃驍炘Dg塰y_hE蛛e逽鳱M竚e"/珊遑*!R燚Ky* T8#)娔灉w!Vl箹]>宂\褳堇l睨m/Tfk蟨祸潻蔀 /舷枽曍,肘绹B.嬆Iz捹鏾8L歵T跩T璀漺q~忓盫阜繋}撕&^擇*qQ wD T貍R颕Q⒈臺Q郃酳篆/0慢儥猪闸oc瑉+NZ聃9"s漋U+鑉蜰6颙杋誉酈策(苡3xFRT p+ 呸鞨n:(吖=)韌w植}倌舶o'*樧蒮!}溜.礟);o搱习Q倹a圸"(_挬E_亄xD劁笹p闗荃&JO島n.bz护)钎爥箶h E*徉mAO2&QC>:=S 纘p^@8宬M;`胮E;愊qF7(烯%%輐C扂ju]2芉y滂;舟匦(m^m尹yì鍮'0|r墸 蕮鳫%蔇D雜BD賤8n%焈汊栴sR"尩萚W<洗穷鸢T┒b9t5=L躋B`諎濬&儱"瞂僀鶈颒R簕;|v凐濌琁梁幁)荙潥^蛣q栣V!傤D>Г^U黰-z毠湺嶲2/鮈焲 `)v蝈铕r咈4鹟.紝I妳丆譭鸤巴豸<-|])蝄 懗"=p@崓{*o2鵥v?toCo觥杭4%暫aF邞l=鹸瑏 3夂怋 T1+汀t6)+n曖jT謿滣抒瞅/zS]$z5溾孶"8 j]t祹`?y?擄色'廴協(_茖rU( 势9恗-M)p齊0.4l砼陖鬡癷鱳K苮烻宻=(觝齛*OJQ7(哦'褤慣狽諄JT濂@厀淙g縟"脁]6&8y :7亂踡p殤1⑵ETS<鑚+妶Od萴;淵櫐"J菏(氘4=iMO阚S緂+J0S&鱼铻}U玗8Hl]镺H墲娺鲕坪D^挷U&]i蕄k淓嶒齔R睙IR黱嬶闯;5c儦2Y闹Zn2尺#罹W侭/擅嘩椌旍`鐬T觼 輀袐u曥$C醞颹l嬵鯟G鲲^諳趌!緓浚绹紊綖A%zR杮K始疛羚迳养%D栈 h賆!葳U岉) +跼偛k澍酡濼4鷗,攵{玸M榽k菲:zN慧2溕z7飰涶i烠扠 ,纫輱孞{Pqt{J硶Nx鬯Q"B_z0泬宨7阋鈴鸁摑矶CM憘/蕮齨 鼕蚣4噍 g-* $z詽烒玌%璞6+嘏{K橔囶ue6;畈昋湙?Oya)踋 |p桠~WП鈪-僬螌殂Z祖we吅Sa郣讇苀cK ;猫2R價倗忻>斻q栚xvu*饸L〧赥=鸝勯樥撇 鶱旺涍薄~阂貼 t枏%~E喜籕i*)P櫡*y懬宙蛗~8%Q猞t园5;hQ俥zY2*S鉯I挥厨NsU鎱飊v9氨[~y>{拁_慯V ,慷旐eQ歱C[艺伸毖l庵窼轥5F.JP,Yi7kM O芇e$z璀N鼢鉲舱鍽∶z叮wS优嬝惷嚈9啧W?沵'朝2P丷+戠IIG跶杻 鲠朤邘2-涼鬵諝qC岘熦P铮酽@Co|/D播=5=龞j 芐 ij|9pl蹯蝚馏踺丕d痙-6 檝r竛署nC9仄3恒肖3#櫹瘆碡-X巫 霻9綨6摙"wY ;'$ы睺_:_Mzf髀 暞ょV拸庲唱Z岷-l3ゝ屗?? 綠尒碪2P欺p榧螶耀5訮 =塷M嫌恍洭~}褓軠涇 1陧菽筿i6w@U 犽D耩<▇绞鑴V哹媳裹跓鑻藵^6ボ漆氃炓1ks=U鑕a?J查B缇f秫掴;k籜5秄S~`Q=iJ2懄? )認欔熛㈥躠鈓抔鵏V丘*稣G]肘嗓|皞^幊<覂瞕厎4= 绚獢,-5魛搉LcE凸篮卾;D笇料蜢A鬺rm%䙡54d6鯿4A佂n熙蟪回锤掫(Z2|`o (J诧O圍坑馑pu霹蝂蚸脗 Ga髬RL醰HI媸趄駒腹?遥蒯鋟圑鼐鐸z髕W龐#[汋 +;绑^%+9躲嶡+蚒嫗W炻LU"_z戇彣z晣hガk蛦炫镲鶨P`#輽B 川﹙艡kP茌鯰[-褘駭o#莜e冱v尩阽荟眽Q圵r|U+ [$姴Ik缔o絕7苲蘮肻~鑧}塒xF#玤兂1R_昷&RS2*O佽}r=趲瓴芌芋i}涶操"奍矰R>君8u厖#)蒢僇C1KU﨑鲄&陟&L3绵_+BB Q蛒愊mO堔苔|飑棪砱秸湏,a澐b螭y猀瞧毶d5蚖黿餺2F嶕煭苐v;0麃 %瓴揷OCr莂淰覌 簪d 2T褳鷚5钳k|煊&邥J(魭镁*犤8圔(跜沯炒q摣,u;鴚/鈃78!5垭0僄ё )鋐k憼 @騀*.5椧汔nd絺=$钱c卺_b 6Qo廸e(停e ┻埫拮|峠腆c屣煕なF.锾u?8!像繺払)yy3mA蠆皧間1魸n 萆_縦菮&館|羡袃璅B8i>$縸愗(夒M痡舁67誛徚舧S佭t5泯嘧;8 <$zl塴豼傯渊﹟U%o|橼睧皋獖@孬澷~裦|`泋鄈繺枑8+j,K辸F=硭伫f\]軉鮘⊥蚕宔M淴恏"E駟`[ 闚腑L=B:褤橆鋦甤扞镑^W0i砮傟S)r/"G`)i.牯8 0z炚^/排c项詘t硏%澄诅逼8lO )r5 i)\緰7蠎┦F纎`F鷰妄╆l麶$骫懭O嚵j,AM鮇5鱖鮹欔戤瑀]wFwA廔膙攰-X0拊挞W%C:N媗tp唡頦榯Du_DET 骢砞旐 \$5酒vQ;╟{=倔e3n糪P 杻7rg晢w>z伝p餏辧玫9h$佝恮.\del据-)┮7q0晰,瘥璦LrSO;KN茉ts zh>o辅o*怯掣tA脉@rUg6.赑6観栴#航繃Q~ 嚹說v|;0 m9.1:膦饃%钑巛塣f鳍`1)柇@Y倳5慮萿/覽贇u- k$铿fS1儒埓8I2丁q焟罕VH}媗苁zh)I壏%塐耙等~涝嗄pn"K2恖寕媏 狭嗺<淘RJQ9|閱楏圝嘠檹;噤x6铗wR@ ;SS鮔/;仒晴SS錶* wm涽[ >喀&&m=沵$嵸2Y疏iH7j鼸 里亅飞娹屾魾顊仛87dU劥)衻焄~`篮剽爩\貒V@\]攢Z濧T4楯徑>楖軜汤y:瘚喲摛>[P琲[*OOR%s[8{pF齰3撠校#梙m惱V⊕/f!l拔鎢叹ㄡ葀b 蟅欆u~瀲Y桜,螪 ),徰}銷S芥傇T圖pz蹊慓玙}ψ|J休M掍碬Hm┊?長$P_1G炱諻.C :# +/h迷秂vSU橅9f3T溶q覷_蚓 再褍`磔Y#K0幏トe/$CY娊.雓箓+霋埬b恌卋栀_伢⿶2摄 H斶桱/宎L舗Ю2 蘥篔T_6挒$諾湽:=[OMPE恓撟.鋈n腽%鈴栶,胞a叺攦 鼾>\ Ke昪,` 譪]釳$p@J炊堲軔糔踵8G絲簻.萈e黈梨Qype笟a嗀k1U[uEC)蜳N畊欈T挞る傟訶? 責搧 桙7[|` p傜蔯⿰圴 ┅信Yv颻0@h%琫 '鋭愳[衝0稉佬眱O爂塁W娌3搎s茇唭w包朦牜(P$襼篂瓰ウ绌9軇 魪/韣耎&坎欢;宿 蠳=洶%艃攄R2蓋䶮驒﹍u< 唭譱Yb;痧赯暈Oて喢`%Kc+聤O3掐翩硳@廲"4jE%猫钛0 K.俪%<37?Q丝0撏犨# ;/*\記蛙轰w`s窋`t雬 e藧鞿粱 0偙'О今F0 鶟呀_愄F1C篏 わ2勽画┊l=疠柕DR|惿學b&gΡWv;$(<狾4閁兀蕋hM貼繽,絰8I3R鼷幩飛7xCa翺B拕赧JQ=仁G勶6c17鴆洲並&@iRGPA哻甬 =熂OJ!70桠L8Y霱(m壤`雭 f 篐酅='捏}朌 鋊A嵳洨惯,骥掃鱊+话^钵淃拨 8 諯P12堎wd辪濶4]舦怕lど鲗恘vc貟*3篞. 剼?5T@覣楀(鞉Y飻f櫙鄚徜g87rc鑁@{@拊濋U"娊莫 0竭wX~炕魼㧏";茎?玔嚶挐c@澘!K/適曫擋椌5鱾< $z蕯氙N緱P鲢Y玚.爤[砩鄺朚揫矲 # 7*嬨忉闱軘匔區譩跣~z澸o利龁攴挥帷LiH鰀#"阗韕瑧2GY硍迲oA(嗃 B+鐈8亟=馉(psT鑑&Ue_枕'稱窺睟糮 5x3B 鴋?芪xS銵遧1謥╦1=nAI瓶荩9<-揫軒Y翞AZ菻)6頋弋?cj& 垃鍛般T!) 9P栆<螤澹迳=鑕1蝿后T抋鋣\@U5灷祺筍┮根鯻o 碻UKθ伜u戡鮨eβ婯辤d7廳:1鸂梼殒{躾7Xn獗稖謹錉 譇|3檓霧z 鵍懁,浇.=卂懐" `)}(戟砾牯z鴖瑑鎪 峁E燠槢o獽b_ ;D眉.嗒 &揣XWv仫}幡趌揁t嚟Fq; ê^珣1鋺飩翜蠙趋塣-P #}望Z>p妘釅抙lC)V饎P醲eう饐,q搐G戫(鞏y匠Q枕R04誙帲笻禱' 羫 缽J芐?Xd耺噯磞徥醜氲Pq!姟 舿烬. 0傒. 秧柔,]A47'l袷:0舝漑掚> 絲滌 N45y覌孉T~i璞7;敫? 視h(敆aE福诀6 VGU藏*+.Χ昤璍嵪'S萒际$[W瑼W:0纔p;粧莊!绳紀],肨/姫c 駔[O祜wQ犩uR刄7#bu挫 B$赺韦衡~vE庫鄸z栫0劚叒4柙D!M戻紈_簜糨5傟悑"P簯VC諎 陓 +p|X瑖枸N嘾P儷Yjz-歞結傯悇3h7u fm$跨P㎡+娂―鞫* x:p 锻飳皵s# tB埃呬 ^鲗訣C [P録J稸e0'讫攷*勒I驪系"齄褳NH 韑 胗 稺兿聫G&#o旫#訁m刲䲢HU{0呩限ㄝ簢Tf)rt 挨簢)8笪CQ/、扰鋠y|a秲謶)!趶|诃=檸6Aq 昃bO拟P鍰-T!B螰l8k皺kI)d 杹DN颊效W=id幍鐷EQHqV缟鉤$.8鄛z蠜G啼fjb$g3蕼Y刘鋄W!)O磇s萑墄;|廆#t, p斐=T撛檰>0鉵=颠璈笼4声实糌w萀;顡阤矘iG =姴療.牋驜 &AQ燴$欿裖恥y峱8杋甿鍌4B簤 轡曣瀙艺5j|=处彁鰜瞦u憖鬬鉸T滠阳,GI稶兣&PO鵅忨拙蘎 恩$鋏B!.圔5鋧!0 5T崷$3BA滧勿@覟t^ζ箝q`簫/9╢軥a蒲馲 踑0(湦氐'ヽe廽 護%藶<栉梑G-)櫿]鬲鉩9蹿!vgA樉4-z 忑wp楰溋謙缑L*髈 91{m 改='Y0甧:V翴s;D&:Sm顇 m 蜗聜9$ 犱_}?臌髷#Rl玂N轩`粊1鐃3鱺+zS跓瀍&gn$駦1S糀堍媊綸B=@峫秼 灮pg]KEi  9詨澝59m輗 4葳P瀘(!"襱jK>樰卥<龀獐SZ0ワ诒C楁0垁媍Q5髍,U 蹬 J"B0諎罈]丽-=BO{淏<亗赴荏B駠E悽{*<烆4雮曅仮屭覚R 嬟0=覼(J躾ⅸ 飢加餘<阳络D}壼<蓏'r鼛烪催p"纇鎵;:毀M殖潃F&[,e討脼綹僊_瓗熩lVl:&扢G侒赳 l胞庯白0攣.鈃+0搥Z蜤悽皪Tea=懯5.` c恀oH踱e:0@T 帯迁獜膙c& 源預7秬禖P掙sN,6夎鎻Bd装挅霜u?恃"造殾@廲g廒緓柯咿誦5%aB堞簻砊睗矞P!茔 *5U饨)&y扞杁穄&蓈籘娸緰鞄uO衃)界[Q魩a,冁鋜鞜4哵/锕O豝2叼譃~G䜣釃/ 鄛JX 窰"x<画餻CM3(氷O%^徐 A誧 (@1垌啟 鴬pE>!V j憃郱us倵?TY嗻P縲BJ 欴臿≦ǒ=毃镸浆LⅡ紅z跀滨M嗊x淁帕7茤^Zt璤Y昆帟!W踁\欓琎檍注*薃∴IB瘜觎贂 (嶕:&鮁F!鹥俭?畞-鑩痒_屧,Cr鴾晄h"y怛p靕芇冻瞂奟5l#@嬋gO舾 !t{綀n`k 淿蜇E责 暩兽~_ *堏4閐 b擎,i0ce=釆&VP+a龇遶T j &v- 4m槶C^*(-龄kE艁!廪荸甡0湫-塤-屾虆忹,變懒Xg.HQ{zU01嬇 窣詐zTr僼< 咾('g`[Yrl諒Y驽Y樀'g蠒厦鵭@3 )蘴贫o塊 / pm功愺┲罎啋 @?枫B埰秬 E!wZ鰭澧偽廓%蹔峆溹x>鬄┨磓榃p腀h遗[磩":@1樮賻|oE{悧~鏱埨閨毖m胂U區虫 4"净鍍z8蝃/h 8鈥皆X4BW盒Z+吶s衍袐8庈續N"腤瀘覉v3d%O鏵 斗cXG'H惲*9眤餛9庺0d经猎M0鋓 ]㙓tZ|塀勉o緊蚏飊曰 k琀區| z凴褺琭bRU矗}甒瘰*竖U吜\/!糇*袥. p ? 4g脷蔉SeU带3M遏二騆Ajh)2?感j,?@~O)嗖I垣 I)8!3xO寘"凞赟`xP2[, }立=煽Ku癁S搁鱤 -&+C鳕 揄钁&6攊字V愘矬&絼h]O6砾犩I 隄偘柴 蹳迒儹(>0"趯3(鐨j"i玬8<:慤#响夆餚6鈕!gC毥 笁饒滣羐'躗炧酫#>2躘S9$@-y臫(U95咷z]椧飦"搶r撇衾 -饶>0稜|\榁懛篊塛[G^$f:垲T&@,>x鯫帟8#9種lk84闾邸濞须ohr偾wS脔M}槯栵 顟8蔠偡Pc-Q杳鄗汓糁?廑T墶婔^纑$)$`~%(*庮僪4算m栝# #跋妨獳yW+@<魵1oQc躡責n䥇x`矀旼罻鐒璍4譬M隠(C:t>{偅琦庁 !緣T誉踝vb粡宎uv纻糚∶=l+lA誗閅l菑2ph胀E3o溆鋪竵蓬pDRl轖钋7俫榌蚱黹inor9姎銹船rR↑p,咖属醖U軃玬)琼+l?谪鱗S \尾╡V畕`*祖O;媞扻螕粂篴u&j坤4鈥 d謨-<,/T緈俬篢|x蒺dU謠Fkf約 玾3;X鱩鹌~*.X0饧褏鱡峴!`qt[h凍汰剆TxU*I喡W 4f⒌鋒( 漈侇i;z偊>5壁臲 ,误1栫[哄$塩鶼惍瘓Q<霦xA鷋r;磽戮滎:喹炏t磠+鳀T ?1M筻 b炘幺锥+ W钮'喎m抚愐鯰肐芦閥醁qRpm箠媹2P@R瓡P冼7Uj鶚饼ㄏp仫栠Fgx∨h1o扔 %捎捸K愭釴K5e/捄|5O澩!悒e怎窛.a憻覽 步稥劺P┾AGF擿婡+P濖B穿畍瞘摺綴祃菠冐饴l溶擕h涨み駽鱳薿A 娀~8 r]蝚5餘R87x#紿隒喏>嗭鯥{煜]匾U谔~査8; 4n( 拱T;yz挳峸'er>*|x浮氚諹L@嶺櫠躘ν\櫶桚朿鯡 畐妃駯Q鱳B跲YX;28賞喒諿-v嶺薃-贜;兏絾2蔿靵钔R 浮G慒DdM珩w^&U $3I 璏O@ 鐝`t趣=嗣刽r:輍C樮瞌 掤8 p簋,忌&轻uV贫;鹜>Z!@2;"覕k婤;u胕裛)!鷗;]aw統躣謉嗇~ 焮i薂腑吜PtS僕$K蝖c|K侐B5恏)#珍 犵困b犧堧榺闤!壳 笡錐橅q!}杴bGx>1$a-偹#賌乂 D;P0栆 迳z'奨怯伾儊Q )Z 2葠]僰陑K(奡<轱(1I舢擞總8缧X5.mg趨\餪 v蘋)7蓝>6OH8#j Y 鯹?爴衑#K4dq英 濨 a綢酊A:>U厚[!S铨#缚懙尼湽 ㎎维泸<霒j/+FQ p;Jd}读T窎釪4?xV 8暹/饾?P.k面< 1yc#>枀俽視)|s%婶@d箃P3鴝:1]柪V鴅%J[板困襇憃堅C拺铘D碗8]\=N Q2H`袨aE云酩笡/栾&<7滶rw6Hf偁"r9 8蹬饹0繤涪邇4怴|#G騙k喊笄浅姏8$羉'躀郕7qF饉肣P瑉刋澋c!掂 a垄惍P~飭)癖儇0/崧8|~g屜YH嶥痨髅 z}-蕮PA崏`d8[:HW橿<Xz掖胕贖y } 槄Fr捀堹⑩3H軠{;瞣bu Zob筋劣2+幾湕AR輻靂t9i'f:f閊6甥袒焺T訜;7HY翸N饨-辦$订/k4噵]侖]午垡v4o匮朶;5_翞{戣168薆孕鼿EzPGV*蓥渧K !鼃.蝸!tn ∷'!0殒BVm埫!餽b崟@╦ 5p徖蠧b漄任r撂ME骷'!G$(2堚M(攮舺 pe乆泉1衅u$婁y罟B爿くO漒旺=o囫浝鋛羃D楼佨&劏xKI&y繩z N鏐a<睇?圡泆3|x" 1T$d~*歮&謦Z0V启D.Y昇沭]庎l/xD|榩韏酥sh:>K餘]釣鎮潩绗騈|嘇'膆 匀p,9鞈 (k鶉{Bk2c(峫悰! 橁杯际A/R瀧{1H嚍喆.\Q籂3╩DS*q賴s薧瀝+接隿﹛鎫箙脆A旎噥饬覡憙鐬:"K 濁=萈*覊/K熊嫱T29┝贰燥蹐E贿蹗磘u胝 x<1竩(+隆[婲陛"+U'鳐簗4R 颷3屽瀗\〖c貛x肄U7\U憼QGr^抧aP=HR灂3`眾u0塱 .v鬽KF擇蹲懄dP:6 霉罩髣煨O実 +荭UJ 抺菿摓`蠋棘:鰧,.鋗尊A仿靿1顫K棉殜8瘋\x螾)g堚恦雊兎訅P盉(鈪锕╣鎁lu|鍯g=C徤}'灑觟=犳陻六s豩烙5;婍\V4丗v $$n$葦墸?饀蘒 ~)\憼l?o希8~&3 z 凝o庋!)啵轺蛍"\鞅S韥i嬹 Wd9K 傱[1:B%嗳D肓g>{a遹愫:8`柶@)= 旮付€b$ll(%(R]0獙_3sQ粀濁d'+砶谐(籀`絲8 鮴栅 *?/E[魘4E-\輱=菦N銶(|Q摐 鯸=毇伷h嬝盞&i皻瑅R+执[拙q朆煶+$塞2~psa@t檬1\<,k, ~敜B5i綘!zk垌聰XP8蔯骸抏(j4(俑Y`嵒垾蝺 辻攕儸p '輺 .y醆嘟R—>宔q襦I戂 蔛|峗灺擭Mb鍦蔭銕翩 <)贒Mu鶣栱U&J噴慂|<儰Mgd丵sV^襓牑b #T\!>謀鶫zB氝c?V+要N[垃京 哴k!垡 娋寱赾尾 e Q餟羺 @欗澟3砾)1L=4+=3 悏p>$LN_鍫hd躍~漦笱+虭徟}惢衾炏+Yx箯>0囵區<0/ゐ釣:乀曣 尮蓴熠梲I苞洺槦o儃}6雍:9C鸂乻N絅蔘WlG橮}t活K醙渖\%99屯瞭c:K绔ru鰐7鲳媂9鄠庑R(嬔鸑F孶佻飔 奒疡箻0雾6V嚚.J6扽uE4桃BOゥY62K覮% #镐頙鲢/粂m>;恣+_^澻卹:蟤邌''6跶AJJ} `l鼧<2繋& 鞚飺譇M酟i訒|藨!G.榠烉粆栖R啤購 翭蠴(=]嫧rzGq嘉峚/a線,|䲣愵鄼廎Eo斎t9>潩;4垵茺;撤/;sr咏9梞鉭 稛Ъ饚OE鴄2dE!On_r蚭"毃莉3vD鐿{#;橚8{m槽瘜枃(8林(~X聰H=璿プ鑌]崑[课貔蜡毛G宒顆 捃厔CXv鋮険`Dh,N夷`爹@K.癞6紷鉑>@*$誈 .m j偟钍<宐庁~嫝:> 礻x娓+s*乾y5浏迉め臫 鈟k'MYm疡t旻础dt訩3枽+$蜥ml嚕篃狴sd '.~嘘牔竵+蕂O伳&=)禂 ?塥c{#O7栛Q嵾鞐%-^ 2PE夒Trw訵炑$Mvㄩ鲧誥乚0QY迁复9庠鑢趱JばrPA{w荇郯"P(轪n;乬 諉姢瀌綜I7qG;A 詪G诛(%观t琏訮> 邺sㄘ筟L;砯S] <'娿欍鏭爳v鋖{鯝獉媧x暍l;E鬨敡75-rT戗补y&绉褦Su,[7{蓏xP牥9}I@h[貭C叏M鯡2T殘蟥甛.|挲搠{绂隘n段Gw瘊覒し獏8╯FnB>+1摑v_0濱韗%瀚>浣*6鳶罭8 m駽.爛 _$沙鶪\憜 弘丼鲒 枭A 呮#0;8I②c充袿癸扪L恚6蘂OG鸟ㄙr33'觯梙澟絹詥p!:vv謼?t鱋f咿X-Q斸燦パ)A鏨xX<愪.闺^a櫫,稐26 nh^PLT漵*yC鮕恗GR啓*E]旪$霣?8浟h,疁8Z _櫓磠垔;ú 8媄0d槮i婬w1R噖U漙f吗-_K:5柤=蛞㏄飠齞=婇Mю颺鲉/$鲖6q銚鍳u舟h晞Y缉*T]貉藗l滸.ъ『掑?jb孮d混a嶐kBz趎坌%談^d螧稗t駐狉)硄*泇h4 /鏼髹䦛\)gA"婞|!{r贼:陜殍t!m#E锥厸哆蒈鸅錻VBnvs uf!恮aLo浏轟a宑鍄"}唧5エ1甁Lw绔柳鱒 b莮B1勼a7a M暐@嚙邀k甹U棊藚}译6,<+郈噾Hb'鋙P嫆#G[? 隑墂陨s$MC\0ge賘褰岋=掕阗K簇騟 #v!KW4,迷W`楶TSZf犸燑l2 Z8w宂*詳蜘H劸舽i蹱穣j诱$&C$we7目忣熁 塑羠崪榹|2∑gZ5"粸v埆涁$[U庈.鰡dY5悒1養9im頯娀誖淗焵瓹ISタvM狗x/Z薀,蠩狼秙-諚龌 +y漿∵BBq) t睑r/87VI>蟰A(Y防羣e4娂種V]Q&嬇+B緘m枭v9曬绦[p!刅=駧Eq鞿 s炬晡l$哥qg&3鱌渆#"臞B┆+z肇A/1*纐f#撴嗂2=?胻>?a秖形鞭'y鉗<旚鶌Gf顺ig0`}_&H[- 諔H#颇麀Y6!尴Wvdt劌n8|!58咼耟肌U呧犭3鉷b苉跕主萮秩Iㄣ兞9巄秢翹#C駹憞B渻倡9kY峊b1鶭ob+絯籜褭辄骛)R橗晊_S'*8Q奘A篓酾前?鷌/Ai鑟a抅{狧O蟬&掞.碛蚖 )私 ⅱ?顠>沙!|~g8蝷囪撫穗杭` 7uQ?G 仵葙扔鉟9WT47g3x*\m蘱0oy鍈+竘{k袕婕J螕%况=N巈:葉U瓻L 疑)鼆@豽馨簰p頫鶘誣途H)药熏埘y聞dM)(H琠J烔齣06饻\G;軹懧NK񭌧ww#柅-|q'$P偖蔙  K6宣w;蜛瞪汛3歆1輚劫掦揧1`嘯爺\7鑶奵鶻$d踙5f覛 P忭H櫡諕-飦|A求/涫HeE8*%蓶7#峌~{グ4v轣阺瀰ㄨ聚q煠]h eL8閻邼qtl,/美踛P黆:B#縙攔苏3儞W.痫zl躿q軂捉圔re~破v |{{f 藠藪醏+jX楔唱逫n攔[庮#鮤j u(,UC跠 >婥j賻/"齒y)o放排!沑孨~Nh扁9J繛罓 a?镗3盡质伫淨F7梁袣qEy~O嚘Bpzg祡q髳i尸?铢繐饓澙 p粛K劰 鮐紆UM閆-a$SX穫瀌 Wy蜾僞甥勞u缐J筭鋭綑歪祊湝 修9x梚珋f.栿X% 諔Q鷬R:W匍?箇つ報9|呖屄@O0"瓲hAE8R诌示潁燇B辷6+Jz#f# f;棨箑% 末嘓Ak ?7~@巜4@籹K攼M乔嬆2f< 3狅D.|Os `vWq񾃴掓緓4.{絋消:驆Q7Q:Eu e芢8wP(臉)#_,G钲諀u釅"2B荹挊!r蹿$:蚍x餑Q借E醲t帖侁k,-=︹坕 k鸎郏柨cs熸??匣炄緌*ㄗE頏,u冿劽毊a5p 鬒9h鐝N<滋e藊5讨r隭{`秢 爐G嫱 qG謢Y蔈$窏2帓6鼷ⅳs騮u杅綟;Cz挸灐e+恍6|棝?w5jc迅聓垠痒袳6薅> 饂n.疂 ]hzBA0?+栏K閑 zUaH櫈j鯑(X蝙蚪cPq銅榠Bm7[ 鲓尡敮a9響4輇「瀈$xA堣鶤X%紘?n觉p9T\嫩N&>僰A夒闬鑴~刺潢N:C=阜鴿搚g俚4v蜛{ t黟预 檐# 鵓r萾騥鯯s"wλu0 纥I.苫骜j<h"|v劗s4饻 - 圸桼嗃鑇;鲺︸^7|嫳E壂禖/8哄个勝 ㄨ蜟 V:俆稴窭mt %>绵僤嚫羯訩3費!韀巂璩樠痘/泎頪f嘃?X謂Q-剑-鸚f,n|歷${薁/查ts胐d餤"蓜+2寠$=7磺 , -鴁欍浲xqt.鵥"O輂名3濫 蹅褨栯C螗}}"c飗牃$k&=`楅6浈跣3c衮f荟莰玩胪0^,竤 3蕟7 ;3L@[A笪}酘/N嘁鵙捷聋2a 氦Y而 uK8Q&阊鈬覓栾,*嫶\X鎒0盔y峋+翕鴳dA駯_鍆/G磟* 霥戶42%8&k儒贏r靖E揥9櫮5N廉3﨨Px攎h-) /^n ,%炄u晴6h劓⑨ y1堘%豻建2]/'Q钧W鋧H)=喱p1|16vg兎鱢&P5乎=7唊 ~旧/桠}O\UQ朶p鑢菪Hp8p3md(騡v醠6. H房h鸎)袤G Zi薽趑羘εA蕧篐 瀦斺oM櫋.垍憡JG鶕鼗箯k鍭@(譻s喎f鵦[鯥y孫8r玲(PA寶瓳,aO,绶r0豐qNI鏄u\凳螷S闾曆猃=i(踼愾mS鐁H1捏赋S汆#毘~ 蒷:握`+窥J( 4徦孬-0 (矜8#絟m8 蠝$D祹虸6郈k伊@舱w怲X蹮淣專H媑慁杶bJ鹹+F榺简嚪s.rT2(- =.xx}髕t濤'麖卟Z霜w 瀥帧g e炨爇p6䎱甛朔(.鎰\.赝;m涶%n妼(義圁 /i热邫匧 V趾L3蔌迏 R 捨p4廠倢y{﹑曎!佦" 淢豷搻/諚G鄓哸鈊@,嶆"1朊 霂练纖 B椰vCM埃t哯R鬗9M撞3"bv膙 倘*]蠭N6X*蜇舤.宔;蓩楼捐龞泲︳r讈rh徥H沰媃<姞k璓曡伃平狜匎渭*AYw谊W褵隕头澳2li虀憯wB 去*摳`+|881鴞0岅黠哭浊堌斶92灼喳vZ+f方司>嫢纔K'籱侭郗俉鞅淍蕌辆薑<摈驒硐=.践5桊{螥]藺瑼掚6\ 子橄2ΥaC2骻K郯?uc窕Vqo sd蘫妐畃E-辯奘`<潏6X}7^%жIEND瓸`=蘀6 7&GText  儊R,L@,LCONTENTS ( '()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz儎厗噲墛挀敃枟槞殺¥ウЖ┆渤吹斗腹郝媚牌侨墒矣哉肿刭卺忏溴骁栝犟蝮趱鲼 w!1AQaq"2B憽绷 #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz們剠唶垑姃摂晼棙櫄ⅲぅΗī炒刀犯购旅呐魄壬室釉罩棕仝忏溴骁栝牝篝貊鼬 ?(=蘀:;????CHNKINK    TEXTTEXTFDPPFDPPFDPCFDPCSTSHSTSHSTSHSTSHFSYIDSYIDdSGP SGP xINK INK |BTEPPLC BTECPLC FONTFONT<STRSPLC 4 鋘2鋘* "瘗)*."0"櫃 "vv(鋘Times New Roman " " " 2* "瘗)*."0"櫃 "vv(Times New Roman " "CompObjPV Quill96 Story Group Class9瞦 iTXtTitlecszdH tEXtTitlecsz痊&S餸eTa<?xml version="1.0" encoding="UTF-16"?> <meta><common><actual_image_size>100/133</actual_image_size></common></meta> いIEND瓸`javapng-2.0/src/test/images/misc/crashnon.png0000644000175000017500000001517510646275026021221 0ustar paulliupaulliu塒NG  IHDR%踁PLTEベ熭2IDATx陧褹 0鼪{-曅K@ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @,@ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ JN0π3IEND瓸`javapng-2.0/src/test/images/misc/pngtest.png0000644000175000017500000002066010646275026021065 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ oFFs-哫,pCALbogus unitsfoo/bar1.0e065.535e3W@{&sCAL3.527777777778e-043.527777777778e-049豑8 pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!碝Q4鴛w;);6殒KWВ攅h 塃7蓞H?U-¦鐩D璀盰蠊鈫宥>﨔矕訒芇憏轲!P:彂坰広稽赙瓓<飮犀I -梂飇蝣鵆7/H鎐,槝L筊d頀璹%)曡+j歪崞%讅v編銳P&詰脕脚z厀4#;邰巭G芼膃/緅;纤棏E\"-!%_-楈H啋m警w0/氙p/[厣v雄輓:只;聄v嬪/^F禭"踇,",鈷艘螧\䏝w[牫拂"薐椟$ %狌6踄2n骮濰d2.Y,"鲗c鳲棟l嬕緿壭韛o\蒐t釙o%皾u1;[*!6瞕Y瑍褶孁フ啕麠!nw范刳Z騏齕杔秧n睜聳d靚o胥r鲲i軏绢乐﨓d[:靔接卐楀qY蒇拶~筙P嚾Vb\~`v顫M>朥=_蘋縕,圞%鱲w~渤蒎/_袝--gW踬,棴韒.[K:銒袄lwY谣髐こ[淼\井,儹%le谉硕`』誂o a刹L_梯凉Y顊6W陟篘p銔)`$胘a竒 咭6\]3w55楦璹噓檈)偃UJ筍L|MMT<眘W崗瀅楲G$儍!\蜂#O胴鄚蛙カt5銠K蜔!顿穈,漲面Э圹n洦袞鬿 糵尺箈牷2圞婎粃嬢.髟6vw椏齛闍.沸;=蒎W焬鼟/C桒E胦c図n叻稈墵粍錼褡鱲穟禘>/潀`Z秚Y卂%嬹?菫U搈e魈v棗uDe[儃8縛W肗7沆呤SX,??铐f鬯邆%寞盕sO !.刹..竕A\.偻簣覅棳7]铂还&_车礵w[%鹲鱋q赦綍mvw铨磬轔:%/_4糥D~髍羐_间3_瘾测"驒(坷/,桲v篬t火絻t,朘,;蹛L視憩 ;/懎.:-骂6婬窳綕/縇D曊i\.w~dw/)L|眻僝u7琙膔 嬒袋2".{鷡W.铗v!,:?杢K澜X-蝗幇蓓步軪w厺n梟wIx関枠.嫰棓_猿棆)L境卜3屬摭樗 咣渗疚p/t轵2~臰qI!陆韉豢痺X$掆w红d]糁6q仝俔組v芒u`_磰i懓岠鍡a眖:焀釛e跽g?K_,j篬K蹿罸崴 考yq裹铂耂鱡'暽_蓬[q盌飊盶聉W辱-踻抐 漀2 婬珉%咣=朹/閚翈t煽?o^瓦~绮楿騪0]棡\]3)}8鶜夅簁nc(k踂撎唪?.屾岚8Y麒d#巹顷L8熮]!2犒H騇兩2b犹?焳#>.悷 4扉&Bh耆湋@秵腢/L""蹡?熭瞥]3 2穙 .耐6bL$i9发ュ崾敒珪鳓礍堆)B! 沊7憫吅壵涴S凗T鳃隚)澷w狗群UF={2叵廠摊壚綢Og&!絼2柧缏焐x6&  綠黗`G"俿亂羼>nvpj徃褣畛鰴!契空峖U尴ウ瑈镮諟敟Z#\听庸玘K^晝=铉4PX妹驧Jx(!霰N 捿肥L薺:黪網21% d!e坞仜&KG-eW Q;?綢~輰-洹}軕 S讐#:燔%s鼬淫髲"呁瞅=K!D聩锶b}痭乙邹9壄=ぎ=捯s撘e憉oM鋞27w):W8(僗/Z 嵴O蕏揟!><漷+-飂J y瘽]籽Y昘@V y杚誠w怷治V!戝橽好+I痒黜远uLE豄_o 玏T锓蓢笸燏钿=蛨lL坘唅熾睼瞣5琳酼э珤+ 媔F蜿覭?LY屟哒o*镥 m М葙(#緣6S橏焂9╅Yur7/#拃鳢 vw査夔_钥75.梍琮')吒矴}{>谤辱 W7矺WM绠>!阜Q ,HA+趱 螘苲TXtDescriptionx淢薃J腀衹N駰 3a@釴=?IAR誸UFr{肪▍W6j&l(.婍C:pk)硊#泲)^ 粙螆吀蒄'1貣搃 i鳞躯廦y砘o袻\科髳-P1痲厉ZD僲M禛葶耘"嶪VbI;┤禶A揀_播檟HB戟y渒矻wnW#鱯IEND瓸`javapng-2.0/src/test/images/misc/anigif.png0000644000175000017500000000450710646275026020640 0ustar paulliupaulliu塒NG  IHDR 乀ggIFxNETSCAPE2.0$N楶蓆EXtCommenthttp://www.rtlsoft.com/animagic Created with Animagic GIF V 1.06b by Right to Left Software Inc. To suppress this message in the registered version uncheck "Options | Animagic comment frame" 裕0PLTEBRRRR寣寽1111蝐1揶cc蝐^欤bKGDHgIFg 諴% cmPPJCmp0712Om伐霫DAT(系憽n0狹c5厬袶t 檛2 *睅 &U#%%C鎦節$6 頖鲧颪gcL@J%K$?3湯 Tc尉 %wp;|奠 M2蘭%P1楈粕(轷墮i喷1$杆Go僖'彁寭[晐c?洔梐晳咺u^皾{僣屡嗓5畔上邑/屹菡州谟哙噗酗侮宥4( H班! , 賞蒊'8呤F(!酀 〇'棶胫~Z潔&:W;IF埐-D@QX*榾兇p .臙!紿жY代%┩狆Ph e6;鴦a|f嚂ly%eht;co剅m.q悓岮|憭搰朣棊慼桵爍mTR>嚎脽蒝Η蒙炭伟譆τ自肿稗<尢疏茹CJ96j趱鲼黬! , 豴蒊)淄 t勮7栜櫌+[筼╙,]糴罓M獬萀甋,-徚梵( V呪8x X狪q賠粐B洪簪蒉颶偢蘤 Iqj厎?i*z厊P^x宨vz榠殨9櫅洉煒參v}j^v3痪聻>ウ氯司彤1ヒ钟罩3菟社氢$KQ&韇篝貊鼬! , 襭蒊+淄)0`j苏m煥巰詾*冿 С貧p欕禴靏 }D0胠'蔛3錞煺(`颽\8lQ妺b|!糘{<坩O阑P鑞|gP Ete|xKo4亄gc~媤ウ氯司彤1ヒ钟罩3菟社氢$KQ&韇篝貊鼬! , 賞蒊'8呤F(!酀 〇'棶胫~Z潔&:W;IF埐-D@QX*榾兇p .臙!紿жY代%┩狆Ph e6;鴦a|f嚂ly%eht;co剅m.q悓岮|憭搰朣棊慼桵爍mTR>嚎脽蒝Η蒙炭伟譆τ自肿稗<尢疏茹CJ96j趱鲼黬; 堀7IEND瓸`javapng-2.0/src/test/images/misc/cc1.png0000644000175000017500000013332710646275026020054 0ustar paulliupaulliu塒NG  IHDR臅#gAMAB諳 cHRMz%$勏m_鑚<W╉禸IDATx淟P! 6舞o龐忦&w.乴蚙Z忐x*1:烦4*吝掘槇6'QTa|诈塋~pI;!葈鄱f幨m>yk籝楪y)}j斣R嚋nEy觞Z-槦:韩 $"7徆 N璂藎M:lq撀Cq齤葐 疈鹏Y.S暿$灐G.瘏P_15c脯慵讱+鎇2-嘺hm2蹛l寅袴)祖脠4窙團フ 讧8韁窖m5 >_醇秞 9厏┤\H]p厑z2栿e楅8W臞G竿 q區薅虠笕 勰喊嚨7漤蒏"蝠r^c@"櫐婉罚5|巑G,5曙ZW皆Q谿2$塧唝o[ 扷 滾[+m9a錰蔁=!浜绷誱涁4O]乨` 滯E[慀|,脚哄焦蒖>Z樟:麚瞄賔倒咺壭`|渔骢9q鏐 埓Jfer鐱 掕旵+魧躙9闥N鞦K[螎闝h%塲賏a劙项f 崘zH跠1~5锊Z漲憫喻o饄mヮ2c悄怌*  絧mW暂倞'vv椙: %隑襝8镇N廧锧>g,A&葔謻U(C蔈v輌g璹2岭劎l佟w疮赗g』桔塘e/~`L濧 嗿 @U0 04T埤匣勞N爅U澌e也u燹鼔 砘篷槷Wo!h諩= 麨到〗S毣崶箏癡!a0骄襬@霧zs6屨9褱霡 j獊爛)z6燉鰵S蕗91)扲dNV/崵3餓Q駑驉R5b(滓鯞鵼5H g溴%+瞶纚釭u牪 r刟 h8ジN=vB"橃頻^Q溮騢{>轧鲃舍堦詅市v攐{$蔂肌蜥齶遶櫃f仐wn懹>h屓A?4 芙"y藣i嚙憤*p陙1虦Mt'~崥l$侧悏咕x1枒'F 2G柊?碾癕+ n媟萙VXg<柟烡氖O6媋喌嘂4sK$C帜魧~齫J[鐺/骀爖x`瓋N譽硫c%R5wd萾v惺9⑻輰J 㧏B磶9]?靥5晪簂埊姫-驨殟畑狾8U#ldК#ベ8掠镟#M哤 _X堎 逘屯xzxv襠谸c7柭阃犒殰\:脕漹Ut-2槡建bVn谬l.坹鐱6`B垥騾C损8掰h霝)bG↓*蓧 唩Y湦悁鹼+汸胻b恰湠駚,e譌鰇Dgu頰忆鹪描tG駯莢-8泬^莝HIηA逕殊芣e}^謼sx=/X襦~!樏鞥緧 c 翪貕X 嗝āe[骭窥龟Z麤>T6+Bd甝穲鬣&$奊s*%P禴KB猜 U!$R捊q% (揙[酞G &玅'=S魸涬"S!li(Z 眤0噹澩_3f仱5豲T踓0f兠癩5 0磤C(荭齹燹So?iUA涺9噏垊,埏=P/慯d夲k_黛C續7l諨布2瞂~_=煢4衸輡*陫Q剶18鍉蔸檪@LE 0岗.毕l>搢龜藈.i.郎B魹鋙d愱 qg(媰礱|缡 3ㄧ1嫉鲨訴虤g毠崀 硣仁 k粫B2聏;*蕌J"v% 狼4x 匜柭殭懠CP 憁俹澣<衦 曰刋90磵絀Ht" 倞p9>櫟9+$>vv鐖枱$耂1埏眥F芜_ 4#X▽绿馨罘针["*8d梧e忦瀋垣}帋铴 鮕:5,襫旼徶瞽>荦i薾^T矈7>M錅昈呙躑晧*x捚=&缄aRY耸瀄濨Ks纾系閘 鐬豲]c桳D橱MC>驍@嬹Kh-+ㄖ獬Vi:<嗦 v哸0:I跘磚 `B躹琮嗇赴牗]&N血Z繨爝>{,6Wv]渆y嗛躎t.蘉4A,⑧Aem索V橇3e)崒8瀺現O&I軎頛沮渎,,#曒雦]勭晎 姝/?埸 W垿P霼r%J W#5澹b溘!Y榏`(n+M&S頇诟J悇tV靭箻簮資陲陾圂苶q邼氝忥tu兤胴Geh薋(燇y蹇?鸁d樛N0劃8庴 誚鍐x譇鈥 E暩峩{赚擳p鯽鍧7;濱]鞠罁<阊?9鵡9櫀巟v自矍Z窼凮锇{m/}<6Vk=榶膛W迬^浗骛輲Μ昙珼甦VH㏑枴捀eaQ庆R匕栞a ,6BQ仺範/EU"jI*B?p["z癲K+1;3酼N甤醂浤 蹖[季銥 鹓遧 ╃%_慥UA濳(臞戙5.P玌湆竰燌H*P芵C.W .谂x厪!%3穝立溒Q徏Qa彽7!稈]*c陻CU鞄{v&Z!4!歟 溑檹蝇 eI?蜞p湛綯裈\剿y簘穖W_害U*┗庬嗫-TVr@HbY杮龢z唗冒Q饋,垸"t鎷茙蜔\檕O0芀佉乲淛6鍏{膘_檋娑Lp?mU!緆.M>楃顆7漮GY寫槁J5)hc曽W莿! 筤+絕墮搆昸蹗啩O垂莤K$喌䦛欮蚒xlmw7W堼m`榢t喯憻Pz03n埇茧%4弩=垡锠 璍mbh5c$^D1[哅燨D灣秗;- 扨!(|勽牪T噑廏GDSIO0熜嬗逛坯甃髫A2榭璇丑眥水酴h 薩m欽AW尜窀^掯v昹8x﹢隯輸頤(k雐喡匰逝l覯脙笳d晓_釠1Y⑻8dJ□;蟮M8n嘋Η╊|r犖>讆$俛Z狺2G &<瘂L};巳&褀⿹詽 7梛#"(2|8艩嵪觪辖镚tf8v#抡`澽嘪玐灺臖铰忇q※ -俈或鞉硋Tb[ 猷移x捓,骯D(択+bKj灝岵綨讷踕杍瘉脡 k6{-/M2穢<4UUV饁$97嘋U<我霝蜉鹔燀茬埘齠髳$K1[ K*忦V偉&W短7埪揆,渷+pn> E篋)7醙 /丠$墉d]霞嘏r跫跽狂7^I蟬嗡弘撁揌筚燝鏡26:m=鷜:頟B:5a床# #AS#藻 B釭)3鉪V-1r勩愙劝C騊8<:a廝銦T錄Q-2钗 寄纺趡4曍;鏢JX 9 魄鮰J)奿W7F:o艀(c簋聩二趞9w%_!>$sb鎟 yS譗廚抬秏;FII1'B縊R.v蕍*B~&YV灿0 D絃DB滧o'婸{牠R臢))磻z鰁43蟧Z禱軔清酹簼乆皸XD╞N翾玨,曅j*;弬乫'c蠓迀*2媁&攥R濸呧橆)3H_8眔桬閑偀CS@蝼B 葉?^匚笕RL台 &妕">:蔭I吮溛槻ㄑ熔堅a:'关/Y彟岊%JkT毙c垂2塾閤儧巍^ 稙瑔T酆*Φw'kY 恨vg铯m脜2雽堔酜紡 V曩2#YC馦翛鲓妶洊*7卮稖坅槫iI璛$*~ G \i%((t$v芣)燍<鰔/"x痄Mo綁 碭哟&;毁qR雧X鎐~7\^]厁 瀅╨ P俘辬{蒿M#KN(`渤[i伲壟dm蠇e'@1颊!篬l呍1倳鍜 M 璐凙傺員躭ō竁3GCK85[誦M]3 製>}蛾咽%-姿yU0($p_厲txxR$暵#賎0- (驺>IBr='夾 'm湈摻扚觅$秃眉銾l 蛸+c4巤夐醚~?JpL(詶耞 d獚B#t{z~fS 欤<嫕z==掭(- 覾V0淟殞Q癕壵EA\壐槲W|ZqcQ 禸峛#觗顥6濪刡焋s西s椏繁蛈y?'X铯&坙錭TU莖jr茑>(sJ伻~綈籁凧k 1乖诜.蘗火 RKチ蓐釠袹 漆 Α6奍V BJ貌Jr8) iQ$ !6(5`赣溳>~宆縺慓]?宒呫額瞱樛人d&[CT/0(pvⅷ鲪4 铴冦+(顭⑤炒>縈?3o8 圦yj*姴$c\厨 涳Qj誓rs络哂耔徭鷡x誎釴惑#漟砸0 E醘碝襳E;鈄預軍'胍礛谯茮0BBssN緭?鯗欃9除服珪域湸垎 XY﹏ol铞# U雙娗mIr亰刕7/A⒐a*2有*m%nr纱承n馪覲迹肌J撂Y2Q4R @ZuQW8fY- =D' 鰂T<'彁# 黭M.糷r鍑孂宇髃z7i]VR媳yxcmHぱ8Z<']3樲 趋GS烃砓^趧%Z酸0d?{BE%R湭気v浖$胝f浆it殓,^七j-+肞4M汱c<[н鄜6锣o 7坃嗦R腞3m𚟗q7B,r顈茑宧?⺌r痔筿;鯆[o 霖臯贳忡{ ;嬨猿'羡y 暥x傜\y蜅"cu?!~窺Q趪讚斛襓M.媡I|`[1c贾&歱+T5|%>垬祕;錵B硹鱗%麃纳R┊-N烹莋梅菄5 棆磭犮堣mZ巽3候+旔拀朡 疵t爸嘑!』M>Ls*1.豣i'鬽慿藖Pi俢2/碥趜碫莻牭磑e 恗-; 聾0夗貀QEU剱8 暈9qH逡!BB傮糹H耍儋裎3陪?$喉)栚O2憹2M;(?;FDYb躗惇 棸碃-,婘$ YVT 棖B侲n蹥-4鸹紓eu 摥儳袣苨PA 谊nT爆g唄]溝畁.M/括驯I莨硖隫藃n欢w4L1x(遂彘1菖Lv鵤}浖 y杭Χww縙m耚8U詰Z使PR ガQ玳g 9|鴱/e勦}fF芇杮u1p崇i吗9睗*)塰 0E!*&Θ : ">T4r[戕%E,l雔熯粄巓 阐Zv#涍3)u穘"JK)IQ銄睞w旨q麛腄$C穎*<,-寿闼;*0孴?J\CrO$梧L寠弋#k.<|8Qyy 徶1\鲮)靑\尟^譽釠(芟N充笜L蚥枨BU赦t p[掭L}~V晁嵠彰霫_溝珎!"螃Foe鍜&K墣禵唽吁碢3淌 ;5慀*@l欜|浕N0Ec{禅8! $Q袪輇蓅8対M嬩/3w=聑- :峇 俵(罾*5埇飼忧30,T7<夳浖蘤疠%I4`1+,蹍)&椢揄9*eS-共UiE/亷漕8j&鑕j楬臀1碝BE焘鄭v0窮)}0#?沮鯡<踑W埰搤褱g缂N珰2壨V*Q撱蹗繰靕] 僮舏鴠:MO跷潈%sD>坦.眇莞(剗Hp帕*禍T=滦孎掰溆U/C7?榷v凙 LKiA嵂鑖bb湝&&.n.获誮[饚諫凘罨1诽朦??X侟XHa4袢礈粒iRF寤' 聙焐碨Z爐4u箰e+[悓i妡!J4'幦'!椺疙鱗N蒊玴x瞞捾嫕鐷韈鍘3款1徢qt粏艿粷鎭侢_D姜漱L{'⒀/柅uRk Vn俶 8w銍砸0"O$?⒒'莠| A伖愳(撓g濿^邆/J`踠V"唩8瀖c柯 z翐/>木倧鄫 R/侧 e鮜*b?椅f揚gR]核辳茸厅鐭_蚼=9BvH马澬N凵{X !#W_耘}淕哳鎥n6弌t芓`眇 90B金X駬蕆鉞揄/c?&]uu午壮擞虬寿蟵訵蟼Lz"@僬脎Cz縓甈峏惡撎!疟IDd婨軱虏]K礜$鴀_喷驥鰳=$1霈W@uS7豴P朽澮:p i3|;鐆嗯責)泠潔+賄硽@ wem籔↗艃>@飩GzYz) ⒉q4涭:\9 鶛/笸[磁啷拳篥蓄瑠尢 鲢芘αB瑬TOGQ墨K櫂oUs伊,惦h|C#765. I%艹#偤;8肘L8>D郸鬦2y Vo/1审}66S*U 狃I}M0樲C<N鐡舝钝椛诅蟱毅$ 蠍諿a'屖1郪iq黍r{8黱奣D >鷀R旂蘔j 庉篮 媃岓W\柔yU牡瓂^嚿劧觜"坻稕@刟`5皮荽U奖狰>侀呞x眆u凰iq哅lZ鍔+ 鴡鋗~咗c痱給緂縌yx 糢%<*瞨旫 緄n|嘌y櫼P2 j-z釢蝾kQ孅!z櫸#9:9僙儞唵>RY綨耷繺S<楃^扫遉咜4@韰l砸L駗豔嚕J伬.# )}闎&コ_籮迟就娅努P╅陝閾4:忻z竷1F俧d賓ㄙp譧<d 逃:刍)Qタ4,餸m+0灾ns26/X袵 _A樰舥mc也1燠矒摐1}森潙繚}蕵?oCAX咗朎I菺iG何孙>?9順鼾2豪I賠"〆g-楍歬g鼟C!咡镭 慟髹髊蚇棟<蛾錞g琗H I趈菹懊>u蜤bl礩-垠麺翗8?萳 聙y元柞籙]Q祗">葧p=p0W徉酦,x )~栉3x羿dBl'伛垪Z覸脓J噷_鈣`踆R啞`揚于柂 Dp錏輟O醃P憱V襉扸'镚wY2紋擏縛尒n韧鶘#?攸御阠V偩T沔$Kk澃S霢柈$!.曖.鼞饌烫{P x8任崖髸7癧蛘汑\泸圈黧閤榤n埤螊泸殼墝[`悏蠶nr儶Mq8洇4タ 2逎糂握3 踗E貰k棶畿3<^剴液*楾吶駠V)H k!D)m嬎`由睍*H圴[:Sd[[ 軈R1m歨寜裼xuobZhiq桗禵柌23忎芆耵溪鼊E鐿忴^9?%猧==M-鼄律e rq唐躌n9颾籐 "┮k~" az ^竞=耘j辟铞G狽绂l.鞚按厷}儣bBe5"昩G俿 8咀醣诬 e蛕Y閖纓 c.殚谠L6驟'鈯绎帡搣艐悐1憾誺&tr&R!蕌)'fW栧]-垻躲奈兏)UX鸰 D%UIR?88%B{黟棍+8Ks%貺䴔J代E擴埧!番=粊蛿J .櫞2o}4i鈗A"罠P嶡疕*' B唜@3犋@,懼8[鞯珲鸘杓PajG(6w侧废靤黩传鲝囶 2^遰Ea$aF 锐帙怬樛籮-麒H縙鷬s'妌8僰)糝背x议b燵9薸 篪杌鲂iu孂C咅i扝pa >侜僔オx*湵M&sAQ雀a ア$1给%褨Zg+VJhNg;慌腫餛瞛溌 \~琨柌虰c閉壥(燱衎穱:駚#/m$d&7Cd+ck#憉'j_#挚岁嚅袓$湻zy a:^槝栊(FOC谉荅源﹥:.x^BkN堌脺侹Ye燕埠資噠g1拼\O囹f$#^翏 n盗W睭T鵃+k 譹Oe4笉~甹u嚑vZ*靽b+QeO韪刟 楪┉B锳QD!郅y官TA衚(t73搗&艢竱氡Oy鵁柱潌_]蒋駱-羜 蹷欈詜 帩腧临缵VRVQf&Y鋳25螽a儢F ?萰瑬鞘^雾 篏愊霛qC籱诫圯柲汍'G楛瑃骛加褮5怑\fb4z礍-\稬>m材勚_)蘜暺捝,M9f6硩h隔澩s綹!)7d暮衪沘`厰2鉉)枭胵咴bGQ(隟6甧AB) & W銓D蓝蹏硡搯4!湺3;3輈賉硑[(=鑯仫玊賤瑽捼)梌H锸勰 l耐WK弍$O养 #YAVHfd}f焟珱绿眝]'l<*姭拀 逸∥M$g1惰HQ*懝2が ,/伌33顼紼'翊>蓛() 饷铘>_7拃鲵3 獼固 I桊@鬲璅藱d,MVDr0羟S*6泪yF苆N錻|層2A晩褸`鉠v剚`⌒驁吸` EJg崗x崮;濐祗8钶瘙螕r訩|熪>p瑼=9)/ Π\7 ;3h嗎Q霡!%"&莗}@鷩3S哓鵶f{飇臹'#膞焼鉐゛尘趡h砮+鵃^=*.鳬.霚击:宸嫼!adOd 輜2KD3(乬蛌>^,驀l\M UQD4s窛俘叩d'(颉-!;懶聪讝譢(殟x:菊壹䱷痲篏坉嵲9R蝚剿a O$.q琁启軞:栚VH哻聖穮伐櫎"┾亱 炒p賛席Z﹄哰荅_鞘赢ぇgU掃卩捣K0]M陜'惣錡:!`デw眳韂4o轓 )<u秵l枵惣k鷒蔞O4蹳k榵 6镬<~Bm\覄柹^|犤陑刟 l纮"坷沪"t:膹'苢纂诰醳鯨繙t|;開鹁酙2y篸偹G]趭䦂烿釫諼E稕K森匼A吿F薱昇dcifi譵U8祂W陖V迦瑃3J蟦鰌[嘂薺虢W爄憂褟橪渼駭棄^啀X訕]欱收D`;1,鵬0減vD"烌姞蕹鈗吾7*0魙/炸怏Y稘7乸禌xv綄~V.->睾;>叜3李!W硟 ' P0!^|M闍豋怜Cr%惆5逴浂鉝b)乾瓴K3穉X摿5!l 痈1N'a岚-m警婯骢K 76A墓舓o$畩鬾鄁!襤$5誈醺'8 嫚计鲢u拙焇珲砦詈枬3 U1a袅F薃瀴b笑焬轗HQ r嵯巩t)T娽2y S~汩6暐vpUUEQ/lx7n;蝸坸~(W拐&a襆 P鴿}漝T\薾 4坡膲*J愽RO椤曻U朾兰尅粇DqXXff7K95仍徥朌遗塲% S\3棪椘b0-z⑿bP0'd鵞x 霦灠繎z貫及擈g忯2k豹r-愀阍惃9嘶'!熾燋t_洍笺莴t]顩Cj隟sV腉草杦*甫8Q蒊8櫡尧7>x鼡勊X =L~ucAc-jP氨N{︷Zk靿硰/1/v^D/藲p9 ю譭 d7(D诔儧R 〆徥 醃s!*-8鉠N鞘H'讙 Di 攤臜袠阁R/鄰JTj}S鼑 棰 Hэ3锰O腼w5+ @谛G忡h{蓑趘聓熁<馻眐^`齄u?44<滸#宬示兜χ砚詼嫸躹dT杊暓c茥J犀畜 镭靔/牣;垶r酨蕏扺鏽05O旸%p犯) R管ヂ唳擊X攎8q ,餰Y諅Q'd讜忊齛p $碮瑼稅檺g呢Nqw4轰5 犧}@:NV<(U捇獲7M訙OX7庛A胭唡>@*:;锥澷kň|溳 侤呑]'+ 戤崵.BM[椎3+A`u- 蚂蘾3硈旃~y牲覹O鶺1}槹}姠V'"i'B:mKY5"O匄S狻=^/P屭f睎K7/揎挼氼*[frR3谴1孽嫖嚍撇吹'D6l&Y%﹁u+` 8@媕#諆F證屑8娮苴*覭u鬲滙吉鸔剮6漡w柈T洣)扢杄5/>=饍ra麛MI鵧|_kv8&萖囔\\] 侤t阵搿將/B埌褼爰f跬穬蹚洕qg靕蠴:戌璱H] 86矸 }涒C2V肿携K.2莼煳轾1 ?:簔繝萋E"pA繴 (屨瀃髽壓ya 嗏J峙M萘"3 0&圿#籐tL5志H,TJ EY鈤'ˇ弞祶英8揞珉,旖c体tXF+$Ix諂←虪t救:r譀X杽矡刓 0L歭J嬼$╳#納褤嘟跃焿籭UD刲2;粵/b喛欐禆篦槒苂艻埇Y亚櫽 潵熅Xu姚"#鄂晆銙庲e逬釹冋 biぢ(賝B7Vx%麵籱_K褭冮0SB$墵 缒>+惌貥-辴茪v9-梿灋 墬)O5@$鉐2誨荔r徟货a涇篑x:_"瞳碅,C>謹5x釞a_S椱1髲1P,X"r憞d\A0,T >罁>仺馺1b)p(矅鲈べ欗顋撏菪\勳7?N"-魡苲h0~钴*姩 *PV寛y迸哂uB!5:O(圆Ht2嘤(X$閦 梥bt.bFx疆[: Q 乱!終骸=D敀悮驼`c苠螉(6;6V炻m`^ ^隑>e櫵 鱍{@ 槽蛴勹'a詌5艘.)茹4J)檗仡踜螑$韁-8碫M照[:A*佞擺档V[I璦F堏;,s5_镙飵躞c架 s忟'l2~ 3]HK"邔イA(k 7克敊,ぶ荮p= ,譕`G(篲2` 乏}T6"茝ZD門鶛 J音∫鬴C_J=>燄<s稷Rr9礙1M窾ぜ懝援 -诪_>Y旣觵w8害N")W2Sy"壬Z{! 邧! e[YzるDG憿骗蠍騹媬J%怟狙)2Q褺C!2d\K:3cPBzb A牸 誽[鑚块瀆址w髅犟瓴俚飴捷]焅L㎞`睘蛛誺1_灋-儂u{z$j $QNq鳬萘t\A0'刞|/1(J 港Z!徑2;輛fv/櫱鷵俒5繑礪541⺗]kz粤蚉y)鈃韾漲.堅遭h{鎸某Z鑐哐B印,!<鱝権VG艅H _艝5I歍軤\g覩螛偡J8P#"V'麔悃鐃牒笗蟨Oh皖鬛矾K柋"瑥扴袽镊xッ諄徘$I殮U圍犳醟I 嚓儲阜l\M 侤醌0椚2 ]勎AuX$57lW洐剩牞鬁7诚鐃N澂6鎳(樁wOT衈]>@0鏏嚗^1*U{a蛺▕豀⺋y憛`哣嶇-Y禡-Mnh!乗塱 1薁*2*絝 bI3羼x?疘_q!噣‰凰:e0筱x/俤涭'QH讨旪i檚岷姝俪蛁nv4悴As垀a佲鍽裧宂矊碳I嚠3P z@堑 Qb 地7/嗥>1PtB)鑤J峷I殕Lg娼爪锝='认矜瘾件9={}FapsXZGL~nnU矍 6L?偭c纬5{郞.宾 md>[ 50鹭╞肞翏>IG=w`9N~T= .o[ e痲AO瓻歯0锍CV5頙-旴姱e聭魄<侭C^lw顜〡p!偢雍;rk.V甫昙t┾"寈嗞礠W拄O韪a *D+灱j痄羑b 駙-w[忏蕈Iwg_澪従glX鼉索杶盦W22矚&嶡5曧"乾Z木7%B>].勀奋0tㄋ=8亿褝X梖 īp -瘵嗀z焝腑"洢簲3kui+!F饹囏ホI僧特荞靹,蛴9ゑ腶隡?\"鵠v蝝繯5?g薣 绩 桞C e(08/:w B剠 豮酖讷瓑 j) P 把耭毻lr9耻龚撺(鱬糠L毨夺)&/殴鲙 0迄"kt)2c,Qr>簩:艉圑u"呏慥Q^5翫K"]C N攎躵+缕態G蜘yV;舅綷t 扔挟I橊9s眢⺁电硜珑qr茴飁q-滜a穃m(*嶔3矦bN 43獜4a&;ApUd绻论`隲r剚0 质脜(lLL\0炡k榵\0Zi釲[篜/蠩摕欩f橈摜1曼乍楙2L軀5綦1GE諪搨H,削8O進7c耆D鷻+v矋廷X艌袨N\%Z倈#0鬽厺fK藔4單F?箼桛9m衺*踩 荛lm痘犍祖咃:Y蓨~(籡峪/艴醫"X瓋鹋k柶瓽2NH-j戉d菮(圗)巖e^U%oZo嚓黸唩0嫑:$瑘亖``浣yv*憿*Tば谋}5wNQ。7;:舅}﨣N[s%#⺪#鯧@8^A𭭞7? 1;2=*櫕e騜类y2藶邩vW^a&S6释庒!7M杫BGwB佄▂钦8枿耤砩reノ銧抏姫8〾F肈錘6鑳,KA# 潪 9F纽YU彳m腲 椀眱驫|廂w盭粉菚}~楹nq媾<熜0栓]聀耄WR煙誙U緘4侧碗铪G6畍A谸汎>器 5"Q>F临n橉,,;鞿t乢聊2f)ι3d硸n茀U飜B噻4S嚌D`-)8 T#箒;襷=Rd隁鍦q訞`簽訶$鉒Y靨矫M盐灶闁&#aht rt嶻 C襷 噶撕食$鯡8衿痾|'(7矔爴坚柧9Ea醙腃蒭]6 H`匵1V縗U韯[ ;蟎E袁%>卺岀汩+Y撞 iK >饬hE1mu5谀#0儋-焯 昽齈aI|鶇-nZ蓖L囻夥 宲:湚t嚀畺佴Fj锪瓬8媚` I箎Y啛4ぉ 惑 酜о 訐5(r淸闢丕Yz釬,6H㈡硿囒O爟仿' J设k╭甽蘉即(B呡[譼矺棞UUG礀鵿枟%┾啧爍啗e>殩敶n[愺TJ犝躩紃郸誼,"踡鱫睾a 貍駹& 塯{H$Q鐰^ ヮn帽H漹3秊/~2嫎缲bKKgFY虚=彟{_:,芙狗艎9E周禍lC%(睊9]]+谼08凳S谤舑\k*6$K墦?完眥 觚谽菫戫!LaGJ.|脛&v" N獸iY鞑5Uge鋈洰籢"糵\袰AZ咶,KY韮鄑8桏Y 5荙zK裀鏤澝0I拸l] 0Tc礌^Z(Tom碻邏徳$祒Pr Ag3;凫.(7婰ao补~::$a忳喯.2咝 亴;憸^兊趟菬淸摃|J爲玙3楬〨苃s谲T{}R楀Y)&i炵`-!fd爠!@簁_娋拣m瞬TD~Q0@<亢j廂胿靳 @踪 A槀P A '1z訝 h(P犩N媹夠[Τ惠;.鮣犄/婏磏襮鯹q碿P&b &蓂斔o鍃遱aC挷痱睑鉻瑯嗶Qmm婱誹pkYW彲筼眏惍灎DX2襈ビ/輷e煕硨S諄Ψ臬鍋G&@示lT塱>2/‖i黾&椻炑娵>F鴹JH0聰O燮嚚-6趓岼亗孚q%Ib8o!吻摽 ^衭u-働tD璘0V嫚) F}mN]鱶{X冝E碾=徢?爂D頮鮳纨蚶~穐cY6V溚璟f旀鐊=婫!罀m=鸂Z缞鐤~U爇(5Q錞哒`刬曜鶼牴;I左El睎碦棯 'Q&9i攂BO4ㄘ7鷴\9G旐t#蔎鉛趽m餚绩;沿S驰A條抰籯瓉腃泵磆祫〡c莲,披砘0啚w l d%t僧%驱璳跘啞%E}衟0挕 僡 s`粔&蕕`]椀=雐K袋o&熚潸贑 (>燐$8_怵>J倵Dr%濚"NkfOaQ逆*"椒Yg涜tl4l\裩]递 闝q韔龌m吅9-ジ9哛0+jm4vZt-[=%9!bc 娺B3雎刍l姫戄鬁s罞瘑`煄讉乪+E]K 蝔礬胋屃;`吼=+6劮$幈B罜鑪c!J,楑+賗 (%U贵Ap(5n%^:悚ń,{7骹鴘&礞粘顖忐26昳 &T簶#-枼5V卓g:圦搤(囪1  ,X嵇頢呭}滃lq@9<2I帛ⅴ賿圲 l*tIT竴枴t挴有訹輓^ЧT轊s侧萣:墸@0謾'鞢┍FDN 咈燅歉孫 畐6^幇4* 汛!/泇!AR-靺埗Z瘮Q` k!旷I` t邊湁Yu鑷f+緖}廠鷿佛o1*b鼓u垗9蕄蔙_e哲A h|爕貌.}u繱ヲt>屺陨QBG$E畱維8笂婈壁卶3Yr辞朆曜 c聥霌E敐镩耱8E (Y蟫&d猔|PJs驭2問醔<$璶8婣怐.袣 =`Y鶵Z駥襵 w圐v砃9*?pum;0 xA孌鉭鴅聝茦`倐7輩豓D鬳O鬯寒胛殚烃圪瘩溙@w`婳d:蒌~o冇Mc輹+颰釣+x腂6綞刴,錛H$"簎;+黮%I7j#I鈊>脃Jy$3  謈.1QPz轈Z{韏` 盋嫥扚K铀+橶鸷谤槎;ey澪拁焂GH︵1x铆紑 按.Fa碯,(&T鋰"*斣`膿$颀徼p缴瞞枽){ 乐沾 褣JBL冭!琄]"Ca怼葟u椭鍹桍q擋 8麡櫇鬓⺮-SMq续鑂+6倾鯛紟Нx邧+,Z{^褾EU$0>@へhfq兰鑑-见 j蜇汖(nj4鮩荌睭)lE>個鎓┡\zD-螡柯磌啜0m剻救\D*8漺G苢撞$ c敒i巬弑m蓳瓴攡<想活f={贑33T弄h$如;&醅嗔]由|5[,萘怰]洢睾刟貉构鐃釧*?嵬妹倞VkM""鯶贐遇4y78翺g纷蛌锖厚甿|'6贽讹r淘<4y6奨鄆emM!K^TN坣 8狾z(蘌>诖拜36禆獣-r>到Ju.擞繥0箊( }M0象Y6?W7m挦eYll炙`抍Q泉蔓崝 腪"bM*婓X柠蓈辟|溓$寙$il?恥%;1斎q1翫羿蓩-蠚(@刟T\40乶锥鼮!勲涉guAt慐漺n24棶;*烳d徺=$%欠灔咂魲(浀﹪擣眽v佐]b&哶荵a枎n  崜抡贖3&Q讎BP匰攬7Gdwtk渃*hn擔釿=臝jSC讙 ^1Q菤s覺X&瀰睞D誌煆щ澧 蚫T鋮i酑!pXe.s讝粉3%&>耱d]=O0u垱根"$HEUZ凱WV鰒a呥 牪!媳sn 盰騜輷钶禀榉i构 栛侤~%?5窙畏K%鎴?H扶?"⊙死渠攔$鐽m 畭讚嬘搎梾蟗 L0泊 G婍MSpudM^ 乣庚悖頽j]|潦躬0尢恘づ5洗歽{っ堾%倍 Tf-U)瘪痚G&埸 瞆謴 (挜監g,H0褧披|<幰<{樰?<嬧`媴张trv}us{7cIx袓U睫虠糝z廀廧蓪%]W矀0 鞡躳I翄T勋^< UPZ\ZkkL鮎B 澨涀蓻铷譥Js($嚂:谧刁*2 @_璥S脼csTl3岻mB2⿶w銤(換E%)z捗J苦~z2搔(衬4й齌yz Z欜r誆ザ*@,4菮=*俋6 謴繻a歼!fkMk^吾蹁G4Y躸]`` 論R?8X溮茯<0Z虠6澰8簇i菲冋z矼 v揧| +UAd>o9発猜tf;5矖|]Kn 洄ΡI*u,r墾琚 $朷c区躽x揈ZV癈 o逕 $磠N|封獨媴=7LLqf %pb{x洓鉤痙'疽G9峁䲡C?r&n@ *鐫A涴RX蹺腶Jz凢曑隮Lq T鏸儯!Y椿k讖W=A趲.u廚抖猝m旰)I!6芞嫧译HZ+UU/w铵幼鸩>程揼z邐枉俟MR> 'a甚澤L馱疚ēa堛Mm&ウ毽蔑忊媗L﹄6蓺鐑oyJ 广~w黶憮"8G87l阓稆0漥)Wげ⿵EA獉z佁c$恌\j9鹴鮷dD p遰])r鹑缀El鲧:瑟$瓊8 =, 啌]\)床誙懝鷡=(Y揄6娒p難烇 謑窕\]寙裏褲馾0:<2鱬堞Ksw羏M顥6齅寒'桍,M=蠨H +䜩IL蠬49R顉舾g+丏褰/韋f换娱y狆,靛带R渵兢窎醧@pL燰櫐R峉鏈楉%RND併锃d眧L.劷闯| \UY讋`;+涬 灜軆x蘄F凌 n-釐姅Xu噔\a)跷菗=1CNN戤ш閬查9埡鞻泑[斮狞舊o.邤]﨤^蘖RQ遉 @4 A'v$ぁB/$匄_鑹敲Q%(爾謎4嶿庆Θ港蟴肢漎硙j邧!.渢狺镗企暶?卮斆#8 .@7爡2貕逻3Z\灓7+$; 赶缙'P1H'媢9{处勄wP嬜櫠℡5'<誵蜧g3y(H蚂鞂G畐2TUH p辅0TETm[94鞩扩t矂蔉,U!炳膒)T,~;燄8?/ О(打6厔8-MQ__躈炩Y">T)膩噩刋蠔箴t竃m)$K,q無席/秣wO飌L旱_皍藕 翤 !DZeJ.濟){襌UuM)層;!陠p剧芋粀W蝝决蓫饲sCix麂5 ^1橁:禳lXN湨遁胨鰅0庳v犢唌 鋳阺0<[蜤 餷嘌衯凕g斊b蒃&屸毂C僛9x/zBz关O飶*艕韬3#D 渀挭>綍朁2?}自 鮼WHk豼 6RJ$缝 鑓Q彠K"KDOy)S?Pv梱Ví惾{铧鍜エ岏菫衭; 腀t诤粚舕 z稷w /糱Lh 籰嚶Lc$~@94o鎒辿s迻逻Ns賈.7E齩 腓$U!壞3)wN寲-h鈚蝤4y皡j粴9奒诘毳麡呿阪p潜%t<攧p{f枸鼷褲 鱀2糔衭% 翤6u 8鯍kz爧z_赺?(┎垟彰t)梶Fb,7髺s7>alq<嚴蹳箱2U渓茮!3n!鲄嘒觸剧:蹦綢bA傜閆l/溧{蔦鋌9;t袺鰎镥:<縳`A.嶁攤aC 藽森希糐^玛駖輛Z6 )-│绂U电并鈖/顰!谯燢M< 棇= 躷G栿DD掳_髼锆齬%0S瞑柹 -昒侾D:^j|擔鬧_w嚪统扯懊跨O伯`゛ B !-岻8雨验 ~^闍蘕t趧亿.p蓛 凰懔O鐬刻f憯+蒳徆,q@^銜p.@葼;A]U颧躯氩殾勂譊I*U拷n凲錖,u破譙w頁|8n!"Egㄊ垚,4泦倆+槻*菑娠G邚+是l}瓴;>xD磗~ QM觍銾9L注 庄痼櫂4倀P0`V06I坹 > q& 病j摱奟&IH兎 a们璔恁薛c陉箝淇浕鹵!凼P沨@娂雅K帥櫞J0琲>R匢杚崆  木mM呜p<~D姕Kp岂;タ傆磺嘙.五俫C張(^欔Ft摼pu A4 偱*+D鉇阃Ozh氊6Vde僚鱲B俽 欃70o鎽"р刹m;領2M坩頑=輿炦穋7K捿&[}N)媹ⅵ*芜钳> ,澚=溼x夾'滼?捍,I`樏8 lD ]暝:$3鰈畧+4(帲 n嫡-皙笨餛7庰渵~峍所青=*猣<倒#摾=*摥荁lg焼揧緪车絼%鹯_j] F6oT閟<奻y讣^T恨3痹褴8Nz型蠧"烍鸐 FAAM泬>-{'鲡靖2砐-剌a寵痉is梌镒鬏%%z阏kJ慬#v岲 鉤8惤漎蟽зt8靫嗈W|瓇軖銅饒灳枃页w鏌LF鴔癇 茿∵gpG毪X×(杵FNIf跄X嚢%鄫僝eph幪筫顋)1@'I硁究緀y6>髦"駪M(b:4jd1勛U4A+飿! 裄燖( 灔熃 V]E罺"遼嬧XMF/髕汖^h-娑拀狷曀Q0um; A雎絽V壞效氌7~?cb|i}! P栞胩秹^I豅翁戊賡1r鉌^b_p轜鈼a墆橅A宲(;u殻^犈zR哏诱2_1噉R撽鮁H憣傐l%x葵褝 榮襾m 1峑啰> 狠I诿蹝^獍楢l<誟]%遵{誓@宴3猏}]椖繀秤)4n縎o]厹)訖`E=j賧eS )骞l捄莗2琡8p痼@7m%2m)缸修閳驥$蒶QJ徬颵無V媔"鋐兕恗悒z ▼炘Z舼憄蓹0jb皇aY+/利瀏sN J酛喵t鲟B!L'鉻鳻g彅-``< A负殲剚(萵邧-峏埓椘1崮3? R@@*靶鉀喗跻l齿闆硖俭笆硄↓+銷5捱)X橽=牆孊|kE【飗:63徉ex{a3&k腇W昏m槚8E跏i2bE:曗 a祢ysrX嘥"U+&s涒倞礃Q~tT錸眀,?壁Tm鹦籱仿4O2&B紶呌IT;5~5覺墏6AV-丆qys旡1傳朇镴X歴i歗w(< 鍏m6⒆沈m毄}:醌驫鯪hF埤毧勸咾夃Ke〢婒h.ji衠i澅+Wn簈镞.t岽HきR颕FGy潨茏箵2側o伊Vち0/c 捈乴lzlL凚-31U騛uspMv簗~l腱vyE*鰡賅s`3剄!衶r4巄_穏S穦鬃緄 g褎<$0岷猔M自+(brU嗻鰌餥t}智yJ躺蠤t酽蔩"/譿婦緉姴跅]嗍(岥<婦蘫:檁5 窈湋桌馄晡9V: _2奆MB凧捙鮮穨襚Ghg>曎鯿鸮|宜砓DMA|窑(挣瀾#U缍1 勧6M欳壅+堬迗"@TtI󱸻m)頔 娱/;犱oFr%gn&qむ 榤!?[輁/gS^?蟱肥W珕犲*3袭艜諧骱遛维魘7xXC廂7嘧←鞁崦仦r\;笟0oI臁杛!2櫯<5舋謇翄襤&敕b笿O鰏*m牎陡驵谝闼糜W咭 %瘳z]狴+p(俉 E躬抡:,$ 鬋剚顰桉l簄(晐圳紻%捒 2帅J蠭4導孋纨nt6犼Zv()l歫憨縮迓詬 鸥jUR哖if紈&&檣9g8腼谵NKfU槆>蒍^洼i3< 縞;9I鸚梘閻nA歳駒{z设[J貒 f/9枂3‖5(kV頓坌臗6"b鍻X%蕇蘲A 0掷曋7[ ⒛s﹑ca鷿搵9俜鳩櫧煷?=O.蝟嶧)ァa拲劽/gR纪蝙蔹>{葹炠7尛c h篷隬 耳甖!酺LL啯z鯌肰Dv锥绅" c傲\唬^o0豙U蚥櫑莄喵"牝徟G騻U恥5= 04n撔lmYG?佮 7p A=怈h瑃C嫕 A~A垴s骰G'剧zk碟XNpm姓⒏Z灊i&hX吭彿荅敂'= 来汥/襇鑝秫DB 夋?r.+_紏畜$勔 悞1踝FbY3屄Q B魊<W愭0;摍 檽z捊豽]=\哕?]^湯x签卛L垹p;栓姖鏤贁u]c`釧箬恶鋄婧G5伷}x}ltEC臲拈#曋濥t折鋚VV 蟊"<鐟dY柦镏譭煌d:榘牭43$ &糾歰负枬哸 X;疭J*楒=p$>瀼8佮殼 v.;甈 准斈Z响jgv贆`2袃磃A怀苔錼qw}1?a3&猁沩祔竉蒉動o 昬Y⒁瓩梵$烆[ 栲豂I歭QLK#J願)baD旼+蔛>c楽P/5寂╇1輴Fs\缡跺┉|yJsmvu掂l0,勦絘+{錡軷,H咐旡|.+$0衿 Db- 纨 _羦9yMY笯bKEh 撏姠,熷朙圛7挢飨j]o帇Y6#%4u搏獩蛷4]薔傽hK)RMK猹&甅c鈝4蹦Fc"癣M`迌p唖圭岐N苰淟;7䴔B7k嘺[#u荭#儴?彳櫯耪b>刻,蒵8豕鶿镲铴追itㄑ 剢h9舃竤te~卼o忶t焕侤G漛h繰G芺s裟@搭A撆b6p岾0&溞麄N┲侃淰cJ qhEF躞=倽韌蓪5霭譿篞蠎誌擀 扷/鵮>>涷">?<咶s馤 竧P@7L搈筰鏟-符光棡QM添)_-7鴳眞射m:8V洎辕D鍉!涪,>尴OGq恴=蜝N5丳糊pu-;翤 UAiPc詘1襦/芆惸GPug&蕢p拝vfwvXOや4賏*Y迳>}労踜tTW崋醘綂帜\忁鶛顆垸b馎?動敤扽A<偯3蝇PU?纅搡4e %鑬x&*辠Jp戹k0鑖R it 褻駢嵄,"幪9>抻嫄N8=/藫鈶8EP讳礿(f由nc#釸5儒M齗6闹/+:7盃TJ鍇鴓k"]Rx踙(u{遜|.矴站l匒噡 藩什x 乐挣$ C製-泇f,B侹岤婏H@ 犚`X膤調n5攫辞fk镒9=G膵~斩JR,R妊^吀I?ぺ嵪蘣y~U帇 骸(-翾2=MⅫ_ 裤忄0牏炱q0S^徹奵#宙!|2翞涕#釀lL偄琏1餹A~5?0u鮪贩坨豌b穸經kza薸杇樥x#j]\u+爙(]獱2⺌憌O蚂{Z掋,H仫;?坦y持|7.崈N;.Kcr跷齞T&釚i&缣ê殲剚 红跙 h疣3'x1 khl(郗螃P耬蠜偻虥<D] 钻^ /鷮 珐08諉烳忣/訃轼.%xお@C榖猬輾忯m籎_g?磁z 珠$t妯87,8櫗m"PcdB,|鶻拠$G焵馸~"謐- ?お2[<瓓=广z梷o2鳙瀲!錤'G論綣Bnkl进*肢rc蕘#T?zX飒瓂7.T =b9潖sg猬/w鋶(鸽*B噷棳#藖IQ}肊撟%rO57 夒g C[n8 m1象饅杄賡齀a 廹5L)夊2棆铙P%穧2/决勒4 q忌r5旻囌9曧坜& 埁Sa獿臵kI譽.U>Az筤铪楟钕遯㱮 I带\&q<6Q諥SB讓UQ@F╃TFe"p)蔌`岵7v欛ms蔋/匦x霖h%%憅附 |_呺Aü-菠蠋`鶆A鈵圆橛菖嬴鷕x:?>;[甡*@3錶+M2矾榣鬡阵$s'X鱫ч虲欅洽P'{F+鈈jTw鞒撨Z/4>禀騢=僂(J'閭e槩礆Z冣肊诚蝈-檄#p幘|9燌+賗Ⅰ捙Y ET 88狘:坷 獝(《-*蕩c'8鈐錮咸{揧N諲昻羪 壘>还L8湬ΗC启巡KwR 攕袷dwxu溯*+0鳽Q=羝⌒ 2 mm>1#累惝肌隟 `9`>麽憅實:Of.FZ9`泛),贲uG=j賋.7崇,騼4M蜲 鷄I侦%睋 絙 Y1鍙屿岘炍嬨=璀镦 V蒬眣 典,鴿惍俚C籄P薔堘拙Θ2g嘲曊鼹kC閗>?u吃Z*}牧!5溆獘劮c摱(薯見亮紤"Q湿隝啟葳R鰜20~慙衬勅緾 Q銭,萜丶5矩?皣灋觷T?B恐Y杓薮C~w;L=<6紴u蹻_B鞐 &吚旭`婫=AT;簠橶(3[QA螛萘蟄Q黟!儕&AuL靦豱<焭.椴%耿譛_办s禋蟐鍿^赏蹰/Z乲緢蔯肜9k吱U阔猘Cj1姏他鏓殾搎2奫g額澄搵頲=}ej鼍䎬魂鲗ANn?;8f0C彚鋓宠胳藻群9B傞z煏u堘p)"P铄ytt茼t U愞韬z瀱a(缑uQ眯VH%*╞@尙黵$慀4R*駻擎辳;v武貀緖yw'}PF'С蛍R槆慌b~y掺.<.緑鵻:rP揮mZ)~橏貚`)l'Q8m溞{枛餿J2D朜?[SucDF纃@慚 邲蹶y摽u妣陑渆3_)/ 酘筁Wx萳渓:|N3禿奍蜇# wo_輁纳鞤婅%~Z緙钜躯l畚iS7[C袷 V嘥E讁;;fX⒃而H钌憺U7铍吆-55疟5L皽D゛A淅靃/]W0 D;帥Z*B , 趰潵课丞 :TP 〦 *5q8艹脠啦l呓{w.F ? 䝼N^})橫絢#桝k濑ZU盨烵pk x魇崔邉,AOr[燲 6漯E琧D s婛銳`h]G猞镚侅1 頺侈=絴=鎃楖軲歩搪艅k'C]H 辛姟脓,鼚軘凮蛋旸m7噠,?閲錴顸^X5煄U臆^渓鳎蹼期&堾";)>稇|狩劗婠-)"L( DeK⊕亓&=emm 眣4瘸l槖)堁m岃赥奯睾氈剚 簫1殧 *x琛xや=羶z稷 碫cL#7 9H菜疼yo辮縫咗宩)輓:z摝撷谫讴柦/Q癯'TM弸鼘鬽`H礐tu3^"蔀?$F跙錑禖l(AU9$愄o鲛W蠐耒牮竦柄4M嚸邹zwx墏+/9-彑9柽6導b#大,X$誊坦稫驧3晷%;~k[♂M芉或JiG&凉?韬z瀱a(绻銫#罰゜(HTL +Tu6*K問ZN卉 詠帏泫物r菆%s裻.剌t\\蟝U t姏戜齲倌oJh,S[歹M!犇欣.滇伐帎∪槸:g-耺D ~^鈩F&郢锔BD澮]猾邽栵/氇-钰崛鱅儥枔:]动Q豒t譕⑴!%:D鱒6瞼,銀:1G[re-臥汔刨榄氈>甞%聍孂驼弪y篑Y{迢+/K吞x;^A&(/H鉢:鉙c櫯ぐ椁:;'谻Y#P钷P KE_滀%W[寒e7a夽魛濉醛?7穅譐8擵n v6閼癲yW;怀瀥d)@I惏甁tb>]蝏 唌腹禔B1豳@砦 &纟2#柨扐褏:Bd蹤6軙U#@仍o郭8N罷R]圴郬斘Zy9~7顦%蒵糬y篧 v?庸diB檼:醏`醱 犈养R緢g0*咁路 灺V^敗w袍朦w嚞瑄殾蒪洱芰F!4.>匮*yG棦1釠漵|!瓻祫_F'j茌烯恾:R酲U$鹿燫c盗鳵蕸l]=O0惦4v庇,~S,0瘅應nU7哣b、*m溤- 魑2G襦;巛{`壜K浯纏畜轘q灼氁毿  啠羷>徑钩qm"|畬钜*t豮TL竑*\袂襈詒圞$+u7顙翡踒:沍<>塬垭鱀Λ1"扠鯞g禙(羂+u阡0綟$盋5垸@ddA q┧淤8W藰囕4?/栿蘸/3鹥*q_?氭"蚃β(稅WR2E 揣pM"E岳we7洀$-A 3踼x<ㄌy/4~7Pum9 聾衠(X甴(ⅹ 8C%钐!z距 N麳v钥HV靚fgD櫢揹G算玫@(曧rV(葱泵/阌裒絜sK螶萟)3睇?訟偹'仂剕R釺_奮旨p@隌P,R臩鵽{淄沼nW/嶏V *`x)*,0錖讌绋f惪啺8D- KP姓刏c)绺T鬍%碶-詸;羠 0*邿.,)瀨[T,3u轱甸貗C#荧*U%暫7A6寕,M }fn>dh3囝;郔栳- YF(@俚 C$6&贐槁#钢鸰習P紒俔41渭X鸱1J釁223徱<NC]鼾螩 >J蚝笞蔩 沄>q !^吻觓L百頟泟殞汈羐 _陉1J觡D轡 嫥B0[熸拊+m儮0HN}$蔘DX'骃鷱#蕻@轢銞-济芒蛽悃\*堽Y糚歍-櫲扝嵒7.:菏*梦0袛┈r桖颉f0饌!gg搩0Da !缕.-\yM躹QRh 8o皍a躼B 疰{8馨外猍itG蔁韛5竰l提 HL也 )L%]5G,-嬲冒|蒹0劲T"虪d舼瓜;zdW岐渷ó3粭'0y饛蟛腡R23`水泠峌 ZJ 鉦瓉6oc蛻爘妓DU墥婄:/'K恪壍mT(y覄$胴鹄垆)鵬qcx 磊 QK嫧i訧C4L簶8笓堅洞舺W\專L, 錻錨镛粡B!叚芝劼+0捱gk烤蕗鑆囑=顥s{恢5K(楰 atq(*z韯zPM姄(&?縤Q哑 E[xu纱蓺溮kv蛩碋pK,τ蘑偟珁鶂ス風;4yX|.鵧$褉1扜#9!貞:M%鈤炁趛璠2粒啸D虮E%齸|z鲱-a撞 "卩Kz2迧 4:%苃寽z栰2CwgL衟鸉玕Zf婉䦛r罐S辚篥q滁8YT 閪=.}縧w5劂劘`撿f舊x:狢DiC]S毂I蕠$猍鲣诿8T腈yL迡3Bz糱&e熂毰鹊AE n@= dk-u*Y穘Hh4捡氅姶ヤ?汃=V1' <18畮銷 瞘1俄DAt湬(\яT 狁3谹(E&e納!)馓1 z匾濏0O'锝)棶>;翏,Qn柯咙伵 纏p籢啨<濷鈂 E_W 蓞4LL鴂IH(}乯铺;透稝琂t邗%匵眹7c8;] .S笎ㄓ `众G輈隯帆歷[y逊t蕖瀑檶捛M捞鬞*``苃2哭[喍L&﹍&1V驉t\蕝'%圪埫4槜T]90trp:D x哏 Eⅱd靗A"r"陪hw;n俽郱璍$%嘲⺳u?莟?M]Q鼈~l濘菓O #Q趑+_楚 #&xz珐k*茴炙2顆].谉;h硌j踯`叄(藜冄恘1 *韁;斃班︵敱6 9X镻!K,:sⅶt╗謗f厅蜖9ヲfN酔賮香虥簇妌諛V l晛亣婸>鋊4@啝挶衅2/囉1罛絉柪t線 e 勑a!浐舭坜|`隞r唩XKH災昆.8攩elWi/g4董 ←虩-- z遮(z,F謹-&柧蟾ZC墡oSJ8帓v.;u^AXFzP無y芞F'A琸滧8窩阣ZB-tO朷)OS@8骳釙#嘕决鮸搐*c3汤:莻詚E輪塇Z$lc糈Q髂豻蒎謃彠s%鲁7=軅 虈x7 `犽lv剚 尨厁痤砒滟膰卸脆|[4H"7牱威蘶v窒g碤裐[m輔澏镔?m蛩rT/Uas^!v奐綖嘁劏劃_02J!pF蕧娂1*+悝 详OrA$南kY莡# 啡氋4虱T涃*h揕0 L氬O}発靎莥*凅壠|醪D懝Hg惽彧罶|"Z鱗栌鮮f?1賂4z肢卆垶﨑P鵙隱懂%a\4j.博埨'$典WVя霨n嘆竄澩X9gu龃睘蕊d%嶉痛P m缉"潻(鐯齞e峧 緼-b掔曊\L沞)┬? J粉M揚韒F<朘W1採*陘yq図檙Tz-蛢瞔箖'鬭粄菥Kc簬箜瀤o燫8\柌丘@蜨DR蓀耡篨熮pu:0衴窗"!!6V媊`U逾籏_68w櫇g敽G<&0諫O廡EC}㎡6鄯ML,!2汅塗モ0k鹤v5駪"葺袜所:HdfB娭噬〈弈 7⺌臭9=欁输嗼,C懢 坾眞h?7Mh孙昚v4A4nZ?镒髊縙n哑瞲柲枏8辸虦l墡*p懬#1嚓Z刟`[垘\燇噜牠侦&h>`撿庍C鵘嘛wZO1U踺<#昶"冡%V耣,uq$ql") `*矊*廊昑晅S$i霞?舯隗%qy攘腯0恗&x+4B,:+H驶]甄揦I=曛这*A j0_NZ錹h遣蝽筸薳櫹篑0菔C&Qw@菱4 @箕X潃Rs堺@值6A皪!J﹪~B 伏荄m妱駔羣f況┠稅鏖祑W鑑觟旹+l懩豁昔{Z麂閍o恫\睠↙獻<虣Pw{c豍oXFC层骺-XhJx9=V_e蜷 崈|f琂匔 巰點姼1イ]?+釒冊$( 帽1浄矶廬K趧|莸82灘q7V沴'喙`4X 窈敼G睻 d┉楏x豬G /夊騰緦!蜸拗 忋邴*皦f)&!=f'翼炆抨簫Hq鳼輈.乐$1翤G鑘顣ě鷭帊磪n60漽r紶剟!痪姧6h.?黇{亨智穎屲A褍m`耆錾3楞回閂殿鑨\++TQQjT鄽|&獒h嚼[(倭潤踿杅擵w梘qe盟台m7Jl5衭喟隼|M6J 鎝C鞪触j7嵯黗"z縜U,1姢4H=&.`鹞蕮涡r勽翤0 @照0 翤霠牒崄噗`訂 櫸~,梙p>婨%5d;_ 刘W艉稞稭ct濚a窽阬m=?V!_姕@琨鉏3樻橱 .f_nH+88酀E埰嚓蕅唩爉匰B~E (x4墣s焯@d*"k=gf释旨r>韏 Xq訶; Byo栘胈:F蝋俼n'Q!og詅(*X鰫懱<歃5Y5威騸娟 2伈BC弖鋪糊c诅c韷(叢燯(傭瘨+_&u辫謨磧立 Q^夬馪婥[=D9й齛灥m瘒s晏E[斠W嫚脯麭斱4H8,Z&5皍-9翤擨KD 1z Wn芄4n\i1 齈qfZ@,B'髖oΟ已嗂≦e%捲=喾0&]緈3,傁=纬剴dh颖赐W淔攏[Z!uc8sQ礗b襠#韤H斔貔r,8啵 oA萪 E翏饐騅玹c剘驹 Cb苿单V+粔wO稡x蝴駹⿴6d:吳1 吿//8BeZu\o說慧帗4/Vbp z,(哋v3謙9帬F搣`隯v剚書J/} ?粒=檋繰皏f沨7B欯 垌Ng仍i灀鑡 :琥姒g犺>i閄w% 釖5~Vo()暕t!Z欠匹櫱G綷]N27?P瀶1洏/鷰釜蕋8`W觗 z@b5莣Ew踄餤偀喒@Z斷2. AQ1唔砳q,,作诋7埴z諾G宨#*J/湇Ew芣+訹A杺鼤b瘇f]kH @ R|╨\tBB]綨 ^(`aa骀鋚64h红/格: 4捗适孮`fdf#衜 囫(x瓆羜冊:@攍黏渦蝺鱵@朚#尃 H?78[U抢临嫍OLJF钰兓冷)%!#*墳鄵cF郼丁Q4迵鲜昔5v刟H倄Tb@繉ォ圚妃 d珨%卞趃惑p=燏t銱狟6汽氏V卟噬s巕捠6辦亙 鈎鴝GP,笷箳獹IK*{o愺~ }妳\X4燊孴弪戽踙o耵>憑駞j辽秧2緛О6嘣尙観d-皌6; 聾j嚘礣NH*摾*4'層sr夓剡煳铌狌Kh??捋浽鍁曃阦n埳(!湮犤]7萔庯眪6b'乹釼d涋DX遣x敒MNRR謸賺吔AQP觺l8漟-唞~{睇X%镉吓堧O凉恫>K瓫手貤搃3諀隄5Yg韬a續墾g|袅縠 隶0J疷D鋛k谆雞鄽幫轈_4泽9狭騌h +1翓M鑫碼X閸o#嚎)e)5diz牃Z刾奖呢泉湧;7嚕餚%髀碜;@驆'零m鸁 sM耚i茲忲且勌o8餭Y<.珺誂q偯$qX$}迨x婄雲3uザ佣庴%o轴_睒?~e〉&韬刟 榃-X班A M覈;D鹬K>'浱í苑k婥tdu湿9鉨辨r"驔窀&辅*L]$4d!尛槾>JS霓歚间窂h?⿱#W祲wb4侈t<&秫Tt%讉\躀綟GQi=殎@>>b皬 })雫.V孡`樔7秷 慸NI@rho08G犽絅.uM r综]辙/囨$f_ˊp丽徺uK癋呫峻W,~ 2pé_0#Y锥C0D鞿Z朧h#.塊鼈/嵞'Hc暣=3%聓;3gn;g詌嶁婚Y8晠k?e7謙!P妗}$8J9坚]飾蘚 偫-駟蜍凂 @潓(滉侔!P敹;爌N /9:挷Vh帶媍歵d艀bc[S6A7Gz Vxb1緲货萸t翮 趚#u P鄡閳挨:隦(tZ紇K 馷兪v逖x浥jinFw[^觗;=]纵y宰^筮\君軗o}I孁撛K懂a堉h?-碩磱(:(闻&:vD*舑钰.簠悺!苫鲯;5烳a蝇試*薩!丏K鈹>I彦穥柫 輚!@h谎R旬3∝蒦蛄甫#2y;巉杏椲#O-痏@( j枋E8B罸x妛欝' 嗻波n姱冑賸-N3X咼媚=AHCl銃蛿e;~z陣Q< 隆垠棆U睳D参6 ?сa份ら辳蘜梲?<9td]0 )T旸bb嶏$_@F錱l鲔0義岽d攵v鞧麜瘬豏/r苹駾h鬇6Vcbm瓝亷$q進檊O抩,}e瀾KFg3r耙 6p(秜槚闖鴌=蘛0R┣玓.鈊豢疷U嚲楔8oLE.J-槆P 墀鹗VB榟A尃!迕P荹Rj#昌=n0谞h%囤鞁鱗0vi2泏Lm吁x隄/'铭B蟠Q4駖婠t鸀弰f(G鸞?CS?皍:翤T*訶墘15*畦忄Y儐禤飠5ap#鍅鱚{w瘜靼T蜛_硈欅纸梞1J曻o纎Pe,g赈駝18[杸貫A7%'!﨧y 狤傔銏M垪黻K 熩纬+挎鱗Q.J礌F楢.LhB` gぽ壓嶺宊|粷穽_gOM|=$ 騴俋烣]陈唡0鏟櫸籮谾\L鲊銁1郗岔RN苾箦8冿XXUJJ)Ff棪i織黈躯櫮禢 {pO守W何a喡I 秸耆1 00"&8膯蔘My/[6摏椣vl+mb(-诉 諼C bf蝅槦.餧皷陀 ,@源啿致V`蛺蘂C=氱ff?]IG奍4賚鱕枍'u墘蓏Qc蔿茽(嘡+7+z岠v魱稠Π倬迌碝7:e轢繅s?洳莁荑e啫2[Kc塞!(粆m昢示騖J晆昺@H^淋阣;$玝O鼰($_睾(t罝1#^鉇<ㄡ+,岁L実 潭l;踲F勇哰5\R1C8^`8侓\槶t 瑃呲斸:\+ r?瀰悁笁J廞B滮5鴄r&)傒Rn泘ni/^);_j喔譀神Tk遆奰%欇I栥鰍54>7AZ.齋-"c1L9 籘抺煾'掋汹璜r 俄膇 臰萹軣綶4=n梈i欺" 熞夞疌^u氙.╝$BO4A0盽)渙勎-qD冭d悃>(]玐畋9;嘿D#譅2/隠稭S椼洵09僽%缃⿺.帶o霯v熿mT虺|jq螱懂A6wg)oA/齹 ?G? "孀f鏽* 団胳瀞w钯熫3蟐勘U1瞯Ss訁x媭.椿?3JOT傹2u?蕆?趟窵凃W60 晋 乐奠 睦E]膬a岨1蕟:_ c碐聞 瞭崯ef驰>姿>7蹖`c壹渠68倽F @$蝚D漣愝j艙 o&fJ齐厺s呯`湔t 稏缕B裌,l輚+/吢峥:$敺 作琶We嘸 茫郁Bj#.!傌x /鄥呸C乇譾Z=?懾v瘴I宵琥5妩<祽茐洝齽夺鞂魙盛抨魗腅9}pZ%w%徙d塧/+I奓U緦窭7 烷讑WQd:^2霗篞%搚Qp鋅%2髤7揙维S鳀 n肢琼馊F残掱6)nY腪T(82篑l(鐞@#v浅Z伈箔r琓V譵拄籹Uk8 糩蔆4DC}k[2譬菔U幷$qz9囊轁吻齸<0C噏詡筠/間!砶U蠫&A埪蠽i鉕鈫ョ瘙q鏔繞抑y34鞮K 楣$悓肱蜎2m椦}垩湧勦BG禩,䜣彥sR匟訝:趤{S>96d'爱趗煍U9\馏紨Zネ汄4讻↖瘘2`Qj塎%L婮=5C唃:罣G旮閂CwK 頔碋U仹F1贀炮/.擄u}敬镒H+L5W)a閯淏eVlv皇}*/I~皍5=0t6$F&偏鐇簪11朝痙X;窘﨩K?膏譴)圣搝瞗懷U} 簪&籶紝m慿= 02,榚劰訍儛r=鵎蔰胙怄/zし笊CPuU#R)麼q銞荂硊y1$V圛 Q`*P晻;Ia4-q U痧l蚑8腚4啽A撰Z#澏铷碩鵿n0龄窶9+気䌷>A飱售E8Oi嵦CH幆y7,統;%W锥 C舥 0$!^ r虨V鍓萯zz]K2*衅|}凸D*1仡D0O躦& %尙诈详- ?腕8X禠{? ^A逯I 磹屝 dJ 沓[硬 わQX虀[c姄s暆襱7鵱24 z5騜v滻%鐊鏞 # 纞襨*/鞧)╇蹸戡7豿R2fiI蠗蹠1蓩野s琵勩圶&Q蒠絠F鞮挏/m\瘲l]I0 J!]U楷レMj廇陙K惸c{l弿另0cXw続a-賙?l"lB赱胻bdG岈2u`QvU#5>姦_d鑔衘 7+^闊揾*音鬻1倦-"潓e牿I B腁 $'勧鑈60唎vd 3喥煜鏍\k圹 a蜆(懔*#.xjS=嗧糼煻1 嬙圠60|嚓趘刟6!3B傫A_寜_'A粈#拣F伯]蟟岈[熨 蛷2,?Or蓽L(噺轮CJX`>坬狖M8x 貲N$溌囮D{?^旣F?冲.镠鼨曌牘镫妉$:.銯棈*瀽 朁遥bU閺4\3q&@M Y屸韤c=愳 鹜嘤⺶问蔕`b瘸厛湴'諾)S掑*廵T涕_咿?哉Zh,軔圛^蹶搧T%矘q)鹽W6mF-◣ 聭俴邫1"F垎侳逄缙] 9 -鸏憿N癧徰($>鸴祕;檙?愄G0魱b礮1~#鑎c/垨#么緮鉡祟鷕>a6e 惔g{7][;嘴$掦'毉+W缍 冡m萯n1$F/M|昨F窹06仂A0XB诃洴韄焓輗M忊皡刭7 q僃5頀擛挖S娧E&)+u]凈 珛2僪蘑儅湄搡宇$*#X炶}園茫?嬰3g%n) 卲刽5橷揕O-f墽]Q愢恸d` +5蒳镛垭較n-JAPぢ县:耭8Ctqn,忄梁 T狵忽<1軩侺'13:鲘2臁鋨頦\鼄`隞v剚h*$B"'彏縭  `e笸&娜 劖欁踪薤牲UaV+媅劎J熖7咪RX踠= 唲SXH萜倿丄8憹枷H遯渎萠矁)戴[óaJ2靊地&羢仇ォR&_莁艴8 8}q栖Pr鯙0D]';ㄠ妾N嘽t">巘(/|檊`56MM"y訽蟭do5T蘿.眪`/w厏%拶97uX亓蔝垕挔犚幏\\ 0k刀c傲`l耟豼蕋祐棲婌 ~.wM>绬=[豟W会v鼦訅恅邇 爝`i煄I&z%t;/坷Q悝繮统}d參H*詠)uO圳轊yP趞艼qN<︳P gM9誢傀嵸(蝅g爌恿kX;!粯WT!*8EQ楃3僒i+/秺A*虧硳ΘgU醭葭4>E戀督_蟭絍诣=Qij毙葠邳:挱夐`電u剚h丣艅h5q縄C瓁磟獌 羰莼辿 琋*宺N3Y󟷶 ef  R/N^h懠4>)l柇~|$冹8花> 雁T鐄:庣8兒*赿涀?IL恺1笒D3灤湞M k葓?#B莊JZ涓G G2@寢 7Fm喉Z'r濈隸]QC掹蛠箿O{縘榘+a&R=蕰b況f ##昱G懂hAn3堁=閮mF^j屬kqA#弰'掇]籟鸰筿3?]3M眉x|QrY:/uE鋉慏疝K)佷j<┹奷張37}糅#阘屲淛-`蜭}M径箦:a渲&唦.+k+w:n 芜G熷跋( 寧僒;埯 濈+毩`伬8莈爰<昊#o餿.; 聾网M$PH縝,@骗胴I蚛GJ禢鼻3濿)待踛遧eo瞻Q伯 L萷藂*崛@筜im藗〝匞処i 娖CM$裚唢qT6 腨嘣1N砐澈=#貥惌璨油N竲夰,汽*H9y咕$蚚嚅AD晠雃 .B脪靊舺魓舅4暅(.@1x?尟噥-<:59你钱{R捙$7#輼籝脮dEy柢E/磐fV秳御鐡擷蚹邚1>鷻钧伩S宛赣v考'3z醎mA v 猃呦 銋 \v;墇 桩块凯錺#o#>T鳇f紡NQtc)Up;!ぁ窭d%丟=Y;纛娛醓礩杫hDnw}*畕 艝梯濞 銷9@e暕槴讹L钮6#(偫^賢|鸧"O暽$ *n玟 `Y嫼遖颟噳倷穠>y鸢M邛暎尩鍸燄诠2y柞~嫰嵎i"輇謡61(rP軴I蟮褘'党ǚL] 0 m杯es郹消cl 澇鲦扵濓&y辤^k(/蠛[8P腚 H荬hs颮y"oH鹚眿`G$#笏 聬)壣谇D薜猦盖lIq2(铃敃唅5稷尌葤B阘+ 删X郂(ね騺;襇" dP43E榖洖摲6FY4湾3 綂 庁爆蝩]I0x瀺錤漒悦Д伹|辭*R糜N|荖蠪 阌鵤ъ5斣擌ka唩b芾 兘盗d湨邓澶 鎿圧I4筤",墰h斾衳U煂 Gii;伬襙Q酷 枭紛+沵劻$񆴫$梓?}{鯝 壳!舂g颋)Ν汅儽义Z莍\Zv釵f[n)尉k澕腂i n#嫭K萇梜籏膶jm詄l浐k[k赑儥<8z鼮@2O〒l @mL.嶈鶟簸+_侫04IEND瓸`javapng-2.0/src/test/images/misc/phoenix.png0000644000175000017500000017655010646275026021065 0ustar paulliupaulliu塒NG  IHDR, tEXtTitlePhoenixasRGB0PLTEc僄cW+搊;靠???R IDATx赲樭奬勩%劕|觜o/銷~鯜 3t 曤?( 癿]载.I-旲=6@佇>6C3輩$攋倊啍=愘MdC脋3煚悙@/髵 j{2t}麐z臄韈+騌造睟E娼oeW髭敲繴掠C ¢F徘41d趂@|(/ >yz%/圎%>纣^卋An "麥逇6蠭".檪鴢归|e秶爔g臈`譜l婢f磢掍趵V@&S;娘飠 ◣w墂籦务5昉瘰vg艋pAei赧>fOA諁l倎*)查5"m镡 |5w償{嵅﹢保醟06感璢鸨!r岩鰋谇=良鎯:挟S%胺|猹嘥b&凈9鲰Q6W鐰睄鴶犄"es)@袬rl煆OB扼B磎a椌纫.赏L[觥Ia┵(>唩嚐譣帏誴?qB 嚩R 婓zK-6UD@55=q)3nr%鲑K%△:J繜d郄^巑I4粒6?荐R睄啃,蕳KV5tS璓+y榷Y嗡Iz溿=餼ABo皖廎攉逸J覌E]`A4睧宣 綷>1W庶$荊1醣A .".曄呾訞螀 (鑘XB巖!煉m;>Hd"劝齛勀爩13尷A丌VU﨏3r9怊c嫏}2w媼鯜%树胚P藑颃乢疿陠s<鮫峠T栗燡f祷貒芥襛4@*A5i樁L)4 t)秐单R腱舠&椇蓠影蠡縃Z 衽瞦阼A堸炀眔#~厯狆a@挽9s:>堫犊逄;" 莀|銼煘< 勳Ⅸ哰UT侇 2*y),聧 敳摞9瀨g殎&慾阠2~p鳩L/&魑00|7鼊za#舽`=$M^hRQ:ClU?(J1虙;(﨣 咺||`唨sl.5㏕VH挳W邈噶眒碩C〥.圔尚V?-Z嫞1tw8囈lq.T ;)D)4p{煦s蝁CF璁-欣| 勃z泏攈艴鳟妔忝帜SJ笟Tr 储I辔4>蟅汪洭朂掛溔溹Q叢噫鲿葻/茵璦枻}D緞 鷸廪1篒,ňNh樾煉N囵厏&iXy}.d!騧3娵痮3狍m9嚠`皐9 /静槉H+Bc?莄彂5?p%"GBB繳>裏嫃 cw谜_醪郦2g呱'蚫疜娶D沝,唞蘟籬櫹R腭紘橃K蟦}=諅kUI礆梶匧媔r襁~sk郋蘷职蚡遧-lD钘:酎c髏 &W嘞迀 x燲rD纙绹桏萞腈Z,鞿~~迵3慗汗鯆> 㧐讉)露G礼q$QLJ瓇6s:露道 H韵z ~o?Bw焗Cu您扲ME慲艇梕z 0 2迳L%赛鬨>嵉眏陎k鲒!疂糈}夬餢E򯊙;果袇3A憫~鵖$I|D紬f ⒎舏(s怚!徶肞$鵨宮&▲e穭愞J蛍趵筦e诔炴网%EQ6卒JDj勰芨舴#2z沶躶(揟龐>N袪椇*咆1檌W黝t摗保)(A蒒>癩惑蹓6炘|蘷壉ゴi蔲&G瞘睸\b4Cf厽 聴馜斛hQ愜锿8斗5沟A"B珹湹aK该墽B<14滇E秊镮=郗$Glx! U體哸雗骶g!打'剅袉曛O{'阋m禣踮F討潁仾sPK2趘$叴~$怠{}M=必淢鏿櫓Y|熯む4玱;垢c飛'[h~!孚3╋嶞械朝RCmN_賻_+幧2闒十錵鉔嵈s磑uⅢ2"舘答w 昊吧骚lKW6SYs乷 w晸;5ACl2Ia9>**(J萀郳G繁硳x眞=)铬饸#$耒颰7靬eQg鏔R焉遍l祻[a煶怱v|"V9河勐&挍T嘤y|靿拓Pk sv佧D嵬珫挻﹎K~)z 鼰u暩鮭v,V袝5W稩蹥L&w樦腅>爭線煶?dH溕时'琏C斏胖敨w帯MS&緽JI-庥搩賻旽 e譻# 胂G=IHい 鲩d F$|鐏 }|楨杴轅p甯笳灍翄M粋枲47<鴟痘T;蒀1$tN抁]K]滒%5癯 濛䦶l3Z巇Yu钀剛DD埯Y題<秢韩HK*0>碁|.5襌D铂I棓*3垩1絨6墎R荊戦K :蟊%2刓 0tu杘-v霋%倰蒷壑場灦K诠w:蘜T6雈(痜y"廕鈺 ~nΚ# =レ=$g早松kV 欇1+─靣駞TL櫃$╆N簤-藋:P蠠 W{~P9,戎孝篻 H@[浫 雀襲5V瀿';{忦8(*B)兵g蝍膢wO@9黫Ⅵn+}F觎吇灁:ǜ髱璤a芔.`犢相㎎6氘詫硜廆 N]﹛霟ā饥󰢈y(墆2 覺蹯QgH$j`MB奛蜮4‘6s7匤⑼湶繆拚"[wg3隨坏/S濢R讱藪堍蝾鏌 F@w躾d怇y珊tFw"喂d1胍F銉T%~*bV1BD\R7kn鸗兝3慌((~GRj.晵蓋炫挊隽s慑x荸[* 駹H 鷠H兖Z[礪%tU%G枹圼馥L^G7 )=%%m覭鑦7.02嶩e(椓粨"9娺-狀a珿奨'碰豝謑葺M傯愞弝曯挒'應乬Y璝)吊]{塶譂愐錱u蔏a(溤}讝糞鈙矉簢t6F岅'11 u_[i=8P蕷$湫扅 軲 VH馚种@9'+慖烴5 拪$S龅碟C,屙M莍蔏蜍盳w%N輵証澏燔墆 姅g胶燬冃鸍,P謝挂/增oJ>F阙8冿5雟?儔 q亃1r 墍R)V寰谰+V駫R鍅3%亂|*棱H,秂 籁=S1媪㊣|癋tL舒 駧@眍*"u画uIJ嘇kk駥g&r]鐳遑厙艁L登炷)籵Up鈁廭%坱鸦 \1uQ唯3yJQ媉{v?6皑a*繸~DHu+惉4洆;沸萱閬垺逽y咛s0淠坊鍪薊 c誁鉙>*魨xi4%聻}a'm u曄*HI狯>怮J 蕯2芳>?z蹞Mk雭玣X/畵p9%Z菲m鞂箦杕cBKy 氦:覞r配楩T簉wPU蹂|阗f柍aXV傗亅( 綔跊? 瓔淹恷$ 敌L!膈?粵TU徲j椝輋M拼9 ㈣舑38t矏m<猍俖syY湿w箃Kn癩3~&*洳&g74辰熋叹4羄V椙藓Ga!9)臸w卓咣: 醍C/&3!湥Tb惈剥荐嶮2亼Z璌9踊媁嘔P統狌捄 讛#HrN*侪LE戶n漃U窓OOz>豞s牳 !2uI钷&/@W珼癡圲闚鶌氨+P 娭.牾輶bb瘶!捵 1Z?胘軾IW[*Y阉6恪躋d#匶NwO檧 I.簮淣&P酱l顾呬Fe/瘼z#呒l憽*J R猣籙锦8S薪(逅>例;&梒mmO[RThS@-箓7E 筏絴T濔輆·噓*B"渦6伞苲#{h鼉Kエn渷畘4}-;| E垰T$o鎜o 譬$潘Em敃)倳:懿D吗閱v+T囕妋顶诅雊 囗灒丝.癧S$鮵 Gt昐氻*聃+5緉=桞謒5!肇壀锎- gWT輟)K-椝q塗稱渱\冶kVtW攄叒4+QwK疀梊:b%%N诗m9Iz mnk疋{釓彡 槸QCf铑 M胛煽nW责赀4jd6蜶州讒聮h楑梼Q^澭e垬E拥阆萡叭I褪敤壭rL鷊x婬蚦/巤鰜l愞%'k2-州粎鞱@jv(螴K.0V:!O}&36)yf 骹(UL祼&燶t駀旊CP]D*深I?黩\橦"!幁}=-&(ヌ朘揧$b餂.gt8ro輝v焬,蝵嚞推.垨祁焍送R巣蕈X宸317[>塬 4笍$$俺妜>U鉰笢) U 疨屜唫阡)轏j擾Y'銾Щy@N]\*WKD袸25昖*實+烘bl)g烀F豝80S1!嵱S'w=瑟\1JY鏥"$7裭 宫9奧阐孝r,騪f撼v眐傂Y銥cPX5彍嵩;(淌}僻瀼A晅B洊 v搖6=媍鈡ⅴ7_49}BE窌p ;j¥ 緙鈢K@韘4 棎<迡蝞诐樞#.6菔那0O姂菾L|炻+摢鋥>'筘FP綐 +掚yG.窓:8嘋t聋扣詋'iw緭漣7Yщ拼D>倍蹫l8悒Y7鎑8 5p 畸Ddg萴魤pz}褞-pa5┱ 0=噷蘁U0渹豃E腬跖⒛斲: 耰n(Q@cHI堙噷b諻傺?箢g]偋 M鸇ED喱P箊裵癄!82*x玧 伜涻?曙啱WO=+Mf lju/wlC(蒂,:Y4锼t翭…蒄佨,㈣\漥H6Ph界 枔輏T注+鮆f佇齟鍖2榓~F7A(6M擜E莈鋐D2Pz=9/e騅c =醈*2.钀&繘 " w絎e7v>壝r罿r<脼#虞=4孕&砟P2'膦憗瓄棡呚 =溰m圃偓R^@意:,睈Q√%@;lV=nVV~T?g->1.缷л酽蹯捋韢:Is,$荖LBeq{^怀繾+{"筸樬滧菀4^攆t 艅|灵6z5n*$鱯4_謍[q藤虭傈氁 z珣 Ρ萙-P>0=~偷聎*(鉽8d凇%(7险3噧匋3$x[ a峐鯶苏標T 喢鮨|`颲琈 >驖h誒B澬y汬耵l暺s["妬*"l:栏PvP鬾癨x趑邕縅鹧g蛞uhN奏q寐侫弒OZ虹{ n々蓬軇脮鐷.拦i&_與E )纒Ax椤3;a輬A\賋d唁1寿D橚 薻襆8鬋僃 楧q鶋'93搛葺剚齽x勸!坉檙AE痄洄转JYBK儾J?k飡两~泱咘肚齷H袦wYN1n蜕Kn&彛6遫蛠鋴b#時序撋嗤s餿`篙c嫌k璿詅奔X幱Z!a @c8/!冦)趣鱨(氂=褝`曣汧餫& N孌'wA挋餹C攓蟆淴:-揢$h朠αW& >賸痉gzK阑s疳險碎,喉顣#Q5;#祓*XI噘姥:搧嬒<2Se2^E髆{髯蠏黺~"~z摟聙,Sp \蓃瀲g*ǒh臹漗;穬1r茯X栉*c$Q閖4nz7薂g:蒙p莟*,$p葝C[|借 (ZT{捯*睛 %$C7!k4.V:鷪*赤 跦僾俎6'炖磫|+o[ $ y`篙藹.嬃k垖B5o覸廥,0蔚腦u朋A檭"戦叽敡鷁(汞纂b緘騳H8依&ю?=C(l芍貐nAx绫>枾>暢&荝2菥/5蒘噐G,N #`DWL+FΒ 1>-xS_顮)f锧hsu;hT:LA惺%鰮d)~9+|皨AB椅壝8橊琟(堈 脐呾畆聖虔BI穩屓 (h;覧\栴滍<幟賂U跈熎劝◤漃6鏮莓o F)B紆酠@>噩 D繀鋉g唠T質驓嬿蹉撨I炚J鱷 躮覝礝蘟d挕倕3V1恾敘钷pI&顺z誐K焊c菔U覎抢c惆8 ; -;f Nガ荸洅SAq D8?諽奊 鋐N 敄G厑訊筣t昁酌4+圼錏8j/鼺陷V昉xo5荽璏J濪;忓忐壍軜~~藜拷腚2厂 _{飋庀註 櫯2p5&閲C綌水线k覫<:J?Μ:#:鱘烲砹*ⅹ糎.r梩軨√癐迟Zu鶀葃\Cl4$6瞀鎚荦r掶蛯H賾僾X╧4h龙J3 嬑:802s>3鐜7蛫$橤1=汴H鼅彝&ZC*tf U巗篛揋啵s&S!,d}d鰈斐薐IB获鮯璫 dg葡耷/呦*簢揠腚:<鴝=奎鯒斎:&懨y葺>Lv毯Q歨 塟 -亦晤mz?;乮侵猖耨腨&Y-疛璟qmk{己&T/'棸 弼l溪拺.Z瑏d5\k单広E袚z 妗損TyZ 煄圠仭泿ih癭bБ)<噹`x詪s騨|孂]`氼黻蝹鑆飛虥w~琸d|焗缧^r-6%6粝遞簖R(猬氢kJ梴Ν虿誡^UVYd列VP驑宕 1囙鷔z-/G襊钲L"寱]WG 京軰[m傃襮鞌"=gq徐E潵颺 8,lz6,d椄#cj 鋺蟙^衶<俆含@{~,\耛9Z离劷鬄0膈/筽殓瘃c謝"釽妄馦|惧簋䙡jg兵泗)筨弡3鱑7痴奍 H鹻闋:o稀橞:|/g+覴m $砯篬 呹啽寃%gA荾8鑯肪>兗u.c叚v2D鲇9閃洎3 N惂0?濅)B捓$Vw硾$义抜o#犣K④缜+{ @r迎<钉v懞髭7岰.d9椾絪锾鮧x鼿捫n7-W'輛eZ孰住鹘詈鹷~麞彏馽裏;xp趸ゆI麨緊晚{橌詖奖唾暓/S2*i讋j嘇:p\*蘴鈤p澀'w萲吠錉k zQ]笰IKN-輮2嚔Q欜詶笮x鑗j!"倊鑅, IRs鳗胎羋9戭鄁B姜3R纚Q4 . 釲髨*z靆$,$销蘒6榙?晱纂g齷勲譥%窟捠顲O蠠?pv儻?o*醸a絤r"O妓坊.z盇芨裄W侪蠦蚏 鐗b崣p%q$ 酊e屯Di葘*p绘c侜邏刱;甕h镯X_莅聓45 枮m!U庵J万郶Z%頴閜碝 狠↑X4踔猠7a貥WKL,潷㈨p;啧騕.䦶B詂 脬宣癍2膻v嫱?|g6~?縥P鸠﹪o琋L微t2嬰c)禾Ip徭&{峤tI頗)眆!M磱J/壵鬗2鰬4Bs傊X?$眫も訬z7軰孋h3p浪螺f.仈~(嫧啦鞛籿衘尜嬈(钔弅!7窆Vs窨撿s昌/䅟倬+铮疷i飏肟_5鴱┡s熆尊処[硃 \ !M装g-Y_锣 $軩u 舤B[5蓅虣繎墼蘢猔hoZ>p陱裐tb v~jT愹l)怟G0Tu(Q忻*L#)WL俪\i`]妚GW她_N艬侁闠彟癲 Utヒ1"驆i 橦菡K鯶曾尶n鹁湶]r_躪饣琰8/lR\志<记吟>p郶瓁A遥憡^毣[译`y:嘬P 篋餁Xp顡J敢J簐u竔$軖0'#鐁_3>)窤K潙岺y/gU醏k袮篔"1r鱽輁芨%痡鬞设9=丵浺 臘衑f8O紲;vr⿻^'鎫沀躳箭'q}徠Zg濧藗餼JV曲疜郫熮/菂瀘鳅<娐vr冭 G裨q餴J1s5, ,冶HJ觋a罀-),砐圥誨Re$伶頣頇 9/e{掅j 鱰G倆(阬F痄+ 妀w艗鞤(Q %奍0 朤>tLCeW$=Ⅵ.b樂Y%幬Co_揆齱喓嘦D糧峯木_緒淝涃o辆?筡穒戍烐鸘轤涑@銐Z#膿^:8$鮍8韫n 箍8榯}骬甏聧鹨]螢:丩Dt袀n ( ecU噐r虷o-崺jd侨蝏銹 H'尋z蠞姘劜嶎葬髠0'J5Tw旉)裈齈篵.尃$灅渑訤wJ賲E賛偰熾6汋E问鯱d^3莡蠶x遝桘鼼XED<3鄼逧獐Q蓗彺淆豳#琨珞弍尺j 1唶DJ昜O 岕B焩 ば劊~^h cLM哕CCQ馜I=Z45n匛Z>N垗蔕廀蛽+ Zs 袝P鳗)J凎\署! *Dr刬Si5砢AB1@袱A襶釘5,暙枆赇@n彏c髟r:\乬0>3虱聒>蒿5绲飡裴=蠣=舫晐n霎帺髐蕓}初"駔49(钣q搐9A-BH( R岶B2蕛,.ZE 夾抯熾@晡推 nNB6 lR#韫o僬DK牗牍拹 3鷉斳殺*U0 8敼7D埪旿u誄G.檈殰j-B%W跫員C攎撂郫钡=懡c菹讅. 9V3張="颈飾狫 郣斲\8渂ゑ揫嬉s<5潓]/9)蒿㈥p'(墬撪萵G*搐禞W7Kb毚CU=*"赝HP鋽|7企叹啃廞 m庁c呖s2?!7x:怙K诲DuX赔|G鯃窵ゆ豼灶㈩BXAb奬d蕔R激=:帤 o咕 0 .)讽峭e倌逄p鯪>Vf橏&~揭塿絯R慄haD0C妎5Tlx.%yE$鳛辔N豜㈢譨黷挅a~ 葡x舳駗`木S禡革3 纔|wt哷酆煜壝鞬:検劉a贆垽觀")灇疲E25 赈q彞随e4LVj6=礓,u @嘎戨0P憺;棱}簛⿵R2瓚 M嫈虃<(V粜_}阰滎鸊H⺳利8N窟7n璵荀坓鵺 葂災{'朕WN;厲虥y蜴樃协繴鈫75 %)*観TM;E<9M 敧]碓o曹蕬餋d爏鹰%yj(鋒耈%%iz 炑U利 爏枦鬟踌媙楖}7?F酉剕{ :鯌$鋩湕Br蝳懸眼6gA{陕KdG溧K綢r鯮s"=#晿粨:2穾勨 Bl潌"蚐袯抹V3王*I杢尜dF厂J潖愒 肆6%鋠胇f綢栻,r4 #鳬X胬_伸莌d罠坋&絧肼饛:馝7 玘油_$蝹蝓.Y4櫎lP婆赠 塓L怍\&n(搥2階/L?蔨醤pRH噆ps;1笇-岺翟騬j寅'枯#黍痴扏j嚷a輅TDp4+杂鶼]0zz2(鄑-閽6@z殬斮啶氕卼╆住菑炧徝鐅N嫡:-NxrdV0K,#䜣崠5绸8景苪齷&3濆lC/Ta眛m誜&%閏8嘪傤3礒 v*H涌T肠鵰掾实=鐇V獦婦6{刬,|& 嵺皏諈m粲~媻犛帽E* =僞ハ/ぽ氪38y,绶駄恈檊b宋鈺鼥嶒Q#餽=忈 蔣漓拂dzt簃u@選0=鱾!Б>偐鈫挱備鑠P嵼{n}Z擃薑U条熹蒹I\褐X黥w 縓8逧薑婼5饃VV]j<+繂篷s伛沱q>j刉=标秓匾D螼d犒}得嘚彊<8E< 牱^噬6k5%7遥I9)薢0.擳=K, 〧4$巩靰6*京剽燔缧 @5憱葿5# QI凘仭y攤P)o,\{獙訨_k刀X+决耝^噃騗競翕烩/g1囹U/鑵亢绝l想奨\氠胛+抔\+盼"N薋袘璹娳#磟尣j%|謗摆Kb旽#{.,圭O熸IEr糜&U煺o 嚝v)寙J蔦i>斒d訣T8RV检@鏷跙婮鼛';ダ仮樼焵悎垜9!3q館憟#刟o(s6禚伯鞷R鯓~X0,8q>陘陸妲K稨m鑴饥訜唟鳽硝=袈2庙<%;鍗嚈In'敮a0 4jV+K喊 熑V稈`嫫磄v蒿怋a 姎n閏閎X7 崮8d%·&LOz蛻(0'"鍸杯譯栭p怶 砤}浸刾X4瑮$理09A隉窻з飵奸9nh蓦#金荓7陱轅]钦9滵藓鰐熯j巴$m凑,愆[铅62乘G9zc煏回衾篤$-#aSRG2蹊柗n柸矔 ,n腈媡/叩zbd帡f鮈士瘐;`P+金蝢N闁757缥q?憨+0X虏蛪蠳Iz缹l胧萰㏒~ f荆w燠鐥Θ&刦b0A8翠,鮥\.) 0埮琤:[LA1C!>9$a~SQ骎X磄鳮鸪袒+驩桪zS]Zy签L輙垀3襧肀按!9嚮悬j=//錅廵恩栨&薖嫱箖叄>z蘦嘺#艷CD供R#洞鴻翙吿r '#gA@6)簇lH圈秆3s 爃哦婴7亿竖*高咩搿S]y抬, 侯硥%Z粲#込Q2V箄a[郖N都睘^圑PRg褤?=犴x砈禟!$*醬腚腛菻H@3/$禨& DV%0g?S呝:U廉lAo玄\w幤>瀆,涋麢贄襟鯱/牺瘀}阻<烕跤2c娋芋褵轂亢 鸰 棡醲戄M灄='抳襧sK璟6着q縡3IdD+"gH)r苁嶿藐o蹬跦雳 0PY欉埋;F皾;hQuWZ川疋叆C軴颶註~z)鍃.淆岅5荟孢串咏哐p骡殖C 8鲑3 笝R聇罐畄k#壕e嘍D^=榓薈PB0+庩b6儚岼禃秅踣 u^=搸u6OeW蕍涁g7<铢睈5莧a彌3 軨蘾?苓鏼d1臼z垈sU;{?珬剪/U㑳娳v= 鍬鐧;vC菻齢BF焂—2坮佡珁!&l6縄脯囶o諰9 军だ=塩滫匑WF>9钰U.9L鳾埫髾餡矽棹逻坖颳踯筠鐛雗菸=秓.頵e=j軈莑"琂xl7 軑J殬C瀘^粃c縝瑍o鉽澣廵鏼仅?徆遾.V芳pF擺#`.抯嫀锷稞 阑漯鈴yC 赧(棾h^#牄3-咣 /雟肷YB昆uL韵M脕?!0H qA誟L!つ闍辊樛訙欢瑚痗嗌逡猤ⅵ踃'恣ル1]:|>飃-鵆绅柔 飹K葾K媫 鈬鑤峕甴褆<冚詄┉逽粑u@輼`'.靵5碢醐K翮刾`觢|殭睐鮚蕖Y Pe2*axz耹訠bs F腧 颡L,Lx 遨巛祜瞃q\齿_渚峄kZ蹁都衝"燼紊骶磈y褩淕y`G鄫)8p!棹~;セ溡塡砽件4 蝜m幬c礤鸨K;6敊,##X`z逃 丠7鉲s儡鰇BCOhQ)Q=耙*w趃D[T竪呺1洩Kl`n'%埂/%棤 顈\;;^蝋?MX4缂e乶!嵪緒=柧笾u蠱 g$ 鞻如痈 鈕!OU8tQR6A#p烫屈绳后侼Jw'B蚃╪汚c#" *8?`吧韲匘)Q$墹葔鯦$沆m_狘U=頕炠g#颉鱸呋|8管{=e:'哓d遚_NYRJ巂轼"`XJ<衎n;匸飃y炵Ws臽/E畞頗含胼觊0(枉劅^8!6,<U=勌匪溌9(H榅 >0蘫N释"肐捇瀥n膳跈駏CT)3┯u\"逋?妴#蹭敐噉EN噌軡"犽%淯Z正F _庆5庼槎缂=垡M9 河i&仇褣DL哋笽殤01侷廋誽崣峞怕"龉)3菙I娇胦茄憉8/I荙c^3沩:w%g蛐碗臻珧T摼豯c囋K弾?缮%]0 黺桯鵀聐鷻o<疾M>絰) Q?賌稃茞Xǖ仲K麧尐m d呕jB銐象?佻6漽pf觩c俌渊o蹣^儉8V呤:遖!OC蘚N逤嶘挹#鄴藦Sk,抯炵tZ碫 Y錫檁C焁1<鬭Z#z8佭觭㏑X翠淓鴂黲*/NQ鹐偒继缮if誡`ll讕69:/淆託 &玨鎆揝6n介6;疞F )y哲殰){吆鍐窥C蓅 订貂甶愫择\"娖榮?z.fx宴 {$鱊4妠k/膐,E熫*憜c奺嬝7ο鶾8M嫖Z$:邓 持駡^D冂h-鶳A!@J&尺(舜ー'bI 苬y媓櫲砶鶏]嘉稧F"A{證1m灠L蓈瓊C璛珫7guG炿Q-Z|辍/}扴N危Yc|繛"犝>*⑩廵%wVaV組彈┅蜝#袀MlR 嫣??釢劏蒱ibFv鐢$庥 al>燅窐,*SG 跁4 鋞羅 X縷╚K丘3@颹J.[魮棈S┻髢s╱洲d丯翮囥麣u钢黷欴a只H .DM儙 聯 M汧Vfs=Dc脁飪 I色'b"|!詖-;!裰粱*3龗=嚎嶄9-8涻2帩趛φ镝<潊5dH/㑇苠滬湝菈鸦跞夭@)汅舆 芋;g雝A8V''鑕沲垒"w'藎[泹Q惮﹄,hEьQg$┵6鵉~Y毾K唒禡鹡Z_閝+c櫸w-)[]櫻S:_勘蹢>煟_鑗p弫S渒'7G繿":骏諾鼻粫M督頦眆辑鳏g攮[z弪煖N`_湷璣P嘬K| \&鎌6$M阃6G:墓NK]绘G鳌鎝Ke眠潦珀yO蚱%ow6.撸_沁蹓"`珌G6绦{踷:0踃饮宽攫I'篦鷙r1澈覫B帧TU篂-騋掵踨c6忪I!曚纪<瑪wtA翘'M汉rdS$蔱h2餼敂o$.6K=礭t腧捡0Rb ╣糠瀤篪-胭G 廁蚾Vl@倨瑼^棇?Z鸑:猳僖C缂Mv%SA 称鰫t*hf殛r1ZFh鑌驧w哐lバ罣听0胺-T袋醵'铻1杙秘0g钮?煨遵7矦蝋2[]焣w蝘H"髭,&僉P虺 砵0軋贕8╢脥sP.t蜒t,TR)镅洰詷 %晽瓸莙衭鏲? t7+娑绌0帖廐堕皆_珞垁棍傐Lm薅: e掉でO饽 \呤y 蜊緍唟䜣[z魡v2搵%U虹仴\t0撺旚栜诋嘵⒙昆P哼&鏠-吺U野9.啪P %T嫒┫嶄n_o鸒0~;h瑪拣#?>怸`锬柢蠪@v摳sc酅膽╪鏲索⺷*茺灤柺Qn7◎{,隳Q;g舭s簄J錪n7D膒&pYh混t裖J_粲朹n鸍総彎u8榚鸒虢 輂+"臏i 済0愢  )肁猴3馱棊囲凜uU皤唰已b-餃槫#寝OF覰3I萄曤汻B_袸叀-*給y廡J》t垠煽捴FY]x紌;祝o蛵h;~鳄礄=n~滅L D毐G=/哉恂喂倱"鈐E" 8Z{&K絾6餛M罬;":┘蚖嫯nr壤擾"zK釖瞰.z术N陹з鬘r P髛t朕7~M嚒o3楧柩+ Oz提膢9<乪 淲堯嚻3c醋h服;$#疭戀膾欧h逦5笣罅黷~螭k頿呰d`.T迖J熑鱉e蒾,鼋摽俜,wMdT_[壛賂y~=鐢穥skG{挄I<,䌷錙!0衟b 渒蹝 X垀K钠3?e^褏債37覓8鰯鍗衻烖篝#┒HW△nW9窹i緋纜dz迼滑㑳鎡怴恏G`钳弰橓G趆B?Tl6茜烒[9鏒庆繢鳾虃搸4窟:乧鄼&瀦6uj*験(眙r枱蠉 蟙净債n鄘RSY+拐籇t 2聀#.W)O*T;頏腔 礪n糒艚N缅_闌絘+&r{撢sS|'吧㘎H4" "8茔癨橖贛x圷e闦j劺7詾庉$鬪q7宀┥Y 佂軎旬簃p硱d簾F艰蒑q|鲈剱爑(S庈w缻倉呺曻jE瑫?5墼{/W#國[:精蓠A 孎徠r变&<5芦v讏阎嬆九牍厲绒褢穾"2mn%;Ⅶ<: 桼Js貄$阵烾d8诂<耺兝饁s 玌e秪扬醉穎*x鰊ミ鴖U華 -篡抐摁U魦课U{岮=&8齉铵蚟B! v$ ?$玩遦r謚]G嘲iV/\J谆傊﹡洦袳*} nF男r9lX靡c<禽1g败琍渱箢W. 3q対茡嚣Mv "`跴熀ǐ *偔蕃A@齰誣q 少]\-茿|:H)S鳫J靽餎}媑Mi嶣バ[弈茿o揧=8 缿弸1覍`髅鍁F{:\嚗?減殽O_詼蕴觚?[3疙_9\燱:䦃璍54塻赘+;栝藱m栿-訇e95鐾4e壵▄w J":/f郘硝鍾2Gㄏ R虵瞼X塔晱骲'3xT仾砨z痰謯W)黹T;贸慏彬鲜昍缠徔 n啭\s笭k劔1驅D0粈 q佃焰瞘鰚辷%芍蚿5"胰S[Ybu^寡Pjs鈧*TJ.叜G[I媫粆欳矴^入](=?Y歙擫=暖o痳錌渨[創⺷盖煆!<亄0{價邍隬簍Ck遧r:拤)M鏋gg隅瞈噇f丢Y褛嚥O吇zV[>*濂rSz啹f+M裈vy刍^=鹪舩WNIU!}簡;裄箅*驫甼謮侽{画3橃 ?橔唞讖Y'0哢8叁;吖匵脈z{嵳\U蓹s籝僼v]蕼Z3宰DY,WmM2C爄铺-戞t偃鱗罕aa醨)=鞛摺扛f*Qbyc蕤狟0茵ㄕ周娋旫+" 泡m2Vn,v+@<邼3竩島^銏仏#j悁 u 纕%8 B誝洬J{9斻冞D萏鷅唰荚7E贮鐟F 9渉: 9g蛷穟0 _gG鷛2z1梪(噶煁︰"F=a燥Y^g.盉䴓僚(Uu岳m @+!nX堔W莉災by.v5o耺軷齧I!>迼瓸mwS:先$/?7鑻瀻Q5R磜hk鈜D]r魗m頊Ad铪╯罃D(b~-<^涴Y("薒{_^⠺瀬锄┦阇玼踺m,S憂ES" 0}On繼鳈4幋F轩菭{椕觟)讱>L╖E<蟇傥zBv:JLtY暘2痎绻鹱O`{嵙D腯U烸?诇繱DL`v夏狐ht黒祏韱0鰻h遫!hg%n樱G玺鋢{群&DO酋+F礩,秮V葵 M r8鹔U垦p騴K棴熇7邶6〆驑kt!鑮k扈?:〖秣f0d7澶9un觩祓W候梞bp哝>牻&]筰鎅Y稖尪5z涰~柏擻 &杌c%Z*桚f7)[o)蹾N㎞斴<@尦觡樭{菳,w_P4o疽}鉮6旘z忏>f1|耨;' 堮獩+}}f"E嫮乾wX嘨账Y陠~!0槝V敡訆WXE廓" 鱹跸U け欃0}Gd脻囧F=B`(*D繜蕙髯纲8<昆沢z讱m忂L碘屓转m=9. v恊ち#溈輮?姜諁P '蟔7O+ъ磂 鉝jぼ啟懒藚u鲍髑#T/#`$媧颸a躷燃閔蚣滪}罄['=&7Bs奱Gw|蚢" tR;儻鹙嚡AQg噳H徚煥砢ha峐B_琟竺匨蠎y鲦5矿麊~^醋\慅;寉#0A袠(榴厚\e/NN諤l#F跔憘6 %棋d 2S釟;謱0X; 勊eN鶇#育K)刋sc o庀铈乤AO婌;p硝 穥D@羮入N (G务4p2轭 脐粔揧趉I膲毭[_騈_荥靃w3q)吘G7环0XB9祖<燥:3$c潆;$铊n磀uCI仚4/%⑹萗F@z?媚^墅銷鄝胉+__ TSy∽M粐稃v)4鵔极N锿+酬g|Lz0|{w褐o走澗x鶛 聧覊蠐鎟鍋翇嫰*7w故l塞ND@嬁>咤腽涾k?耧字溆<";珚M:呢鉺j壢痾燧MVG飄鑋wue詻S6萳鶯蒸eS-X鬞誴?幓牦烽7锳泛b!鉸T!!鏬铩Υ叔 +薼染 蝾RJt] 櫅G溲GD8w8燌8迣 .彼尉謀魁鍖ぎv獡W礉犹巪Z窷袭转灖S牰鉟鐋區福趴)玙}撙?&z鴉9NB<沉7痪>/肤~畡凶摂0K#QsBG薹.<張}忏 Z/6珧p珢hS5xg鏃]Wur 禧iy;缜{趁墴嫺犦.茫讄哗w"扬X擮`粑屔*xㄘ儷1阯鰆Y4@R梼Gy哓yT'-=象g'魥瀲~佭骼罸)癟鳺旖瘘搱2务>x 輼b鯔艄"Az /w画@膥fTФ4皾蓯缢} 翦?预)M捾K飐弳繎 鱜褫 ~齭F罦N9喧钳闆醻逭w=-豋衤 錇O笁~赠4]郃zpf矾蠁'犤驱4浣9諁{?珿K?徹Qc鎜i灹ゐ+鳑横=悖U 褺櫹>Y?孶Q暿9n9絺8;Zg觀恛蚬(柠H2E蟬#2镘7事?皐i$曙H蟲9u|蟦=偰踶陋Cv*d髗倮㎜9iF绤恳QV q謷╈b羐 ┕檞&堳擆鵸案痀U凖瘗 "7醆9𕹅w炷!捸ud又 孒麈鞇僮g蜖绍漇qxa硷7麼昡S痭M$(├汼4齳㑇+聍喧┇耕_;r俔q鸅鄪灎*傰#z;贜s傛狢僃菉|6)埀}轃:怦荐觲~莂9煈f镱nb8?;圠)3W"Y丂眠樃I=crK:M噷P?;:鑁斳仐鶴龀鐝~鹕w 璺晪嶼亖SNGDfm佅鰳俻埧XG|wj郍軅N1畘w狠袸,#`N%犋僎46餕螩6$ b燒X 醱褰o扚%H3鹀鴪渝"z西F97册傕鐳#c培葮狺P嗝彸3n嬂s㊣杩S載膤Cw摸號&Q鏨饹鎸杊醥T詯'P醺7肋熓7濶罷潆}3yL冬部簻賑鼞'抨咓F9橦廋nf尫9鐯汭p輖飢C责葈a)i翎饕鰕zIe1焔]K每褒娢V吙輫垇':s臅 ,鳌雬`聪唚ZT樁,In\!;8 郞]駧2}玑N>郠3x(&捆~s硧TI/g(0gp矪ケ鍋嬹1h/襙yloQP莻鬉╆o|┾漄嵗( ` 佯兊o鄤鱙鸦lb .?儏b. $循s挐廀浽芲鴞鏾Kc閛D@吙郝P#岮躆8隇o`1毬M ⅹN`逍G瘂W(^锘渭眏W 8醐-r徦客媆烽嶎铚吐W糿阘銳t滵!+X錶芄 L澇哪}鷭趑~ i=睝黰x 10x翘趉駤w敉9g鲲扼廽3滷垴觚栊*辯A惤職峛旤2e 仭7*藬 f稡`祴尸羠[壅J籾R輇T<U1暰袯7啺腰%37$呔佭 嗢!o}墼韝腚s皪)zN韗鳷獫鐧搳"題3熏I/莹m>$  ~焿利緊睲H5G悽莓褬]虜 揵N聵悫h2p艇嶵尤翞哝耳U0^&隒kC诬嚯琩鶛隱7r(&喕N詿f5`讛巛攆<3潰恦)Q|銧鍯崑En 輔A蹤t鏚D{`鼈橰鎆 忈爙曃櫸烰g<簇 f~医&夂Vb紹氰E]氂q$"堧嵶?h琥>}Em2僣 粇'I緜腀+^TFz pPzZ7火 }p櫗団b乪豂篡肆<疡貺G1+&阷>,U霠恭詟—项巶峟轮h潣櫹擭? UC齋堈4w绯 vA9嫬唆佂e鞂 07淟吙_扰瓶冫翬讅葑楤翻莝w牌Z瀟雴c稓妧馯傣C-韱冓.餏 籤尟鏃粿M'a0萞l!顩儕餬uY%j('鄷W禎卖爇缽靜e鶺\孳=?$=p烠揺穼濨瘅L 糂9老`;攵鱮&F檸 W悂肴繬徸D繦?t3詼擋闪z倾絧偍m ;n势幙~輻Kj鯕97!1b+B梄麣v鞚敓WG`;!W缯zpE渟5h筬综#0_灮邏 禰`徖蚌郯Y熺XPR W灬m;yC 7 9&$@琔仜溉\9_緥0⊿騱鄒壓C穓泼c/PXv玲ヵ糂E庆Uz╋臌o荞%{'聻U迆叛飌緮d詟DD宰!莙z/掹 r3闷隓颣爍&jY6*0燛犧o 揲/O魆蛈u|祄癶麄3欕b迅Qzs蟮7(?q F膑狯阽`8:骟.n\ d\s 2'巡彛9伙楈錦埨竣逜櫟 璂@gU 4nd郳(猪V飀葐羍<9h 陙>.E*c罥銃X烫橩3+0NZ朷1衟q撺(. `黟柅厗@7綷楗檭莫ve勲灊镦謀"爯an垸>7-=蝮<4'鯮r? 铧6嗁懘WY% ZGB舃s瀙y 累瑉訂#晩阣 ?#j樮萑帔`?L=褐&s)エX;,豒êv饇|岠斧蔮闐9梁謱赾侥 80t菥髛頖.咹瘝no銊 c'Ih鍴1~0妗M敎'啛zF鲜鏧笱鋙$BD捃夽纁震覼K\[,Z笮9q飚杚醾<+9,鳾鮎cE9婹 崨魡纔①0sP鸸Bd婡玗G~盖唧fⅱ鄺R:=饤姘!tUr衫^_w莌0*須鬀 8璭V毊睟p礜昧柱.炗C+9s合抡圸[\ ⑨鱔#孖`额Ii石鱵乱7Sp旰X伌j驋飢r櫱燥!P轐z钄怖dS佭櫸剤)u綻齬r<qf鑘g豷8术u冀闊^=fK)SU碝eff籍8坔剂&=;蟟P簯湙檚Q櫻rm竨鬉沇r鎌踶;臹躎亟&W'鳇B⒓Fal鸴蛌q!fF2鷢赩6婲v+}騱J閫3F7J郳戞剌 7?ぇ潮枢cQ7qメ稆叡^販)鄤&=t肻礛K}偭缝2筻眽0畼)眪_l蚋樛 }NAe裀4or璸咫軞筲秭<痘B肣/k鲲R磏+垭稦";?kgnH3&捥^╳L 啫;UkN鄅g龢劭F8鹱8昀鳽椿E)迺M盁癯}宖a卻轔i澴→繂9D勲簻F霽鮘^歌}诠}<7緃7漏6篝黇涰8僫@乔25 踬薃鱯S雔6厒@@ ~求4褹)ii续僡骒c嗒s鲆!羸R/飊c悼 娾!臎/U脄 笸]勤撀獪栫.括 2..蓁z-崇鵚祑詫勵 .鱯Ye g仩u6`2[蔏 87餡蝦侴25櫫苟w'/砢~簓 7莔 篁8*u褌fp彧0g}5 .躲o7穢)^噜@敳盖咘Dr疤a魵Lr鈓ǘ猎鬙=ㄟ%oq>"拤`愔鴆[*Z誼υ馱我R魥羣擂_E|n;昄]醇圾 费默揔U堫䙌%幢;V愡臔桵^*笾D骄馻忶<{镆:酀訖毮衴&汃頸鹼(#8瘅2N'h5S捆憖2笤帵Q華胈死虦巵?E`l1p}2袨D欭ㄗSl鉨h%=黅<娱7黇E(V擲AG潜琌tJ$凵P衉椵絇=镠裎奂燮g*J晄弫固 滓8,RW喉L螩潜 修wz弋瓥届3 PT:9瀡&&#麬m_7Д}鬀UGj請簰 Zu勢撈~宓虍蛰柄q繍dt縺$n| R寅懃r铌}S=m瞣蟭.鸝)潐yON歟ac闫CB篇=嶤6d4$鎫G稃捹}s偨3櫣L=*X葓 坐坻a墎媕8`N渧!ヤR押黝<uo#\虱鷼芮辫o衿5H3慉Xf鲍桴(%淽 :指cD@ハ螹Y犸0Sg: 払ekL<s犟/g: m3ο簽堾0:P牔< 1.z!g}鸥1* _Z陠+秕pQo段Fv鐶z稢 g懽化瓱繇皫粉妛\唽#=伅,{)婼0醌羅xr紭r!A谤跺(虝!W桫Kj鸔鄗炵 1Pg啾訍葥f}莙棺籽uq3el萍 N4WQ菳珖離`;贶嚚襵葤僑皓s厂 [c瑻霒1裱iV2 喇3)&]3昊8犟痑T蜑塂.丁瘝夎6厵L{T鴎蕐盾;/p斤"pD羣繸#{甘秫橚~梭W圍V 淐#嚳摭xW{豢p賤聹h黅Cv*cE檇澨汴Ko$瞩唤p騂閁あv!/衧?㈦U2祋L吡腰] X!% ~f=e讃矬\ 6K8髑馍0j威UL橁怪r旗TfL'#'?籲yWF曶!rpV>%玨b@c兝 袽vB暂X椑*釲=3O俄=jエ\'倱* 錯#O聋嵥N4V褔揸幓籷=g3髥E蠂啿V: 烏oJ!猈刴紮縓Y何閨#;莬耷v}2X蛴珢垖OHS YV#p Iora鏈 u讗Wk,t岭,ε@愛铡伆t呥瓏眚禄O κ祹O鄍3颹g*kСqIZ肨輱諄格xZ澁w棳铩鰚/掅蔬= 乨#螩/※篠億菾) 8諺媛 @啪<I滠 yL??質Ⅰ踡$騽v楋*冏E鹯n6]鉷O躼#Gj&vf窇Y嫜隢%+勶讝嬭T'箽洜0(奧d軿仴玍就題墮窭9!$(3-p弨曈樐灨﨡G_鸔R洂k拪)銅W甪O8苸_膻b^(V?ソ6`坜+ ~~;铴=x蝈臝K#q雫z祖+殚鬈}國3MuD@p渼鶓禯k銫踔矶硡弧k銤2saHm79WPk9K績B 诮0oV鞮邁T*痣yy憗觙J仧5'"纚磲剑潔仢9 煬飥99D梖馐kg阆瘌9S[eH刜鑉8臬n圭y(磕蘴 "@20Wf葯 C?删g9鼲廷傓鳒Wr&罘麚欘]逛閱7_..緱惺3﹋雒N)楓滸纑 0柑蠓9晕`z墻遻d鵑帕0鐍嫄G缴优揅?怨*-柿圀9xF@蕂腗磨8 ~廮鹳穝c觇罪:n|"k} nL驙tj袿鄌茨u剡⺷_?狉a㘚?z蒇顉镟j匉qs 蒣t畩墍h# 8鹱盌繯Rp韥K`x鼤@攱`臜]硂思 /讀硆鞀披厪8璺*隒A .洊濾訹訣26驹>诏,勍E斶綯嘆嘤 诹清8醻滵O擆ぃ鞟pLa倕儍 XS垐}F楩u匦W靅已更蛘gT趍%柣-肴3斣蟿痬逍r67怦.騈禞qNC臫呻rV飤籗躝Di&x违喂?<'e(鐦9储3=鹁/t馊膄=鐎t%9冴■熺y驑RY酧οl鹊#峦蟋旓j*貞鑏a'nI窰C-YF尧鸨C掁辎雍瓔鉃潥狑&S*﹃烸 y 0堃茳5傒鄐?鱭蠺< }#" 6A@48湜怤厼 珂3=! 労屣 ?躔葧X诵 喿By裏b陃蛁!湶"(+頬R鋈玀摶>溑W9寃}{oD>:;冲>.E続鄻緳EL嬮 男矇\黺 "`f橓u囡刣9L冻&惙aT%開顐湡袣{B粒/=p .!q適硊7煅 芪x胚頙^喷渚梦E嬱螊袌[/sg闪x鎝l嫺冯?涺聢LB瞐F.聵#5 .䴘$2渟?8@慨欉晴皒^丽.容+謬a侖5|煳;7ィ1o/黙腡Inw%趮&d罚鸃`3囻?7堸冭泖<~﹄ u壎F)#悙洈1忤 U3跁g 2緝:嫁Wj叾鞁摨&S痃=u5巯嶘7飴或B7昣1/胸_鴢崞cS"尴4愿kd岮饾W粙駖?鹖i餍BOb92纴梨8=|琧嵱?` 叕帀<9#鄻縣劦[鮟A(僮f2p蕧鹫k@仂u汩楅 %獰>齽陗n珱緧+富4鳟A彧u烑备菾璓葭谭縐_燪 迟;x雳~簓鄳兓筻犤.檈1_4喙灖g 桧疞骱4匡@燪閡s芚鐭^嘨鴼蒻鬋璕|骣\:跸8龣盱6L=漘辏漼嘮+.D0樴𿵬*虺パ駊蝭F缐@棺貨悷焹t碱k0 T'聜H簋c* C弩剚蓝峓C 硷嶈锅誰M渟fn9)c`洎再 鶯挻&$螨躿琾迨&脝墂脜嘊?绢壶-籹钩泔g锥喽n!+摉@喏 qv溎佻1@儥J`/帎ZJ間g黁_溵3]肈nb镑惠刀┇惿0Y4Yrr`4鵺鰯千e侶攦.u暓!絢6?戨頭祋as$] 嫼b[/@}>B$z楐0[鎅;稑Z躤篦5yZk彣燜偭_桋象LH:j^獃=罫_菵"敷锳 B墢顲葲|6O稕Z沞癮$ 鱵"出千珠u=P瓜漕嫼幝た% 8衫麒 -P﨡#嗾cVZ泄5u!埦X6秬鈣敘g龕rD'基研竳=畓z5腐kR结=tt4:&勻aI0Zmh瘌O穓焺,g鷣迹┴YH試囓o"軄.嚁"靍_廧廧輩UUC蹗#bT蛇毦虢宅邻8:GF7Dx>媧r#垌 M鯕謓Z.刼| G屁╯0憻 (莳鍁+Ab嘹S7!!鮼@攤h鸢 8?<B\A+%锷LA疥'JKzňc1X鐀NG4m 莿媭榥5縥胆\6溕0骩f魇坤 ~"尭#M)\N4i汪cZ榛#+t%C ({幺笡g'oI樦粤+犖d痷9o)O猑啀魍s0弨$那$鱶往9w簛杞笩5岳枘, np㏒鲭嵇 nu9輍羆'昝Kxd幨搹")xαx乴 &鼧G汎$s酲<7頿=#瑣ha泷戝7╞諉"吀堗F趎兿>黥 sv<妉%譹k仢hU釥5乊w纘Q涰e下H牳坚嶄!祘给檙f 蜑漿& 鋨$徑魒 -=铅'z闏蹗賗瀲遪捣b]緣`澮3,庣Xsd睍A弮pk9&胅 葕 #w牾郹齂裕8蚼Y[廓8蒂崔 f悾靰伬廎k瀳 倬""a緊i4D彦q窘爓GKw瀏)濉Jq;黨独s'邎kq儞稕梐VJ 6簏vJ,d祝帙隊茳┃1驍%宜d]孾鄀o3*侤X1aD@j8j绉璯 g伻B8O钂z袻鑼蔁瑓 緳鷾坉.据 Z蕩 Q咓賖a蠸谚cH1M\W%f|U坑|l磖飱劘Sr筦!杫霥鱉拡羍.QD]"絑al$M7?UC7晥RNu=戥 礼/@"P觜埄_ 很蹠*艽五Q 忪觨wW7:汛抜%黁 湒mT顰[^宷?揞-痽騸訧恳籜p-òxS!;[侌帋 p储諡坆i踮j 邴HZ-社b捶%猖v伙{協v箌w矄応yXZ戴^黜脉櫱媳a烜䏝_5?罬 @A3-0該7 P愔勩 " mEα$椅伱砡對"{pd8NT濊y]劬p)醛 獓"L倿`o鄌||M> 57灛Q 頣弆踚=徔l⒉帷**#鼃+S 亀鼡蠻;3栬嗹绅窱锡^/F躿N峊 Y覐c'鏫7h蛁dj  jX38饋{F噢 q_`0qW=鱿}G-洋瑇奚H泂憰葌;:撽f硦)鐪嶢誔拑KQ,芑佱n荝哄覙嶯$o 皌灶F梤,4疁汴穖dv翧萹:提$v轪WC揞聻8厓;'阜>ZX堻y#城詸%c汐G枱嘽z:A馵驑xN$鎗抴s杲白_[邥韡G##Z厨%;(居数\:易翸UQd@ 偫Npd&鹿a"t谋卯嚜褽璐渓 R跚髱縴敾蹧釥N抙^9腧a觭 乒兾 C]敌moj旨Y8籹&鉱o鑇聤佫旮 -pZ]j隀萨5sezW"蚷-漫D`'闓贛>鶼2V责c,暎鴈s,~1摖膡gs~T蹠芲w馢霯鵢蒋鄨Y蝭i'N秢鼻o鬲2酞X嘍瘚恞Z虜滏#\(腊皲U7<嚛谥w漕Xe祵lDxml镣專P罭)輲辁;梂毳Ft椶汼軇p&聰>槂概JPMd02sl &鶤>讍a'摁蚳qC⻊7 羣蕄朣闥pz1+VW贆儂戗N鷞迨0慍鏳5蹱$R%$浺4 -暪3ま5佊U蓇祹晒> 錥MX奃犢傟{枽>sZ毮襵求(K9 巫蕬o镻B瞾鋤榦8鷌敗6b覞S潨9墈m秄5渔虬跹C薍儋/&杅韝協,i鄿峫Hz&騡.XC_#俺狵G飒綌荳 羼,皒侭l伹z蠙ピ衸I槿;艩潃Xk)菀Ne剎D7丹旛;媳キ4m赾6~跸嬎6泦"巼8 楖リI蒚dv9<豮_c(儜汄仸fR螲咣SUAZO+o聍z攲Q褉纤隂E?懿鍩m@W仿犓惑侥齠 軥マ;躸xS鮍|S黋'9腹0,*5岪户顇3*娻毼.7_盎氲CL庰鳻脺R>櫶Mb蠧枷利诽y毨2U皢"嘈匌6 耀?芦?位畲U'玓mM灷 瓝荗踳t\{爣謯f碈 п'A \棊乮=<;3scD楦1CZ皦? W蛀/巰3wS{p/#0*璘L凡@>韲ph鹛墑Q!鏶8簪朦{WS錜屼閣'jT' 嚞漽叻笁5|(籗C%經@n q超K嘩 8{易柧 t党芖Dm)睉8床睾伩P)j1Pi⑥6枩睁<_伬n#Cm闚_w?0賭;n娺4流5頬.E妃^:鲦 ,{j{i╆Q$蜪'娫 烘H_渍7=罳-鍼2鸝+探蘺暠.9 驇渴T蜨*坜п@氂 蒬奀磘爋錽@坝7z6c精(B^=:%z姰Bn仕Y戊蠦 c)潬:2 YW簁U齤T鮡g缸 @ 敯缟;Ly\ \!0d啷 ?ie挏-/y*駧序渻蜀蘻撒5傲譑6蜺Y1妃裞膝Hu/z樠眗朎跐z仅塰9!9u詊毀莥Xa0濠瓯饦圱垓楹 >鹜▎?咒M樠23壅/+k,褋N橂5夸 亨}露~2n炀z1pap2';*⑦M2q堣i矞j夿D/┮鹗鸣\nvプ拒犉宩x P:&嚳"鳾[o|骛噭d l6*Rv貍傞8<濻 {垂n7v褫囥臰z嚇智橏济畋 31汶亂-甡鷝獻┩崺-净*11*襋tV)F臗L澺泾鄙羇:珘趁犵Yc) D骉畧@乣7_q2襲靻撜!#'滲%虃9瞒{砿 |o鳿|A-堃獯 ;6g炞釣匭+獬U񹛂墽刁4 䦅俱愙9,┒Y+輋彭鳰3潹仦鏸7鳟佩T鮋冷.笟倵LF縩鬰j侲`泈@裧9鳷l槙诀}O謴 顡皴R *qD)絶脷u魡2熝5顎dxV1魞胡\"5磓V臠-s@F$銤=檀p2w躔 睫Ww \跧g鞖%h;2棕4飋葁@* 娻飭gJ炵iol+蝻亄K拃踍1譛蛶櫩胋畵俞5Z9s: 媈纚q+1x;7#鹤#=tqq喪0鷆,!悊L燻0)q%dまw\?7T愮 *嶯尀怒焺啕躳 An#Jn泡Q\07诺b差GN噐=请sl亙髣i!鎓& {i诅 y齼諱n韌E0褀翷鰅U!尓0HVL螮p{9=WW晲镘&釧9仙:樫跊慶*|#I)H.1c郇OY晭炞A偶<&>1N嬞踠=f)jo9囀驘0`^湋ay /恰'$@逶彞嶐<0春%BrOB燡Q=KO嫦#=c牠C税  a饆杳熋&E始=d硼W繪噖3 虡O !L嫙抚 <梎硡:9迗Y~悴J?z﹞F:e*啣N裈q Oc興+Wk硰`Rc=渕蚘 @婺Q=`L&#P:伡>w闶鱑,@%fU砰箍灘岱迧祈(闌1#▁H氾0g@[籢∮锓l5戠腷2wR-^荷~鍿象4'趩$1+z﹛故i猙赛佡譫娀彷頝@jI<飐?i##挞僛/堭絔n襭*d郇凞t 9O7G冟酿猴馲6Tp闳趗.Q輺(浧}蜽G 驛碝J\┽0:9枴犔"3ru塞!4s|N沝Bt鴥K╆蹗aA囹w% 庠007潮祁$ 酪1卶︷l!:>f嫮S嗐罖`pb卦汅賑T浂;巧岩丮;U2浫n 7潪萅%{淽csgοl呴雯劐歠孲+黗nj7D樠*耧阮嚻 OE劇/9榶仢j5偱斴嗦?栓C& 7欣熚 摱$晾vP亷a槍!韣陣0砫`n=搁_ LY5h衻E棺鐜'魢严奢Ky纖{佼杒禉2xl敳(冁`[壢鲄尥]愸鱍効牒>c]壋蚌w;鬦+尫 ёv+;裔{}塳/?听) @具姖鮲索濯tV蘕粁谓衠噫檢鈗9速爬 瘏@<(;餸'i?嶚~'=|ぁ鳾8]3鴜㈩C縚淏忰霉򈰕f跰喫嚚唴綿O哆t5郩鱲m讠逿L砭鸱罡痃NI裗L萨觑攭妗莝噖蕆`#8 菙 攳H轌!戾<縟!p鬾駉&D篙aD㎎L(瘰Hn侖嶉慼}}奁_=谯鴫!醴s吝-愷WhB噱j]圕I囩鹒/5 k :襑!p奖諄" Y忀ct T嶚*y~'徱凌麦<廼4m,呀q垁7莉'2柊^t%l鳦$I_虉囷oO/甬 me`菎9tl缮襁X8"w熾馱iB/bU 京H$a駍锳ay)┇T9qN郔V旖yZj貑ダ棃#.鍢朝P3Hv裦QbF颹0\梊 茴0媹9 ?`3韘X羄媪脶鮀僞禹[`颈]J樢撱黴pA圌ol镽穀/娵俊йg軃"&N汦@7賗Nf恳 楞罍+忎蛛蛳矋葋}:F篤r:t流緳辧攵p'醫D 丯P滥詒鴎^Y 噧eY鉧璂 V║q鞤 3kUL囱9`Bc0r趘|B纜苇4_]遫颪4帽 9>衴鈈玗 @魼]Fv鏗9坠糚豪辢侢哨+衛v:呰_**& >|嗅腳 /9踢n4n瀓枷岯F&/Dd筊2醳t!"G旃A柺贐x洍豓蝰}3s}稉愊B犜讣 z7@芽唢鱯'w醂H饽U諐惮R鼻/NoP锅NP譤YI葬-h3:凒冗-/S葞僗:鑇{锣{穹礉匊疊l軆薆囋]#{緁䲢堇笏內0'凰r熂擕弆'黓洂= -盿值8Jd@Q嘪计挐_\a*蜺惦y淼e 貖亁g絴Er Xq~撪|W洝or図茏熐x魉挎='鼌竜b[黵弔以?-.Dī駛9p!"qu!N,珩鼾n'ǚ;恁鄈)0郇8K焌出 圶j 夯7冯@ 景S 6垃q6`?樗K78c扑?迤炃`贑ye B着.aL;臚M韣/镸sl3蓬 %闚xW1捼旰z;瞐龅8妕柽o}馷蓲D"41 痧|c竾p@裏/< 槪贀淉=駀_脀7; 坓o'襚琾>qT{墍l',饺i殶,+#脪婞呺镧 6墤鹨*p8>妈驒沅K錄}箂磠@窜踤]而RZA(茴詣滄v跼L瀧w鯊邤鈄刑/!嚳p巓睡弫?W蓰臋掸垶a嵣?VDGX+M芣藧=f]a塘庲/c>kA@2塸8簐,/+餫z'鴣沁B鄛榼惘GN.溵嗀杢龁=;<;%錹麎镒P鉔亪 C 庼仯鐦z>⺷駄刢-C^7緟A9铼蛟yE}>剤豉X 7g矸赻y 惸 \ b8△衇&J鎺*)剪塬('( 9bfV>栥傳蒧_XP窟o(牜伔渘kH A髟vi+縞眀欂"!"!h;姑嶈`89V!呢1.羜巁 -䙌繄H侤,捌P殊稠Y丿c□?魋g減如CМ80鄾漿"~瘒r 吝#>l咀W5, `f蛍))櫢x郀"幭/覃間揂颻)嵯磁@琽T銀灰姬7" %}: n?麁6 曼Nli眠膲S縜~$虰棙2 0*宦" 7裄S癲X妴 搪銏 僘-8;揻崖娶献z_酹$=2o?賆6酓Dpel=鋊蘎VR?1梷盕焮;4㧐2t灛琬魓≮毒絎3?0竛礐毱h畗1僠傕/&._譽7G喋r`緐龐|<藮=\芸添/dal駉蝘1班K?酌醤y艟曩{碉夃涡,~5江塦p2鞬迲}~桜a吚 $*左雩W鋾#瓈侕丠怯`|R贅飲J;芋X嗖/柴 芯祐]鳑僓輊0Wr)萺#鄼哲嘎_p懥o┴w臾+琨液8Qg 爴轷雛 鑟胡Z餿L"N9琰釪胶満辑akK")\hK釪爔淡yV饽 萱侅鑨#)礷:淑 ;aY伂象<b睫V眩W綁顄*B飗o+H泹~c韾厌O柄趘q醖TXT鷤核o3讖疐跥@蒘h鉄限踻綏龓$琪芡;@墍2巌cx`|p$ 痣藘/饻 縭O A龍~怽a蕒 +笏秃湔Z讇祏,Vt驽驃鼉#犱 励R袽堌佢 u顩5V$r癮桄蓀 [世 馎D+@企2崝魋蝶唨媘])饑/尉u X93g 嫐踳+p \9X'jP1铆汍.虢铞媔[9R''" !鐂4黆鉐$抆婢铥1胸熛琥.v菃!骇轐_鱾G紨t筼恁谎u0篪齢唴;oA 4塸/A鰑y3鵐c崃0'现}j╔药+脆{b譆?j ㈦?圙D0,N鄤 t"~桜饁烁bW-< {尷E5c^ @]X"冮夽?乊蔜f峙訆q|晾2~ 迼'抟恧2块颣5攇D?:3坜W嘠lp婣|鉘舏=8z8煊鏯Qp偀n闶4%0襑 9 =螩=`坈憒⑴亲!珉.Z*頿7k@聍jd瘜嫒7>鏉Q⿴恬O*"/俱键玶pd┚(諌rNC伝緍J2<W-((Ph;>X樠"P5檣 I鬔\T \@錎z3j诮a繧嗒E.譽詟p娂逇缑/g`ッ 8C 鐁poe7旖梯 r脓*砤碰鞿埊嚴@a%h-8陚7椼*穝/.螏X摢㑇 Lv罈雮罿*鰁0銫?x箚頔V伵I顷x綄a麟彘嬧渷峒t帄レ*襟鄺+们鮨伐>2BEn幧f?穔e\c郃2;N癧"!?鐎7曹~{F(3%麦<@晁aS枨蝟l.="惃9 莛0V-萣6fq/+!^oW醸鮢H誠垀3f噜=坶,賅f製 ,緩鋫`=㱮X纬蚙磡2h*牽u雴乹b鏈7!愤瘇:N叟豾敍猷沇革{+艺^凝-孺毯譐sPG~蓈_鄺M疒}帙〔v膼笽D哽R坏迊阸J荪螝%讐耕L鍰塃Y\q$i楜 #J┛禐D# N@哆雚e`[/檿亽匴勏g蜖氢<:呴<d 差#澲  (B 櫵]-猣ⅣFY諊硟Gj鸙恝0だygu3 皹-倆j庭U7 6鬃d~岵'z~N珰輩b 邔?艨Z 坰驇匼+s毘0l礼饍﹥9揀3崁[忁夷g6竂~&;墲s]t/o3佮f&-i奁袠榏9V<尤l`9橂~>峐P瀖!- 荴2N潛 ◣濻獳\vd詥$:熻秏丯2で+IODR<:纝xX渥;狓贸揸觉涌N偲炞B/莨掸杮1s綇1稀qv颗艕j=彾袸,V湨Ih{ 媀 t頑螽媦2,|鋍j[褄樁S 鍊囥儅宥段菔┪复s蒶鱠窣阯: go;建鏈蟬>覟綩錓u孓F幌〕O鈥9缥!饽9邽=淶)嚴弞DoW杲= <`N瘌驘~ ヒC%昳剿傤5燓'褿ゝl=#7 A謿/`1唋誊㧏蝖 橤Py悆is彸迌甕蒛炌$集畍怯QC`丂rb泞竭l&圸&2?舡(0E L翳诋uf胚致呭/ㄩ"鬚鳰.堧T媨%vw绲鴆<ヾ黜up洆滆k7晊計]鸐菑_拤浕4S硦# v#躚}a鏞纳Ls癱胠哘uPiz憆0霧勡誸Qっr嬲豠J^鋅C{灹g_x幟蟒/wLn侧俖O鐊 .?]R龒釡7 钐醠?料щt>:殚櫉u(K潳=齦[2'韙承傲 U^侞.H䎱岝燵禹 執w[軁橑*)*䴙nW狦V (v!*OF8;纎e_0褪e蓗}杸W痼 HT 暖Owg 穗6%鱵B?飘m;nB斪 v; g2{:N猡璲\ 哕炤勑铤谿~4舷J+趛|垳颫硕釃i;y򩬳 Qb!}3⺋繅竪护/r蕂鲮圽yx2鸸R菘k.>7qN饠'囹/pXf)嵡媬W^ 婻谵{zX䴔紮4u{3鳖*瑳愛勦K蛨边m'v漹嫴熔犫) ,梻=f檕螠{N紵缙9Y覡m p亄锘@匙铎阮'$6楪 *p3*0m硥;%寗慝擀维钗艧羅`x苲蓶屃y騦生-]瀪閖瓝 扈砕菟N横u肦1厏7O斳=洕T廜$琠厔吟s]蠉HbU鞡(# !邶柔b閹=閮T扲"P肌O&pM簍霥!65f淶ㄑS m49羊脒(驇=鳞-|a掞pQ楙h鄑\{畹怽0鏲f*,k {o湦!唄娏A噻w.Rc譫箲yz斫諾銀d肁藭v弬棰rp?坽誯:Vr0泩eg尗nuo掣p攓6孜洋c巚澖z:迌kz昏W魭剫$碊%(4M崠潀PG稞瘅s蒗!E餉鄽繣蛐 钢z烐<m愙帠襱餩軝嵳9olD湀;餄g=睜鰗颹䦟d+錊C.]:嗨l诤w\圽R\莏裩<僩[篚W诿2<"悾4苒L>>JN萈,剎銎~5蟩殖 ^(x這屏摅磽~a8殮端穸鋮Y覭`W=綊済 >栈: 肩&9&+5笅垿鴬\zci僴'9阜Yx 9v 蒻籂饞埆瘟i9x異冪佦qWW鑹貽f颢耣驱]蘃8N巰g"鴮g9紐诇藇 h7徜搛1谡灖=0L#7 4溹YU溋_c銥G uX= 鵾>逴b(I#e`z垲v噆叛3肰'r>桩朤免潬ZJ '芀/岄爻WZ卲lN;殐 .5繡谨卨胫驿轀"9кx鸣禺v"`kW3Lb剀苕=u奧_蚬賻\;􈚩&阨巰9﨧淀7x牯痌-塬度R\蔶Jo c螣h<礜>宠躁%&`J6qK廿 , !KH2U郱d6#"dP濱朝尩A#d*ZsN呐橔c宬H鍭 酸麙矻3悼巻?hjx苝輝v:卬h# 縉y勳H魫;UiL沣;4e55聗2.5错兎4b郼Xl=厢kG聶y蛌靰菒# 8')嶂绮p鉶聏3畄 烝禫i fJ朵〣肏H蚘R偞ta笜鼸:杮hX*孖髹眦 ;哞詒EHW~ixbV淎綄繂袮|3狎"f禼…7lD大腄JGE p錄u;索舑.幂爺驃顅Or*纁燣H裂畍饂蝠墍稍麙!t}鮚噒扜釁w 嘒sSi豬$獽2斡:潖!]|@您颠檧微G鏾公Z簤互f釈S r!h1V斿"3鲀@BZ蝶谮,匥t :ggFm葴坰I垐侰#塕blW娾h: 髶() R靭_矲牣D輢瘈0廌 絜*駄麈搏潷鴡螺睖桁H '箝\] 籥崤肣揳鉆a铏晶素#鄑詙祃崡篭炍牕D鳋' O{畄墟O{񃎺,耴罳=@*v滢枭-,0 31P膮&緈.乪弲C*栁繄機僞+茬)o*-榥QW斃宑换絑q[r涑&w2癁d湿l埮#[x磡[lvIL櫱蓄 畄1$翉N掃7趣7@┖=5贅"揥藦濔GO鵏Gё~`f猻;郋 q魅位cl歚諼釠f腍肐K=#'癶2鐢| 有刅淲+溾 F竔,塹案愳W5^O{`N钙u6!枈e^楡0鄌n{顝kH Y㱮鉺x鐛纇I9分钦篴痓徰3榄諹Q奘嘴v&(叿廇橄衁F 饌@巿薝僑82怬.翞蘪Frc牗w20愷穲0)4従3$犪oe級嶜鼬划s銁舴gQc猀廦繅U =i!y硌j"*讃w呒瘕=1麈_鲓朗躲呸XYIg渏\+儏牂侤 涝嚉p鰝裺N8髽&靘媭 (5(培<呧肝蜠@WT梹_'~別3鍀匐&/鲙筐埱务硂驴蠻{\%鯗8D薪{9鵱8wT栐埖G(嶓[svl`(2719mL鞄畲P W?  -C谡|$昍u怯⊙46Xu 轭詪A阔湫鄱>Fз2f襚枱i鴕儺p樼m1 IO 諞/潀JB蕐酼浰匛.h#2P92彀勤8|-Q2X餑=葔Ph囁娎 @;郔,Z⒒ojQy<塶梶镼飊y苭%柛疐菤忄F謔舫g2 旓X'|P劽竷qj:顑呹Np褆&d浈輬ci袾3T犌h4汀M1m 火唯禞殪斴。葉焙=F34Fu 7=*}Q@漠+縙T短狩國L㈣B櫣齠h}S曗/$醼@ @*雀'醲h5伳P颠FD湌 A Z麺W鉯岵`壤c*纲 甕P葖鮳鬁jO4"騳#逃X凤=$签o廲o痶q梵-歙F荍Ebv,▅A捏f鄙繌] 65冐jA 虈q炘M泾^_>デ 9F绤媐44秿8簍Y纳劽胲罗砝顯痦/猘?E 壇/当祄舉?to霒逵z眍庼舔?續戽逻>-毐HFd襾>.韏2,i4=韏圩HV鍙J55薱u /均瘰|墍壄@g?嬂6Ν*鼖韷R苲 嶡5 L巑鍏44ф伭9 蝜纑驚 wD`鱚9梾莯S 0萫`с 皽讁/6g鴤?$碳j8飞w哯W呦$wD燙鞖疎睆x穄O}q/%A憣7杖F牄6岄懿=Mぞ, ?f卵)mC緂弥<屟弟吝>P饵F蒣/秂'谴墛哚$  仛襎卦2⺄UN&?爒m"D 螩妓 鼭.髱S27穴F`3韚7輆蔎ZY咙@巰4<抜 !郎芸[ 毉槗给蚫噤fJ$依b鯮秱N縩N蛳减捀;` {Pq靼 竽*\Jk厦!0n賆g^\>dFl暻疌bP攌hG 腑慯午s}甇畼頂躯醇拰6荪\/^&牂 鼾搠m垹K慍嗎 P3p0越wo澟5彈嬑嬐蜪B哐疅雑6n艧v蟹;黆笜餾]尷蚵*L旨Y烎=踫茵吸脏囥8嵐U/1A*嘓瘥|>诅2l\鹓疟筒4wi晡{瑰甴䲢|蘛揨=窣喾 銇 凩Lu}08?扦曲E挎%篱掅亲J棠琥箏~~~疅#P嫦刍{$稃滚紴搯-⺋7丰|臀pn`嬀Z򽜊.诋N鏸p矿#捾枮Q%. 0ɑ箻Y@ 蟺  @D湏碖g耶庖9錎x贂劻!f竢 "S癩?翥j伿阆諠粐]嘯氹I:<湜x賧嵘蠕扺G@梻镆E繗x壒疹骀L:)Z鄰0钼cv馜 C锷3灮寎唢}7櫳<鹄3类/b'88'3烐勮e"燢羦駵氄$嚃@膧?兝2"鰟0)]餥L溜摙閹MHUgx#Fw礷閨鍓鴦窟_婡X!襺;暏禖芑痖~v艬績瘀纮嚣賵园;鸼崏v@"鑦嘱+よ剸脍捍堰K飪罒?唡矼 躗饂踤殥 WjB挷蚋B礅腱8啯g嵒傲姖H颕S~m妢@) 鋬C榥 鞭 3nHq骛Gt{熈9\N?騳搨iMh[_^h綴-&=跪i}衈桃P酔駨砡啈儵縠k/仑霤萩樌欤x 嗘a7 {瞑鼓尷螜琉V<慨 Y曣趾芪h_%6琪 綞A 垮诧鵸妜C"泐!7曘吝+黫讁槰l彖X鹑 餿h3倗&剌蟬2许桖U1*7剏n漻﹫瀛77 豇c~䁖'篛=*k箴欛w]劺+蒝粮臱蕱*蝥7I纬 1刪!5銔7嗑n魕銣s 蘢c5K6驜!.梴$晿蕘矴眔AJ老u1雞<;>`O飥t鴞5梇詵孭M9东e&I*熛躊N=炃' 绶?唐玴5屇(,伭鮓粲畻>p憦饂)夒謝3樳徠D}/辣楖搪DW矪|z 洳蔹Yx/籎炀.勩喬h鈝@u底!P1P蝣O'茴惠熮4姓$营麔sLym_棾S酀p浺搆徎(6祤榏䥇繳挨颩g"!鉶鼚g毣`h旓[{! 鬯$椏7蟧|癄*a 炀!M発!E撄/*]韏韗琑;珉諑f屩<慃酁楣 )韏 ?癎j陃简#r2桳]^嬝炪6輫k1&聆Y怤嬇浒!鰔+潓矿 yj庲S餙礫9G鄱檄+/>8w硣慂6鈢s缛<}惴U輸輖堡9XuNM萫 0Y圍s娴︴昋[ 塨p呬速鳡镳碞7S鞦lO蟨7 }R -嗃掮v垃"Wd廯ⅳ:碝4!?E4#搭氞 *2仆拙坄v俳w絵d%早b6嚴0咺l洨 襷%!侐⑥j甌NB唛&諾,> 7鵑780譱N?岑2?懐 [m 枚>z胐黋U夌飋7荑艌 s坤LBuPCtZIwh!迡 :臱碗藿;)j懂n)\a<\1閠伏拭 ,锾漹膍0眄-"◇雌r?4硒;牛f藴燓=W音@) 5?浑(鬑:寳Z"U亯?框7煲P#劲.d]舳 6糹.+裲 呀M忙獴鄪{7皴老t利駨;朰摹^柢C<4嶧箩/麼途8tkQmkX臙B侗捦^A@O蠟愾5*缙儆秽t+){S"蜗鰿Z敢)硎丐玞Bm邸d黙隈 e弭lk玧 椒方髯#0/锘B屧囑wl兎't$O1锈(#贾幅U饕粻O艈^` 6;繇XEF(7枞zoY!堺簖豃0qPK嚨錆P;+湪g"`鍀Sq4侮 4{獑^艨P!橅蔔窘0慾8'w1pUSA=嬪餏;9蜕+狲诔:磽R躿鳟箊銥茼"FvH<扵 瘊箻0%鬁篨霤ao憻綅Y}.空s厉2"  YRdUm训美R鶗揄FK 蹠#鳕j@齵W聼E爊恮9剷 猊鳾錦;N溞n#篎h6 Wh2致惏P$(寗v欞況9徊鞦V(C夹 > @[;檏熒頛L椀朖MO諜&巧, 噇嵛恶淄鹿Ε孮b蕱劉銷宼'玎_槼邉竃咥+fhmc長轂m!濬姴驢溜@囻箒梪A嚬:Q恚悯;dG瘪怯k 儼别鱶縇舴)xx簲_庁诳Ο諜+0{甂欃陡蓊駌浇乘A\3;a獫6晫@XKE'_!={--冭園g0矲玡噆J36Q)叹K鷔>汎S鼑亁鰏慅j0^w顚糾^ 业柰滋|,`繪ū摱L8&簲&摰1G]c╇瞎擳5C淬#蟓n稙)<驵n;呿= 黩隶猞瞼hXL"笱諯[獊w磠td=鈊9或瑉t砪LH.*鴥恶 椚1}3j偊IF爞P ▂鰞緍?饹1>1s昑攠勄庋鮬寵.+'a均x啧 冦梒,$货J孩軍RM 际:E矟pk乙H浛槹爓饂辵╬冻摓X中Tgfzrr8過枓膮垾\氭Z-)貳巻芲1蔥埁)斴郸xP漒:韁0f{r剿D+5XG$课鞪1M緯M擛鐖\4羳臩鄯蒞^昨兜皇宋倕,(隰 﨨2X酼酧谐グDI6'Z~(爷2*1)崙1G擄浌喱s囥庡ユ1(%嗽8w 一眮n&0挭L摨餴猙)樠J戁犄滥7袯 夌5皼Z`昉鄰詞v]櫋]烸)愵褯~2续斝妸)侈颖萝$ɑ鋨+=抰疢-SK祕c觫缪 B%>鰑]濽鬠鯰F1T嘧vsT 薦J碹W霦<@竝鏱晎珼悉78沁瞫汔砚稂6踻q5=? 騊K5鹃梟觲燔j$U浆3 瘆碭mд燼祗,呒n?糖e6}-賂漃Y憧艽ㄋ}j蠛鷘!1_)5䦂穊o紨g性j糇鱦wg7g搰%槳# ⅵ%` 喸j卲v閺Z猘>-`韝5 TW#qE9%u00"pm趇)!z8嶂摙=o.冺~咲\滾8符!W破qD眺3轞劭瑾曊逈8`呢.舐66殥l 鱿X@鲚v ^閹淂3圱-Xk梏|愣譛吰l櫠'馜鸝s輧菗鵷c 嘬吻F紂bZo烵U?忰幞惉x]渳$鋏>:$?R鴖滳o /潍燽擸8俍^}秘?大唡s閙-Z3铠哔rm1槺0睄1鱬鋎d栞yZ)3芕 51kE蜵&7#X4#傋9氷硯 %&ちSapm 亳牄Rv选掎Oi啯|q>te+0*7$塿3N侴煻絳;橅\襩h摹榘DeM憩f5T絜upf3e$5E踪K钛w<6炈齁!偹鬟tf堋N澾2X娍鈴䦂恉>Dq*,捭緹`痟X=攆&V{賝1谤趮寳D;小o(6L飰/`册圀祪>5肸j-柝yYT軯0k,毽焰顰Gh④瘎仹sσ份訚祃 t鹎:H剬斵-#v砀%}`KT辗uポ/莜町C猙z従慾DF咙埰F洉 嫟奱入uq皪悛*卣癌|籊z降鸧&鞹鷫鼫$$僡釓iw魓{c"T|;縇.b滧跘p垳糅偘鵡嬝會昢菞^G淠Kx&掼恔L身T喼ㄅ-`.B[嶛U櫓蝜!!轍繕護橢漬栊w*}&谱泩郮?E螝bma*=褕1郋訒.:/襊#>8曜`毐 N>*戽G覼╇ 駽n?氃坏瀙8郾$_ 0x邖'啦:!睈(b釄}瀨臎NJe+[)A罉a茉%駽佫秪`T:HO;&4,x鈴H釓T4HD,;Mh0眳 犮?DM煅m蛍呱@-鸃袓h烠,g逌a{鄡?""zb轄`f5穙=导U奛 x蒹厢岴P涢o咸v暣4靯tzh枹4Z/~】鴁.墠k 4馐2mb慓@类朦'係2躥 NX_G瓐蚽]隡艚饾蘷u@久忇傋эr]*g榺@斫`#苦oF/z焾 灒鉎,腨}pP彭爅岜 杓⒗壖&熗鳝x姍&d3瀣鎅]q;Y_^t%c偏|y東熈鑲嬭St榊R尪荑5痽 噘H';bI俾?J鱠,堬磮|沿蟇廫 喁鹩啎傿値郕臄鼗苾G>蘷'蜗騢臘懷H-@倁镰THt鏍昭殑鼁-忑撁張桴&殽iU嶧藣:1b Ye企3 b"葛b ')(Lh!鍌F;忌5 L[m 舵F達者5彶緶脋銂梶3wN礐篡,U畀xN 笖3鹉龝}A!燆0U淪廣Y 惢d j9缌⒍嗂⺋ <朠Wb踠倏?7 焁r鵜[%:忣:阼6<褫鬚%]'z;眫D恭瞴񉎞囕n哦捖蛶}鎎镅7狴V惂2 亄浔2G!嬋祟冝涖o㖞兛蔂ャ仐}ZSp=_飾疐z![龒pM荪酶9[主&H2倇W_M傏.r艛谭Y緖裴9Oy"杜恎2窗灇鄇俙2~:6~!C}罄?0O鲓 葫諹eN=fY糓距(筳+[?躕F踏餑瑫8履8②4駑4z羞P哻!'w揾:k紺也s蒋,竔|是莏鲛f$枵龗枀u紻D54R諑y"z獚t^; IY涣@R4-翛秬﹞謘 gi钘8:d莩{7$鮜4pTd')Ie3坑 "z褘^缫eT伈瑙4躾否\_x7mT]诒敚p[蕍蓟w诫9#噻I碏圚谸貳饇I徟.(_鞜転蟄.忂侰7渤}0_?庀xcS%づe8鳾傞夕攼皁x可?堣"Dぷ弣{sUc6沨託蒑琜仒wh-牍金蘯3鶊`'?圚-祦g锄氌,z 出灈 兝1~<濷粊_4堜>茦逐o带3U'dU佡1竍@p盰 魼aQs梜z堣E堷FD=顰i笛-6mF"&%?羶DQ鎋&鴵i胭f6梆W演躨2fnd爪關+=勽|=焧挢Z犞炱!巵3黋0捼泄暝*QQ谵ad6趭s8:6障:椩K嚻*X;虹t羇籊Wn>X 蝚u\鋧k mm2_bp|&-鬼ga5鞲uP7Ad-}簻蒠.駨 湨<`(.黫-h蝛,嵖 /uf<0黫!劤痈%琎[,摠g_8摅医4洋筝墹謿 I!薁,L;Xrf脂X麨1dt1 壳刞;0JBT鼁L梐搟4_VP^~謿;瓸rn 焋迶荔IQ 謇kDr~7鼞 㤘銖郺2Ux仿P+e }=@8p"zM=&_蕐輁頇OM氝R濳a眑Y豵Uzw輖鱑M&颌兦萀爴Lh2漘1[碰m"鏌煙R徑潰V_&.乕迷2箎 伺iE臒q莐'内-P玦b61渏¬>鍛蝧;誎^p鄘 銔#1侖 烑%閹箏0馵k3 d洼麝B=~祯骸1}MH骓*剩忍4諾U^:鴟餌徇忆鐂}抻/,礼锓緾U?鴥G55@硰";&"%n瘅邾K5]吨㑳D涓t;fpm2=餲|x|'罅Z2)憠TA読xL崾\8鱗x踉鈡淼ONX-⺪ 藘vly1g豣/郾 "瘟6珆遽>姱*牰疰Q2岲/|賂饃彿窳㳠O1姖AOD屃/\點G鹔C鎄@22E=>u)苝什谘狆縕k絡7骱呄噒 >癹 铷p⿸"{iP稬"%9烐舝N :e/ 窱庾QS庾K6;昰轚_褯篅q羁亓证畇" _@樓檧汏曃馻P姍禈壙>f訸牤Z:N(J剺V uS5駠園4评' 易袗`,-閙N靚*消3楠舧\W#硧 爛哎W燠 +7施畑O|餳y辚樵鑮祺s3佽 E 蹷垭u鑙(*腕 $}傒^Q!Y梺f 蝟迾~沁殑 陫F樎4毜Un燭-$ N&%6ol9^gm"I<汸2奚4M肠-,睕]歮┅骎 1~t)\&P)柷濶?\鑠郭蹈夐霂$5欨P当婈箌OC5 蓟}\8I"\4媇uW瀣醜7=餦;aj﹤C楬尿(a摣a鉕薺4*%喷:!r4E&S嵐i坧敕繽g栢冿兵郋O]擷pM/9JX顥7兀"Cmn*淏蜨Jx禄氘/M)纂B筃葖4M鹱1復qV$4窌< N 2I,牄P_饱蝻桔,揯.&築`sT#;X橀2s嘧朑)ufo<-|>I驫熛9啴n僠娪&Z階举墦懦r數f皈2S腘z罽au敾Y卵譒Qb麛-豙昻4zWk 螊C^4)癮结②0 I_\楑揊佣 pZ莉p汚俙薈b勒;.J魚鉵膺0ㄑ7H酪(gm饔=筁>聚桢賱穕苕O:22nj藗6enC睜r2桐踰N^"0瓙頫x3e槠Χ*J{遶?m攵醑8]+ぐ鷙専UY;j' 灺 +2$蒠璀cr32)咎鍙振s&&2Y`(糽6疔謲.妣9]g?-{o崰5ZZ-哐 趿乻晞~ [珒〇Z+W皜'$;zi8> 烾>窗鑊+髂樌膝苳&85u衏8.痃窳lp藊`鴕)綷:c▇訙簠否#M[@珕铵叟砳#畲鏻纻 R盛蝧醨巣笐闽i6_虄y櫩Y~≠c佌膧^>鯾皞篮鳾B!H8''儓/ 鰋瀬-碠;齙5佡相脀j笼ャ鉰vU{謄T"7获 犢襧a櫂]薚g vc(錳(蚀fk鷺e1竀83皖/稦>.鼄O ~權潦T垭KAc/礎8d冇Z[/p 4牀7+<<婵┺送ホ弆墅j40N鮉荻t 8Y'浺盐钩-{#2髥凣ェe箨!sY8}y屴槨g>xos恎鵫3埄N螇謩e銅&,瓚?据i衐蝦厷膶攃l&鶆櫪煲I譙陷歞<61鸂,軹濎 6:Df.査瞃籿_$m滈+{芞埉趮"5U7#嶲振敳=8綦 @g!U鞜蜛宍谴s'8. g^=朹謿 暗 篔屶O!桴rZ0超B傁Oi5雺錹j=R!R斄C漸un灬J墹a勅饃&g罊(|斡彞v氞4歎F疇 徢0[詮E琤b力5艐3茺笆麟) 坹9鹪aZ 瞮1c綠嗍詫勲"^/*衩 n蝵bM垬婲B紲捝塷钼~髻佁恋n6H邼仢氎?*"慢+ x4< 氋,Tj幬6X,焁@+姱+禅BJ1婉*X蒜L[鍆tM宼岷漌?33弇 雞U兿BB2_鹾^/c鮚蹴訲烵+b炵"禗&蛹r乴'{暡埽罈鑷 鈥繜A`沟Ca-}S描'.V 騤腎櫼惗[倿eQ-`璾鵫窕锵;胮 H5噀 幥絴(借溦 鉸U搽l ▅餟瘚 ^絠躯z糬溆$訴p婌* ?o6礑兗昗[T蘈=烙;铏贮/l3`kasqO飛H<3糢^8钢浣┩h 8炱C邱娿鸵}鄓':§圮叿f 偖?弫X膈`~\"帺诘F$>:鴆+[n住0Uq虉o鐏:嫆决T鱨仱aGK}咨熔[壅:鬊%79汑 棶6囂l(爀":ㄔ/郣+:飈甸;袝毪*;&;+Bn<瑜%3鰣08'巑 *e@XT3鰝.^~_# 佊徔DDh狅wrn丐岎|浙狗 x[飺 蝗."S腠<6膊嬷n 磑創娋]烅畨-`呻!e O?q{,]8?怖*8;%韍"]W傕禞犛礼= t%A玵k 真唀屽幈僧+!BT坨閳y*3Q)j1驠墳趵C6#& ┵朴軮蕀+iv攱鉌厁a Ge1%]d⺪+嘟c潞鏭}p桌Z&5籹HK/l鉆嵑坣 *R2F|澡鎏閊湃塴.隁 闶U!z0 Z蕂`}Rq哷氃烨!z炱FLW頥掤(RGc メ :<蝂r 潇悙1Zq4啊b>vRog╕mc-=`挺﨡q1y3X院 讴j盆X"竈-嫒龉]rA缱7 e ?6孎鈃(銴鄱<$狠徢韛徽≮桁蘁偂Jd~h繶^ ,v"剥cj.Y啺p実 P溜襖~Zz,艸羼樑氈亘K=糟q(砦媣謈 罗況,[#(x爋 /y鮾 UE 巰肕蛛: c 嫻珹晸Ja=v\U)p %i?0珌艱擕RR= 鑠諱BGOC@夎~q~8=帪孩夿d氛k嶎?豥燰5狦洜X`c え3L 砠~d譆)$H茥鯠Zg俊7W混- &j<>K ┩u腢鮙> #筿` =wm(縘"<.麝陎&K+ 0= l迃{a銍邎幏75蜍燛剩忄薼椎'c毆蔣讄5犎 P1]裥K戎觲(e 恅1 碶厃K翦j|-鄻沶蒟@Y-缷铅T64'H8~'傯恅鲣躭[) 騑4洙錕]> 鶛慫伄w,2(e壁X鈩4槲掳茬 o膙9{:壻堥蹦8`R*鷐-^)"h=哖R舟 懡G屽6n 窤_ 伃摼桨穩蟝嫂疚w?蘖bz羳L顯V絀S哪贕郿鰑滈嵬`S锚zu婇 婿蟦涼丰, nmh>僋zZ'c渺#6G灺儠鐡掇蜇.V< 锁Y桢壢猣gD~bd5裲_F d7x/個 bN溫槷!盧@1N*釛6觇G涖d]d裾f狋2~14据 枋罵8=虠轠忟>k  q Gx@韲[洤蔂们衶瞐h.諤A攉&戌0瞘j`J-/M/袿互!GvNx{譖塦沔5姃冖J仡g儣橭濠]xW<6b{qqf鐓p]\uX-v挕髌k愾]\-嗸誅$w5劀築zf譅,爍x 5uS忊 k嗴?l髫Ap丹翞cr*t*-7杊坡:痹"龡泭{獊雥蒢爞倱婢-笻j薇竊G?牅{/:銩霷"k1sO {矑N5蕂v`h哤Y諊.巒僅朹晓蟪`LkC昫H罱剝侉6K_芽a-kB,蚄XJvQ堼 >Xk (c⒍02&/ 褙;)爘坵鋷:t帻npBn晳玚'B9延zkF煷6>.QfW社恫誉碙Z晋z龥?潁劂q'7 /An跸!оB靤@b鎩鹁9_ 楩撚p 柫軚%蔐冪1聴高;礥u"齌睺@")蔢9黤厞-;Y驃汵E`嶀R/鹄Pr渑虅X毽>47L繬榀珷A鷕鍍鱙M歔滔渡/RGT 賎渻L根譁-フB遾蟄{畉X#8鳇M樕J;hgl\ 綠臣An d1^0K夒頩+ǔN4/捿9>'.*b7顼O~^賙逬(5胏撵&:謭H髋>Xqw?XG9皦涤K&5 j 0P辩牁苏{,$O 鐛犅 啖 甖"砊姥_ㄍ]b=w+D昔;乭锱鑧硑埴香M!徧衾a4郓袣X开\b鯝3偷?僚#G{俍tq-树莧@ 埆V$蠤 9S襀W[ "D4S恀U芤&\簢z$"佬綅坝橣E糨5n(x筓g鯡j7xwMw繧,X舗N辢3毵k|$, {%9w;孲1迿6鏖鴁f%%m踗戞爲;pLT0=i轞捬@n召V黅'鈳胮6ㄢ-4De貄$鳉;禾嬗襰j漥闄q}糎楋飛 厚(B奻娄rh$獖<驍嗚唰} 嫻纇瞭0稑㎝ js烸 p艪2R3貴ゲ趿<覑=舥,qG爛[4.) #%墘 2峍累璈珺筏语岔癁-亴Q@麞5餜嵅穻惺,iit0塎k輇bd&g*Tt橚hf}:>Cu@ 梛锍欨釤~6虭搋帎繊请J魭爡 索襢Eh論屴醪(%4a牨+[ZHev锧濉>b 蒿u}芶皕3艐柩84繿騲桊q'6筦舱俊|c蒞P]W_y#:萧9-M坬耗?I祠 穼﨤%B▽I5C?f麸mRB !3M#3D T[龛~/騲鬘朆&#n##鼷1~pir-嬌9'y?!0?睩>薈t/zANb亊 塘劤傀-j44缂BB瑙 v蒊洞凝NG 揦頿{B*8j言蒕Xa)"")犫坁]藑霁聽r[㈡旟揕迩髶_f 邮錑k虚 娑|峐酽!t1鼰熂?逴s坽耑焑T($造焹r鷒s衰*{6栕唷竱52殿欖金k2J81e'渫挏$I{泹0輶2,m谝s0b笹P詴;叝瑋@i}紧饺讯哨B州哬(:y穞声U椼G蚛篻\鞼zB運-s溪劒熖"换z!兙0C 珋iv?j&4+芏 晛蕊?B6P坊輥5Iш讪ピH溒嶇]訕剤=甮箥ov嬡l麃绵 癉萬筘枆俼粓侂9\琀q翊i/墲(阫/&6莧co)D[A=~8岉L 墏9斨崄\髈d暅勠K6嵧Qm筇謂k䦷]F\寐X摷䴔2珰岹碄毡;\塍>塍鱵吜H+屈P紲/W撄键P䥇畴嗮'*?'}Vp/轡9鉶^翦?'}Vp/邷秏\;9%^鵼狘Kg份.4/駍襣臤薩棅4 M+駍襣臤薩棅镣%齴U&羿_?'}Vp蔹洑\VU膨饕g臤薩棅胀咯社/靳y郷;籱[X-沫]鼫鬥裼騑?昆x-%L茿G /訔9槌猝瀵~K蜴㎞,蠣8瑷2?r9槌猝瀵~K翩&rK郜,:嶢P+溉窷鞬忡は姛柨.鬀想$u澆窷欁I1瀳煋>+~Z窽o䌷/|橘綊怶r碣檒毧怣:缦S鶡I?-\*7呰Koz嘜夡7?/鹂vv/0 宲遒iX尷O南I?-\*7装溋從螴?-\*7逳灹膏骁瀵~K纨*<>#~N鴌郣馹緔咳w忇8x^忡は姛柨.艣w~楞g>%蜽撄键沦建9^烱?Mj,=迲IEND瓸`javapng-2.0/src/test/images/misc/ntsciccp.png0000644000175000017500000011123010646275026021201 0ustar paulliupaulliu塒NG  IHDR荾iCCPNTSCx诃幙J肞G蠉娻2蹵;((h vrllI&蚼(R殕潸o8 .NN.線(釩88(!b<御勿K6歗藃`槝)?撚8瘫L}_玳Ng 悓挊=!WM邩裪f`鰩Mj@ R怸方胞ミvT=`g~倄d眶@F~ M|b鯍Zs]W5z(V澯苣肻m'篎S夰BU诨D憩j0;鶵a揩崼亟,娾0`疻maf_嵛I襔#>IDATx陧統糴[U啕隲/<<驦c渎ナ6!h阅&vQc"6WQDD 羀b媫*覊bx{Mg<=朐:k庽荶k1砓k瘆簹骃熀仅㏒種}敕7 "8蠳;泶游d踚vd踚vd踚v趇恗v诠!踃逳;4阮胲>/頖跓S;泶 涣逛>兞铭鹬钋跓\;泶 療Z觅?瑶,踚^Ch 尾鴜羾穠?呮矶覰;3d/瓜蔖r挝?"[粺n翼从熙貹畋裑9洸詢[粺i漤从喂呾%鱴燎9?埝噗is貹铖藴.傉X 酜n韣畗从N;g矖茜$悮筙少鎙緧俄从钨冹%鞴譒貢店&E办/韎韠v9諓街緱>?ap跖諟]fn韣s从N;矖墉%藆g鱗曳v控綞趇SY g肓Zi&o坏肿蠳;頊毵`yK)鏻9{<Y虋2 淀磗!嬪H輴沉-鄂‘真.αⅡ郻18跱;卜恭"]桪晃gW洺{2堎嗂v9祼臚淓)诘聚s鯴藤毡 ,求+焰x涤蝘傡7dI炳)鄉1缘詼]7﹌遙6U{m 蠳;睧1%僠姕艗瀑u溳%缘9粔i矮榤渕S賝hX搪猇厯屐"貖Ea離築铁嬙\趘9Y葉S鮷al98玐珛`]粓躚默: 淀磗倫纽淓)r?沃噂3溳轀O讐倨賤9-惻趜螇pvu5觅汇`皳 淀磗軔酵=璪坚.kCV也畀u蕾崐`洓2^ 8跱; 侑籽驦sv丘, 峬忀X熥P跱;Y靵橙GN敵肼鰀霶铁飰瀑v谫/d/筭p拻X暲瘝擹N姵5l0训^(I6远游鰫 ń錇1+硬榨苞粗啘莳秹莻+p栭Y.6远游>旍7qv;v萎餽獮垬-p栆.嵆泶9d縀䦛m溳痘i按褨+t+/俵Cm;韑 貹顧鎋餄Q辉O7g媘 E沃k ,v珋%9[勳阙痸谫馋咣S肶T千V副K9浌复I ; 圷*f胓[&i踚g7叁 6j沃 w躻1雘 猲Xh渕!"猀粰EK+gn砣質╧sv皕葄[速醄稘vv乴Ys瓛寸5a=櫝骋.嚓;j踚g%d康蝽~,贓憙殱祷 lP.)俶b晤(f棦sY湺q稘v朆鲑孇騭害甑gQ=蟀睲vu礃A'證秖稘v@鰭{鄂x[I户R貫8.lPS蹞i9z&媙n╩*葉垓7`褳r沃x9:古 P.闐X侄8跱;5怑z髟.ㄝ謪;==邌趘d顲 腬烆Z快雱8 u璖腔 2V,i商Y畞靋鳸hi酃!U颮徺:S罽笞]馁a儅檮lR覗Fp'絉賰饅摯韁彁|/=款塜趺dE帟砛肷nh琸鲯2独俸餠狢,8畚u╠_嗑嫬$.ㄝ:X9X4醦Q鱓灣; V 禈愬,y@~B䲢ok渕鐉劕盚填(ik襗畅痨"貑姃栰?敛 M著$d鉯╩绾傡!i譟K僜'速b剜8M"=9MFd戣5渿瀑v>_p8]!i梄洈挛"gw1 簸簩椗J肨疽8畚uYD爰癨.j钰:X禬疊貞5‘諌 質'B|H杛6B脬譖畚y囲w鰱軆諕v祏皉UfWp6G襄a冋α. 佶Y趥8翡㈢郷8畚鶈靘苖!i譟嬣;楉WZ覦籉繴羂礙繹t" _跏/8K6远sN!{゜挾:Xj裋柭*顑城`*-3j:n2yq稘 俨>-愕K惗蔻=q贸8[箦!,囑UvA蚇殧胉 敯g9恾A="7暣=笡X磄埑晢柼愅\嘽詬5`J\o|VCm;策矵x顤馴Z [jT]賻硑>. u 寰\P~U6!k嬛拋W魄嵆頊'萣)7挻a,趗 9洑 *L儮URるj紓u=檀hg9恾酈蓧胆]W 蹞E-g3庩.娆[e擰K誽 g⿰)雬遇喌s! `忪婘K邡jX陞鐦臣-泂*mYJ#覆闑煐覠剙G祲错#.惐;爒Y5尗B蝉m1r g夼湱1 狮 涉!fR櫨郅#L镺B梅.饳M隙s!7W7^k抳﹗按v8*t1J>M闎矃背,2粼鼚跴畚呾鱢9钕=)霠f!jF靵5M5E癊刔7薨.葂瘷Q臝1v+x,<簈稘3锇《惦^K瓋淓"诘 g筢賨O恫忡S这弟f 罧9庅m`1vg9嫄E轫2` I霠@=svws秄薿J浦Z懫,喞D7鋏l菹h╩珈@鳆JK}僊%鞷霠尧,J栯8[Z@晀W 緮2撐@灙笼Tz@困7味sF 覼-i雥v 7坴gW洺櫡雠n侮_eA詬喩O5K^\ 6味s&  滋l嬟%m島皑V,L軇硁9藆v浀 抯f侬 1D懄gH侥?5^TCm;波&]阰f%j譏谑j.m&rP94讯萗^蘒芭矙葛曇绕鏫2B粫%捏鮋k渕,@(c罪┹H.瓎瓋/q紲4g]B抍%踜騘A![U騄?Pz秖稘S籴翄% 伃P粫ぽ叧XX g9暛q愗械Z芒,冊P+ 禑赑畚镾?T鱳o+彃囤:(Z磿淓]酮偏,偉阘酽j礣) )x:柾%2謫,熞8畚)冹W"jwt*7\蘅s羷#{ 溳朩瞂溉冬d); %u 藚-g9m惻rC`[灶.i7Vp6C宵漬y,c蝔挹/Xd媎+eAoU 删朣 Q釻da鷵j9恾I:眜Mli勐2I[j砛賖識. 竕鱜⿸-.XL赀厸h9襻2 !c 畖R鉲;'冼Gxg詎T [,瘑-阝颓瀑|琝嵻mXAj!M崚蚅乤毓甪k覎 ;\8~%8趘N?:]:I灶.i3瞻紆 Q>!藈+攍.-1讍g薥l 2,錚酥uyq靍鴚莴9萟4C埚#$m搴剶u皦E[Y軿蔣W*偣崤J朖wzW8必咢e%!u鐔逼賤N ?fZ斫譅 l7挻籟'刨"X荡瞹稑苁 F(,H蓉栽偁彇A2`g9!圈 m佞祷{?I[i裦8"4枫+舶 Ykt+?笘嬛A洫畗qZ薏鵝3}|鳘F剉?^~驢秪璼6摯至s对稓.鷤]V浦纐M襝k 蹠@3 o`&稨睒`Y8畚1B'RW吊預埕蘘躞扶琴"X禂}Q碽x槢猠u6%硵XV ;_嵆d2徫j援瑡又蘭賴u恔!輵钞-d+ZU,輹P淲1伴乹[毬3傚覲畚!鸖5C籛《f2,陖冚$韏霠挸HD恢q諩$TXZ(/7 Pj電_槙珜\Z枊0"m 瀑v 贌.盏x 詎l+ik瑑殹輬瑑9隞‘虜2驩&紩锸澖蕬7[ikd,,偫昆3浕?嗂v賶8Mōw墅烦挾:≦蜎s66pYk黲O宕2~IQ礆^仚櫷xc +_#+顶h麘嵆盱 ?S鐤jW$璝 [j裦"l1↗tQ:糆雠鈵潲h觓貙虎6璔0:,=鹢g圪'd+ji鲏堳盍&挾貎[i裦"{,*蚘)L凚传 `I+ 壼剈缐褐0+O[邾嗂v秴 鸁錦6鄕P淮I V虫Ak簫瞎g漞_d綄]: E耲R爞i车抆%)J﹥= Ak渕gS叁渪 印'j禃笔3﹋X岴汯趎蔣舆‥-U{贈sj  k粮>镾庝j.o覸蹳诮瞾 裦丣-驭屟]屭J鱜叅]jzj迎 Y 息礖7$劢姼,d玜J\S"B[猼 .J谪C袩搯+稘 k-遐橻+P换Q[瑦磱瑑歗/$:"齇c晫r捯閆^ ) 阸V&+]7禘k:趁鋉C汬畚螑齾 @y鍉 Q粙{P)iso瓿至偖躑淢塤 _鍉傍"s6Q鴅J浂咆M8kR珍祓銉殲mg7叁b殨y—Gvg援w6暣嫸蟗笶粓彻o紶餟3累嚔VP5鮨.f悷(?PA[位穣m|`Cm;k!鸎晢 龗 %->肰0W鈒y\w痃昚轊96缡%▃7A埇彳駎婁j(<^詞@鉲; %Vⅱ2V5骵jk屭歎崤黪跽皵uP5巏gc排摠$c筚Ⅺ鯁晇!鬺2y獵鸃聿=I讠至鏈ㄍ礬蚜臖=瑬VM 耭lY.9fgTp峇郷栌]琿稘萟雥/漂V碲}牰舀]!i嬅+瓋}p镀WA轗◥睖%5阋2昙倛4S,.N %&?|瀑v陻殳訯 緘⒍>-"dK笔y隸慐[蒠楟煱帻G)6 桭+V⒉明鳫嘾I紲*b[1^蛝"扎> 淀 [A鰯《,i .映回q薲h*:蘺Z丩N;|砂_9亚e8#欉R)Y憬gd3悵8媇溬厱闭╙跇P訦赽5,Vi80哘o舊r1簇姇J笯XX嫆\2浢P&客阏籛44萬 鹝]質冶6=X躡澳:Xd薛8[c忆惚┢賨皻$5, 6廭匝^瓯f蚘巿蓇陼c躀脟򉙼& 麏鼳v╙T1j蛡"I[6,3p襐l>W恖Q86腛YFriqXA+ 40搓1;䎬X鉲儸賍睮h枹⒍h詅,!J瞻E.W唾J-_$漱胏采 諮DS移*?+坁9贅4僱T6喋馮 m?桄钭td染騲 患2j37 b5奕:(r 幽9C !ずiM4 ;険愬"挮1a柂Rwrr5廤產腽 蠱A76鳃/醑蕯D6囲r!冓/蔽∕膉$m*H蝗:pd 奛tR豏,F箺 倌Z訁H=*1扱亁9B.0 8複怌j燼+j渕渳u6dy玅[榏琀h砺Y&;fPiF嚳;藏汄L-Wd腔膚芛.{h2 倲Q燸樦獪﹒- 詮w銞悵 麣|輈g.耕Am峽P/i+W莳P槔"V@吔A娲%彌 屧%0Rb趰祬闃睟甠6惍敔-g#Lk駣I?$m冹胆NP.d顐鸇m1~昆]定'P_  薚(\L9)齛f倮枍?O聧5P涥嗍yO秱@3 簓v [朓<.嵆=d#螹冢E{"╙减玓亿衆n膽瑣尼"肳欭]dk噬蘓bU-'b)霠-禿嶄噁6鯽;U 旍鼟嵆7d_W︰i泘皍耲.芤鍜6c戈攘 %~鸗W++A豐愥i(鄴3k+\罺oB0%柇恰熜曎䦂2鰇;6証瘣(鄹Ya[乑ZV,j蓚X}Y現亿%**步^u0 拨掑$j珙V)fv佈鶨塋傰Tx=鸻伓]鬊屣7蝆噽8睰l劃軆S趯{P;奥:pg壁湱 芍綿媁J移@ 禉H 货琐 坍癉iK,琚(B诏Q狄+惼钬凔庉66]o慅愝H豱b譶堏擰泈姡aRce姤0$,'崚s轨OE(YJ午齓漴UY綥?9愂刭兇z e┅d蜅w釢魒籣ix寒 :.㈨6鎙痼ō 銿-膙懘.憸]樸b嬶E 6輰缐蔝\硟H贫仃2寕攐P砤缲瘈#hRP嬉<嵧貿砥袤 籴侇鞰 浀'l孄i8嬟|M(a暏h3u7h40qkR,N鑉5 r$i蚲[磆+c[狨. 哋糤C蓈Y╇Q菟М%; 槷m.脉T《vQB V叱鄪.-砨怅VHa,#S>31κ嚗:/[礆V鹧鑬B+帜k+`u%1kf筁詖:6狏=dY`mc罗刴}辦jSFm=X趜KZ鱶巡M囫悧Af+椾5%軆劄<* 觑妬6囇錨汿 嶸oI蓭zv(1簖j/d\od盓哐?j撐@I.宨務HM;匙+1!K孤撏XΓ6a9/随c(/#2% k;Ir枡崂7葚瑑 7粤t饯挖K2;j蠡1葰騍珐螜MD(鮝鼖Z6+甜V\Xsa2=]F朄_Ty硪趧E┬4Dh7稓"詁",;礼F珕萣"豱6翵 m宗/I牰&藚-皯+\!`SFmjIL+撯饽粇粖匼'鼇%1%g涟e紃*幪当啨ov#ay0峸hA趕7F 輨鄂嵃菖甝勞EM96涶2_g)2O驣瞼M椉芎抿8玙608=@朱5H1訴&厓Dm梟O牬K[鸳A獴,| .MX烉*~抉o mR夤冹浺朠u吢謞骂-=X/ii褙椞o摤ZV  5鉟i嗍煋褌t梂琌椯kU摥l"桁T,E9L.ctc濟櫑鬂Z罟傡uC趂 2{q,籿j嫳費囈*X Yr堡o *AW鸬媊5o 貧{刪晇m茤+.4苲椫6ayr掎澺~苨賶敞珃mN621籓枣;J谡淢/-f砶孼Kgc2%w渔 3^]鵝j癥職>3E~w婱桜Uvo侩7枬 1綀弲禪/Z襫PqC十礥沬關胍織}刀"脜人Xs&洳踒惱卸j)歇 炱Ua>顁l栈僻貐.玤.婵罄W6湞绒e0*玘挥娥m-i鲏趥灜柎,m晢26搌m6攄lrh垷拰I猺0s+阤 pg 如dM薭椙 VEX!upj=銗}裂轀a(辗'`!^1梀錱%/畾` Dy V5訴牰饹5趚 廆蒄6S\娋R藻曥*= _濕y$O91p#瓪6",3儃6:謸频 賩繳碝述伯喍柎诋倒舟瑊鄇茇區娰F╨ :k椏I刳瘎扷6(=膀璡2玜漚L&,3;Fo嬞&zf七火陠3 Y/87Fgp7ы嬉F勢j x蚃Z詫4おPAY跼B 1諺帀贇i珝葚\+酥惆栬A 暆 D挅;Q䲣5瑮槙r5&瑘 劃猘消鸡秧孊鐾譽壖蚚穥Y F;E疗▍诩u礥7澋3盬`8鋓涄7[1pc卉~- X哾 趘壒08+b+_5加g濵i薋^A勢駋;6茲9叁A %喈磏7C盯2VDm99珶u研还\#+ S掌 ]yO塹葳+0[ 褙擪 敩O虖c@w褔"X梟 瑑喋2鏁靲臦晌& 荑両X7噘麖l=c恾薘躄8).Z厫6Gm诽\*醭Q+Fq)}g4 ,抆!嵆g瞣M忍J.5鯩踷a笢\徻殮橗祸胎騩聂 騇\葞诓债n趷5梴瘑9狅敻蘔簂 (YN 淀鴕f鬲p X抰H 蘟曗騦_ ,Z{]C辤,齛秄礪.26№寅X蛈赢-驂産l椷酗 C柌镀k欫 %k餂!币鎙(舦AэP ;L塭$ \.`q玹厄d銖0橊7鮊?d僳 i圾ghj缜玃[肞8%n諥m3F乮iY駀遠(堫駧乤Ph蘀2浌:皾举t 勎酢+7野(K穢 邛,"磗o 欷v雉疎洃x!郝"嘀蒣S貝禟卪N踨i]聄寓.]恄N;,矆虬0煵52跈Mvv·X-*."-湌处P姇u楷z;皊%g難*挵,搓魓&l涿刬彀4F﨨O}眠﹨鞜T 漑'o3猪fig.Dm迵昣- "耴(H+Y纙 騛X韪U,`:Q+绍!+=幉)弄n"%K餻业弒选濫噹A.砇埴j?瀑S ?]b贾w澕=谥祒0 1@m)寶U祰!=喊饯L豴FLbV.c?C乔栧Z3.ts祓詠x壞,T鸍2z8-氇桱n锹桾点V妓v冟)勳\H寅q埁忍r蒐(Z粉 擘8鼺jP s7溷\殉攨,妆5'畗h眚WD峒亏OrVw蛕~BlH1k螎m]絼┿朷豚藐&Z_e劧靄篁v2搋Q 掸 ^p魺隼佶~翿3a[讦l劌 k; U嬯糧Uj"^Wc峿懣啭U檳佥3比峠轮儝K",_尖ㄆ%煝n鷏骕/􅬯;k皀鋓㈱U祢$澯I[V;,轞诫а餞A隹,wvn暉P!ow頒贏蟡廉tEe眀鶠叕?姥, {呼曎朎5藪稟T燰蓈 漲M_腵8譊@ ┏]牻璦{7Pe*去琠6魽L`价g5螢"叁譛>[-oX帆禘6@-tC.猗娾X"<砾2y+飰}8L g癹+ U <迦CZA+l澀貫釂鋿浢癎[}VErv寔Te薺鳭a薭!<喑穉4@鱿諺簥q拉椃豭谄蕅=gK◢颅To爊KMrzl 采q戹aQ稘MP敱潩.P冻玘A講]籶v僥ニ漋6 ,济恡 t~ 6 a;e b>痼gO沧㘎|傉淓}烞鮺茌錷}樋︹衯q,[8μo栮W┷+gR0 G#Rr% V3 d肵0zd峷痩T諥x徴峙9孟#a{7吾v迱婆躷乄`6页琔p挳lw|EJV<瀗纗噻7螢0d聻]@跎幜.摽+屙:赩吅hM氐癞璻瑣柛扮+$@)乙皷宏ヮYR蜮n锻Q楷傛.7(汝匽^煤墰趷%璲貉+lIP瀣@蘲繮璬諆幻0⺗C渖@ e氊B鋘 $v鱂踕--肠嘆5J.Iり -%b[謭n酪b録>珐RY&yk隴軱刎I鹈82 翿,玔&厇踸CVN剄*Z0弮檽^鄶'+zje虛浊固RT還魤嵆'枽g=s茭q措漤:跉62犬蒾慉d*蜚讽k!gel復M墠虂糛`]2磈0 耗 卦8F,s颽旮a9膠&8骩jR(癦X 急櫠¥e见椌駾 Kl鍈娷][烙*y粓鼎嵃朘秎咴s,7[匠9糂僐弳1,呂H(O纑釪G# 笅fvkr a<[潗甆!纲.蠽lH坌刄v饥(%鎟烷腾v耵}黝_裀{軔 ゎ萝n盶匹:~~礲UY歹毆1+6Ph%{禷亻*&=仜銗V烀B羛B秡g僩S啲$爨87疦椉蔮6殎廚鈘!O +瘎-vv 0哽缦z阑~爫:^叁廽粈1藩z叮嚢xLbV辬B劾F〝卞殲NTXn#時=祤%Z ]@?NATG Bj9璹蕶U陶箓庈;87峿4C]a青8溉*%潄惞=0R,*c%PRWIZ=烎蚦冹琭k'恎頥.&劳 雋题Z蘝獦砋6 恏櫟P嬙40|府┴源蘓g迪Zm矞jF愷眙\宔.79皞ゃ愀溴ギHq杇翹z6辏録L躂瞬%曥 竍Q蝠醿井饌kkg!s%蚨P([3還62 ;}<谾A毎仾E羪O6-/哰fㄍO$嗳 0宍V=渤 f7媀7E禍&l8$闿2$;緋畐 糑耙櫇<划笑-k叓gI>桦咴韫w葉系秒e,v认辊l]3,1a&lB[3峆/f霉蓀兟9 噕5j3s^e甌*重%"Y羀f藃潯蹺嶢哿sq#a甾貿 氪i02麸]]镺|痄*踘决廮麳蚉B垚恃旬瀑}B鯶>w悎7vi7a頭仜懛)6O圮 j+弚 jL惁-chg秺sc泗+,nV⒅z\厬奟6餥4d.缳U=a搦EM鵾煥rZ仱5NF皋鍝^戼!缏,嚮鏑亂鳇襦5灶Q绳靛cb9v7Am姽嬋籬夙By[秐藪V洤匭草(扩8&籪飘}rj臯\䦅默楹&劢蓃伝Y酛6T层gf{ff>rC█{黯黧鍂鴵莍C謎觍蘲y縰<雈槅.f輪鲤蘣`<鄎>=.o~膌@[ Aɡ圱-Kwy3g倜拝Z念嶧m5siō贘`邵E赐.O阎軗h.作膻s3dm[杛W鈃丑蟏2Z`娭詣HjM'橂ZA3BT苀潞鬺隹 Dɡ镻.fFe=灅珄 躣蘍r >鸱~沵禈#腢a缘稆-窟`=d|系+KLX倈ㄍ3w+詵齽醇5.5e糯拓*嫅5枦睌t往躇0枙P樽掖-樘鷔谄 瘮\恝粤uO颈{摸箦瑙獥艶l ;?烑8虬愝\AB"5指"见椡;掾眺晻F蠳獍连j唧Y 帝C鼍閆嬝輡蠰轝爹F锔蚀(Y6%>K啺E衝;葅費6^Z談Q悳鷍嵾V1塊瞔3j%R3軸鍂蜁玂M巤7谆zY鉹[S劃%璶肆F閂嶳A絢肍鴿_3韣擞7tf=Oaセ膚賩>籷vS染嗑kㄣ:援.迣勾詒轔( 鎇~&褷(逫蟫zg梲IH閂仉 w墶 >,Y醍牎6"骬肋榫9tO灪眥陼玂徂峴[鄨*`O+酚-gE8祜R0蚠蒘x鱻a[蕶}彠蘳喋铮猘捲慮;<鶒4螙 ;<ˋ恁+啄'覠粉惦盎monト竬y棴"y擞嘥"瘈厰殖湳q!9U嫨鹄l愅u託Z暍嗛軈3弑鹙踼媓=vz條:p迊濢擪恟f堑40针-疤誂;6嚓賳睲6肰]K椸A4N醶笞痉 0^%罜境 % 喽俗紓皽蓟b梂*躚樆hR J蛹*-g莡O^AHX瞱>RR溪=礑閠哪樔岄櫀凞薼!拐卨蝶e侔燕t_H{](嫲2垮,6nLp慦0暢鎕伂w11R嵛慩滰恱u!涂嗤_筠v芀w给愶航v 叁醯槶1^S洵v念~'筴zp<@禩#銰Zf+J蒚,ed,J渆*U溦褙1Q衁漙镘=q{巐yX頏p絥:楲X延52W"gV|萻g,i-71[,隯蕮 册8榩侫8竴纼燍鱺鍆6b艋?鲘h3ev囲w*俸柤浥ly3a怂E&繣Em芝 `狕s稜k\c啞!Q爴愥l斿捙+椵t鲈v=u%*cX亲櫅狸鼾,Z麢槀秮c牅Y)fg殛淯閞褬V挹- 鎞s+騞`A邪 砰|===槛K/rd*K根籵o愝 蚕咦妉 oy9寎t逯0w~ yX薄QP kQs棤*Q)褣篱醣*MzE$<狖\熭w-+樈敖7 努职3L}虁賘玌`課a貀椻茭濡B*:.`4F X稉k槹鶐7哥崵敓p 頷怾 Y消_譴\n$l肴籛戽瘲楰籋Z^詅d酵J杋` 悐標倯翅鼦釂 苔紓Nㄠ问lu鰢沌y`鼬?q/ 唅蹥9;喂緹I狿 ds璚゜鱈XD扸8乬%霅+痴塦2a兞 暿襏2ph&(!蟷{瀙q闢鄕A3;d譈^>k郲鲾繛+僟紦きd睥%溉37eD荼慊x仨 C垘X3嫓i@d竊 趏hO;4鮨4珢詝?'钆rW46tc噓砢O諂鰀廫R闽聛遒~ee6a-[柵m;噘~uR"(F 剭駄帒~+t卖!?=Y鹦菅 策鮓资A崓皡鄂+;N 樆h w.@zWD廴@&K唞峟r[e8楤Omd暗0l呂靸篏!k陃6<,"熘鋆勢赹蹍f.娽-$璾1\B苏K,紮巚鷷櫐茸d"剫>.3>罌軴j"2塑鳟g爱t岶A瘻YEXo弄>ZQ鉹2;室+A罕R載竬0d觼偣衽涪*-哫誇愼壆嚲鑦w=鰱7w;d滐d韐%[桾葿P頯,w喇00議K6 指U!畉i鎶鵯%k;)f9*祚V至-萸盖郎归 盪1wv`{f'脉^寐箃{B0燖:*颗(榣!G轙u"B恟 t &sC拓N-`荳皌纗鑻op鏲nQ1/寚 舱慅媖E孷U蓝/m!o棎*嚴4媸塝We蘾15,"5柈>穈嵶鈖抣Y蹞崑]粡?顀俌:T燰"巹rZ3g;嘫霄5lP Zi'樖tr诈陽耙+ 酬:苼④墓悙幢?`璝寽劙%jw阁3n塢趪] 插v亭jJ踤呧mz婐蚟L摲之鍟骵0燤l)zJ袞聧硠p6)k[睌Lqu壢A\>+q斋覿砞萗3撑鉔锞W)傓a4g{舄 喂~畝E湑JV'紳阣 a摀0狗蠻/-]臱頨鏔褌磇S絅霧╯祤澗懁(纝辔G=,pi鯿w5蝧U莲緟孃JI甬.汆鲔7輊藟晥 X爏I 2W貑 :w,讇洒>h鳰哳^Ajt:C.璦EHk|邢VHq!璇u}(樖\苸C$i1叫Hn檝乗C+N敹?6 苧[.瑭壼i#觱p ^r;?鮝=%枫6鄋Y唼煃u鬯叟i劶?P髟.&.t⿰珠賹喌cd第rベ伐惾C鱽%Zi$B酹軆鏖鵉刹蛠D媙.璦Gg{靭﨨cy^瀾:[碕襃V迍晇侁>橃2坐┐唀嶭$rAl'V  K|貜 辔O~ 邿极A6w卷?^イ2蟭[Sx4.墔z晰+懻皌蒟M猼ic=Kv+樘&綮冗螛W乐.2LX'p薤{ot繖萩处+肹v騛'k朿Ovq6 3嵻O//W滺k蛒>膁鄮閭0' 鏅怖鍎iPC豀"w罀‖G錢Y鴼寕罎燌匈Rd慅荧礣]吴Z譖x瘷躑瓠#o册揎j6啀o3{浆~俟悤PP嬟藿尊鹺凔]薏掅m]%浩譎[竳尖潮疅Z紌)`# k+賆認塝鵻嚆's6v d悥H漋砝聀 3A鳾杣 0擗fy>歆罴隉瑰g頹5纬鋔厸zmI酔档嵜a)鳩潍缝蓯2,Y0詐l'1hb祢2Z紣\}╘!0麍僛麼;亯 萫汗3燭瓝c_LO亍怪2 [觴Cv!獶k圿S>! 蘗婀A殲蘟uK柤r E.喪v羈:k=暈遘鵞~鶱w|蹸+伏躚 财?練乫斧p\镶*颬^,暠膣K敿X柋SGV1坋恅矩):怸巩je#蝥. 贇0Jl芵鉖丒豎穵<螊)Z$篿'還阒/kX寘Q繉#~彭 qW5D纜讼鄮U-?W儸:销+嫄歐铲/疟外 /嫅 礱固(D-u7禃娪=湚辎x1際諸c檱匶?蜞=季2铁斕3D&鰎誫fgVj\靯甂 .蠬u +t直s予B庰赕OG-壩qsb(ou伤厔 篺}趢 !^堌j Xf玀R衴`s3伏廨 xu5Ow2崖蟉赦 轈\a殽<勯脦H<5_禘X倍o@FYl 潧篺C昷n黇,B0L7?辎耊pEw%瓐[fop邚0暫誣tS)対5d X.猅lZ2V [諏贡Arv鉅偏2[覔 `鶭嗵蠛9汬僟 y-縷w冹x烓柅U牞Gj氉綤b ^m鎗26职$销齸3騽漬s絎蕜a齈D+ c嗔?鸷﨩$ U嵄茔歽L泐垒皉q&鞈弇翂2譊乇劐]W遙矔卌嗄凜= 奠 d瑤8.`災,f;"烯ze$ 軾 玘炡乭U3_魢Z豶0+阆"ん-縷y3硧-! 鄼p遉.竡7k袹磂e4d*&菿鈍澏rd琂 ~嗞媴-※/o鴩^ 餮唵l4盤g`IJW辎╒&鱃p=鱃NVO讹'陋p/阘fB;尾滌鞖 \<蒛戣sa骛謉耳F弹`FA(餗6a9J═蘘続爕u e)堡e鎳眶n耐佥 缠7叻!L軲徽苤py虫`浥厵遗1蟎=衈!fgWw`k蘚證 貆\孳B掹魞n鴞^{p;疆媥騅э6巊嵙/冠 禸1 疦丿鐴藹肢ZY.7揗+資浩箓牽V3R給;of]- c+%`惴灆8? )i禈醂倛"秠 樥态s`赝暬痺葉筝W憂*}-岉賉u2暥C暙犡JH1稪豭;;A^﹜i.黣"Pg屲稚妳h迓囓鸱兼璇t,璲愿葓緜(壤哴^饃=:恂堓+L1套V劣罜@燼嚌蚔棎炳k R.娗蜛ZU鄪摮僫`A浞 A汃臉椓)覢_g7`暬o袥<黈锞~!麑划n繢攌M"宦|爫#K.怲罕敔壆 " 焕K`臷8畲0~11 砶v@迖莛7贱.=;蝜,I胬愯R-佔炤嫌 } 稁挝0>Q ギ牚熂"x繯伤狞葮箯碎fYf:5I╀*E僣02鄝砍鲜&vC捚備栐 k饬tq离赕嚳忸瀜缯U_葞繊}偦傋%/俈诌猀k7 d:X晛 AL6gI\7瓞O 7x昭l%kQ"盨諮牄Ja徠z$i:Hp4k踧@ ;8E厣1惐-諕0阋肳彦/γ竃╞柎Ⅻ烲.枝(萫櫚) 9媓,琡l时 Lq漚5屃濘餡軁8=d焴钦絵婟epgy㧟烚槫?K6[a痴 !+>蟣#H[@c羃凬 '/丂~盂:犽鋻畑7倉垵6j綊 αv酛Dt`r灠L]螱疥M餧cBgq枼?0粩/褟.[踟37p 踡莿l澡槼>號磥狊^J朗.B1圛墘獥f顸w嚺痳釙鱘w恾陲_飵诗?晌1 _鮆隮J蒟拭W只x B?0/Q╠闱7军紖巻黪  貐晬5沞]灿h傃8?=饩g罟W啲瞖=蔷貦矲*杻"Q 唖鹓等Y鳃0NG禍屄E瑡\呤*vi驋秡)Y+糴 l儥4`╣8怨绤W輘}A鰶辴豸s8Xce仨a,薩1d)$|X$*絎@俨捜7钄3呓/觰=j;B陡h雌猑B 謾ag嘉<砼糌I:$璥h悐r]^绞"c琣#s@闈n>淆7徸櫋$P;<8?Q]噹旭誊僴偗P癊fb.3鱃頷`霊雥堭粇 螇PA锴腀9*Y'蚔皼麄伉撀 PA贖藐耉bt欤鍢 5"#轋僪缾!s!巢蔐@:馃崧k锕^ 縲蹁~?80 蝩逶+鏛戭 %mD.緸鴶t#燏倡澏k婚q⑽;B轿?S|駹L8>犪gm0強鮤騛澢剴誾6砨b纷硴W隒鮽農b戎\Ss幣U[鐜+'c^0灇g蕗!0燻时5猍,璚c[3觛根誻怍mXd*谫ZYSz)!溉?侓7A,i"9蔩樐)鮋缽ЙIX 諭襳1dgRWⅥ罌估a~嗅1G趰u虙癎C 螈 斂&瀝僘也R⒄#馋錳遣 A庛偡h潠.,j!h翄gUA訔8;鹗 \跍P崜vI{9d燏;;@栂'欁P+`蕍櫵猢7,軯羕岼椗遖.3>髞o%o6&^iH微螃0[]姵饉蚂$[m;. l梗i+Y>欶獄阻p俌Ao#U`琠﹛瑘m9璲給%昪0!U S.jf h磵饖(鄕d蝚d!蒁N櫂Alpx豚79蠍譥=7;$奮8 6井#挩槵杖[U眉淋汙>桧-譮還嶙t荧FV衧啲 J枖u点耜0%;r'琧鎊'穤1X誻牻欌r錮+.y杀[緎A1阔洉f儌X8龙kT カ&/- 亞濔r39/F4徵J跃䴙 YO梊{/o鵎W尒e骋謣,膮C扔#|鐾7{畊'郍m臹丂,哨梹飦T#O)$l噧参 叝壈';=l罟g/f仟W,Z肈留Q64#堥0s篳2^Cld範趈!猟^趵CD8鎹0珨,5l蕫崶.!}'\{)d箨夐J> 鎂縡'舷H$樬6$/iKi!.俰莁xp朊o鹇;畱ⅹhj蠮 樢4%*厑絲=饡罆巵矿燾8x=;皍 B潞5{9=vx╈餃yg7喭徎啑c填$p撼@ 墲F礁(″聣0砻矐%5/f啿0鋌匑鎬藾瓆i鐬侬麔僝辜醑ê3}蠍畞禡m禕L*5笉b鰼>缰茚1/|啱_疝7隔Λ$$p':擖Lr4烩:囇aL:W膢鵮ě箏*m峼v"{膀(p蹊{Vbv秂匛袐>t 冂︿{2#H爸皳聟0兼E"9y S鉢僪瑅踴: (暸G改埈繴i+幽濟鈪呓鱘A錾z]褚跅TP豺3淇栽瞂Ly)`薋磵 娙;gf燌7x揎\鉙Z_c7瓬:劉曚1缗p ^閫 U{1?b謲^G(62椙渲l:乑烒隚m 岘箠ei[巄銃n蘿_摓 K^悾d|蔝 嬦貇屭W哓e.模a"紛M Vl6 荣咜4^}`I榋e1雲~镛sYO~蛚洺t 腩/ 测S寰06镧錆每揊侅P笷谡6x烨w碗_驁<鞣甆杀9` 镬︱譴葀{0?爯级5><E辛M鲭准E0笙揷x+VJZVVX簭謼z椧侈{咟蠧淤U/容_>`62 ^uQ岾柍宷\天{mm挝v簛橎% 藆5唋贗.坚辳侬}鮹;!u色(Y9 _j纨~陼\醌腤<|;"W亹5j韟佐`r]仺|纖荐綼騅<錪(G琅瑷x5氌g'莳虂璖虛骼浂蹋K鄠孚)5桓軽哳5毎4桤暣芩/覵>5s;f锠,O!(b?B`m当K)`艝0%k\:X"罡矄3藖Q勾^3y貙握7 D韰7辿 W薹=%肱)雉yA3跛y僮i:瘳.y-鼎]0?6W唁$-娟冿噗^u煔o0>陃搥岼^#^;$*,T黎@ S30+z杰摧k獌琑祔"cS 级舕訨= 距gVL>凷u :薳t%H 赟c8n1@謻蜆檔吋i惣辴镔嗢准饩mT*o@^蝲^鯧蹮╂N╗)訉顶膰IZ該>魚烏婝3嘟9锠-f菚\b^佲l祦橎q瞾wf戆bp翀赼78$禳阐 ,瀿摲dg/g瞢<5,T!拙瞶喎癳Х黴霔.]渊6觑娖暝A矄b7匽箫噺n话6=B雷}{2?疉鰖zZwe訌劶96!娶WP3jb:]b嶭<#n鹛椷'Y躸&^%T耙榾;Ee獀g絁 橩銉0c0袞两'掯*h1薍n鯎!0=`%`e俻`A9Y赁滜魷&漱趬>.Jqi楠 賎FA4喟I羆h9@8楪"戡MjXDs玀S絾銾桂瀉葉醑T9\嗟uтSj1岳(W}穸嗧饽A匛k605\偋|訫烋薟:蔀9) _缠plL禅襪Uq矛d'KRz x%{M\$0熲殲 \^肗聬呫狌`蝟91蘌u蠳/疷 Yg5140g1Q鄞_E;D3 Rx嵲+锄慦俨 Ki1[琸7{n亏珺霁^~eO5ē拯ゴ]a0尢悼 j!'陇,舏)u爃LB玄7|霱唪骔峻coz/\ 椽|yG啰%9⑺:聲 *1鰌nO媐耗–Шc酈萰7槼⒋嗵.[瘓W$50摮f*+"HL秱/ b祘W瞋 W6疺栉ㄝ惂鮿 鬸b濧赃e皾:嬞o}翳|7夝:-鳠故d$d"畗㎎W鉅艝0[%P佡〤aB-m鄈su溦弹)$0<0gNvz1招鵬逌^佽As<缃fV, 佾躕H6X憻G?薬閚ZDC 酝衋貭g蔶怶(rL訓骾AV璘+]Z竫=g眷绡,暜抨U0]朴,R質2t?Hr6 H楩nlp}铬烨茱+>hG芁_厵"釮"H}uPJ稉c RJ6鄉悽醍%P}G X(Y9~咛餢:禢暭dTr嬏<繹 <琱但犾W7琢5滽58A迄q4 n鲓阠`c@癦 鹾B掀 (傺f&釈嬿躶 ?{;;琕l>V划┃ 阹跂ワ1Zl棖烍窺脋'朗羕XIcw钽2l裶@鏾)郌%/B槗峆K姯&6舊,楋踱鴭铠蛱濊9奩曯蛭z=f飘oj鑓./雔}wl溰妽&貊_#竝R]揉U穹d5vRfk)]0曯怵餟碒黑至帨=葉蒓_Y l昤] ūP蠛5G[楛2dm菷00;?&_+f,斥)拀\A+鯽3佡埑潌駻G挭"Z3yA蒌璁勝+`蟉o翹H庒: bL宸|G輄V(W]Z:脋 膉b7砷輓^剭g蒆0衕 "橉 杽'-陟嚂緛锝鱐C罈l莘Lw琫qV&悮z皪驗@F蚞i霧U/<髦|駇WLて20l屪敧鞤M贪tr+鮔 m隲7 ︱桽/U梂(f購蒡 挡扯W嵇濔 s:紖Y蟛瞃]詚0}埳嘕寏唀 (?!癳`!^M+@wk闥9+:U'W疗╡橚/VⅥ ?yeCGu┣篣6 徳US"棈瘱瞖@aEb搖伴馏瀙摽韷峡b╓3%~9璒 樧璔簚"lGH罻耇這儊 ]a<*贆禛*扰b尘汙De僾/'C桋–諕牰! 肰 翺慁鵗詄+zxV笀*].野Z積糧满G厯媝iLP瞙琐潉刨c傡>`簽Й懞DJ!k6'慀激up.5/ 瀧%5O朙泿 *`驨欯虃 Y.e买愔J闥 Y 婴i懓t悑{判┹ <唃=m@/騕綖X( _VW0Yp3P馲9Cj妗酢刕-;晬6OJ _K讲/BmW胉'敟k~p棨k:p裢鳛:x鈴]丧矕娪Mx.!3UM7NLe*賘蔨奾!荟牛嘄傦 X勢\ 劰WV蓬+Z篟噽膀鐑ij@醧visVJ趇淀T;緁躁4~5珽9* 蘡&燱漖皕j绽!瘴V.;TE诗鍄' 臏o 6 (`騞9砢#顶+C彈誾V 種=舉6戭*; 閧9{|慅讲8=q翟1("u1U內奵$鉡駒-6舏側苀瘛鲺/ 拉仙V&帥0 硬3=9砻R伴璼Yl~妰E║]gelx >漖硔燻:kX_讱寕帖 py裉h_蜶=(僘怞嬛饚\/u=s*I 1U6璓&M>DP%K[2~k 郊 kE蹋$砥o{栎U鉮瞋鴴+{ ]m幵昑祳Z艵橇E蕯挂o鼡.2Jh稆姏|畛岼f艢3 d媮緉v"(=跡梹0n=燪檙gXJ覓(v瑑睙E;B柶.G,琂x虏钱翥9侹瞂` \L5- %`蝉@痋愸bo蛊 qe炭伋紓槥J赘労5L儎 诿**Z 4ot叟?各碄~1D栔 『姫5r拯骰睺獇%/襩*艰獸椸s%]$Ra-2#\Q+Jq%8汢m愿A勅%.賏x<蔃V絺O籸X&楤踺J鞀53r莵T痾厳o"訍鍫6陵)桎羣.6j\秮拎/馊麻^&钧僲!梂 "^P枴\执蛃鰔!鸆W獂姖,K呹nTM 飦J5e,*偙殉嗯O毘燒+抟% %K亃%矓Hn]&jS-Ω俔 捁磣崪%賫=fvh.衵窒撆d批<_憪潾^,⒉蜮<湫塦枛氛B题倱X誵 妖5诚閣齤o暺1寮慲岶sA }U胭 .壷]葚<鉴杮O瞋饍W哀4k匬A"3>@q1禪罄'x鸶g+]笛瞝帉壟瑇@)兼Q;oI怶H祣吞e9颂頗E 紀U嵹缔@諒 薱酜祏Es 嘄`眛%=qNt眕`9&+碗g鲸閈<7&@劮!;梦查楢樐Jsl╓鍰色X2焉%t畍c9O^摮 Y齏N>%e潢r唉㱮つ煬Y悛T颠攽盁醮脤'0 傺麺q秼⒗lF蓺=qu憘/l獜 媗岌蔔 ,傞蒙渽摴嗴Z牊菳5}睌@Wh聠-F l%Fヂ+g芣 zFLL招衼+b[9 板睔<5礿鲚b賷M3埏腢n敀'賉匡JvjNr5A癴 ([ (W麃剗7蔕N kB6 2笣r舽促F[5AML鮻"8崦 18n2j掹ìo=榬瞊FLC_ 媔醏Y" o 近s-b萺Hd罶1/yX-6濲褤游gM豏xIW^h萬葚窋;d_|e疕輺) 貳峖Q橩]o ?j|僽?*PK煤劉寢"訬- 訣/9)榸綆D剿零蓹奻錳難蕷咦减k鏍 d'畉 sI腆萿厱唋x洰T WL蟈.侚17謄[r业啳'Y燋絎j摥jPE%vT確臙队~鶫叵Cよ蒳家b螁7"lg75S雌c氮wB梹H[!g堑4|$峖n.J^b鄸 o,Gt朦杊 嵶y: 8*4巢b]萂眡&2寿煗猑' "+C&2*k%1M馗夼 鸡鮨UH+/]颺J扃攫蔮ゎL誩r5佄m篮號アzM=o究盔镺JC(])胩NU粰<ji茭%黰r獁能骲,騐C鰛'M8黳B0 U嫻遗 痓耡尩 ZL脲 i.悑R\毉rbj眰痾 xA╙/1T+0鐋兗氲2錥迤^|薦珘w慅滐共H.+9;钡d艘6穑蠝 鹖_}h,DX(趓≧4UM鄏:寂X灔kr唚腟y﹥`:M.?継玻濯蔩~鄸巑de蠢 醭驃h槴e璲a(逗惇,8庐

у.鎦睸<Nk 呇秴*ZN 0濽Fn9虥Gc枵Q豓+唖鰇刔摵促蕟'踟皔冨夕寘站<yc徕[n+頝矎}迺]M糪] 暫劝uY3Bp潾默少9`XT惍RI熔.荨蠱轇 i兗A@U:0喬晡Z!鸫䦆YY=噗近圶崞N韃鉩e秺m4馶?驪譙/獄戃C+莙a妏聶 kU絋'楾p厑 ?` 鈂椓脂噽 甫琅啁8杝2鹭铼瞖+唂q裲楿刨嵷蔤]酜嵋&諠"U[)Y籛@X絋qb碨C筁a珮zV褡ニ_3pI :置糹罨%頶1膪y罖^ A铣髭++vl窛僜q褸劥斮8鬭隣X'fXP 镊e訽傄Eo霭2虇餞7痝3鉫W)9;?鋴o}庱d?牍薼贂>繴&lyQx虊{,jz五蟙+騱I%劼峙 M萺1 枹湰i艓樯F磌Bs7吅f桅,橨v紉 R碸貑/1]喹X絕8bs璲絷Y蛙昝≥^唨1咐/x昴椞肂?+泹9堡e杓Y.2mK鏵,遽䦛进7$螇A1吖罇],筊鴓塰-砋k0l/O$(阓b祱捺脼$[(yA%"U騜袹K惝歂悸湰h橆 Q熉豻y犰0婯诓ps渀zm 秩肾 3g儭0丵0+\k\B葿 &坡Yv伌_g 桜G"o!紊赗4c )o慽FH掇^|p㈢ 3裤J昞琔ol吂裑}硪o坆7暸騴8敭a+蹅曂B腜詵鸡檱拿S眎k X奩:幁@P麏d,廸$;vdfv顢礴^襈筧<:/t 翷喘-勷妓枩n恥 CV&湣X8%悳e2=\紼q 6畨e貧饢/觉wq:螇B9W>@1BP)Q壷澵 绤FAr,#.'黐⺋雴E0V孨橘L7梣,偣剢ラ)2,耣V繿f朇={0赱柢谹;7凂,l錞Y6 f繍品=喞,THv 儈N葞悤{曬室R =47訸u-輶燫磗 N祌咁4鵓l"86?馻h紗+KR瘳應掄饱{p匬脄雘銛潛勳?龏)WW僽jwZ薞i D绘瘩j坰,Y樘2悕}Udc秈繧 鋟财0壠Y(f03vX騱軓 9A鍬漳xr |褕#.A?玊_顱賧澧,DC"'庂纱l0j薊d%旛xY ; 鬮駽(叶`2褧1拙0[亜iw+伐煚9:6`h|癍i=' Y燅瓏暸 軃 C`[蛼W餷妩-Y.s4FL<w牏磪h睱乙.X荽2B@:90專,[6v 垼S豵玤u忢冻W塑4戠~\砩奣,i鈎/竡4W4&Fm烢h7 犝玙5這?0 眔F(p2樻瀰?獿'e)j划1sF宂V鰝髗N9a葉7k漢乓鼎-譞o"鮆3刣挛桥 &D- )bB/8U磽+g(誾0N╂Z=膧h跂9K卌:;奬醢畮絬烙砈湒1麗l?6t & 1趡 ! <$峕x蜰,]禦寅賳梕帆6嫺 畓蒪B2秂簇夷t猬 `je孤,3`购駕锦u8#绀!旨h%秵杒` 镭T?}砠譵Y磳渶ud鉎P^0珲瑍柼拶槯^逼5堆p敁e峎爏B覓F{議O写 +N俓$蜸Hvd獺杼粥瘴体ō禬V5.2vR*x,Z? 偿9 廫"琀&i俑f粮P2aJT:揠_嫵vN跆命聻5齐癜5k $5琧癲3 \伪 萙每遟攖 8a鉦豀腸 :雴%餼俛 霘Xd问FF?g | "c擂=鑗'A氛N0 XN丄鹭歽8$歮HA-玴隠mk騛聧%奦!惓:覝瓍┪匚憙P镁g鰷齪%[w橢车蝦],]|栁f) 洔!薣鎕|A蕮] !=9"`鸍7}6彻藇 ":B揻岆帵D6hZR╙_鄴坾鳁囼乷汫域.鹞靌à$C埻墶+ZH>%&s脕 槥c綅FS諅 ;屾ZD6溞)螉a$A闅槇圿_殴;睴;\!Z薗-骙=cp-悧畱3乐PMd:丗N褨-m}:腰I亘}qA樄&l毗8 !1j屻 猟NjX潛e遑HyKs+頊4pvq0爾x湷吷湞V$譛{#虗滷&*^M- 8嵶`! W2H爘彝`並@忿奧]椺鼮S貽铆 亶贇`vv傥@8i轊唋&* 隴lG宎.9 ;堗K4}&1'tkT"f橅N:硠ぢ矪耙扼禦2N氲(s蚄黤勧"崺X9MAN媰l靗癙3RI㏄A貾辠y?+hH W姙 6觃唻o%\鏣@'胊昲=v"咝Urn黚葕腞謯漢酸./`C!,眾 1珺矄8阵 ;弛C埶\$Z HlL妷'r 漜u驨rjI8剢濈嘇e咽8赚[Y f+v&l(f埰 鷈潂/絋N6iū噝!镻W惕ぜM颮dq叟俘sj 吨⒅I卟腣偖U5a紗xjkKr鶟癇Z恒 萡l.k ;:材,k2艬竁懶9 el 廲 莟 圆*Q0T󔮶鐞[!Z"嘉騰啲~ 衧 犤纑7@﹂`&/贆丏LW.柬gq]炗貽z叔z硊=[7暜9g翏P2j1甡鸟* [ qa酥踝2昮靣2`犂JE炨@ ^;i4匲c媫禐<鞽訤肼WT阗@I: f嫍鬭朗P|t淝为EU^B眬镇6m$,Z Y椭熉鮹N d|鈸/瘮眎懂 5踴嶐:crぁ%o[Y诓卯剎WB剀E`庛d 丯虉/棏/И[J眗jm╠ElKM>.驳m疣 赮欪z榰L军nA,瑫b柎0umA^ 叚萤d# ;樍阾КS7ces@讌俘8贗Avxp台~軴{蕔悄諶 r%潄餉R宍bl啖诖秐 hg繲礽,A铮劐%鐱鳀(艾驇1軃兤" ]㧏k樧秐)s斂4k `麎:*;]烞i聮敺2Vh罭瘺uQ譴4P襏前jdKa绤俘h)U領棲,摥K,准t5骕)g 齐XdK5 p 旤佮偿&屁卙钂-滃俀0(淶篮怜瓖!Y- 臄暾啲k1瓠_< ?滬-;HT罰_0"Pz肧$Cn署OWV@Uе蘐綝\嬉-r闧櫮r7葛n<=韾痫炬蝾l]g 蝬E-^ )杭,V惙l 䲟弲/"聛躈= z6长6趩巵n ;=!{@j廷偓.y2朌f躲盿梙毴mxs PS4樰扫漄顺9 EJ戊攝uF9/耵n 鈰  矡鹫桵Z`"[`憈E臫Y 瘯痥q2f 赝揻葌脖懿bs晌蕒s-'iL#g6r.瓫Gp懗迴Z昍J6瑳:FGN 暾佼W^乄彩佌F>71;Q驃,Wj鍄*喩z76g8_鼡7z濱 [w挳3\[譩紗b萤JWf阎獮e _d 淾鲥刉燩K忮lt|盿孊ufH骣勜iE,f-霐0梙CSB拄 紆算~凙鶺A铇h~84孜抳"l3笠Y璣V (`璔諎R- p涌含庺lX%/≈)/4h瀩葉[梈5x5褁鮱- 嘩@鲌孙XA卿t,ve男鴜b詅v藹鑆=`#x$' D茽sU,i癴B睷铁█撓R'焨箧Z ,餫瀜龑穭冮鷏.塛魛c贍5牂Dr惭k梗oH UkX佊9莏蜙 {颠.飊庁僧槦'=巯 匍℡M稛|僴  <=dгm!蹆:7蓉褠恙眹d:僜HuX:蠚鼊3剴ド.牘E25p仲^-嬁苀皨F离噛[`w&#R黮圵D5駄槚緺ΗKu0锭z'':抓'蒒かdA肂R砌"i $g肋嶩釙5嬨醩')怑姰;R;!;嶏庋u骞卆鼀*虄圌 載 t觢Y7Arp巠2 $*4X潗磧P=榥鍵弞v竵&炔B-宄搉金鏞m鄈怇 糣祠^塛m慂'娄aRg u(鋾l5疍瓛盢瑴q诋>戔%RImQ$牊刴/R軵a階藐颒蘶GSb酘r-鏅髓堝9餻豞;想驘撯警 ;=[@膄滺L聛際[橐蝍2 ;d争╗<] 靾W刭,蛇攊1c;( 滖」+oP颙烬前鈗Z鐓^8齽W歲T法輁経薖4#间蹿U0ig(璫gmjG煑X+m葀肻賐 乑Xt+秆[愩禍瀋@j貹譶▆i%90:WC=K|嵯亢懏A>鵼嚮H譩]似珬x 猍IU8e硳庞 LQ(-S哠+DJぢ蔵c梫.(*X簽ja"'>E駇偑,? 娚蹗傃傡樿毱湞超Gm 慘*$藘?C謃!佪  馿 p 插髈>绨2^げ犟  欃鹗拍+映V蘤,tN]除\鉘x潗o!#\孤3鉋.乄/TiD沝(<叼*疨╣Л戳d)任ㄥ:0阸羆.{唞揮0V谼)\黲_愿 矡}笝3^Qe縉蠋刄.A愐魧梩B:統挤$玿蕸〥am*;o熗t6^r闺4 卝 Md 榒嵁S琯婚3K詚萙働苧堓濇 g'O:20 x衽亢滇珹v妁埱,譠紗┈ +T :隤楉P攄F⿳5.-WExM"3RUe孎P]^j蛑蘝V骲C7譌$綟蓺=疔許+ 覑eC酆9薒裻殧靵C噵F賋蠂?鲂初漶妱'煑輖i梄a@`v|)zjD*$<摼A/ 6~損 ?θ1嘈1f學2犻澎06! 諮6喱U"IX5M>4餤/fS渆啚3M9溉弉餵愝敵徆\邟`值葐P鴠"璱d 毬+|4砖p4S[¦7)還%长|Y <^a厵f0%づ琯麂%浡+゜W琯箣 bV餪掰:.萅J">璦獳va焬y嶑Z峎 }但[Y`~璅m-.瘕`4倦莇G啔错#雬,岞jt馿釻zf蠢Q|b欆t悪埣.绍5滍&LD.剢,V0组\A譋巵少駢峍 阐勳/k@义xM侬@$Ь糪鵮|虨两殯5取槤.G"耪獶梊v`w8-辅銭%A#L4V烟g%7:,s6现始A*靴 "d荙[夭6d/郼d忛O縷倄M侬?P啦铹 棱C Ek饝(pI蔔厾9(憖5瓽.壦d畔(<炔礫Ha1:"C6忐 &d婣異疳峂 睬貵]k胁U呑Lu 賂l傈xl继┆l)lN騐郫18尘郌<肞:Q閞苙Z葏4乚%捌OQ梥f珨l K骇謨誰睍瀵-[ 啢贀<暧.^StgLU呑撧膽裰^覸葱 1?岞-T晵賆濰 秘C忠TC66d+5禅i;馡2埭蒺氀趁p`鱻〕舕=dC蝆#dO霹怬筡╧駣B6硕_臊乆 捠扶脟:笫瘇证軗j=`洶堊&挼讒C1k .ㄆk +杍5畴詋:Z@A媁Z悵<6G瑎紀cP冹)沆']5鰇 \盬l> -傯 R瀫*s誃FR3 G袹J缆 X4i壅JZ娬k ﹃Yq絺厫%笲蠚!Yo圆. _f纮#辁皢賁z>疘FB+瘖j豟棘璬螎E3"l稼獵欻4协 觻﹦ 霷Es颖-J53攤珼m梙E9鱤膇=韾餉焢樎kGd5劉%;<>歽睭50:閅睬r :Q噎ux 辉(绒:2秎>Z@&gM膂`rD韐nOF璌./郵hdd?䅟%^k猍(( X@杮P7i咼76!TG1I]迕契. 爧 JuE0N5U霬 dzJ=惀漯C铔IB 殝8t惤wj|i鏛B}茚.x菡败觴33驂%廟m(谖-gS5蟂虏g^y鮦6&d訬00,e#qc倻52p鸱V9蹛街荾歪僙鸡髊^缞n趇呰婡鞿%d馴矺 K"樺0gc檉劥贴f 3!竴5牬sN,绵瓆^楘&碙 MX卝╝儉 O杺"诮X挶5* -?淉`艺rQ毉5- Y铌^撂1镒刳矽勳G歺E]u+霯g'愙祠+廅 蹿禐擓TJ痞朠憮璱=啦PAr嶢e[mj妗橧8>塭>氨禎 Y圂x*p,"聄皨lj杄MD,!k+lP"鋳`繲韪驼罵vAQ捆莇杸仗鶐鐁}(nj詇鐉侅#?葎騠BM灿 某薲,,+俦潮c@QK壨酙燲移講dW燋腶@>皑猶臽胆櫝 俑 !cX2墆+鎟檺5肵X挋 %茂jlmv擉~溉,!:6o, V!$ K粈誸 R.璸W矙h襺 OjxmvK染遖?癟K-偧!y6hC(jX6=嫇 Rv[tD梂懗1v熞刳)囲疣,Ⅵ}哏X\r4p9;VI惌暠56凋k嬄W(仍妇北禎禀炯墍 澆&l(橈変m草k9d莁u+P丹頄卸(茹鯖[踚=误.o `梄Y垄8 oY 6DE*5,U碝袞氤[踚=绒r筤5.T櫚聃學@2H%,霢▏,X豫e萣A貈)堽苗4抖 {忡絥綷+`鱟榲Aq4 婵PJ"a率2楖sW!l3惻0俾ウ蛌纖6级 {Z 麨椃八 苏>*@l#d讁滨-鉣赩[縆倍%軽D亖5抖 {9麪薻l滶皫|\=倠B%藫8e$oi砚疎惀M葤抓浦vdO鳲/'缂喇q- 怴┅釾σU勆-,7ak4葧" [踚=+缏.'A鰖褔 愂h應(m 矘'vo陏捝L泺鸟襱A}Ul r]6靻A啺K8缩l珓,柷 爅\L/ 贅秷Fj齚ck; 瞘<//袄.&a-JZS芕 庯穕Q仐4抖 {~ 鹷.歃A(C咵陉2W=d9邇$c愳孆褑譾dd<黲^.愿p剭+|Xf嘪IUl`闰>蔩羘疅hlmC-7頷lK財抅]顱6紩~X9叓[!*鹩嵀泶s紷鰡肊謻箆癓兊-'X广8 諏?絡 n98苎"7a9涻 (裩括犵"?~北禎v甮>;LYX誯"瑆Z冭k鍺60Zn鉩R姁膨3即钡漹dg蜼[vlu虁j墩b鏨輥K痱喿v趇 9嬅SKX丯N!U_ 'y譆 7湍慅掌講趇怣潎獍"vw6 ,魻櫤祼Eb吨+[踚秞 f祚"'KX0&YX1,xUck;4.=7Ozvw媊a9Y 薈6\Xk鮳%!媴^迂贜; ;rLX眲聘櫖螿痑盽隠厕鴯浦v趇愝<ぢ焆G%跂蠡鞤X膬絊蚙痥xm賫p6籬va;硿R疕飑5} 贍[嵀泶 豢鬄枠=w,費K:'K纎7抖覰冹qrv 毵(犒B鹗M鄷^iC鰓[踚鲽蟽厼轁癊 kF 2醍紗E 栠胸贜; 钵劤{&,夤莯怑盼.拊& 队N冹┾祛5g緲焹蔮枿b7抖覰冹<洛談M釞献@6%`憳G胟;4葹9晤BX鶌J婡|HE梎xpWck;4葹Q沃枔.蘉 B8凛嵀泶 {9粓皶FA裦MA?{ock;4葹凅?[OX燎ヵ.洶嵀泶 {9[$l(权W&录贡禎vd枣 491膭齼喿v趇惤N位k嫸&Z@`.缘l漫A胛j匐 [|p已側]@i倭-嵀泶 鈘别E~~kck;4榷L∕D 8涣刎贜; 岔湎籭蜶贅载贜; 矉位垬Y2^踚禔vw葰匌闫講趇恗愝雸趹皁klmvd翔? 硭n_v瘒/籄秨夙薾_v睲薹覰;盱 瞘翊6蹢菥祧e%跱;泶覰僱;泶覰僱;泶覰僱僱;泶覰僱;泶覰僱;泶覰; 岔从N;莢壋gIEND瓸`javapng-2.0/src/test/images/misc/scal_no_exp.png0000644000175000017500000002066010646327754021701 0ustar paulliupaulliu塒NG  IHDR[ER愍gAMA睆 黙sBITM-bKGD曂/ oFFs-哫,pCALbogus unitsfoo/bar1.0e065.535e3W@{&sCAL3.52777777777800043.527777777778e-04齬 pHYs  殰tIME:&z tEXtTitlePNGy5稩DATx滍淥hd蓾?9搨 "纻2腀<RC鎮灌!kㄚ涙0P}S桐鍥曛u版:攪佒了鋋 櫚%L冝 C7膬*x濔聬M!^Δ*UuU垲眞鼉G*3#泯"怊琨!dX卣蠌+縳跬=h甘0:喤y咫寻g_骇"<+绯+荔Iy+Ma J澍擅臉~頎gWU埑蛿B寯&藸t灒狺萓5u-(戨)0u=餿>嵡{聆>胋鹧ǚJ_蘂oT軿;攮GU叭Wy髰' ̄g珁午/_ 査寍G>胲滙蘺娷瘌3=9Z漁.檾n6waZ吘vOOV成c鉼唪鬸X渥:0Z蛤5?{z:nF牔仦5i撳:0鰧鎡R s组咹d盥徻x~|餏@l囵镋幺滶劶棲袮销u喏吇鋼a*徾Mzt衃9鏠!"涻)=?>X}r4\<皋'G =滿J镻鰨F$#膯*D3坠s皓驦墉5-\\:X#晳e卵颖9?>鹌蟝4F呁1Z(呇L\瞼肄砰れ 鱮褸T鳠^t 绯瞫Ⅲ绸加3..輅m憂'G谜╫W弳経溪優=?y衉絤(!謃䲟}{穖莐诲}E変嶛,撱盳麩|X洌瑤Zp騪鐺 o覢辮黖昈 W 7喨9&8y0\徒G:R吶俅|}馂U' ̄阓?瓗z泫諏鎧)-僤湪魦昫傮*訢雷貘b~噈9鏦>p:)鲮柩A睔栒嵘Q雧郃縓U*J鐧擴鏱:e钻5竜铱Y 酜_H8鯪.嗀0螐VSWMo n瞭る:鈢峮W綁憢K邱hp滯哸a俪#"_Y7眲n wZ 棶 k4J`Z:>y匆* ui垐d 0w5骤蹆缓橢"亞炑h%伸>0笠m猕B0(%\@A壖2x6纾O'%.袁誤磒t畜烳鼢-F`RV濗櫍0逥tH*菘5詽疳 謍&y|绿柞芀蝄諌 @逐狍dro啎晲a曓,L覲潓=_楞绯庴鮢}>昏LK?訏眔uuF╭他G纉ig&<熗虯蠟#0櫥蛶(0均涧w拳惘泊(J刧搚噌轹T?w:)飙r~|癦橇縒Q"9=Q懌撞?|r~|*C X佉蒸 谬煃o王絚躱+=洀>?粯怀覫鎨焴4Z*蜢鈷\%[雝爄`*b尟嶗誼縪蛅XXN'e5)S8 )頪榎:" J掜塂bL9pa枣D[k鼱g佂}輅嶆蓌z8w讽嵮搔棔Gi藌襃dt8扮A垜由%BM坕"閞>爠<膋蟪檟粩鐄圱u1R豪就喒篪O葆跑檵广hXL曋龔G凅I間蟦G浴啪M妦/VY桙z:FHCΞ娜靘妠m(!<犒霠,鞝gヽd|榘檧Q " : 瀆粖~懐2啵灊]b儝孉懹硢#鬟惻鰉>哼废,/0/胭倾賛霞7び薍鰎.}M屶珋Q掠9"俈p*W蓈:秞MM yzH钗U""ER]璤綮J*B埇'}缒焊q毌|崼$冃@焇:.]嵰>4淣J甛嵮痨馛x闏<#'%}涬斈E 奬 肄孞 构 )@振['逥:怅H,(庭朅a肮&鴉撽蟏培駃'冿徫Sl盝1塡 鏺蓵弈"傊閽鲲猲(rEa咱5顋=僤 8(r嶨桅%甹盕H谼a5Ft#X%O/:W嚴昧編:璜喒痲!遄=冎`M荫z:k1b評 }缒'楊$艸&IC摬忏鏢蝔WH&X昄椫侳>襨Ea椁c珼`笩cs q{//茅貂筃`RD2P"蘆w鈠褿胋錍ぎx錌:^孴 謶W啁V蚱<{敯:8A扖汗 侒握g3W6?ぼ9駬龝d 褱昻;〣|  箳綫鶨~|4,N攼鏙FO鬫K~砍涗扫顴揋燩"7菂B耮闫l[迄武淞衞飈2郎娅2%_ 鼤佟嶬芩痜UXl叭!?栀銦綆?靓*擖lrE2BL幹搂霏緟尹A非伲払狒怛杇碕巼=M唸R-@8fW炥狅B>,鵷Z|:uL适躼;栳喱 嵐鰷雱貐坹艂|+M踈?嚎?畾&颷{痈愔吙 !寊謨P嘓j磀沷吶瓌竧醐飤+M*敢坠s轟 1 L澾焖Q袭碞!n諃H磷*蠪欓"沦磡zs套4瓌黳P<隮3奙C\蠮x翫"TO/鏉銉蕺)蹴蓌鎛8!4*%F+S厞就p谐埨刀TiI沯瞠裖Y黤Y?=瑽 员磷憓k樚uR5箁誼v 詼瑲&圎?粷'崷吲8瀆:WXs,绹鱷訫鋖V鈂綁请毰沝=?w>泃"`嶆p垜褴眊眮羄?玜憻$±嚾'w1拫樎桡#!F : 嚀碴糹翵$/N鄮磲 mcdr殚毠kZ衉Y絉斁F劝F栀|4o谜嬕 諲=蹮諙:ンwG+ s鴓P!榭k睏⿺唯汿堠雝寎屘藲耯BhpulL茣(侨六z欩浩5編L]4焰寀牡鮨>鵭/V{芁C`+d7驁&]4欭=呏)SN+萂嗴5 坠H睱x:c脼裓~騢矼旨:F$霏哩 瓛1|8(矮Aa螎竖cDZYzb箊K-哉 利擩5Cl萵|NIzO矊4$畖:躗沢% u睬 铬:畮h7N簍鮐c1変3渙0:*#2%勪⒌dL藠+.NM$r9&IFRFuz鯅1箆邕2榈cru  =玵続e癵Z4巫園 J 骋A湕L銳SE┮礮m涬kO睶笸D8!rc檁螄i&mFe>挍 雝浌)鐻 5挂LJ2蓫H_奠欐乞剁坫逸渃耓hdca"懲wi:D&&ka赽_喼4趟kT夂饥 %懭沌r鼢-D0緅(珓蕱>U鲎Q澪豯铅篂cF275}g鞈 :圭(FJ餀{酷蓵.P撌蛂崨|rqy/r\垟>-R铡徕毅|M埄蝎擯7檑ZK{] 鷐#齈2eP(Mh/K&ィ墣K哛矇膶J堣氞臃蘒悴 Tu矲 &ee"駃 >D紡瓩恍毢T6WJ%薆"6D;蕥PX团^y>;|h0*K羫LK4`屭咮2疳椁2,i-X 忕2綨;6﹙痷r臮圱!+龄j'msE閖L&\:O寜畻4[%1稜=u巨x乓1謑掠阵Y贆;_瓉~f坼*嵳え倠箋[L鹞I蟏爂摍<灌(t杊p 瞔騞m旲軩|堄鮔&濉怢諱莙苣Ιj罋寎)r呎p::糦穦C墐Y#=k6呎i殡!!莱嫻乨総"B!烳眮}k$>~>3掀硸'F'阇Y=齲<爰迿na`5>\s鄽儁q>姆f捊;崙闡\鶰rЕKΙ陋7^16nY榍e甋&亮ucx#廜g潧衩"o炎1偾典f驮塋蔶{)3:q#酐聩鍧,撨摔K_; 朦隙饠<{ФZ徶a5編go1W呥 d&聋6彿F(}纃掠嬺&nA溪Q0>|z颃詺逜顪囱鷲 眍袡p~or.宊-蜈E~蜩8滣绸;y鮃'w褀,?朔昞设A筐弳霹7}鰪︱蚯&6W緔j嶊К,面偒ZgU堼翞A擈璫7とU忝霖1稦:箱矀貭T8!稖忈鹃 EY箳r塬騁Q烕%銸饤=?w'/yv耧勷56礻鈈".炔._綷餬编-泉礟匛貔[?*卷麏 <f$拻 右q6-o#U 孅淞p颴伍dN 笿dh髕炔毺E鰉幯+锴?线蓺?芊雍壺<)jM虥枮簬蘆鼬M奦B釥槡\%AI蝱孨塪J0Z箹@^}僈両YqPd ;7矽?L"=?碕泚5冇馘蓒ff峂_ 羑峍Bt憢紛og誽憶寻g[頹$4 臉P芢謁響H∴髀詙$Kv縷)鵑朂h貨 覹-V荋N 's7鶨^筜-)x挈踊璂F寐湅嬻=q!rY&慷*瘯\7-7u*猕弱CO輝2w徶郉勱㈨瓸}>顛L[  s'GC鴗b鈁.FKb~镗kVwn暽介踻jT謃泟 狺九鶆帡U*喦镀|[羖>63缏I宷*仳.r'-祖j谐`/E繦啱謳x},&醟寐0]鶈躣"UXg耷[@藘=熨慮跡猙觅у釠@櫈拖F!6!G麥N.椢醅>Ε0G襜Z#岤悁OK湳7璻Mu8〣|z罪携日h4,蝩.藖s鯁囋茇UH4綞)罻佇~`*t&4M凩0"LJ鱔0熨:D=K_Gj龃f阇mmI+韀,郊塎瞄 !凥l 2"皁s騆砱W>5t潟>LC'|晦犆=笮涫Y縢sf.ηk&7陟 c潵t5 惧eMf玐廢 种J稹Fg閥Feh抔叻鍰)Ai╟"=G 嵗0}kr6檩涛s7汞C揼膪傊bjAR5碙懧Ζ奇锝j怦"H嶶k峼淎+妄z狢拇i紣jqU坾x:y鞹緭兗吉泼};2J#!釯M#7wu覸o忠赤隩|&S鏜宲捯e+6 fY鋞2g笚Z鄚垬\蒓廏澎p2w穘 匝㎜騯+s"1惦泇JB$d!3竒W.2箊, 磹藣犄氥朸7洟窜茼辆*羺垆jS \;ル苡?軦姉!"_q蓈,[&菗%3朹盭Fv贩h枬諎T楟蛬"懊f79琻逗]^FX%龉gI撵#h簼-~糭藿轁_?鍅n;]詪"._充儃嗧-^.劙`w;C步堕簍话X,鶜鴵錼Y橅l涱汁{飗o巨b t梜Ve诃1v椄垊z深N㑳駶摦 )5 隁 S&4uH軭ZH\│羾W崭衟Yζ5呌n昒:.カ橿#|峣 鼷絚''0瑵鳅鯕(i斵t'D所i!}#礯ws.[氶&揪駳焄棲!碝Q4鴛w;);6殒KWВ攅h 塃7蓞H?U-¦鐩D璀盰蠊鈫宥>﨔矕訒芇憏轲!P:彂坰広稽赙瓓<飮犀I -梂飇蝣鵆7/H鎐,槝L筊d頀璹%)曡+j歪崞%讅v編銳P&詰脕脚z厀4#;邰巭G芼膃/緅;纤棏E\"-!%_-楈H啋m警w0/氙p/[厣v雄輓:只;聄v嬪/^F禭"踇,",鈷艘螧\䏝w[牫拂"薐椟$ %狌6踄2n骮濰d2.Y,"鲗c鳲棟l嬕緿壭韛o\蒐t釙o%皾u1;[*!6瞕Y瑍褶孁フ啕麠!nw范刳Z騏齕杔秧n睜聳d靚o胥r鲲i軏绢乐﨓d[:靔接卐楀qY蒇拶~筙P嚾Vb\~`v顫M>朥=_蘋縕,圞%鱲w~渤蒎/_袝--gW踬,棴韒.[K:銒袄lwY谣髐こ[淼\井,儹%le谉硕`』誂o a刹L_梯凉Y顊6W陟篘p銔)`$胘a竒 咭6\]3w55楦璹噓檈)偃UJ筍L|MMT<眘W崗瀅楲G$儍!\蜂#O胴鄚蛙カt5銠K蜔!顿穈,漲面Э圹n洦袞鬿 糵尺箈牷2圞婎粃嬢.髟6vw椏齛闍.沸;=蒎W焬鼟/C桒E胦c図n叻稈墵粍錼褡鱲穟禘>/潀`Z秚Y卂%嬹?菫U搈e魈v棗uDe[儃8縛W肗7沆呤SX,??铐f鬯邆%寞盕sO !.刹..竕A\.偻簣覅棳7]铂还&_车礵w[%鹲鱋q赦綍mvw铨磬轔:%/_4糥D~髍羐_间3_瘾测"驒(坷/,桲v篬t火絻t,朘,;蹛L視憩 ;/懎.:-骂6婬窳綕/縇D曊i\.w~dw/)L|眻僝u7琙膔 嬒袋2".{鷡W.铗v!,:?杢K澜X-蝗幇蓓步軪w厺n梟wIx関枠.嫰棓_猿棆)L境卜3屬摭樗 咣渗疚p/t轵2~臰qI!陆韉豢痺X$掆w红d]糁6q仝俔組v芒u`_磰i懓岠鍡a眖:焀釛e跽g?K_,j篬K蹿罸崴 考yq裹铂耂鱡'暽_蓬[q盌飊盶聉W辱-踻抐 漀2 婬珉%咣=朹/閚翈t煽?o^瓦~绮楿騪0]棡\]3)}8鶜夅簁nc(k踂撎唪?.屾岚8Y麒d#巹顷L8熮]!2犒H騇兩2b犹?焳#>.悷 4扉&Bh耆湋@秵腢/L""蹡?熭瞥]3 2穙 .耐6bL$i9发ュ崾敒珪鳓礍堆)B! 沊7憫吅壵涴S凗T鳃隚)澷w狗群UF={2叵廠摊壚綢Og&!絼2柧缏焐x6&  綠黗`G"俿亂羼>nvpj徃褣畛鰴!契空峖U尴ウ瑈镮諟敟Z#\听庸玘K^晝=铉4PX妹驧Jx(!霰N 捿肥L薺:黪網21% d!e坞仜&KG-eW Q;?綢~輰-洹}軕 S讐#:燔%s鼬淫髲"呁瞅=K!D聩锶b}痭乙邹9壄=ぎ=捯s撘e憉oM鋞27w):W8(僗/Z 嵴O蕏揟!><漷+-飂J y瘽]籽Y昘@V y杚誠w怷治V!戝橽好+I痒黜远uLE豄_o 玏T锓蓢笸燏钿=蛨lL坘唅熾睼瞣5琳酼э珤+ 媔F蜿覭?LY屟哒o*镥 m М葙(#緣6S橏焂9╅Yur7/#拃鳢 vw査夔_钥75.梍琮')吒矴}{>谤辱 W7矺WM绠>!阜Q ,HA+趱 螘苲TXtDescriptionx淢薃J腀衹N駰 3a@釴=?IAR誸UFr{肪▍W6j&l(.婍C:pk)硊#泲)^ 粙螆吀蒄'1貣搃 i鳞躯廦y砘o袻\科髳-P1痲厉ZD僲M禛葶耘"嶪VbI;┤禶A揀_播檟HB戟y渒矻wnW#鱯IEND瓸`javapng-2.0/src/test/images/misc/itxt_valid.png0000644000175000017500000000230310646327754021550 0ustar paulliupaulliu塒NG  IHDR 恚iTXtVegetableen-usCucumberL_cIDATx湱?%U啛鼽3珈4"X壻Bc亼+毙悩P皾艶 M(,hH((,1雹0V拃5蠷惀ベ翨 %,譩钴澷啝摟x7蓕沷顂t掳屬檅W绡霆>y潂娑鶗Lk瘽U暺(3祂暝A獌y懨=龥睐痿齯鴈衧縫箳+秩2:啨A訣7荤萦woyU~wz:`{怦(棳'^T橉U*qV炷Nz鼹缋峉屫)皤覵[I[笅DY\罯*_唣 ?+t|' 厑腅镩3嗲稈穚栅$L黾TP罬á姭R54: 蹳|6瓠用僳縷轪斻涯3葼@ *TT:0`p鸌vz 蜀(緷葤"姌D诈婃hbvt;喕}裏@8}*(唬鴉臘v槪8箱戗炴i炠赓魃3Z卵g 攞 狙I骴弝奧 L未H 蘍=~衤w'尐%咩乭湀')<嫔G暲⿷毃憱h9漗zp70F諶(;{ ^瞲糈 ,#)Q%1%j&2蚇? p锟(寜Q碩; d邂 袢5'ER E,捵%螖虜┢镞岐G服台Zf; 膙:1#i%a墱盠11o陚ct片e豎 !坹苳b$FR:cF^繘B)L礡玧56伆 1,髭爛皞xO埬HL牡莆%+X擩㎜暆@<4 奀剟鞲Gb"5F嚏浫昍笔N l退]B.蝤篪垙剟O膖緝滣粣'R(60 蔖]鰚rp熚胓夂邊8+G伆 洹瞈 V.: 梡i!聞& 虿欰刖;:銺D椥Zc(阕? 劊@&K鐐瓋瓋 Q> ( 鎱^7#n屹IEND瓸`javapng-2.0/src/test/images/misc/manhat.png0000644000175000017500000004034310646275026020651 0ustar paulliupaulliu塒NG  IHDRj考ugAMA7婇PLTE形痖髦疻wI "qRSbKGDH pHYsO%闹tIME#膬摑 IDATx溑潒柅* 嗃獡3裹仩>]腱颖瑽>r駏h?_凑戻c"蔧@齉/嘷D阺鷟梓窟&^鞷扺~昁蒾?蝪渙赆騩9s竦椟ゼ骘G痆`蟻伞Y囹m喡斆sd埮e笢昆仺`H鲚'褻燷篼栈`O扞1_1煯\6棯⿱`劼84V1O8薫Xi媓堙^i╕扮0欮a满z 鈈绖\剂d8W羂%Cc4pL!5!鉥O9{蔦c. 2d藋颠K0/8ζ骐毢腬綿H5q9(线1楩貍圞睕?#b$樁g8潻` #4骥笢,倬 7&门9僤ZD3恽继< q礎肻) f膄 壸=.蚒.Г仔t\dk4V盆1/橆s 虇蠠s9C\<殧!sΔ生92M鴂'刽鎼>rp)G嫣r眮楨骙网k趣+@驀迮!棏茢溡!隸炵"g9e_Q清h]堣0g歜発濠`浐朣鮪0棴崩 L瓕]嵢劃iI炄qil8Ps\: .蛓猽0蟬iG壆) !+13_奘溤%Y"0"慵>8i颸r貾魷M, 騢.]>肶桱B蝶`$郱浸呃專鐚聰O娂飐9h7hZI峬髧疝??怢圊蜔玚䴕婨橙宀!酬鸯Z?R灯鳛掌俀5Lo縇d贑峡撱騵D6駉缹9晞魰沙溵媲偐D倧U6)0弒乣D饻鎟+ F▕贺標艶7轭R`.`畃a4i.khv朞OU炫?? [)"u,9樋 溶6"I0% iP`9氓 墱@~袵栒?幄璹I粰悸tQ醽峴针ノ<s藢\ S簮肧1p閌銺蹝澘y 喬+4縗警~銭米,W 榬9鐠犀 帞39.n愳粔1&S晷:诱嬲s臄@p爅*莉垌"餟0\輶2r`髌\~j闶/t菍 - 椘鎒r |萼5y腅播桱x厫6,tˊ朶S4棶6K2缳傈紐弜,葉艉莈+,r0舩慗.M圊|)s慸N7岱y4蘏h.:~輴Ha穴狦稤 @臜p莵慸fhJ亂虚氢^P樬&纄m&(疪党狭鑴饇锕$阕謯灥:錢畛W膃Ea'貙-堂 呴"&Jn8夠/"瞆9H2眦仸蘁  v瓫 俨"餟.h ,挼X濻p挗B岾慸4*灋児協d却R瘋┇c" EΥ6$: 莦T ,毠彞sQQ0S盿YN黧.+L烯瘈qe]yX*宨f鵶去汨讙貺$T厞Z`偣&狲ksg7 靡灸耪|暊1硌璎欭~i 氳卫^sy礡O穑X奖j1A0尧 O縙蔯Ⅹ荺|$~乧9顝dN瑵珀j%_yl@屾复fR癤o%&婴*锑σ榼i 9Z鄕_蜏NH持-o)L;洍"8﹃&刦`H鍰c*<庥胑.韼憏\:m毛.*70掚V﹒hfF芅悫`.q県.*LkQUmr倏惏滳醘萹r4畴)-`褀X!湮5"帇W槡!鈈袈C襃瘥 檰苵c .W 賑`鼃W珶x.E\!梙絃蟕d||hlg9"K*?鎟奒汁di獽譕,畻桅剆A雽,債+.k`嗦c賟﹉屄棒60U棅慕E閗嵗<菶遷r昁 殳 刅j翡璉Q硪MZ傞鵿侩M+岴3畷萼"衆鏡<0 崯=)p<'蠧Kd Pn癨АI07勾e埛竘酒鍚%z孥\F&钎!C輡烥羶=.虊3潋m怛htm9茯V胑C柿h@A .6l._齭0泮U!`椀磻亖 S褜纋H7 殸m`@h f吽b]籀赂蔏Wf昆0["  8X晾J藽\<N瞘緈萀EJ資繣狹毸nc43碏?磖 )顺\ly+E絎桟梬蘋.(泜YC摠]Z,򔮾3Y寕 F奲5.馘*怟$,沑M9殎卙"& 檿 貦/钮刐蟚Aa鎌訾冥k(嫬2粰嗗v鍷9伽筁1楲&Wb 鷤V艠0 ~蠞Z?>9裒%<僗&f&|卫 4u果].皆楥v1肊衃,濦,赘 罫溚"u7驔7溉鹇11@ L)Z鍿.觰7漓#盗y鬤蚥4弎勋褥檡&0e燃it%7-廵.'揔3 \a懎r鵬7塊;fBp坋厠闝LT-i睓⒐桥狸P5r0$璭_x#圑昉97蹭_Fh畟qY.":喙 ,襳2/肾?+煛é濜:瘣6]"寱3*嘈嵖P屔儔菘:BUk鶴|Sap +攅4*棓嵰i`愙DSN<揞p懲瞈旤V翀藩e散2牝M0]m俌co箄窣m顂閖矉 c裓RX倹L鎌姼靗.;T汯\ 彀詯 菳.炪 疃Z;頋痩眬 鲤o= 砢3\顦樮B粥凡,r蜦邗~`霣\04]v0旴4沥殅O]`r3沥bE鷨洏HW翣Z莌#e噠澦p買幩S`啶W酬閺認:Y,z涬p3庡H贄_ 鰤籤sX嗺朜纃g2.斶E]恆\欎飛蓹iヒ+\具r榄嗘黠沥ob押揽Uhts弮0伺 /s`殬/]蝼g麨U楪猄寴K邝c5鳕薋数叡絏2Vb^幄隼1 袲XV`D)埽.7,?Na⻊ y8禍宀Y3粏嬉22 ] &/*諥e腅Dd鞲磫?躐h櫆绮簩 亖㎝j賓mp宀髭目P樲槙u^荐94 櫹9@扠i叭浬鐣体H{`褜工_B,崍/r9*岙`V󧣜瞯 垕].腺u`嵥︼頲>儒転圜\b0k塔崜i$\27 Q竧儝\槤镱S篶<腻D`=癶b0鞲44嘎仵鉘鑞f(寬z竩y墜帡- 笈蚼. <}*儊\靓6闔?韊.煋撝30H0 J%蠼p:悓c0媶L獺槛蠒┍.4樕Z-咗V0痄).癱V髃V秝来#C涹%\屶t>灬>眦:淺\渻 E鞿s*~gF:2娎凁C(猽 罷a鵞e披k櫏洟 R\~-嗥譑瓛\p痳绫E2趜拌切h'颒a葱<殝L9讳 恭 Y_ri 櫳戁h篾蜕麮瞾_磂絩僘\枀9\ntw@滛.Fd2搜,籱iUw墻乵荒輊1立課嚘%鮪囷Q庖熊阋裛澕Vq)齢L艇村 Y 'H叔岇y(戉2靴錔5沘Q徕j%絃D湬,祊H圗摿{蔂uy怨敵蚶0餦蟕噔 ?~姣30C8嶬$f&熈掯?M娝翫叉繾粂k%萠2`"8帇[寐~%焸坪聖俓>k螾挜\v篫I鵌)碚嘐蜜煯q俳慡颖3.宥迺射^5):3\ ^鉨葘茤+ s幈綯C﹩~ (e^0 迕v, 鋝x.2椧s% ).|^'襑椧^i喬漲'乖《b蓏鑪Xx4槼艝嬿0?!榓籭棋m 儵pU.姣r6覆粀eN嗻趴4质G'#[d檮婀繬:{k旀u燱嵱嚻桵摼 粮撡c呸%竱e吐207锍6獅0,薳鱤Ln尬Yzn㈧ P?v鏺颮`z F厯88s T寠 R\剋A\,肤y砻亲毒Hq賧2僘a迣垫d 8槃鵎p5碶 S&仆禓d薣_█敔"0薥釬娞 5N焢A稤磖赗 Y隡\(倢ss[帇oq慁O{ 栏典士4)嵮=,η竴|=b綷d蔈1瓀L诋qz炪RW549(茠Y屐]3"芣蛃2\垳+柞$!蕏8}/辶=?暈徖.夋Jれ需R棛!S惝}M75棝偖(阽蕔h\.偙騋淏Cρ\Q7s堭3%螯轛齽pasEGhE疢/KdW 唍3蘤m璏a殝\溌d窰4C.6.Q4駻黛2Hi娙瞏h芙d毋4+狱Q#[S.R儜J 刑驡圈-V 6?赩镭怔|X+}w0m鎊'氎\沋趺I.EL 呩1橋w博'p賭惕俣维(蹞冷2跽q焕-W痫-g;束Y0锖u鸡o蹌#怒?拜0焅5珧鮉y.oyO挍伒恫颽猜叿h楐蠊M/粣2誩%Tu簈<>/-伇Q膦4o屿X3歶0菁3噬厰1Zd1d蓃勰柹 $3\欿\ 戱蹝瞔C矙!槡m0x鳏JPS0鼍2&筸}B.%)Lyl\ = ]霃!fx窈鲫|俼&9E沿50缠颙g30縭^4A:霝?嗖矓夃0cE"2 鮡0崒+鎿$3湦譸虲 -変 )2MNa8宀峂('W坅+F\E6Ct==虛\參B懕c52昆N偵晁VfC#謘D,緾♀0sz锅畗mF.E晰蟪/靈N.锖)滝ˉi6xZa;C.孹炚N 噃#!3G超俿\P|瘶I黍淌Rfk7\q侹棂絿崖藀酫uㄅ晩+徖磪B孠%酽晆蔥瓧n岅/揹龚,?仂栟q檠q&咜b@樸:-蔲o 襞^t⿴苄l幩豆ta骞k竘崡u榷t鵂谓m鷙? /y並E90u翿槪:ff[ 誙耜蔽E(GH溮廂L盀-[_1=%艸4擨竧笛\Jk#.鋫;!勾8鶝0^A}艭aa誆錛孜\姏韂恽v裻R 苨 茰泸頹#" 翣ㄞO魆M"鍾澟蚀塮c0侥LMQ6嘸Pc兰]d)逷3z j 躪A瘑懃P棉lM鋋奘MS潔o鄨媈'頪 竂4"F 昫囗Ji 铬専芐.嗕 ?猇痜砒!旼3R*&カ\`!H擩芢猄`嚓%脹s_禶4辬|烤檛oU楈嫮^咾S沶>柟嵙筍唻9呕p乵'1vU2嗖籓聰v I傞M0>^r骏y喥绤). 9YS啑WNr歨速%."}H悈&hF\蔕煌B?鲙Si2q県槑&V楨}鰣讶D1@莜墛Lk"啖欼jB`擡C]偐h䥇4[.縸姣繂s.嗦偤罞h" 襔寙筁漓m诪縐^DF=倀w3t F\0晸Cω\洧|$g e0(L櫛d40湓3-诰K.69zs醬!r&`雭)旙O窹n馲Fg嘶Y 垷X2sJJ戢潄A\秿昞刧NB猆︴y0凰`7$a4中擌A5梼剖 癔"'抂w蘙F[" L愺筪)5$ A0並P墱訒-2!曷l_砛鄐攭 /%863.C`H:*蛯&"V>戫*餍DV_3陚竓1柮 (f耲棷嵙"e8浘廜9D?嘰蔦>瞉燶d \\- Hjm篥,槬樖GN美4&@^銻L栉Le.pI2%ud 鱯紗\f) 格釰D苃\<HCV呌 隔.r檡~M盷iW擡橌瑨藊鵘聮僫h\4%Yひ6、 傉w] C^?<癚蠼F;孈C@嘝ry﹙U'B鄫鬾U*?5)-!婞∠郝旊x0*妿藔齁Lk冠 !/縕$脃e/h,邱砲櫁PXO+%榟A屗-遫J6訣 S?c僵藙f f3娗"c南厚n$碯uX掴驏<@NE翌;椡勊U<椃宐>@)眔扞%k\梽7胣")x奒斅P坎A僄欑)峣zs穔Ha戟 桵"僎$ dIH垌8EV氚`ns+隺醟 .魭7lu醃暳 JR謹灴劜&#\;#.o;N}=茢9i愘芤2ye1F僤嵚滊蔤鮄I }慼渊R⺁橭,I谼誺U=蕾闓煈绿j1&襯.L瓤9⒉lII钄Y誒槵蒯协㈥磋 `炅$笻匒墛雿#褕ㄌ-侪@vZ0乣hy賓(% Zm"哴榲浰Da蕠帇E#ls;ueLJ镳\ (荰羭*^4宀蓚f漑鼼\| [映さu0M 0擻 :2K!枍袇匝Z;筆銆%\#8牸農r袋珒qW鼳sd缾-↘籥 滔4$,p醈W,,0徜礯9蟧蔐U牌喼,YI澾♂ 亂滇筦叐.畜毱ew炮棈}J熠pT鐯谂P)FJ竢說邽 "2o/ 2r瑾4礏&勂毓 鯴r颜}yM0偄><孾I 橞;嚫`soe誜甯h4/3cL柴1棦0N躖.汿J襄@ZS 獿〞r炋_儼jL?廩 e猑5蕆慼^韤鎎鷣纋幠jU_嵀8哩 Y9葥r兤fz券?C踧i齵>{捤 譩岵u6V樬y騖!梖d⑻掞鄤\LS=a雹勌)爈‵涀[厠P榲7酰\$<2,#杉r岾C 簼湰s)h^$帵 Y呤┪ SU湸浬qil@仗朱E俫鱒s沠索 ジ4n萖哓颭Js颼羝=c.f螹蝾&"V忋嬃儀S熦z)Tf竂諑囒 蓷四z\?磅忓/q<吓5e琤a U殨飉q遙窩.疝 \稜\πL鎃cf\ s2煝!蝍"C<+9姿f\蕎-绤頿Q 畐6對-湟耬i VS榿!s轟鳧$r古靾 u蘀礦鰌!T)菶5m刎髃棤:嶶! 茷y翬エ`诶q駑彙Z嗦l\z倅 觍,由訄Lx;&蒊\憎&\茙_穇え"锒23MIDAT慭|m茍h耬鉰啌c陑c.醅,彫ot=醨t啣夓沊]3紙3d稁Q/︱}蒭7歱慞_蕊幑pc$YFa俓軆 质邙`09.鯾=$獠m~y哣嶺/鐅浻0 墼凹W\>4pA!寽7Cc遰!0`LH40焷 煨惖?鋍y馍d桥秙V懗hRD<$冷g.?эG犊 ,蝋.G玜櫸氳犎}48?^| N(R\V-0%,0 4桂%<懬HY1ー俆5=Qw;至|bK荅( 愤(寙g.葌Q]#R<槬z勊,/9 昰旘蟍 迂n齧,縛翶鐻甼n埠剂犍頭"豩>7j⑤磔紩I0崝蒑05c[#镐j藧K敨兰@K商葼軪R S4岎&奄L槴5呴吞*宱-,聖#胄攳茦矃yKO&渕9@`.K 搑鋞汯GR_痟n*n劒I藶蘦顶\sQ廮撮貪%.Y0-u耗歧莇;>}牖#V2姉'-嘍X{%贼kP柿圴D硣@.鑱)*孎慊e辜这Z泓蘾跺琛:蛀^"e櫴x巍徚╤Ru臷歰yRF'7 &1垡 Bm 喼)V狶bY-Gg滾菶l紿"?巖7\鏁8$qa盗n/獠嵓 -pa+艼3! #B蠤az褛Y〇屠剸仓;94沀.蔎{YZy "T &2袙 2<-6鈝K`嗧榾}櫀莁t剣l%2覓趸 缁A!桵Z4蠡5叐e[,肜螏「妾#榿~╂作;/跦俌Ra*姘NEFr梮Z 9沲F8 F邱钖Z0蔳`Z1崝掳ECMp⒕U1茆2貒:昈1L怷t:1鈘鬤慬饽 归闁}︹茝 挸`P<瞞pP瘭 LI~椏驘畡橩騯楎* 轨v 逮洔敇+ 蚓  訂zY.丣p{#l3'#㾽L 蘞凛7檍c欏2睒Tw5鏫蘺;6dc.J `|z璙俙豫, 棶6+啲8!9%00@#*蛕L访"慬-蒟偨 H# F湠去佡Em芍c:Fh(; 汑=┨屹鐰鎬藋傳'w7鏲\鯹(_誇膃7荲 办+.俦敦O咪蝜|ベ(; _iKl嚥萫涛誸lG=Q幦1柕nw胮,怑0顏 樰 rq`洞迉改楅-歁^剌0DttqE鞚譭0葥62氓韮壇豖.Q\榾浙f\哃d翓蘝hx+{蟃!硴蓲薊0(厅鋉A;q(LImi)固b"艑W聢銅鍐瓻s轐 懅`f 蘤CQ:P 揓a尉蠓'`勞D\鬦4戲C.隸蝞搙?`!? &褁"5!0L珄E\訸4濤.9qK`竛卭(a.-Y薱棊荎HV晽"咥鴶)/,3繲瀫a!僠F鍄\"豓<"踧儒8?d鍹臃鬕觤収貲+gc骚0C曬椣桘8(撯8 膃vg騕債P汽衬pKrc;\/+ ,蘡F`50*赴銏枉"1社賽諊懰S慮搈#堬7.椑敨鬀 .穫艋>E众-/凂栰;葜z逝X朓2铅翙栖s0&摫%^t宕`3←椡斎鞚謏詸Pf2媏ZXN脖k5畞ir驷\*j|~}箠+)k1'莫^` 椡犪I:QA墽?!,s2莗唜>鬔p娌筲ZWS╰樮5f苝怊`墘凤.5罅=俵&藛7徕翑粥(G`<F兏tnzFTo禨 hLC璝輓*O0m鳐宔#/曚夷巴凌僇鶴!瓅鴐跶筁Z5ff掿厁"~凸刲f婾梶_]zp9?,璗`緣搪瀜~%4臨*祹c5#&縪拋u兕r}哔諬1觝Y葙飪目P櫷慉}MF恕〣埨3/sf+%嬉裈蠠c螚sm麡氜缺&猓^s`葃譤m乤4TM賒%"p%7S]燂殀1m舵斠% 哃酶bed僙Ov9梨瞩g#S\02m謇 嗎珸稌1&觡^A夸'摕蚍揥竍 50築巢m> $&"琮*ρ羷∟ 鏉2樣i撻>﹗ 瞙3暀1珑k#O攆=-禌沜輾 K噄敟A隸t4连$疝啕L<3&C& "瑝篅m{澆娎487插.y:F c0/萫砲顐i鱈碘僻巡>S驯陪6罤產6耓珜謨檮9/両^*楽L<湟 R(姼hk9S$5eIL炸9媳f韸O伇羒[n胳 ?縘:|繣營冮/n"\钀俞6構甪家焀 cZ聼}\6秇i0VBD皩雞7W 4髁u^0 s喌苧貿dM!S鈰`蜸L罰[%匞暉!襄@ LZEW訌n骃W给轜.S厬aY+>h衫:#'`V鄻1&')J3.1榊塀珜;韉G 赛艅.溋f揪Q帽嫥b. 嶛婋夈R50昳佢L巏5音]cC+螣蝱0R`J`mY"NWhd净秬彀%艎蘰 ^g &蝹撜闃栋B4朙.爔W飖0g 94=`澊<柫* c0~08:0坪ìMIR\%妺P `潷v%当Ⅲ1埶x,鈎0懸\摰i2Q ,\v5絕c;宥/u`旰 雈顅毄藬 z1j 1f藅屌n櫢V樰⊙縤囯砡墮儭6."Vb <F鱿eM珅勎缩睎嬀东)9x涳諦蓅瓋9%l(3啦Nf骒2ly0 夕虌飐扰DK}8隷j暬匹!)0斪腊冄骓B牕/輦!椫潱揀)56+\鬡2疪1u"I$膹95盶溧夸n46w `*%筧lWud嵥飲悎噳ms<橋Lf黿<$兯刺6鎋邂c厃He) .粤,艰6?9鋫鱚XS#ゐ6!i殃%,耪90)L濴#筵羟廊7Jc>^砞P樳k熩cW疢c42#D* 嫫]亡|怱g滥d 兺幻僤On.晛:樣<茖冝-w-$e糃盶觔joD2[ Fo泭链渔2LS芑偀繜寥@攀j0榮P|僢Tf蘕aZC院5s#6樛j屝橲D<鰋/崘9d#!翆* β馶勞ち>橫,"m虤%(_ 暉Tゥ_/還資q$湃筛mk髴.【 葬\汊zi薫锑Wv醦 W飍﹑\F`桮燃`'8C0%I愄鳺狮;5KL f#孓k8魦[裠h Fx.湌Z撱b廊謀L蓀别_1k]慃]mZ7_3*冲龍 傚﹥mE鮹蟽i[萠q&隸臐.罍蓆倝|鱣y栔%e閌 淭鼯~i蛏敼賞滮過鸊o4寋h闻) /z鴳録諕髞μL,囼m氓w縗穄_亼:;揕c_  Q`蕴P9<-#-芻SW 嗩銛$癳cQ7妨怱nS6@K:%n$ 睻o<E93#3u30瓂i. Q櫼4*摽R-T#hf雏筢甇, 鸒 欟)0k>g F遊柇690霉V}OF檤鐝连倯o!欩D/aヾ%i.*&+gDJ屌[頌%澵lz儒D螵>障>垎SF遐#2 (G锛縥sM萋礻Z10梋撄糓牲侔T4弬鲍闼l馗覸が愌藌"紑涔⺶>L╟儽涄C. 鋜N-锳*潓2%}抮@FZPU苆iL@9{鏝!W<盽铁b怟C儸 喦飺F掗BVs轻弭 甂 Cf\4巍艋E芔f,hb.'.镮+f萈{HjJa(嬈姠憠斊*櫩- Z唖,ZC.鲈⒇缃##椆N"Ζ2Ne溠軠╁F9qJ&E面l羦﹃12)嬍k瑟涉a螮監偪崧聜,L 藃┹阤G4zB!塅L嬧墰甅羛俀W 賰U3 %b.ZSP S瀏契䴓﹁緒寘裩砂鸄\稈贆+观0j)窅鮼$轒鹤 ,;f倡d卲j寴癚] q泚;狍駂Es戍3舱@} 槗甜6nAaf/\晁x25鵇\掷h.N 1┃&)辑3緤#>(佋&肍t0眻估妣纏顀舞涗玥垕jSC谮樼继2膃 f屟00唚硋\6矎\/]Vs婻c櫼箱磖<=[oW8癗x0 島飥藛4ZdL鐕Fc並筯汷7狎邆i諮z徖Z嵮Mヨ媿嫃咤岥"b脐x`.爹x蜅缾媧曮槰孞m#4v訉~m(-揱魣P‥ LP顮徖罁SrQh禊71蝻乖昆磟 &椠y盄[&jC8貋4楀44`J勊S0vp裳儽3岕装鳑>?6髒x颩犙儉". 毬y顸/p﹍"0 0+秾掠5L(E\6璮"/ 聄^[产vL 4馡0`[N~qhL更晋悂佢 靮羣%G簗扰4燸?荞0 囿[IEND瓸`javapng-2.0/src/test/images/suite/0000755000175000017500000000000011755244626017071 5ustar paulliupaulliujavapng-2.0/src/test/images/suite/basn0g04.png0000644000175000017500000000022110646275026021104 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_HIDATx渃``TR26vq MK+/g C曐袮*w鍸rP公V#瘦經T顧3爎镛%G曽AIEND瓸`javapng-2.0/src/test/images/suite/basi3p02.png0000644000175000017500000000030110646275026021110 0ustar paulliupaulliu塒NG  IHDR yⅠgAMA啝1钖_sBIT|.w PLTEe?+QIDATx渃x前刔霖虒!9J薷b赧⒊.??萨d疸CH dJHR?t#楤珷,*翣9碯}uIEND瓸`javapng-2.0/src/test/images/suite/z09n2c08.png0000644000175000017500000000034010646275026020765 0ustar paulliupaulliu塒NG  IHDR 恚DATx诘袺 袣袄v1~a>W$捵衝(8輞騅r-"蛩 %P鰻渮PE鹨:w儊N琱~uJ繪鲝夹#痷OE" 誱(t:][慫WXtF]竵]桾湟^}@'#s艨慽" 胼|A垀UU揘n觉IEND瓸`javapng-2.0/src/test/images/suite/bgwn6a08.png0000644000175000017500000000031210646275026021123 0ustar paulliupaulliu塒NG  IHDR szzgAMA啝1钖_bKGD牻oIDATx滍1 0 F'dhO△?U!妮臙xR鑀(M(賷0^{~3uG XN5"}\俆癇\.y 垝鉅6爗@<P6@R 窵IEND瓸`javapng-2.0/src/test/images/suite/ps2n0g08.png0000644000175000017500000000444510646275026021063 0ustar paulliupaulliu塒NG  IHDR V%(gAMA啝1钖_弒pALsix-cubePNG group 1996-10-223f3333f333ff3fffff3f3f3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fffffff3fffff3f3333f333ff3fffff3f3f3f3f3333f333ff3fffff3f3f3f3f3333f333ff3fffff3f3f3f 宪AIDATx渃d`$瘸 )?`y00恎d\ 審鹗哮囨q10枢昬dP妣q5庳YIEND瓸`javapng-2.0/src/test/images/suite/s09n3p02.png0000644000175000017500000000021710646275026020771 0ustar paulliupaulliu塒NG  IHDR 顑gAMA啝1钖_sBITw PLTEwwVdIDATx渃` V,XB凐 q ie胘C#IEND瓸`javapng-2.0/src/test/images/suite/basn6a16.png0000644000175000017500000000655310646275026021125 0ustar paulliupaulliu塒NG  IHDR #軎gAMA啝1钖_ "IDATx溳檁l譽髲矺rM.錤嶬牞蚀圬芌薓 Y.R2Z缾[蓨^q齜,Z蓨 (0P纑跺B⊙&圽)(D~怐4K惛K/奢狳朊9w︰U4廇呶;w顆罱鐋鐚暒i 衸碡樃}藑+M!3還薇&}伶孢Z氾f墩F5[,@f.3鵵Z柶tL017傫q罤勖t踮宴漮 Z?T喳霷4镔Ⅷ:﨩鮺趑-飡D駩`餶E竭U4")s傛Hfn2@6曩R藉tX塐)薤;襳oR'ぃ赶趜咧綂O檑=5氵xD縊qD O礳3╜co敵547e 竗$9Q 跷嵛a葪觺眭U5甡舣婓:監稜驟5繡J :u'|V荕t?\3%'娤*崴JS焈7腤&; 42脱@皙THt鞿沒m'曰6tm農酣wK'Z讐^褖~決CbV №朾塣菉懥嚂竈獼帟鎮鄏孁蝈畞Z S 剜_X濊刂fx烴EO官靎蛥z鳀-/?栈5瓺p^杏vG裋椝浚汨G疻5| %丝\5臈f%XY桁hNf傔况 鼇矾uS歋n6籝s;;藉滹:羛-'AW絺蛀:呬UG蟨x鴸q﨎夒躜?7碾Gs臵 栵铤 g`/屈醘@%镢6mW#衦?z释f7k.詛zzz _N衄F戉 At5Hut菔a羻>考4u-鈰=wTK癨*< 刑e7 衿翸@x污薅"&縩軟9錰硾5犍|>藉銲E絫SqE裊磛v鑘偏塍 絕R\T瑤庹j痉V倆=X﹖歰d丈巃p垀額 歱踼c槈雌 曜峽3кlv虫B}蒇朕唡9:^T枋yJ兄麎z躔5%⺈傰k陲F孁肫%X<裺`y公 燳侲`u担 < 歴7DO化Nl] #aL$7网u戕涕4涊P_縸齰-噑j跻苑茆q歁%畄~酳莲釽檄傏H8繰;衕d罳狸C輄D椳{>盖 鵪鹢踻豩7#aL$7网u戕)7涊P?蝈お*>稺蚒4^Y+/釽庽穁倕O?梴1+^ |羬 歸膺 冧 鹵'0櫚o峢5谕H蒑@3~莞7s释f7k.7炯馿-/NK?︽R伦紉扛闵Z 疅絪'@/续e鯝郰@ [?p埧靯 悳H旗Qt硊 y俎遞K霞Q-血谕H蒑@3~莞7s释f7k.試唵 _緗I颲?4魔瞰栢趤籒,'歔3醟騿釾f恷>惉硂$_怤Y%a攏叉 珆餗E嶜F裫礇0&挍fqo鏀浲n謀~|縻衃~|!~嫱莼j%╒髖嗲﨨&#膩HF靟衄@毷 見U;2胻`@2zK䲠o儿T鄣3=-祅礀j7#aL$7网鮒鲸кlv虫k詄勢晃 愊K@pR (#8рg靣RKX4墿L殺;缊V]寗1戃4阕峽36麢7a鳟Zi.姝3o韣`杈閕晦欢 爗pi 3佘 =)op玅纐dv%)3{>唉5枎XaXiH4褜紩槡+[⒄h7#aL$讇f阜閕函Z猇!煑_ C魃介?豿蜮~;w1[o z炋拉DE櫋3負I纞]Rl雵滦~%y狠Z+1搼S5ISZj輬VF聵H.礅~豿睼簐: 翉吝 N耛锪祄榜絰噔亶/43}魅埞 倭 锼 糲狩肩芩'娸 鄉/豂b纷*aS1箑Q&1%?3j輬V]D耚9瓥疅;w翿'3附驄j=K3溢鶼 灆蛤視楘剰x爗vi 洉鴷1缓罎\[耕桅x>l磰OcJF 迴煓4浓u璚狭鶪jO★9hn吿$83抑*}陖蛱搂R瘟誻硚;@4铑唧k7s磞里v|代a鄮E%a鐻捻> ⑸ 穓0&3落g挦茇肫魩藖冉峗B鯝q戅搻寑=v拻磪疉崪&f琬oln□on4栙謡6j檇儿.d秹n破do誉Gq?e仂铆鄣IEND瓸`javapng-2.0/src/test/images/suite/g25n2c08.png0000644000175000017500000000062510646275026020746 0ustar paulliupaulliu塒NG  IHDR 恚gAMA袗鳷圤LIDATx湱曀m1@菋 #守8Pu-` 郂 T蔃|剤H俿繸寄O蔋0実玳i,a溎茕&^嫍拜惲侜S葊Y@'% 揉 龒@癡 凎T2H 鑟禂2 @畅惲'舴跩\磤〒^_鄠^|AВ惲U 僶栾v2`4"236"y瑼摬4蠊 搙胶 p蠇< 矝H趑圚Q樑聣鵁徹 b且_`8,葸^-僾@晾'珪汵=yL屉訁w@["瞊]徙 s2 纏d@@?+Z兩D 僟-a2箇IEND瓸`javapng-2.0/src/test/images/suite/basn0g16.png0000644000175000017500000000024710646275026021117 0ustar paulliupaulliu塒NG  IHDR 侚kgAMA啝1钖_^IDATx溦1 0 CQ9[栖爴({2*Y?8ЦWc:俙輦鯜B&@窢=2穪 -h`?o霴8豄豞+熥IEND瓸`javapng-2.0/src/test/images/suite/bgyn6a16.png0000644000175000017500000000657510646275026021145 0ustar paulliupaulliu塒NG  IHDR #軎gAMA啝1钖_bKGD穨# "IDATx溳檁l譽髲矺rM.錤嶬牞蚀圬芌薓 Y.R2Z缾[蓨^q齜,Z蓨 (0P纑跺B⊙&圽)(D~怐4K惛K/奢狳朊9w︰U4廇呶;w顆罱鐋鐚暒i 衸碡樃}藑+M!3還薇&}伶孢Z氾f墩F5[,@f.3鵵Z柶tL017傫q罤勖t踮宴漮 Z?T喳霷4镔Ⅷ:﨩鮺趑-飡D駩`餶E竭U4")s傛Hfn2@6曩R藉tX塐)薤;襳oR'ぃ赶趜咧綂O檑=5氵xD縊qD O礳3╜co敵547e 竗$9Q 跷嵛a葪觺眭U5甡舣婓:監稜驟5繡J :u'|V荕t?\3%'娤*崴JS焈7腤&; 42脱@皙THt鞿沒m'曰6tm農酣wK'Z讐^褖~決CbV №朾塣菉懥嚂竈獼帟鎮鄏孁蝈畞Z S 剜_X濊刂fx烴EO官靎蛥z鳀-/?栈5瓺p^杏vG裋椝浚汨G疻5| %丝\5臈f%XY桁hNf傔况 鼇矾uS歋n6籝s;;藉滹:羛-'AW絺蛀:呬UG蟨x鴸q﨎夒躜?7碾Gs臵 栵铤 g`/屈醘@%镢6mW#衦?z释f7k.詛zzz _N衄F戉 At5Hut菔a羻>考4u-鈰=wTK癨*< 刑e7 衿翸@x污薅"&縩軟9錰硾5犍|>藉銲E絫SqE裊磛v鑘偏塍 絕R\T瑤庹j痉V倆=X﹖歰d丈巃p垀額 歱踼c槈雌 曜峽3кlv虫B}蒇朕唡9:^T枋yJ兄麎z躔5%⺈傰k陲F孁肫%X<裺`y公 燳侲`u担 < 歴7DO化Nl] #aL$7网u戕涕4涊P_縸齰-噑j跻苑茆q歁%畄~酳莲釽檄傏H8繰;衕d罳狸C輄D椳{>盖 鵪鹢踻豩7#aL$7网u戕)7涊P?蝈お*>稺蚒4^Y+/釽庽穁倕O?梴1+^ |羬 歸膺 冧 鹵'0櫚o峢5谕H蒑@3~莞7s释f7k.7炯馿-/NK?︽R伦紉扛闵Z 疅絪'@/续e鯝郰@ [?p埧靯 悳H旗Qt硊 y俎遞K霞Q-血谕H蒑@3~莞7s释f7k.試唵 _緗I颲?4魔瞰栢趤籒,'歔3醟騿釾f恷>惉硂$_怤Y%a攏叉 珆餗E嶜F裫礇0&挍fqo鏀浲n謀~|縻衃~|!~嫱莼j%╒髖嗲﨨&#膩HF靟衄@毷 見U;2胻`@2zK䲠o儿T鄣3=-祅礀j7#aL$7网鮒鲸кlv虫k詄勢晃 愊K@pR (#8рg靣RKX4墿L殺;缊V]寗1戃4阕峽36麢7a鳟Zi.姝3o韣`杈閕晦欢 爗pi 3佘 =)op玅纐dv%)3{>唉5枎XaXiH4褜紩槡+[⒄h7#aL$讇f阜閕函Z猇!煑_ C魃介?豿蜮~;w1[o z炋拉DE櫋3負I纞]Rl雵滦~%y狠Z+1搼S5ISZj輬VF聵H.礅~豿睼簐: 翉吝 N耛锪祄榜絰噔亶/43}魅埞 倭 锼 糲狩肩芩'娸 鄉/豂b纷*aS1箑Q&1%?3j輬V]D耚9瓥疅;w翿'3附驄j=K3溢鶼 灆蛤視楘剰x爗vi 洉鴷1缓罎\[耕桅x>l磰OcJF 迴煓4浓u璚狭鶪jO★9hn吿$83抑*}陖蛱搂R瘟誻硚;@4铑唧k7s磞里v|代a鄮E%a鐻捻> ⑸ 穓0&3落g挦茇肫魩藖冉峗B鯝q戅搻寑=v拻磪疉崪&f琬oln□on4栙謡6j檇儿.d秹n破do誉Gq?e仂铆鄣IEND瓸`javapng-2.0/src/test/images/suite/pp0n2c16.png0000644000175000017500000000170210646275026021044 0ustar paulliupaulliu塒NG  IHDR 瑘1gAMA啝1钖_圥LTE3f3333f333ff3fffff3檉櫃櫶3蘤虣烫3f3333f3333333333f3333333f3f33ff3f3f3f3333檉3櫃3櫶33333蘤3虣3烫33333f333ff3fff檉蘤f3f33f3ff3檉3蘤3ffff3fffff檉f蘤fff3f檉f櫃f櫶fff3f蘤f虣f烫fff3fff檉蘤3f櫃虣3333f3櫃3虣3檉檉3檉f檉櫃f虣f櫃櫃3櫃f櫃櫃櫶櫃櫶櫶3櫶f櫶櫃烫櫶3f櫃虣3f櫶烫3333f3櫶3烫3蘤蘤3蘤f蘤櫶f烫f虣虣3虣f虣櫶櫶虣烫烫3烫f烫櫶烫烫3f櫶烫3f3333f333ff3fffff3檉櫃櫶3蘤虣烫3fc盎Q錓DATx溦柫 0DоA藒俘拞&f撎z咵=譅B>/鄽飀rs~='3_吴骦w胛t(p3楏眚p]`蟛乢桁ytΠ?t︿(C鏫l5桁2蹊L伝杼ゞ 濗I癅g.`囄(`秅 鬌g&經((`嬑麔60澖Y`z忱l(P49:{眬z眬*z葻mt3饊螢鳤O肌3挎B⺗荒IEND瓸`javapng-2.0/src/test/images/suite/s02n3p01.png0000644000175000017500000000016310646275026020761 0ustar paulliupaulliu塒NG  IHDRHx焔gAMA啝1钖_sBITwPLTE\/% IDATx渃```8UIEND瓸`javapng-2.0/src/test/images/suite/basn0g01.png0000644000175000017500000000024410646275026021106 0ustar paulliupaulliu塒NG  IHDR [GYgAMA啝1钖_[IDATx-瘫 0 央睯 z4o<偭 aEQ襦/窑刲惟%S鏢4W!縆&=Bs%%^嬟矠oj0i.)an閛0e鹂嘔//IEND瓸`javapng-2.0/src/test/images/suite/basi2c08.png0000644000175000017500000000047310646275026021112 0ustar paulliupaulliu塒NG  IHDR 5gAMA啝1钖_騃DATx溦揂! D{x=Y觭3綁議h礷 鬵Z鳼d1b|V垜拃%}譅は庛ン茰7纥敏~gv嬟醮钜>^/酤-Jc帷m sm嬆XT舖c臾喽m 岪戝<╨奷9f+PJ櫀`钨+ň醾";@%,M鉉cEv:蓻s哯/罃  ?]哚 (Eg&消T鬽涗y?俿圏 漑闹<#訸踿1FW7進 1!=3IEND瓸`javapng-2.0/src/test/images/suite/s36n3p04.png0000644000175000017500000000040210646275026020767 0ustar paulliupaulliu塒NG  IHDR$$.叓gAMA啝1钖_sBITw'PLTEwwwwww蹩;wIDATx渃`伮頴柂G$! 爬.d纏]垇]h*衪 !,芠*`:B,!,Bl7輩,NE釶W瑷B B尐B 湭袆$翨62`睉乆卖oI扔懍IEND瓸`javapng-2.0/src/test/images/suite/g05n2c08.png0000644000175000017500000000053610646275026020745 0ustar paulliupaulliu塒NG  IHDR 恚gAMA重設X2IDATx滃90E荝谺DAGC塰╮8hnB徃 鞁B"B$p荰硒/媳⒏塥蘢?畁Gg 正9 鑦i%(.愶tDj$" 衝 嶦j衘誁挺  2@5ㄗE邰`W钃 鲂f@諣V *2 @癝t鼑A毢榇钙奶滩珏/劁刽k饗羖嚠鄶y小(夸B沁郖@谷`桴湙觖n比廫"2貁査坊骋郶d榜x!E" Vf@恕綞7j9M櫆,WIEND瓸`javapng-2.0/src/test/images/suite/tbgn3p08.png0000644000175000017500000000215010646275026021136 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTE""ss櫃橯 DD晻晻曟憫憤崓b 墘塮f贩s sssoookkkggg烫UUUggQQQMMM88 V 333////+/++w||+'s+++o'''x ###UMMM < oo/8' UUM M  忖 bbΖΒⅱ灋瀯 闡UΖ骥3垐堎賱剟ww<<热D |||华 bbb灇汅"^^^ZZZ葺''xxxxssooDDD@@@ff<<< UU444MM|EE<<"""<33"D''<  //蜒 贩 吵砿4#tRNS@尕fbKGDf |d騃DATx渃`寣XW_!^.aa溡K朎蝅,廋:ぢO<絃槂;#玹饠孤聈q襧*X%<\趨Yz9#c匨促衐sf 穔眆V %hw爖暻Z阐寑磦牥0妭Bv┄靚aa+>W怔菷琝` 鏣%②g鉃椧#湂靱a┪尉鮊砽剠E瀱dD舶返U4.-壨S 剆 D厖-扟jA*躷绛雾2g#寪3)槫"g寞p励(0I5{8 H蘚 昣 $a}滷c7貮皞y1她魰`v媃/r訳敥斌&K颅Pq洣篖%蠦}?aaD攩鶃L*_*鑘>Md'R@菴崢 r浘+ 鲁L 祭bXZ%禞!F8N7) ( 捆.铇&  $纕虇Kwq1愅0i^碳0>埓m冬8 jQ9/Kx毀鞍vY聻匧8xq鏘+眽嵞s膊桤'IEND瓸`javapng-2.0/src/test/images/suite/oi2n0g16.png0000644000175000017500000000026310646275026021041 0ustar paulliupaulliu塒NG  IHDR 侚kgAMA啝1钖_@IDATx溦1 0 CQ9[栖爴({2*Y?8ЦWc:俙輦鯜B&@窢=2:袄3IDAT穪 -h`?o霴8豄豞瞶_}IEND瓸`javapng-2.0/src/test/images/suite/ch2n3p08.png0000644000175000017500000000342210646275026021041 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔hISTM条盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/suite/basn4a16.png0000644000175000017500000000423610646275026021117 0ustar paulliupaulliu塒NG  IHDR 夈n<gAMA啝1钖_UIDATx溑梍h[枏ぃc滕HuRGT疂(8築-苯嶱.%4蝗湫BiKa墂潒]H緲搵恤⑸X僨%$襷勔鈺m闖WG戫c9杦駘5橭且>矬>象`eaX=詡温8礼临?门]疝e _犷^X.縲魇貵O3wd囦3 萭嶼煤|'fe[巩』Z!p&勣嗘uh劣`c:o葒t抮鎖衈恎)X琞俇ě燰Z 琹-5珻璥鍦T$u!Z??p饾邊诀鶦g甑j@d票璽-Y榧藚猘e}';葊~B枭@3 x'佂孊 ^赟刑A#n謗2詒噤:Q穎GR`fA媎v 緭<生鍬棤_勑"魧A脙謬酀啀冒鶊皅X蝂3頢蚌:{抢諆< ';釨 1/,蚙Y撸犿僠 艚`乸g=U<疮@#肟冋宰狏/ǘ`6,吐盅蛝U骫杞廆`7&発c鄘 懍 ? %焵:4o6疛迗湱鸻訩嗉薌a蓜 ? 槸@= 伬!攅纩/VV婥p孉5岮h飦螤.Ak%,椸?%〝!V[?僪鷙@鳾铏/  !渵Q`ZJ錒V覢住, \Z-鑤VK侮u╒ai *(昦0钬住  =i0歏勣喰.a{hQf\懳5 顋ee8 l9峇椟F h鋋eX藽9wn丽釟婣 D襚紊6_B聋h^鉙y砱Lgv]~笗廳儚A_ 秎w糞R; 誌竅儏忈VF&;5l :雄F$g 8h=ox脉 檡o痶| 'Q嘅2 ,垿4¨4鑓9鵁4O!1譊峒硬缤穭懋+3卟M:$嚓m+?=*|~5{Wb z翪`罻淬犦勵杈< C鋟惆垖"j 彳Q亇8颀p顋$;>.;/夸貜梐 4碃/@ 幸薪[壿/E䙌)x6摙頉張耺^=飔勴)檡#!潖徝婫腡/絊撤o嚲 燤颫囿伅]姓]#絮7*g狼忺Ul耋!qX摧卥礵陷Qa5欩贵9缷G噱椸2 雱5醇羍5$鴏 (杽+巢鐣赴2箜邾嫍_拏$`Wb?@0 妱9E络爗廈k8ブ0/撇VR騔戼Y墯齲Yf淫\ Nv{k By衉傽S璦JcK宩匱橉敟c¬E^>戀[v靅婍7R览>檐壝\躨各岪)]SB怋爕殶$髷蝮捀谝抙(芪'e檄ia;忍c撘; 髶袦鱧X]匟艟芃%臝%艓滹U寊]聞髠Xj"22嶝CO+h 纱 )罉暀o长箧咶\芗27 h+' wC捥騋耋RY\-4-湟d螦掲.H珥a阁x4眯,@釡层$勵o亄质 礵J;v,& C炙$3訑gVW蠐<趛h牨連# FP!皏 V迶絷l 稾$髉]鵼]\.陬_賡=,l7Gd娈)漿&TL瑜罧(鐌Z)h+V 潾%@{雊抎"i彗iq掂韂Z^<稕檡 漺乙Pg+挟B;  躶%/跓 gU<=氏荄P簑嫸凕?({!l7鏳嫱t暺:9伉-xI餬 亃 4魺t靐F襨曖2*<#~WQ\ 4e蠉浡鰌Nf.J鐫,OA菃N 6l痜-湃宑GR昶虍薯3*%姃d赫E东(鴴㈨䲠(\0){n$呿瓟誊KJ鐩3啶`38`ek+-w53&7枮y身Iq曖/鄽飀rs~='3_吴骦w胛t(p3楏眚p]`蟛乢桁ytΠ?t︿(C鏫l5桁2蹊L伝杼ゞ 濗I癅g.`囄(`秅 鬌g&經((`嬑麔60澖Y`z忱l(P49:{眬z眬*z葻mt3饊螢鳤O肌3挎B⺗荒IEND瓸`javapng-2.0/src/test/images/suite/cm7n0g04.png0000644000175000017500000000044410646275026021034 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_tIME V 菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/suite/s40i3p04.png0000644000175000017500000000054510646275026020765 0ustar paulliupaulliu塒NG  IHDR(( 讜gAMA啝1钖_sBITw'PLTEwwwwww蹩;贗DATx湱幈 0EZk]かdR鑀óN7upqg'鏐 鶼誔1瘏BC尥釔<濑潜rQ囵eA渱$`O 氍鉺c#嫭W長Y軩馔棣O欂郘€IL染牱{瓒aW妽v仴D( c芅佼a蚗劆皙璂Ca╬l5p烸婦V 堾椳"$簻栔摵鵌#齍炂&!AHt 儀nR=蛨k縤^ jNp髙xIEND瓸`javapng-2.0/src/test/images/suite/tbwn1g16.png0000644000175000017500000000217210646275026021146 0ustar paulliupaulliu塒NG  IHDR 侚kgAMA啝1钖_tRNS幠bKGD1IDATx湞UMLm灺枅惺姰睌戚-k缊睔j詇餈冐腄$!1!&z01揿翢媁B"(k' 唄$抙 X磇!羟递J衣~圐桛闓竟旒3<;;3飳湮貍$漓l%8嗇籫047/ 驰Ё<炃忕缢f鬅羓豸酊嗬辣c呖G;w椏S'癋嘲08x騞:葺}暝砱cc>焃紼峟iih棂s挃JGFr9偘Z冕\铄-}碲胥$脼=w>z41q婶顫B馱抃_娓pW痋g乔潸u粷$ s珥垸<咸929y隫w7X瓱>e2SSK1AAfa徼押:$欎鵇B⿲<怞w扈!莎_/^ *D姓52偄傘J%姴l(醇|疣缨呔貊兜1屨66~螫荢1偤罕眪 怩k;暘疻╀騦皱殰Q*=|8~6瘗甛汕癐怢:喺詌  C<慷洲~鈩77вy<<纐U浬逿X 旴2kk[6 .,-絰醫墑V+責<勺b揱qQHds尺o4娭鲻崓X,£j@泪(#卭鎟吵.梙臻)c馘e傾羞奸*狟g玷y<--MMn7MG 呑浵LOMol *U:]D圸"颃}S揊s酹L朙8@訖屶壟幹株j婈撬縐鋜°"扆鸧.殲歊*鉸镫与穖簌酊n茑笒,枆 !Y(蕅UUZ睚'昷F(J萤@G嘗V朌靠越^ 9庛操x<8fs~>蹻婨?薭楴鐅`榐烴S2@mm}}Up"吢ⅴ呫""楙馽m 膌VБy(*炅`cc:韙 V(濲&谣K S倶L妹蒬ˉd趨a縹燧KQ>1繜 J譑貺紎YxJ$匳第f迟VV史S伾D濈铠o幕颓$颼*1醩鸶絇﹛KE祫= "殾aXID涹寷o-MBC:礶謻)Z檌r450N毢R搆[]I妊詌dna葧GR縖_戦蛸{Q碃_E6b纏&],狅P梋I4?t3牔篜谂]jP33/2頩邎)IEND瓸`javapng-2.0/src/test/images/suite/s06n3p02.png0000644000175000017500000000020310646275026020761 0ustar paulliupaulliu塒NG  IHDR潰gAMA啝1钖_sBITw PLTEwhIDATx渃X祤aj02V-9_)pIEND瓸`javapng-2.0/src/test/images/suite/s08i3p02.png0000644000175000017500000000022510646275026020762 0ustar paulliupaulliu塒NG  IHDR蝔fgAMA啝1钖_sBITw PLTEwwY%IDATx渃` ~繾菭0蘟X翣祩A穫APP鱬覬IEND瓸`javapng-2.0/src/test/images/suite/cs5n2c08.png0000644000175000017500000000027210646275026021041 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_sBIT&轈bIDATx滍暠@ 脭;/A舧岏l@*QED缏qm\耡 .[p=j薊茹'-X禓O0値骂 鵚y﨟0俹 y<Aa=^逦o筯IEND瓸`javapng-2.0/src/test/images/suite/cm9n0g04.png0000644000175000017500000000044410646275026021036 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_tIME ;;u0菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/suite/g03n0g16.png0000644000175000017500000000053110646275026020737 0ustar paulliupaulliu塒NG  IHDR 侚kgAMA埜脚IIDATx湹誐 0郬琙EP(臸罶4楌碸"\"偉鈅mu!A3Ct桦7ゴ妖H铳喳⑿i袅|k皜,P1 燻8  瀭跰酐亗$ 魖 NA冯)餧W怎qm)牤蝈*N 犈撰_雷傎 X.誘鮵e篶y綵BJu2亂咍撘"8烳楴7祤E@WP Mw; N'揱2仫厫騷&8MU鏴吓e踡燻<u寙+D莘IEND瓸`javapng-2.0/src/test/images/suite/cm0n0g04.png0000644000175000017500000000044410646275026021025 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_tIME "8轀菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/suite/s38i3p04.png0000644000175000017500000000054510646275026020774 0ustar paulliupaulliu塒NG  IHDR&&- gAMA啝1钖_sBITw'PLTEwwwwww蹩;贗DATx湧? 侤啛⺋A_Zォ儐麱6竔儖4475 :E螥H铟蝤疝╂n玩#9鯯袔琌Q蚥觗Tw)嫋佦⺮!o篑;s+;q皫昛I誧|办谪j芺[樈砅4澡i|alj簷茣A琻6 S4zg4唽X琻8謒 韚M灺/$y擟椼;烈+|<妆;Ё^舮唥鳁kv鄽ob蓦晽){莦B潡|Dy麰IEND瓸`javapng-2.0/src/test/images/suite/oi4n0g16.png0000644000175000017500000000031310646275026021037 0ustar paulliupaulliu塒NG  IHDR 侚kgAMA啝1钖_IDATx溦1 0 CQ9[栖爴({2*Y?8噈撨IDATЦWc:俙輦鯜B&@窢=危遂IDAT2舖f IDAT穪 -h`?o霴8豄豞瞶_}IEND瓸`javapng-2.0/src/test/images/suite/bgai4a16.png0000644000175000017500000000544710646275026021103 0ustar paulliupaulliu塒NG  IHDR ^gAMA啝1钖_ 轎DATx湇pT譽?Z=Iow殃懋B2O堖劆5性f p褮f4巄魷8O5vH\猢 艭癱7栥援#-+06P 袀矏磟W+黻璽店OL2m%K,儜垱:尨 牖嚥柂鏾迣! ~>6K鱽2m4?)7,銔澥霄4u瀍柧qCYcgg'馐 i!l馚4M卵\x2s&暨哋i耶顕C-阊hD痣锩劫g肟t<Kz犲簔)]}<攕秪閺披@箍 BWTa3烣渫e敺缋 ;F儋鸁廰_ 祘牞敺鏐K:t秪轜濶8 4 芸)萁p廸n靸峿Nr铈a鞈槤カ硊黛~=8壜?駜0裭JH優吡蜅t7 黑{ F沉3%CP`C壳夈2廩坡倶]e+! 0鄥崾6]齓&奰4?珙8IH2V嵞祢[vQ=4褸睹X>?備30.楆闣哒兆\峑哘矺緄倬np7Bn(嘇 ;秒`n~"O脦," :X@羇py(b.艚7 9-#觳X1s;鶺h卫Pf飦镾!6畎铑卅r同娐(T潃(o圀+彳熰| 蘇旗瞁c愓f侈定軃樀 f岰>饎A 趛(k啽fPEMpx4t躞! 堎%k栔x37筲0%8$麧腘腁-!剎z傂刋!鑚l5+ .S3;堕-[W麀凅u>~橤tu,_W撨诱侂黑S7_渍珔:贿a═n竄畽鳰叱0矶螭檆愽侕t椔祐竫,j屬錻(VA遹匫j舘誃e-萶A>k+?3霽坍奴!x鱾耂寕 [3O像洺󞙣 悦'w牓j啄旃贰d/忄S罸妲渨唒x6kf鋓]甞.照#胶旱jk峋垧匜趸 dF0,~朏爀礷瀃7縸^X崇輪@-xOC^#淠AQA 兲嫄蓢2悘B*ㄘK梚鎘 *  旝赖\縺,攌oBZ廊J<w恺||&f<坬8F>(o丂)Lirm萟[菇携.麜OF齁[璤ye卂賣J瓤:)d!?e﨏;2zF蠕W^'d2)d2#るz3\8M抑oU铭稑(齿锴鞉P坍Y秤,%臦 幖舕葹uN]s#钳\蝤晱烐++劶r两B蝲\H麞悏!e噽7n5]叻#欩B廀R罐 潧鄏 ,9砱G$  ; &(\ ?k%渰汊M屧+0l價畂w鶾O留2躀p An;鴑C裑0c5 {嵋r岞 F趩l電篺VXH] Y6_葅6 Y-湓%B 欮!?2uH若爯睲忍婤45V梢L喼? 乧p>览f謻寇范fEW!+7痮烟B`30~&巰k74z<漏閡悮C_兞?龒绪0/綧衞B3 cV2|*( 胊H腁$a郃縴佾櫌.亇苀履s怾yu郵N屛亼U恏 = =M衧>=冃銋0%-C媰/ SRRaHv翋 儃a`z楕腕>C閶0馝Ps 蕼G譈't:焢枻4t諤IBK,# )葟7 瀇MHo啍蒄H,k*舣頽抠vR3缥呩!蟒村巒鶟w崞!杠W氞蔍ㄐ匭铰2 o? 居帻7鹉笼O愾坡0殚`7氯0黣HT美鬺藩5撤 坪 ?鈭@w.畡佊3`>a琽硨釽 p趆J芟倸偧~ C屋螟oA&A>cQHoR): 印\^7鱛犹鋍巄t秶慨飘S朡r '!<PoA^r鰝騗P鈵嗢+沘"0$L0d2慁&葷0仉`pttニ4嗟W叡c噀惓擾傠锪讒叕群Yq融a@f3d<恑勸嘸裙0 #`7A*潇=繀嫇况0;僂]P磟餌@韤躙锐佉賸!鹵p瓭)(1d3岉1/6}Fr  喯\ 溵浃鷧u偑/瑑w巆薩嗁w` 詠轗p伜r!'9GA憮->R 0\塏皛 浇蠻鞹鲡c仑Z$X麮樂蠙箨!鼵(瑖9唓>3Z牗_3=g@ B逈怶;I`RU愻佬}赣漖N;债T碈.(蟽@3⒘袼;`|港 t莌堿 樁蠙HZ7糀4冔$恖啞ZHx羓⺧衧# 傄!(M@LO@ ,蕒022 ' 穧g|P\厱囡_驔羬桜釳L佸侢G25 >卛!'ⅱ505-0e 鋮淏萲)飩F[a"J+竅4Bo+婆肞麬(x|%摽EqXk炊@戍G>渠3忸c苜饊╡hu![HP若SB 9!! 9u粣羪BR籓H)!}礏?+隑z]H6!砯9z@缺+澍*!'~ $_阴廈*匱2g殣y勌s >!淙霩蟵鹂I9l撬IEND瓸`javapng-2.0/src/test/images/suite/cdun2c08.png0000644000175000017500000000132410646275026021121 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_sBITw pHYs祘RkgIDATx湑栣戃 吙踧jh罻偗凨 %艿B q 碄 F豿7殱 zO忭/咸冭/[矣眉 虓討m@`鳒]鈰枟]6甜y~<驥噐 _0浵5<Y倧>帺麷Xa;e" 皌膨愄盵侷=鳋d泆5鶹3>&?w罺佣嘛c毃[羖蘆瘟6痧Y諙`韸澉 ︹)拑?euSX,餛Oy粧哗KN鉣J:#< C㎜=苎v乐%$莾愢'Jw蒑鉱=b+\u;穤wP无醊<'p夰b云S侗 乨掶(@J,啁=9旨▼⺪H])阴rt棋`o磻IA賢煺U射蹧D腮bm褺5倗よ(Y瘒kTn灰s=xBd"\`耪"[ fRhz0'套mehCM莰螃欁3猾逻 嗷 譒d侬?`眫+餍哾l*#啭頿]餄q2琶^嫂8鼾勃|蝊 rj樈:2C縦i鞘9輋噁 |跹諥序酓楋迪Ji?灝遚謣眇饞++ 绡劻踭>妑l讶5鰤yM.彦骹 P6礼傹@孜.lIEND瓸`javapng-2.0/src/test/images/suite/basn0g02.png0000644000175000017500000000015010646275026021103 0ustar paulliupaulliu塒NG  IHDR =gAMA啝1钖_IDATx渃`]岏0圥S啅3 c惞絀亱 墿IEND瓸`javapng-2.0/src/test/images/suite/f04n2c08.png0000644000175000017500000000173110646275026020741 0ustar paulliupaulliu塒NG  IHDR 恚營DATx湱柾E吙[Uv蹟("  ${鲮Y彼[g*BQ,<3幩c/嫪n=c ZG汁陃煪[鐬跱┅+:々郗=Wo諸霶焾骯8癭H桞[芈 n 渮乏誩肏阋膂4;貍->VJ_簉蠈9'JピBゾ i9 殏"婳蝛-E4腋浌2鮩纑钼获 n:( 旃活秮ZκL柙wW)40)t蔦槴+ 娂T_?圙侏{wG鱻N)t 樾鵭齐僞恻0鄜_j嵞 4h婰韡簌吋 慃sI厧E贎 蛺m伉;姨8R櫥^j" ﹫琑C6>|+窇郬翧⿲鮬 馈)鯫'-奱鵢胝[蛮>歸帆(e5H5祱:洄隙戉聐莦8銝$亴C搚弩k麊U呮◤嘒娅.%橍 )x控怙秗|狾k5 }M隦9?臜冶5`_侣Q .i 嶱7苵Hrel$袥蘚$X馮)3T%?曇qo倏*V%嶫媺(廗鵴 O臬箜聁/噉霐B捀蝅乬彥_慲愊GR潀%m痛bZ诱2骓w虥@{?X&赹~锐 芃TPI矎F$->偐耶|#0嶮&筘懨d'Q($4榱 0S亨绉俢踫:y陠糢蜿]荕j 0W媪鸊杀佴楋唎 l` k皞皠;4 鞽徒 {莢G緡癯!@,嫒'垌$慽K椟qO︼aHOv鄦}8Xg DB雜9揣撳事6)厮j瑦2憝"4~, *讧3彌0C甽Ζ僙(c諅U宓@ \覍鰧iv冚!)蛢猺+収LV髝冹7幨1颔 仝j編颍IEND瓸`javapng-2.0/src/test/images/suite/bgbn4a08.png0000644000175000017500000000021410646275026021075 0ustar paulliupaulliu塒NG  IHDR 賡gAMA啝1钖_bKGD獚#25IDATx渃览厹h41",(,?喚0T1`4G脌*鈎P* }碾吶IEND瓸`javapng-2.0/src/test/images/suite/s04n3p01.png0000644000175000017500000000017110646275026020762 0ustar paulliupaulliu塒NG  IHDR? =gAMA啝1钖_sBITwPLTEw汍CIDATx渃0? 偡 IEND瓸`javapng-2.0/src/test/images/suite/ch1n3p04.png0000644000175000017500000000040210646275026021027 0ustar paulliupaulliu塒NG  IHDR 乀ggAMA啝1钖_sBITw-PLTE""fw欇DD野IhIST@p0`` P@0PpH橸AGIDATx渃梃 =sf摘騬c鉾飂蝑 C+(H*着T钶讳爍@*)#蔒K#G暬{7嗄暄}IEND瓸`javapng-2.0/src/test/images/suite/g10n2c08.png0000644000175000017500000000043510646275026020737 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_訧DATx滍1 0D 眦林饮}紓前 慌B秔 3H*M&肧-吪圐g匚 厦躉 7C @徼═ 燩臓("kp3p礻 _嚵 (黡 P纔 )-w輟CDD2O5 殕鼿3o毌i咣烘vtv棥妡G諷M儾d"*?竘 k屻b祃撐祀t R齍原MT捱彏IEND瓸`javapng-2.0/src/test/images/suite/f00n0g08.png0000644000175000017500000000047710646275026020745 0ustar paulliupaulliu塒NG  IHDR V%(IDATx渽/LBQ邱sc77乥燲H魵塮iT#岺逞l&塨盭 7儧洓s 溟v熙卻臊鞛啐菟鮠:粰咿-柅麌千鐥追黪晴譮畸迼cC02CCpe. 晾\侭 翵Pd"軚煉 " 晝s捄TRz"'!註8箰R輺9pg>鑸7[m狒0Eu施鸓璼"马'}帘H鷪倴 鲴'8JEXiVE?h$"藡?圕CP75Cp`,%澳/膤蔢PξIEND瓸`javapng-2.0/src/test/images/suite/oi2n2c16.png0000644000175000017500000000047210646275026021041 0ustar paulliupaulliu塒NG  IHDR 瑘1gAMA啝1钖_IDATx溦柫 0DоA藒俘拞&f撎z咵=譅B>/鄽飀rs~='3_吴骦w胛t(p3楏眚p]`蟛乢桁ytΠ?t︿(C鏫l5桁2蹊L伝杼ゞ 濗I癅g檲爏eIDAT.`囄(`秅 鬌g&經((`嬑麔60澖Y`z忱l(P49:{眬z眬*z葻mt3饊螢鳤O肌3挎B⺗Mw瀊IEND瓸`javapng-2.0/src/test/images/suite/g05n0g16.png0000644000175000017500000000052310646275026020742 0ustar paulliupaulliu塒NG  IHDR 侚kgAMA重設X2 IDATx湱战 0褈 H雾遗7i刨>AA ⒍U As G欰/@ 芉#99窟凸鼅蛥薊X轅鼋筽:皹拕)q)8WSp80/)仫n#靨W <8`2淡C饉8\x8ah`,蟯瓟A篆 n饭V @_塦+(甒]X杆&贲*&5-乳~> 懄惜R#谢栧tpDP综GXD饅垹俤 ?韄刦A赤IEND瓸`javapng-2.0/src/test/images/suite/g07n3p04.png0000644000175000017500000000031710646275026020756 0ustar paulliupaulliu塒NG  IHDR 乀ggAMAp;XVPLTE湝靠vvvN桾l\IDATx渃4 PA `@`0 獲牐奝 p敥0S EX (//(Wbb偍 00 玚`gRBQQ^w*#爇介r=IEND瓸`javapng-2.0/src/test/images/suite/basi6a08.png0000644000175000017500000000055110646275026021111 0ustar paulliupaulliu塒NG  IHDR }JbgAMA啝1钖_ IDATx溑旳N0E煡A富瞗A泦婱亮罞*q *e谸諗怉麳蓨鈢?'沅dG` 9烩c:1鈸変潢{=歬 笩值S纤癵灃c. 挀3{煒屍_m /N 贎-~'.l科M瘘1! j褷 简D 礹悳滪銠=崫F`╱@]歚癪-錨%x zRh郻!9毇:乆F/竓慄.鋴 拮襩淇Y Pt霵蝷W(3鹞mY禌阭 蟺陁(ㄗ P:焸JS鬷NsBIEND瓸`javapng-2.0/src/test/images/suite/s39n3p04.png0000644000175000017500000000054010646275026020775 0ustar paulliupaulliu塒NG  IHDR''~峀gAMA啝1钖_sBITw'PLTEwwwwww蹩;誌DATx渕!傽呩GH洈z儐恜 粒8,壟1CufICgf`2(6 'Z卸 =E伕愬'酞 '摻Q觰獷庛貀¥鸂戈稷J桔跓d睁吘于0`7~趍d稶婟g/C>d楊(U鞈>龆驯b'LW铈蝨e蟘+`:4沶h7z逖o韇鍨/ 仟 O/5+熸IEND瓸`javapng-2.0/src/test/images/suite/ccwn2c08.png0000644000175000017500000000275210646275026021130 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_ cHRMz&u0阘:p満Q<uIDATx湹諳g邱稃3g嫣渟fnb撴謗饱谝Bi隖S0嫎6"叜Aぽ貳7q幡.Dq)林R[P≒1崵r箸茕9檡'譳J捚H^^f3瘥<厦颂獶;刽M进 }#渺x=_+s侯垘瘀8闞r税骝锰龑#O胞3#槛o!A嚢K!祭笶栕up侹O騀b=0猋1\簺枕d{9框柢f畯覟曔񋥱AL|~糜[幈}焩@翌v {t{t#:aD'"r詫o告轿>6*@匟堳p4R玉枘1睢 N鼚g救 鱒併瑸d<囷t:X煐A栅>潣矅椤#8甭蠡8z摮~ N{簫nT8^@7f0>赐鞯c阋&`赱M4.!镋4&禔浸K詆伛讧氰棙浊鴽MtP]瑖k):鬮$B鱜賳D崢ua謳愇蠊艣1pi{栀nL陚O .Q*F鎼噶 k潞0姹偳x烮媣 怼|磸it(=7b65aC #a$践 硐笮S嗀秺轓跡昏贕鶚垺G壄8兺耮镃a, 7^愶齘=贷摾烮]軧敌-C蕝;8N醷鍊A$6$*锤0詫>銗q徤賱"a:&撯$2u>咫哚O縡[9E fsk玊Z$ 伿A27C棬R币,_戙瑛瓞9祍啐_~鶇G5瓮㧏忣 摕囚.07纳洟烎mK9.r細<}鶉;罱跑,%"o䲡銥╊6乎矕",5f鶋}<圾転鹢戒@査蔎匧WW/廎隞*y淞]魈過';服 籇(IEND瓸`javapng-2.0/src/test/images/suite/basn3p04.png0000644000175000017500000000033010646275026021121 0ustar paulliupaulliu塒NG  IHDR 乀ggAMA啝1钖_sBITw-PLTE""fw欇DD野IGIDATx渃梃 =sf摘騬c鉾飂蝑 C+(H*着T钶讳爍@*)#蔒K#G暬{7嗄暄}IEND瓸`javapng-2.0/src/test/images/suite/g03n2c08.png0000644000175000017500000000056210646275026020742 0ustar paulliupaulliu塒NG  IHDR 恚gAMA埜脚I)IDATx滃朚娐@F1﨑w.寄x忞!.2dFgF懵埳$忎酶睼旿.韇+g鹌烩鶪q98`>//犨媭褕Va酐" 孔狝+劇P :犖犦獊 P Z-@T僨S紵A2鴧~4窣]5舌戟葊鷂>饘羣晏l固1333$僐纃釼8$lB'4I瞊蛆Ⅸ7凂豰6㎝V78啾Y翅衜穞C|wc樫n'[|(% j鲂煘A 兿d@峰 甖瀁#[遤IEND瓸`javapng-2.0/src/test/images/suite/z03n2c08.png0000644000175000017500000000035010646275026020760 0ustar paulliupaulliu塒NG  IHDR 恚疘DATx^笛@0 郕\瘙溯l" [谉覧D傦=SJ碨苟簋f^湛> x栃(9CN褖譅 .郎吡紅x_跘C:$育%tg蒫莩"憂愱骸澁]慫WXtyF]貋]棳去:袡1z痙樲\R鮋x筋 D縒ョU揘n咣CIEND瓸`javapng-2.0/src/test/images/suite/s03n3p01.png0000644000175000017500000000017010646275026020760 0ustar paulliupaulliu塒NG  IHDRl'gAMA啝1钖_sBITwPLTEw卞IDATx渃``p``A91 KIEND瓸`javapng-2.0/src/test/images/suite/ctzn0g04.png0000644000175000017500000000136110646275026021145 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_tEXtTitlePngSuiteOU螸1tEXtAuthorWillem A.J. van Schaik (willem@schaik.com)幪GAzTXtCopyrightx渟/,蔐(Q咸蒊蚒(K蘏N蜨烫諵翁KO,/JU0创4盏4媋Z粃TXtDescriptionx-幈0 D鱺臡L绖X縛\C"8J UW癥緖ww跼硳g+]|?駼O猷&2 .葆I祃镄L} "$墚g<-.咍=KM喕k.QI#|臍=伌&'*E赭糛5 o>幛妠鲢,誗Pm輠槶凸<噠mUxoGm谣騐騜z@zTXtSoftwarex渟.JM,IMQ认SHT餕).I,驋髎驄J3笠 騬K 蛞曯B濹ózTXtDisclaimerx渟+JM-O,JU`援碉菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/suite/s06i3p02.png0000644000175000017500000000021710646275026020761 0ustar paulliupaulliu塒NG  IHDR辚7MgAMA啝1钖_sBITw PLTEwh"IDATx渃h`h` - +<"&0LH`XYL萫$IEND瓸`javapng-2.0/src/test/images/suite/basn3p08.png0000644000175000017500000000240610646275026021133 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔盜DATx 繥▽Hd+;3 ekXeg娦镑**4h 玪兽啙昚2谗净樎鎃棪%s優寂yiH蒀L*;8"轾糑E6s妜'HK?覻9蝮s枘|><湃N37_矟x2L&18罰~!^婐GwMㄊ,谝磄%褑<舷l YH(#9蔞杙氋&J8S嬡纺N蜀/睎鱕献!*搵%q|莽,񌍱渪搄<8*p n矅煠D;1峚1垀!繐'貰湥 澤0仛嚃揉IEND瓸`javapng-2.0/src/test/images/suite/s40n3p04.png0000644000175000017500000000040010646275026020760 0ustar paulliupaulliu塒NG  IHDR((~啸^gAMA啝1钖_sBITw'PLTEwwwwww蹩;uIDATx溚斜 0 D袰,!枲a坙E6H%2﨓鐷徕蒝N┰鴺bG@!FeQk7^ B牦髫歱877*,噈猞WBMw罣)R鄿搁胏!wu'鏶WpH])IEND瓸`javapng-2.0/src/test/images/suite/s02i3p01.png0000644000175000017500000000016210646275026020753 0ustar paulliupaulliu塒NG  IHDR?gAMA啝1钖_sBITwPLTE\/% IDATx渃`䦟gIEND瓸`javapng-2.0/src/test/images/suite/s05i3p02.png0000644000175000017500000000020610646275026020756 0ustar paulliupaulliu塒NG  IHDRgAMA啝1钖_sBITw PLTEwAおsIDATx渃h`h`X";tOm"M鉷$FEIEND瓸`javapng-2.0/src/test/images/suite/cdhn2c08.png0000644000175000017500000000053010646275026021102 0ustar paulliupaulliu塒NG  IHDR 鏹gAMA啝1钖_sBITw pHYs鑅e隝DATx渳択泵 効淘繸繠,腂,腂,躕▍X巺#!廈踭婕vw壶@张7x蒹藕麍G93枃zW冢 / X 斵]D堭,砽竝ar )f溴K+蠮^?蝅O度Fs躠M虃h$k箸琎t0憪啘N;8纓-F Bf =S鋚栽暍閖潌Adf"(>懅/6頋駜囖﹡k蚛猦钧IEND瓸`javapng-2.0/src/test/images/suite/s37i3p04.png0000644000175000017500000000061110646275026020765 0ustar paulliupaulliu塒NG  IHDR%%@ gAMA啝1钖_sBITw'PLTEwwwwww蹩;蘒DATx渆;0馫 N繪.`h飙ㄩhSR亿ウ卜r(70捥菜`捫FC潔j迃 |n伜(`,,皼錅柨j嶬)#)报懵(苄8n驱 P M$0 6!a?貞\Zs!*釄V}6n笭_D炟惢數瞩 w9棼)/糶欛鱈轲 x 躴%x \塺/礡x 萚绣J鏆s蒄Nk-8箺F弋螃Rz'#?IEND瓸`javapng-2.0/src/test/images/suite/oi1n2c16.png0000644000175000017500000000045610646275026021042 0ustar paulliupaulliu塒NG  IHDR 瑘1gAMA啝1钖_錓DATx溦柫 0DоA藒俘拞&f撎z咵=譅B>/鄽飀rs~='3_吴骦w胛t(p3楏眚p]`蟛乢桁ytΠ?t︿(C鏫l5桁2蹊L伝杼ゞ 濗I癅g.`囄(`秅 鬌g&經((`嬑麔60澖Y`z忱l(P49:{眬z眬*z葻mt3饊螢鳤O肌3挎B⺗荒IEND瓸`javapng-2.0/src/test/images/suite/tbyn3p08.png0000644000175000017500000000215310646275026021163 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_ PLTE""ss櫃橯 DD晻晻曟憫憤崓b 墘塮f贩s sssoookkkggg烫UUUggQQQMMM88 V 333////+/++w||+'s+++o'''x ###UMMM < oo/8' UUM M  忖 bbΖΒⅱ灋瀯 闡UΖ骥3垐堎賱剟ww<<热D |||华 bbb灇汅"^^^ZZZ葺''xxxxssooDDD@@@ff<<< UU444MM|EE<<"""<33"D''<  //蜒 贩 吵ftRNS@尕fbKGD b騃DATx渃`寣XW_!^.aa溡K朎蝅,廋:ぢO<絃槂;#玹饠孤聈q襧*X%<\趨Yz9#c匨促衐sf 穔眆V %hw爖暻Z阐寑磦牥0妭Bv┄靚aa+>W怔菷琝` 鏣%②g鉃椧#湂靱a┪尉鮊砽剠E瀱dD舶返U4.-壨S 剆 D厖-扟jA*躷绛雾2g#寪3)槫"g寞p励(0I5{8 H蘚 昣 $a}滷c7貮皞y1她魰`v媃/r訳敥斌&K颅Pq洣篖%蠦}?aaD攩鶃L*_*鑘>Md'R@菴崢 r浘+ 鲁L 祭bXZ%禞!F8N7) ( 捆.铇&  $纕虇Kwq1愅0i^碳0>埓m冬8 jQ9/Kx毀鞍vY聻匧8xq鏘+眽嵞s膊桤'IEND瓸`javapng-2.0/src/test/images/suite/f03n0g08.png0000644000175000017500000000060510646275026020741 0ustar paulliupaulliu塒NG  IHDR V%(LIDATx渳冶KBQ邱镩凞Q !E侾4.A!"!儮H嚏赺BA 84854 A嗫早y蕒w鴓锕鱳評2佥烬茫揬瑇~qyu}S*梠+篆篣M 雄咼蒡nJ葱 -4I葱袯椖匜妁椤v嶃&龝湣孁Ⅺ0疯 阑鞢 濌V斷1澟;喹懙Bg腆u凬J=:'N搶墈崖1qO0">1q悄璿7/禡1 i鞲"蕖E摼*pl鏑前by%苟 &'鏊0B{C* T L @堷cg\B件 9IEND瓸`javapng-2.0/src/test/images/suite/f01n2c08.png0000644000175000017500000000223410646275026020735 0ustar paulliupaulliu塒NG  IHDR 恚cIDATx湱?%U啛鼽3珈4"X壻Bc亼+毙悩P皾艶 M(,hH((,1雹0V拃5蠷惀ベ翨 %,譩钴澷啝摟x7蓕沷顂t掳屬檅W绡霆>y潂娑鶗Lk瘽U暺(3祂暝A獌y懨=龥睐痿齯鴈衧縫箳+秩2:啨A訣7荤萦woyU~wz:`{怦(棳'^T橉U*qV炷Nz鼹缋峉屫)皤覵[I[笅DY\罯*_唣 ?+t|' 厑腅镩3嗲稈穚栅$L黾TP罬á姭R54: 蹳|6瓠用僳縷轪斻涯3葼@ *TT:0`p鸌vz 蜀(緷葤"姌D诈婃hbvt;喕}裏@8}*(唬鴉臘v槪8箱戗炴i炠赓魃3Z卵g 攞 狙I骴弝奧 L未H 蘍=~衤w'尐%咩乭湀')<嫔G暲⿷毃憱h9漗zp70F諶(;{ ^瞲糈 ,#)Q%1%j&2蚇? p锟(寜Q碩; d邂 袢5'ER E,捵%螖虜┢镞岐G服台Zf; 膙:1#i%a墱盠11o陚ct片e豎 !坹苳b$FR:cF^繘B)L礡玧56伆 1,髭爛皞xO埬HL牡莆%+X擩㎜暆@<4 奀剟鞲Gb"5F嚏浫昍笔N l退]B.蝤篪垙剟O膖緝滣粣'R(60 蔖]鰚rp熚胓夂邊8+G伆 洹瞈 V.: 梡i!聞& 虿欰刖;:銺D椥Zc(阕? 劊@&K鐐瓋瓋惯7IEND瓸`javapng-2.0/src/test/images/suite/tbgn2c16.png0000644000175000017500000000371210646275026021124 0ustar paulliupaulliu塒NG  IHDR 瑘1gAMA啝1钖_tRNS爰YbKGD欈塩]IDATx溑X_Hbi篃濊D  I  茀 6.鍮問q`*(槧`缏嬞6 jY兗養葏rIHA!崿9CF杌x愸麥S鰃wW缂飐摅<矬{痙jjjjj 谯圹圹閥wwwww!獻C*旿遘苘苘\[[[[[[ccccc鉉贮 VVVVV偭`0ゑH$塂枟棗棗c盭,贿鷂=灙熝苘苘岶龝蚮硋凰錼儜H$----偘綨o髑犙h4威概b眡絺 羆0:漀竆.肮构 d2櫶锟摿*旿?馀徢泷岶c>/撋d傈<愊珞$實崓閠:  匓>亢汉汉鷱p|||||l粉韛{<静鈜随r4k4嵟=V㏕)D>殚殚鼅窟險〩鰋0哒照照找乙乙捤錼筡<象< BQ襧e樷3眙种 匓@籑䴔湝,蔛牀&貸pKs:漀鎈裼O,鄏)偌涛挝w毬d^ '丂  UnL&撋d泿倾駒渁>|瘥8怞% )B塀x炵伃瓝噍粀飱, 豯6痱逅梹誮j5蟱t紐 紐}6秸j礪瓏噰噰7 J∥挝挝螎崓崓峢Tヒh鋜癤x髥e仯#T*`z歟烵資~韀纋6*W妹妹琅排`店蜎7壞o縴<浅 lo嘊(DU@>:::::v:砓@o綢*y愃`x榓匓*&&剞揶靨p:GF8N瓰漸环秞~o镉'嘤'O'OVW乥.r惠n坊抶5 橪&揑z嶧Qh4曗8&靖(離絺8< 4燭&@0H `b"偭H圖蘤纋~x塂"慔7頸@6浲f臭, R㏕*晵嘊(2贄惧y[Z囗[犁|>虚伵E饅揑 檤x|滼黀袇俈{絞g冷$藠}y,腷筡裬E8潃9= LOWUUUコ閠:漀~窟g2橪&)社簌|綪( 3棑涉鏸痦肮).  D硆膈z)㏕d羆0 穆験 匳壑朜3P圌銖犠yF?剂F捞 03箨痍,+撋d2YG ..({U`佨'6{vvvvv033 滔kk@#簗| ={<{苢:莍礪璙KAL 关宴 祆祆祆 嚳X,S詊离婎М抙筢實褑E_?Qt:漀c闱h4廎冕p8.1MD[ *>熛珞er筡.梒Y杄Y濂犥A逘黏駯@璙j鷸4搴阴< 0恂バ亮亮亮噜噜酄 莙菍FH>玁懵a庪::萡"I龟jsn>7咭崚7習*1禈y圱@馠I$$2鑿墁--嬇b摗pohhhhh 蕹遣z絕隋r筡N箣摏H笝鱳0性栽栽D|摗篴2錼&甩,K乆^+Aoooooo%抴8憤寣寣寛蚏語瑔軐铑铑頽:*潫煙煙W蛘甎觌腚腚売錮 U襼晜hf迟l6濂籢u甍L<:::::Z>.慔$I%+膖 NOOOOO飛Kwg妊碵ャ鬃鬃鬃b_戇嚸醁XXXXX 鶉_-J顆7J鸐鸊芇2ヒF2鬌徻谮谮趪(*唟^-w)籗鳵郣栅篡哌哌呖贩贩拂窲椻 栽栽栽衭*|闺+n箷}}}}}}棗棗棗''''''彧-/ 溽祬 IEND瓸`javapng-2.0/src/test/images/suite/g07n2c08.png0000644000175000017500000000052410646275026020744 0ustar paulliupaulliu塒NG  IHDR 恚gAMAp;XV IDATx溦朅 0E'"墷铬箑+/郔瓯r&!輺m)谽+U:34`;"!乡WPM臈"p)~~嗲 蕭羱\( !C@灒揁I 睱R4b2竼靎I" 魣膧30F惥Eow0R2羱hp筝2@Z  壺6f誐媁禍譤u漃犽ΚR|喬霓箉龒?i ` Dlk齨kY炏u蠊K甤糨,锓䦷5世郩(僺(28 3枢Z?帷 IEND瓸`javapng-2.0/src/test/images/suite/tp0n2c08.png0000644000175000017500000000243710646275026021057 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_諭DATx湱朹hSw?諤#^i/4蠤o犃f4Z癭UVf )X1`}稹Hp` 鍯湷O依 v,咑乫P; 醾-蹾c絙妷$=ddf]禀閣=矿99窟飇竲6G傐^緗:蘹挫(藿{房靠换&E1& @Q'O灓娱馹>递nO体&#憚窰ooaqq滨瓹8嶹痎]絲5 x8滵",/撏粉廚鄍8抖毒縱m~~~`燿21;K﹦昧欶筡ZXX8"鳞穙'''3压邊<00莉2V+蠟备堊损01躰麋蠠?~塂t]O,!烁,,`2q@4璍m3ц膲╝0~閐t墮糬錹8駒茱黠K馥乡3檶妁/貙 d藬A-筝W:k;tuu5遙竆甡0(I褹 炖7逅盏羆h佰磲p8;恅hhH挙蕑oo(娪佑黠哌圹鸚閔h C8$)椝弩y@刞0x裰Ik袹:篭.вi4UU礨,丂帱囅N c菐EQ灋窟遉凢U褉'O={鲇;;;Gz驈锓 IEND瓸`javapng-2.0/src/test/images/suite/s38n3p04.png0000644000175000017500000000036510646275026021001 0ustar paulliupaulliu塒NG  IHDR&&Z魸gAMA啝1钖_sBITw'PLTEwwwwww蹩;jIDATx渃`伮頴柂G`$61 屠!f纏C寔Cl* L1lvX*`q*筨 啬0韍-剀屘81犓信 b躧b栏)`@抎媋1浗兩-喟騣+兾珼IEND瓸`javapng-2.0/src/test/images/suite/g04n3p04.png0000644000175000017500000000033310646275026020751 0ustar paulliupaulliu塒NG  IHDR 乀ggAMA7婇PLTE栽汉洓",hIDATx溄瘟 0D!肮蹃[皜\鏋佣` 禶種匁?廵q╙Q- q@暴SM钮姎" 睎D珡壃C糗洆6 褠 埪}嚄嫷~ uIEND瓸`javapng-2.0/src/test/images/suite/g07n0g16.png0000644000175000017500000000050110646275026020740 0ustar paulliupaulliu塒NG  IHDR 侚kgAMAp;XV鳬DATx溚暬 0 B%h檧╔I萛檳1-埀劯錎l ス縄L聩9P8j-刏椎Z{郐>2x n@i榔$qliE: - t瑼 LZ叻4 鲚斡di腵Y8睦 厎SU1砾誁停AY捋hgph殺愾k 纟餃郳"皝;∪9@𼊏Bu爔鳦慮埚<錴'櫫8>柯] 喠 @ 覡腱 >拧孕,s,IEND瓸`javapng-2.0/src/test/images/suite/tp0n3p08.png0000644000175000017500000000214010646275026021064 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTE""ss櫃橯 DD晻晻曟憫憤崓b 墘塮f贩s sssoookkkggg烫UUUggQQQMMM88 V 333////+/++w||+'s+++o'''x ###UMMM < oo/8' UUM M  忖 bbΖΒⅱ灋瀯 闡UΖ骥3垐堎賱剟ww<<热D |||华 bbb灇汅"^^^ZZZ葺''xxxxssooDDD@@@ff<<< UU444MM|EE<<"""<33"D''<  //蜒 贩 吵2円lIDATx渳搵_ Q…鸡e霊BeF呎"[┩2奩紿龋6%臊霽癡と鏺 }^( 铵 e 啻輯搘⒀砄梷,g V1箷鞰鰎譶陞凭@嗎2 煡輜fCx>+c堐K雭酫聳[驙-碧驕埢#0Df鍍荭%⑶#v笸3濌n桴w礵@\ 陜 ごqj刹 盩Y揀譻%涊IEND瓸`javapng-2.0/src/test/images/suite/s34n3p04.png0000644000175000017500000000037010646275026020771 0ustar paulliupaulliu塒NG  IHDR""萯gAMA啝1钖_sBITw'PLTEwwwwww蹩;mIDATx湑媳 衉 塠匦2谐0&G+.%:r崱*轴Hv4,$伳俌49n2=▁NN稄m'c)*+ TxVR,v5H陝\-Y~紿韴:+IEND瓸`javapng-2.0/src/test/images/suite/s32i3p04.png0000644000175000017500000000054310646275026020764 0ustar paulliupaulliu塒NG  IHDR 鯯WQgAMA啝1钖_sBITw'PLTEwwwwww蹩;豂DATx渳惤0F?E~釹讍$餏:5q,靹仚3$餢遏V)16蜅霉麈6傘绅銱^帔鲦婇|G愯窸6鄓jP沨柋誵 睁S瞂ΓL!0Z愰悄舞祺搪(-昤蜦U叒犑 $栲L閦*側>=& r%暰@=E绂"t畯6;s庋2 灗q2禳㈧鄔璀脄勀E茁0尌羹l%臬=!稗瞆;7凴覄旐#IEND瓸`javapng-2.0/src/test/images/suite/z06n2c08.png0000644000175000017500000000034010646275026020762 0ustar paulliupaulliu塒NG  IHDR 恚DATx湹袺 袣袄v1~a>W$捵衝(8輞騅r-"蛩 %P鰻渮PE鹨:w儊N琱~uJ繪鲝夹#痷OE" 誱(t:][慫WXtF]竵]桾湟^}@'#s艨慽" 胼|A垀UU揘n1R,IEND瓸`javapng-2.0/src/test/images/suite/basi3p08.png0000644000175000017500000000276710646275026021140 0ustar paulliupaulliu塒NG  IHDR 3:PgAMA啝1钖_PLTE"D韜w :w""""琔ffff"橠DUU"怂DDUU怂3燔苘DDff3D"眄ff怂33U*垐D垐渌篬""f2櫔U薱獁:DD躪f圔躪芎33韘垯Jw汉䓖櫃"w垐332fDwJf""檵UUDff3UwwDwff蹴D"眄w"苘3333c汉U3{鞺U苘UUf苘軆wwUUww""DD3元U櫃櫃*U怂f3邯狟S汉D櫃虣"荥Sww333膱wff""UU"隧垐DD[紈fwws33wD""眄U"磃 汉3箮觔DATx渆衖\ 7⿶J斠M琧))I濞褼X蔘a选29s%"B!W*錁M%:9錤<啁琪}象R咵4沊L1噦M造.5#灠畻\騂mP!憚B杬詾]蹷e鰵墳&甸鋒A筕i趰蜿5斄F妆{麊Y.L矩#枸 0Mun`7嬡%R甕H5!C33换腚;;缮善评雷返522%オJK盱 *+屯}|蝮┅赏拓腑驼但()墏侸J膊郊忖HY恭'00/OI),LW7< sr寣::挀mm)>>&&*JNBKK_考22x< 0:寒幫铐 fi┃АA赞灊]\芤"洈舝qa2鵿必蹧d曎踜j&&zz殬灾Η藇 鲳05MMuvnh`0TTd9:破唵觇┆FD榷mn壾%⿺53 懎煕ke晼Ν葚(/^S#麖Av/#,佂0 灷'犐0N5X冕 S 曫v羉犲0jXw`  紒>肬0 N x会!筢<呟 .繼犨 n罿s` z揍\勸隼?牫0独!豚 oa<噡N爡p&023鼇黟隽 犙0 胻x C8, 沗#寖G0卫srIEND瓸`javapng-2.0/src/test/images/suite/cs8n2c08.png0000644000175000017500000000022510646275026021042 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_LIDATx滍誂 0 BQ氞c蟑jS覊h㱮 狅Dk牙`榡眷}0M夘佮A班_倁胲oF′IEND瓸`javapng-2.0/src/test/images/suite/bgai4a08.png0000644000175000017500000000032610646275026021073 0ustar paulliupaulliu塒NG  IHDR 畉傞gAMA啝1钖_岻DATx滍復 0 糁紸(隽(sO绊涞AV啒G":奢檅貶$ 髝@湷鼱删戣zM2x<7U0t<n!筜粇.鞫,>郣╢qXAh举獁悉50o0N傲 N6鴩 岇O= YU]IEND瓸`javapng-2.0/src/test/images/suite/f02n2c08.png0000644000175000017500000000330110646275026020732 0ustar paulliupaulliu塒NG  IHDR 恚圛DATx渕誌$y邱oD-YKWee碚 堚另衅 垹枇薂#x衅儑馉0" 垉傕(*"覉膏=魯莸u鞺賃鯊欛&eA猨覟裀曷d9洈1aTI)5aXL+F脁倄襖7en唄聘L盛魵62+/P蔇a\K⿲Ae@轮(8s摳Is qU麡%2W鮩:!U愈孮eD))C&5k,祒誊s叓[T/&\梾K\鷞p馧棒鸴馱谅蟽1+誰)‘L寿x苿QaD脻勴勍氡躻,;{藂7睲t 軫冟O|A瘊zz:浴-4A裕倖辷禯l亩斥鵁砮菦憁燱僨y氵鞚镑>鴒鹔y2嫁D徯R:AO+16=囖跰l籩洷m亩骒伋頔Ey譕ln貰稇7鰬螯9D毴#9FW-4<駐鋓zvZ翅l毡鈠 YG7袊桡緯鐊>z6袵絡が掠6懛c蠎p惏撞潣瓨囄熭舌*簡3%皨睢%sp&aKpm湻媳(p胁綐輼-g帟萔衺蔶v休)&Rz!6狈So'迬%4[踍l;味渕:[媻 矈,X)亣Hl蜽#彁P誘L膢o-o.)ⅳ8iGq褜粐锖{u諬G屙锇g6馵鴐~楒.~?7i7i嚖忙5d=莀0?IR'i袣&灥x穩[耛奖馅{ r>@Bt坱萾丐f2襣LX2i蓴蟈!.y,'蛻 绅壱Jq蔵e<z<}B ,;{3:穜wB妭n桸嘚,'搜 -KQ挃Xq漏p苕赜zv禰l苐默98;轾bEAQyN枔f捬V|JK'DmN释~ T陋c刨r钥貱(*[∮揥唂磿vJ⒋'湺壥蛜 T潞c唾鼿V5d +皞选邾撚缮2矑Q$+^勼B T+*a鶂瀊ts:9yF^氁V動掗1{1;-铅c-C>e==IEND瓸`javapng-2.0/src/test/images/suite/basi0g01.png0000644000175000017500000000033110646275026021076 0ustar paulliupaulliu塒NG  IHDR ,wgAMA啝1钖_怚DATx-10 E咂偰z.z儽' V9c豖,e5|Kx翱窟Op绗筽r艳賗\蹇Yc哔*疞熧'闐瀌囘[6鐧+MKOK珃斠2-c儂pEHp-殶簟/zQ!濉斻Qf"IEND瓸`javapng-2.0/src/test/images/suite/s35i3p04.png0000644000175000017500000000061710646275026020771 0ustar paulliupaulliu塒NG  IHDR##涴烖gAMA啝1钖_sBITw'PLTEwwwwww蹩;IDATx渆=畟P勄Q嬿v@X伾賭 氨凡Γ丹吹& 笅zs五囸摍;&}!rB蔑佳 8墕yc瀍c:1 4鎴;0'9]伙L(PF‘弛灃鍞*1j1-喆Ft瓱數H茔?喐坠涋臜耦D"n飘MM;-厀僿+T0袅鉸=迚^格谵f衡B倜u/ep cA鋯%q)uMa洃8耉FL`?Ha; L塠Nq袏睢沬IEND瓸`javapng-2.0/src/test/images/suite/s07n3p02.png0000644000175000017500000000021210646275026020762 0ustar paulliupaulliu塒NG  IHDR<緻gAMA啝1钖_sBITw PLTEwwC硿IDATx渃囜j 铆9 7鎬H qy ]mIEND瓸`javapng-2.0/src/test/images/suite/s09i3p02.png0000644000175000017500000000022310646275026020761 0ustar paulliupaulliu塒NG  IHDR 犋gAMA啝1钖_sBITw PLTEwwVd#IDATx渃`@ X ^3\b 栄 duF寳IEND瓸`javapng-2.0/src/test/images/suite/bgan6a08.png0000644000175000017500000000027010646275026021100 0ustar paulliupaulliu塒NG  IHDR szzgAMA啝1钖_oIDATx滍1 0 F'dhO△?U!妮臙xR鑀(M(賷0^{~3uG XN5"}\俆癇\.y 垝鉅6爗@<P6@R 窵IEND瓸`javapng-2.0/src/test/images/suite/cdfn2c08.png0000644000175000017500000000062410646275026021104 0ustar paulliupaulliu塒NG  IHDR 爳畤gAMA啝1钖_sBITw pHYs2R0'IDATx淯襛q0 喁S匬叄p 糝8 匑h Tv6嵀]iW諿倳dogsPz渀qfX)瘟\丞詏_粘鷂摘精LNN皆月q u貂*n瓴V鮏 損v5%/縮竽摸Pd儆璆"肎x% 呜^ .U嶑tl賉mv=獽鷺餄痣#銥~阃虿e%暼攦Q騶败弝1禲鄬(+AFK F898%| O規蒂ISSq-峳鶞3睡腫艙"侵}p4=A贐碮i9貿@u很3u 鸱IEND瓸`javapng-2.0/src/test/images/suite/x00n0g01.png0000644000175000017500000000006110646275026020745 0ustar paulliupaulliu塒NG  IHDR餉gAMA啝1钖_javapng-2.0/src/test/images/suite/tbwn3p08.png0000644000175000017500000000215310646275026021161 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_ PLTE""ss櫃橯 DD晻晻曟憫憤崓b 墘塮f贩s sssoookkkggg烫UUUggQQQMMM88 V 333////+/++w||+'s+++o'''x ###UMMM < oo/8' UUM M  忖 bbΖΒⅱ灋瀯 闡UΖ骥3垐堎賱剟ww<<热D |||华 bbb灇汅"^^^ZZZ葺''xxxxssooDDD@@@ff<<< UU444MM|EE<<"""<33"D''<  //蜒 贩 吵K轴+tRNS@尕fbKGD b騃DATx渃`寣XW_!^.aa溡K朎蝅,廋:ぢO<絃槂;#玹饠孤聈q襧*X%<\趨Yz9#c匨促衐sf 穔眆V %hw爖暻Z阐寑磦牥0妭Bv┄靚aa+>W怔菷琝` 鏣%②g鉃椧#湂靱a┪尉鮊砽剠E瀱dD舶返U4.-壨S 剆 D厖-扟jA*躷绛雾2g#寪3)槫"g寞p励(0I5{8 H蘚 昣 $a}滷c7貮皞y1她魰`v媃/r訳敥斌&K颅Pq洣篖%蠦}?aaD攩鶃L*_*鑘>Md'R@菴崢 r浘+ 鲁L 祭bXZ%禞!F8N7) ( 捆.铇&  $纕虇Kwq1愅0i^碳0>埓m冬8 jQ9/Kx毀鞍vY聻匧8xq鏘+眽嵞s膊桤'IEND瓸`javapng-2.0/src/test/images/suite/f03n2c08.png0000644000175000017500000000241310646275026020736 0ustar paulliupaulliu塒NG  IHDR 恚襂DATx渳朷圱e霞gg缣縕麗,辈(嵹B窅肂2B*M  zxc~Pw襏w襇W{裮 "^Xvab錏偔铎|顪}8鐫93郴胊樶捱?消鼜Qr6W芭姯邴搽舟G灤7侑7坨囤m/跅^动屰譿趬7眍I荤-击伙]鲟!{洙S{旄=q聻~癀赟眜/EP2敔E(B 悋<鴲s撸恥#0x`繞2 骅S濾饍垁SJa簩B 揔abF稛az 筢髥@4繽慴爧殛颧tt,爝灐琓蠤龝 (. 申緬 YQF<!儁 % u!敂扨剛PP駼騻BF1$駄D鹉3+C>茪%E侨/)篓2墡刟&奕$&攨抍-藞絑FG奱苭K$qI薐戬砟 灴灮烕3<{=<鹻x鎗x鍶=渐譠}5f泠L關9 0嬡U殈4 邉-桛|f焟@+u兔<碼"0敕I〤鏍朾(u?卩怾醣;lW怔菷琝` 鏣%②g鉃椧#湂靱a┪尉鮊砽剠E瀱dD舶返U4.-壨S 剆 D厖-扟jA*躷绛雾2g#寪3)槫"g寞p励(0I5{8 H蘚 昣 $a}滷c7貮皞y1她魰`v媃/r訳敥斌&K颅Pq洣篖%蠦}?aaD攩鶃L*_*鑘>Md'R@菴崢 r浘+ 鲁L 祭bXZ%禞!F8N7) ( 捆.铇&  $纕虇Kwq1愅0i^碳0>埓m冬8 jQ9/Kx毀鞍vY聻匧8xq鏘+眽嵞s膊桤'IEND瓸`javapng-2.0/src/test/images/suite/g25n3p04.png0000644000175000017500000000032710646275026020757 0ustar paulliupaulliu塒NG  IHDR 乀ggAMA袗鳷圤PLTE--\\\RQ族dIDATx溄伪 0 DQ[J懼+ 溉  磾^乵sQ$s5H澣袉:P 5攤B) oe 痯/)Fq譲猄!*$BB?x(:5tf;碢IEND瓸`javapng-2.0/src/test/images/suite/oi9n2c16.png0000644000175000017500000000573610646275026021060 0ustar paulliupaulliu塒NG  IHDR 瑘1gAMA啝1钖_IDATxv鎰IDAT溠仮IDAT辙乕IDAT1TKIDAT聊[徫IDAT 软旜IDAT僜壇rIDAT0酠DIDAT5弇IDATDY夬aIDAT奒IDAT鄨2煇IDATA) IDAT鑲EIDAT$巉IDAT~焻!IDAT穧=[IDAT4驣IDAT瓈_⒔IDAT鰘*IDAT1TKIDAT7@IDAT羀剌IDAT1,RIDAT69弨IDAT,鉡IDAT&5IDATf岄箙IDAT揂>IDAT毯牦sIDATz樿迨IDAT;T寰IDAT,鉡IDATE.幦IDAT鋸_[IDAT=pP1IDAT諫 IDAT狛钷IDAT廢?鉟IDAT5弇IDATB瓣]TIDAT(8}IDAT>閅`CIDAT/冮@IDAT鄨2煇IDAT8IDAT崅IDATdb缲IDATr3mIDATs4]nIDAT~焻!IDAT;T寰IDAT=pP1IDAT'2葍IDAT3楄IDAT_屿1IDAT蜹鋻_IDAT鈌<IDAT 屴NIDATZIDATw鎅檞IDAT穧=[IDAT6IDAT郌IDAT蜹鋻_IDATtP韧IDAT(嵳IDATpx= IDAT嗫,IDAT3楄IDAT桭S{IDAT 屴NIDAT眦冦-IDAT騵嬵IDATpx= IDAT]=釶IDAT奄鞜IDAT_?M~IDAT`eIDAT 屴NIDAT W疕IDAT伈囄^IDAT_屿1IDAT鑶IDAT靵動IDAT騵嬵IDAT6IDATy岽pIDATtP韧IDAT峽5IDAT般Y蝑IDAT莱\縓IDAT?瀆PIDATtP韧IDAT峽5IDAT鋸_[IDATLS(IDAT(嵳IDATC琼mIDATV 3IDAT\J錪7IDATll1IDAT(8}IDAT :kQIDATgIDATV 3IDAT VUIDAT魭鐺IDATDY夬aIDATgIDAT崅IDAT&5IDAT挟氙<IDAT0pIDAT綕璨IDAT汷7$IDAT莱\縓IDAT(嵳IDAT魭鐺IDAT(嵳IDAT`eIDAT WIDATK>1IDAT;T寰IDAT婻R'@IDAT蜹鋻_IDATWV|IDAT嵒1倁IDAT6鐐鑡IDAT0酠DIDAT1,RIDAT潶啋IDAT綕璨IDATY:彅IDAT`eIDAT7@IDATz樿迨IDAT硓P熮IDAT莱\縓IDATllIDATz樿迨IDAT2猢IDAT冉7jIDAT烪報=IDAT_?M~IDATm;` IDATtP韧IDAT蜹鋻_IDAT3楄IDATIDAT饡厪IDAT艀IDAT蜹鋻_IDAT?徝IDAT&沲IDAT鴽^IDATA) IDATO蝃!IDAT/U柜IDAT缄飩OIDAT轭IDAT3楄IDAT縮嬗IDAT鎍Q:IDATB瓣]TIDAT䌷=ⅢIDAT^るIEND瓸`javapng-2.0/src/test/images/suite/oi4n2c16.png0000644000175000017500000000052210646275026021037 0ustar paulliupaulliu塒NG  IHDR 瑘1gAMA啝1钖_cIDATx溦柫 0DоA藒俘拞&f撎z咵=譅B>/鄽飀rs~='3_吴骦w胛t(p3楏眚p]`蟛乢桁ytΠ?t︿(CnTZXIDAT鏫l5桁2蹊L伝杼ゞ 濗I癅ge枧cIDAT.`囄(`秅 鬌g&經((`嬑麔60澖Y`z忱l(P49:{眬z眬*z葻mt3饊螢鳤O肌3挎B 忖)IDAT⺗z zIEND瓸`javapng-2.0/src/test/images/suite/s36i3p04.png0000644000175000017500000000054410646275026020771 0ustar paulliupaulliu塒NG  IHDR$$d)=gAMA啝1钖_sBITw'PLTEwwwwww蹩;買DATx湇懡 0F?埴臃"]臝痢綫籿 竔wqpvrT星jbM 嗕鉿罱A(;褶圴汱IFq魓fSB0'炞鎺z捂W謘緣%罄兔憁 濉r畉銌葋 \A9*e} u惍攠 GT_鯒`-訳$獫獄3夣碗Q幢?,墷 0h獑+8閮眔躤(8馝颾餇_縵丞j ,a*muu雯9?.IEND瓸`javapng-2.0/src/test/images/suite/s37n3p04.png0000644000175000017500000000052010646275026020771 0ustar paulliupaulliu塒NG  IHDR%%7=0gAMA啝1钖_sBITw'PLTEwwwwww蹩;臝DATx渆-傽嗎/' '貏 z 叜釼莗召)コ3x3@魭瀨匢z#剙S<#u*dU耡0旚2qEK暇,2邱7鉌xlj<復岜晒蒸)P鮶?覭w禬s:鲔kPぉ2暿 -W玗s'嵽 糺嵉蹲eG 圹丽軰疔瘜岹鑭鷧QV IEND瓸`javapng-2.0/src/test/images/suite/g03n3p04.png0000644000175000017500000000032610646275026020752 0ustar paulliupaulliu塒NG  IHDR 乀ggAMA埜脚IPLTE热葺1 cIDATx渃(% 0A `@`倷@W,@G.@p敥`06`FR研羇蘬b\ぅ%ちU@乩 l藹-H*乙囝@ SR觩芥但IEND瓸`javapng-2.0/src/test/images/suite/f01n0g08.png0000644000175000017500000000050110646275026020732 0ustar paulliupaulliu塒NG  IHDR V%(IDATx渽!K腁瘅vvv1偭`1X,&嬌f 6羆.︺抈8"\ 侫0埩'傍 鬟侔基蔷欋q-洐TU !$熔QG躕[:w磨u膮u臋u膇j 灅瑛鰝签W罈僄Z1熉4)践9x+1fc鉴I汞+崩$哚娠陆8坙)躑'0篦郚tb巤1nG'-qU兏)N饥j7铷孽嗄'qM駜W0嘇.A櫬 Q辴)C[P l 抦AtDG昋, IEND瓸`javapng-2.0/src/test/images/suite/s05n3p02.png0000644000175000017500000000020110646275026020756 0ustar paulliupaulliu塒NG  IHDR蝪gAMA啝1钖_sBITw PLTEwAおsIDATx渃X绽0祦a"榎*惍岕JIEND瓸`javapng-2.0/src/test/images/suite/basi4a16.png0000644000175000017500000000544710646275026021117 0ustar paulliupaulliu塒NG  IHDR ^gAMA啝1钖_ 轎DATx湇pT譽?Z=Iow殃懋B2O堖劆5性f p褮f4巄魷8O5vH\猢 艭癱7栥援#-+06P 袀矏磟W+黻璽店OL2m%K,儜垱:尨 牖嚥柂鏾迣! ~>6K鱽2m4?)7,銔澥霄4u瀍柧qCYcgg'馐 i!l馚4M卵\x2s&暨哋i耶顕C-阊hD痣锩劫g肟t<Kz犲簔)]}<攕秪閺披@箍 BWTa3烣渫e敺缋 ;F儋鸁廰_ 祘牞敺鏐K:t秪轜濶8 4 芸)萁p廸n靸峿Nr铈a鞈槤カ硊黛~=8壜?駜0裭JH優吡蜅t7 黑{ F沉3%CP`C壳夈2廩坡倶]e+! 0鄥崾6]齓&奰4?珙8IH2V嵞祢[vQ=4褸睹X>?備30.楆闣哒兆\峑哘矺緄倬np7Bn(嘇 ;秒`n~"O脦," :X@羇py(b.艚7 9-#觳X1s;鶺h卫Pf飦镾!6畎铑卅r同娐(T潃(o圀+彳熰| 蘇旗瞁c愓f侈定軃樀 f岰>饎A 趛(k啽fPEMpx4t躞! 堎%k栔x37筲0%8$麧腘腁-!剎z傂刋!鑚l5+ .S3;堕-[W麀凅u>~橤tu,_W撨诱侂黑S7_渍珔:贿a═n竄畽鳰叱0矶螭檆愽侕t椔祐竫,j屬錻(VA遹匫j舘誃e-萶A>k+?3霽坍奴!x鱾耂寕 [3O像洺󞙣 悦'w牓j啄旃贰d/忄S罸妲渨唒x6kf鋓]甞.照#胶旱jk峋垧匜趸 dF0,~朏爀礷瀃7縸^X崇輪@-xOC^#淠AQA 兲嫄蓢2悘B*ㄘK梚鎘 *  旝赖\縺,攌oBZ廊J<w恺||&f<坬8F>(o丂)Lirm萟[菇携.麜OF齁[璤ye卂賣J瓤:)d!?e﨏;2zF蠕W^'d2)d2#るz3\8M抑oU铭稑(齿锴鞉P坍Y秤,%臦 幖舕葹uN]s#钳\蝤晱烐++劶r两B蝲\H麞悏!e噽7n5]叻#欩B廀R罐 潧鄏 ,9砱G$  ; &(\ ?k%渰汊M屧+0l價畂w鶾O留2躀p An;鴑C裑0c5 {嵋r岞 F趩l電篺VXH] Y6_葅6 Y-湓%B 欮!?2uH若爯睲忍婤45V梢L喼? 乧p>览f謻寇范fEW!+7痮烟B`30~&巰k74z<漏閡悮C_兞?龒绪0/綧衞B3 cV2|*( 胊H腁$a郃縴佾櫌.亇苀履s怾yu郵N屛亼U恏 = =M衧>=冃銋0%-C媰/ SRRaHv翋 儃a`z楕腕>C閶0馝Ps 蕼G譈't:焢枻4t諤IBK,# )葟7 瀇MHo啍蒄H,k*舣頽抠vR3缥呩!蟒村巒鶟w崞!杠W氞蔍ㄐ匭铰2 o? 居帻7鹉笼O愾坡0殚`7氯0黣HT美鬺藩5撤 坪 ?鈭@w.畡佊3`>a琽硨釽 p趆J芟倸偧~ C屋螟oA&A>cQHoR): 印\^7鱛犹鋍巄t秶慨飘S朡r '!<PoA^r鰝騗P鈵嗢+沘"0$L0d2慁&葷0仉`pttニ4嗟W叡c噀惓擾傠锪讒叕群Yq融a@f3d<恑勸嘸裙0 #`7A*潇=繀嫇况0;僂]P磟餌@韤躙锐佉賸!鹵p瓭)(1d3岉1/6}Fr  喯\ 溵浃鷧u偑/瑑w巆薩嗁w` 詠轗p伜r!'9GA憮->R 0\塏皛 浇蠻鞹鲡c仑Z$X麮樂蠙箨!鼵(瑖9唓>3Z牗_3=g@ B逈怶;I`RU愻佬}赣漖N;债T碈.(蟽@3⒘袼;`|港 t莌堿 樁蠙HZ7糀4冔$恖啞ZHx羓⺧衧# 傄!(M@LO@ ,蕒022 ' 穧g|P\厱囡_驔羬桜釳L佸侢G25 >卛!'ⅱ505-0e 鋮淏萲)飩F[a"J+竅4Bo+婆肞麬(x|%摽EqXk炊@戍G>渠3忸c苜饊╡hu![HP若SB 9!! 9u粣羪BR籓H)!}礏?+隑z]H6!砯9z@缺+澍*!'~ $_阴廈*匱2g殣y勌s >!淙霩蟵鹂I9l撬IEND瓸`javapng-2.0/src/test/images/suite/g10n3p04.png0000644000175000017500000000032610646275026020750 0ustar paulliupaulliu塒NG  IHDR 乀ggAMA啝1钖_PLTE┅TTU踆cIDATx渃侾 H% `@`倷@W,@G.@` p敥00NK`CV羆溒杸仕 视*@-H*刭"(/嚮YLF鈪蓹:IEND瓸`javapng-2.0/src/test/images/suite/ct0n0g04.png0000644000175000017500000000042110646275026021027 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/suite/basn3p01.png0000644000175000017500000000016010646275026021117 0ustar paulliupaulliu塒NG  IHDR I磋gAMA啝1钖_PLTE""fl&IDATx渃4?翐俧YIEND瓸`javapng-2.0/src/test/images/suite/basn2c16.png0000644000175000017500000000045610646275026021117 0ustar paulliupaulliu塒NG  IHDR 瑘1gAMA啝1钖_錓DATx溦柫 0DоA藒俘拞&f撎z咵=譅B>/鄽飀rs~='3_吴骦w胛t(p3楏眚p]`蟛乢桁ytΠ?t︿(C鏫l5桁2蹊L伝杼ゞ 濗I癅g.`囄(`秅 鬌g&經((`嬑麔60澖Y`z忱l(P49:{眬z眬*z葻mt3饊螢鳤O肌3挎B⺗荒IEND瓸`javapng-2.0/src/test/images/suite/xlfn0g04.png0000644000175000017500000000036010646275026021134 0ustar paulliupaulliu塒NG  IHDR 撫)菼DATx淽蚜 0 P*@# #T馊10lPF`貭F=熌IQ*缗u頂`%qk H烋殘磤m噙 褝=,竑霴K 犘t幚(蕊鋻F ;鑀簚{xp鏬9/p*$(*閥煺儬陂玷@鰿  c詑瀷N踀#)11.崄r漯f0皝鋑h(t俾E塳IEND瓸`javapng-2.0/src/test/images/suite/f02n0g08.png0000644000175000017500000000054310646275026020741 0ustar paulliupaulliu塒NG  IHDR V%(*IDATx渽/K僎鹈8 侫 僊,X嘔0 V 胉酠俙羈,侫A魙頮忙鞴锫靳清滙pp:<&愈赕鳋狁轾艴睚泱牖1柱"iDD1諾氍w辿B1FDJA)JAP 俁4A砚`w{s=4Jtm}牃L隲$ EDj@鍫M'TR$z求.闎 犣..狏爇>P┡鑊鈊彦O戌b 舱31z鵠璐G1(q t诜漓r|1:S! ?C+玨[;{滳潈A夊誆 偙  偙 垈 殇椏刻臊IEND瓸`javapng-2.0/src/test/images/suite/cs8n3p08.png0000644000175000017500000000040010646275026021053 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_`PLTE 郀?_`@`@_ ?硜砪KIDATx渽0铑铨[> |侴p "儬l俋 *A/P $侭P Z.寕Y N-x)>SIEND瓸`javapng-2.0/src/test/images/suite/pp0n6a08.png0000644000175000017500000000146210646275026021052 0ustar paulliupaulliu塒NG  IHDR szzgAMA啝1钖_圥LTE3f3333f333ff3fffff3檉櫃櫶3蘤虣烫3f3333f3333333333f3333333f3f33ff3f3f3f3333檉3櫃3櫶33333蘤3虣3烫33333f333ff3fff檉蘤f3f33f3ff3檉3蘤3ffff3fffff檉f蘤fff3f檉f櫃f櫶fff3f蘤f虣f烫fff3fff檉蘤3f櫃虣3333f3櫃3虣3檉檉3檉f檉櫃f虣f櫃櫃3櫃f櫃櫃櫶櫃櫶櫶3櫶f櫶櫃烫櫶3f櫃虣3f櫶烫3333f3櫶3烫3蘤蘤3蘤f蘤櫶f烫f虣虣3虣f虣櫶櫶虣烫烫3烫f烫櫶烫烫3f櫶烫3f3333f333ff3fffff3檉櫃櫶3蘤虣烫3fc盎QUIDATx滍1 0 CQ<$骺爋 卧A4 z璞-呻朂q醭KjI弱`羱Ux\Ku7闽UIEND瓸`javapng-2.0/src/test/images/suite/ccwn3p08.png0000644000175000017500000000302210646275026021135 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_ cHRMz&u0阘:p満Q<釶LTE霭迚u k51缹I梹筑&4񶾠tQ#尤l-^>bOw3X .c$膕=焰枛;Y\z<渷礖恂A(ㄜ-I綻%{KR賬o膏揸|溎瘘黡鈗j羳谳蒗鷃ウ疑+_p5杵蚞g+荥=d恂EcC=嬋雾K&慄偽0屢37c浸鷽, G隐6谦锛醘融駲恹Y丩熰qL賻J{A<颀龌p帽,~!a1 X簖 ]e瓽嶠 >蹀L;[珸潣稔]~T词嶔<e9芆祓)f 藩藵4┖齄叜妫f枑oX銓預e=6&躛?)爂徕赙KT!襥驴媖痱K莧|SiC/5^e惸Mu@~rs>o€]?@3'簖0|{O%?饇鳋{S 9諳U︼醑>/W扡b秡庝玮沆 Y+垂该嵰溞+J疘DATx渃8B0僳m兽\ 4缓RR髀 帣攻#妃醮* \搆jZ苘頬O踙湅M$]輚n㈦6n技 S乁r剟n叭:氧洓 浂a(`崍铋Yw鬶s徕叛駂 \嬪7O诳咣{恃[汢CW牵*楿y~儖5拒5T]E粒$缤Wwk^攁\",:诼怵Ad9I蜽 45鉪猇剠UO8\YI翓瞾长$.lk浂z豸脗晍z $\\鲱烐芍隽羉z雾)nh4C僚蔾'杻櫃笌]竝n.▊淀哋M^萼缺r-e8q蛠痏炯癹窄[ Nl)槺梨s6S颇E^縹YPtKQQ 羡嘚轝焕&秾]I{7(垞31憇+H翄讇 瞵]jSR穙kV蜘e+璒>徵讃b啋挝k'镘櫦t檐>宫/_N-[&$T"+紡a)P^诉M俥#兾桽憤>B蠝93o瀶墅抻r 揝}}迭鱐T<総I珂虵燓QQ莥y呖W簰酠jjm頌=v顃r诖塵Ix8P=魲<7哽豎[;琦s{'bb铢 蛺J9砲帓捊77wyb阀!b硬垏G闄噰郭騬爈[$g蒫f鯨,席藶畣柂胩蘠吹U镞縪:a#鑰崛銟樫初'e?猘H冇C潱c惹15-^k4コ3IEND瓸`javapng-2.0/src/test/images/suite/basi6a16.png0000644000175000017500000001012410646275026021105 0ustar paulliupaulliu塒NG  IHDR T頄!gAMA啝1钖_ IDATx溳檏tU諠髋}&$@h鈲牳(惀"袉璥衁幮幁" 碆蝂.o衁(ZAG$儴P龛 萾 8B[#CI蜪頺_钽虈蒋$谈淵虫胅康gc飣秏&碯C塵肤I6D#?龎$XVI袷彤燒l虖d捉OB6穘n漨瘄啊章锭,()^郭睙隫n枺靐O*斸ㄕ鲰晄譒-瑞釃5S<韱 镂嵔滇:wx4SE跸莅# 饹穽[縲腚8甗凊 夅u喟眦,鈬Z砟ZY: 鶡蕣+仚︻$n P絥腶 W筝筆^q砽}cC#~醴N禯`^サ穁埞$;柝蠽W鶊┗葨G68泯F炀=0@駺 仚S烚C甅pmr/$掄0譐?B轹?;茇鐕tKi ">S铜寱V霼鮣TY澭妴+莛2憇A膚鍘D|蓭$鵂d:祙躶GW凉#邩嗗,  PU躐*堷圃詥復4瑿=3事Q86sS磺-鳐蒀穼?"維Wk贙/:匃[咂躭; 渵拋-&]侯喟韨懵聍鶗蹟Bj+闟崲趙茉輻朤Q@i猟'D|_0$[]禿)u]3濌/奤'馇&:=V!``wS 阔滈W uT氖B腤AUD|轚j勒挓9U>∈蒇z鐣1u鑜琱0粝,9h H=均0H拦F曯-醎0椹馦鈻-R_稃V[[蚑S圅溪 C餂7dg$@~弒9%@Vm謰銛忿摯谮N]]3赵5 羁_盾#ig廡}犺迿閮炏3c\籹  墈$)cn铦g*踓隉4羷&'[鄽9X猃`}娼繛'泿尮骁p 鄪1g>绪"@鐱lOjbc%凲4僭粴`訰摦VU媢抉H3悰 eM谢@,訪柃r骒%械逄啹韎(儆?XQ-烋7蹙z(m6懩2弨6 鷡Pt2浝渙@瘕膵P鷊C钙侞y.僠$J’緂]閝0鱬U恴O鎯s$朵嵘捒%箎備棇^)跪寬糲揹mXr蔛焏8j -榘碓7!軜婜N齋套 q瑔p訦埂蜡@8f痛萵鈃蓜*瓛yU.鬙.蓗U咦Z樃蟔4赭晹偯稄*胮2堷狋I堷b電-D/.媗_YY钩0聩枒祮﨓%; 覃姸)7構e圁嫆BkGD!-7KJ@&跁鼰I:Mi銑綂滷a馕P艀!爋y镕缚(愒Qp\rs@I箋5瓀劊暯_8*-欄#y蓈C谯"蕭*%拦&%纈蒓孰:6@8-'鹁*賁,曷瘹dH朜鑞-桴棩L]嬄 8瘣t鮆簅撿2鍟6V礎8:jgM h褀*橔漁og鑉=|=@j>@ω3恗q2鐽)@鲼U⒌煏炭)欃*K 近KG筴釢;烈a訰<铽榛\/湣| 姥bp:C=&篟2}F2甛r~屼慱键W啫欪诋雄帋5e:DV聫[:850b-{l4K uAz护PY/V.yA p 郒%L;k埬瀰*h 篻焃1=傓馤l瞍坌〔罚 \m$鴸塎=骭飩/釞熫 ,5涅0虼!2[羢!B坿n埍坂艚(塾较缴浴絵" RP僜W松zH搽lA+饴50$劉!8oo 褽3皫@Et6B敦串pⅦd婫燙赫[ PHN> 蜬.簹`C糨ホ +嘝!铱o!靇鉧C哥A-C怢锜nQ笭r ->靷u1啹5匁7"v勣0剺  炏 a{翍6劔re嗮瀫鬌C鰾⑽%[>C> }"03a8:L齊 ,橎犿0D=4C軉">$笵谨@n1竩]巉=騡3檅1/B蚯Pv@芡!誜趯.&A兠 g>7妀YJ} 拍^k 鼲带j噈煕&+糲eV鯱醜騹lMT棘滧婜B+ o5驚*阰皌'|咋橛薇VL]v朡哖樺_ Z40+X醜黇整槫{#I嚜+f3*#-Y;;蓷i@絕BエbV夹A酓{0b閻卺_l $@恨 p3,n皵<(nP哖蹀憭(-Z4%卵eE"菔汏≧`2J竃鮙Z1 楱_0邨(([Zc閻2uH妩.t7 w%@f眊@f傜剶㈩暼枃┏C咬駿 @II(Z搐D 頋Ь毌U) E蔃Z涨B襌鍨素;繝癷jaK嘪,2uHt鴅惆L罁戎粵額{ p*_|鑆p泛; 2礯:>(鹵x h2孰  銻[ }}拝#VL;.*>tm贽[>滓:c,gLイ閻7p眎豏 )qv焮.@箊W3@绯CVS%d6UVp逘TPu譽 J%弞栺#?&▅t燛+翾O沴5j詖y谠N-鳒蠜胦7u垥S!9C较d2R俵眥 放 租捛呙伍鶂3`/v萶t.Pp琒錑UY)UV1冕陬2 蔖乛ī4孝55 A8Z^酃餘K釉4S圁)8鱕軆r狞鮮鸐蹡c刈;5瓑v笴啤 R{媍壱竧/{饥颞璙絊2瘄昗孜稼箿dv砫鎃払吂B\>瞕跶.w-加 耴籤"毄mm#M薹J<帙K9冔蕱竆R鐪|+sK~ 箫8竧q咱籱 全綖鸊UV)E*aeWT鮥曅RJ褬鹤魎Jv8=g闊畝裣Ytm丵Ka 鑪n迿煯h;:~+P狉稁JW鳝=)g餙N饅炩g}f%;栗in<9_嗪Uj杼鐫CV@N砺 jYe蘦蓩*昉H$$恞簕/斚掉罱P^g呀蔳C茫惥集蔩鷑>=艕 铨X蒛薪枫欜:纛}Lz爈徧4%?  J |!餹I/;)辩 ﹣蹮M鸽惩\麗愘玐溶轱+呎轓蕨W悪4櫙-4A,2衵良 磜梁 ┹酂9\* 鲄琄韱疸R"2孈L硍决+t雨()杇俙qb %!镫R蠟蘾O}繱椯+痗卥Y1韨 傜折V楎皘j姯粑T ;斶c堔橮v W"6"櫷帙!蜃侒CC8?匋u嗮2 嵯B蔯垻M_n坧5X' QvzgⅫ柁n垔 "处砾讥CgqEL9j⿺[^.盫辚^ck;`衜+暓 j扔tKO孹$F@$朇p#$Ap$*!烧r 餑郻; 珎.唼啜?麆0虁鹱@ r"`鄨s亄#d梼R-0# #稳)亴镊O&_絟痍殍P绥覶4y羞`閩~(M萝 C/倰潌菳臂駇Pt!7C餧C餶浝诽纒儆k堻郳c{"8聁靿唒畞唒弲靑CxCC鴸佖d)羨!q!婎咗6C籥 k垝澬咳0w4 }~C,)ゞi螗(3雏F瑯鞐掇獥溹`Y\諏撅:T帟4b2(附绣h%乻n輪oE蚫=餯2軝尳涾BcF5渭Wh銺d *噙Fa&啾镇N掼y7z轆寙wae\/铷x掑7rL寣#"ckL膇嵨q6舟瑧>っ忸G微錒IEND瓸`javapng-2.0/src/test/images/suite/basi3p01.png0000644000175000017500000000020410646275026021111 0ustar paulliupaulliu塒NG  IHDR >池!gAMA啝1钖_PLTE""fl&)IDATx渃`P C寻1脵3豂僅6?@@!( 築-v┟IEND瓸`javapng-2.0/src/test/images/suite/basi4a08.png0000644000175000017500000000032610646275026021107 0ustar paulliupaulliu塒NG  IHDR 畉傞gAMA啝1钖_岻DATx滍復 0 糁紸(隽(sO绊涞AV啒G":奢檅貶$ 髝@湷鼱删戣zM2x<7U0t<n!筜粇.鞫,>郣╢qXAh举獁悉50o0N傲 N6鴩 岇O= YU]IEND瓸`javapng-2.0/src/test/images/suite/basi0g08.png0000644000175000017500000000037610646275026021116 0ustar paulliupaulliu塒NG  IHDR !gAMA啝1钖_礗DATx湹怾 0劃喝B膡鳦%>坸蔼!K堞$]!斡錄2,$UI槳BH"*V$—妺$艔櫃 墵J譴, 鏻懿 9:eSW}@⑴瀙炜唏;傷偨餩|?/ 破h謑倅詈气,擖餶d菙41岂{i!,婻鱿串缳汐 樋妩枅IEND瓸`javapng-2.0/src/test/images/suite/tp1n3p08.png0000644000175000017500000000213310646275026021067 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_PLTE""ss櫃橯 DD晻晻曟憫憤崓b 墘塮f贩s sssoookkkggg烫UUUggQQQMMM88 V 333////+/++w||+'s+++o'''x ###UMMM < oo/8' UUM M  忖 bbΖΒⅱ灋瀯 闡UΖ骥3垐堎賱剟ww<<热D |||华 bbb灇汅"^^^ZZZ葺''xxxxssooDDD@@@ff<<< UU444MM|EE<<"""<33"D''<  //蜒 贩 吵砿4#tRNS@尕f騃DATx渃`寣XW_!^.aa溡K朎蝅,廋:ぢO<絃槂;#玹饠孤聈q襧*X%<\趨Yz9#c匨促衐sf 穔眆V %hw爖暻Z阐寑磦牥0妭Bv┄靚aa+>W怔菷琝` 鏣%②g鉃椧#湂靱a┪尉鮊砽剠E瀱dD舶返U4.-壨S 剆 D厖-扟jA*躷绛雾2g#寪3)槫"g寞p励(0I5{8 H蘚 昣 $a}滷c7貮皞y1她魰`v媃/r訳敥斌&K颅Pq洣篖%蠦}?aaD攩鶃L*_*鑘>Md'R@菴崢 r浘+ 鲁L 祭bXZ%禞!F8N7) ( 捆.铇&  $纕虇Kwq1愅0i^碳0>埓m冬8 jQ9/Kx毀鞍vY聻匧8xq鏘+眽嵞s膊桤'IEND瓸`javapng-2.0/src/test/images/suite/s39i3p04.png0000644000175000017500000000064410646275026020775 0ustar paulliupaulliu塒NG  IHDR'' 妡gAMA啝1钖_sBITw'PLTEwwwwww蹩;IDATx渕1r0E熐 N缹."p銥实;ZJ昻軶S恭:TV1鲤祷/爗f3冎` D沬擛Qh鶘j鱖jv奐暰癑󠮵=鉖*侯s0 陑S`9!T5k=寯仨- K#戗<蜌÷蘝.含丬?Nu倞b剖o&8:/G聞"L,宁虰 鐼菙疴vk錘hy>x顇p曤須p醀p彆鱔9莽竐顠(w鳒宋x銥:螜4e雾5吖?N謡镱纣.@阯瓂 5 IEND瓸`javapng-2.0/src/test/images/suite/f00n2c08.png0000644000175000017500000000465310646275026020743 0ustar paulliupaulliu塒NG  IHDR 恚 rIDATx渦杘pT茻鬓軲6吧啺 ,I 包枽竓蠩偘@v 馞貣b秱 k"; 睌M翲Ca伌V尫鼔爜e(R▃C罓H/瓅|篖(8跒O餃跨滣渨D2撚h外怽:9j<-鄶B>Y腨蟾爠綳罖WWs]-7詓K#遧馕f頸寰<粤<雅畛紁慱h旎N靠KzNs撻L阖,簊樯K莝i匼U5蟾緞n甡c擢鎺Z町g[#蹧x锏R菹vw騶/漞螮鰅紋漺n!>扦-L%QI嬉4be.W鐂韝pC!7竦y|M wVpw[瘱陏i②虛x?夹伤]9//騿芠住Fく16襒熍-筶嚏秖l*鄮B維=s賄聖 X罜朁S5忒 <漳頵瀔釁v^赅鐫=删3紂懞哫旳]k屁m1閛氊溎輎宖-楋娉}餚!;婙轡-—饃*y簹莸屪髚?m猊f~致瀡^韅_'>蓻gx"㈦ :凓1久ǖ汈&v&QM惚,炄eW>O嶃.滟"灈梭%紶餬/U拯紪=蹯m嗟&5螳辢缤隄紏抴 颡!赫踚P銍嵹17QKbO痙7梂髖m,`_!瘾裹簞7~S翛朁g5鮖蕺珥墂汏m 縦缈;鴠'餅D8,G"r4*莃U5你M3旰4懇d&3覊<箤$讗/搖d節蹺稅礓 呻聄]D曔霆#q胵蛒N7鲂t叐教)?踞7轨&+u艞o愁6頿荃-[綾<侲A,$双#蝥╘3lU ;銌6訊音潷9 焫慄斚澦.瞅3/靼畻 赘綇痪b 躲﹢鬖Pz6$- KJDZ昗配桾鶗!抟 隣邛2gG铉貎渱槒麋?燺e閝杦q錳籝s巙c肊n刻]煶19 =敠叅aF迮1U^7 lma婕螒or靸鰌N`媸?3x5*隢搬穡s~駡"+(MI畎4%"=暯1y*蠉(1湒mU贴6箝钨F劌o硘7W2笍5Y琢嗺>a髬!姲犱I#聮3"崐蔯cUyt4g序9拸歄WsN X簷瀵s鍁w瞗7脍貈d0鸇奯 T% R兟捯肦FD2cR?([搒tw2雏抽^扩蟩z},産栕p錐钒f_M釁餉!DRRRR>Q?瑉 于vq敍廚鍞閨仪Y臷P逝鍇q%A:續'Ix搮,)B E0U 醫)2鐶w"9觷絥螝戍庸惹瞓V敳矞習\淦D O*糣 縈(Y"`羖後?馡扸 檯龣a?%cX:塊= L*snX释縝#郘吽 w<欚/[B!"8F勂?で瀿詸R|帳-旚E 剖\=唊'逼 庸汕讑6-錘缿g\檖'<鴾?Z(鉋-倧鮾D' へs抁&+$??2X?孾F皅 稭b搰;砿 v+冡虃kxF;抉?Y(x闍"h珤缘G骆軡凌0秿嗷c><<4>網蹋 {C嗵+n'<.x'7㱮P槆Bk鶤墲)T駱'喅k4OM淝v{yv6諸翞G6測p迕=7鹣啿%儺衩B;&舾D-=儀盼掎:氉&騅X,癦a沉n嚸.躰x<饅狍溜嚔 @0(B!婬DD"*鈗B%2D谏徜hr"镮鼖恖 RdC9戯耎7x拣0蹚b, & 肼▼`ko前W艖8巏8毌0綏C2G]隳緞羷$3 绰jCC葀"蠀|7\L騜狱槱`^ a ( aE#XE} [U鞂-駚信4曢9$>猕 蓀O胔F)VXl摆1貋,'瞉p1覂裗L餫S晞佮 aQJ耍X肒*^#-]糃箫欈隆{櫡/!  3L$[慴兣Nd篳w#莾醊8}鉕&餢覤/倕Q,庒算XァZ!72}噯yo]@ 沘袄dE f;:愱務 72=闑/a xDA~ &勦cJOD釐a筿kxNOHr9轤果 FLv$;`vb 7R=H& 6?(#a8#咆&╬邱 -a 樒|钢4愷/ '.樮H$ fRɡ@j颐葓`p1 Qa' 9:o&黌$崜IEND瓸`javapng-2.0/src/test/images/suite/tp0n1g08.png0000644000175000017500000000126110646275026021054 0ustar paulliupaulliu塒NG  IHDR V%(gAMA啝1钖_hIDATx渳揮H搎覯2?rY嫤65]hddaQQ貐胠dHPAt}躷+BR訳aH E笟-6kL9[鬂_踕觰珐鬨较{9Gr-G_q艃妭=CX熩=. .Zmm9駍n'%.o=?螈踀g#!褅}鳠鬩犥D携vu敞1颈滐曓煠b鱙;鲤眮;0~Y4$﹑蠍搹d[谝暨/{j:錜u拒霗>Gc┟ㄍ蹥p!{]髒4槱[>藥尉熋u#齸E贜下屆].?+矲奡D^俁Se:朸歾52堡為E$8 &*首黙鴝$荦"a犔 酀拚lè琔Ey69踆*撻X鷺Wr=+p榷婼M真 頻;h 嫦珱t;\鑢lnn 喚0(R橵蹅P%>r扩B-勭齻)詸鉵紛睶簮IH螸0帅2騥y輨:Ub詒欆腥d,)g┟僰;捻(~悠V佻塽G啼U@猖Y剞 vK$詊 牳8歅=壺MI黄粓9嚖塛疪'uf5]K.愝6刭< ,=封蹅?)淄氠IEND瓸`javapng-2.0/src/test/images/suite/s33i3p04.png0000644000175000017500000000060110646275026020760 0ustar paulliupaulliu塒NG  IHDR!!彝锸gAMA啝1钖_sBITw'PLTEwwwwww蹩;鯥DATx淽1r0E?0(芾xFH芨БK⿸栁+4>暱杫藪綱o 4名戵墓孅p嗖:椼4薬哷5斴$珮9めk L銅F带QZ劙 #J3^帎齿K?Z蒥T4Z?津镑&ikEJ 3) ]゛梀訷蔈h狘-`穔\辔犛1d@W詎w呃瓥 霨/然15+:@ l`6 媟岲挃^_](觟X.斥"癁d@3V1yod@o3楲聑dR 懥鱢ヱ8l6?VFaH趎臣nre╪飖莓|4-<婣ou6 儣d@薓慚W咹儮IEND瓸`javapng-2.0/src/test/images/suite/basi2c16.png0000644000175000017500000000112310646275026021102 0ustar paulliupaulliu塒NG  IHDR 蹚vgAMA啝1钖_ IDATx溦!s0?8蘟亝>Vx?0.;Xx窗0伖p0 S姘W牗+粦c柜 祆糦絵+EI$ 謔<礗}eEj霂@;;,PL搈诈氢齐备駔X栊C赩餺焍!{k!穙l灆鑙j*r饽ME.掛朢Hm秄涏 硩傲7Tavh*吤g璷h/:*51憊Kx剌蒙|P髴gE枪,s买`ZFjP'3i裙鐽A9:椩升c 44鐶曛8 鈶烛j%岭_$豛I痱,劣B偳' 使w%笣I痼Q"椸陾驦偧$H礤f錯j颹|j8\簇jS岆燦m騂毃M捋A;瞪{88Em蛟千>tt袇 ˋwj88:繟?/臓nq徻s涄鋲T璥繂z<銵|墽蠆佭!杫賛=嫽辎&&邔x恝惨#汙榟簨v M牊h 礅g捍h煜^磱G+诃1佀塿駧噃樌鳧粁-谂 ?蕹DIEND瓸`javapng-2.0/src/test/images/suite/basi3p04.png0000644000175000017500000000050710646275026021122 0ustar paulliupaulliu塒NG  IHDR 鯯WQgAMA啝1钖_sBITw-PLTE""fw欇DD野I禝DATx渃瑭c8栣%(K喤S,Π1,窙木 @棠馁 奯B$ ,恞萈儴=唱茗軱(-狋]爐斵0覢L1 覴L1潄pOGh铏3玍晽縶7s&*WPS曤鈧)式{S嵥)蔝R@濡 爎w锲硋阧 t衉IEND瓸`javapng-2.0/src/test/images/suite/basn0g08.png0000644000175000017500000000021210646275026021110 0ustar paulliupaulliu塒NG  IHDR V%(gAMA啝1钖_AIDATx渃d`$瘸 )?`y00恎d\ 審鹗哮囨q10枢昬dP妣q5庳YIEND瓸`javapng-2.0/src/test/images/suite/tbrn2c08.png0000644000175000017500000000250310646275026021135 0ustar paulliupaulliu塒NG  IHDR 恚gAMA啝1钖_tRNS33ObKGD3'|諭DATx湱朹hSw?諤#^i/4蠤o犃f4Z癭UVf )X1`}稹Hp` 鍯湷O依 v,咑乫P; 醾-蹾c絙妷$=ddf]禀閣=矿99窟飇竲6G傐^緗:蘹挫(藿{房靠换&E1& @Q'O灓娱馹>递nO体&#憚窰ooaqq滨瓹8嶹痎]絲5 x8滵",/撏粉廚鄍8抖毒縱m~~~`燿21;K﹦昧欶筡ZXX8"鳞穙'''3压邊<00莉2V+蠟备堊损01躰麋蠠?~塂t]O,!烁,,`2q@4璍m3ц膲╝0~閐t墮糬錹8駒茱黠K馥乡3檶妁/貙 d藬A-筝W:k;tuu5遙竆甡0(I褹 炖7逅盏羆h佰磲p8;恅hhH挙蕑oo(娪佑黠哌圹鸚閔h C8$)椝弩y@刞0x裰Ik袹:篭.вi4UU礨,丂帱囅N c菐EQ灋窟遉凢U褉'O={鲇;;;Gz驈锓 IEND瓸`javapng-2.0/src/test/images/suite/cs5n3p08.png0000644000175000017500000000041710646275026021060 0ustar paulliupaulliu塒NG  IHDR DgAMA啝1钖_sBIT&轈`PLTEB{c!Z::cZ!B{G/咍KIDATx渽0铑铨[>揁鮽Vj%(嘸剛R A X┼t俌 VA,塦d俓p *-h苢>碇窕IEND瓸`javapng-2.0/src/test/images/suite/ps1n2c16.png0000644000175000017500000000315110646275026021050 0ustar paulliupaulliu塒NG  IHDR 瑘1gAMA啝1钖_/spALsix-cubePNG group 1996-10-223f3333f333ff3fffff3檉櫃櫶3蘤虣烫3f3333f3333333333f3333333f3f33ff3f3f3f3333檉3櫃3櫶33333蘤3虣3烫33333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3f檉f櫃f櫶fff3f蘤f虣f烫fff3fffff3f3333f333檉檉3檉f檉檉檉櫃櫃3櫃f櫃櫃櫃櫶櫶3櫶f櫶櫶櫶3f3f3333f333蘤蘤3蘤f蘤蘤蘤虣虣3虣f虣虣虣烫烫3烫f烫烫烫3f3f3333f333ff3fffff3檉櫃櫶3蘤虣烫3f枸@錓DATx溦柫 0DоA藒俘拞&f撎z咵=譅B>/鄽飀rs~='3_吴骦w胛t(p3楏眚p]`蟛乢桁ytΠ?t︿(C鏫l5桁2蹊L伝杼ゞ 濗I癅g.`囄(`秅 鬌g&經((`嬑麔60澖Y`z忱l(P49:{眬z眬*z葻mt3饊螢鳤O肌3挎B⺗荒IEND瓸`javapng-2.0/src/test/images/suite/bggn4a16.png0000644000175000017500000000425410646275026021111 0ustar paulliupaulliu塒NG  IHDR 夈n<gAMA啝1钖_bKGD珓 )UIDATx溑梍h[枏ぃc滕HuRGT疂(8築-苯嶱.%4蝗湫BiKa墂潒]H緲搵恤⑸X僨%$襷勔鈺m闖WG戫c9杦駘5橭且>矬>象`eaX=詡温8礼临?门]疝e _犷^X.縲魇貵O3wd囦3 萭嶼煤|'fe[巩』Z!p&勣嗘uh劣`c:o葒t抮鎖衈恎)X琞俇ě燰Z 琹-5珻璥鍦T$u!Z??p饾邊诀鶦g甑j@d票璽-Y榧藚猘e}';葊~B枭@3 x'佂孊 ^赟刑A#n謗2詒噤:Q穎GR`fA媎v 緭<生鍬棤_勑"魧A脙謬酀啀冒鶊皅X蝂3頢蚌:{抢諆< ';釨 1/,蚙Y撸犿僠 艚`乸g=U<疮@#肟冋宰狏/ǘ`6,吐盅蛝U骫杞廆`7&発c鄘 懍 ? %焵:4o6疛迗湱鸻訩嗉薌a蓜 ? 槸@= 伬!攅纩/VV婥p孉5岮h飦螤.Ak%,椸?%〝!V[?僪鷙@鳾铏/  !渵Q`ZJ錒V覢住, \Z-鑤VK侮u╒ai *(昦0钬住  =i0歏勣喰.a{hQf\懳5 顋ee8 l9峇椟F h鋋eX藽9wn丽釟婣 D襚紊6_B聋h^鉙y砱Lgv]~笗廳儚A_ 秎w糞R; 誌竅儏忈VF&;5l :雄F$g 8h=ox脉 檡o痶| 'Q嘅2 ,垿4¨4鑓9鵁4O!1譊峒硬缤穭懋+3卟M:$嚓m+?=*|~5{Wb z翪`罻淬犦勵杈< C鋟惆垖"j 彳Q亇8颀p顋$;>.;/夸貜梐 4碃/@ 幸薪[壿/E䙌)x6摙頉張耺^=飔勴)檡#!潖徝婫腡/絊撤o嚲 燤颫囿伅]姓]#絮7*g狼忺Ul耋!qX摧卥礵陷Qa5欩贵9缷G噱椸2 雱5醇羍5$鴏 (杽+巢鐣赴2箜邾嫍_拏$`Wb?@0 妱9E络爗廈k8ブ0/撇VR騔戼Y墯齲Yf淫\ Nv{k By衉傽S璦JcK宩匱橉敟c¬E^>戀[v靅婍7R览>檐壝\躨各岪)]SB怋爕殶$髷蝮捀谝抙(芪'e檄ia;忍c撘; 髶袦鱧X]匟艟芃%臝%艓滹U寊]聞髠Xj"22嶝CO+h 纱 )罉暀o长箧咶\芗27 h+' wC捥騋耋RY\-4-湟d螦掲.H珥a阁x4眯,@釡层$勵o亄质 礵J;v,& C炙$3訑gVW蠐<趛h牨連# FP!皏 V迶絷l 稾$髉]鵼]\.陬_賡=,l7Gd娈)漿&TL瑜罧(鐌Z)h+V 潾%@{雊抎"i彗iq掂韂Z^<稕檡 漺乙Pg+挟B;  躶%/跓 gU<=氏荄P簑嫸凕?({!l7鏳嫱t暺:9伉-xI餬 亃 4魺t靐F襨曖2*<#~WQ\ 4e蠉浡鰌Nf.J鐫,OA菃N 6l痜-湃宑GR昶虍薯3*%姃d赫E东(鴴㈨䲠(\0){n$呿瓟誊KJ鐩3啶`38`ek+-w53&7枮y身Iq曖纀懄0璢尾邯  随髈1噝0複隋we寷}&%惜S<粉挙$m 66基4p_4嶞f@屒B篳2|? 8IEND瓸`javapng-2.0/src/test/images/suite/g05n3p04.png0000644000175000017500000000031610646275026020753 0ustar paulliupaulliu塒NG  IHDR 乀ggAMA重設X2PLTE烫媼s$[IDATx渃侾 pA `@`P倷@W,@Gi@` p敥00vq`AV羆炻鈥C敆斆U ー`gjARQ^w*x;J頎UIEND瓸`javapng-2.0/src/test/images/suite/tbbn2c16.png0000644000175000017500000000371210646275026021117 0ustar paulliupaulliu塒NG  IHDR 瑘1gAMA啝1钖_tRNS爰YbKGDGe﹢]IDATx溑X_Hbi篃濊D  I  茀 6.鍮問q`*(槧`缏嬞6 jY兗養葏rIHA!崿9CF杌x愸麥S鰃wW缂飐摅<矬{痙jjjjj 谯圹圹閥wwwww!獻C*旿遘苘苘\[[[[[[ccccc鉉贮 VVVVV偭`0ゑH$塂枟棗棗c盭,贿鷂=灙熝苘苘岶龝蚮硋凰錼儜H$----偘綨o髑犙h4威概b眡絺 羆0:漀竆.肮构 d2櫶锟摿*旿?馀徢泷岶c>/撋d傈<愊珞$實崓閠:  匓>亢汉汉鷱p|||||l粉韛{<静鈜随r4k4嵟=V㏕)D>殚殚鼅窟險〩鰋0哒照照找乙乙捤錼筡<象< BQ襧e樷3眙种 匓@籑䴔湝,蔛牀&貸pKs:漀鎈裼O,鄏)偌涛挝w毬d^ '丂  UnL&撋d泿倾駒渁>|瘥8怞% )B塀x炵伃瓝噍粀飱, 豯6痱逅梹誮j5蟱t紐 紐}6秸j礪瓏噰噰7 J∥挝挝螎崓崓峢Tヒh鋜癤x髥e仯#T*`z歟烵資~韀纋6*W妹妹琅排`店蜎7壞o縴<浅 lo嘊(DU@>:::::v:砓@o綢*y愃`x榓匓*&&剞揶靨p:GF8N瓰漸环秞~o镉'嘤'O'OVW乥.r惠n坊抶5 橪&揑z嶧Qh4曗8&靖(離絺8< 4燭&@0H `b"偭H圖蘤纋~x塂"慔7頸@6浲f臭, R㏕*晵嘊(2贄惧y[Z囗[犁|>虚伵E饅揑 檤x|滼黀袇俈{絞g冷$藠}y,腷筡裬E8潃9= LOWUUUコ閠:漀~窟g2橪&)社簌|綪( 3棑涉鏸痦肮).  D硆膈z)㏕d羆0 穆験 匳壑朜3P圌銖犠yF?剂F捞 03箨痍,+撋d2YG ..({U`佨'6{vvvvv033 滔kk@#簗| ={<{苢:莍礪璙KAL 关宴 祆祆祆 嚳X,S詊离婎М抙筢實褑E_?Qt:漀c闱h4廎冕p8.1MD[ *>熛珞er筡.梒Y杄Y濂犥A逘黏駯@璙j鷸4搴阴< 0恂バ亮亮亮噜噜酄 莙菍FH>玁懵a庪::萡"I龟jsn>7咭崚7習*1禈y圱@馠I$$2鑿墁--嬇b摗pohhhhh 蕹遣z絕隋r筡N箣摏H笝鱳0性栽栽D|摗篴2錼&甩,K乆^+Aoooooo%抴8憤寣寣寛蚏語瑔軐铑铑頽:*潫煙煙W蛘甎觌腚腚売錮 U襼晜hf迟l6濂籢u甍L<:::::Z>.慔$I%+膖 NOOOOO飛Kwg妊碵ャ鬃鬃鬃b_戇嚸醁XXXXX 鶉_-J顆7J鸐鸊芇2ヒF2鬌徻谮谮趪(*唟^-w)籗鳵郣栅篡哌哌呖贩贩拂窲椻 栽栽栽衭*|闺+n箷}}}}}}棗棗棗''''''彧-/ 溽祬 IEND瓸`javapng-2.0/src/test/images/suite/basi0g02.png0000644000175000017500000000023210646275026021077 0ustar paulliupaulliu塒NG  IHDR k gAMA啝1钖_QIDATx渃Pb鑐醨喕`湏胮敂16nDg钞g]!惲dDCH dJHR宏? 0A 翣9淩M叾賫IEND瓸`javapng-2.0/src/test/images/suite/cdsn2c08.png0000644000175000017500000000035010646275026021115 0ustar paulliupaulliu塒NG  IHDRKm)gAMA啝1钖_sBITw pHYsO%闹{IDATx淓蜵 翤D裇倎ga-訠+ X 丣缆V++皘4咘橪2构]C0愗ㄌp|獭b?L躨y+[迃5k蒊R0_箬6鲔6T$'GjD>P冨e}黀] 蔭O輄w |*/^之IEND瓸`javapng-2.0/src/test/images/suite/tbbn1g04.png0000644000175000017500000000064310646275026021117 0ustar paulliupaulliu塒NG  IHDR 撫)gAMA啝1钖_tRNS梓XbKGD獚#2>IDATx淯淹KA邱锞d[jH-5(5(O憞疀 ':擺毳瀭":EEt-栾j稣v.<3骮吽v糂w噏竒&冾W? -跚鲁镀耓#偽す焳O$CptjL◣:d杢汈}桎K繘擤瘏z}賊}茸苵x,檙y楐层铃T$e䦷稈褠裏衾D5慫$IDAT莱\縓IDAT(嵳IDAT{镲誠IDAT2囡,hIDAT辙乕IDAT*髢>IDAT/U柜IDAT鐝IDAT僮7IDAT廢?鉟IDAT?瀆PIDAT8:舦IDAT艀IDAT奒IDAT疙侳VIDATW7箍IDAT瑔<6IDAT瑔<6IDATc鼉M IDAT狛钷IDAT:4IDAT+師IDAT`eIDATK>1IDAT&沲IDAT櫋隫IDAT(8}IDAT菪Z觼IDAT+師IDAT鰘*IDAT@^考4u-鈰=wTK癨*< 刑e7 衿翸@x污薅"&縩軟9錰硾5犍|>藉銲E絫SqE裊磛v鑘偏塍 絕R\T瑤庹j痉V倆=X﹖歰d丈巃p垀額 歱踼c槈雌 曜峽3кlv虫B}蒇朕唡9:^T枋yJ兄麎z躔5%⺈傰k陲F孁肫%X<裺`y公 燳侲`u担 < 歴7DO化Nl] #aL$7网u戕涕4涊P_縸齰-噑j跻苑茆q歁%畄~酳莲釽檄傏H8繰;衕d罳狸C輄D椳{>盖 鵪鹢踻豩7#aL$7网u戕)7涊P?蝈お*>稺蚒4^Y+/釽庽穁倕O?梴1+^ |羬 歸膺 冧 鹵'0櫚o峢5谕H蒑@3~莞7s释f7k.7炯馿-/NK?︽R伦紉扛闵Z 疅絪'@/续e鯝郰@ [?p埧靯 悳H旗Qt硊 y俎遞K霞Q-血谕H蒑@3~莞7s释f7k.試唵 _緗I颲?4魔瞰栢趤籒,'歔3醟騿釾f恷>惉硂$_怤Y%a攏叉 珆餗E嶜F裫礇0&挍fqo鏀浲n謀~|縻衃~|!~嫱莼j%╒髖嗲﨨&#膩HF靟衄@毷 見U;2胻`@2zK䲠o儿T鄣3=-祅礀j7#aL$7网鮒鲸кlv虫k詄勢晃 愊K@pR (#8рg靣RKX4墿L殺;缊V]寗1戃4阕峽36麢7a鳟Zi.姝3o韣`杈閕晦欢 爗pi 3佘 =)op玅纐dv%)3{>唉5枎XaXiH4褜紩槡+[⒄h7#aL$讇f阜閕函Z猇!煑_ C魃介?豿蜮~;w1[o z炋拉DE櫋3負I纞]Rl雵滦~%y狠Z+1搼S5ISZj輬VF聵H.礅~豿睼簐: 翉吝 N耛锪祄榜絰噔亶/43}魅埞 倭 锼 糲狩肩芩'娸 鄉/豂b纷*aS1箑Q&1%?3j輬V]D耚9瓥疅;w翿'3附驄j=K3溢鶼 灆蛤視楘剰x爗vi 洉鴷1缓罎\[耕桅x>l磰OcJF 迴煓4浓u璚狭鶪jO★9hn吿$83抑*}陖蛱搂R瘟誻硚;@4铑唧k7s磞里v|代a鄮E%a鐻捻> ⑸ 穓0&3落g挦茇肫魩藖冉峗B鯝q戅搻寑=v拻磪疉崪&f琬oln□on4栙謡6j檇儿.d秹n破do誉Gq?e仂铆鄣IEND瓸`javapng-2.0/src/test/images/suite/basi0g16.png0000644000175000017500000000045310646275026021111 0ustar paulliupaulliu塒NG  IHDR q喩gAMA啝1钖_釯DATx湹;0D荌 ]伱0廠な ◥,丏硳 @C#糏Vhk觞& \來蟣X5釸優搥困 嘤2眹'+d~G @4 @4眠丂宛\嗗蘚y9┸礒kQ讟-巬  FA燪 wbk@聃墏|瘙D琉亨V橆IEND瓸`javapng-2.0/src/test/images/suite/oi1n0g16.png0000644000175000017500000000024710646275026021042 0ustar paulliupaulliu塒NG  IHDR 侚kgAMA啝1钖_^IDATx溦1 0 CQ9[栖爴({2*Y?8ЦWc:俙輦鯜B&@窢=2穪 -h`?o霴8豄豞+熥IEND瓸`javapng-2.0/src/test/images/suite/z00n2c08.png0000644000175000017500000000614410646275026020764 0ustar paulliupaulliu塒NG  IHDR 恚 +IDATx 唧                                                                                                                U揘n饡IEND瓸`javapng-2.0/src/test/images/suite/g04n0g16.png0000644000175000017500000000055310646275026020744 0ustar paulliupaulliu塒NG  IHDR 侚kgAMA7婇"IDATx湱90E'",$4)R襭NOp  ea Ed厵1Y茀R灍m h灥企n囩爱q拜锣0@╭鴡鉦凋4X. (`眕4x絧0焮D懀蘤萤鞞0W亓d鈏  炏?屒xnG/茱P  (. 锑癜l6噧I2+3蛛阊Jimv褷宦轸=}?硖盾w惁鐂焪鏪 H捤n1(Kt1@d橰Z+兆 娐fp綒Yk<穇嶙bF32O凖 @ >)4(cIEND瓸`javapng-2.0/src/test/images/apng/0000755000175000017500000000000011755244626016665 5ustar paulliupaulliujavapng-2.0/src/test/images/apng/stickmen-15colour-11frame.png0000644000175000017500000006727610646275012024122 0ustar paulliupaulliu塒NG  IHDR_v抄0PLTE  231?@>OQNefdnpm亊棛枱嗡捺蔺 i+tRNS@尕fbKGDHacTL 䴘 RIDATx滍渳lg庬8矽r檟*k3昻t  IQ ︸bJ2@覛惦:ㄖ1itLP12穒昳 &U瓨l陎檴泇i赿梘 峍E9灧{筹.蟬鰕谌9麨椈=o哏wO|ǘ渠O坷>+5龟4'へ坁m硯念淥&9 紑芝|滶皦窖CR奊i褯P(渉: JH)7@隱3J埡3c騈镦.磘駡(緕u熖C揳m輕=Gv甇6汶pG9S齹Y 鹡>挑.m+M罇f@姤&@庋;3i詂5蹥cd>鎏┍衉{坣轘o傐NH醗YHr9#0鮩鼀q$!7 幬d釾鯰<=( 欨疿>|[|= 9I諛]P9 菒嶲9萬xR0gzP!預侤瞨惥繲W祙q郯缳憮億?(Quy6蜀揶(p|,9擷鮐p溇坎珥?<[M8鲿% 蹷哒?伦堆+繜彬購?\腭=嚪樆麌e gR鰔俄%x銧粈駳L娄愡xTMtr 钯照(若Q驍q-籗門E哵芴黱?髇鄱禥鴾+&绰i骕6e( _]1z镨傷輴稗4}扺矣/^sE髂c 蠍诽|#IY4鈯H坨u帺? 踮W'"'u仃/vTGz澀^A鲽OZ廡G$,yd膑g#罢7蹰陥漿疾?3?R~7奷)緪bUM&鏾魇柟<8r咬e䴙斯妹^麋3K%躿鎺,i2燉繃實;/钿u朋4jw雪弔,*盲颙l诎跱M蜄 勠%S-&2%愩pB瘻萒0槶饄橬zwcW饈漷ky}J?Sx1!Sr搋d~o6尼! (雾鋚v嚼f喇8挥吧0)粋簥l>饜敾WH 玄?|撻蹓 =,-dmfD&&Vs 锢莍![ {懮鈴A%猆肦E潭憣p痭讄r闉?p '!圣挳nN諍伿&f%5"`漼/W? 蘿f蝷hM詟袥早6;=洙!泠K鵣睲辯汛=鐸Y66腈Zi@L$nI/禡隖;o7峀v旬/A<凛Z7綊T=:y葳茭鲗檙 a鋻$I延6橴 ~<鮢T閼萉U籦iu |:挩抯s畂F烛藾U!麴蛗湌( WT8鸳査`褭庛!甓叉i腛)D3轙HA ??豶茍S挱紘kx莑鎍斑冺 鄿弮1栳Dx悶E46闏鎥(J.SD-絁梏" ;\ 7冶鐩貔O碃Nt枆$.Uq嵛|愢W 9熫轠Qu,d霗B .茁1}y |w鯮O拞w>硎燂翃宓| 鯖(10妓:Wg;苹 "Y+城哨B t5#叕Kp舎f孫.w7$鬛逽埶=刱7 `竀翧6 %o虫瓍廁:G/rwA鶫"黤C渱)嚬篹 v羖s.!.0.乁H笓祢G=t黀~縖Qu黏吵%w{熵銳 礽=嗤捾a齍権試琖RA悙讲敵E) 蠎Ad~8仿R 勏臭Wg閬o麛`1/C椙﨑/憉橌^锖︷*驝"浼^b之`*俨礼${珪岒,涥5硄立+踴DJsM别e裰c9 -BV匯:A5)Qeo埘.篙,jB(縂馜N磵嘩鰀铍-<2蝒7浌)r朡 旂l=)m(驵箤=茯獷^ c厂裼e夁;O鸻o&D0 芲焀Kzo/2"?W+桹鐢讏谮/fi4+F/>FG慊鷲民忖庁\誨]^fO*$羫祙z=;卵琕.雤g+>凖趦轴>旦v嵹u&鬻謐眪繗蠃蹠喼篞T\戁徶#bf6颌殭kG框v鎮燸屧 七粳皫s鮀粩5歡=昱<鍍g龤K3絩誦厥j^>[廣j竓D墯腙籖@W眏厇jr朔搨藈魋掉~`澯鼴Q猈k[ E U綸y囔蹺釈CrFU&D,沚Fa?騣,盉J䌷d.眨冲黫1~旓Q 擊accb!W伩?B 呴5聝yfcTL U︾t fdATx滍渕l钪骱籫翶!创墐%pN!亮(羗|@ 圚>碽v塠娻K砵W齹bS例誯 ┊#讦┮癭懭*恶v鲛|穡雏鞛篆*セ潧yv;;/响ㄥK哱B"t#*G懻L&y齌#c意sc9^JM$8愃"|趈坽qg鴺x.Y 琭饗[乑褄{觶|X;QG"蠷J}胷廝R驏G& 引⺌JJm)蠇xb}班鹹]媷4聲u$鰶鸁3q鍿掵{獔 G掅玚褠NpR<%獔 蹧匘鴏J衲~JG擦N趍卧N檢缁%UD癐堩xw藀 堅凑芀g5L_卐@髉-=獖`W |_騎苮屮浥吞饔覝陭l?))D糜n h坽嫙^>N嚢W/\p4#aN枕泌簴w貊'疙 g朕泌才 lzね?M耂f%脧h埆,?/劧~*忮?z7扫<瑾L哫箽V)㎏液 瑈 !b,═诪): ei荁{褠J, 0O.`wZ刱頤4d囯鈵g钚享軃塾!?7栁盡审EИJ6詪8巟騁觏:鰉<$η93 猃]0' 賺牼刨賱吚釘挲G敡冶糃耆 p卹N櫜 掅)6ろ(8窍廎笿楃㥮%鱷  鯊湠项yX 1sfRN鋐Q諃- /]{2r76鶏4餄敂V憬銡.?丸'鋑S臇|勊籅4#{SG蕂笽鸞joBゼ璕<4絍賜畾欄通姙晤鐟 p% /欲R\仗;) 偹xvh/~y謑#E烈冣對L堉_7╭煱vi姊E蒔包K"扰!鑧搯鮦(-C愨q_镴e聦v莞C=鉘z盬`﹨岃<('啃J/〢wMABz b B J.T'簶侱i钸,咅嶜︾識(5羻\喤h瓏x餧k M!V:5墛%!N聲0b鴤鯋鹰+璢櫪f繬)[駍搻3?喆褡E}S圹觾u刺!2蓌A咴p鍄 q帉2地孒YV&鬱3X靭$u蕭 嗖)肺pUU譪jGnāL*涄E庄鱝甒蛈掕R7$涞)坈聮响"棄w0D(坥@M葏燋槳染垼鹻葔u_祯# \9爼镁HS疳^亣 鳪53悊獵+Q怴pu8 檧4' 秺娀蒘枠a1鴴m闡ㄛ錧7鮆-GQ悥.= 岰pKO眫D痏駂87砮6)'lfGm|茣蓌+珖t埒螠孳9茦毖`M3籨彀:煜粦e5抁汱yWu竜D9m2韠e熮 8rXc蚈馇隑鄒Ec膹讎 g}袆0<<$堑8H廁?侟; 盰7"(腷燅[酖'/A^@泫 並浔篹 p 悠#@鐪貨ao襏H67p~9'緤\i1~糏<嘓+,Zakg⺮e 秛袽ず3{悉\;%e7諿SQ薰x~s唃醗ga9 P&L,裷#W觧wyS鐭寫<84,徍a碪)YM笐鹰2噁>羴c69踔mm5k嚭r)絧j蘵6┚<Ev斂,U轆绛kZ妊鸇0' 耗Z醩膋洧㭎曥煫!BB}锦y-厉5猲;^瀝惴鎙犟1' 労yわ 竸埶XCwí鋹",j璠N,往`%d;*"暎a筚N%竻を漢=9%咲B寂妮&^勂蝗岿擁P棎幖'垜坵婄.簷U~d|B4▌ $7 a蠴旒t煒]v&鴩I錦烋髟c. 1r&|めF菋銨Q4壨1軇 訶朊鴴;擔仄箕!7⑩o q7鈛鲒G逛9Dh窏锪9蝬凌)\w}5錡啻 瘾['?勠e 渥@<(N忽)R呔譻荣榏Ad4)7@8 如Q#瀯H葂鰺┷X=,A87=邜理z玒梛d楿?鞰斔@鬘E`(dX9閰烵鮽1 仧闊烐;miHNiY69冉& 粏敤!埾#4'# 獡W戋@0P溟ca2J3〕剥*$,Q瓁 $#?疐鰡瘔 濣陸侹惬衞2Fkq%D逰?黥V偁c#軸!劄勵k浈虑"鑀DQ稗qZ=_莤'?DB~Ie=鏽琭H?Q-RA*sb眆 e皇:鱙锘汝]+&G慉\螬$ 腳 㧐W|砟障腨 賥庶㈡ ,惱 }摨暦搻8E雼Y 黿 |C榒偫k酠G暵=倌I*2W?哚@]氿)MK*輐2_,SA憊.`si¦斶9氃+!yO馺闵:(╲U乎c躒oP<2¤繗h傹傘dfcTL U鶩 遞dATx滍渳l茕I铨|径孷[襘V:VJk襧侭搆(酆 貖V 勽EZb棱衯 聞獔 &秚-N倚棛1圈I昿貹诈辜库=綷_髙l莋Wj暞燒鼅~>廄乜琦輘窺罽%=HYZ"擗>#NsS殗8痽碗諹嗝橼~苸葖甛仴0f;腢 ?懂E嫵卫Ac牒鴸巃$&N)窮箻變茨糩p粃j}?鱪kX葯\9N叚+蟴晁仍@&湘0=$)+蟁噻>陾χg緩装倐瞨]蝠萕颿喛跸kj~堉缼'!m繮N棼d睹 徟U蜁p鸾彻x/Hu!rl@榵熌~;炯N6 稚K$釺::lF潲`|呶馿Vy2秎T测. 又绷 v劗=尻mfqM甿0鍃o漏\弡4褓 Q嚞鞛]冣(<鯫抩/ㄧ陫I沸3冺/$o岄ip咨┓邱cQ蕴枔:.勨 轧03憛撺庒S Lm=験,歺轧=v,P@僮#A5P^ 奵瓢X7澕熲朠$w蕠跿[Ubv芢驴e~W緫隈(2Z篫"B骴翵敞#仮雠燲>R顀Π斺萔'蜸w湩A滮鄸芚5矞R単@J|禥G讷j)囑P羅驱萞颏ㄉ鄵,磎&2,邜y姖滊 涀稵谍鬙17El,Z棌R滠f!y"濯 !崨烖忝u紗筨)V淒?dFq威w 曑Y茙埃W皙,妪Z h瑠袓楋G:惉Y Щw熒磭JRY呋+鯪虘﹤6蕖 p7ge[啩,tГh嘵g.(7Y. 洉m莶鷧譺J髀蟢^髿准ni 7佈襟&@^g魋噄+N畚`"J烄6伂K}魚窾//F撐V娚啉06c捩VpP-厥饙" }躡曓-y泶慐虍r訵$鲩|8vM@咽菩剘♂舜_肑/o,88礃]l!|⑴<#jV蠒旔矺3"朆爀锒賲A湒陳瑇皵,㖞k];v 9"*痔m虸MH:-栧x*B 垻;)T_]X&+藍O巈愮皘焔鴓X枃瓊0h傆; 涕冢画a-r,&寃緀 5|i#52:W籠礥柮Hl銨|;o嬀ih.:X辄 8觏嘃 vC~込眍}~廠F{柂Y竍;|:夰蘎缧缝LB樆岥V檇|Zj該Is聵up!圃疆鳴蒮.!潉/!蔠顅d$纶 nh!O聆唋仝#禵%尜 =拃ぬ 癨滮'3惗悤#骾J鯚4Kv@lQA鞋@隍猿kT#毼!B0 駇>g 目盍&靇槗╃oN0s烡.*g瑒<H學 嗑绁d瘈埽妼-$瓶檧罒錏鍝榘捔趄$1綵J百殊鵨2 #1~fSK孿∶{鹕 =砶冘T/嘬鶲進嘗貕滻@fZm\绬<8o硼襲抯'u畍t"疀羙蝙辁治2!黱虌$諻k^惸罀B澒q$饡鉙q拸笊交瘵暮r(/4籯蝇毹l鵛k泦掭嘇萷b址~幾!d2[頾 鎫h睶0 f珽+済J幅喴M C~  e2`镃劂祾/綬;!5$`?啨^ 镸揭桚D岅B.洑淽W軤W;] 胝zU窵凸SARb< 颔迏譜饴s:Nf僢 D穾H>5沏跅&$從x]iB阯岏╓殣鑽1報寫べ嶿RJ夂4GE i牿俤锌床bo# I4lf1惄q遴肉=/N忋墣 i鴾鷧3)( 姥]!G窇OSu4]豸ㄦ幚疑螵鉯b騉埢沛鳺SRf6較餍;r.I 豿f'p啊荲+儦﹫I咎留嬠lx;0w2fcTL 笁w fdAT x滍l挸}禵 j.玥枑怓m1!PJ&敪4諶i(i"Vm姄u"Z!b稏v襔伊~I觬!)M〾6mc忤仁VJ~拹聂v埙诀薵_%庯炵蹒蜣蓰?3@贺=2 垚 5N赿o闁n蓤 |3榚衕:彰檧琘o挥錶婚z鹃恔@y v︹Qj煨鱴=杆0僫壴,|K馛Pe1杨晰BX Bu邝愳yJ偼Gtp潌0#<隶g:A jC?x5M!/胬J禣攵"题!!碩▂溔痵 ,%x0討习.M3A q]跅=械Hkl 鏾'bxC笋晩f孓{楽檅頬<@* ゛0儺c砦H?咬 佇S头c矶 AzUBj禗J踻獫dPd }縘瑵單T唤"蕮喉钖u髑铢^滓靉z巟尒跜蜃榍(嫣X分C)淚w牕 ㄦb欂71n}bS絢72湃9+|X櫲貢⒒jcn3梱7D攻>眓?賩%>軱O阚癯&=眞u'(塖'讲砨叺vf毄R|3 ╪:^E鵢z-埧D_瓍淈[.幮螺4迻8ㄡp~蝖P:w*RX鬩9{u葖e\<*镝脐cl 寳蒄H珈r[秂nher<-竩bbbe935y _丢;t0ywm聝p?混o>辻椃*祛Jb瘬=瀛Hnn3f[&箘蒕弖Js漅J8啥.偾胾ΝH鹐,箑P箒6g抭.8趦qJ\$堚塐奮b鯌靁戨獵紴r焜蝾荬潲8膊. 樾#侼聦浩葶觩ph织胰,2酫龊*噂U も很8牀侙燝乁?癸剚4Cм9α9⿻饘!(位5xSuQ u诱熏 b)騣裰7織']糯I1,fC >W怶r冽厑村B湝號堄%d闀艣]Z攊?闢; 鷝汾d-勣 覗3oi9貄l薃lD鍯sp焧m:M妁L囆摻奸W暣 Vf⑵囻|I;I執>峉Q僇{鐖q堚!t>砅]J遣滧贋闄M*W.盓$4酂|棭褭.Z窎^PD蜦1箴凍< q釱P磍耠 %s岇5轧8 W;攱客牥箢昽Fv岻I'簰q滌5秮z[u AXN囃d痭盀閁鷨9鶟l9G|$ 絑hA钙菌I芳T墧`-露C劕 畈x`燣<7p鞖h2恌突 R辷W񄥬褂6孕> 鋥笇Y4!T,氵%饱新騣n纫峺z 嘠“ne靠C'銽礊(%{噹p药wye煻曆辎8 粴艣菹駟 5雖F 螄T8輚*吢莆*屙{莬獇藎囟砨7鈿e姽(a #沣 迕{㧐n锭o~NJ ⺋'桮!駧K8伧"bm霒b<.9忇JM冗!B&b1>綢J 3:G!.)7蟨xW鐘=j歕IC腁灸坝!衷榫兢=A"%脢<い@殀zS)弭|E坲懴呴;觲衒~^哭鷬Bu税幨;鶜:r侪b 塄.睳.靼膓!潕(┫嚫f?[瞢hax鸎鸝T4g" Y'W 岋鎭衿wR疶@蚵'娱:ピ+4R谋馑|営OYヱ$2鵚駱&茅VC:,澌术7/夻P菹覞2 c麺踒s4Ыr钿dc椳蝟 顎舂冞h裙W_r)蠝!>桑B覛k殊鍦8c'6}qC6>覫餄*M气榙襱>儛聠鲈y壪t2 y4鉩b~掗5瘿茹憸L囏sqL`P1/剻煁,毖[uB潫H悹賤.;*F公1>蓑面m讈I嬹Y諮87校1>呅齘燜c: 骯/抔^饬H庛M酗?\糞lV謉%潠遫痾s-牋8幥︳# D莐久価\c颋;a飋3屵 ?4秖騠i狞るH蛤L1黌"轼葲でH`m=葯v0[︶<'o煱囘鶚)闿詞疔[涁~y馝偫罳^G竬劗0磖=?瘻z戻鴍B溋贴筼鶬杈戉.开墡Z盞钆販e履lI譯mHes b熝A兾拵騵增硣獏x駐{墷殡G< 瑚聗冀嬊殠.剽Vt鰍bQ)辑榛# ]M縋邬S磊/$=蜝 舷T`M6醰R嗽緐鷲:婆黶鞺鴽DR椸錟1V8磅j#7L誦U`刵gd泀隑:4暟泀e報鈼黌惊穿:L姇Je~噻踣狺昹兞T:lfcTL  U 7fdAT x滍l菬想;WJBi《曅!涏"8J1碢h胫GK[TQl⊕ N鑵HP〃 G +┉疒)煛5)妽m倎蜜]l旎蹪贆=瘕嫑鱢>轤筠紳 S~M @疦%e"g獰茐Mz 撙霤r?fr畩Y圏 |伂C顜掋啿晰l3蜰:蹖仨2鴭塨 y[-呃柢汥1╃魻U髀,慸 祎XCt@ N<\鶝捏T( 漇I.落Jx慕u:熑 訸倄蟑继摟剀Ah瑻凙〒瘬焔> 輶n鐆()eRO | 瓒 k B雈軹>衟L29庯]飐F典-7鹭箩韢F3$:x贴崵o豛!俗gB[!$'$:燵>伋'鋳~銫%匶揼乗5G趎|$:3塪w輁#彎O1qV?A$氉/笼Q ?⒍|鍦賉,嚢=/!钘 J鶩穃嚐u鴬适逺\U蘖兞愀髜燖$t+ 賁T`OH邧+K劄脉歬w螇A舽憆H:噹H k?_ 軹惡垽MAp圸#疻竜+栧楖WhrX缭/ 邨魥餲C8舡]鏮暉@竨佐%5仧蝅W憜U峦F8O孳螂th']歱碴Mx ns擋 hs8歫藸蝢*3jbU敾 倪帍舗唯肦奟}Wr w 烿餻cZ;Q瑦wOq苠鶖鄎5a7溻b~骊紌a鎄骬蹚臋;.^峤辨⑻1^g0覅W9嬜*珵Qo!ix嵊 #:籚劄裚|㈦7琝J?W鯈Az軫镽.R馘薋鳭>ZG>>鲲兿pL悷8哏M卌敡 DO殌鸽8D愍+& "/媡掟L@zМiSU瀯.i}s7SSHHn陚?誷譀tu喳逘tnk? a碅璁9驩 栮榽揇S?幈溢i]S%歄 A+馄NZyK攪寏b1 p篟fG嘓墮(鉾:=c箊a洈K 1髷($閼~菏唅 衰w"毽 pb;y4瓀9坺\)}蚅*脨;晻磹莍5眅v4麗+迖(楐r2荐v壸楻罳9厚鯙)H"枢\MA$纭洣.ψ 冩F38{鐨Q惶豨T\S)萫B]Eg3<^ 嬐AXd&d秞lx浺8P6嬨y鵸 5!/с汻!@t贖(桍搻窀皎腥 焒欿(ugf臇賲38wC{!f4;靲愶脮 陞-A佤)y胙3糠8#1a龐犞E 4︺lNe芇l晉輥阛諺觌+wH馁窸e[+7Ob臖蠦bM脨E堭 y噗Xk\瓹釢^銞;Dm厚ku嬓躨n耹顙 !|懯(h む;孽-$朔 娌N; 衭錅埛⺧-恌伢5减l乴囬-"謟謅 ち[貎#%靲D?茐.; 哇"鍪-C布ㄨ8k典Wb鼅 圕&d帺癔b/享Qb& H'勈'櫥M]j導丠 奘邹纶苊1灒8D|1bZ农娔私䞍5^6(r補悜剻嗦W =┸$寜7獌r5 4n纍U 鲑r釢4 氎啪>F '0r醝 ?7姐 P皯/棽 9燿Uo亀G(洂畎狐p5bSQ; 撄3Q濉稂S6!h2Z%燎恈rENwwE 篪gMG穥愼釘诇zs龆*;+*鵐吊毉砭 F[e$uoa孰61蓍A喐C駧T*~ぉ銂NSE葨見)鐆蕆f*鋷rYS 栁j濇欄s7&鉙4飮蘳坢蠞F\(=樧n.\驜1卷銗魄嗞C渧w j}琕x軝1h|▊R鉼 z画 1蕙M硝矨Bg儕= 幵榀贞垯B脨碔#矶~壎)SD0翌{a灊I叶汁.(莭3囗\皲雫/粕KQ䴔^镍_S K|@笳铇旛卬懶I狟瓙獦 -/」:通v#觞絃v 4s猊蚰Wy 眫軪滳 墱TW╜仺o襪枏e蠣Z2UWm酞昘紳 ?~譙K壉蠘P?:秈5dν脓綼y覤跃烾塮 蛣d3>b翫稬欫鯜 7$淢S篱觪l雹攙@q坨q懫粘搳給栯fcTL  刚( 鏵dAT x滍渳pg {椈絞(P 抮嘥i5匱"8% 9聥 倞H)祐F 4Ef|搔I:[L 鷱蘢∨Qg4::8兠妤j+w襾蔅eJ^ @拗#o揞>限>駶!>窟>熃}n熯簏鲑H梍W衚PfK4 j8e&洤鳳e╛+Cjh!躩 q hCrp:D雓玠v6r^诘:淖稟q┎:凶%!蹛畺(掎壊 >?o雬喼%WK喱l5 {8;浫x3翁0{姬w$Lbpk|鞅恓8O傡艡穮~踦ux鐆?J倻翗瘑5暼"畮忸瘟:h冯<:钲銢>彲!佛灈袤|m!尳礽x秱!^y徖付J磊;簖|-a灹/弻u騽鳫5闻К荂躪厡衪)J盁艪鴜论[ob y呏 冀屆@獠%"孉複0I甉  忭!d9bx嚢v愌鄾6梈`n礑蕾=闘xaQjS梞憎&f摫"%p鮡f-l敹"獠f靵橝馀棋NBNF讪C|k>XO+5忍めg$3痛3w]瘖 ㄘ釖}H痤ZH洎漤N捰齘n#Ky%Qu@ 伒e7UuIhr Ay=4"<#H昉;蚗蒠鬓洚癕2嗄 2鞚毮2APg |Cl欂u岮DrR漮K躣j- =塨昘翃~N7>閽>Y%+蔇I{熰0A當霯,p告I盡梒/ 羃蓭涮穘;gG伅Uq痪A仓鳣曅閧\顼鲾陻%#q鏚骝畵I.n邸箭q沪藗]确鋜X y $.沅 \Q.h&銊))俤菛.=spI葦i3侾`KO p頠mMH授6i_灜T;尀哗壘囮惗9 8LR︵8祅) ═犔A嬎#OP[𼀾掶=o_?>N濁Y老`g'爾.梅l@矞徧V;生鉋T!詃'<蜕N~僁峘馑d栄1(,ゝ^%拇峁}r歰 o畮畀g癠胑:2uH%堍<ヒq u入軰擐炯 暿癎姖俳]l/*鏊鲖M鯭咊nO%"冸鞹r5GAAv碂6倠蚏j!=qZ眺k7J&^嚉邙鳅&d旗 0N@L腽5稌h9Y爙懼)F$D渹鹬)镁+-s r 鳥忈s +蛩^ 壼苚-)#w[!埘裻K鵵w礦_W.脔}> \8;衎Ig ;#嵪杖唖B鴂<5嗢$921#俏褔ì怕顸賭h}帟 1Z軲^Qo 裝-D蝌頎DK 5萇圢诖G1*w%!^Da'V砌漟箩 !Ok1炋4埲樗 o/ !戫鯑zv8县詑頸C華駙q_^]斾箨cD柏*$涀~)[H轆@}"/o郎頶硡0弛7粱[!G鼺齻5H羭懑7劦榺]`僡邇B 靐彅\颯寃(h6Z偫Z鋬糤蠊Y H腴(_@牆=劘U站.Pt祭d闀9X倀n%-铰Wa R乁p$9苳*矹狹億/藇!娩_+盲嵬 c紀$=8)潣IA屗録λ晞郼|膙R疼K歩莅岗#~旔 El緵錓"i遝3SuQ7嫘<轑谉擱>獝R1D荊–~覃!Q葃餓r)婀C 嘄4r樐蛣$Wq瓵藰1銯窽rr⺶l6劆E寝38" ″囙眣紽1>讐诞厭ww鄊}8 rr矪嫭气.铇5#间Ё肼eRjo\c徒F1緫+& 񬶟击木2^\殭勮珩r㈩$:1'糔隖器盥颔).,um侷坥~鼽L盍M9vvbn锶[$輽鎂娩逡7u釉噍痫苭鉰5zdu4]挧炣vjU蔽噻3轁碬m疛云琢裢S逫.R.v★碎鍕[uoJ燘燉6+>饴苅<挥セ荶黋; 跟=乊辏rvk5}#{攀1- 靝e侶J堋/籜蒐籢瑢弟灛/W佱5鈙S纂没培潱L煳('肌 !蘫睶駪森K鍝I:%p儕1堮'L呞彙g鏮'2c鼃>+鷑,繏xV|脄y釽|A韃5 贤D-EN[^g騀灩蠷+^懿;' &s錪aB霻姀/喖Lg鑣/叽C棓!$Z_Cф*篕f5u鏌〗< 鷎3侲疮蟾Ⅴv葎蝾蒮&K甩"&K,J_a?軉Kn c蕐隝剖fcTL UC 胒dATx滍p菬6顾fw/B誀佨 u (Grc"Pr沾崫TO T,垁Lma亙A/騝鷆l碃Vp囍N3脹2 ."臿苅VB衠BB鸷w 4?v鱵黝撄曪L2符>稃俳w鱹搠賕`礈ct桁婯, 嵫軎1拨8qB視4怌3―觜P!  y咔!?栖例P2轄―簙o@蜀6掸oTb1缱h}纖 [e虎_鬕u饑k)'橁/鳬o:櫟总B*& L鉣祅勧埇;.'OJ3 ~)g9帋f 鑒巶@蒄,飥结>(躨P瀶脳J泵鄫悠!{魱西c/o蜷'>Q軌榬d葺焈Qo~ 榆瞒﹝户TUБ熯顋+^蕘癘gg蠘庲诺D[籀F剿+9X7繿+(=3芯跔B xo鯔馚<r螧qC  秫簆拷媦.楠5g檱A嗣=烽卯.t.'d[I#:x'鹟律頠U *_﹠氶桂}愜tM取榑.関ㄧ蜏?U譫W)欣络黰[BT=n掉2斔bB毿}絪啋}=;3/f 愽y<卹$R蚉粬o欙唙5徰_,跉'ゝY<酫j觸m":谛p隡昮仯1'6R譂酥 深X 益JH)~淩n'肋釸挗)cc個竛繸蘆z窙> C 廏[暆,3@p訸嚧魓.昽辆甂齰遡3`霅Z凝攀縦皫~Ib{汽誡p鬦}嗶g绦頬,ぃs櫇丝G礼[0-驍锷 p橳借y喆!v裵c剤 @谟 Rc R 炦!啓,讽 匀稖幁Q`g$Dg違(J*珷5跲q笍熎m銊 逬XC4熈% b伛糤9颇荞茠'{mZq%%53$F!R[0,!镌8襹=萩 淀[帤 忸+ 魓妿惁mI*b勳[姤^輑"'-olB1陎做\l崗]詯峨蠻@F礽黢嶫+懟M3F6囝講#-厝h圦荊寓0蟛仯瘃u#zχ亼狙嵬廚Q1o)-M/(能菋枮m穹w弜壃/dX丏; nP㈦x驤B楽饱<%"辶擟憖KH/鼺▉1.劢!2植剤趷-漴腳0傇> 蝫66褥|柖 噑滇>岭!瓌#c~萤q\荹旐漊雴滠庪笍廍青_}C舿;:蕺nen絩Q荹展葊2/咨t離k捴栔|炀箷肢$慏CZkz誟浻XV}hD幠菤徢_|丢禥锬娊a騷掰aw*煙\4l;損i椧#枚違佬哱< = }>鼖妊^,Os覸<麤{䴘滐]b嶠恀Ζ)Xk 嗴=谑y} 镼桬-媭协J坭eZ\ 檈A鄺e.牽H@Jk惓釵T製睪礡 編勗J鮏琍掗.┝骺厈涐 5$-卿開d鶉囡 诘觨属B1h蚹C }?郘賜LL 徝g棧.鐗⑸Z#K w鈿轧 く8嵊鷞aE芥$6/]zP踫%H赪鰤扝?4忑v䦅邳/}鳙[u搶┮ R(5读~疙煐麁怜谬禾n唗剸fcTL 笲惭 抐dATx滍渕l踜啁<稧J寢\Jhy)5矩n&(*嵰r㏒憤]AS﹨zi扈HL Q5g釮迌膰H靵\}劥*y贖睄呃t;{N牖軾婀椆獟-锍咸o򛟣筇X宓Y>c豏坅)1墦氃R鋏 戏沖慣蚝p菼NJxG8匎'匔甼2y崎C╁胺曪觪35Fhk澄u胐E;矚 W潲n` 粡?隤t碤~泑Z侫艪粺}`9/果{垦恇_@榰旣x蓅_" >P0olg俺憲9!7翯欟饾圎|跽馏儯:7跹0B;]C藒'辐墰#B*:驞蹓劃﹙饸6 裒℃G?瘼 铄=n噷F$桺/a7rv韧歡0升8HZ豤+c5审厑竱衣"斑黜"9臔$熞T嫡*逐10 @`积m)=Q奌匲矎3 #拑 s)f蘡熈疄D=氶荺)鱐蚽TJ赝I桀X鐣臱TM臂r嬀萧$& 釃五 跘鮣L舸蹉_鞸QS皱t堥渳藁墊W怇] !5awc鋆r蔈+,$篡瑞]淤c鞋裻謄!^枯謐矟遽嗚i補!F矟弛v诐4!膢\Ot!!.F熑5奥釆\詔伀煝踓3#宒Nv?778墑爵v筸n變l{Z!0怘兣 犩A钕@湮=2抯尣}渌猦Hd缡z xk莜3爉~P慎bVa\$&裼_泀 描F 1-z赚_匫AH⒍骎慽W:tl8 0ab珵6'鴝q娎5拶通 矆4o棵j辭黛VgK萧oJJ#*l盾5嵶%=湉R='YW3~闕Ao/#P ̄鳜騿+%貕0l〃擙毕嶴\+祒梴2巓陳莽!J碇笴粱|M~p7閭裤h j鮐侧婡>;GK,c靋V,4潚釖&⒘1"9t眩蒼嚲 啲-着2 茤$觧$⑿猾.kB/榪9Y 鵫晉堢  厫!饢嫀検-Y癙昗 $膏芹紝@剣'!搻I盥AR/y{霜鯼 益鋀<{i撙#芺AV檵+%yxU緹 贓K 俋{纨%d% 巸x>㈢$1踴牟檐襍蒀h廦X!i滳j谄s嚌`:諴4c[2毞P(D罹犥 呍j濾恮瓸dx1YH轛3D湷%師F诂FE肁芊? |↘<姘> ︵+4D甯踷蜌#閪碕|淗qH[鞚I:r0F:i豠闀詘擑$ 抟,<7灣Af竝悾讁焔鸯k\┳)$芘栅FX诬O钛eUo癫h臖躢n.2t閊谄蟛ǔB 旟唀瓝 a邙毽"R 濄蠅蕘s吻6VD(勛'冁zHA~o>隭+K 炵hgNa B|瞮q~+叴褊F悄w稢壶m 剧O,嵎 恵Zy蟺y+8K`黇`:XM--矦葟 佗蓕z湧錼m!挫放w,壖泘仍 ;c#マ@!軁(莿d8w/场彆$掁扬W,悳牬6輴|c^糀Y,棨ak咯缋j;嶰Zd婞s8>輶o!邙5菂千燪I艒鉙恟3 领!K^灆挜 蕿D鬈x,侲f烾i:嶰z杼)&O玄迼(( &窳^稽払温焴,頡8~尶>5调W棸8 衽:嵞蜘f恑 +颉兞!□=擇>-藷(CY碵'%錬^_L鍝媭T粽%90 砜w 嶁転c 矬!徤兦}g?坣 熫=?鏌 U蝳擠Β 8A$竍.,{;烄fJ販囄nyNGS鰈N+慊\w儃z墚|谶p媩DS@y rA嫀v擀櫧3[兗騽喡y麧 /緃~呩y輟嘁鎧%伵+:S貽K|冋)x北街1漖w淜5磟/禯sA)趃/sL鐸x锐$鞧轠畋鞸畭. Pⅲ!+;9溭7@局[i}V髧[Ah卥厡k璞襛R 黳[9C 垁_鮖9|hfcTL T詀8 ~fdATx滍l菬$鹟>搮2葮6h舊h#F[J溎PFA[1WCㄓh]\(乕Z㏑%&TUt髍&*#&つ$)-$唤帯颀=w鐙-_蒊筠珙搠掮}焮/JT -9憯8檽虲溦赭阁 G蜟紱 潎皅?恇辝8墘/柗U'r剹琦嘴@\;獷摹敭閰.刐}d+0Q勠~7鷷杛`:屗戰r4胅縇a&V擞哱D箙尷雸偱G饜W澜Ya*#&\斃C\︶栄8@ˊ"Hr'x+麵1酥>啫 lDB鲱镂瓛,[U40刾k?2Wn驣頛劃8堢躋=釖娾(揉A腫郅J尣筰C芸繟窻祄8L賐飠^}^ev淒晆mEB罣敠3m 蔖eY酯諺7釙菊稀屎PW5砀'﹤饀aTY嵰(/窚%隁襊学X葝7Rr嬂擕離Mg*遲x e\O圮7u劫嚹/ 漻kq)q[综#r颫 诤@-}U欠}魀r灁閲黸鳎鏙鴠 诱 絶x櫡aq洏㘚怐,儠瀬ⅷ苤笑w&狖佦餹鶷H ,Z灐hm嘗谰∨捆赈m损N硘芾.%矀wハ涮r4剻: !v<薋偤嶋籨W傺箾/*| 颖 6^噪斎蜖$ 瀙嬻(?'*^鴋2w?wd 瓫嚈Q貢+2蹳堞V脙节优 @"&鞫盼腻怄dV_j鶑娢C. 超逤丑濋6T钕u釓济 :>厼[窡缥孎潊\[C鐤/嬂BV袧儁 賁=A瓻耬2瓑峅e柟$## 1裟}Q%6榝gw,-殔富z6}Wl膶7 J7珁0齚i砬&*炠y齚K渰,,x4iJ願 ,m崢厁'岈衷NS苁oP :F{J:_+涳娄f痴L/u隲,斛*,@撮/赞D~p 栐儠Y\!躌-躨驏譽樈觬Ei?徸剽鎭Q榺 勣qS瓤cq-0J]?-e蕅Z迼[钙G蘻埙|牫诺'.桨 X韫跾qM;=荐窜DRk粯g邀h$j①楟豿9c.睋寻蒖Q珮嵡r矝渹髱C処鑦饣钶!F蠟浣w4o(鎜"t鰊r絻@j!戸绫 M扒q/如覗鯊鷃渰躖哰Jm儮埑『捕5裏蜡髑瀞炒(=$#=vv憟憄= 钡`薍\2)3c%G牱堗8D匾z藂kc囆へ聵4勧g!硱/1$夔<鋤e 滂6 4品 瀍滑 乼孏/帰@x\茀舟9{你 X霅8@o7苤!忨#{洽S樒鳨柯歓I硅 /謋8恧,|故虺戶輓!覸V:`FA陂竽先x腎葻讧r -UJ]堁D襟<趏丄綹8釲姎z6\蜴!涕硼Qq梥?卣飴槆$牋侊嫯| Ov遇捚疎䙡;j閁F︴遥廿贑 皼臔v ^1棁.啠B剭& !,%2蜃I*k 涄伬餡摻wh7 1Q襦獡ji鎹 孮喷搲飦▉遹冺9E疊q匎2婑g鞞唅0 e蜛hp'連膞蹛E[Z +r鋼ed"貍l9LB樉@AV賮0浕1繖U5狥=u&ftDe馣蓔C敮P耀 !R邷x/狡阊"嶀檃徰A膞觊揂隳]A圩HfV/坾駙\-q)0徦 艴^ lz㈤夈骜觠^梜觇掜媮+8薚鳝>_ 簝9y9 f搦sx漸&冖足$Dt7{d涇暀i&k3脌牍{曹燉?fj達揉$鳠D炙木法怕,w|2珌箋羙!%銢0ph喑nwC惥癁畣 峤Y遶J$=[)铛Rq鷽甒(ASA~鷒K肂∞馑~U]i懢H閻狎5fQ刱瓪k捰Y仿萯@䏝跁}&_[~ `鴗礭鰂?UCNwU;L?=眂甕jVd,5舣音"M$腻冯型?Ifz竲焻敍2*鶷v筪藍笗]Du棒帟L禒'頷綑]8H(q6癋邈焺觧躓桙Uck犡"[喏((餘餻铨_秊逋 o8|.垟=dH醠R鰹| 琍狪u 5v帇4.@.dc<缸藗銲i/K_<)厄+ 没=闝'p床眜:K瑦!-6q"b黮A趱_RGu 愋IEND瓸`javapng-2.0/src/test/images/apng/012-dispose-none.png0000644000175000017500000000515510646275012022273 0ustar paulliupaulliu塒NG  IHDR璛疄bKGD牻acTL雾豪fcTL瓇=lIDATx滍9╘U鹂艱將$竒i詧FA攬"∕ S(b+谫h!ⅷ峛cALc 璕淖椄$聘f!A螈磐@9檡o竟賬?竿卫鵩罴s甾蝘珲8謧$w%Y梔M掚,92=I~H2揹S捦Iqnp蔦掍$?'鵲蘡W扺5湹%贋泺cG扜{5羿$2嚀荚筌a獮箱峲b︿$砳//<揹u捙I.J2蓡$_滀'yㄇ鍠e|挧侨x*蛇崒軮(5翡 _捾3嚋;掛md絎8_柰$3|Q?7徏鯈珻In,/絷 _衉e挓52邭t残Ivf鴅~p傑祶?揬8A.鬸]/鋙2,[購O #漘旙H>1輇災艶;g寵 椏 {M#{{A6L輊ikwa5聘(啰8藕璔邭篕址蘱l(Q 򊄭伲瞆cC墛Y穴o+曊JT4 嶛伲察3U 布Q {`菃 ry ̄{A隼sJT4纫F}oA雳豍ⅱA7犒 睪e-LwLEE兇6d彄胆p8FE僜楔髡 U货p倞檓+O}N朥賵p寠i]NR搡擩 莵cT4攘F锦鍈>.n詆)猦惪鮇 睪e灯 仪&^k浚56敤h愔%% NP 7曜d\=潜E億专*X莰[8湢緉詏*曊NWf坯︻);c,蕠┶栣 傡諐靅轺r渻75d2>箱鬈俕<栣矧[ 77沧dC/ホ稅譔恵K#s簢兟沩 _虩N9竨轳菄Ni?大墆漭呷:滀鎮鵅镛O鹮sY垣引梛XV雈謕诨*]3 [乜&筼寣;擖匀縻 鱠/盍檠情N煄䦛氢tO驱('B8呌瞢i/蛄1涱挥r赳f鯇^翥锬9g 閪7咂貤滟辡 =Z栦輙泏6屏$rN>O[&y8?$.蓲#s負3楫膪$蓣R 韦]fcTL6 籪dATx滍1J$Q呇珮)倱80瓵酁\胠a0k研p&r& 妟涣禴@袮耔>篲%鸸m$蓂捰$?8'奢|惆 慁免8Ir癲蛜捽瀷W鞂鄫跰r炵A6萗掻5{s蝑{吧匑汽椾o拫褍饞M'笿ry曠O F鶗闂<樱趀l摇葐丅 P 丂!(匑丅 P 丂!(匑丅 P 丂!(匑丅 P 丂!(匑^6彌w昔"漊襟粁bk吣7:甫k/丅 繥{詏.畹鬊DfcTL蹧]fdATx滍軴ēc邱 F鉕# J?I,砥諶陕Jl&%1洷濨J蔉北0cA !Y0臽3'5M鐫烫=鞴|贻紆掮w挈:鞴蟬薹昸蓁)梀wT7V7T譛梂洬嵳彡Pu苞[}X}3",,邡戤陞険觑昴Y{諉鍗媞k但+脑駏u2X坵Z赽渱珵婶U霯 騥鮟u ^髍J*u簜黅絉=襩瞺)T輄絏齰氹湪v,鴠繠淶?玏歁.缺甓%K 虽邆n6_豶幾{洪掛9莐貌{硓R佥tIn^聁`6.鄽洓- +瘸 V濈沖F唫曗铈溧繪癰\亵<潼伖`E匦tA.Z膧g?i碓E艙務溱夡?7)间務錇夡_,j@a5yx恻V爗硳s5+M{<40 wS?げ摋5mS鮑笏馱uh0助戥磟r\4og渝x7K琣5]庯+艵儽禬菦_巁猰恽罼TG沖庍s8职;洉`^9嶸帇c菀(笫q奸=X鹂翻:恤裶裛琸M椼﹒裛誻M梒绺h0謻晁λ眥\4霋暧λ駔V蒠6U5]幏)吱嵳{M梒O嫻e)瑇4鹶*蔷赈a閌狊7.晴蜑t k魏辚λ駇u瞻t0禺λ笨簔\4kG渝8恗氍a7]幟6' K"ou:礌q.凟81h%<[覈覲8 e腇pV廻JIEND瓸`javapng-2.0/src/test/images/apng/lion-rgb-3frame.png0000644000175000017500000104023410646275012022252 0ustar paulliupaulliu塒NG  IHDRR:3u闚gAMA重設X2bKGD牻acTL雾豪fcTLR:rj#B IDATx滌絯榏UZk椨萧檇襸%!@HQ坄艈*W,6+ ㈣UQTP  ¨饮'S2郎9m锝主弖&L&0f怙y铒<筇9{秕贌仅g)%粗鼰僰 |靠莖鶴篂T閔雴P褴 z胦4痖7;v訚蘸4"-拗6銨z騥鍅vm╣岿27{ 絠?梭龐J~w磌l砍R框B侘蠆S餔鄯鹻囵ぅ+*?鼿'杽舸憘摟谀4 佞睬苲?蛾w崫鍼分gk僢(=倖E龝A赭纎_樤,饹oF))3修办,kG|嶜|惗漑猢L精?ㄐ'Xt/絇嗔彮O骰輈hgJ+顉雁1up讉 讃蓇e蓒苇n鈳W翰繫廮W~汩o焚筓眔梑俣熽x鑈ò瘆跫腎 嘢#凖荟({(y浙碔挄;/F7斾緎苶 ~魌YO6-`,P璩E溂lЁ縷V#/oV芄8C2茦愪 [3硠鏷紎歘<靤 藔y纋`夹彾轘`痂@呭ズ渪呱疄V+X胥 鰉 X篩褶砿<皖V$Z﨎Gㄅ槯a臟T糏5=,,/d( " 9欧㖞5钤滧轤愊丁U0繌喻黢貲`&嚊寁美晒_+t駲鼔]m?鸓剢NX敿憈雟"餽G:}I聍0郉 陔麜牢綨p?顸銎蚑寽mu渙菹山卭R却眤镰h\亚閉@瑥5衸炊4倕 桼^; 淤眱蔭砐Z騇<凘豚;葭荥龄*餅O<针郺9;獱0纍0爰咾p8澀踧-;P哜遵欕嫍碴O馮^疱 蛮榤?喀/Bh7 挖N a1b蒢,7毯塭G ],~m /-呲箿ur(4糂覚S輂銋 }羷4BH躳)h8槁F栧捪床v/~惜J瀐鹭 忥+-鐽爑爞5 <(刴c;*牭!5鉈~wu鈦y';<隔A熍柬1 患?D硸W琚愴$)C 剭J`!|?塌呏暌焅t迷摡0秗休ipz[Z噱3Aa;1l7岉B蝌 ガ坶=z皴2>攪7喬ヅ 5_泚-瑃%靄v痐72Dd 弒;客べq&蠐嗬_㖞囫 欘沁岊!?癆釋鬟畗/KEB查?'7s駢斟捿m甬涆柯岆媭w龈訡5惏筠骳m;:[罚& 焛Ek,;甜椒篾^忨髈嵴|)vCs兼吵簬墨蒰Z耱i(ZH叟 %&㧟\Gp珞Y^贆饊菐UP犻R~/蹃 !qa!-Zk歘&8鏒嫽疧p铵J>鶹鞍栱釪拕%D捗墫"凞J !!M鄀$~)E瞆r猁矛缉鈣_<#駯<*江乽鍦4蓤2I拮4uhv衛oR I!觼!$B贖;勶e挨甩燋$r葃@AP苛偱3]n☉劽B卟皊6癴犅斐餆澬|浲擨@4 候邹瘷~鲧皾BZhV?{ s;\~娝*A<$$ +腂,摂滉愙0#M_繪詟剗缒樉鯎a蕠K^~巽┱嫹h生v尷u`靁_Ch嶅刬~$,b!>B"黴I '歉!袣sZZ″EAF鱝蜠呞棡lS5益厳騖ug麧罁樀O簍fV_&>~]蛮{{[4{5/莔勗T[3GI灪當祷g曔|竸朜桁騒^Pz򘚦N{s厐簠MN&# 4EA{鞰诪$0z$付%:K妈 I{F偿^s蹞>矲 緑^掑[芸Lq黩T膾情鄞葸l老@N/)>>呲撉K6霽cM 挱P尒芊2謺й\箸v>:7烴鮚阼b猛W畜K楒鷂綮6惞盙*esGqA~鬙韜_37癖sN僁禒&椧4vJW炠潣訵灅嘞F凖 =G圉锕o斲3O笛R癷吳掯遹瑩|燛駳觻 `燛#j舷{  篵玂隳駝 炖)#5癮 傱\)嘟糏背. 袗.qm皫/80嫲跓財&紥 N猈,Z珞挛7?胪1Ё6鹺徂8.玮`眵:终g崑钀}鼮z=怔辦J叽a[ 疥諮}鯗^靜錛K?驘鍑" 8kLT纰7:烁 G縗uR戥凯嗒P)8嶜厏縘/}痋镛玥Ii:4'N;B&氄:2姱苓y5况uqr<鵃幃滄诳wp命7=濌 7SZp+樼疳k"@>X9嗌uc缚i*,-曧>肷?V] 銈瞳}題抒;nz:u逆嶻蠻泑5渔︰>-ww痚 U2司=清 g42袈揇蹅弹i,\p蟢噆豢袎_8;轄塚钦淄k銓砛p$尛鼃Q*`3?鏅胨 >w/霚 澣翂*蹩/δ蜅%5矐e[锕$J.衸珩N烗J7x~ 酘K>w/;ㄅn積\C古壳麟G鹆3l,z阢/1y殟m乧G E蜀勍滽:k亾藌\b騋.oo!$/挺忶縖q=y碈涥潑o軛弪m.?]&6騳F细鴽x茂泏g蒦燐岞竤::崘瑌l圎Vu扁囧叹 Ъ廌鵻鰊x嗘=+ m厸厃=e 0Z<Vi粃貏硤$漰&踽9),'n脦膰hHI霈%*0K樕@I!踿7咬c@}裟w}漃磾/巈弤嬈滽P'龕椂HVMd畅(/潘Щ礩w.N>P'Vb|盙醪 n拜(N(嗓筗撍磤证踲駖髏尸 笁v瑈肩9奎!~鼴鰺缥侧_t?h@埤翡嬀3 %绊0袲 鵯+-{WS;<c閖呦/渉= 粒讞饾{嶸z燘HP!$B.%(R奺回闾珆襯~S<%窳.\v敠;<茺邶A葵h噻 Y旘歬ii眘趺E彔;萵鴜鵠59L詷pb殸C 趣如ZQ蔊J梡瑨)檬'垷t-黤墤6w?S7B胼N碦宨Jeo趡 B谪N 瓅旜侣睠X査藋i9钵FO眣驊<縚滎8[`岤}i窟侸icY.^>M>@8Z墣拵[!x邥d霎 絿L嶂酆(` x> 鸞42逘柦濘v蠵2辰莤n雇)婤拟y淫冄赙w`9槵熣齩谞逤柝亠眩ξ7}4悠虹㎎'蒕3.!@)=Kf諼南1賻FV/讥0 >P!$(p锕閆&梚Esi橷U唷擥8V生gn/焾瞡忊粡w~ Hc君姡鰠亴L私\ 0w'@J蹓"m椑7 6^>瓦?cJべ6棞^q= =n]t斐{豖a蹗 椺FJI攷 梹枥GH 2頂 5懥qж|鵖!镽 X韢 呔0Y3sゑ宸t*龇闽&胚棫榯 HaHi5F珋 葍譁S 獚;蕉LP#j$ビ,悅u 測s肱3 鄭7?8櫣槊兵荛6I[s Im筦Lイ&椴艧墧6亸*(癮岘孒谔e醃愇A",<卬觿+%党s>t卟*L@_Ib}搞%-迅7噢 '莿墣@JhI+&幥稧檤谡兙{6,*粌y#d=瘤F/濷s陥(gM懠鱐浀矯眏M}肓逡h蘬縢奝o钋)!}趖洔Ц觜鳜<鞨7uy#隥_pB鈶o}@研|7 m毢E]嶁铽:φ芀>诈|M┄J棱-姧x鹃s嘾礥w Zr硛┹黥碹訃9擴H2=+S`饅/童- J拏H\P裠髪巾鄛1駆e\鹞1裱?扼3 /呁MS囙/佅尽@擈┩@窅葳<$#Q$M壔OlN鱚|` 裎呱3拴)墹4.㊣(B杧vy]N彻鐳涃茭\鏭郖=.嘡榙钠-飓蚽 鰞隦艇?$+c!匾d:!衂zg豥嬕Q俀Y蛠N忘)1輴灣vO怩 f n}.uλtI垇虅霾嶺%效瘫)e鉫諐倸RzpmJ<笘褬淠柫= 䴖 棱m鰇5馢 劓*砼Cv稅p 挆weNye漁狤酼蔎D鱁nl釆 寿礹C喇vT0q歁ELB#倗醜Qc嘭m~tC追t煲洳/;F9ⅶ9昝f誅臾哳捝翪,僮鯑cCG欈*~乊鼽吲P艆g峵羟OㄩXp1堋B鈳獼踔华踺(照qk衝~曤椢埌z囙+J躞.姿o;~Jリ;0鰧D玺⿸@h黌)椡埥U舗Zr=$媉轞嗯>?谩2!剡(:辙訽3 臶6柆z哒!2蛘呒繈O['U6>娜 翀rAyL -饇挨5ヘ癢:饚6k莛葊柌s;7鹅+煂(2版5忓葱)曚 哎Y<6夕鵄彰+躞g''/ 眝较|jK%cc咺jGZ7"尦%(~望MM婂墩{$6縹)"Gk螭Q幘3Ij荵%-6艓 奤泒v5k~鹯'qW覛 <嶇XSM巿龃釦揙gF撌j^iVj3v侻閔夛i陔5r祀曲鳨賓X塟dS {(9螎5Q憣^右y湓dH.]糨r*F"Q佄A>環h徐X癴G篮琄鍞~銇磃兠 蒘_屺癁QW砢]瀠醩h'夒F餽)襪鍁钬钮s5k^PWH塂竫d3gL硥吼繈Z苸閯x[楻瘴7 氹瀧5`偓Ч笳蝐-4 u汊趕,.╧餢睪鄧+垎]>8棢隤{偼臺k阌桬糕y娽a汬谝毉鯕嵜/t剱/繒遾萃5縵qOS2Ly愮剙憳恉澈m8睾恒馜E伤荲 隘U懲S-杗V)9s禖K媌'Xhl,X閟璯烍聄#H$A恎鍝?"鍴|7搬堰r闩I4PS%ik,蔻xhCZ+媼u\抋谫熣駣裝书廴gZ憥)覷蔊珷恢硗p4L弸a^鉗or=Fi气媄闀娹C奍瑿眗歷,蚬H!痼rw2yV5x阠s悴=矬廓,笀QS/牼頔錭憱僕H#ッ殔?[熗o(#啽僥践眯楃孧=JテN绝籭)l剱騣鰉|杚s.菎敋鈖J2濙宱%8=D n啕1ad發S蘓宽%/炯櫩铖/锔氦龀眸-δ鬶萣消縠 匐辚?J^rM翚es鼐騸哅x 悥面%w甐;氤qw%搉镊5燑饇䅟铣4n_|+癀?觺w瘙1炣愩嬹靕>頭愻T7溤'/,;#(鄘騗瓁^:痖曦O$B噱;䎱,'略墸锞L噱z谴F鋶黚)酉碮0G wY蹦鉩m?S凭yb髳(醮薾侄FH(N+?忕ePA咚x,辑k謞_嶪;d,伺 %X7鹭暹_⺗=nⅳm烣5+|玑 悔 8搭鶚2C⒃x(=沆/bゅ"ケ*餛A (燪匼苈夌藟0糴!4XK%S楮郄K灇3"雓6钜<第珙e轺rㄗVp8|鋿槹k喎6咶┭S摭.;%餽H.V譡J枥3B爼"蝤,Z)V>u#s孢@筠晹 熈\驗缣u1A掝艐=>龡_閗z`rtz';Z戚)#宎ゞ;;^!%也"颖30筙v)儼惗嵈淧磃辿o&宏;T;傹罷}亢2窭孖6悃8a羴?鐀#澂7鮤;绖嵱絛:C钟轃-咮攀霝尺5|/KBbY.羠肏i揿 瘸簟o;瞰睟 A/鳺枏ì祋B偖妘痾<涸鉝//L扠蟟Q 偏;閏FM 0)?娮奚}wI(Zj択B秲鷐/浯>囷ua賏l'奺筯~!C苞&>}V創欺訴軜@FA;挳 琟羼\苷悠侷#},ZL篽笚\{\鏙 簥&!0氏撓禨m孙e止_6¬^{恹:锼h5l&筪V橋劺 4w-托>l壀z蘻絯xHcVUCR䏝$ 设?駭玹i鮠B眗4噱:蒰垩佭潬尨]旓簶踗!r厖UL籕劙p肐^颉揵磂嗌M]磕d馋喡x6>瞖犋9W枰戛XN瓅濉鼈a5Ro紒BZH叟蔡+ hP旷%j仆貌肵朘!吡5wq$泋D+镠k5iv6)頨歟威;0兾燭+唈欪L<杒&Bfe賆4*鹛\植衂x禉 槆 瘣鎯?q騲字%ec,μ(_p賧u墼s+雦^茕筇痔客?ゾ8涸>KUw%Y娃N忷NmH炃蠨T ! -LO碈◥B"@XWT&_蹵>緱5狗B埠1O塡权╋`r霛詫p@ < 镹厺諗e%塲砂)6莽羒]W颳詍 椐坐僭?Or4k萷ぇ?|r倷#揋H哢IbQ9mF 2?^`T9M{4th栐y歙, c.肳#--0<1瑌縛R:nU;~临FTI盛W倲r6肈\蒙q  ;搪J 冽娮Wz鼅伹僰覹yL鼅唒嚓┰魯骹Z虡h,梙2]毼NM[嚔9t,$Hab鰕O釉┵y@彻裞c駍迡@_o沚会野>J瑌65<*KDD?錫Y歴'喩x歞D 僣 J0盕RF; !WS2&12;6齸k飬Bw澽⊥槛]}|鮁鹒J䴘神焏1v拲丛+柉鮵yc棩~ n鑹,%!?2"dYH39>qZ動'埒靕S靘 剡≠祖戸9O3咎%曈4tj,!)婤2"H5~犢跂悖筲8F 窿vM]僆厏jkZ%驍l璚H搄2I&糞眑嬧;{蟤彣#e砷702-?tε)3,庹挅f革_9~鬖 8X0謧壝磗漉眱)嵔k|l譛g8+)/ず 桼d2袦栊处5籟5涼*栰膪始懕烳瑧拿艼d髉 T抓?wF\>泞".葅袨誰kP24警㎜J芖I, :5Z]啷碣鱬醓 #)鬶)嘒;畧簹A"\#) )&諾XB鷫g柽4Z*'掎p韢澻駪$瘠E$*(MhrB鉅饇A*q暋~IF黎柈诩 鞓 '6vq錓q1猂蜍簚;棨t鼙DY&萨镧潣岉像F輀O協0擞QT8"5竼|骨筽BMX鋗.sg8TT R5|Z鹛遏锿@;嘻纟% 鰐xL9k和╭扨\鄘恑觮)歓唽m涙踺>K鱠瑐謣遘$&JB庎5X溒讱@轭',?鱝襶9曷"鏋I;*J膔ゃ{灗$*9+暧鏰呛^舵 ?+腨'ZT彺眂 萿j邝k鲎+5+v6+鳝L鼩";]U桃S狟技3專 ~(:T圿5'瀪蟎斦Z8%崰侈椦$ IDAT梑o舰彻^眝忔艥30颂銑罵犟堺w蓣z海4( 90A檺竐俬$(o騁箚 +擔m5廷u敕47(瞉 +.j1q侲M$鍮豅z>Nr跗Am8N]$7,鈵i鎞蒔6鶭縞馰鮘w=茕捆6)q"扗ウQ 戞嵑8蓇\茔晘# Wa颡裬Zv紨獊E索w嵼p@钐1驗&撗$$玩膂魁$譨(鳷顴@}悥<9 G<*D虂\ ,転蕋$h3xB鳕妣 .烖R﹜飿觓[臡唑7蕌,QG陎H*a柂柫鸶`x乙+o┰薾_:;㎏弥<1e掇*w藆Y囊棢功To⺌會诠葾}x莐达畗{淴櫳T国"嚩L4婠Q#*丼"佅E#糪楃恋榭馟Fg 嗢猈﨩+B達t / 鋓nV\08锃rKw焲奙S漛裎鋵 6岿P蓵+Rq妫甅:巅髶鱕暇陴':锢港zb*鸠+'L畉⿴Y尗抎虬h骨甪MeBPU-眲x(泻7卂鹫u?イTp鄝妲麈( 蔆傔-蝢飇Y鋧4鮗~儺旭味w熷0~|K愾J>g;蚶,梁KgQ.])∟4-)M鄈歋垩Z[^I澶慡-$写'`烮#$挙-%liTT5?^惡h0z#J睟棒<^ ;U騇扅O献9R]*]#I&vH 吋牫MQ<泫o >褵#幮][片觢I54鄯匕7鄮W((><7"鋭娏V鑿j﹙退ZS毶#$城Z%è秔M8$盶( J傤曾>磘BC宦祙3脊{锱G綪v謮3-"V簉屑K眆柦%;<^贋#悌?bB荞蜞鏢 禕OR盎Yr4缣憣9&(伅社-汑綂踣<'\胿+蘳闂M郇抦%"!h<岥&R棛シ敁 M莮娃]娮l鹱滓J胍緞 禕?褳1莵诨+)x潎甐E艦韞歬羥y6硐壞駯6恓倭pW"婧l|^詐Kj.|嘋4!pmA維搃R44j6mW季;`g冩森㏑8z\0鎔&魴SL捿玔额WL)﹑=抯耷 崟级?粡x蠥u覚y擐P堌殾骰4脻q`棒+J9L沘$X傱V艦箤q办m裭疣 M]叛2峷~{~21uO欖l琽 ^6T@&談天Gvur筛vF擪Vli p*哠7r,涢#$鮩殶n粋d鍃R-圪絷鯒/媺>+hV xuc@畼瑨+~鸍戬繥嗋菌叀z1 u⒈=`K['P妶)<.畚荤僭寪び皕m篮] #*肑(抉P碏Z!,清Og邌騚挪m蛚+S氥霙,\#焌鋗膝Qf1/眿汓.r)2箑P畢$砃辟歎\癯6)贯骯獟&ПM厂,b,薊繍&痱,]沓m穎W摝)ジoe赎q/%樛wO: &嗰4虙C蝱0鉿R尶钴D蒴懸d97殟褾朓>囦pY$l\獗| c鏋V琵梭4岦\变2Ij端戽[眒刹yV?効$俌獀х襞痺3侐#|瘈讎俎5蒱帴IF`t 鈐顉<氰+搬祤娼婏>芘'豅檋1f$攨"o'遣C5kv曃B/e跇審灩N鉳'巃d霮欇u@銗{淊2猫檬$橵+7堍v斾牦脺c筠$;[|7,罸敃,)pC%(U0\臨Q颧y>+0曁cy﹦綺0F%>?昧輻畓瞀+4]P6:?P斉%q凌q挷a辶 )阚蓃偬- +drUw7( 9~ 丂嬓0)墘7iG墆01庌= 锳;啍_桷{W?trW玂I)f0)2苕Η;"!荲I:3殕v蛦%刢墌 h璓A?(迀3J乤蹫TqxjgotWN穉毨鋇i8~媸祝W掗l"挎Y"!涩溒皀媌3\>3!薱歿杁+偏檊囓鱿/1郎媧s[桙鷒譹d~U 硩 廅阜摪支鮴(TW寶崘6e5SY棴a升嫣6^ ~kS4禿G5"俑齍鮥脷+3 n馈i記j0協I' )逸坹(齬D礏鳠p顥P劼e@8V仒 VYo壒聑p吳牖Y!FLMYM銕艅哤邦鵢1趌D⺧Co屖#01軓sL撖z幚F|4 <翡孇[丟噻葀4P6|嗁"0紉櫸z6総'餂22~樹九9'7箃)甑]PA乁宪芑<麳0=j 嵝萑['瞴h(Zρ7 .q8N8侂茐棈嵩Kn鋲V*(墭JiYlz鮊S骱酋猤n^覈L=铫涿诐泋b*Lo|辀q頟)46箜"%婻Z>".簫庢:Z滓掖灕K怤槞g~啛?梷娸蛓劙榺zqOn蛖V 鷃蕞I惹铢T傻=傦+~|嘴q捛曽Ec梘0[63H山CeC 孊閌Y!&滘A 弇欞{瞜韈8n尮呷u<)56継浦徢Y醮蓋飴茢⒑Br荱I:q葵x7_ u鰸镦|贚蒦儊!Q桎yEX舦"h樷0hs%h460v;Y锋熗I3F皉>绝窆dw魚泘z赬桻U肎)f~盋跫槝3誦斛LbWO饰VL汏犠埙腜(魮5SBb@: )G9逤 汢 7R-萌抋虀锵鑚萃娬郾.Xf蝬却鍧S裸g8凣IZ鱆圈5邁?萏+喥嗈)B!pI,殁 躳 胿耎N7Rf rm噄kX现胐l 6璠}[R婘炵`塪蔜Wd+座鋧}鈼㤘H^y 嚂甕秼4)|/CW,7L,9i9豊淴I洍苷W1Zs脤oQ鑂豬M: >縹%禎7(0絩菈萡(z钃*鹦A@$-?露#豱7$Y5憁祟3R诟U1綩7L紎蘟龑 羁.榢Sh h诋xmG蜡燅+╇侂{毲l1? b(z#q 騢Btw !]4Rj傲駽虀柞怒R:h鍍篫I奉=漼'垜 梦鸵7<夜"嘡p4b z谕顓L镛毮x楆x嬼EC⌒_e:p#%h4榤珓!堁" S* yA(RZa 0K蚽鼃嶙栓c褧)y* f7湠受妐岕T\鉸穣65峐杤箅镝 7啍鵯籕l頟跀 伆%pC9:涥(瓩栣-QL祎 o+悃YXaAkC啦->┘簲C{榛蘽ol,z*Fq鹹c恢U 俰扐韶MCB樝碿脮'簑惵A~ 现埮免o穇3Op旽:+黮Q簽C暕8\与8鉎3龠1>鑳胰轶A/忓4歀绰鞒猉#!虭鍎陛Ni緧}u藱8髅躴u聶w奀y+h秎餣mLz5遠畦y=Na颛e0=船f*緱!)Cv(f2 ]HaR 6勨|哲烜皊魿牦?瓙梟_吓縔齬墱>!Qn徵{疾>郞艘汀2熋粔胞颡i ]汤鉓G臓+ 'qBqC.%諴V;咚 別+-,敛仑甎琋 P19l欵5'X菠\/yM{冩 >O/!申夶Z萱s0阅=裖:f9:覣弩箮鈢矂\簠襛羽财醈(紲嵩篁h恚攺R 筃=g寖n袲m6"^&技f6煹V锵鬓绥P踄溝∈T榠崖釵 C0t協邝謯X镠ゅ疒7捪磥8R贖!AkC镤'n訽8;"|邝鰕ㄦ燷诱爄堠X=圜嫽畧蜆I|3偀伞63羅莻AW桀鮋a8湆5窠 ']鴐l7茪?佣c`卐蝮,糅腄F,诸褓R性o4眈倩;`萜舥狼z7 l段囚蕿63!Xh靮 C箂%7~2.av送eZ<也i莼嗎撓E?嘨 hB瞯/割肑卑:3敖I髧ec忄=褜桑噵B銔?n詏C⌒O吼[疓b似帅去浲j痱)猊X痱L:鮦打 棡恌1M;棐I礟铒 釨E尼醵Rf君嫶誳`蹔:y筌鸑2 or軤b(汋委姊,;B噻萭垧 ]唅LkC恒h&! 丷沕SN8RZf~j囃刁噭媨W 榛g6bB莋摺姇R荆i 巏H赖諼VmA靖錽忓rQ櫀澧u`8駌跑"暒V叶橈菽逃]斠:眲潔=哔伇k鶀w輖W&鬿#qK}鯓箺!A C亲饩跂BZBHh芫橁斌LLooW螊0禞2⒍F2糡p文Pxzu枋W剁罄c5鶒3 CS:韈w J鶂6繈qB槍溻6啙芗講复H-Q.")賎[ 仕%J骑WT敂|t醃铮OoQd)4Z2 )犛 x[Jゅy箦 ;a9劊%:烱塒$佅鲺2镽-玩凚*_+穳W簫d墷"搰%/_靄坅!;*縺t脋+ T.he抐嬑P陟貭z(禸 L;銚h鄛7搶D袠B盠^ \p=E$&qGJBe拻2粮a奞%琮跽淾訍Gg杩B~5P; 擉ゅ`|N氠%骼V樶e櫦+oxM献浜 `y*峕&弨趷蜋v.;Z=迀LBl驪+疮Q'驠E瀥I袿_yj坹觢fL皑-棓E<IELP詳狵脪拪$靐OI3窋v裿篨禼倁艈喨Ukel╒ɡc飭g橴奘&簩獟T #&9飇l!ql頕'昘qA4!)u!伵峦颯 )2d沚⑿矆ク9-~茀砿N沠3~糒b[<(A慺M#妼6*x冒 o3{堾q 摣爼:8u+* 梟︻錩SA60~詡o- !状h雷1'n箙]*團$#癿7gok 茘臫 鱚 N1F:o媝謙嫅,,鄹蘎殠NS寝拞L戊泥X鍳C35td蛶尟詙x韭歶-Z哯芕vo寓*F:5AP爑 婭T$$彯O褓3l"偘+pmU!Y. ;嗋諕:欻堍r娰 罪衐{毅+戴荏擅P|U〨":Tjs"5蚥翫I8.Iw(4雡lmP靕5J蒇閼+剟5!2鏑WA鉐洅X廊哆p蟢&滭Abe#褋 浘阡}nZ鬕|`zE攼=択>pb渪H\檃s撉噄U!FT嫦喩$RB}汢J羛璈偞爯譴 馗靼E搩)株硉\洦槟7Q鬳K櫞秊衲傏I8a懴)鲮T几蝕罠廤wf雭蟕F蕛鹵4嵸轲#K6乲ij拻y-迃R)m椐刈⒇印剀X 靀ll瘘 Y5QV5fB苼OG梖S撉祭澶q呓,F.粴[5O"u勑)俛%γ靔R膔"*~看CT{G綌1.~wf鸢G:潍I F擪bI=楔yq较<澛S;L谕2蹓q媘^h蓎-9吓豇鐾m夤彑]聵釂v#璱隩dM[诘;s愂hT伆[/>矚R椊- _僣[L!橷m1a竑尕 m娕&t 澱鳥懮iB甡k僢s鴍 蹰{*uC絖maa <i~,&H 佉7(^邸饠钷晏切嫒輩R%酪xH:侶X夿(.塂!熝$識鐢aW 磊浳1&By\`[/mI6整谺爺f(嬍 鍮2,僬稧擋4 AK竬臀?,M-NfL伉呹C {嘫z Sx唵棰G|藮B圗vH爈佸@疇羷<`o久Aw鵌骠Q裃覨 :3eIBR#蹏偅 荪)-伅4[`KMG鈕KSv*F擨釷饈殠9罢鬑炦毂1w}击1刽窖槵>!牸G/]OO諿5v2塺牔Z2矤矱螥秼榳顃洆艼v礹苂4憚聄纐!pq,哎櫒荁殤 W飄戏v錿E*+pc氠_)騳8a$秠j貃8划挈)愤椋iTlIV%w 茦鈆 攢I$!7!//Ix !厔H 鬚宮0競{穤if4杰~兽胲櫛P砽1<熛hFs藴{:{琯癀噂栉臜-毥7W+2ky7Ri奮79'(rr-P瑿砥`c呫*隗 嘟嬉裵廈醝咃繢僖诋Hg~饫抝(ri颧爯贝噴递炡=狰誟vT緘~o庴WhVf鄴U d弗"~y賮Jp(嘶=櫙O%-緡眯m霺-檊芫e譤凍趨1ズ2{谂n炴惘o嵘亪枩G_\_崤朤犎5爯翟E#挓侂侂獢 lZ﹂,*8隋_樁]YO峍胟欫%渲U圈佘,cI'烯rt孅嗉熯w 沉!]郬钬讥=(R産吒a霅$r<-觖_毝巶e鞥V鰅奦醶.jp,14B;)咃7饼p荕郦3媔2&^瓎疎⒒*bm8鼔z#瘺黧贝鋦x=匲*9O.乐衿mu IH7Z颤dd抉耱襏ly轂1?3栴こ /痯3 E礱櫘软衮,?5[爈f霦K榆矾2r]!硒鑡討p旗[鵧救鏌P`柁亰b`V$邿)<:& KK歕湐C湉孺5)K65鈓椖腔o_=嘝萱N鎳腼罝崹"<'牯廩J%K馨鼫儫荎(箁瞾鐮悛 职{2燁澵;镧Y}"?緌巳弗:c襦艽孪堽]3培ju!'箹炧︽VY巻Y韢5oX嵘愬両o煱4*8鍍Wo^ 統NM镇泱~~1<印~y2Nh銂[遂6 JS啝兌M綞懴Jㄩi(渹毢抙皦>搠9'4?a7f7訩G恓Qt.v鑚愉S栌Mf鹖鈊~=j80夞荽"郐(5鞾 孷Ox鬣3唥猲;Y鲳桀┢;X 鉩咶B振|H;8R8厴=G_q{u衊槗uBG佭{|(d媚刟z萈3詅,鯅X=ヂ爴hQ"9鐳敎裆擼縲飔闶砻迯杣Zr9僓 寣6恞k*嵊u烳$CV'-u$KU"溙愤喘%熚 "死!,-M3f_}忛8瑜 許=%簔U晶% * =眣磣J塣噦暒边G-颭'塟~\H, 笺T讼q妏谳BGG顠)_;騭88泉枒龅滚△钝⑤5E吮媄濾XH琰T`.,磑\晷^ 琐a脳㏄ 屒 潋'7.鰡鶰黑柋)藈婛-%辮n灄炿杏iQ,陁婛W孚 ;O8~n菄~琦?y%.k/p纱9別虽`迢1wm廀鱷+蹈鏣h锼娍驓=何ph斷 o椮(-!婾 V儿硃 図#vOO鉛鰟,漙鋩"郸\竕兦%臇=啞1A`殍覝秧<腈镛?2'8鰺痮蒴忡y-v腽=_麵腀)涫)柖;鞜 搔9d訆t c C(舺鴌1囉д炭`S-i7灄S努耻但羉侴9L圭悘 IDATEx/D)湧擩鰱縛U姅珮缝办:3S硉穓V,R趑8lLX(埤袒(浒桳洣ys暬w7.@哄NK滎F诐淃踂lr侔廾OC灅鹀&薖蘦z[A9胰P2濷+ 9E6 ~J戹!決d ?%揖fQ録瑬阬X噅尚ˋ邪T*匕u 冃u鍐(啮8徦m飢a.跏 |夯4m]歕黄K幋j1栮別j0瓌砛5K絣櫈 鰪LY* 偗?Va扅?戕?弭篱n3蘸憩GP-C゜6A5敃持按4i_rE甅鉪*閽2摹! a 2m)O&&av瘴 闯e犅搁;v剼<6+嫵洐钸峐^q癞u;xpO9"斛锏忭:\镛Z洮収& a *T藮胜aj2>n湶槉洊6斲鯰9P妦仹亦瀞8莘{柗滚w奔K*ui7f;&踇罻琞琗坨雄i狰.榅Q櫂尒x ]剔皳砿`渞- duH=8!彩謯壭QHV囦]C趨守/]阈栕攋枏隣%D鏲鹄辐頺騦X堙4蕰> 姳懧-AUz靕u(U 觘素 F,#訓胅*"&p)痱鳑o$氘栊寸E姩馨眑Hコ,^u.嬜澫夺齋毢邒V签 R!獼椿!綱嵱n&袹?V蠬敌覷 C"#;莙↙庰釻唖z5&縕c褮k菸惕呜摹儇雤o"g{dr奬&暤x)i`巆K$鶠1%K")0俍`)族k鹔腗[ 蕯'D\醫艬0&頹丸藒硪江,道瞣躳诪樤⒊ 4V% 謤 q寠塞c3\轚aUK篍鐮T唥#1搯2*;\(Λ犺j誸(:s妉J0啩-O.謀0璈bQh蔛岊fC>-職et滩{劝k28n疫 6込傷tZr >B?}蝴んq鵗宛侮8剡z~炛蟅屘熹嵫樞冻3噳cbk0JzS擱 巖X哏眫│o〤徨h佩)盆H眺亦s7潑貨鯴8崼び耑f狿 -CS朲肦邊5!XD'润DC&進顶;o箖'嶈i7alF&E恽纓抿?朄恶[聩] 5Q :麻 #颋Z㖞c輳46槪歽?煍┆' ,?K箸电珄5.w塋橰d2V睱U a╬朋6h<踖袂_瘣M+^qy娺{C幀 鍤!烻鉴鱫)Y>鸷諑"-&J0V傃,ZO.:=诹qS艹5Η蚏x2Q喠闃oZ逬sg/F> ,t#e猣灴m$3鞟收并沐jH(柎夞f|囄㈡/萈嗬樺邿7^惀沱婑i莽n-7o(凶璱i!5倮愂i孡萍酡<熁瘜v|F.庪嬋欵D+0懆F呒祳}$T悑U荒:悑苘楣樹釦'蚦nEn狤}器怜?S荊;,"m葛鸽鸞k哽捂_請,(宪戜xkV颜﹂頥磚JGYE园\博厵I薝炰鳟,0Q:堩l$畬J2e-T陽籴 j捹\h2;[襔馱逖50巁@.喢湋6瀪@!葔靆T贴([愓2蛙Mv琱奩M#寝舫k覶淵P佊憄=T箌E簁y籏KR/&鮶 潌b&漄8) 擒鶻膅Ra龝緾甧1﹖w~閣Y簏封7僔1_犣8<艚紲1糖86倛密V滳Vd畚pi悤紝瑍c蘭遞辳 埤淦Qk5h&雃R檝d號涛蔌?5n躴7沱[惲敹5.Y濈蟔VTkR.烫蕌薕v苵':6岌 ひm剭2~?"C嫕 `冫璺鑉\?菗?4+x 膚E狾簖X[惔OK騱} L7菓橞闵Oh鷎!;zW_駨滽ep<彅jg藵//qX梇韍'乓/鞺DAE舚@P焒_Q{S<:\悝1「澘早舓|穓蝖wp枩崡*`k糄S揯&薠 {&}隷娿<|驡巣&p 霯漕癏勳耢i4冯菓詹蜪 ,皂 _薒I^R )嶤擱'KC筺筦吤筭,檎 鞆邁Ⅵ{H兖p垜渃訔溼4^)弳卍鈅D樛8/ 蔔F '僝ME5FVe耢hM垈巜埵];L瞢:3H缎Ker?n*C敦K矗q挄thd=~侎 |(焎勋紊伪埻焮c W\濉砅 倩32▃昁;,钪4}啅哇隷緋匃疑fN崪蟪巺"S;倬d#J簧<_|襠校B'薘8^纤悭 <繄雊旬徱7暺龔砀 m縘漣呉厡5头-,箮>瑏8 ,簧謇4J粚msr4 }蟊,貔祯E慰芘ov~i\僸醪啪z釈2\r筄[涙缾嵛瓎浄追?聓GH齸+厖硳趮 ~(1憀筅暀徤h沦'僂8轻 k釶\aM屻ヘr卓P/彵殛?颇!J筯瑼I飌袠&叨淕赚轨m藏:~矚轮曇霓D& /x叟鵺]}灻yx磘(5╓e個璝e榠XvQ妵鱁|H觉p} 1谓,衜齪X(yR銁=蹐m謆旳蚄Γ,蔶腥鄘韇釦;櫓)Fp芝渴鰗?ow%u苰疎)5沕B[|軯2F菕M2素qeL疪T&餮瞙 絆昀翬o{^鯹譤鄏鰖棳0詆,A#箨v輐輊扆+59磥唸)>绨P岕掀?tC缫蟊q$鸭 WS9蓋5鏡*嫅涯J戴昍+挟<嵙8&r墸:.z搳%&ィoG︷jG9h鍜.t=恜,砌=H撞嬝|?儼藄9~掣霹 硋機W"(X&+0^掺&-遾参p櫣WL^癧f怘}騏豳薳6 $旺)荁1襅哆z鲓K颖1&DE帥贋6(遂4吰;蟰杊桾椎F+uq瑖J裼E货摐{趸6FY櫧嵅濜"Q$咋甧支@=e5嗫>-4=莵z:學a胏1twy7鸹胎瘖絎s谲娘溾葧徆鷟I7涾6>!*/CN:HV1$3pJ盽| ^⺗\?嬨Q1隈p教荟瑴)6a#Y儽16巺Fф訩,`c#l Lb璭fl'{]鸄i 盉j甃鄃[汹胵S m繚羗?| Oe艞佅黸叜锄V,w(碒+s怢屬鹤r镂~q喈#|壺wqt鼋 儝r蘛&_3F 儿^=萀&嬣"U- q书n e%舚幽a珽>腏偄皝v]祳el f菐v钴p稔茮8r;o壷G9瞾Z鉷佐郺刁; 埠nC胜鯗弲`かW^DQ Ok7-F蒙癯h'婈腝峼e舷蔞o$E暣%丯喍hP 峾G+1Rk*芺癸蓢_慻y浰h俨w3|忉謁麷o髈\义雄璱飸)鰹/? 錻砮O替A肳猶┚哕rG 鬑宐幋|るy8桩伸吡i歔]Fzu稚扶 猕併TE4*銓劌^FP! *DaMhuq t=%MK抇M|丐 牬/U躑H襎C踾炔軘筋5释h倸:狃娝茐$:瘯鯡婗E4铡^盠[v韻僖砱甜Wf7sdJ i8拋=蜠Z倧曱!列(B,欌w{H,#庭箔~4q誀Q櫪Kq 輌^J<蕛7} ^鯺L舀M鈠Y 凩攍nRI亿擄畯兟奾3C;頯r鹷w(螿G6庰r1釹8菠|尙OM纥偭B刑焛隴鱂姿牬F+i鲇呝潼C7帡a妁#k<| 衄紲8↖(&$扡J(褌雌`mL5圔喵?方霻飜A栒^篴 缻e陇HU!瑘顗ybп苯1[ _y跟Q鍹y<,B*~劎疇 倴慟==H恡úv凞錙 )j \5j!簴o紇こ<糡荌I话M*F&F!>ひ没颽#呃q}:枮G铼愇u舀幭昋;浂挻Jq剜翛*\佟糑Vxr*(9EgA褢W存YW0灺MZ 5L孼鄂莑4 { 嘜魞T崋懘O 籴趷TRb鉟HbW"繠0R鑲W枷q4畻-I手旺猶T#%鶺吏噱颱疅# *Oa襕,隈x鋿徯褀.輌\L1q奈嚲姯嗍骋q(d#玥/(Z矈導p壝bD蔘鋡,勉13饂w栣椟 3gZ掓Ph麙8鞺洀 臜煼鲵愤漦閾赵K'#F謮aX破$%蕑栌渰趸IeZ %P気8l膀7誅g~粝靮8赾fb&愆埆謌XRt񴔫7膴j蚏 a蟙D1^*暇'o>奣-葚L++"1钰;潎呮4K?谅1k.輽b^獉珑$З6巿qX# +(g蚐峂)抒}逼p煮~昑禲6欟Q%7暅涜9)M氵a辁k衝8琑氊Gk*/Cuz荎Q<8顸<趒脔鹱欈}("2鲭?q|蛓99!腗x蝐)=+/穄+.苪痈<帥Fkg栬&抦邩D&k忺A揱 敜吢XY┍&6;6K欅8zb9c .j胼p飱嵶姂6涴孖唯崶&o倍yS犱焒U;. 7闄嬤k"磛y鋿彶霾丰B仓蜸ZX愧此cwyE_噷閝0 (5`1LV燶弟7鋰;j@[檏耴 e瘦Hn9 =,4#禌?X尠蟮楕漹#jgK汃躩z$衛IT1涁'╅珓J2&e镕 濾胫鼬魏EyM邇+ 刀腣abKC蒞塜mC橖C筧(-#鍒駄L谡L"o| -莴襯B縦蠇s檀>麯C垂R&(tO"8q訃y霉y钸WE痾 #r陶3t4my(厡杬揩臽崙贋G[R緬!糦M* 7PP灇蚙趩%,[暧栆刟t掳{仳鋨明 x`爚药官驨纻怯1R鴶дo=oY3隗妿寸myM. iO醝嫥姥" .} cd6fh,Q睍Q3Ali剨z`﹨2崳@!s孞u%/}((8楚(C4L 4梗>^撦?1馎:K7!苟* $2I┟堇/*袘W湟⒂熗(.觯 IDAT尫褞庞 邊'纭)hf摃沼8酾!─R啷: 潡伔蔒: 柛diL[f  O鬧髈鲾 b:晲kI/钄昭岕鄮 梖嫉.mYEw+,**:Z4-E. ⿺柫睮2窊樐0$虻HaH.cnl墝a 鮌攋枆4#稬绸?偛r挳Me僐箝xM顚M*P笠PI6g睸Z;徤om喵麨級劲仟N徫俠E桟o珨H)雀b岃Dc<壵3x尩8J.)\滀&v叓流 Z+ 竬匸8y(鈯6n堎鼻疣帢忀Z橓eX僒 ' 2島8#舰#胲霾uY:絤娭&桽鴌餦57L68材!%h萈0fc&7I/Y糯I=2#,[F蕱o=Zc瞗pZV瞓拥bD畅#9I坑\$}#墤Z韰歟'XCez垵懢|殩擠陰瞝焞豶`詤KS琘湟扸湟釰荷se悇4;Uiz.硦BJ剕u砓 佥潀)卾)窒jR]妕&甀h壥唜LY 劈鹧?魒95m玻秗鋠暓+飕逧F/GV騣d2鬢伩S橡8攽7_P鄬.檷船[蜒∩誰+DX5║ 3%L;S禂j朢 Ju鵡 ,岪黀IY 甐C'dxG+\mZeX d鎩3u薉=#q\薽{a%o&昸媚酇I〈欿?玩KM槟悺﹕锔>齙l釋b螿d|E趽蟱!+.xd=衮鱈勡播NkZs顠鶖&硎嶀(灃楽舸((簨娭悸搇A岺嗋:p犹美巔+踛?lY >葑虲蝉1c緫炑W魐絛]歶5g-V魎;创C︵鄕r"4荈 c嘄c杹i薲Y宧3R婇<n捪7珛8劁junO廾帐鼎苜紉rB=[姷9z[韞1p譗徃駢:SU婣[錰U敦E嚃畷8n娛鍓葜"燘uf6銧蝖蟺U啞J啦B殧 箶"摠篏深:`暐=* ,逵妉崚( 鉩杴 ;,鸋刲鞧B!V鱯岨獣cy11N棡5壹杀~塮}煝痆于5幆"Ky趓`0f飷e菒a蠘煥0S7粦粀#谞!=娑 b1/郳劧v9挾&!e\4艐悟8{機o螭>e妔3嗒詃U # V4B(D奔. a猣櫔Z5xt匆杼未K!(d &z3饗!J|貃鯳筬MNv瀡MgQ戱d俗J\棄婂坤a磀)琢D{`唚^Q`M痜I"缢t鑹瞖$肣衈ji_VX嫝Z苂 %灠穦駪嘞8z琣j遞掫.栂巅KP抆<译= 鬯l烎7/[灔江妿"烻2+"k¬-儐G穀筱[G颿.>痄竑珩敀疛f>/洎S蠤\铲s6#=<櫦 lX攚o_冏_槮楿s愊hO蠮┍Q棻躠(; 琵朲]Q dJ^喻u]駸#筪┍Z饙湩+忄9鈝厷鸌?醇认18e T牤M备C备候姸棘鷭Z*5K=斂}鰥&J?4h蟞辺~儠x%7堛0d|6^ N琉幡m?庳詿跹 磿兤413やZ++擙舭蹖庺n騀熒)烻ひ >!l@ヾ43lm撙y'H蔯/E>]Y觴浢=醭R舸U2鞓j蠻T(F%O鉩駖E:m 04!鴣颅申ぐX0V黗咗十3{遼k]鬃陳O蓈烋腵拋")kzd<嚔熴帩u+!/Y漡Q杦h篫H<;+UE翽7谋$i狥SUK#抣H*&蕟藣洬孶饣槢$w$凟$1緝饘 魻嘴安3䲠呡J* X%閺|J懴XM*ю澆h銗峛谮4=瓎9!!b3溃烬鰔a^)夕歶&怒[._鍛虼躊)瓞Ek j$Eo*Z耶"p,5墺d昅9庿9OS 驮TCJ珝j 嬶H9怟xJ覷)?褢ux蓺卨:蝙6;ju{姶%夛J6@,諬^X苆1al-捍d5芚bh煀xd∟d霨;橻 幹)j = `E$鞵=:4 Zp錋衴竴Z## d@鏎k-狙磘X4僑栿z<4T%嗷葀~"鹙-;S溠ト.駶2梮孡[揖扂稸"憦棐┦M3k-⿺倲"4栃W)& 杁竲O錝浪铊x^O帨ce颧-=-姙V*uaq籆o涙臃橡诔髏K撕|6鮵瓯~wU瑫?餵d%:)顱氾氉Clk罍hX埜A骔懊鵵贂氼戳計閗*y裤唫貱凵NdはO6柦 饲J銑T蔮6竔崏2S灦迸U案斟!^|摟:湁}?挢氄村,9崼a琹蒭繩)\息}呺扫O韥N.籙`"6啘VS %嫍糔w蒔)瘆鐯,郈甐\$C>F恟~狆=抨蓑d?躋酔+s(`V必07G$邼湻n橌餂1吧O滽#褄%y$諀唴W妗消#h汦笪;0m~=烸溆杔枢甤餦錢mP"蒄c0" 5~绵嚉T`萨* Zj>擻衰K撑熿鴒$x9x黱颔楽I>n餲囯=>r:烒吒mw32myp29m〝燪5樌燽閼w]厳s痼愂Z鼣聅蓅繭j霱Y~O敚疓N鄳惰fT}p慴!b搿~i:ワ檂胊~取~筆F Xy桩& {F,鸉 c喴敟V6剈 瀕dQ8>xY厽狰)Z(イ鈹銷g埔抮 H鸪爕橭_>田_,u圍頞峁`wO冚懵Z哖e菩ㄆD丏$L鳷襥⿱鸌 骣mG芒"! 聋篼縵栟i佥Bi;j擂3媷絯hH赃-@: 竔Hg5佻餉[2B泂5he E埕'敜ェz=2鞍圇檑忯虹蔎 R軅豢婱c┌垯璅笽(談0瓝趶祳眏Rqj獯K艥(xc]w蠧n釓毡"i9q槆砖0矠KF 掍 淘"簏埚Tn}!y遆a1艸觃C撌K籹园T-娩斿来H轑W,趵R 坖r嫦偂噫J#娷 糢蛽瞤毅trR煶p翌[蟞?博蟝y嘼i嚔獷覼P洳 蟽(R虜 茫栞c唩I醟NVa砱!勸3 烣氼)z涥筶c箦藃k; 婗湤5 Od拿萊n =5!Wx`/ A鴊 V>lT"哈瘩砫腹-銟郴于Q氯 鞛 3X郞酉q@R敷瑛9~巺 O/'熞7m\鈁;槠熴hX`F鷫/冀諂7郜д皿O黧浑桫D啜3追+D橄w諎忈5Д秣\藫>谛濐Y意癿<`飀缸JbIs" <7/v^彩 暲,^蓍贆啽S5膙潮攣7"齎Д憺査鹖傉gu^1挖^M#脝#n踀'?杣W滍愽厼'o┿9.瑅萫5媧後#~鵢'n亻売隼N躼旺W_嘁肥e9s{LWQ裑炭雼; 緙K)8m(隯謁y橤[发:my埊眪4錅4孫蓌驟FC>iW9蹊碶D仧閍QH闀珄5]K臹=訐*U蔝悦遼Ⅻ_鄶#腴遊耻⌒髪蓾哰姽ek曀梘﹪皔莉/?欐揖,瀳)溧+蜘G鰥S}麲孪嶔衳+6di蚹琔4蔪BCZ;绠謹kw顅6廢阌羍邗鎷3创)_Q/[鲼窘テ+謊生妀 军D '7(護贏軏-fN檠 袶疉鼪N噙櫇欱NQS襋-h襶藕>蚄譮冨穛戾亀緇]鷮譤殺c$kfF-2处覟L梟K私鬹.圈牠繩棚#5=n禖b!閖嗔敚騥:R<:R1p ;梪7蟂伌狋,衁磘v*谮gu;x廁0锭蔋{.Z桗圻|q薳fA;6顝闊y决iI+戊診仫q賈c,g-u鑈櫠S毾躚緢秒?漅,#.霮衤)b .鯙鳠敩亰阏' 窽A蜝/n柔箠J罳C%鍋Z[RYEW+琹鞑[F僑1輝uoQo[r赧j2i冁w靾!%嬘窲d詬呥,嵌AC[CK[L攫@NS厖c紐S灚7宫]〾b碰輪|喝哌53D已t旝c|搨W籞y-i'钍9nk!)耶h壎,槝1湴孶-td倽)r批-ARD2鏳x煦化}~ ,T雴烬=3X矤 =E徶8ow-l b~D輘T.宮8$鹮a!榀鱿筯ユ約z赘c慑D获M<鮌供>v0郼繹赢nY葆掣拧3e 汜6 %厡 e▏娚阇]勞j%謭Td^|綋!3t乂呻孅浣w槤gu铨{灧>U3u贃eK6秾峬lcz1嘵翴r挏$HNB4H$'!!剕$I5T鄹q%玒挜裩z脔-销⺋镛36j秂<悻脍栦橾遻痝晎蓦曄 炑Z柢溿貃(ブr2 XU2 旚|恿 凶<踸釺n1碱莔+{y鲨傍埅/力禆F樱敨鸨[趌yP`﨡w逇 鏧坫S潍fSw研U心ㄖ淪繝殼I 峏g1涛9旺#榤:8侐蚕;杩鷚^U鷗襒U鏵呴9G扏o棥姟】d崚哼re仐U筇藻煕 v谩I千nA脼ek釂A2窪9啜8j BX?庋H嗫(纷昃5叓7卦颭妊貺譙嗩ⅰ捦旧U'J絉╊#h臖ムQ;1譖 蚬怕\~x*粁茘3郩e秎馳沉+L怚イ:+,涕~8U濥b剷瞛酝/; %疳 杹>随)千n{膦?.[ 姐%牾(W Q&FS&墐願冡>C攝灝俿B9痐,錉\0闍K唕r9]鎒琂k2(欞z&碯B甧社t1n跞褗匇&T[0_#sgT,炀戡p菹][b肸脷M]=?"羵犏7氚0)LN 映耚U槶氩 僯/詣絚)7飲郭`D7谭莒5g鍅^za~ &呃aづ䦅~l0瀉aF88歳xJp)岕Bイ覕齟C%呅襏2攱唡Nc藼轕,ryT`譎读Q5埻v#%簈9%喸偼$胏輻媁bN88s蹝?9躮鶲_淄!锚C讇标=3}(嗘0?)Ls孫 硯9榠郸0Y歧 罪k衩嘮)餠峀申[{殀kO蟾s跛褨5HK TP鶝4呝9嶝減x恃L`&XzJz辑7魌汉 叢%SxF嬬 3`L{嫺甶4-O≌倆C榌p孨描宑lB\餓濁嬿8哝&`熃g *=縣谤抖琈ㄏs搸卵I莟1S覧ey<9_w竄C硶蔣,權|劖买橹bh蓎 淰猆鳉0還鶈Pk9kY觛4舡-a^稢,j%媓] .4扗HC 帣iarJ槡M8:1株砌o!穣&蔣-荠8捭7鴵?弁`啃UE]z<[MH"!j@u1=O漃 莋瞵肌暼?=~官r楠溃5旰H隻唂"4b輎銬(』識6涫?噝L抎.照搎Sh謪F]X榮涛嵎業鷺顊䱷髾坂雏8|惼铒3抴x瓛p牤C!JRj碚z=[焆鍟%%暅4'>:詋巺9w孨 Gg擉和CM鯩F嫣/K[ 軼m妺Sl謠笀約膽>g,*= N-I i靾[B*枣劰檾樯圸褻搓長鯗脼择鄬O1D|<蛥Q噃&Xe浽鏹l胪JW榜昗m%赎Sr摻燇╀坦?}u憌\Wば 偶翃 Y碚%$ 磊渃a咇)菓9a|1W&j伦鱐j/距a"諞錄x炧[蛙藋潖O2:W囐毿W潞 久 涓瓂6/T鏡姒Z,D軩=1^z鱵u钰w埄鸖架`屃梗沫* ic.汈崂4C哛N耽>鶗;q'煾 鸷鐫涖=/+眝%_1鴻预睈&4v膲Bm^槞Ζ卌硯奄 񂾋窭T纚~<椻傻 RDdU^10'愱肘H滶膓tVEo'荰痁卋QΘ&蘊禈瓧圵韅恫嵒搱;鰨rt禢氜J蓮馠pQJT諅!IL"糊敿'毃鬁)kz}p蜙牢c'兀7飠脦"2菃鯑K樝V%袏4魀u輰襧葄C槸 3s築宑lNO|缌 懌爇p﨣夭)疝陷褁臶薊瑓rù承祝=N 聇 v9f獛淚 倫畹蹤笖兙峋G髯墥嘓Z充㏑q浺錍h厷4\L鈩D8qx剧璦緰敖<弥5=朲S乇>`绫2郶鄒?省~隋%.9薱薋徴#唕赔eb逇撮B狴i撿樧樆迋购nj灛旰灡箶o瞰蟬倕\Oe[ 斤郘涛裈|瘲l惜=fj喒篶擄YOi礤4鸙s锪9&苲03h炂 Qs掅\D@J#J槢8姛k1捸1搯t鼢SZ蝍睷繺]匮5肾ugj! ,谬=玭韀絽楸漣s'簜慕^uEH_煛誒:S镵cq<4瞑譛礦;I哣 禆c 蜄鸠髦榤竪~e俨%.辩_飾敻p澫阯冿羂S蘱媳鰷梡绠*C潋]xbH&q獸詼诺骈築8v!.蝅鉗擅l嶭9幪:fj卤Εohk=&Еy迒&#}=簍鼍O 奎 \逜腶鈞馂g蜞tR駓桠->晶qr}A86曦{(逍0坌 &; 躿4廑{pz,悅蠖 譴 )鋭粤约p`"巅c] 14$朴ZH奙#Sy⑸肻股畿所'蘐a諉=拷Яm蹈鮌雈'珿7?曁;溨g皔;惗>鄛sMg鯪&譶[P 朾:衔&鵿懏|揵臿k6b秛9g登藛諙濧K边愲2t鮖喿Zoo裾粵|w_搆挝x>軤-荈3Uar^8V5L=*儀6荔骕锨ZK7H:觕;箃p仭播f03o槳 s5H硼;8稅頹%2|镗哺限c}齷hx#蔵 9t?朎邲YrX䦃訅旆復徫/\隅裖皵F1擉98SQ+c%<斖#杣,雵-k7Z鹤X篇嶰}绷遼∥ .像猭騶浞骸&L:>u<_闩(+驼厇覬&垽 qTE\妀焄] 塐毨財皿-5槣坐7I嘤-P嬡麁<蝱 Q6 濐淏/餴蹈$笮褵n@橢軈纅` *#過{W莵鍶塈廹㤘賸_sq乁KWA75#槱;磘So ㏒彳6鶞肺痫鞣#.餶o*q罽>.倆Kㄏ 3莿餁鋼o&闎菩姷^9:遈鍦k邊K0F51,芞0嘄w}7m99=|k榦滥夹屶飋[犣r=辿d駂,硺C(圂(籂k拐L 蝍`5PA烽底c-点m擧~0筊=)@2^MkN(9逺蔆G1妬0]j鱫q邉痃镨" !"(嗰)駉 迆U塟’聧X6 祮憷TBw'-I婖t祝肾=c3a}薚UHG-娃?}<ヽ#廷瀏3z憲^\闸蟝糠桽膗?F3!s亿痽}輂<:珑耩/b愝苼I@Vw{摋l%陆)县潆2\w詃k! 羏 *鹝U泫9-啵k|闏棗a 佭A葀∏`忠洍嬘鲗喤彝徦,*ⅴ噪咫HB~勂桡頍=@岨骛}=顂佒蟁囖~美惀T1X_;?澧#n?翾岍 謟$墣$/Qjj*:呛﹃)禉C⑺觢{ku烻')釦搱婸p鍼>覌俄裓hA5'k烤f7 .詪愤耍-5部'(@JP馭<8O?綑雓虝髥0省!葞鷅 E+1 乂1夅'煓鐑Q鉸tZ顏b^弜/渻ZS槝乧硯鶘癵2!夌Mc鵍航瓡儫+俕5測+蟭酱潣(籔pVP忛篪r>L狌咧#瘵`讆颃&LU厵盒 抝盷D蹤F0FKR7鴣&X/ 崂劙際蕘1茄 茄c箩絿刔噒Z踟俥& 给棚e鼢?,訛I蹑暨Qc鄋<@媴31[mP尃諈嬓纰_瞡笍;骡谒<陦蹫98奊鞩嶉_松頸&驃限U瀃邑P匃}e骄泤啠震Hb囷瑠A8怐I签襎忯跢|飷竁'e;>椧[秞Fh&P 3檙鉧廗M&扗u庵苲椧迧%.Ap g 怦+ù3阯4鹅e阉h璢^猤7嚍碡=矍齫O儠鞽%g"3|握輧鏯=M岟~q瓂~韞嗿 沄[uEh5`b冶蟀戕C巸S)g筯Mh嘱 賋嘽n?0錮怔9S(qA喯箠0炱z芚鍞f\s7鋨嘟湽羡≠颪餳婙m睪 e! ∴|<1_* : 窮谏裞j6<%桘軚+8P皿s勭厹}x瘀象~X%[|勧 T櫇8482-鞜幑k村>靓n[*@7jQ>雑蝈f忢"MZ鷏偘襥闝瓏KDR稂:揽sfBAq 逳4)忲<幾枲淓摲i詓,z涨{*麸7\鵱'od;苮鳤憯M;^唆懟鴽[o鈯捍,e:v岹2^K蘫.*^趉2迷寲濐嬝x裼 騟偁涛飣宻燍A冏!扝v田辊訙} 蒂祝9S.諟(9餚oe;+o菣彞d远デ鴛v[@忞'$YY }q呷7V6"捫X8嗙鐞T?纤c>齥/⒉j忿D噁;哽b`扯+よ[歂2蘓晹2[厪~@ H鏮6摅l揆Zm}凵WE完.M堦3搓37pf 垐噞繪Z嫗蔡肁鵻紋 h<乂1~憾扐:鈬/"\鉘z窦紑$n謟 8霋譨琷盱横F|#纩塇n9I覑瀿!Jw徠|`臇Uc618 曊Tam癤0*v飛䲣s瘄 v蒴 ?B乺须滞"鴠^\o1螪堁7P痽,!k<cI:餖N衮@杚鈭泂滜糇rl-綃鏾)2P濒wA尚譭1"訸6@v^Q=腠蔮i &簝M綂9蠎緐餰蝜侃])驦[4訢忩12v謫鈟9謑y6稞錽z薯您X氆e5K+S頨G瘄+u}逽9H 鴁諮]BH:阐[寽蟋+J6*磨旒駉奕馊钌l瘀峪睫+6纩镲2鏓%鷬鱿裐溷眝"4岋頑譖e砿+ ょ琙w馰/蘥*'氅皞鮬扨闥薦啉 \3碥?馕#羁Y>1灍#W琛艹庬U摅&蜛5r膲袏鼫陯庆鴑鼱D'C}~ 峓誒pz4;⒌羙减櫏髖`z6yx鹅吒顐g Y唟- 忥%h鯓恍弘%[炊褸u缈P跚33砀.-蟲#蒂#膓 p荞调3;箾u^菃Ы攽m厢4网9r臹烋蜻錱>5G#27u バDh虖QY祲N缴-u庒"h:蜾1饂/򠰇硝煥啊消荨婘蝲 [澖蹎僊脈員 GNX啾)殭D醌鰻IQ2鍾[i 蒽E %壃°硪$b脜/銥o鍈 将#J刟網蠰?m!"贁м矖>稆GfRf珟4\示?藛碜i] 叽n+.偈7紡荧墻@a.x6x黧J鋦*醍^ T |馔W5訸/咣9Nろ槼巣藍Q󔯦魵浅晹菘穡鮵 1>弃:6岉 9X/鄉 沅+旣6d(tX初管蟓?sIT3q玣喯締 郫肸煃W繘乎\构D軠朋CD伍澖庌辬0d|C圅芴榕!p琼団嫙旧Ё前i嵙d玱棘7wEo哄`驧锛郝赨朶25柊g<鮺似媈龙5C赭鯋襄社BW>}+燒p派舸5僚M钠苩 呁啛慷蜡~a灧]Q灮%掀CアL98<洣<圞乊c厁豌貸9顂@㏄D宍痧l窦P3|/癆纤┣蚥U郺2Z 鸾<著x&$楋f睐/d矶鐂箸厑u;刭軋%謻'9謳 8?竰?祸/亓头鍀濶4貪穇轹轹LW蓯+Z聜岐K尙楸蒧叽繲3幞O (釸鶩A矘 $MHu=f_儽稂h+髏>藄.Z瞦行皇bR]设jB<-x雔顈0宥龓/躓5T睑x4柸<誰%艮塁? 饭虈J看V胯i蚥&葜顶Cd5c=7]n?餗 ?(t*f圃=湹沲牸藫羊"啵z]7[諾z 蓚0?27霕榮w翑镛秫Z|cO餽Nu躛魳琧退轛H墯sX锨I偆墳墮祬j媵)% ;Z2痟<鸪 仹轚)|栣朝f]bp股t..%S0胉皛葢揤c鄾滧矻佭桿6l5儢缆鼣cbF82%~7咫$|魗Uk%盒鯠定譔4Y:Sqh[黮Y醔%膜腝]僵$X1L嬔.敔((N昽寑3衮蚌坼&/笠/y}郲><憷fc棎/鮳Z禲鸑v蒴q8yf.蚠綾撉簙K +薱Xh G鐒懵珙l瞣2㧟噗hC鄕灩-N鯬vS氉塵1?u茻C圇篞袕g 栒7鎑vx缱bk=渉稨DpY*倏;%"憞_#镓北k:^盾粸俦澰鏔籿(ap.臵颽弌綈Q#鱴6r筥鶋g鋂7h) 毼c6alF-5鯩瓶苁;V%(颋cN 婿`#:Ⅸ餅\j>潒j/ |O旱3BX 贕疜cRZ鳤^i{5,pH>L渴圓矘<%G蘺W綍鱸憆蟌鯗ItbqcH滞{>;[3糙R1艕礌農L蘫4YM?&G'2囍?鱭jY媧某P儌Z鋙o廌梄os忪w焧/ +{喍铱鍮M\孶'毷;读怊-0Et駰屁(;m%翀熄 sb:r挛佝R铢螄X宽鹏 o蠏$隭╊玸澯x%|l娟o{V佱!K郀畔ဘq4#arF8:泺;隊D閾y詢Np陸*e>蘠刃) 綜(h ěY隈摔Z@鷳|eq4嶐黒鍹#┿<撁I嶺拇婼Pe1cW砐搮7恌礝梹勳x裲p缱$1格r窑E躙t愕阊o^x釄7^Y`斑役g 婩e襕衘卖宲x躴厢8暦prRJe3@ 嫪%K応鋈3(苦,碋噪秖衝 <2",嫎禣c-&攎鲪4%夑ぉzU椘桪4诌蠋鍺勞-芠鉩L秾駗>E`菋轐詷绠o|c-5Y>3H伩[騔痾团锦tdbB /Z0?+瀙竞1價>Od)婻6◤n#?篟g滊P敛獫=^)3j+翐畾:r}k.Dp8+a HIS釼 C儼袧)梔$9づ飑S'+O .隠e,+.MY宽:俓鱸?(衘吴y9馄汀习鉳W~妩a熱U栣!K*彴4t蒙 莵q 夈8y# BA|*翲茢隤y记t,Iy8%{巼P徑,廀董O篶覧疺1|!髳师鱾溨C搫$琌鈟!i"Mz19颤敦1^菦Z/唐P|0衘謝Z摚饔 W辏w⑥琦憑秭5>隫[之耔]m蓷UQ 4鎰 轻qM樉狗q垞儻蚸:Y 禴t筗?'#伖"喘zI睍R玮屶lH]劆% 舷乁&Q摠蝩訤匂謉槟爐*D朴2T焕哳Dy~帀7s*讼^鈙l鐥:鋻U雟雟滢䴗驝6 {琜胙汾R琗] !袠K櫃rs瀝湼K%h嶒>z矍w儛擖,E;VXFq鑂[ {-I{怢闧R泫E0嶊殔4损SM牪27t#0!,磐J监<煫6[Efn 6w敨悟痽駞!涀Y6睌z,~爞Q1?%u淗櫒 w岶松58c:mk?禂vk!)@a膜IT'楋&巏򌛽#N╓G殛哕I窑$Y+S'D踕搸趹礩曙;f F缐pt 笺[.饓毬麓稹.撖S 嵓骍%3稼瞛龋襬 s挦caR;842>|gN>翌*阍G瘡軼箬甧{抰鯛廣-jの%9姩鱰1茊 攀鱺鰿l/d;蜠腝 ,撃5$u)獍鈇郼崌楪勃2犛0pt蟱Z蔀\ 舿Ge]1錸锚!廱%梂Y+1S##陈紾b奁蒅@趀燬崁(87s犟妤忀DhR謻_抖霢/d鬑s﹝F稠歸p亲~ 紝Rl;q姏僇宷:d嚤qX%b斥総Z"猴掚[e r`嫋燽(Js4匓裀毂剏儖EG萝宑lBI$5格林餍r疑卢& 韊j?煮'2=,餟L IDATZ臒葹gYe'瞖R q.坯琠:G歨*腝濏嚣%v摒Q7^F鬣磨$依 $瓪謂lQ㊣QyG@,P&菓緀]塚K0M!鏏豦tuc A扌^)*1$ 枣勆I菓蓴墆+5~彄{絭]鬌# >毩龎縨8秝u禬袁[ 崥 复厁x禊Ys顂 輑}嫦帮断要闲7糓鸐^=%0T屨O翙]2跻傘/疁7錂r裛[膝卦bB惺!皞踮*=%啫檡)al^槳 仟閉淶俫鮰徿]哳$ =Y⒃4 蘗碦饎i?讯斐$+嘁$髓uz[痻 革K軜g笈痓~rS偆 灍_ぷK侑{K碵旸奈?F塥欑n 璇XZ-!瀲x!7/PsH $UG酬ㄍ:&g勓荓 :纚8Y 鳍J9e'M浅v閖/p谵淒[+牥<㎏⒇/hI& Yo~鮕蟙d顺剔埝墮丙9绮煉]啕橀 腋 h浤 6XG鱙/{"OO兮P|惆墎x綻 4宱IbG az1>-L.?<袹錆淺橸Pσ骣"罢h黋徜e&9蠡F4[ 菀甝f"CI訄紨憇熕僿~蝋 鬟烐黽8凨c8礮//曉!邬5砌捺^ya匏厲r2_kE+缷 u鄢髤(-:'孫鉺)泱;廌_EYE'挲B乯Y<趪Q蟳% m眷篂Rz族a珲峔鸫 WV%雞 頱擝'i奒#%t男喫?x+蛥 !萕t C諱臧篱^;狂荴胙琋趥oD)碦菪熠 j﹥谹1#噮abZx铇c|N鴽沰刻墲A鹸廾"逞爻=O婿Q瀭砃+J=k轛 io蔌Y3薞昫Lk4罥蕷-譺囝肸熓狹X阌aAQD槦孛=唼s?腌靥鹳0楖猪3Sst=Q和T汢!蘓吂槞苂劽懵CS巓=衎l两M^Nd彔@奕脅皈SZ欵功в漐憊嵘6HゞD谓騡2綺P獮爛L#捀I譏&)) .嵏鷱痿雫?("X?d適鋂{ H鈠唝m橺/`~b/铢?錟僭o蓞P 3=}絆5a&LW福6 紮So i譋,铠<K ~ovm踨)煮澧*~P 鐳:挩4=MV閮w `貁臶0謷D5纏亲䜣s/3a$誸涵e&権u'圼 \8靟沛<k$扵h$Po?軺晪_纩䴕V}鎷犁沿 ?氠w禍HP隀馉4朷 芘/鷘泫y偘嬈".虭 巎SK橒搀{cp胑 焳 s搟貆诉除倏H{艒,g苃3m猦H憋鱿蝉史Pe-D屷翂#=!5躷芭Ea0咄桀 =瑄敱t坋L珄"lE干晦椖ぶ撞D&v坜徜Y尼D吿TB_哩 N怺jUV莊⒑.M;!Ac4筨飹(璲剃As垽<瘕向⒘毁|n塨5辠S钏Sk6~sw鉺{'沱蜕鯛嘝>瞖鷛璏㖞抖JP煙8裘趞E&憤~蒻鼋,)衧z盠[S叽絨蛾保5晳骳硵{/馿+絆鰧05稕斂炼5!g y6魰 =%.9忙>煭冡纴╀変型%峮彁霨A红F;~禦@姼鋡砌}镯儧.+w婛唇に<Tk跻蝲N鼱K&G坳{ 諄\8B:商邀X綮g4z&訐}c淋<[慚儢.Cw傩]皵K啴播扺爾騿 GB.蝝斤h鬝便!5衹h涹$@a鱩仓螰IT傩傂&B1?RG譫c匕熔%(徳2<弃埶*5m仱檰歱䝼?籍嬃锚.C%o,XR伄tW 聕1[僿繝卵iy走薏'ZZ诿Sz:禸<)疰岢痽y2筓⒉椻$戆閡鳱禍巊濢gl*耴KDfqf鍹滽+1鄗篎.蕯3=c2嚌椰NL咛3 8嘌[4<|餋C3潋唡蔈CW扌UB啩 鐐z嬜-んú蓨e/)[1 鮾/z笿9趯(B矰毈}>赋}糶:恗/i譍昇c繧1栬-x絒s艓蕞1Y鼩&趕#o籨5-V建礰遅騿BC1=轹9 w鶠渗穂墊漺/k+甯鱶譴G滊喽沥"i*ね樢V}鲼l-S麹<"隦慖泶姐挄9~X$0? 臞?5V旳讙W4綏&I.#t|+<哙卄|,愃 辜3聰\o捍=G饣境狂}O謬d跩i陏9通蕉Dx3忪L奍3,S7=So=陹騞"穑諃v鞹涺G獺>姑樛梕3 pc=坞]燶琚72+塦=媷`L镌2X ㄗ琊脇F饔餪b讞)睇;t 橤u$( 6vX遙|X哙辶+xx9GXr+蠾鶭P*l桉圑 猡#洺 駁聻h擼㧏`+J鑽Pnt瀏炘⑵滝; JO裭邰耤犪A`"(跧賁馼歟鰐茩5$G儞栬咛簊P4媛&茢:Cy購 '袏W酮紳脂唁*? 剅Q 鍌s麹信[(曧h]瞪S琯纎 <3p頏`ш)C徏o饘S弲4UL"醁-aH鮽輫f瞔(坥萟銆s d#身: =樑 !$m弶簬嚁65,d@V9闥埘T'敽夊(蚦鬣m{!i衣z!{no缓L蝺D J厉跾4;%製徫 盋C.昭jS簇粿滦 桲蓞東a 假V &N蜤孇3,S愕 襴:P雎酥鏧U蜩+B0}瓞i熞&N((84$J 蹥1踛0]K槰4! 盝4篨=濳q"=I:1g悄褨1b; 詬yk3梘l&9.违葤瓃KK菝谭髿嬎|纥+呷竭锛篖蓲编[宖驄 b濢油盐`X绨舞kL蝋|< 臥饈嬶;#餜<^Q#邲x 訯磵鷶b?愽o <髞kr\0衇4魱燫0C( 9O1$匳q"D!NtN墡f腂364鈥f溆垹C .iA{t膁4;棦 Q;C_,iKrJ@Д2>x鍭4)饞∟9g(勷頺}境鏾wQ蔈(k =癫盏\ QK皜誦拃梻-90!蘃,6 J件鹳;"鹁熠將勮=萍 H竞λ/\>蟨彙筏䲣~づ樾S/鈁 伈館0ぉn~KRH拇'Q拓袑匜dh腜o 等靶jM樄譁}*7矍1J朠钰y?嘚 T/tV鉲(充勀桴)*秒.)Q*妝C拮陆1/k$┚&揭/栫)榏 ﹣仃蔉!Y冪 ^-饥,%ZVb!N咋9g婢%澜╬*t鷗毀纇箝txǚ鄥=籬zJ昂0豰璇核朖 騳Cd 伂緉〕钣*M銣苃蜛 璂圫j+唞l6刡 H3`M萍W"芵圯! H柾渔勔)苑忦1N{= B橱揆朷W濈wo|辈獢%+Y秖儘疗L芃M40有33M歯h穝俨倳cU近n:5瑂霑鍅R㎎RIシ>:函顊鐔s謂{呥霋驯[懡[V怘;纎rRT隮譖45|ctF4S旡Yg>)┝:l豯]丳繵譨斄f阺1鹲兲ヱ購*霐>r萻x⒉瑙wu糭頃e嘊sp辮伺,-绘 3朜 具 5敠谟鞐覡 鯰<癋-媑.偭尝~K;螀>侍+氃'穔蛹4誨=铯厱S%M~Tj禜vO栅锍r噛张mJЬv;秊=&2焃攮順n~m怏敓t峇\R7XY蟞*0厝嗯/0畡鄂鬼x1軅.m鞗A姿sj*彠~佩黼_v(2楉瞈呵r藖祟y薒咝閦D:鳩qPWJ{XWP諉书姱滯\9Ml譥鸪47S髱埁-j菾p滇棙輘譄以7*8N忠5岗by*}:0蒉厯OWc戂咚#俘暷 颦|c*訑> ⒉睮茏㈩M韺埀瑓雷NS;醌O~珂[9永l j0惊硂犿C?袇鄢K亀瀝_=P軨-槌炴駎草v框+趮W锺8杆r鸭aq菩Z-j+Q UUE(J祣u (r H櫓誔O苌 8`S覅4譾醤ほ鞔塏/垿燶S鷏f7i]N迨哧W>5蒯$uO銢Z/囿鵐(&\36乬冒尼T鲺=3踛q| $叾8噥zZ硰毭髁郚諤7V塯ECm鬦M璶 ^ ~-晕鈢0-Q%祶薭詹囤唴9肊髉賯?竀U|!o続曯婃逩x |+餔/馈< 鼮y鼞杇$覎o籍;{p羠賌门 荤-骄!j7$焙R晲鏙1撴BZ@扐褼靍蓚F庇燗穤i8w覐C 奟樹0Has⒘+倒鵆镟騑}/A躱%j嵆'麛0妞衐輖16J眞Jq燜渀恩e譐禘啵酆'祀{\鲍g0~oJ杳+/嵏|辡c"鋾鄘問/劻詝羊P桀饘`"K`浱ncm 炗脬;鹋!K0闌暗.8WR 囖]颧霗2h%5= #_ 紈沖[t ?躭/6g贈鮔%}姿.j皖3\篬徑,3硢竗盀琳B檌錮4N肈e0N卆 瞈葲坁駴俫 菊莍z3ST}籞4愂(\@Zh攍伅饥脓?/2鯸\a/i歯 跠蛲鰆6| 雰篖闺憧媑$赜n脱z拊w諻<^孝[j鐇=Z鹨"鲻}趤33F瓠鷰諦;唴訮T7cG4M[∽玧T'! t/\ 暓A\!'嚄 !-疯d衊阞斱g黡旹7?昼tr0鴎o~诧{獟^X蟓罪98o8竓3o櫇1春?2璙B 銘岸),o8V啺:r R<渄氎\澰d0蔾F#驆禈=燍朞浍`mc]ls)恤L釥,參馷{懃5咉﹄<葫|潺 /}?h悚j溁 俾 漷54瓌駼9莤(徿7疼 0={5O騌w坐悺/蘴,o.nl慺搂晒k╂狨'郰洇Cm7'K-趲 懅逍纻 槟憰Z "╯龙Z╧!Ka}蛁l俦荊5ňo74翪覵粂拋斃 鯸潆&嫣橛/T铱{蟮]v , }C痥堐 #3完'0'V侵劊k买P豅`:V5LJ'hs裷4_m 7蠠oZ 盯㎝pM`厖捷惖存捙==门!_zEH u&2^寓?愇>fv_I:Zf件Eg&G(1辅p齦@QE琩 齈/婨O鄈尸(〃 E)ぁ矔xV}Q{ o銣a3卤M1/竤9椑厂 vΘ-薒x狝憃﹃隖蛃q$僗凊u仴┌1枟劊芚dNxb+簞Z'褣鞴*鑄﹜bB釗2U姻弩%6,鯼緂鑧,Q b現鞾"ln:幆 , -爰鲼轁0入 .稓蓔8儛 が絀Y7& 灆峾蠟LM!k刵鋛x-#f;咰u踑 3J匒Z2緹Iq|(`X:謘W鐣=}k味駦&p&eM/袕=蚼ZgBQ 铬褜K鐌^|0$ s糈 諞m喊k-F|84KCa}馓焢t2譶-遶C0蛦d$F[ONQaOf86劌u菈 莋嶵犻'R药s咼婃Z窊1弎锽,餓7澤汷曯]/檀a甤璺 !堨覣^8咰aiExh神 菄+竗9 |埈乄O訥>=椀屗zx 晁\W|80tc肂滓k症6N匢&孲+8(陳牗ラ6宺鯌嚛0,%鵝鄽瀪溪_4U3C$pUQ:嵯oK-/l浝00鬮菔g趩齭. 剠 a#1\够乔硒絆嶚梍倥Z§B`$/n^g0饝羌主鮟&呅 搓觟11蝎 龓Ν瞈菿M崟扲萺 买趆I对蔕Y難3懬zV图}a1欽 Ьi E迷Q9蘽nOy -渠9K 截鷨n qhh噹盘p旬魁1墑飠E汚aY針鋳mg◢毆 }Mq0 1瑣曭|=+翁4鴜iQ樺U埸z(]秀妬k\酚)溵襼侙#饀醴#Ch觢酴昂 囎弉'慫鼧譼槧甯1獢欻*靋撌S顪)b彮m蒾矽啑0訞$! 5另 D!虅Vf(_C qcB邜鋹流 B|O鷃%+剡 )碦)捤藣{cX蔊锼x1F(袦i'椎#S缽慷躯锸鵺0撞|mf塾C P讗UP壭1 媉 0J }`騒r売蓴2騆烦訖(鑄E觹>7飢竑w'4)F獺M骗!蟭醍峋嘞鵅y硦:T1+N-m/5z崞(鬁呒~s竫捭权6x痠l@ 8蟕<+ u┕Z媮\舛R鷘々%礞詒%p%?闧m7=N鎵+i^3VL繫踻嗔1s監]鸐*蒕; q胟xVq /8%C睷Sp欰$4梿紕猇鱝e l屶>;"粵膂DVIP帽$鬳餎b傳9,rj|n槦-瑻/d0霳!欶o檀DF[[1lq?宆sdU偿碨y+簇7|鞈U8截缘 峟 凴 暊|M*辴赂郦坆Qk叜鴫丯"OSE链飨▍蔶(餞羘:蒯揋&矠嗘%E(1l.纋Z×o圢7浝╜ 牏鴍!0:j |O(k-j 匊杒>p庑mt駾7簯 ybq慧<簃 爬Ht繬N)箿N|鄗*P9 a`Ty3@3鴣剢VS})k伃陙牜>4 |Z6潀Eo縧雁襗喤炨垃曲D-汀[B乵盃謐5豃s瑸裃7硬靦a谄 }C ee@拷k5].’齒b Q燪v+刅c鶌署礼Sv鮖a<鐾t各搞鳔芊枊o嶉>&穂婸詭荡]旆9湔>孰 鑨气等郀┖'C4N榥骻r幅誳溕鵪!O钃1鐴惒"M兠x喐e榈3钄u宕G摰n藼鑛ps.徻i.1!/厾襤叱汓t[v曕蟟-<5|倲40By岒niK_'fR@+凒j獇K窡(橀D祛Y_枘p虳0悴5-~湐沛 絟巌鄵⒆照 鐨:(隁讱燪)9髙粝穣䎱勿撣泫ZRQL錝魭PWBU;闞bi愋S耐袈潐觺.+塅礩)|鶗!,W數"Ⅸ|'1秖[冏鋥=O釁a搨U(->5噋脼4?摬剧畷滜 RE: j乕慥.唿Y艃G7KX 僒XM*芿#(an圸聪%窔離*娚C崘窍簱峇媦g篾靼誃騞屓7燁3I紵伡s涚縜,疝栅&蚢斃`,6勆@H6卨襇G2pぉ鑶hkI陀逩髃q麆a箨>/讌晪牺l饦%Z皝^èv?磰 饏ㄩj岰V;嵚gb 犄缽o鎁r凼剓Vr騌! 砿卯踞<M]>鯬*w晴9劕rC-赾瓲4譶對 tw*衜=A 髓 %T閱ē湢]⑶Q顐坌鵤4垓d曮檺韗蓊X厶j 智 }Z]蜁) 6德1I叴b邆r瀪r偤嶂★池3^)+a襌 Vg呯M鸑s辣hォ UY_)竽`鄇扬芙朧5咧颬%B_vi藎D鎇U硖皑?0 P4繌毲 轂腈贜曂 莋K岌J]痿籡,n冁>畳l猿3鐳-櫁袎店T柭8佌 且Hf爱牺js)P醆狞賛族罍% 沜盀愪喖5H*2M廨M7I]7堄Ve〦贏酑P閤p下懦!o籔+【薜密輢鱎u鮸7 !掖嚾捧暹*╟k栬qK団U炚 5埤b7}鷋r绠n咦 嶯qU 巓 '6<萰许(s;'w/誠c=F3B瀔U7鮉 M 饀协幹羊b]AhXG喃汋yx掣4M ゾヲ懌v 嶖'拱6襯'{輎-玐③1tq熚Mz>)姗岔柀掁鼰{(nr-媲袎歊]僁qKC後鄺褘=鄼话選髴{g趌NTIf2C苎-蔻9M銇阛=0語蟢!(5狉=!簟{邅bb&/|祉制煳怔n掋朑S鳎竷i汘欪欑Z;r迗|Ou 痏s笱麰最Y6@!?蓞qk潜Q饁蝊玑17V擔唹0I劶闞Zh怽謜"-U蔊U喖h鐨黦+廪鲃3囀ZN7掓g\/;GCf[諮N尓#5)墟(jY煃A塴焹=yl殆鈺礝畘b6龈tV?痵陇T鯘栗溸 >}?驖僁踁襖╮僰-( 哮`EI羂u≒0pDˇOQGA摝騷竏.嗑誦m\{靨e-?爬[侘眳[F缫鋹>阵NXN噬O&征&紸w匏4>凃膑瘱吖0H磇/藚0H$Z琸H$毿 E腼乥鼏(鸲0劄幄~纝D[vO 鞦唋+噃Z楣昼緷騮缏窌谦^鎥6薵,xa0L刟b標.労2鴷颗pb=M瘥99`趸=妯 鶠鶈罋~"綳IA時6$:'纰l譋z枾\秿+R詒KZ 乤"W 2剀0O!}^肿颟鏜q笊株苙痰|P;黿q獦S0鱯UA1ff熝r<讜f0%<夿▼&%炸9諝т鶜OUrhf定g"`+煶树嚷鵽沌簰 鹁蹢r乒0H劻3*W5攱u =狾j璟XZ憜ˉ岌j擩9m!瞞i齦曯9学[嬡慺皯h0 洎N吅驭6D﹠^茉鼾榘渾麭8S璗猴(征3-=I掮;鏻曯賒Q 'o>1J厤1lN吹9蜁И*牣螇R4%^ぉ&坌 9@螟xfJ肯佼冔濔\哳A萸V掙$囃塩}" '耫㈠也tZ2uZ壳l`7=3U鸪g秡ウ|N投駵gL~騮~醉诊哳 EIk7Z樌鎄詺&&T暿)Ct~ a 猕i?鰉+麋1螝g搘髮烆I乄?=(凵i錌P)倭'頫e缕Dβ8u$㏄孚W(З1 ≥反:Jy诘檑&:羺p櫈攍懅嗟?.敨过男睓(*$)G慉+c磮N聳!灡t{唍簃{播圳-铥磟產A蜯"縉'唼4藉泮拻胬/-*I27Fa扏eShCC6碽C;唙爙鲇嶳k爐夕8窆+6縵漺(i墷tVLr%褛4 E襩鞫翚嗋E:{>倒.J跿T~鎡O使踺麻4铯 EI+qTpd砫0Q遲3&#I<薛Bq⒚h 鴣?0 3砷 跸1(g闂蔵:DyBt諈ⅳ耉泌粠 J櫚6V君Q*$⿶MP4SZui)q 魯<妈lS呆ISw_ r鏖{瞨6蟔鱀'^(J 哄&ie獱隿$⿶>)&B旴)H*t紞8w(.訛3a鍏<褃$覝凈叅ぢV{镗>w"O2X ヤIS! 鵋('PL2奓(3∪祴4+ o╯殬榧礜淥1吼呓童?,餋OⅧ沩旪孈+拻傶+N鋉?癪皺+#璂!I 沲歵P搹刲(3璍%0L\名 yi鼅'緟韥锌% wS |6琬9脰敡敽鶼" 簔輵a襦E3羍獵QV籔饇譸E QZO勸乇9枂2rlβV'老澾痶夼g{E道6U猰鋠$eg築^聍G&+莅笋P|嬥╦K9鈻FFY"脩U茄M球H雸骳灴才秨)痾2'\圝  氞奎CM*瘍1BQ$stG*鈐樹6枂帟慴R帊Jv^可矰L覰.)g2遡嗫炁{?/湔;罣_?b甼榢C/謻慫 蛥Q视斡 V擈C<骍D> 躼啩鼫w讹鱸QR梲贮+礃m[鈌'Fx惨 I/ 蝥=雷燂齦棪O浶耕伲纚 |x忕搾N=起u罪帣=潠l`R:n9瀿Ur+:贷sGv浼勺穱撑xS遶<蕍&;#O 皢 儆#瀬Nh/*jy3:E2A9lwdGv銪懇!輵f钃>鴬KB鶏o煏髮\4;t鲳<儾銘钊*谯般> 颍醉>䴖閣qpA嘒-秨螬噴++秋濓鴟 &#蠈鴱^z苺)*憿v驈繽臢钊S#嬂汍橄缉玫}_突?"b竡腢{,/忤赠:b`=峚0迼Q则[揽8线9);唗G蜦~ 迀M鶿核皁夫kx63ll:栔泭|<册铬X翍A;淎巧骪:纚鲷集7v搁趢N釾菗諈怤`c ^v躽T/{'膛W/\4o竢熷捿=ChE桛 翮,~<訐乸鈽泔铷y乔 产[鼐[hG稇C#OV^ 痠W嘰断p衽3=猱翉t&v6齐0Xw,/;/;X) +'縶x饇)<#y瘙飝y嚪4b>寐>K|銾浰巼锆广-Gj辸oBQ򮜩憃1F鑵嗇}Cm剘lXh[v狭柟兊哾 =怿蠠H根h確b绂鮩肋溓稔湒C#OF~}_哌+#f粏櫘!姶1 yRSB曤8L)UQ乷i菃~靐1硇间g鳍启X蟇戥w謡觲即n堌非衉4-g(躜W8顈告瀍莊&t#镁Y廚顷Z 脡鼻鏝E`M E$.漈_蠢tp;皤@熺1纺谷!}z2鵅钨粊煑Ot鲵 5o}蹂璺 澏6+ 鵇崉I*T昤 剚!ni~7k8h,垼狢乒乎x﨨擱j诹髚抩搋奀↓蜽垂x痚>锰!ld悗獹;町5BU 徹噕"鶈訷Z~戢za槹r'蔴簁弃绘≯稙缻谩茗1莧o-啭譿O~鯇羡溿纰咬^f衐鲼}^?Z\ Y%/竰鋪"A邙鹟儝錎1弙庶"鸾<驵淕|O'd ov灻鍴X8啓6噰尽 ∽z}KB豜F贯鍑B巒V痎K隷~}躞"r駵?龁.圅Y 碵/云"F卤脦垲噰+醽 糷_ ZC7俔=肻莁C焀^裞秏HK埬P9橀.f鎡&dU挲胳趴囱;嗶I萅遍⿻~s№聱玔\瞏;k璺 瀏 ^殂?<\鹳Gso衢m頉瓸 鼚缷 8kM錅t嵙鲗閆k$傍5鶈箹g凇徕9忼s橂z1摹脸喴9 ぅ !痰 骫寐宎秓hw,寚卵梽O騚芣K{{{{{鷸_皗0)嘭z蜔}&eu>|;樢'-;镾#3o麣\愤銙=喫z燹ki鱱vi]揗ae神钂憷l蘇咟彭色W'蔒! g(/@}= 桏C蟭c呤b'13饱:%魎咃锧5! 5盕< 蹜趹(*!痶'S!-tB媑uQ q绞嗄`瑤启C圔hE柏鯁.裱茱w啉騅媒a入$鋳=腴1j躅艘戞聏,ln 'VG杽ck幷夃{哀o?"皢~l榢1D81d芄T虍跲N濊r裟╚>1獜(娇;蹚^oA笥囐1爂-;嗶⿷啚y蚚nhs廋,锓;d轱m礟ua圸BB橅9鹥`γ#k轃烬懲觏/6锏|+闡4魧 }c{O譪褟-槚唿靕2癇鄡邔:^d肜株週奻h嫺啯輦ak{閯4d%$檺$傜獳( C-`喰7+y%蟚虱Y斾{憏罬W勣[^q觰!3/ 蛾u琳 B;芻a 汣as嘭A釀v莗 襊遉验M尽@潆蠪# 躻w羕瘓YKi!W柕黫Yy%$:戸矕e' 邗#g);↓顾瀥朔鲸 Y.Z办輊YX4t,q蟕}p% dG炾葓<兩DX栕厱慶u, 算W(鷽亁&鲐埘80氤斜tB觴: 5 u紘g滶嶆毛/]鸾&猞+-Z3嘅>-冿凊>挽:\ 盏雼T镠鉬8U#殧欱1@潆孀 u3 |絎er8&见謩鸙k决6u%TaO遰p烈i冁s兲Ms魺辸蕻 ;嗶戾-厉}佶1/<0邇C矾tk啗5洓08 JмE;2t[G,衜仩窖蕉鍜艝廀癧f燼0'?5欱je< 灟9IkP5苃(n魳蛛4v煵 7UL' U)詴‘ 騿G!+勀j榊 浈琚 丁{螶! ;Ry竾'_鹘庹桮捡鷪索z;哊 簘C籵h Q刞<毻H侫尼滄/玆(3(S漰&B2a2両鈽0握(&卬F鵀鏀;橣T烰癋懲 '噫?5鴆t枢藖z娅壷鲪~%柀纤線d菒灲|i阌kA痚h舑阅AY ayUXh y C;z薄i卧驨:咊"璺l蔵n3!娫8A鉫鶽〉V瓞>鐊M1莖vf?孢轤月赇諁鷈菒灊,咴, ]K+T踏垫ぁH6s6坡鶻豅吋Zc勜7ZA彔+LC穖4鱒诵jk-尨U畜5飆旌i鈖覺Fc阵脌1J筵搮$''鬅"贚浃 BE0╧B"騎蠡i&d筆攼e=a0甕W GQ冪>6歡E"锑:^唃,+鬼xg"﨣`途oY嫹8b緊閣犤亁z芥 嶇壵kY謿髏窑A*∈爈<衛釮&h>音(&规棾RNz锩T竰┼緯扐>媙47』?=嬶鷟{趀菒灊|哂0梭 U-櫫9a覍g J 5﹨艶+缃H骹~滓kY鎓≯反{啺A~h熬禱NCpi抩8Ml炩n6KG8]溠倯鯙jC] u躤%攨z歽3M勓4L刟憴^g3s愢衺贾,-0洮漍cec濁p晇後驅頵闪嘮=F叫y=(*猹/*|c嘋{,A0尟岷駦R氲兒jR%詴PWBY4.$&ca旇1h鬭襵爕S嘌A磐Gs6觶鴜喾y阺;F鬷Czv"蚆P盒駼JY 飆瓲朜s劗1n|c萲蚒>谋臚鸣&滛C韛1>獩茞:=p阤馓Ic)"H% OrF驖[撇y.d#橳MV鴇砺9H5{蒷噾V1洨>啌娚jJvx@=D1甁垽`6LQ蜩便靅鹡X鑨稣7^鈃瞣柂﨎c+ 耕>y9u(神?Cs灄眍[鸒_真7哱q让FJ1zM!oA絅4灮沮蔙7U!9攳棡錴@G塨kG蟩i悴偄蕤搞DNZ瑚燾燥>/#鏞v>\%( IDAT 橘蒰7鳓祽c辩戠P膫W缮}饈!靎)豏髰uw宕(S攈榃y躬労6x礟媭X 照荒 鈴W6艩R=オ騆G始颁(皂T睚.k NL&l$悰.誶鮖x~WoR%u橰 U>√菙Wg鳸N:z!D:绷羘毗Mex g00{ly鸬[1唗m榽憅}橝欢 肌橆 菌鷪y靁办毞6滦郲豌⿻ d Oi0県:>O锦 扵换F欐7G檰領& wiTO钦~"J蟏w鋦藥!=;﹣o)j瑰鲢 鱿zDヅi╛桞鐲?著鄯+啯0傻"Y-孯X漋秼跈#仑傰浡愑N┆JS7啿>i(k跢鈃詽,+懬4缲h朗鎰嵮劥,p 犡OC冇兞1:W醆壂禍o\E 眜臑5韼]鐘蝿f 血Xc欙x<<敽>袼 剂駵荎/y莸!楋髽橲EВ藜#阤N&" 腒*)*∫鸓蒝伂取( 蛥,僸甴孮D1螀q巻餀7焈蝁M;汛峦绐;蜢@煽瘳o贡 鰕蘵 龞聰VT夋N陈0洨傂7&頳K8輽巃徑狥豘8++室P薛戭~捨!2o喭2di}卤昅VgL矂趤H5V*,5々i{幮 <颡&ep輙-橄峽哯!kG)羰O憃Y煍d5^究猗y廬=K;2啟>馺聋钗杹雬涨刮{9颻|C7箔膂剪P萓{<2滔鎔-碯 A髚NB AR琸Z+e澂 E(h罤颷 U0げ襱M^鑮KKHr樹N3 婮xd笏y]:鵰噙癈r潦!=w%橡觃zY+. 丁"_;Q琎!蓞謬纶HXO4,k袃孬 細8餴鱢/'?Hka?呥ee釾;6驑aj*K-喓.▼1U>ぬG旟Wg亩爉+B超u-什l擎渮mQy鏹5哢у龘鄛h:Μe3q涿U甕ül梐邔菫Ys蜺諦Rㄑ9)&(wC攅j 女蓙愲鞜程禷~򶔳t粃碽沑瞞俺阇kDW y!d L坡d兗h*飖訉8箟h猾藜喖偄pdjP 輕啓p搜岥WKj缽w>Z#鏓v 楣|军妳纝臮-猾濤S (驤酈壈27k檹?{斯齌&f=)g)摷 溩 粁瀼5 u卻*┆満L▕ e慞 Re亩b.剸绨6拏醦LP9)7磄 y悫I Hr UG釩%n舤"徍i@諶奱8蝀饐\稾3遵Xv,=C7苴P蔎=筈闤GlF譻+迠堄橠eN檷茮嘫z3L聽紱o|Q菿.嵏2熕鰕-C穔5@熬槅@@储16`s岈躒蠬Sl殺薢螭Z0啯3G 8Q拦撐烊sTv 镾'?.⑴^d鍗锥蘒粆Z懶5芊﹂舂` 亭虶7+p褧/du噶8A鉧9Jc0XD"祐驮%R椄簜耗w%礆辿谋6dN哱筯橈{=硸區搯 O 眢N劻D藉A獏摙傏 弻 ^w巀吠`4+#畼┵3t"C'6鬦j牷0灶,J伡P间 >莛麩p痝渒鉋N礢D盀2%z鬡謴逧]L噙䲟.;dウ層v泉T劼x$l匁伆16&皺\朆-α覟.^帍j>鼿危 圜w鉭N輛,<鍽x `a;嗶閼oGsb7铌z鉴@叁9薥垡復葿G^ Y! 莦飧鍎G4粐輘m蚴1)3 鞮蹋M垶瀜x瑁5:雦y#%*紁7,蝀{唴產眔=o槢5谋6LS8W 1  鋊"瑥c5 遤s@;v]Q(碗禖mm崅-吱睼弚0亶眂0亀n虘I^aW=S8Y毝cMDAc顸?h汴抂?萔鴒?9 /蠓VJ儖2a4謲b= 僉S.Y┻_O jZh○〉倇朘謷:G~gP潇泞慶孊[(2&Xp4;UG9X3锘'濂苟届k甶q熏艁!頪z-脇[X銥脝?穷匶f凉毢vM鐟V誯ЧJ蟡菕gU[*瀋#鲽c炔籵僬7鞖裵{莓フ3绷 裋W)隊虆2U"逅剭Mam鑈趐 [)5L霦宗)n殷厄膿L:=+崾=-庈;a紐斮軼鈂誠F狱g-膣辍[D╙EZら 菐,膯~4$澏眆0 蓫vg9濉偙0?e#〢苁欟n 綕@3'^sD(lst氱 =[Amgy縱 橛/赐锍繭o$頶3摕筳W纊瘞h厗衂-浕伧?l﹄,o +iHt 3D鄖堢宱汒m =謫)q=狷朷3/鯼岛絗杼Z.1鴳G剜; ~粹7|挍,y鳧M;哤^颌藑鷳e 囎j搦駭2鈛W4]#愍睔SQ\l^∧諎 &宛_q謴饒訮N矗何┦劑棯P,5吨)騽nぼe_9蛈R@毩0卶凒滀lf逕皺8~]dO$]!篐[拖M賷5扔k杨譻撻55陏vP趉~嶲{7齵囖珇髎鮌殬搰k隨~炥亢9v 3,>~曭藡勗h袔 骫q柤襭3/叴阠決≮i\ 云P胋`糕R廋媶喗3唻v[v锒T>:>zk蝕(瑰 A卯Y恕_{S򲑆婊咴"磫夿A)鶛湳.滏焈囝Gj幁 qhi枇磯敁KHIYs匡;0润汣Ju_戠>jDg各{B#v瞎厉偐葂, }i怆蜡o┪#~趺媆&鈃X5▂頗V*1嬛]w┨-穫$摡!I d氳鐱省箶M7::d摂騔酪崟vX;賘/u爺&蚡zIJZF.斞豧4爥t竨v鋏?&H3b段9N! 4qh塁EY釮墈P"7騵_隄1怇噏倻eWZ1{蕫f((J狷を甀殩f妲-Ё 蝓:珖迆m丅^芲K9M)ql 袋af凾J牲j-E侤饓'淢眄蜿MV^鵭;0~叢&E咁K鐫 澂滵Ou (筻罝m煂擱(r-_L980S 閾漮(淠Dt)})兟熂>*#0鍘J錵p齊勏 润4巰h妖䙡侌 O2澺f橥PS$]B>鶣鶵~b尔膫)m哟EI箓7^VJ鷱a @捔jeH"欄I_6uW+&59蝑DZ瞞E;n润隄碧濈烹4藺I!輓Be0=k_蕘檶_{M+Vh剖02(5q銳y罊呍光M呉$U訸R焭病緎X縥宦n)溡4J=寤O4篶X>箻1绝缛b蕢6nt弍a錙"拀N"%a蒐.&壬殈?'"J< ^>隷卬呧{ ̄䙌)熞m稍懯♀撅糉} }icob炜诰茋藓獺A刷櫡锨 泎r 聙G幝馛U绀斬靺乥tr娺{斩%蹓d屒2>鱀鳑u~髰e謳D q^攎朘u朔锤~]"J0< 灘矖(杈 嵉$夵> 玗yo5!T柣簌 蜹43涅a浣琝i/簖J;@韖櫓P愂蝈q阑舋湪&d贫?豷筜eoI31靴J{萌 阝麩J鳯輌熺栵総_铥衾磴\峣6RA铉蝴宜 澷{鰷j_3斚u踾n&*+挦庱2R綠憈鱼rqw翝靝]g睜儒q鎈h礐罹!G璶鵁?盌9*Q 愄皋扱#s极D!/+旙鋅A8儤JK>卋ruw7髸鏹,ft錟觱凰H; 狜隢嗁al!β@懑床嬱仾-В烇{O犩决擦9DN獔==樻U韣i镫%p縖=瀞萀員0u$;=K*覘>诶;=<糱 綽4]$欖剰C-zW{TZ丝#K>儞B9攅l漊&Z;L纨H-峟绹u榦韒髬[徵o/p槳覿& <{&e(疿=瑵s摷R扐經K吒2IZ殙%hl圧Zia暳Z2馃*╙^@)媢汳eI挿0.5'鸭'侭,迌e/ ! 舅'k驽澐]iR刣楟CX蠼g踸?岎%粭;櫈?钷驻厊 W躓O 鰜2~麃C?艼"}e稴>马爓冷@4(庑 奠u)蔈My妡ryE*绋/5`SE植[朧蒡戢b钲<~蔽飢v墴寒萊C锬糰菉坖*9+俗BEl!,售!2缝惌楰uY"."?稅2J郸鰍|飾Y諞H*g玉r浿嬺qmk厫睩苀晀c<疓"鱾 曪/e勅X讞 悶 杗!KGS洠 攜鱷佹禑麓_jxp魙O鮹RM鐹諝t'焇pb涗齒漎88沑W e_}+qο欗1薁3瞡9t>湤槆bIQ(*饧铎襸u膷碴d崄瞛電6洙詰9魵 5塤胠E犄'墷輶鷉KD锏猠af- 'f-,3UC#Q鞜儳O7]s 雡綁c蟶憴c0炳&偍 閦(%"@&棸Y銃潺潵 城荶驟 2鵟i坦棗2 r⑽!蘿吽H}浢僤侇男8buX.k悤<擃邍荃]^熳纼~DW{陞麅=棦粇胅螡z鸀砬> U|龤FB蔃v夔\sèx鶷B+弟=莁I1怶 吗佰睘骶湲噳#j2 2 /蜼]6[NW 'f,N蟈N蟍v焞l嬞"d搐、w;證eF鸁蜄&Zr銧諉+驮題綣--7+w9L宙䲣z4W挎_(鋂t狽韉母咆 摜(9s;渪霁3靣N|fTGtIM摋D{3L馳e伋3L_婝烆呹8X+わ-羬捧䞍wo磥|爕櫽憎(淦[Y箖,mw鞑 ;F_x蓍冞撅#-踵言啢寳礷8b激Y5pz佯褔芗>蔡$QX蔋_训CA "t戕J6撊%mYZ-h4澺{覴Oe齩ǘ 児=>薨+省簔e藾Y搹8U亀Jk唀產;昿h6A﹢va硨S线茄Эc&7蘼哴o羋 赯I 甗Ρ漂倴a嵥F!i詷:纝0_)綷"'拝N癸^|剿聰麎D7n湖涫c佚摘9皷4m燭@嫜:砪q捧o'm78s鐰踽菫c錊瀔W鍢(J碧項r(R剚扎庠/雭k-4,砋肨5謇\B祄X7鹆y鍟 五潨*RdV秄灋睺[枔薙侠貁⒏D". 9嫥y昃?"?0沃;~ /L綏99yU哮奻m5a,=R,Z)N閕}吽1 R.V栉謃L)+申韊z柢媑锡晓/U顿 -$擊镵6/渽^堆覘>~+nc彐W惁 5尙綵h搖9ソc綶n&%rvkw紟呌蟫飸Gi+ 6P7馒'橴Kmn菷駻x埴<7l0℡1$=誠懗鱫-U'桖%拴y藨Y'瀕Pm 揕n 赂@i `Q~P匂8{蝛's猈Nq鄳彵a譡(荅屚倶欲铵2齶/痊Z謠 柱L.鮆肺鮚z伋WヰR3_ o D爓掘尧椀~禵诳t:赂愛t;L`3w46脷渦;呃袖VG猡X揑i刪%ご$m灹n揺残.m7HIs,m趂u枀S{暽v4疷;児F芓蜖暡燮c礶<#鐰蚡騸U埜剱f0S3惥1 <^Z礿薓颋胲汸(6ck񶺓唿s畓寨⒚遘不k尦潒皒)悈@fc0&脴6Y冖8笂+oy7碇"'熃弮嘜皋j盤Od穧奛t胔纃Y3ZVc%篞犣#逖㈡“颙薣薲-Y虈嵩䁖襫T豶==鋻_'峤奦}瀋O佌[_拍袄怍<鵜纞Y醬帡{t錎X|块珬:z檛飯TP硗V;簦} }疋嗝雟+7逫欻e璋K @b,v持苞蔠摈[弢対@筛$!q65A簱?灤逼S轝搼6Y"髄件韤ゾp'熃忊7o,癳<$愣伮@薰=艎H ^婤衪賖戽隴+婉g刻╃可鏇~谫葙迯鼮"蟗9蛟g1)+w,ms鄳廞瘻:,琿K d氱mtFHλ鯓}絷3=+捋攥燇礒8蒄H_湼 k房枙[^A4{l猡rS=>qa鍹 l巾鐇顏縝鱣-籢颔1兄b(:9嶋砕C彆垳!*?取蛎Xe1YB10稇V}巓?骍拀'y螽<鍒@壽S!'AC%篾Y鉗!创偍3仱t攘G?翁鼻豿鞳RZCGe邠s1r IDAT荜骞OQ;陋-疶展#蒹y 埵!Z喿4r\Z秊鰥+r7瑡汕馑僲>: &+絓Ξ|骅程]6蓣8=!舨b襙谈\^屮餩鵪 7摜MBv髦鞾k誹叿&#蕰)痑尕9C[(斍%鐃;飬皯繒: K洡iK颖s0赂H坰儗砒茮x掘)动r mEC猀dmh-nqd蹑;s%w]K氃9鎏[w-辤C絅T鮈)78虹硺礉O泤酉6懕陷,廎霻饤凎l邠d麹#弊"祟巕酙F醾_撼溁sk葞5&臜A崇D:蠰<$梭Ap♂/ルh4弻幓 ,"`赱谗魷鑗?茗3_辷/P^C4綘鑨nvd?.05皮 宯d愕o沭摕f7^q;躁"M歯}饱Y[饫#2<的匒t& 衋L逄>颔 哆 璋[ej橴灞短钝迖!麕>士莥氲o健@籥e热韈J寴9q(_頵譐鱃纫#铟]J,D歏 <@湧H擞 繑徳踾鍟EV氢6唪S凲懳&形阏汨%(蚣庵7盻灁G惌湃讈wo<0R忆#x8挳m璶貃"麖髡搡趍y钰3W3C嵒NU2/L鬈蓘 绂'揅欱N袶,矺'巉|嫔犁 ?Lr琖傇v徆奷柦ば?鎟棋 5#A w掘椛G%k匆:鑸險燪-z里$牿9m枑橠Jt摗儤客辇邟?5烘jVnyJ畉}﹁L吪OY窑00a> CQ8(O厐;n^噊貞c輨f諛梺呌>疸6x阣8餺X^w齭 彸Aw錽妄|痂g?滧 \敷 攩讑;果篕6濐閑,X嵍 沞X'7(,c&走膴+nP证採檐烏 Q垳m方槵X搼抐昮m柵淟睽^9岻蹟喿瞗蹚3舵忖准阓4w衾俏:;W迳&K$i儴0膽=焑| 擥盅l.96瑱391唐u搢觜gX1> (f+u攦襫,偓臣&鹬\各絩"T愑釵O@!,毸穹誽郛踁刣陦% 5玍F\&b諓f砀f濞琬J0礰94澅:賆歲瘳}/h.d骳暈E5铊揃/R魜tn_w+7: E(:2濅:d 謉(摖L(揁櫰恦砛a:s檫7,茽u$?(7H4衫鐵蓚9hKS<蚺O诋s逋?萌獫茯嬖侊饏?完浽h诅:`韼%FB^[櫄Y漯)NMU槥玵媳a碓p濡I詈ss6>x堝#C跦矿w呓3G7濷TW!О乪h\-c鰹I艇瀓▉}Z竕ED!蕴72n"d螭fl@3<)aY欿Pc=婔\/钉餄觃;%洵込+麪DH7鼁+硋请1Y蕋榡葿#閉aO6?l堈"60 T殸L馄I3莯籹-凅〈v?焳巙]闀刎y黵,艁昹归蓁0f^鲲0雡綁5[_咆獫僤烗e}蚺剤券垴哤l泆爨斨hQ瑿磼yy逯t触\忹漋錒 o7%O还:噍眕(W$w2廪魑荦廑(蝈17蹳还Huァ5:f=1)冦洷Y俁0_⿹e鈰+鸅蠃*忣9B筎な瀲>5i "`繑鱤佥艮粀尜4抏娸勤赕u9薨5菃I蜌ドUB吷犢趥マ@J呺Gu皔B墶5k 搔Ve~起 胈懋s紥BK\."r zYFH/ 竐p|3氙篬癕k鏽;!f#絜 樷卧裍鳇瓛揥nG伙u@輱F剩隤Jq赓X:Mid5aX@)鸵!鍺<舌臇)蒇P濄Pg{+∶槫祱I铴:w劇+輒uF黥唘衛,誟瑸F烗. |<椶蛺]Bw折鸬}- 歸_Wd讱愅k56 璓0hW-祔ㄗ犝旪淰冨+C謑 _P()侤$柵%嗽瘁绥鞫yv*鴠D泍1歈/Y 谥i8鶴^腰矋>.O(V\qe鐞+T惦峷痃烙,螸zlR緄G1毓*` k4i'5厒BK覄 櫟猗&_@尙"k 唞臨]傎9碎Y笋)醚3哻3桚S哋>誤毨"} 9羌x編 //腓揗O Ml8)%セ%贀N)7'遯Q雞I碀齑C<)'淝O<J芼fF;芣c(2(9mj喲3蟧琣t5 M^蓙G>N要,i燌d奸啛觊欥/wV8r薢b孧蓲&<鍛 宯diァ5n 嵇醉鏩c鍺钺泽唣k铗,箪o'薃糴E廓Q藕暁暙5儯8k,&:k,Ν0 媘Y吹蛸f琩b86璑U,<~㈠磥銥 0痼頚場"3駰y魜tybD劜﨔脅鸨 t@P雂梘9鄣柮飇p親Z2黱 Vi0Jz撌6靾薍浍5Q庬w"3涨鱺%焋晷wX瑰U槵9焹v銾爤T,m& 嘨4w哥)Y忆膕_#. 裯T耆囈協g襠!殈c胔x蓰n+皕D砤*袜"b)m&YMm3贡穁簃YlX徜溼錅謇瘁#MY %趄\x"Y騘欸H)2>.O嶭yd媚鷽/;mП#涗轭碆齙;皶顛氏 eug閇7で(垃癑Y匋苺=R*鹘1XB(&胴陔報冴熲塘) 痚`鞀^琬]YO熄玍'嫋侜鈏窑A;彨非珒坿 鉱輁咬苓B養'zD簁[n祉诅R訉巋J0 E47鏆B毷譾fio[霒櫔e篵橾俫N鏿撃鸹k壆 簌F/.p6笼x橠H'*罈霑擄o昼愄絮 昒X%扑~瞻憎W璯}H(7/F匟搶V`觭瞐i(k眮E!珜曋楲a嵚(5)灞嶌|/s渖蟨t乡賤踸磐蓺y瓸、i毤掗1臕玑竈霝o1#+v0炳&霤錬aw薉x/轞d悫b浓b|HS*(氯b陽j[裫Zf;4ǚ`.賕6a盿9砲y魓嫞 i櫢H 濭@魘締紀济R@_蒲义/摼嫒 宯棱謑楲@k4^|o澝絛vr莲N[77)SQ蹉! 2譝URU3墦[e:皑蘠袬"6遲G烖4鶾遁e,h酑4烎- 恙瑪藅3r臦饴 &K{6 !讹描戢賞諞枨} 釈窦{/k蜎?xW6 #e舙YQ+翲vM5朏覴o誇 橌U薆莶P='裖鐛|0.O(ド椙婉絖<糣菂! Fz&s鸏桷>畿泸"0 伙矫笶=埏徤_^糃$栖W坜@趾 韬K/虮EH'V尛綎嵶5環枘鑞潏q麙滛H荙(主 翏,U;N逰"y0鮢#窖&餣(#櫎dF)8嵉櫲狶 5k洱8泍贽?$. 贬73磖洏矘罟ir-_%iU︰N/嵢鞾衅U刏蘘鍻?銤屪剧<甾客袦C喘 t畴~歌楗Gq}")B&K澪觱-鬆渠 "?2AbT鄓菖x=鶵眶帪?_|/,=j雉再;挵售鎅婾乲Cg夨;豕惮邳J謓完 鹻?鵬哤頯卯7艵菠5,iQ;Bqx CQX庠篦qr7@@AN剞檛爋見_絵Sru蘌Q3PV (C2D I-&詶, 槞稬蟉N-鎗柉>卒衆z/sq粻<训勳=歷/楫p%w 9g1?鬟|O祫(騖鸏變绻? 灐? 饈-$涄^?迫(紹泮:Q亐) Z紫T芵叶m还|翑,k裖鏵琮蝯w睹:鵆0=圻{竇︰缱:惥┑"憆 #7陖Rヱ嗖_嗁q琨QJ3s黴烒Iqp[o{/A敚<簽3麡豴雏{K燙>鮕f?na孟 Z^W屨辯].竩MH)嫐酇硼<)@緺 s 阛]RH趩f狵桖Y槡3湚3淾v齅嶶铱>蓞I榸熑N,軀v茱巫]咊t絃奮)螧縪\h訌飴跞B硲u;蘩娡w蕂m7敫埍惩 $R g資%瓜 rE 5)Y诼C欔包=帰J; U窚,T潩褄齡O匚:囔諢r銧R3K+%胯Fuq蝙8鎏)h拳簽Bq怱-7逤q`egT4s4k<葵颮摱?婦1騥?{kAo_噴仮b艾*+4!M a^F姚 5C 密态狒坚t2_儻?哙L5鹝啵\8′#; )y踦奄毾>G 鱏R/1~胯鼿韢嵯'|焪塶煼B煗佈螲/=nF&6蘼佞隝5匄9zk &T `菠 沘6i$s凲旉疙w}J曯4時檛*蕹齪6堃齗o鯊蹻艆uぜ雰蔃4 <獼p炃N申閰3)弆&褻鸵光雡~蛴pO狔g鬈樧7]P.(J娏蠦Y+BTPD睈J撅k,$-K砵iT,晩ef05g93o榋碙-Y爵\僙埸瘓艀/y際6厐庭˙z浢繨Ls\滬諈't畴*>"爙B<に:^撌工&衎iJz愔:+鄺遈q勔::K0X稦$K 证n蘎筸も骽棏b厬?"甲廄稂瞇躘卿霠牝_譪"挞T圠F斢j0骠乷5婀浧$伜jU 8^倜粀7fx'W\:iK様蜩:饴甬vc32鎉7其s妑Q1P抆h─(ryE樧!冖00F Ks +喪傯B+啯奺緉9>燅晑蚙;晨帉鬪LO詆l鐤忌?鯣^跀K瓶X闸/> !// 鶣z楸= 抒剄&"s蔤飴啴,鳊EC籕漞x鍁y+雸@ 赂ev&K )A檧 *爼"K(#|铴om哛ㄖ 僲義婪溇磱.a9=轱褧:寵?禇頞o]?{[LT臕-SD;j1?9b緌斂r(菽莫+9诀k芏~髪RQ蚕RYQ,j騟E\=H:t& X匢羋4荡k朲E@tn0=S媶%K僵x鋒汫N礋~.硙♂g9W~鵀h 5Mr~勔テ箊讁$ ]+钻DH/=$%邗 +葌枑L6雔鯰能閮唓憗馎N砜8?滥1苺6h沘tD矄9〣4m簂訿}FjJ蓸aUn娼雃嚋O菅M筎OH鱌颦"粟} 飝E瀠;#LN疀頄炒泦fK髧8>7徘9蕒s霒 R擼砅R膃E擶劇& )`-&刍,$-K* 渺糴橿刺,Ku儜 漁鬴愹鱎?y烜蕐/俖n鯎O)騛蠨t蒥猼麪}F"胵a堻繢$B铻 臊@U丰垟+7萘聶gy殤;豴鮗G1N嫪U堈`LF51璍z拔嫶;@z3鎺hg厜v敄^-饅"讜&/櫄挌歷s=鼾Q籙煼锘3梴1涟tYqf1Y@歑拨&i[趗巳 蛶!(蕷辅坆挝@鵨3K杸i#酚4,K媶鶌袏d◇uㄔ-_z读B命1.濼陼 $膛娧z伄~坣zB7鉲逸q铞Q?i螷>恀z寙q褧鋲靋 "急坉oB"Y泚Me欼I枟em'秔~焒}庣葵_i5豶踊賭M蘕L枓櫀堝鍁躢-茓J龤#%縱釰7礧8M2r躈q`D見鑊=垔>6m誼襫甄 k凁]7妯a 侾A9匛a2w%`he[B蒢0r沴R[ IDATO)ljLbi窢Y吩-媼喒奺f2絟榏,6狲B芖焝VRc?撺h/^'Z琰A詋8=xz9螷韲鰝=鱑w襦樽6鱟櫍'M跂襕嚥C蒵TI9赯饮回%緶$虆霱r\惄O团e熃酵62缴冖k屢8_勮楗菓,k摜Mtu矪?忾v%) 檇cY1v,蟸绡X9逆咄饖m剄懎方摱9翡'9鹑c亡_{潧姴dF臾餕?謲慫+絈e剏w[J璯t睩4宮Zp甈t4ブ殠薢K}4鹷榝u*锛6铅眬(R攃儘-aNB疪鑺 |m!.-FA2Pk罼蔡b22)鏪U薘0?/f#芋覭0_吃垧鋲6o~)/f{'tG*9浬9焬鎽 貎g蠇韢1Mo肳Ez礙{/Q鶙:舟逩q`Eg:I際/+蒍蠔f诋`_c '9};淰}灥踍虽芠蠥D籝嵝銦di0W撄娒k炔ZG墓@懘:舀^逴pK鱘oTwV:-ШG*u.t3}d7鹻6鎴、b軽磊1虷IS蜛!#E.0螨N衂u奨'P*颦c胀@瓈h欱歑ZMKu2?'谛﹜敏扝m各擎觨 +恠\鼂蹧|"k惪变 #_恩苇鳀埙艚Yo7媎莡<麪yEH/=6O聱沶+黎虷 ,鴁#n"滬D袕v*澎鼻9恩K436sj彐;Ig~嚒蒻鮂皷0*0YJ要bM"囗w芑裣畒娵Q瘽矴蓈<g烫袵S 簐M╪\+銡CE蚳I1XPsr)錉 bE>(T% 滛U玁v*皰K籓HB3K跂緃筋D 嗛yY<坟挫;擈祡M, \芨't3:Zg悓磜'爇9Wる資F4驸琐捭8讍h锡2>恀z劺銢vm踞 A$c}r'.O J钝耷黎zPj 徜v蟘謖LM*畴Ff飴M訜蕌z軛┪骧薤衝.2饿:猪|a\"坮)袝?9)庸廂止殡 "iV9鎏9(光氘簺蜩zl0}靟轒諾$`藊漠U#EE)啦C)F2T鞯悆\ㄈ 萩d F4炒3HZ睪┶'麉歛!姚O飅2U蚇煁眵{烳飌TE@蜎( 篱羢9参摒陖Lg楮橏鬳} ]緓r|蒗恢]鼺)閮樌㏑Q噒鹬t炛m騆1櫝3壽W>芴;JqlX8q~恗房廫i0tY趻鱈}羰罊Cpt乡蓷荵)彯#KZ蝋臎朮&&e钿犹溰Ck `)嬝2`韍@Zr!摹抣58凱C鑱Y醸…Kf硖$蠮≠"i) 陰蟝|~o兲)嘞锅R迖蜗#噱訹螮\榪腮薤7傱鑢鷺鲢E>._黂\mIcRl歷銺&K0k閭iR臠|怱'堯v薓鳕伇A"k7Dg戤颹戊屮/营/皀榅#Y汈\窏絯*辮¥:-跖3虩~嗞黴邗 Ze詌_眅<`辅;Z塅訫贊dV骁揕懜蜑ZNG囨R蝀霦@6s)/p鹘言}酯甲w.9宜纚嚗y!}閑} ]緓5p铴脒绅蕀&sa勚#{z2f)+8 Y講s雯' 壅 uV [T摱jz覺歠r-駔3撐6(K柎8蛟?皃鶼7遍唚瓤'琯 -;+荃dL震縞l偷(ォ虩:w澲+V  8蝔@)2c12獺尙I,;箰蝤ayW丿錔⒄X`*欲?齃fM鎉榁86d广1饉镅&挆7}P?镨轵5纁沷)=0禝勬a^墅猩↑卅酱苺5泇莱搼:[.E:%嵚ɡ麻g9蛟g,(6靭媻L.嬘鸔Z3决zVl孖x>T?瑛梫$t潇?)r謓Y贐嫛Y漞i0凳)誝益偦B歩鬹榹%L棽梇魜t鵥@)枦頨]^ 榳Yi$Yb?T#屃K搼e敬)﹗7/'竧2坮T戊cWQ\舌膄;&*@齄鍑硁C)濯w_羸I﹏氛OD-6 骅炏穴Ns逋?1:簷从标0B,鯆デ5,q Bi椚}g> 嚍TZg隣b薲嶾蠬,鹓N.%3肋"Y`炲#媈(征?}'悀D?俅|汛衷D.=M葴p堶曵.琒(C)檹柣=贌e靥9$dI嬺剩篧1,;7<迄;宇泿髜Wo獄{1Yq枝]_ m 恽1gk V缟陠c +('櫗$%?鰅*5[c農g寀泗悤;W$禓++fk磑:e週k9|<x薗g硩 拋.qy栵齒畦gに疻Ji73瞨皮濎J;]W釯2,嫭A艻D炷摈~A漲;狞遊鯻`x痿Yㄖ2嘿檪:绛忮[4撨= 荴汇鯇吷趖濛晎黌 滽7[棁#JD鈚咿汫[v_鯘燒;脻轙&IU,'芵l硺劇內 7托IH荧; N04$ t:4 kf4l饊ma,藘d[c暏殗7揲 枯爝餃鸍%玘 R蓗[簎飡餃{=鳒镔脀否j=&囘?zM燒)萏8珴TH踾韰猇*U(VM++\% 遑虹炃[痡琱;繯Zn鑵Z, 艖+Xi冪徛黃5;-+c)恂5芳~y飴痭簻膃", 曥x燺T沕y+ 扻郇蹙 谌畏=頜鲹o阻侳餵Z9蟂e繝;7寃峛旛媲v0.6/j淄>蘻.88蚬饕澺塔浛斉}丰氩 輿6UI翤 A9狾%i嚀忂吮O>7,'蘵呡s0遳:芖M0 ,萼倈P{霐* (JeZ栏q硽旜蟠劤C鍓暁灠6m鐢形7:1y90镓笮vr坪繥籹{^r闼緣XR+圙渙x漟Ig奒睃(蒌T5邛@t薉Q¢~2駫ゑH <胹噹{S鉝o瓰獾I H/靏箪a鬓j9Q釾榘褙7= ? T" 弢X}蜚|W 8颁橈赁a/魋霕J侼祱鉁$姢T魾璓UJU峥瑒 郱耫=V徭}嶹輸2烌鍙湭军脟墁驞U鑻躹趄踤啵蠡o均鎃|k(聏xD C闠毽M箔|仟紀聉m䦛谷独$*湕0蘾麊$赤Df L W祲茹{榑j^jh 害A墼,顊!(酴O愫髷鍎4薵h╉鰶湪燅鐼O>鴁>鵴辮k蔚嬛呖g 鐩n┬伴$tMI玨* ◢聰鄡蔜] Ue雂b^阷N勍 鞛Oy駏)摡躵l叠悼{b剩+#^鵪X羓蔷萴H/魁柢 7苦_ Rz.(1祬筌B回m lS2侵吐6h譈^儁了kf592%酤稥 O撓宮G恚駀m衹饡[^c獄兺眨熠玵Cgv.Bw險愉凟+区:^., s]瑜4`Rι謨鯟v?z猶勼L莲 GT蔰 銘昶缺9PK 巸{zL[No?肧[)~鳼,踢/2宜k=鄾鏃o$jJ葒嘿侸 M(勵oW(*磡涍T槬抛$备覸喾杔鸔L9z顺U鼥=: 3踨析YA艙厕<誨厎償肎?僧}4媍> 褆Hi圞X9(1罴q纜,8(&襫R! uq壥8碘*8m︹梺D峊&瓲掬R灑眫懖9倣辈>V6F室溿赸=奿o狒監/~斐猇bо鬍c;@zym <:唈樝)M暰㎞噴uk!闏~訟C壱X莎+ 瀓 v敏тA繏s懚pZ雕,郯睹jKn堾 挙/噤c弒p1脻}尦'b鶜芓[竕菨h塞饽C?|y螢鶆0遱m> , H鄱8%良T弽9!襭E, .敌_\Ro毃'鬔帅SG9Q芻e鈍?ql鳠(蟴:鸸K>籿飒 6Z;F]Nqi謟彸!q聼D芴$&|dr尽>5灗4S3<"袆(敫鬗1扦"(觔%鐶毨髟驀碄轠寕磑恜渖O凹6Z@9喹鎾渿铥^秥哰魍摟0枘p^q8秪D矍8%疨 uk#yM %匌乁&骯(輣R/t僇o)'B9嗛D檶曬$(TM斖壊>諪实缓|磐蒎汶踣顈b#缽?y1缭嶿輺<";禡{K抲o]>鸩峚u餘叇zCg聅SiT砼典ua2$闞k祎).Io飞嫪e3#U蓢Ir懀Cl鵩,I攆jB貉P鮩1+4镒-q骧儦或末觗s 龃⺳,Is=鰓乳忩童槪 =驠还惀bUy赸k灈w懚,驘俉 l比卪 嫧錛S 2p箰鋷笺鑤∮=aa/眺K}翪X >,魠,к狈C?K辴|楚 痶0灙#巕荼绲=紀T>f7E隀袜泘{燄断3yY 疶=挙$I&泤g$竚w燓3函鶉t偛U4籭<錾w酼镧頦螒$! 5P諺漺#趞儜9 q醱猸+燰\)T S% 蠒$襆I2昼2T毎9HES袔)⿻+EU8蔅)'B1U崟蛻:RV7m书騜芀x鑔醵=6~[艴^卻0N輽5<传H{劳缷蹃k濔瓭T&v鎏レ8v 驦%B)v齒澔鰉诏畭惌*敧Ym潌﹋Ε+k}醮V哠O]肍橘,<祰a岍細腫{娗藋捄$YX*橠pW忚-i幭lP礭Ge炙 縸;4樃慃孾)佡Zm鲾旦諱坥}髆虙攽 暏)sK妆z鉴僴罣?騙y翝咂茯岶潜G>末C狨7缂媾$;& 侂n祮0=藘%,繕7w@3M B@4藙$$穪}Iゝ@_槵-q軡奙<鞢VA戛RM時峚q",5(蔖8筋Y欿筸<>R荃撩撓?儔獉U,鷴憮鐓=}#6鄷@g°X$剪跍寰劾<祔@Y*daLE|$I鬘,鎓U3@暒偿n~un濉痓钻x喛捧=?鮮礠gB褮{弆2tK躵绶襙.勏m愔)5褑頦驗.!敠w苠鉄良镍c枵瑚嶤鹛瓫FvぅO紺m街篎\时囖蠅>乃y59i >翳埾燰vu喖閰=n軡0z箰kLt2;/Ⅹ~蟽,D,儵o參鉾!o曷9$3鏢嫒2$闪臝X[ U8~^盋~⒃S(荍s#哉!溬PN瘂N費x鱣F<綱~8E;㩳=<荵;襸Wi忯 %颅蠊隵粣r韇铝箮] z粈zt馋{$嚙'闐,痚X倕曟浽9湔蜡d%ko醕]<0 竀*铷 :ǜ譐Y亠蔤)C礆鳁/烨譋搆歔镈玩闩?Suo Iq}濕抖舱嚈)B 塭7f[K驯軸c华竭j晪]O礞釴7}獄^;踭裯.|藵顅vY K牄邳񘍊S?6瘆$縉 #Z0E怓/:.6嘅昘碽蠮飒(困娝焛 gj殌$-Cj9UWx耶怬凬O轷暳X(発郮辣U7w鷾]=飝h巓V坕.a揸N *彼 62y+X葤埙櫑偎 崖p磶魝彝匩:箉-x?M.]m{l狂"壿揗绷"63靳[T8 狫袐M船.k驜奪槚,4)吅嗃p香応p鯃5耓^%FF%(嚦嵂熓鱰8挱圪X蘟"[-封&釛均%峆Jh辯匂峈宍J&蜵7Y9缝IX$20谕匩b9O4|绠蓛J愘砨怟 俏囋嶗駒 n抻虈s$3桥嬪R舗床鍜﹜>S驠硱? 叐攼_瞖H太諑嗪JR@:厊*t切濗翩擜_欕:泀鮱_溢'嬁弑'稗.6?j栍a炃2};揸sd邝7?鐒.t.'c袝 qsk闆胭辖帢w<,嶚*HR!I酃>唨5Pk蚤9P8He#坺,4k=阻/礦* ^7/4食M O晀 汼鍂rzㄜ颼皌}婥奂h&愨g嫿阥[5g?v:V鏂2氇掉牚9 Wi )4然$*F瑸絿r饥凤湾=)y&蘵劌伆婊鞞糔n#柖q遤4dn毊铝懩{妧SH湌$'CZH$H皢鱰狩増v(2Y~垁,匌p+RI.HS犚v瞋笁kZX萠寯镻nxV*g讜鉭=G*е嗝嚘|,穑槾_鄂,o>1uc姹#嘏7垦Me崤:XJ欕ZX>.彸邅AW,l顯#鎱d惁b#zC逼 QWe`阫m[沦脔跅Xc唎+ H鞰Tc⺄镎qJ娆H貲9M*纮襚貛 秐俯袭,湉(桟\W X; ?撌VZ@=U陸7@軹嗠势簉zEy颥玷弽06n:;租桽沂i╭溕> 遁玄粈辘驃7苘w-d_on s︽q婀猩4籜猚鞲櫰6 摹晔f濢Z韚蘿L鸫ba::^.x-寗"F挠K/旀om n蕨朰 醺裔d郕H=z IDAT両埏E忍KF馾壭藭吘8ъZ鍋:轲瘥k痏鏦駨镛rl|.j訥}鏙膎 W礭℅纎頍K梌u}嚱髱鶐4]a髛a';B Y荖&L熭R#畺 徻泋D])捣P滑B蕉侾騒祇=G潯紿([每冱b秼>55|[/徳,aX*e筘凣蠔紅嘋%S宵瀃羔幆#珊an|茉#[阶-a 苔滨F銢"S+I挷z黶y鸠礈l0%! @棃同or渂 q癥zNnV郇榁^7撣鱣t3H窫/pf釯獕硦6S|寑匡F菵@測焬 !熐跖繲湸鐓渭堢Le欃VL;%丯$桟騺愇 i}扥楌閫沕,旃_-pi<崓4> JHs莌B谥铜薷4镙蓉衕氥>妵8\抮炝鱭蛐鴀滾.  uFSJh ,,NS剡M竩1釙瓹瀳垉崏3'K=]qzX覫徉R vъ$ti閑ji'B娲-墵澞4繪責:%咸垌w`P3 軱椁4蒅NRX#.>HO-2嵩祬>$6 颔犞P茁6 emが峂u*[苦g2廉妤1o朞-焴+c _穰+瘀麃張E鑫k燂 '揽籥)s┧BOX瀮=舐顈ay k戨鮿NO萺H#=膮陏+芝憼薆萸镈嚤)2)-帅氪朏|T#Pkb^2X鶣 #c6h綘鯾 薨~h yOHsH2嘖R┼絉JY*S M5gs绋鑼8躅枢臢Jee\sbX>)街3M;O肄#%v"愪〩"聄/e:&湝駂檘I碔聎,X!'7+瀀燆鈣.︳re鑍粒暿莽+&l鑪 脜せ肉灈,'-憉鏘 耇唾阫宰4]JM蝟敕韢E]N⿰!友搷 譕0oPO諭礵 e.剄99F疅镅qg $9>乯~3M斣> 鸳^閛丟枆E潶婎 J贅狸H9滇9禴>V瀄渮亊頧睽礻&鋲乭*[j莶皐翃^尾9l慬<*<悌PT1V?5咡^(蚌r鑤?閯蕕撝犕葥懖功+g謺寿5G*#熋/e襥訐纐,噝E繲 唳她迼ho~拘駾雗靟輇乱鞚鑫. 剠佇锵h歉u.纳迌咁Se:2疖伶喧徸嗹X龙DW2[痷u灢F螏+2纅鐪艬朇豜V豃憇^{燫鹩赎唬瞤X燓雭僋H偳歸G?s,vRzi褼玉郠C1P%x積私脗S脷埚` 机&P茼槯|淄i>"芃{&U砰Y}幍5蠙#+c掀臍芔涋暏 .G 钖楬趲彪樝鰓夯凞2*5yh瘖|Q;[r|}犟V訸U駾竌)惝諫岸\圬扝墒阿h葖茊蹹 +<c趔秲〃L4潥瞟K a覯a:礜枭*+Ceuì徼&剆\x~糸,嗿{0-1e藱1赞媇Ok#鄌亸b炰*动KX餤嘹媥鳶祙駶廮聗>盼鮄{嘧_u扒 v,狭轊a呒皐AX毘愯\M2傂P >x0赥66曱蚿瞝*g7斦1屍pz韫镨T_-憔琧3 2+焘细rΥ'X珅髇锢蓝,刨羉r"║k訆+o讥荕K}a撷yC =;攧阯lk<6y醝榾E G崝E谐J遰d玓反K砌V>H鳋e(b卺 锚2'甚s=墶|灦hyja|钠6谮 佹豳~@L/(寐st¥ 彼RP羅9+b辯柖浓c{o鰗R9<辶3E荟}老c_r棆敫覚g=鏶忀}僺枏#籀+成格(= v*鄾nZ硒/椴g,  僅L! @hY琔C嫪甼樦龌矈虆繶鸲|磇w璠跂等J爲 熢鞥>.旾a鈳 巒鹞躺7眺萛 铁叱粁p^誥姞qpx掂鐵Y3椌.罪N橈 媫橈滴z餸[漈宧铿0h: 茅遬j7-壑^飉蚶樓W*nZN;, z朩蚮川#<. *p沀-済J/7潏Ny" s! fE江;)眸ф軳  @&酰c啣7痫1bu>孆睌譭馠绽柽ls祘瘱VY頀M犴籥;鯺眐魭m稗:9pp1-滙]際陁刵W3雺NB剽RiN擧U彅鮱屐猺猬rr蛃rC9'7<飡d脑\?~諑)0鱵5俔 ;署:鐄胃L|漠=鐌0漼d 芕綘 l#輨饇z鎪_2;n輷s哐 滊wdY券e&5q&W奏+尤0*返诺n伌 4L鉺 G給2O諾b椒8鳁^喵+oZ鑒 m3娛4$SS叻笔x'/u坨毨縏)鄡纊.p7+' rI6 tW/a彪H3薓Y;б軳鐳1MIどz5聕U纃浭5邃瑾rz]95T>|x檀)6嘱^>l塦r倕賑Z砥 -x执鄖>牅3櫶< -hCN 9-癋a籟,ぼ+峋jX<椧送sB_v+吴a炳o镯C鍟仭/暫 +U衪`諄FV+e- q7辥爤h笶$)教虠)絶錐Y3软C$*r臯蟙e孎颰绽)瘮N"Ls鑦}6>q|嘛~jC_q]W^7c剑,鬬槦翨課∪a0鑈?袈M?乸L,E鉁泐W訾>S癖' 匹呟絃酆2擃摳麽$b&. 両鮟TvT蓽漻 6前>辟O脡2-厙N謡桊剄镺熈<褁頬獃靂Y翃M╚RM羗; p嘰A鶸x镒*4/.p禇+鼤\"5+閗7X葰嫛浹H歶2I4渎f籏馇鹭莛舶癳4睋f} 玞各葎I1琾t>嵿9姗Rb8g皿+A8劊9蟫蚊<弫罹i)绁;\穂x瑶實ゞ衠鋋浈B3"q鎒乖;垑(諥埃N: M 檜|褅驠;/窻gZ*W)R[7Y呭]h繙錖奪WQ鋭艼5駨u㈥d,刵j!q?l%撝k&匉姷Z:Hk:**p掟趦}:S葈G'|婺敆祜r剘.条t}锥%$浒$傇ISBut蔳N敂^?C{酖/魘-≯籪蝋i3\oT+綅Un梘ITE鄧C腕Bs爋Tx嚴q臂孈殌y昳噙濠綹H壋$ㄝhH绹佣6I霳輝#jaha馫黂贤兤粄灹>葡巛䁖老薨h 4釂e沁*貥z闩姗I癀^0璪ix嘚P瘞蒟顱7槇滴礍R+ 辜:ē礅駝聯*7椭v榖缿&' ,b⿱昑绅M^4梽躤+u歬媇e床龐鳫)s -缂ho螜a艇NLQew/釒齗vy鍹 аshs礩燾醸Cm嬼椽IgX#鲩锹RIH鳅愵't,订佞脡錰g画虻'=>>逄é蝥A鄔1O-孚/桽牁坠警S楥U.鍗s酀踃^髄乭4伔) 霝鸔厀墺秏)汽鷼,骟 F'2gA'2 偡駪冧 頧ma[^Ag烘9蘂濮蟿q"FgX乫f詌餃#*6轆蔏筬 . sx鮉9稞軘窍詔訑趪 2 o殮鼎x絢缴肢媑杓娹W]hhピ衸P;銎柡C脍[旖Cg拡蚁搡p7G啣?Pz親嵐馠匤扟 P ]K2(瀖M0o軭/g贱茖k5鳠(哥覬櫵R萦Od畵4漀1狫f捘=6^X鹝藋:鎎cE嗟9B#耋i`(@,9"﹣灶藿17,茅g85歃]gFuv鯝ZJS鐧r曯o铭纎2鏭s八望鱔貄.t}芨2* "埡@t7徳娌䦅呞v%[甆K]45hu汍㎝嘠*↖b峤傽d谲_數玈皁.迦zy6Z O蘣]`U S峏$轶T愒%u嫱誢钖%b镊<>鈳} R鎟a谐拥^}S觾]裂語哽謇嫋 嘴-赁yS剖崞畃刖擮)93趑;耭d梽QI 挭y4骅\隺翺Up墥jT奝'B鈺詤*!悇06 S6Q;鶼Z>7H9綫サ陊b_Y橳唧便命鲚=杍媆&晵Nh9鰚G8G歔|鑎u'V鈺厏篓祓燎&馨榪鐏.rs婧.润+∽U:櫍涘\7燇郎)+鉠楏\矐羘r0佷髖SO`轠;?寫怂餾s槆竄d# 逳8聄菴诼c蘵v/殪2;pi曮g 盬豝铞g.篥/苸螈揼Z0?"侓攫瞡gYΕu阡5d\Iv駅晲悛#i惩撳6b絋箎o紊a寮 愇阱猅>鯽/'玃/++墭扒kn蕏鄻陇TF0熑Y^賲pz秈輩0?姲炇rx仚C跀6霧槄0Se&8湿85厴D 鄪*手"嵗I竲o圎ON迍叏.j}'O帓术 漟綬歑n綗ze4拧(w竗 LJ=楏岿wC 絵o.w4*o颱{薃贖 x瘮匏胟藆3孂鳼>qM巳垁隒>_#Hd墍軓吸韗x:碂4g+硰俫?mc1饹WjG.苆閿穅*oP窾噌韑'罭厉9腯7棏e蠱[杀V!躛oD餤m,荰&B遍 暽FCk幁薲0^哐鯅⒅纸mh科3瑥vhZ犂趸亦i禼1鷻阆楻逐婋s 欮)椿H! s乗骫勶#ΧH侍(ˊ36W5&覠趞琄侭TX6聅鎰撁氁隥,⒇3馂I韄wrT苇宬湼P釒=鶃儨aU檉r梵金 w]哚芣檤旣 覄智中qv尤'譨u'6j瀀/繲唦*磵藳EN0湡W|頜齖/傒,嗾Q蝓w0贺x唅 妲〾`0ユQ蝹軱>*侥*帟赒,鳔"ちIQh趁k UyW稪餎鍛Z綿{叜愫厰囅o泞塐cM樿+'胙a1::,n鷖广5作鑕篓0奡I激ブ憐z櫄Ij涅芳z<<岑q覴牺,x04,Z~瀪7硎贛厈祀;嫜锹L0 凶傮j蕨hK1按爽U碑u 捘S%怲襤&')兯8烺)泡'VY蟁k浗t腩滬嶮n肨x"'8c葴a¢=篰'K2gH璁 鐠X $暌 eX3丿繋y湷頁r.E+i畢菆朩y%侂j艐臂豆Wd/.嗦乼YaY禔:}炟,/睡楹V&事︴荀s桢F&弇凘S*猵L瑡cc彆蛪#+S 仧(P霕gp蒻kW↓餙O彧>=8L獨汄孰;!oiG蚛4蚁,o櫫pVpr歑G旀}%-∈UI釠瀪'舞?夆4淯窖5%K嶁.ew?上岅1教袤h6o?\髴'|Z 鱢L+所瀠信栙谯6動沺d阵虚尭X鮹艠賞8喬18"瀁絽籶籾藥"挮蓭ls鵞1I 搀,10_藿瞧_賱楈胍稀)R譲%TS藄')$#櫔 搒 E{3歏屵┳'鮔玧燯];焣fT鳶 銻/>~t-?:T橕: 贗DAT焓y峋宂} 奋蔼趿oN暶+52,|匢待v訚蚘艶5,猋ek'湠簏lYy穣盘2,nc晸Wj_.炼籓环仇由誱_靂熤﨏O 砍9nY钜O鉮啳5>"飴敕:﹛rcJm銕~髗棕歋毥嗑P-zN褈隔囎柿b/g=ōw3瑜J瀒闧隺2鐚鉮鄻us戧T[h顪蹒;Q脲忞虒PA T>蓔eC焻鍪*/馨+隳f錘  袆7{J餦{'衴t瓽W镍穏癙*钫┌芑1O睪 瘫2^`炴*m=峬鼴;?*垸lrE鲡襩媗眒Q貫I鱯x 饢Q閛詨褀^焾t粔娳Sz [韔薸朘{:鸅;.掾腪孜Г3 Y蒷 B嘫e`4<骚iiILN3氮}攬筠腮um|謠!緛s漣缨8笜qjX}&因i螭洋~:)0逻;繞,緻;-r;銓)vA宧91た9m煌+梖圯v~: =餣*m^~v\]僓hO蝙乺俏o*k鏝w.v籨c橤贕cI蕳8*x昋!CC踘h齌鑀Q0o\P锱漫捠r.j Z j&y鑝QDh:皀咣ガ巧胜 兑.詅敛x唀w靁6佂m薇.eP邥岔傷鎣殗;v矜皏y鬺疗母峨c荧\劾姥D橬m凨Y(線喊帧5類J门屳O.5仚$4X窽岕~E憮ν鬘 DO78剘}A瀫 V素Z@鼃走vv.坍漉|鷻i鞖+o譵s鵰艄5爬?oNN满XY賑u寯蛻2胻jS(婻 L .6P粗6w*&n2!蓞4 .晁唙4 J粰扥,崘M栌饭E诌>o@z3皸枱y> 蠞包蜊曁?磵es祍醞岔関>锍;^萔媦綧郍巑T)X胘Y2R爭F蔰琇菫樵荷|aC駖m]H6楳蛃 )# 瓹袟觗艒c㎡灗Uj叇8=3偐:#O\唹Z溮铉荼绉=竿錩zE鲡忭e踃鰳\濉咊T嫗蹏w<禦rl璮8睉誫嚢病殗>T60KT U豅'H鵔1)嗼S(夰篬U咂A4 S嫕Lg6幇~︼z秏r钱~{6椏電炫E樬9玪鞒^载患NZ斛経+鼊䎬i 舡墭鐧0?^赒"A $P劂螻!! (iY%T)Q匾JHb+'3Q酒9OF壺蟽蘱> 楬3佷蜯酴v5螬呋湾+#a_吠宸鸜w*(l繝胞觨靏V4]奾3兹耾iCmQ21赟猬斈/ 嘳.54⿻磫瑬0薰韁PW6B8 .垑:帣e.7Nq轷fv↖kW186貅B=童R樭n坾呾飋s蓊v絷百~馿啣款s粃iP5夘q鰘d6E>aVS0(f緥0#%雴濻嶃F鲁Z_) 7艖藃 氏*躞鷊餍碡砲 .+X吸<畅1緔乆к秎H<寿1縰|臣3楈蟉8$6@7]NAgBz睦5洝湟柊a襨P婮4祐T梮肟w瞩T+T礟攽g猘猢6N$z璚礳條 黐.糴鬽 (檄Ы僳!峷Lv熨k棞莤lg&蹼材严5z/姈@LFJ骭Q"a^烨棬&翵" ?8偣#o剘U,眺6:エMK椽M惁鯬x屮澳+縿i勵樈麿巾Bs爔 ?毽F邵胃?汫秏垴HSZ厌FpK辔Go苷IU鹒披孀^閥A綘%O.A? *V抛$Х1辍.P鏙]BU en売( `NL┚2柪霝#穋蠚 <漤甘;⺁L?谄矈┮]旐檎c眤繅壟鋁醌撌胯闱亲军匋("4x>屷P糴<諞';銞義*i粶睱╯ナ韚殮怞<瘭楆'!o;扬h.|巅崧閗(\/镶|{礗 wlcx黚贩椪楪sψ`捂;FW孅抂<佀9銧秄(捫"*I.he狽蚫嶋@幚闘T筚(41%$磱Z胬6 漰9{䴓纁 邌蒪^堳'n昂PS/絠娎{)圮耀镶D請嵶`狫F,a颸j抽窅寣k狣i=i蝭\ InT)懶Ua揱k5缡(Vq牉嗧8B稵4#濿m|L =熍ao;`颰L馚V'r釙m櫬-E霗乌o嬐部$耀"槥睦i?6汉偕彍螺潌*w +TD<郟5'臓 H?┎0P璊{]W琿禦Yy授ZF}鑢樝支F遺<焛D坷L嘧<炭仄j郡6 螂>x9鯟M泅/Wms諢涇p啥痽4; 炽赀|飧鮇鼢B囉ls4jF喣嚡=臆嵋> L时RL`Z(EaS_lL晬 對0.晀 ei鉫j/ K痃狼烅礳蠞 黣h良;G/逆3鹣.皓韑Wmv讖?1]豆:$'踈飅mё坟滟肗灲X!犒R'啐%{红烵ta譆X藄庐9,7 [僞O梏吋I@柰/ 议FC蟨6=#X 浸ecb 嘢エ3囄N練玨烓=嫤饁嗲/肹acdJ蹄Hw 糛稁d溢 A舭P嶲崀r 基披: 喊败翨桌醋篯鑦y曹腏浜P寚舒PY4濠諔:V6鞘6'6园◢躔蕜aY?剠V胂!诒缵B熑倔罐梥靤 孥溢9 Ts蘙鼸喹/谳幡]s]X杳BO橈 骫桤B/ YjB"薮勆T闷仄h疧as hjh]茫k6塌瀰婌=L K /'灱は嬚餅蠐w祀苍t犨乮'a偲U滧:-敘凲i`9)m竴裈橳6ㄠ夣)g'Xn雗lψ庬豐,(E|6s;rvc+缽顺瀩)皈K載讔K9{ y :⿶厵LI 笞F-{S{仓O+$M+( ヲBQ谩)'G%X啧?c鹀nwl荘x 礬\机僗鯫伩疽^珑 禌卑觌鷻cw?aO?e:T楬(Cb菌枻?.=6j巓杔pVP豓晆莢 賤魦鴜鄧孪z蚛&r*窻6姎a炓k?f篶;龃湺尩薪 鯴5s荁犒庬)舓瞮\^fcTLR:蓶 fdATx滌絯淽U^k椨萧檇襸%褼"牏r-xmW筨A艂zEA* *`#:饮2%S9s谵{k&L&!虅欆鹽葸珲蔾2g无胭蟸V{蔳 5玎ZB唔秣7燶O猼磤魿(謶耢z惘4皓氟铈;玼iDj[ 迹縨葋裟W缩熠Po基诟27w 統椣+疠 K~s磠旄砇框B戺蠆S餔鄯裴IKWT ~/q4ぇ虥jODT懈7`鬯#]?k4嚭u>SG 顈]5<譥D盔 :傜6QJFJ,t4,5呛_寰字x:[桕筺慎*裟 罧/ypデc2齨鳂Z橐娀^魳7F犳w-谌p]O+G+rvu3w家~靛7烔N沒鹶+杘格晌藔噹E衼 疒W蜪湼╥8E_12叵璤埐w慦=N$Y礢馼溥pCI;芊8Ou掦舯hu0涰萍寤<3歺y嬧%Y鈺1苿$guZ炥#啼稹]%0p3 9玿.>?盎葶幮槀鐠7抜蹃碆^._邶s0場*`讘.把9飇海i #"匛g{鏨3盕ro稠琘t Z狎. v勏5衦炊4儏 桼^; 撽躀灏Y,+瀭鍙\B爑pC5穧0 阑鏮K烄s"0f8;獱0@3榰蜽p%8n淭+F猽'J鵎黌>}0b馬V?蛦頚惗Jru麲笌辔鐂疾玴9珷0馈K鵈糪'Z+ 勀qcH;別囏肤h璱y:兮9w_椸-}t缆Z秼I I'ZR)-T4仐闼 擑ひ奷典傳嘫趺+緋Z鈓yT鷰謺s䴔$#$_榆┵}@常YQ'$舕'BJ剱i#緱艗.沎媩位揹!EA肍熩 揘w咕F }筲詌`鞞=h筹煗|囃擨@禖4 殱总瘷~鎔睗BZhtg菨樈O氢篖3fU_&>~m蛮{醐汑退q!5q炼F盘Q'-e舏?j鉝)5.u輦B>#\_ 洔0LbG4wk;ho告$亞#$褠赖籽XFWH:矚 歔燄5R鹫s挰卅HD帼鍔籛 2貈+(0^倅5G|瞴%(F尡&6( 芓 頪曺A膷笫Smc琨Onm碤 -W0Pa橱/馠g5痩 (.葟泐'>v)惃阋殾x彘mq釡ぞrN? 鲎G/6"圉镔瘲3O堆R皔デ 7<枹h複蟟&巃䥽7l秓雖帻 簉汷1b倄Bv啶w豿瑐 )嘟糦鲍. 袗.qm皫/80嫲<1髢昜RUm芕Y肝蠯{L7?.`湘呏帙o璳硯觨鳆跶嚰嫣dp鈞蓅雧2髒7魀L愀@鼰媰絢|催O|騒W1.鲴{#豏铦鱐雥.}藛m)絷[*鮑sx笨m魗(廧鷳/锘l 7\樴7徼帆NJ巾|鐶i&TJ0N銅∵锦ワ旊=鯅执&榨3裝墰:5k6tf_?u=窥罡祋<馌灝兼毧vr?|*/行倇_聒噺\ Y蓬-O谬蚐櫺e黹\蟄O4陓lY鉺飺方9鹈бo谲1 簔诚籫<冠5犷蝧馴識%s靕$a/=s]圬y鎵#C/<㥮I-X鳉限f外 骷v付麐]3崥h錺\韖韨vN;缅o@仑*料>#灳疁?洁s黩訪8鐳玜~1-n4⿷M,擀x锱Q騺鎲荢<箦2杔 瘘,聭饤梶頭~P=n塔竼F蠡?H x薤kRDO9疖S睂捎ll ;J(R'l頫毆N.韚嬌G菇 汲棎`42拰堧桑*G豑颮|梞w 睉3z茀ɡ咛~辙匾鐆8H鳄鯾確?`銥u蔚!Y鼽/頪菖曙3v&渢夠裨o|殩将.n鳀!,耯X}?8ろ阛 挩麻4勭2Ω偢 ;a%U鼗 TPnQ佡翷Jz <正  lm:巛_#-e铀縜撙i識詨哏E扷>長*蔏 m謣=嫆t 珋1矩# 貎佖鐵蹗鈩扡鵯+hM7戏L趫洦a缵莧_s鸊/袼r?{牫梺摧A鏬x4'斃睹D5rm粗v9$+埔毡 ^:感{媯G+釂{蜼z燘HP!$B&)挪]靟fW谡i9筷$窳.6鳿魦敠顊稔犨6鴜黚ゼ兠荡]劥氐驷n彔;萴黋鵠麣4揶qA窅y=jL竲vw鹓'殸C 圈)溘P蔊J梡瑨)酮'緩_t-﨔?#m額o勚{渉BZ 燀,櫆 ;涉K獐*绽鲝U芯O嬴 53G_~kJ笨v4+"亭螽G 凘J5ZA存瘶Pm荛礶偄/Q#)漟琠\漪涄.瀎=痉犲呋(羸铢6%II= 緜偗殪俉<┊苢c豱瓟盞6={+棡鍌9%$詳H"$&)漣c桯K瀷oo]賅 ) q腜)i絟a垿鷢{*瞛梑遛<*B$B)5Te)W 莞埅躈寣R;?>蒙#1E蚓搈猪Q莫5 m稫1t穩G軬賁*C鷶6yOq她E頨u0趹i铗黧F郑>勀#唿⒈錸5u崐臺WwuN珝桯 2xu┄J罀瓓еx颈Y 貱糙獅憝# mO鍼V!5鳜J仢离}痉x4.(I "qAiD+(;1馤e\p钅橒栾;iI啑聳 仸筍痼-纆迱扦|禓D!抃8%铪sK︼ K坰縭3g朣1R葽i\R揚,裉姾渂s涃茯l鴅痆裟&暴緽甇窚鷲瑢卄k=爓5)哅(%曈HiN夞杵誊u{療?[p顺 1&"糾谸誹u俌衈z舣#杘 鬒smJF賦YEu摖\甤4&9眜0霢瓌`肾5鴼x ls棊畀l!"$/镂烎蕑焧敃垶涇2芈跗眲rv?1`鞫;*8挺"&羉卤隍杵虧痮 柢4^畑;傯臈z菩究髪fVMD隄.<魵弦}]玞M?庆{b╚犀憥)5 5;TH荞巾甹}'Juu磭?术?V镵fDX砈p脲鵲曤7Uh縨 u楻>sZ"5}猟瀚E縕圣3boW睕梶穃O:砚;嫾竿玢9T&麤軳捣糇 C阉f喏翏誛\"玘-驆╧癿R;鉉尙(斍K 谝妽 讈w投Y#帔G磿碣卞_㩳擠櫎槄弹y爡fL─P劖- ム眜6( ];3?yq坲|炦鑃[*S%3LR;"86a-丗 h侑hnV敖#爹錕<9Z'巖魸烴R;温.h)H+vnT獬籈箅桽腯I[.蛸魳*晭啂屸@砄*獻4 +;力t茨4 殾峺鰑峜C麭蘲珼-RJr镕偽綌8棟鞵{偼E_m鏢桭更啐Y氠a汬3歮 歁茂/vE剱t呥|=-毜縳┏鮈S2Ly芧"7@剙憳恉郴m8睾恒馞吷似V 簥隘M懰胕S-杕V)9}禖k玝蚷'Xhj,Z錽"璯烏o聄#H$AP`? 鍴漭疑W镻瑴鏉K|6襯舼'槎] k炚崬(<:氰.d栽骾▄慏鵛ゅ3H榘v馩?間骩1蕡a屏2搡eh屗s#fL饃<擩嵧昏)l剱 鰉z唓s/脥敋鈖J博7呶N 戭傐?F41孿杕娰犊D訋%A骘剓}vW曉~嫦澘茢 9L鄖_6啲麩|2乄@哱S版D>,v焌ゅ癳閉~~亡硒 ?o毨=吡*s蒮氿}'?矏咻 M;朶吾 tI騽驨眶G澕v'6纟偾b<髿+辞 w`BC獾Ku肐=g`躊丏咚R鑚皿盒丱W鐍b%&D瘣臺檝睖S'庢锟仐訛^7 ?輋邂U蜾 9_砳锋5>w/霞廋絥>&堒鱡X>sKL5僳[CT鐸稆^xywW譡J枥3B爼" Z)V=y#s^OK*蕟蟕恝[.2?~o虫粚 蓆聮%燏SW^澗舍p>嚃q7q孶0c疔g嘼:+R"-!,矟0搵e噽褹Z6 i跦哿 %@k硷&o犣禧艜fL?萜  x黋忞IW摙葄绯錊齚)`(旡筆需 K剥鵢0{9偁藃表FJ映儬啦嚲旒 %殒?醎Y>⒉制 (挚犟2廮紭榛0I.綏E5瘇遬欭73坤橚`(倅~{i(Z 冥vs4lQ碉_/馳| c;Q,薊p媃5?銼gD8q糓m吚 d#槭職X轳%]角X0ia擴婭 鲬k/冸\9"咮゜蝭_S涯0F 妝C窗}沤:鸎& 羕.澄Zh ;^神&.侐P~寻7z爯襳,丑 "Z4l{墯q 办0栧R,tru臸2&燕J:3殅蜌]蛫{栧X豢.踏3燾ǘ㎡'*莄筬 t`朡枍e涃_J搧犀e- 5佺Q泒潃h>笃鄹禙(A(c1e朄鶄K蟩ㄛ疄]U珞鈌煣積羌Q陭3歈%qW覚釉<R>趷*<T ! "-%!TH! 瑑;*/顮咚欆[!Y覶燚.f栽w1鬼NjF给瀱LJa4e9I2l娡餴pJ椕Uu跙>?~&7鄵咎2假墼櫁`鍴龄抋U扻T@^B儻?/0 *櫦Γ ;5K乢4iH蠱nU;螜FTI盛W倲r唹竼!釦4*pw槄hr蝤"譭. < 崮誟╋I耒螜i1c瞈葀iR)M{Б% Yt,搒,厜尔C9+)/せ 烿d承捴柙磂4{4涬K鱱}y寥豋'諬鈇3J p 瓂K龃8u奅E\P馉#з蕤Hgh|_S檾尟扻44XS浈棍r醓6 毗(/荹Z赍QWSQ"圲Y刱$%!拍Z KC?4齕@kE詊/$灤圖 M^H/Hg52/扫葳P[Sw鹣M]\yb\尓<>辔w,Q渡>纝菹s.&c糛髦[迢tW?炵榒ll鬥]'q聮E篠撓k螜汩頇&Z豲磃僺醉褘.fC舰<)剴+B鏉3>/菺甝7wv刖|v%鳧 O G峪fB"d 纋?鱝蘰詤賣E0栴qAo3昼審Qd嬓拞 檚0摔c/[s噰龔鈱9#m)M莮威啪女E]撯綰;_彝NW臭敧/锸~鉮>!=|o r霤s銠魑窓3廷)h焼輮Ec籪K僢較蛬2稒k01uㄑu唠櫸襒$淅TeB鈻 ⒄抶淰M4^綢q2梔 縸5沉扁 6雺訙 fdATe.勈$5SBA. {Za宠9q抦衠紨荷W鷀K订g{8&6礗$*55鍔奆4届驺$讗鄕)U檄剡5v公(x歭V(摛[5[v0~荌7雳 #8?嫔㎝8z蕤1こ皒u=j儖'綳獈j粱&膖貣C裥7眶鮮 A詰:扟槶訐酫1\r濯W滯5;厖N落沁s喢3瘑6摒显w[oLs鍎蓵.1媞U抣瀃岜籈STUK,! 搭K嶙|e齇+o.)8狔山y剩傭愢7K蜍鸝y(蚹o戇罓+t|叧=g8専o承紥宵鄼K剥qF擪FW 倄< MkZ鴼柎苬4佒 i_乐\9i銽 4 X逞g砂$i 緖A [q蛷/嚏l厼麸飱挰,{紑鍻晐C$蒹蹩(桾 F譎 併郆 H+*拏糶<韂'pk蕵u奙4) 处銆f汜扏<顇⒁##扐Nl咡牰\愵屑1-瓩}奍瞷u[蓝龏#%瓽r夹T蒶蹥餾麍漈G -R饈娕埈i>衅綶撋<湂3e穅^蕐й %t)鲱萭崈ゾU砮纼k4w#帠4醐吷脑憭絤毀s绯憍賖P賢32贂忖q(棳 刳郥 гo饴Y6覩H5?賬9墒瘠[w谤者/]8哤袁Y痍|w睯+?2险/ 誟殡逎M墼X诔>丷D,M辫q褙蕹捆f$搧5诛plQ)V*貆@聃2蘗5i叞?測+蕛U[朔磄5鳝Jk幆o硄YB瘄啞 惙>沘D櫯偰nj 簧бd+'Hf漝-Ц鞮=]r耇%M*NS籪o腦枊V~1CX镀g皖fMsZq擢凑隮J0囷瘟: &嗰號C蝱"0阸fg'軎彅&斯6睱蛏:$嘖侻K=Vl髾70f頼S芸闳蟰楛X&I蛌欇r -Y境狸龂饤D0[諡魷c庾{乩锧鶝黓u賾蕶d4且$#0篟q5w=瀏魰伉Z@K解wq 6S&Z#Iea珱7奵!袣祘~驤G6畵匿羁]脡c(z彜虨:爄冉M[昬Ty宎e字L珪nQ;Jr誽a位睗z_抅> 栢*蔎浮*産(2嫁楯姹糛縏聭粁X屌徟ppIW絆S ) u(殊倰竊8I0夠鄥束譄r\:3Fk 橽=崐`邈遞逥 休Eh阑9碫鬶8j=}H虌)pt膂0iLR~}<;頬昳糄孱6煉ㄓ澚 hp蕄>昍妱[%Ie5殟褘 菫&-⒌BEd朊(唌{P裴}裇9輲Qh搟メ9+_廭I6誏a3DB扽y%`齎毗竘fB柷4,蚏/偏檊䴖荥/2蟯蹑A+.#L\蠜螳Z榗$gp裕历顭M槃#鶴弴Bu浓iSV3曱栟GNk痧啴嘧.眆1EcKwX.擬;^e2p癛:沯\韵vMkk%9礊/w妤羲= 沦_D 棥"醁b'X僨 & 肓黫E枿#15Itd5M;^历羑s/闊*迾旼`1軓kL撖迍嶘h襲杓 S丟噻蓇6R6|9"0紉賂沕簱+f篖⿻&筼I瀻I>觔妟m)TPd跤7-3埩1淞泋酩C E4Z鄦劼e粗疎J菎銊竛渪N绝F肑%S "-嬐i蔆4靁竈MK osSo0礸'閲 c/bNY僳,*吰f倔Dw散笎u陷JgKmM雋m轅笪'烫?蛷7溚綨艦BXL>蝶Ln-{W 幚糞搻忀蟑%`移顨=N蜇r縣啼4鎕)箇ㄆ !A:XV '} (`[&=~齜v瘂 菎1滚佺9┢fHTN`仑Z怦8珶鈺#5覕VTWH铠P捚罘O=p鹰I怭w?夜=淥[0胗A菒(t騻", 蹗b; Lq )hs屡h4m62v琠Sο婺#X礱_|㩳;2謊T暸餛姍_柙_9'&鍺礨!-嘡v禷姨睫7咮,瓩蹘 !M)8毨Rs砀慠lF c鳆~JWV來膞t裐0k艭-鏝 彑]%i珬 &N 懰h觉D簠!V& zТBi#勮>KbI荕鄦K拜苧B笐2S+-l;L{董 &驲皔齁85瓁9V爲HuE瓹眏絆磷鼢鵽 傽 I椃uX秼4)|/KW荿,7L,9i9豊淴I[栟u绰鎳5蔻廿3歀A箸|~鵍zoLP`瑀%菈萡(, x @9 al7J挰毴鲥償6n8A砧搶镉 /s豄?m傷忬幺歸(^鹚=~鵍:嗪^_-`帢齒1B\爞Z=!牷 )5豟!f葵侯R:h鍍悔却眍粶y嗲垜 卯F筒m?挭纠M2冝鉬螰Ο&1蕙:&}裀(賂#nsl01:@覯d膔BA褦yKC^姅乂豱蘓?[2j荴t遴@阽繛虁9 Х2穉#聏躮蕤m蚡顶={鵢≒踧cH镻萿 !幻J洅p!n O幰)`:罷K莯蛸1~殔5,哧.↘8陨Q蠎珣邱屏'c窡7巏] C2)檘訍豱膒錓嚍沧*@)=i賳$(癿b癜mW&奶B%扵媌煙>梚郟e*W炱豉瀺q$僘祜実鬒i漪 乄纑LM6Z猁9誡u-!虳鍎陛ΑNj箷}u+8#躴U耏p扖y+j秐鬥c喼削i﨟|Lw出?5(珋A沸矚^朠 瓓亍槨,v!匢1T趖y 蓦U髚廉5┫B^瞔齤﹝鬕%r鷏嘍箙焀詏 xeC杇䲟C絜>3<a色1cozS 築輕'7鞷叶o-e3鸾,BXF币乱,+岉ZU妧<&嘙(c宾K枖K忮挔犻h约堆缟 E0$Y奖烠I`.啔7z柿_莑Gu}:鑍緪镬^O枑洗R:l^8紜4仐7渮^瓆旘Q狧1焍升_謘8鑆M詥a,鈋)+h秓鱕;`威B皘;珋8T ,Z荦瘯!X築鸓*@kE瑃$襯x韷)d跘k淧)m牭!.頍7晗{}婝寵罯缧`泧Y喁a釋c翣+t蠁'1Nf4窠,'^-l7期?斩c`卐 瑇鬧腄V,猪踬熊h4秕┻皛S罀:郼}禼 X埍兽cfC靶>叵z$ E湮啉蒔 9-7焟% H甩瓇-'煃驄~氮奾B差篃s碣1啎 baげ埃Y蠡鍣弍8滸 f&. 97Q 匓鐪x7_從枍WH撓礃夷KG瘪;榯騏h.=!蚮J)歸-#沶ボ逫膮妶秒恁蘾ho厝鰰鳐x胲F欭b, 匓C澄齁>毃敛#~濨控e樒6$讵'Hi(灞?0逶#支v豯Q痪O乇竪Uス#[f&磓|陞∝):浄飧\k峞呅朞簭|畹]頥筯N紎wnB7暒V叶X椠悪Ш(9yb 粴?}>諌W{鲵0詈惝L柽Fg又嗞1/B6c$h漘幌斩襯B@訋%T廬`2摁=甛al昫X旹m峝x┼瑝○絷袝(0{蜚师CS:錭w J鶂6?汇H=.<0奢莁vr迎韕i7啥D>8f攰 d僲A<&(/棇)縚QQR蜓烹紡>吊"咹⊙抋H闃漋埨3湄R"-7_<怈P唬朇8Z E仞 .懾N(ぢ%眗泋ァ跦(*b0yXR唼bj1唴旄cH"襲 4旆R範旾氻v(繄益誎#Nu+頴趇烡W屴B2Ac 挪乸刘憳) 旾J銌)FU枩箸W髗mcAr9湣 黏]1苍"鍴Z簲bkk憸 夁n叴C^i嚭=f爩i)渘RW仩t豑瀍恐4靀署iE蹖?PhbU俻\R=癣碙RUw$諎;s0Ic莈\=欱O谒瘶aTイ篋悓鰋咦t!:弛n镆wtqq[F訕ㄩ蓿{╞=f偫傓>P; 擉ゅ`|N氠%骼V樶e賯Λ`xM献浠 `y*峕&弨趷烷v.;埸航澽BLBl薖+鬑滁寠<候 虡`Q[.)婡y J銙姌*))T%%II匮,^粺挭 fm)眍庇挪nH`圽礦f x詏|哬錷糲⑺*Ie0:Ja矝 酒擎鄆t!蠿QD扲X,轗貎>昤"Cv(!Z濒囨E=F2a凟y hヱ睵魜頢&パ槆 &潟7l`籼 L椃軆莃h爼BMOtg慼 葁挡k▽趌j皥iI<B謩C?lA器$JD勤X-囁xaK錄On蝅帀U/abJo m萚寇耄Na2瀼靴廅;"1輇( 6.砊虎3e曦[3愅洆它滦 k 9s"銣0逇郯f]c鼱緟磰寓店巘j偁H[齔K榐!傭樹襹骠:蹃矆 \FUB幧+妗PQN2п*Mr迣On>枞w05F蟨歄m直雏l7S:/釋i&J聁I研ㄙ+`[_決j}#]P 3jBH巈,阵~╭I,`d哥,鎪怷貶t`旅贫5B浖贤陷L瘓rzfr婺墖![瘅UY4{*q榁bD卄醠佒J=囶*g螨绲瘝N痢 靡&W'#瞴Mf蕭MA>環(皤嬡Hu齄F6竿ISTx:鯠爟FX瀴 纝 -宀%nZt ~瘟O儞溷W.6=岣獔厩纟艅摾"30⺮巳弗6cI廛绰]培ju'箺﨤谏犲鶍罥!o煱4珫8鍍W蠗y8I桘>溌蟢'銈6腑骂a眯āp匶:'雮葵萈犬C唹 敏悺>fㄏXUK-4C;/堳-樓}鲭~e霔'搗}油藈 {?Y謊慑 V)002j豶0B 棫琕|骉萻v馓AVヵ鞍湸枯调犆>:鞜]Y?╁疾卼蚈厤鷜厧MK: 08a1l僓獊8乆晶i={龞 素斿髑|靻2o:+螷蟫桧詳J奅}#C1䦶哌R铬T熇戩9'}ro?筐钳夹e莨.檝嚢b<砪K蘭[b餌==氊縷鄀臺}+歟魇l\擣Y羶V蝶硃 #|g礲珩*{Bf朜板!溅耬滣}馞忓K-#{ C{b偫屹璝巽<腈o|02t莐鲶W穖~洋<; x煳埊1X箌M姤瞚艢E俅"潅繶翽鶉蜀^~柼a^丶尹;唥簲诛y筚9U*蕌薽粵<|(x埀@"8 b +雥煎棶N憆銝儢輫bf陽6蛫E娹^嘙~玓鄌~2s2岔u榈n騢/乿搰 7蝽{cn y姙biр掠察徆q{琁q駲.剧雹酸乷=о鴱蕍?筠藠吽7;l盒%赢⿲v<q胓n0V嫰帻ZtVux动瑾R2)葂2`孡d舙T2屛牗緾眖┟iM薦廎|暠zh篛5p伅^局恣~蟁嶇 姸Q硨嶺鲮峹d丰坤%-鶖Ψ(|頂E繅P7|"]NZy跑鵮V璹HA臨6剳俐翗m *緳C fdAT副草K_,E[N揔A!ガ- 艑"沄<7=峷,$-V 7 ! eⅱ\28杢4奰讏鍤雊nVa^|7.申穅朼賘M[嚶I+序@ET&- 喦 S5嬰B.&揤4j=1秉顐u.諝錝鬃竲O骪dZn^趞w吟坚呔b乘 ~銎<3Y乥F幼蕬A咶(愸|ZQ)瞚餝姶賹"揢)!=9?嬕`5(Gc祎g允唂偊脝m1誁劗(4-wK 断膗\l r¦炿佑璱镏:4^pdT3帯汛&,S#嗎a萌劕簦3枡%6愼dW蚭$鱵<┏n结}(⒎M聞眎帇z覯轜倨o<蛮蝗`~td獏yl2G迌岦!蝯Fm234圐í(Sk寰w\?#缨9k筀d*旊e&珫辈e猨C呺(灧Qs.#崍?鶹昹Z駣KR況d]ㄔ 鶞釫gジgK萀衮7湄}P釷(⒇R ` ce-Civa7!詨魟Fi荕;p缍樲vK鉛薉N莬ⅲy$+!堝^,rS夈鎋Q轆$.麚澍煾{/C鎝毺>`跙vRs均`途寮,V夺敡h)趓袞礚4暫膞黄"4穘 Y擶+蝤)途G"RYL徛]F=骻搎醳]杬S1U1 幩攸~:冪zlx崴揢訩haE,P擟蘋wE诔殭豴螽雷7>晒y c?Q憩覼驖&媡K!*dp鶻s+瓭″! 抙,t'e猲灴}$5鞟收猜沐jH(柎嬻f|嚠㈡潡fhph舔宛洍f閙峪綽|陴+ 赭hJmB0d&R9M3倯蓸窡熺媤W袔/蔫谂q}!Yie&砧敕瞻毅繘D@箟歒禟股-駂 騋摐 r燾X霕蹛噅侵鴡膺#6\鳱 荟躏鬱罂軐,](溶戔x[V演镼磜IGYE源\腹奶ゅ濅w//0Q:堩l&畬J2e-T籴 jm.磛绱%瓡xU~泺%鋐89i薸岍'拃溔镋臷\\@湶劕杋层櫿4r飙8粠1-茩8蚟鱓F.Y戭^掎RJz襞びP,i厯扗鼠繱B音颠)q#1粐 k;臆号0Q,n譫R 8媪1梦C翼謁騈宅O3谗.杕瑱U惖6@X媊喯=v#DV蟿搄硤#!帢E魼=];<钐0G峝鐋'P8=-'m镗8+M9,6栫燐紴k=P簥佦5!雥=唃b<莾Eh2Y峍@P3L蝀'-#e琐駙豩n续夅耬i:.奪d9辒蟙l梠篔赙s绶咔食_C铼16腇s矟61&<1餉瀁miJmA糸8d猜wy鏈耖9靮Y-毡礏稁稥^貲庋焬R濘h栂{薃}殟6A} 荌aLD5佝5W烻襺%C_嚘$(‵C摉1薠兖鯂*鰙W嬲偎\贙邍玲庿U6\銳婭ホ辊泌缈淄喔6嬅 塒幟?浪栝欵骯 0稶鐞暠俣3<}4菾^AV1娑os豮~.{6l鲹沕魢mq预Y lTHe:-盐蒴?憎噓y;[a褺J凵篞W骻/+5)ff 晢鍘]1_福Jgf黅乀簼癥料旔S%-vZ%e逤撺w庭竳幥3檚P愗m>呛H|XB>ヤs}3蒰#欱闵'袋祼濘輢k.鐎28濭Ju磅窒s钏?@6D嶃横ヴ瘂1QPUq4}献咋 坠nG孍 n,鮵裐熍m殨螔3餜L`M斎K悢汥Y芞佧衱柽餜诅侂?<﹑韵c.拕潌<蓯=9顢講=瞆68剠狠遶+?x眽#㎏j;舚圧婝0椉嵊凙x庼圡H Ij鈵凙叞Ya禽蓵怂s8m懄牠@峋s摑7抑豢蝬醷D鶫;"k沗叽賀煔| E鯿欏C]'麏伍C鍃訸~澝樳N矵<谸峨変撃'窒諊襮㏎荎貳( 8淞>0Z{磛賣遅8(閘;~疂酉荕a%kDQ儭穛嘅1o0K芐屚X>ws浸魅{賥J+r磛挌‵9h&鶵$9毰繽匡%鵘遻どa x5s烧岬Fs [泸 婮婋庿鋶晱 猻O,RG1N露齮m9轺謁驔5h7呏*∵3q1qP帔徱氟2唙尢篕吰髎Xk∟ R>纫/莡E缣b咽翗惽nW薇a/灒#溢9贛初/皌闼楟泡t稐(s|鍯o冦O6r罪RFs逼蛄oUy﹃喛鶴D頋滪曌滐覻衛_煓~曘譠+eI竼怳r^:m!9殚畻賤钏?H h苢}VJ!Z&膭M炶h芚勇*n俈2VBXk▽p啾8绁锴蠑鸽;势n堊緥冔L呲梡蕈U\p鲩躷6u点x.?讁飚o8肋巾黮覓肬,:󌘵嬉O髿31T杝W8湹襡I焒餈蘔 u逧趩Of1Rsl艗3蹄曭X稅溤^皙$a9纐28^:蔔aW嘍Q(5 灂謩(ㄣxG柢耽娩絡3N繫e麍c僾4庛C矑峀橱/3>待罄弎媬蘥w岴l庿鉀K\鯾潊蔰染]滵5毃\赼q彟禺0|鈬u养&疱<寑N栋闇幅@Zy<6俦dJ粔l/1i"舁`噕R8^纤悭 瀇孽砲譍i崨Jc鈭丟緩v\唙,簠Z〈F!拨e%踪5GZ優E7橣i楍№ 2'遣★<\缏>_负9椄偽/弅0甞敦W/xa /駃o2芎蚿龓芕郖Gy檫o鉟鉅皃VR{㑳芆6痌褆T7鸼c癏"G 8淽aMJH`"瑝q[o鸊16_馟8D)5(氂溘楏袕䴕緾[荗VS豽?Q炟鼢垈薇煲w\g;渳瓽㏒熏C& 秐iV`賫HH)窠顷 踔'髓雸s頲乶隣f j\/懻a礨eP観e5hD鴁粯8輇荎46隳iN胯棕q讞飚{惊V烗:擱冲%磁譵4猚t.,Z茙+2絁Q澻Oi裐;庴8纤诀猻]呜鄴魿喥%h@`D痭鲌帷}喯較倏DPS#;h埬;H涅瀖禤滛OM滓s皅$偌 VS9蓋5R*ib%茺J)hWp炂`鼓Q冋缈EE2奄#*稼臦Z工 蒡 $嫳呀靯盾鰕ty領庍,.9吆鎢y-s桀P脕A薲扑杹Q绵ゅ5=N疓跅鸪a橝2蒞昰畺惔к姄^搞/5zV\攷!6!*rp4迫鰈礎Yf {豼冻@护划5蔢Y瓔c=T簣.蝠崯猬+迖1蕣6蕭蝩醙奃憈浐棟K貥8拑謥襬斱杣kz;5 瓹唶b鍪鄔+_燄^-倒CH9叛;?sR渙 =样\ hGz6`(焣Rl聊ょ军竳邱墸c"淬醶櫣鞾9s*6A#Y儽16Fф豄,`c#l荕Lb璭fl{&鏮鮝 j甆鈍Kh磲)唙芴另?~廏臰/} 咁欲V,w(攄9hZ视枴1埚Y钰鱓?躹旙悓}7荈+D簕蜞搭q #踷痎`%s(z媡澏")嚮-敃荕嘙睑+I娐&趗顸兴 ^疰O9%}=殠^Q摈|ad▽绵迾瓄c4|泾:囀裱-腁彇(鍬薌粺O诘慅;櫑嫡呧腶億[?q$帤8^J@%QD:硒Y厚eJV譙ZV$跽$哅Jk塕%\叅L5待,薓賅慷SMP7&^q8q赭Dg费盚驯!昐鉁4獤蒩祟}1[b鰩攫雨 餠@)#cGsP暭莍菻瘃#$E%S蘳呏呧すT 斅洗&帤4x"帡$磱hTF癸簭p钏>塁汋I\/+墣墥蚆:IZ{蜉鮭PX5m誒8`h-L铠>耦掤E食鋜歊廋5膩喳}_&J但圕坖栚宔x f茾號1',_晶鷚缽8篊晳榩劅uP吥搵憳怖)錭du2噚j!-吸欥觉ov Jk磼盿?]-芜輄鈞V濗獍譥C铼K垉簲屄Z2!$.Hk 制腝(攡葸3矍.躅K超閟 蠱媙tn, 搸"ET儼*zpo蹋 飲6l悼n>蕐ZT 廮A5-6!R=紿抰ざv刣鍙"%jI\7j!敔簵o簀かl糡荌筛癕:F&F!1ひ脅頳飪咂q}:棡M哧KI绾h制缵ㄚ-[I賈8lr遳T迏+'x潲, 谥贛5鹖隵嶃e∕醲)奭!灍G;.觷nED苸 炥p瀉嶯g 烏禤湐轚椮嗪i躎荕53 t庛啥oL驴d撝УG?$%)荅0VVjl剦 忁吸ミ棡綬$売/!腋^8j绑骩/(愼帲#a垣00簖莏D掐)R鯉r劖V鎣嶿仲俼夷蝟镗x讑MW墦秵饘I台崶'o捕肰饲檼搓ㄚqQ干虜艠X鈄〉藘7.~n*' kkV鰄騣咃銈鴃曫渾4洊Z λ聣?8!蕸问s晓z踣笍郁悺珷i螩!(d糯酐]-k宧{mI鵍Dx硽TVnF3<5[荡MKX4- 描刟习灞=p颼dR虬7 逓姄z困=瓇難2溨硇慦t#痟蟢rYH{ O[<jp欕P#跇”D腣傌 嵗RE崳@):F|2=絎K攦r溬xQ!Z&卹Z匮肗瘏nRI湗臓s摜I槓躘<扏檇娫a鱋杼+ri衢蟜Y|W鋗碿翊聎!迳uh氋de48巇)G@*xi呂(湰B鏓餠股-蚷颂斸邪嵫鸼 Al_炣2抪D婠 篸u,'稿讥o]廗{V延媻娢挦TP洳怞i朚&軳b菒套" !筧X孶飧%2矚14BQ(-e榠虑n榝計P适I6]擬J莐agl襾: 昑皦s&;サ!M&C5沱dc籽_鬤蒎裊Pv鑛i6W漰'冠c-嶳菜x 'y圿G醞=呺傊 'n^5N^秬5姼j◤[cv5芊3驺7V骛6珹篞噽駬Y苲2'浆3胲舨鮕;撕M fdAT}韸盯&桽鴌餦5'&CY偫4E5寗呝d矷釳K阞冥 陦揘V,#藈3Y78|8裭镠'膁N24$绍H猡&Nゞg戻 諴b=_?煢敀L軶揗[ :oi姷媆JiE.濎 當^沄O眭彸#%N霏X-贖藌潩歕Q蛶B剚噝0Sa跈殽\窋隤n洒j`i嘕┤鈎p禋:;Z醞涭袏葓攁5往ZS潼埼驾熷邦路捠6〈+?椭KM槟憽舠锔>{>訃恫矘狒,_戹d朋]臙3*韨缟9EV襦` [触5g-I慜i耶<帓s醮l砼湤筏XTRmyYA崊f虷Dpm 彝槩v衅犛(&凪藅28.3O"詖mu鉒,<l>.:v笓/z籣>旺艢+鷞J)88^r!珕驍el08f80f湺LV`.菍攃庿焷霅E放嬀8仂juVo廾帐顶苜򓵧k鋝c+[舛&疿棧疢q醝犝Wq艦﹫km0U碪nVe嬢銳綌篧岣)CT&鯴k寠*禉L貙僙賾!秺R覲瓛碜乀聭D"钹:`暐# bX蒎r鰦 溆妉f劝s序龂v寋濩, 飇g尕癉场_堰隤d荳D懃2m9t0f邜e鐞a飿蹇񪁤{!G階C鈡膛F埖d^ 繷l鋋!e湻4 O8c機_浧骴>E殴昿U氩*4K+殹T. a猲櫔Y*uxh蹿焓K!(d &z+駤!Jb;愿rmNvMWQ戱d俗塻OT-& K&R3肩k4K:9_浴'*栄瞸啠牐 ji_v嫝Z苂 揺灠穦辶騐郞9v產h掤1n豙铹銟练G巠煈睨]/弦Y6EgA懴)R嶖懙詊柫儐嚩[笥=跢蝄~嗌q侮駭摨j騭珵騲4悙靝潬- 峡%镫遢k钯咪嶇)f3菗,%匆jl6D; 錰嚒绽Ro(陙ㄤ礲_讜9抂呶yE鲧i}LP痫求enr熕枒)烻ひ 菞>!lB筶43lm6跑 %弣鱐ad-鏼塎?靪 (zZ}髋3鞙j襗T(F%O鉩駖E:m 04!鴣颅岁ぐX0V鈆吥十3|w胶客!煉趃嘠H"垽9愸妦嶽v5畣糳M濫EX蕞閚S溆姅+蒘|壔泳靖H黍8V槫L a猣iFR B臘02c箆K嵄j|p sJrG3儬 ZI筚\`儣?)E>cIg4孪kt盛岰6奿o佐后鋫剤撐q祚郄k盅j陯涹l^oR芨5鄴)O蟌礀%D;郮叾`BK赨帴.箶夲濄H<欝4招LM5サ趯犧带巇馂4]I駚﹫维肒枝(d訅x葪瞽丶铷5)覟"+檹瞂#u醶`劚ク鑂蔶|尡腇10襦P內貜2稝kR 緷Hz\+鑭1h媽躙凢a4韐鳩S甏魒kNY晤KsP沲愴麯握,Z攚X庄X侪鳃.琨6-櫠#齩璸"/%-3k-⿺4倲"4栃Wi&醣s梔竬o跤浪n╚{vo帨c颧-%Eo泃暫嫲该’]髾沢xy:媻%韸e>淃=躔崆猾质Y0W" 蘮du?4乐&虘唴Htxd笨Ev竨m睝[.p槐飓VY>V6W鉟虮罬kL诈樖%-畟舖.馴;<^\闐仞翙琛釳mYM{我曈*朶紨迈,赪笧H}jtr郗1洮牃Zm()鮔间蠾p 暎,鸷UO>鈐霹K2溆a$YwA醷5綎錧%~鬤冗軷鍏玶(`琣悲eNGじ'筺0叻Z!!鈆撋徸%崙憯j驓I剫 轟O鍶籣潮纈齗蠸t(淅髁XE*[鰪2弟究:壃 [8q[7粟槛総]';\uF営)V鬸z:56E*跅f儔! lX&4陠F 猽K筬邪T0]诽詀瞛櫒X~暗2鼁蛸d T遾I憰菪郐骚幕苀, X>{ 狼[恄+o 夁'欕 |盃鞤d鱋,U豄楀))逋H砦X6%6LUw渼跎f鲤ャ}鯁B麝^牌e綒.M~F:6J+l3KXf慥#7敨R銤┞d2Y祵-黛7Y晇#cA鹌wI籺悅MY~弗蜳9鳥rN(讘Y9焧"KP-S TW触(4諮媠硍p5G8  =奉瑹C趽>x韭u+_贠0(iEO80D[c垗詡耎褜`s_妢S?!8嘜rZ利 #薿頖叉s% も1鐑=4] [苸fR秴%76V嬀08m~#烸溆杔枢甤餦錢nP"臚c0" 5~余嚉T`萨* Z>擼薊K撑;鲎^捈K34=K蔝鈐裙D滝#ьq碣猡扞麕7妪|沄6V荴僀哾\#<饇3R7Z歁M筬餦)7喃ь魚表兮〦佔hw錑/"韯!cc班f蹯皯蛄MC:f 󱵨泂礒+K(堞籓 "鄢臝AZ僛慤鯐跃w伾`GUX奶v\$婈閶c嬕 揅饮盫1V A:N-泈ジmOR?^+邕縇A@浃 E繪=2峡io跗愾嵉X 苆12糇预25-礽Ky09e94-7覷K#癟職懿V 蔘O=蹨y冼椳捶蝣昐辍螸筒储铻袻LXrY呯A)f蕟酫藶1绵む5'k0Z =R卖渻$鹹!抦筪Yn]gA褢S磂! 峹Y*Md瓶. 鉠U:X@醙}"9i薧\邽q=i(A淝鯨鞚 ,鹎婇9熔鶞=g腺5O/'熞譵Z鈁:N9[ǘ罍魮_~g淉诨诃д请珏=鱰踾8熇|?榨;g0畓裶紝秊%╣覇6訾{棓稄鞗 鱕a_y$iN匁怇媇畍0罇AC50嬜tyv霻(陛b,嗤燃占t襶辜[sz椏龡7拽iF皊豴顯腗籯~T毂O肌逮3揖蘶=醋皓竓^zλ筴rY廷>橿x嗑坃蓸y糮哇v頃R\q甂j斿1軪E_1薤!焽传淔4/Q9'}R+5}氼%奲鬄)rYE蔝4曼者y打^鄶[钟炕v笴徭摶 7s枚,弦a藸飿姊,)溧膑5hD霾S}麲崇滛撒l桃栕X玥V绖84磚)蝂)n葶l!d邶 2斱幆hT, 咣Z氤d}E_{ p莡;+嶋vw!M媍憹J[圢z%郷w?銍i 9DM寴瀽壱lA撐+主k^.脳铽x,遣骷l}z咫.J压H53{w谝iO豫塾,鶇<)h/饞mC覃岿`漟d缑胿D[HN/濞4~ \|>玮灱沔R鄖 癓MX *Z汉娪{ゴ獯.蛓痵0苧鶵囄E殭iK1茼曮伝O褃姄f礴酾x翚眳硸z消穥酥 A拧君荔仐)萗鑩掌灚ㄖ,!88j长<C[汣*n僓^v雋p*詬佐貊徔-G_&摉m~缥橈r發8wqW 嵑别缲~臯刃觿/遊厃隊皃滛7n蝧舊梪4Q鼻怬m3C$M莤q品(x崼昗J;qw蝢29O憊匥-gq]拍尅懒 薠蚏HAWA靄O懰(6魖l "9'脄?qu辩ю}繠璦7`1敗疯褨S`w飰竌{搈c@蘋hx幨叡g灓cZ滛W7豇g灴Js鰴}k]尡鋜螺鴸Z靠襜{9狼伔]Z娱掣湫曈2愸p訅 菵夛A!# 峆1Y1輐Q[=癉甭蘇瑆2h單諍{>uu懽(厳S8Jj∮訂罙9Smz媻彯湤;'O痦麄杻〖y8岉倶~]NW灆fu烠盵鉬 ˊ:+5鯁C.U囿w擺hy屈僐Z})\騣醠*e艑$/岍譧尷魼&,翴臥e略磻?﹩!8Q鲺=铍k骪x瓽鋱嚶r8=e櫂6D%鳃娢溌W陗桥^UI3Y砡k蠸倎1每躍D聻yk筝IO_啡髼鰼"厜,搟 礗C;#x99緅驼*s槭 +;2)f曢隍P* i釣鱘昄&B蟌壆T,呼a托R8湟1L讌倈候葅8=锊匏诚殭蒬O讦i摉.创袞/ 傼~侴P舾糡裕(ǹ肣qAEVY[-旑m襩M襠2檥y謠鵡鐝刖煓杅i浺檢絕揕2蟋麋咕昨>怕| 緖*粁俄[l哳硚偿P2 揓I@}NX溩q:P kU呡銐 g鴓駀诵e鄞鉶nc鬒x頶誚:H飜%F=5C詥杀敥G鉅穎)`t/т淧-*K寊袏咮A梱:茪L#J))tB#:朾A阒[袑滺XhC M86Vu葕擂k 76o0暄觛 *,ó 婼略03'套吂.0ㄖ㧏C?瀝髞槢G攟肂峭]wN★x楆僩<兑AZzg吤c)G椔簙║T歳癹Zz*唈貾,h孻*C 68辎辫n$#窪79'改怹皺dxrB爨罥go[蚯G{韽央z0bX3d矓jV絞︼判^帀)ar19-⊙履坚钧P'E梼}瑫)Y}e_洴靕;K淆I 襃h〝t昦毬芗pb^8:韍'0衷,}=拗鷝 ==哛d)<#鴣朋腴.襩嫺侮Q娛枾壭锧%/:苀`l1遲6!.勿辂魁_鎂噜慷囁务1扎,~賎嫻丢琺h 骃庛懵)荓1踿(?籷亗;\軮Tz蜓lUV6Hw擟K罶鄑赑;莺讍,磩FX塌描癮`躪 嫼Z膖+榝"Z梻K M$夷祬姊cvF槡︾嶰E寃z眱)l凵仼刪峡rNo嘨,犤k>䲟  =UKP芝肺峪酚$早3搸眖徼t谳 敌r漸$蝼O魨_i稈A&痂芵.肽簶瓨l濉P)Co骏襨(T-~鯓$78=2]'愣衝 8飿汳熻0 03,2抠g铩 > 遞]厌5t*>馈仦鶚X敜4Z褭级焮梭漱/黗卝E%'0腎稄 蛦cq&'c3埋9窃俷尘鵋S亀<9椺┓ 醵8臚塦絿嬋;堾榭韘炙!櫮i%!qGh謪萍0?23袶鷪<撻倔貤:滜i碏堬[牻8F}澠$kl涙|儩齓 饵5;埐寇耕TB郷js䦶_[骓7)魿筯"HV{u $1颴渻9ab趒l^槝s套吷嗮舽躏W4棨\ =龚佴貛荔遤鎊-陓|抷赠&5剚66U 荕,>2?輆1%昊剦3赶kr讈#L邿 c '钤4gI[s粜 嚻g1T 蝴赉熁w陦^髀 见6lk?訶踃HC;饽蠮” .3聣9秦\鞛坸`后>噍邿K裨贘)"|~.H! #綈:媹泺湊L;彨^宀&LQC槢0赚尮贜頝"80岂&iz+?#罞)Q}L 瀊$1桴S姙pd采蠓が秣q纘C籓淭}呒驡.+驝.皔揺`痴 t" =\S7Z操蚂籍P?1熥_{傲b鋔盯A ?菅z誟猠瑓jù承祝=NS嬄L鰩;f霂侷 倫 籜簜镁峋6墥嘓:s㏒s%浺鉉h厗ご\L鈩D8qx剧璦矮:藥朏[竘S李駮澜离渿}骍.?莄彽 諝潘惰i姚 f凢C瞔^c頵鏇憨y雤歧S緗牴>eW)矔饮掀K欧烋鰘*裞禷榦:Z1啪MT6\E{`-瀏r3;垕h-我iN掸-Dご泺s!砳H镟 晜°T鏇耬=S熠p畎6吕2:X\锋謥帝邼N|'H躪瀁庹W =P,Z}3暰4Zu崮1荂巉Sハ祿d枘需8谛zo児杮'饑O礤xjl]椯媭/?梂竫O赹冿羭[8x聁蠅黾梥鐬j#=xbH6q詾胾zB8q!甖'溈蓿V劰&泇泂6m死0謟LM橡峦m xl暄冫FG8:#?.r+~嚤堛羬䴘┟w蠸J9o澫{.蓊銂'7c廄GR嶭s-m昌媳S角#竞g乞z谮j)+O緋{﹖蓥怰A叼凜 _颽d3mCb<垁へ4"p1U逹!:食氟溈蝦酼廕Q=3廄G&5纸{诓7e藔aぷ2豤瓵o培Ym瀙,p酜qy傢捌冯tZs旖錹8疳5 墶编82.s<8撗差j煾準{蠻鞳7骕剽4 颰?\A冇深睃悌w蝋鷨姶8X[呅u(6%:&斀劉'=6刘鏧v鼐辌:忁K恊桶em焑遏 鼸K10T奪rRyr睨,磩sP峱+^PDp 諰E:((V嚚蠋鲍o瀾%n0[圌訹邛=葬#潧澃 S焨3@e] 珹丽﹏碯@氎}纚幺戊烰6燶0魯,錿佪cm娕2=!&艎"諴o澎靘r轟彮C柾k-}脰驙⌒c栝穼n,$嶰咿狍w幅鷣6诐[ 餿}窤[幁f肼詡p楯(諉駆睘彽4n慏Mf苭s硼"#UK#陶av0]悐頧淠b骇撊鹧G糿艘>{徴w豉爉-(5嫜齒}mf贄朗O淣f縬b!絡l.}生忁挜.`3祊斆01*芞偫^N俣尾q峞莹eK飠藊蓠7焠駰焜蜮 贱"^h揷庽裏&汮伅馼敃庢汢3R緄m`+~XF覄8#.E迪吥'M`|卺鶘L-h鼪$饓iD罱蜡=蔾 Q6 濐淔/蹈"笮褵^燙@%軈6`=*#/k嬔@{的f䅟諎_{i55KOI7俚#榤:祎屿㏒彳K耳\把痫鱳#.餕o琾9>.俧Gh.'勊9徘咴K7,60尅k絩lN薩|g濗'.M 铮 fdAT哲莁k搋i薷0绛躔璦 B;偪絤憐荾|^#KGc暐"E9#毄A9 j枋藎=謗{磎詡娠'H&阨 ∴[*E〞燫(B9fB#意#顩=D!D绿 ]0q8錙郛┬h晾 TuT 鯑⊙r歂-艴8I睘顉4倬Gcl&/Xc櫘 闃肸C冫'n_ u珻瘤H敞缳哵溴譍7尺巯i夂铮晎型部s&鑙d蹬磋聭鹋誔壨匑僵Q,"] 亝享i笾鐣/27徼u枿ベt隊輤瘢庍鵏劲亩禆祂,}U澠魧帍;-c静査^/A爗谁鏲MU6uVP偲!帉k趹錵殀罅"伖Gy]秅?汑罿D絡潷>V佃褈z牥t溺7█赽~Й俎-ZY?qZ嚧2邰o`ㄇ襑1硷55:M竮C萕飵鵲4塑0}B窂詆5腩疿6YF鷝 @R+[< 譶+袔罶<諼熬忰‵劌^踒奇z掃A/蓿 疱瀐+蕷?#)鳗枽 懈鵅犪c竚踞:O瀶,{=`J嫨穟滘 (凱稹j)iM縠栓莝w吿/ o9=礆(-x搛} a![C顒T燶省!v洛 ;~ o綛)W置诂祫.菖戙旧鰓+厂nx煽/浹x頛甇陳锵躁#-危梵钺9?弴冹kd諆┖鼀1J8茶狿_▌栟姟縧4趑0Z岴醱^S銦no篁]E竪,錣[}吕`絴铷芍怌偼A屧6昶 Z繥?著:試./  z 鑵 皴e?脶=﹖簖瞝0e磾4剒c|)遊葟}"儆徼+a咦憔h==,*E4 峏*5凊刁S-;姟狯1'&漀筯僄IbウΒCzq 葰a簷覙="`崘B揪躗堇缭I8$剰簪= -h规` P`觫囔A絰㖞嬇h 瓡}煚+壓B臤愹鄉<筇va 槴 a TCC蹂 斒:Vb沏鴮0澧馸 8嵍09 ' a逿B/樦 姷羖+t瓡僟(僞孽渳K蟰4O藼=(8kㄇ魕b9岴_@&漾o鐟盔t半?}儂﹄耹ShEI地.㈨Lk#%)麫瑮_TTn辎phR豷,逍搞泺 徼q渠#聻#:瓃b2\_e锓?瑨O鲏弭逹k鄋>@K咠1[mP珻 纾瞊笍;乱谒"陦s(娗霫嶉_+深i'颡O轚讞淿沿P匃~n季椗枺域Hb囷瑠A8怐I签襎忯燮Z|髨缸$U;1熞_祒Fh'Po -7曭崳W莛k,N&墯臐E岝0.%邖%.ApL g 鈮+ㄤu/[龀溴X-//5/嚍ylt淕93H 鍉姷'饇暇 !'72跨~T 枺'杍貿獂`0 3mC). '鎁湰;v 栱'颶dc#!:壁L刼nIP^c畑8t骺1?睏]Y磨谯7)淜0b┫(g ZO<憓x藽忥A4e饃,鲯侔x奉9快靪|詛媲-诘Z瘤.F瞣艏k噝囅脄鲞:  k 懂祵 [蔱悫wZ09遑}詑轻閿胹塡>4鶷愳1M槑 瞗鹰;:S獛p7> 尀w a貗尡)蜌'%$骖/猃蜡r鲛o噁炕裦纁)忡d 蔅A六DbLA?剈圡p蜾鑡5売b驱遇0詼求 勭厹{鍙疣⺪潡o鳈YF'卝Yev崛ゃ貙pp&娈睅{m禋%N凧裵tNhD僨魷k)V嚇;眹4榘~求耑 ℅.MI9蝴钨up 拈.|h耂E鶓<佺枲淐摲詓,y'{:鬿7_臹.岏饍2")[/!f庉臺搡-Pb℅薘F嗳渃螪$嵞荐2ZCX2L蟡匍揆->摖X%G89?NT1x]"塪屈綶?凉W81w郌 g蓑R蜕鯑9(蟋<3O(峰区D龅譕J膊贏乽晦P貍HBk瀇@R}=瘓) n竸跉z欕~菜1虇瀽瞣yh&e盖0WWR蔦>&盗蛒6 MZ\x韀9|绊抑П輡U难甇庖劏9K9{g牋坸踏%ò)<擮臎玎\D汔I床鸶忨3嫡 襲~X茲/钮1.匓 H`璆P╝絸s.篇治灈>茊^7b顭屼朇$ 楂⒃q鱔谭Gl_0N奼C儓[K}Kh鱺硐8賝脼o} 圜Q牅-艉醪~焽左:尜1騲s鯕'诧熖媪胠5凈禺,.頯瑖l膏匧綋懎W4籪0F瘕$腋霹准墐俘氺殝賩嘨?瞩z\)~皣c3罗痝Cv肘覙vs 桭Y挦墥16(`龕#%g燿VC瑰听迟茨5嬛a沱诬V+Hx鸘?8圂 c沚*{觉1Y魁yK5眫g 蕱偘G転鐪g'蘼粁仰2C5薫 V =#B#<k$Mp.a鲘f鐂擀,枩)0跣l戒漳=饡泙蟫v薔y寊坛myi◢邈d靫蜰赤q侏8 桤j窦?(E<繄1枒m6泅|c,謟,aX%(责 ~X≦ Qe蓥绫槭7蝈組zJ0P爆J ;h诇;Fupc睿5逐旋煑B⿵=唿<饆淽n/傧x熴焓 K澧) 蕡e羸Sfせ7^鳵 助X赀^堢X魁y诀?斚)隿斦d,A祇#稻蚻y鯷滕炇AZ厉睼2B冶絖a輞贤涪d摗8A\暑o%X=昡柬 ~-鯖|i厑昌鵇,O勬Q傫=繻抒p娑贎z逇崡铕耣σ琿⒈ +X' 暰 荃阗隶1S菸漘鼄铧线琬偱櫭汜 >獇脔漭焜#G漍/h∞x蘉炫*tZ04腋SgF丑/[濻ya)0 霥徴6蠔+7\T鄿薶縠鄩]5鳎sZwd霃誚H?狂聴xf& 峇郻佝7袠;F7_鴐姒霾疋攸學皀珞.M3緍丅篃g{鴫繖:哛闿"譬J忿d+u幯2h&蜾1鹱?pq佺滐骻?\c髝鳛憵鳈j羭 朲濤;G儹員 莊NX漶)殭F醌觥IQ 鎟[m 萱e$?吿睤中鮲i冰釽r蟇䴓?鱚俠嶠掳+hv憀蔛o+噖r瀋)suG7q.謇頍d螽.娛刼8抡楋嗳瀘紬3珘i)x6o饃 +|jl犄n^ |霱.1趏ht熃餝9H髽硥z藍Q9 魵廸)政气腚0;翩 `絼蕖si/NP Q販1P裞`龓p蟇%Q媚潌=:6锖k}禱.主耢m怫"鈖No矿軑赭! :r鄁, ;n?_>}}啳 &沊}脮炯'z-囒o|堑56J栭駝} 珳1rmWN盌&^窭\n た)F0炙轙鬡Dt%搡亏汈嶌爓<$臵冯躿訜c鹭u案眭鞜$哊s-椉奙隚瑁X(R,$烗|騼ux '3椶{<覵1敹~盔込u峳`x瘤"[ 禋2驷鑌歳陿WP .f僓5蚔藂_*リ0b儑g x~堢厷醷〓_PE<癄7婾亣h*厉奨沣檺B睏 緞 ;_耐 m紝蓓-XbmyR`煤!炧;wd晓慵昱梣箜鸄y漡0 恣瞩z鮈O臥([聮釟藣成_|k戦v+癿潵Z嗿磒t|淪Ob&賡灏尾耤斡賘瘠熼)闻X?磊c%@験w?#B挾0湪9O∫-/7c<|OK洁绺?+^馵|轆歵|-凤4煍滯?4alD=X#O?仿oaQ^ya 吉6-芵YlhB甫遟dHI趙:揽p旮穮稣焗塲咆j瘠/卮骵&痮趌t豖OGA2k=h餋<繄鸺倖竂d蝠w饇鞻v3M牟茾刴椏栙毁駵$n谆拵|脚殎闱@阶殁QvOy鶐!昦- 7齐璛懂貇ヾ槦w躸<U>@S4^]x"o鯦痴襲a/#g腷c&淀枱@f崌魾强噪z炂猍炁颀72b/ペ Soc駜2I躟`鬊鰙_&&I漰琛)| #滯 乕緌犆U[C.8咭3l憥袡腨*-[鹅 u轻銕[G燢"Nf傱智xj骘4[ 蕉诳兣场f翩褵vㄆ浅助x~堳 Z/腪耆东衩2趋萑演╈┈孚厚顸"崊1喎\墌 舯$鳤冷巅n;冏b竺棔9o6熇B,6Z,履迍c#G'咞NDpjrG寲榝X篷纾賘i:%;茣aDW;W[ZvUD狠(x^杁y!`孏up3C虒荮鱤mw 腦/扗M6砑侚{0b杫铧毕蛂`5襣夭裄N!(脍o(捏履,|gw路訾7滗G紺忶1栆搈!q赸(鮥倲菋BC2悮l ボ `瑬柲閨綏+戣h噏1i毎鐂讞/釸猪2俤10X/ I邙a欪钊>"c-搦)蠽鏅紬鏬!d税嵟ず捬5剎F鸩)止&荏`蕀熀餕ㄚ酰佯岮瞅$ 蠆O贖::y婶璩Лc4&#MT育蚝!}十鎨.~桬e}<瘈K#3G鬋./衖卫檿起负裙<*ep 鐻 駵t%Lぼv 瀚{b>u_m_ X&K髏痴襸'弢cl6苕2*軧Z龗5K檟vt[汯3哫/萰苲 o绞}嗨,>5~PU滩)岄眥8绮變.OE藡鄒絣違轱5$嬄耫庶渃r辯p埋S緙裤居酜鸝莯噤糛理G忶;旨鈓5敤=忰|$H氳櫂Y.T籘n)I胸褣yE銇烾<醍J岢尀{-3G雲巳M pq)檪凊C庉焧Z3_驿飁 {^Y奂e[ 訋蒠嶝窗gL䲠/迵疳o止g俭g鐱蹞>sQh瞭垛衆黮E醔5膜腝S僵$X1L嬔.敔$(N昽寑3衮包噛股思t亩薩g k辖8衲X%+冚劃卓=啁(:晨頖(^u賄弽儢@DW柷柏幭 &撼蛠 丟筇8貱贄壹NnK3:甲媯~"ЪR阿>1Р;[隺泥D籈"偹釺绳-<閦.垗臱吁舱﨧虓铴9? 劐凉k絿菘魾汅茿徿G硊7\T鴧~V憤脰j 灐 1唞苂厪抟嗬T麷拉溂c錚傭^4]滗顽6[!綋?蹇{pt>猽"鸨<閹J:聄_.岻猷Eロeh4 颤:8!i0*#蒪Nk<饠潶1\蒹i獇渮f詓&Q 袎Q腶!MNZ7锘鲕o径群禆Z熈鴨(啢蛶crAォz鶴49:9逮y铀闤#瀮J芮"x>]aI><馁>錨VH7魨靈p毟:N磿wl儱匣[猘婅/峇Qw跩 濹A婺t鍎滽偌荏癷缢輹%iI直R軼绾я,逰v9聋搡#杹a媉g i鈎G略琾|竹鱳4A壱牫濅#T蕓敟恆=芐|GP袞PO籲賙茹輎VH礰5鬋炮0i狴吿汧$夷Jx揌眻蓩SPe)cW砐搮7恌礝梹刓鲆_嵛/I訿x薝嚫鑈3扑阊/^r:璷xv夅AK%,旾顯 3陈 =G釺尢㊣)-斖t&5,〇,?慻P~9(h栓淄q7dTVD蘱; i偙I語识{H殥DM襎姜Kc掖岾"\腼gGs7B突EF嬹著-c餋|_胳タJ訸喈/c-暰鮕>'H伩^鯸痽恁欧惧ktd∏bB /:懓0'漷>咖5媟>Of)KR6◤n 呋RgQ敛鍘*O蕿〝鋂嫡郔譒粙侕#8湅0偆)qX晖擪睶抾i){曛蔛偹:SY7薐h嘖S6砑仩P嵝=熍Jt趕x^伕闑 #\鲋kJ縫屺翔髓垾g岹X涨LZ横澍ゃ袆銇墑鸟S満 >a$@c蕧▏|贷t,Ky8%{寚P徑"廀躒'絣%疩1|!髳师鱾傊C搫$n襫N醳!i!Mz1yT裚揺貥1^讻Z/唐P|0衖7xFSc饔Z燩袈棤掮E?tY醀w俑植a紾ZK豹娨N5/LN:嶯h卖妪#|9TY<(佞彦^儨魪鎟嬓蛾嵊<Ё腣HR湅3偝!u倴<V翛Dm⑽"8譛颦梢岮閂 場閸罒w<坷洹9w嶅'/9丙3]r蓺崡.+柬唋踟噶c`\澈@B񂵊;868:眸頒累9y桱N翩莣憮儛S,E;V嘪Aq鑢[ -旣-I{怢闧R泫e0崥殔4损SM牪27t #0!,彭E*鉴焝禮~鳐%fo鸖1渒务瘂倥!6Z6o铂YgY麫#ⅵcaZ868<2Y孇奡kD%(p9},歬?禂嫉+牥 b$jR( \釞煮'4隿 n&Ai襋廻挰暕9伽玽dm謪蚧咠p"o慨啮媩⒍8#|`竾穧騼TB#飜u艑瘿 Z聜馏罞啢鞽茝;嶭,?拶凷弨鋆滯桴癣鸝鄣'IgQ鶻闸刊垛A闬zOcl埍P畭p镒?喇琬L&郘D *I蹳R柞"+: >謝坹$*#: 泅}+鬽鰌慞t枣囡揶C'S5(X E曞q盧餤0=8686'躿,&J瀛渮$/漬$@凉嵱7/匡6楧摬\:|炮i焙#违祾衔朕_6_鬔*}氡y5鉻c 0獍-J膄舽槎VE4>r遟0捌罇-A蚉7Ti ゲ≤g 嬥嫀@穭鵜区H饙;逥薎 弛(N稐)啬肳専蘚vsh2{暸熖Va嚣 荟I:蚘Fwj可 筏唺柄o")8矺&Zp荥禀#灘 駖奙-&璍+X/gW1/1D硖婲 聇S8QO镡<嫧漕4鬞塕榮hムI哟瞞舋鱅躎昆I栄隭滨v\齠q邖敻道禟_吐ηI<扛D柍O5鯨梙*塇搱葸q^=`癴閠剎鈟,8軅@肁G 5HGH愒砗1鐦苀 {镦燥w宖蟪<軏(Q敐3万艺~>唇9叾VW%@axR桪5^惈鏘& Yo~9蟖蓥鐨=炽鱯迺?&{均;0斒}hNb寛隐LV邱7事鋨筮.襑祒>,8lb/樌`!M鉡捸艈VK槞uLS嬄w廌tyf敥49_?k満啼锈A(g阻Sf+S燱蜈eV*塸򓭒嵷t+Xw x鹞a瑍 fdAT2谬7}坓艰 ?襒'N-芀芀%u唶v侎7几BK礰Yh耽V讁郋悇喉蠃B 韼P&&厜鶖菨洽希撆鮺,恚ㄧ<輶啘kz {漳栀辵鵧.zFPí夣w1J4钮z謑ed骍L緯鲡$=苗k簞!&u貾"鄑/譂_h拽l7屩|:﹏hv9冓@ vw剉 虷h6aqV槣:針老srg消Xp.{孓髏蚲潕4渦Z =R閇謗mD{肫详瀁"$ceZ NR謔繛Cw助灾l. 鯇"侣>铢隉半?M闲6F辖庨甘Wn繜賳'栳D"詍G袏犧-a./蚂01+歷|鍋銒罘唁錮f衳 -<&ゥ9攌z&荸Ui瀓3T声晓 偘婏棓'( 訄$n撃M腋峴JJ僈#羁馛<髥呃*D滶9p圻E6\餬捀檃^[χ X樮稀{>C蒓y%eZ !斆LO逤o*pm榠3u苎弈榉勪u2K;>夏R4冞熭㱮鏏s[ 纙綷蜮_*鴄 濊T^碔5暒'⑸U*}饚 ;畘3芞挩铠嘛r㑳o"儰歂鏩9 吱滥瀘}尭橙牛Wo+R筛F!I匳81]u刽%縧羁/4g? 3[鎨3黱3 辍燖=4`吰搏霍タl<縃VUv裍磨H[腝4ik縹唧Bv# o緬裺痗~j{o鵞v=飃蒞苋rpf6撚PEC蟸3嵐1鲛75[C1<8賏]_H` :茚經霸 @X靍l镒R俭SoA[濷尿R諂Vx淆l侏┑E/ 5紶↙龑&摱5憐労筹闺涃v閗qi舭X期W啪箩?椭K~0蟘q苮 m#墯捻:紺".UPすx傷oテ兲F4Q奮炁?Vkl▋hiPX%(淜f@%8c][枍&鸍袺F淩F濥4迚觛 &蔢: φ=*@ |簧椖ぶ撞D&v涳p颥鈖f*’`詤'-rZ曊睓óK觧H衂8A1C≤快v6#J硓")|麚紅鴑稘_j嵎F4:-_捋齋颀嘣儀倆#(H2}摽V?Oo宭:菷?葞錅}/ 魷Y,搆隂g籞Sy0N5G右_纸役d廻 鱼{yq鮇靄r螆勤^聾招W佫病\0l鹳1歂~瑫H輁蛉谚|勪 7隈R%9~鄾o込e礫'鲯.鬆 PK烓滭N桵庢陒 諈\v?B>澎覃隰天g4z&訐}b淋G糷g櫗脰Co招[睺+啚VT燰妴嬜匼4Z豵唏枨b荂( =杍6I玛9顂敝螰IT賽 Ah}T‘陨铹+刱脖 l 鋣 #5)篇 彵>獠JM!4覲n聼騵70躦X觕 ~K*蠸佫歛pQXh:甬8>#稂玔哳CKK鹸氉@夏V'4z顄?P wEn暔炖8I籰z維-愁36徨慪湙yS鏡*,簯瀠梔J覚鉃1櫭Ni拽fn9鐓l蜩/>!( EC詹¨h)YJ!3F A趁肭T賒詹椢柇慂A閹-楛J9趯(B矻,?v 襫軝餀Nd跭蝥h頠6湦c墡邆卓澃P铌撆痠聭}哙瓧/簿遚mP廓x距 諶裀*C筪(嚃R雤}.*\祇*䦛N"烞鐫趈9罱绾9楾Q$Qe備)m誫遟訜筁.o3駡琄E&祿{莈+sLhaa闍实A@k*儺%痟f?=EM抾]蹽*桫 V0)x玖 柳 X奺 EKー()辺E晎幣w}韅脎莱灙7┒以 歈{笵x;忪L奍3,S76煩稫uYy2|o5 瘽j據x)&w稠,碒qFn龐TK=攱F躏Q芓~繏殖x3E嫳俿縛J幇dC(啂jA(蝃\鵲7ex策鞎f,Nbd氤糙Qa<溦6㊣S湩B粻9s狵氼N僨%F誕汝+Qgj5H留鸐岝礳錜0*67}建B璬:h3HRkX'x.黝J烐=餔鄺=jh)枲 U潜婐#wK鰘齚J匎/c.弯4*0+ú <#>竘婬抔鈱)%猵".;饨袒尜zVo}樲〆衛毋嚺岊п龄炏R賖)邝w杪2応H3P&l彀九鴃熬+俉蝠 幇2糁`& T燫 剀鐝;臝W6gE庀= 5(稽e斝↑墙<Z <瓂碜wA攄# 濲=Z①禘吳@脙,繢P稉钵猊84遂閹3kF緿')60X紮嶇_%$i膛胢尒t囼= AN 疄Uy画YIU~A,?0KB 詹P+%G灌鴫爣抗mQv6Oc盀M悗6鹛轩C仢n<娋3F|kL3襎1請崉鶘# v毶帲 ){嶤%悕$=tz0K .B.H殢壓畤敎歡 2 弤醅y= 暈ab9N=x;_B歵癪染>繹R 瘕|猅睘f蔷$侯9C)vHb(:ZmBZ )呅R 7絬褶纳鵫J祘ⅥDA鄰啰^x濡k*UC瑁o5)m釺坆圫!J!IC/`湴吵 3崉蒄J;0獶浙'⑥摛svM箃坛X浌]Ze斪^Z_ > 茺饚k V,艂!I 緟纇&眶 止? 謥u雽>纰 3乩P叻#</5>敉厈佺C郇O+嘅疰3锘l}亱魱 〞 JC羾烙cLA*末!I@QjjGⅲ毙 8"枘 ^嶬:悘帢宖鏡4!3籁驊慭扴簳-U棻鬉迮3燳L檕繩&諅禄究庾^諧環′\擝愱缒薭T楏1`$/[F'R `CE[COE嬘¨^姆Fe峤`HS蔹枻悎山'Q碡袔匳dh判l 嵢柏m樈譄{*7筱%(wy^烈稀[ 澱8驪;e栞4踦倫笖妄}%C璬x蒎*%C筯(鶽7凄e-$甄鋟籛<矺!5[]賖3$Kb饻+∨鴤W6T跩,膲^<滘誣>屑嶺僋熚4m>鯒拣鐤M_嘱唟 5Co誖獲県僱aB"愓-t讅:_溣9H潯q q砟袑 鯑Pn纀ik橑闿l瞼d<9'攏>?禄kt,4s8鶠{ 刣轹i题被惖V扝9老ju2餀d=|ctG攄批\g2=)I莲:lU丳雷衋 s-熪庂魈份KQ焨(XsVqp憾璀C飶^趴bSh6稁X6Y织 鷝-暘2鴡对P瞡Ov^J艼2劐$x武q蹑2庇X籠搓=,3辖镆_:1潁]=無U)$透矠2U`僕4x伭7櫖s"敪陷牵#[D鹺严霜觻薯T烎圊琰_鲛<薏氇稂題;颈fU昮Y%cccl靲04 M ?侓扦搯@ 歯覮!$p0CC鉿瀽A僥贇*暘迀3熃鷱u顊eY顶襊[淫躓锝{呓仅~敕]T<渚y脼9肂仔Z-c嬶I搗末U↗袳U淤.虯瞍ff_譔p$裃鶧遉|+xM饈镽拉份G瀕0Fqて鴪дk|E蝐NK4m 崼 >W8逳 I韏尩徝{,,栫 秊≌2VI牨昉UPP鋷隬转"敊Y 膍WC碓o潙.す w#=緂Mt:xA4鍤襣3籌膪p:W﨨恳靮;订{咴z_oB1迨哦 珮訆5c-Qv鏪>z瑊聛厩z泺秣>尖K}鼎B^ Q`h鵅誊-ET碟疄Ld l撡rP饻畯锢嘗-罝林嵟-鬌怸胬翜n淝霗2h呰&<&瘳薱曯/綘5縪羛裗仅锉掏猱羫W e擇X楲a4ua溋$F)Lr萺!o"z舘 5z孾碀烋烫U弋 げ&薀%[鄾.m褓[~忲呃緥^潒 祠%鸵M0;襴@裋lc羐>ㄋ;?鮫駥-<9Z蠜鶭慻x ZtbK'泱间倛齷焩犆虒|5袔a)5暳偫鸵V鑪U嶊>勎鄥侹◎4埪+d{x倨P85因扐儵(迪溟RZNW宜k迆虯熋媶盟唥嫋9C玨#Qj%0 au吮6傰眂橁溽$榆纡&珔q^3憃え澎稆,秥"_k隻a秈] 厓 峖d)kM峒鶜6䱷鑃a顴/g蠎m淭嵱[)l}輽i%9&[忦䲣E沘妫@廹O忔Y?_^戛2魠箮錗W莬鹵-襆格釡;Wj诂q濫n86q脁惨偔塅骓yZ ,感怤Y(濦+:67'V+[pr\冴鸚帷>阇巍@阾%穃誩O遬p敛7艉喐02屿迀 !pj輖bCxdCX 啯cmR罄f链t6梷-w鰄+璤鵮 苄<卞籿hm'貕6A覶陜盹唋5.祀.唡!3踥怿72Ld绩E0澒添綄t际d骯奓'蜭穾S pA?鄽鶂X.婨7O鄈尸(〃 E)ぁ矔xV}Q 镓銣a汣崮@添' 頧%捌祀騻絹)jK+򰲕瀓PF篞蠼8偐A烈T +#肼諨fN盟@x/Z~>9M饑繩佀煢总枡挾/Y /旆a=C縞塟郍c‘ K劻纐r]xxUxpU绲甬刟^W困侘灿L骟錳 窶噍硬靓e罌伕xf> <粷欱 萑阖FF蘷 G(耆 \犊0&f 么bmr逾^60薗括tl娈+丙瀘-Ls 喱1L藲^爋{栛蜝鍎乒p郏-鑠H<璧񢗖,ua<Y庿鶬hVF骆詸7鍛a菳粎o磡踡 A逶蔲$F[ONQaOg46秳昅签-峭+恤幼R覚sfJ*縞嚆忶翇g饅_SfJK孚靶1鬧Dv嗛 /安&<糕x鄶鉩芄氥刜>饰阔G>#瘥L蔤&e輹W泵6 葚霸掉Z砊*$0I!,鉅–駼HK(j饥偄枽0握Gヂ|涑掍鰭kz=珇i嘤T 懤錫D閯?鹼"o}a剚隥>6\pe(,m [夅步=>鮌骑8崆咯嫷B賲纉Ix 覤ODk#Y 罝觹3lM[ac[S郷裉 踍k酤檥7鱟m淀 qdC滸務6Kak藂l婉缞阒c_\殩緶^搼;3僨 9蛶嘮圪T婅;;u鯶?詮給B+歇Oч颇@6;毝蕆!/55V: HJ!5薻%賀+?e泲<6瞅?蜿'苃*)滪 @T0孯G0锟=逋锥,'鬮C1摹:3CR{Z''O'|咚  4Wl8Cm 蠺]鑛姭▌酓N`c鐩i]衲|LAO窫鷏*(4J趶<_w;2D!x仏1蚎 8夺xt >s,x 猉C`姈&≧fh{Π-油竤f=v%縴畏夸P膜p劇"Q ng a&2CQ6襆+橒鷨$囓緂z鄘2CkY亮~m蠰q爼0L慭諼體'R>qo偏/1⑧80D佹L;!府塶~虻=>tg鰜! -朔]觙=k=1拘 u Y影鴷皶 阍疬顪LK.駒2< t庙偼C嶈1蹱/咦B@^ y瓇b+穅3 w&|鉋mN 鎆哣迭沇褺+u硩c D#r瓴L*%>p鐢紇繉娗篬_IJTAOp!鴠 !0樀*疊; 瞉鍣;B~8甲胺冊QT料嶸m駶脢m@翚饤燫譓┅焮岴沋QA[k魛蜭瑀WW掸%苆N32猯E 洉V真郯o~啷6R莀輵>b9f卞aQw* 鸬$ jY揬7荞a羂靟h#鋅9樻嶽O娆N狹帑P鍇" *瑭绰sx\鳺付琫&_豖o磑,q痜K]{帍蕂Cwr>>位.^龈h廰筭84锉9UeKs钖PG`,`s 兑玤t酝,;蹣恶;C嘊Y歇蘝莨烚=.’齒b Q燪v+刅c鶌署S鲷Za<蘵哥ゃ明ボ粦媜嶉>&穂婸詭嵈蒽烥s入<孰 鑨气等_ⅸ簩'#4N箸滧纐.Z諃圙0!nYz-嵝:%#G]9~鎑躙睬欿Lr菿!4邝&=朷%x盗sZ |嶁_ e%TN#""^1蝛搁鍳訔紁_檀V媇C?V2颉TV稇T硑D $詴P諑*嚭渊x$q3[抚|蛩[塅礩)|鉫!w疺數";1秖[冏鋥=O釁a搨U(#>5噋砭磹/}鳚k9沜t"]俱-恫+賠 ac, Sa=旛?F sC寓}-議灨宅汩(&M藚| 墵'禈w47;-$绀倐钍'5i』%-Mk(RG2tぉ鑶丬鞟駢蟭童碛w_/+鳅峜愪⒊?kC HO髡 fdAT豙]5锈U "獉骅論鎎 犄}A^`璲/祙柡1Y〢WX&标 ?|C梬h$廒f.禿蛋1伂r烡-赾瓲瓳r嚺b7?烸棁|i构D1毢r粆<駚岮V揹9Q豔;嘘jHa8 4褺坿 贠擉虛缘}熷炨豧MY 撥悥%if:(龈h^s莆 覴晄\詗譸v|龇`Z洒m[Is∈ 8 j孶b+J 鍮–"唩# 5x: 4曪脜 鳟薶阙c軂錩~q%谥鸄T#v`遹 帪嬺x夅煯滭魖R鮠7.t壤x4嵪Ⅻ趠脲黝 m谒r!.  &t馛養漾{俊 紳! 笭p飠累裒t縟s幮n;Pxa萅緍劉挛Y鎼鐘|店踈蟚郭 髝Q"肂u!詴怜雐傔迢k燥霈洠鋥Bk垔鴕%U蕌4G賽鑜或4茹鮤烻R詒kZ0丵"W 2剀0O!}^肿颟缤p鮲kuSC[h鶢vY臋b卫芑 4使鳺'Na8騖( .殧T6鎡k+煉鏺>U伞欃湅<辕躑境 绾 鹆踂r&0L勧磯3冁巻塵z/T熢Z蛋H么" CK肙,(曻畢)i矢b4,sa< 鋲P鏆;叇O?4劚!jC+6碿h趃?(J鱘r(i壎O?<,樻J獾5茐*i:姢9頼5 翄t鰘js]4:汪畴彏u9_敶BG5饆%茅僁&$駾 艍5dxV#6$廤ㄟ昰_%攭ox锺a0&噶T 鮉3&悞f豯鴤gt6纈Zz蜳w煆騆Oi~6i~邮=<8: 脇z- 韖M裬*M灃M狫n L 鮊映鬌仃蝃韯8$*欑%]px珑N%搃隿a0UJ4拺悘卹 臫(∪2奬籋騿:橵捂{舅鹃@鵪鱫 am瑫↖"$塧瞃k虮悕e$F塳x?!!-(疁%9煄麢$h鱻;>*竊.竫}$蔶 烇(!j5T雺08Caekc >雏憺遰>*楱{仐婉閆7靣2"8抐幐Q洓p|蓠壤:q~bR纍鄑V鍇TRPEM%}pz7{ ;諺W4噸懓2r瑣摎攑b\鼦锄Ib淬醅%専/欔W眄煾㤘腂装袉^-#礍 鉢Y昰潷鱩'錑y栫h钍椝驟I^釿體/?詁緈墰篃嶁薐'$9芫2屉遶哆舢<繑t&7喛w娃樑赜iΕ阒)Y%疌?weW螝=圉3bvx?O濆鞔+_AKG+或磰k=3鑴鰝窢S$8yWveW襗yZ嗈饝梍石骷[驿遲v揶骔v=襗yFE{v=襣@~怅兞/"/轲ㄥ秓n|案瑀賬兿'9_k⒒蜢弱纎xeΘD娳蛇;+O,縱d?麈W驑okE*-惦粞-嚴 侘B笽z'0;関[M焸炱\籸︱W憃啉睠1=1t)詄 k顷伛鄁神auw邃佭?踥=缽F均眐垮獔o|A萣9蔶頮q|鲛汍}.E膒萘埶鱕.忤豉:b`3峚8翃徿決则[缽濆蟶N十!輹3憻[p輆煁霼~ 嫌f啳乧eS85P溷-莔' 诉~鬺绺t黠難唪3o阷肬>谋' !澛諴8蛾搞O8=S鈥+.X4\v纑醊忶!"K ?R為镻8u埋7_▂'' 锄;侘濏8譫讗钍摃W螃+[兼姁鯓垭w ~3背0賱幡cu誵l振钖pz颓頞Yj?R9菃4厪懽鷣梪x隟"0,按G^0Xu芻a U%Xa`圼氝柰 猕陳I.Gn;!餵v:x濷纚_~$催6G鱗0-猱罠嗂 樨炳堭吇jn|犳銹╦a广B鋂"邜:嗣#讼|s/ V吾DM魈Y"t壑竛4掚:狲續沪?弞沏臣.鐢咬_嫘d鰙? -畣瑨艿V<|f憼c x.圓Y立鎆D;e~W_sx# 晶矄7;蟖06噹Qν帷o杵B縨鑥刕喰鰱唓nx賾怗斋6寅梹={]鹂鹓哓迦蓑偂變v肃呞Z$聏K8q恬kA勤ThaBk鐵哀gXl梵奒{谭 i *s摸e密偽劕J缠w:6衑讗>)-6=津?抗增x-.\察7糅3鋮襇o庻駉*稿鄵繹yf[佀Q"蝂9']c=c褐 ,緊岲綼″檝h8亨qp羉 C/84x諴:魾Sa擛Z b翨郯5,纣唙"纃$v咫<_鹩搦韩^;_坻覂杊姹{`焰叢&SX]u蘱莙霂旦銥鯗=熕朆诎1#@zJM~|X醄KR狼雀s蟘蟘_唑ⅲ{ Nl贮赏)隨鱍鄾倥>i脔H崩o厼y甴s魽 .>毂w骏葑佶u!L纶娿恰鶚 蹞W璒 焮 镢罌PJ犽?鬖7霏,穧"3[Z XB_X鵀T浹+7屩馏4lG唙hhG:琚▌家 熶JL飘=c5弢$籼zm洬y賑9z衦鄨タ凑B諈!j A澏a剧X蠲」o8>z_霎栈_窎伔鍀繩B县7Z鰑= Qai拙-+>槳盂酔v.宍戊 P嫛h喍坘樬-v&皸N菾CVB I"x劉0 q`}硸Wr.Sn麳/2/羔倚{隟#n:dn燕腣絅 岗鄿萻莇"0 儭c0喡 韼酨ぁ镜⒂泑C'茸F(*各畟譤硲:褺.+k68騄HJ8懲矕U''措iW蜳vC.x姝o烤玫X.X察遚YZ6t,q蟕}p% dSG炾葓<冮T珱纶乇>鰟誌 |(鶾x.鲐啧84锍员tB觴: 5 uXO氠笮坍5嘝]+熬H閻0i嗊NR5)D~璓@讃U趾枺0袜}%芑^蟓W订+p柮K朜6顲fn枺 鹆扯虹侅3椃? 偶餚纀栨 菥协S jNi铫-#e瓒@修鑎踨醨 軥330樌黋幱M! 2喞献湦53疕c47z完鮢幌貏浶*f叒晔P譌 Cy#V諓Bb5态騌t覹坌絞鋯/~,苊&o䁖嘁W]瘭k".亠扬:-桷 砭≥3D-K傫h#蛃噑毧琂√燣u翸蒟楲呴c毭$Wz!鄘歋頳e孲秋輼`嵁A﨩唳?竬黬`2嗲C蟶K?6裦t/⒛2鮕Y狍Hv 闄俗蔷狎}>鬦哣現M攨0V讌铡V昵檺梎0碈簯鍸=o)A縠汸Ns泀 Qて1/幼 俫鮷咀s篝詟1fgl 5?f圃k*蔷諀g]亪A湣釽P銪毭4卶獣鹮φ{c ェ坓3泍睙~ 銕郌>鸠Ykb^{e柔%廭z=琶! ~琒鏼爤 .ó嫯_]; 侍'陙&O i&$未辕'櫚2v&Dp"曅-晝蠠869蜲=骟c!郈E-琌無P輌^v 闄瘅粦e﹌i厞櫞謑4丵3Gok"lN凙*"#木 z軽aR簃C挤Z哣[髆aき倿痽W觍譓嚊2珵屟P殶n挏l?E礄菼剨`D=P讋嶦&洎鎤覮萺(!嗽{'聀R>&帰蠇 :}l慈欴樶齮 蟈n;Q蝙h燀x毤5钧-搡啪ミ乶赓烘 嶇壵,k蛓:i 昉eP6h6u$S4tk鷆 覾笏Y)坜(頩)竪璬9[袃鎆 t'=g餣煰]c细3飡fy`—"38'L袚L酇I4-敌偫膆寮i,隽颶z-寺y0拯$.fT Ras*對吁旍貝"{*Q\I羭(槩溲'倏T5鲚霸飓谢鹄霞 扵换茩7菣嗩I&we\掀諂"J熀:钍贃]CzfR遈詒腠'滣坾J嬘P.呅噡穙MW2孯a歬罞瞆О1Q;玪%3G1劚 7!RU) 敠n e絤(k跢=詽!嘅"馣佳t零%GC^wU%<A验7o=缊z櫝仾I嘓駫 d咼>T睸 +r( Hs!薫+c溍8qLra挘醷ο鎺/'hZ幡И或軖]@頨髬遹]餢-)y 蜐f卆9﹤蟹互RV嶎\前姓荿L U#l璥溍ei╤S潘H I7菭 Y贉rbm纙僆4K圱XSaヂR殮剁[!痡蚴QV譓讙~莞g财aqD濨,束鶘蚷I6茑e+.X糌映#僠(**嵊|甬lX*爰濗婪w#酆z繩巹\鞠阈免俛q抟鞟4蟝忮P掆`]撴袀P])雦](BA Fz遤g*!晻駼颷ZB捗4w鷺YTc[%_\碗疑o淽"愺Vv 镾梍 ?羌P峘:!虻u饖抃豃`s$l寘虳C啦诌 =埥毨珘焩o廅褹⑴么R鴀枝幷塩+詁偤楶#蕓L橭quFl 诙"4j4耸Q讉8,&褗zl惟&E慻p瓼\cXEpZ捱顲1e-兡憦止r╂=s6湯瑓r 'д8w#攅j 5瀹荨惈\疤穉q伟7t粃礲沑瞞俺阇kDW y!d L'聇瑘兗h*飖訉嘭>D摧U o^C^AQ8 5▍8铬憣Kj崦?顇V祋W螉咬.>餫kK鳉薣vOO:TkuS鏁聟am,j啓?蔧= fdAT 藚僒&f3)榙)蛹 溩 粁瀼5 u卻*┆満L▕)e慞 Re亩b!剸绨稈傃hBPN8)90磄 y悫I Hr U氢C%n舤"徍i@諶奱4蒟騀\絓承馲鲻,=C79P蔎=筿曦菄 蛤屣@拈L2茍摿1V緳槠攚驧讎鉴.龉鴢G2t籚#+/i磇@+阩@氨儔c*喅r;E@#M眎唞pZP,k蛽j罰洀|酺O漷fW蜵5燑t-"+o邯e.唠訆凬5M覶豭&m>:▁:椊愼壁*c寚禐(嵙`q堅5S桯]怅 邥勚裫z鞘茍q俨a眂X頨鐾[杬M*<-聪{4哠鯑嚛N j'<<1xz6民敭尮t甪O闲 澵衚﹣钇jD肞怀(駼駫肈I每虗C/x=/}垫\/r"傰4漘)鵧凊Gnc箐澰臫?栩O咧!+5蚡湺CV"&ca06嚶諬貧 Q/,匷L儱=璢):5,讄鲠淕例里&蠟喉妝蹋4缆v 3#邖婺吁x选悆 枀顶涰BG^ Y!莊飧鯏G4繌 m蚴1-3 鞮蹋M垶瀜x瑁5:雦u+%*喖p/,蟉杮啣產筼倩hX7谋6L38W  鋚*l[5 遤s@;v]Q(碗禖mm崅吱睼弚8叚塩8咓}n埋i沰_aW=S. 挖眆X尡x~磓u蒻ydk鼦焇鄥;;チ舊0炶A睓) &0訑KV赙芐儦Z(|p`钫拲の&俖Y冤]9s県P .)z<凛3#躙琈旯逎^傭R~荁踍鼏+[\0痶@q`堺朸税6''耕榓/皐i灩@p甝觵踮i弛变Y諙)滅年榼⻊.办韀鲷 {4躛鐰穔i Al養凑1U:(s暋H2ak l+[巃襚`K4秵壗颶;臡z轓瀤 绫g%\动篷{6a~飁8W5薶M印錫=_=t雭但(C4]隳蓺ヘ酗X俧M襓k 捾hw栍Q  锰裱鸕稈t凖;續<本鬥-|┓ 瞿ke鼰o甆=傿现嗅犫 镒!}鎒埗V恂<索荐妶Vh咭惫藑弮 嶲:`恘:忠*F乬圔徖)4髹@zl孯鈠5,{4宊盍R譲u{尚櫡刔b#彴羨<鬶'n+%7軶蛐v &潸K|鷳e 6jS),鈛椙4]#愍睔SQ\l^∧諎 ν餩q謴饒訮胃矗何┦剻棯P,5吨)騽nぼ'We_9蛈Z@毩(匢凒滄 2荊頚$/E7僮僴荬毽lE滟U背iw嶋S撡53陏vP趉編Q{7鹽囖珇髐鮌殬硭5忰i_项_輁粏鬥嘼?v蟌艓錏嘊闌 h菃女8K^i笝桞Z庺盤竿8褌P4jc▽a90\z懬慹昧E摸9{-{鱖*N煾-鐤鸎n蒋B⒗癵農d忿瘝7,參PP5吙鳧蔩軠驧W囓趔K荃p蛪u! 伹6 %s刀梨M7}鏁禮畮JL校穢敧H﹙BNWe0V4g)蹝朋b FR GZh姟r Y*鯁'Mq))丼镂劋敾P樥齇饉tut淜/荽惩83N幯恟趞梺閴媷畂剢瓿p綅畗詟礞/v嫧*徆嗨嶉>{z玗Czv#缽輗鉴 鎪柡Z9彌js+(磝M 耪*鐣V矣Bszi覤1碆潾詍镣 枌k煎!鰖\s壪/嶚7叼=魾玓歷应4嘔(r!&[p=%?䶮G\w(囗追8蟹荦p,%嫸;霷堤:窔$祐 ㎏犦DnV\7b齚回ぁ糢c俅昻W 鯲O/c﹋Xk(5瓑|m嵧Z阦抵p绌侽軣鈩{Pz飺竾簓=鑶l眂@繏4 桔-tCQ#籯P_f^g寊 h7[5堐7瀤砬6憴q瓪繒p殤5O~Ж>鸓7\k?~M34D桃7鵀%魠7剚F賰J5垹仙K徇斪\r丝^茓刓tV职q襋蟫浘C'U)3!浝謿pj振I88珩峨Z碽m鞤朜 a(xV焁;-*U~榆PV3xm)lT蚴1过D掐薧#藉媽 c= 4c賞鲢叮gv P爩%钇J髠?{%蓇漼媹翦]{弙@劊H 4峢DRy$R襭┭慺葷=:ZI3悔g祷谘HI2骋坣4t7H 绬#需韂u椣褶⺮咚蘮66燗=HTUvVfdV茥鬓锘邖擱(r-_N843SM 閾]h(淠鞧t)})B熂>*!0鍘B昸p齜勏入4妧h羃聯L缍Y3蒁棎縴鋬0惥榓_:綐>筦F4璛慏捙e屲/+%0爫蒨2D膽L$幯o每蓟绕q蚹~嶤3)㏒3祃y蹗9^3#s9: DRHP7L蟌責pp&7^Ud銊fC}夿N搲\)8祼8W鼱'妀S术7^濈覱终w63y汁墚匸 4(峈AW嵨槳鮾翷@焃L橄绝玷b律nt?鹂邂藷$GJ挋\J證t2*悡5鵄眶"J":!^>隷匩呧{ ̄駗)熜i稍愂§緊峼@凭刎黪縴W丳+偊E2o熕(l蕬*9 ? U!湏Rb娽>杷*埴ù/賷%c<1楎5縔惴__b蚿@A_I懮闪餐rゝ&7瑣竎SD_35汦漺”8栯摆曶唈Be果_豔鏛2C&7埣棔+韊綺i╙"3 C4 x辐敁晿载餑肋{.鄌rnV賋R鷮h凬Ft骂> r69蘒 煩筌蜉楊她竲湯1- 犣B*埨齖s_{@z禦{餅芍筶ы绂l病""ij/#鍆I7=@6覻p';淒譟+99W毉恵n蘎O.Q蔵粙T$35e旙鑌蕠.捪 錦F壭>r.鼇 淎题%寎K.丅 5w7裾g,ax耪觬凰H 狜雟嗁fl&βLr3=PnUNG]遷烜羪緑沉Y颎N獔==樻U飤i鬟!#噘绠[ =瀞萀奣05$;=K*?Z累9?2nE議q*;3◆将*遰%壛I>霚 P(2饿*-&鮺z##>确龅鴷+驥风筧]唺覿1\_*@z.X簠,mMmP孳觜蚹?/唅寇疣棼瀆犒#討5鐻>漺R涗絏漐6殟/劜;隅詖e袨Y:熡\VQ華〃櫆n襸u膷瞛g崄瞛隓續氤攌z諕r氊痑盯 觖磴X裫 })Ⅶj挪3髺蒠蒙Y碎薒臥驵橛u哤_撕]o帏/1s黁浦軱 ]黉6k滐伎$f鲽Xk湣S&+9黩b咥N9劰/se﹐sx愄訖EWk躤5矑g荦麁唤V鷒郃?ⅲ=趼甂凛绢.鏝=}邼鲡蕣W熛*s藐,雵B蔃v賕]s牋xz2X钷灔卡杷)鷄p许X蟳_N酌5)怹mg&-啌3杻搯#3栍髺荮([F2l.*F鷃牋(孳熙P銭⿷)粔栜8h.頙3祤麨玃峚送飀x.0婭[<筻_Q+熸歐 < 倂烼@诈潓沚5g}嚀蟶m R俔蓧傁宩垘 "﹊疴俬w嗛 >sv嗛Kq哂絏珞軧糩\?黴w鰽肴殫9鼿} R趶oxC+v&忉^!z氰k召儻9}枸?t穿:栘悇裄燰F5+N/>鯤漑謊h5-s%Vi2襑tm菩@莞窉M聊rI殩f 琏薨Y[n*-C6`祥&籓皂D)T赚0V忆"檫NU酀抾茪b櫕鯩瀺Q*`雖咳痍]4e蚬9鲷補嗰 凡~讻0i尪V襤冸杋珷錓X悴Qk堧U? p?L咉寄WJX鋭]B残)鱹 ⑤銜緒橤榬?1斻l兰铲禜`祁馑鰏矷H3t狞~H⑨.M黧醌_ :0SG~!%鄸嵜|玓|#燰l箖懙+kR氄9卧蕼J[E6/ t]粼bS匍詊Js眀橸礈毜湝矻蛬T赅|cau_D6衐#T=I榎婛辒蔅軯汚K{ (*-儽諾碕 射Jv彐烿7届FrZ%烗芜0w)鶩7磅巁DYt!謥~瓑kGq巫柖喸*婱St1s1怄R檻暇X ?b竴鏷熐鑆"t廥栜?爵~2蘳3y} gb7鹫葑鸽鲧#詈?遱$;锱賟J}8:_]8iWo縖 I7爸Un4RiM椰rb咦/灐?ыw元4觑S 浈P,@直:PX+nNT獤r03K桖,;UNx鄍億辸[扊鸡攨B9Mi8+u虽糰z裷`起岰u才6摁V 虘刌斠x#L.+1遍6t 隓$瞢嶻so佣鬒y 擜閻箵Oq舂蟼0茣泹&湞.疑z+毫蝩.S/8畸/dx吏a78骤葝 E簫D篩%襝懑(Ⅻ7蒺6播铪╦V,XK捲Q* sh堎睅豿肹IZu~H}漶gY褩愫昚艼哹F骣媃E)翤j}q陾趵&旊栙奱獟pp.σ2 k 键獔gsNN)R+[3OOY*M拴插)q墽odQ&;@&?@d/炴榎([秫 倻3鮚驿銾]銦J)誽斨勝掫H県8ぇ)0H筙3[)$楅I爏/9?綳賔7h6慙/臶? 絙/~<鸨墠繁b骫$Ik C冥韑Ni飿飽跥y琁,k遁蜌痑狒3躻1Z挡4伮* 旞蚭a元7  糾]讎譒 HO5A潇5K(Z眅~29o9:k搖*MC緊滖M贰TH樕俴I褸XE旊〗N'倔谏渏錓>鷔诛zcS 瞄P瀪.dV齁-=慂 隑&椇鏙姾/堇侪Rx丙欑+秒铦磋%瓱頃/^0撓n横礓癌;沚M铝G>邻澂c`|#q琁ゴBRZ6蟕稨SYh棿$q澑盌4l2寺>e覙5蝘認a疄2U5hレ堆屭2t喀?9*D\BHR槱>筻&崵鉫縝怂欂tA%91n烼暿烕钸翅悍0竍;&嵒鱺Z瑽s蛸b耆C*7躂4袮缺=_d~騣濨试+5b/:鲑w婀聈Oi+夬駋>喱!韺%蝊$侒荑e/N黙f?磃珉Z睗4n @rc裃幈7sj弇F閳P鏗$N8僭M?聵瑿(O&吱狙峀l緷诼)N=鸐uf親帿艬r1囨祇荷鹃&艑hjD篢m塊?萰 檆饡g櫝嘨P BY窌& 0摯:e}蕪羻蘋頴耆C㳠F邹@6QA葢'>My鶣 &bw%(圢 ?儬CuO鴗.熛i烱塶/誯t謜 溗 劲/lOVr蠡蠥1:w'Jk窑湃氹/M摈握ut。琜vc峲秙/褥箑` 皮"M鶺r窄铫誠湓3鱯枞$Q氕 礨v¤D寳4%E!7 Tb<\檭 鯹iyk櫞)孂0L&瓃-奋跡.~轐@宙9Y吊尛 ,N滂摕扃愼^鐇@GN裘M_截淹G 僯o垛7)氰 Y惑gX冰N扻*籃ke睕祮UW絺}啁K>鷔v搋?抭IC6lj +l7t&+AC%篾Y銘"创偍=仱t取>撂袂賞菹RXM[e邥s荜骞揙Q;适-/W暪垠 魮埵!Z喛K9pg){缰謴+咾姟糵仙く懾y郔栫冟b脙_B茄hO= 減_' ,"`赸谗魷鑕はo鼨轴痭汇)&巀P=7鄄J榡 ?c鷨7搬悍p渖习b7^6礿+H鈫[_liT8(O=Gqh 檤?:虗膗 衋嗱欭鋳cl魁椦a:@!2 蔭m塵方瑿{O疰"迀c濾菔悜矍1s2E⿹]+蛠%M k尭遷(&h殨34k4i頒8X瀆h 鳣.RoX5痄憭"N伛躷騩'薴bdQ狫婚怈軶~哥gv尕4颳攔娔X孮;0_7x黾髛MO鎾;n咦&優镨轶~ub藵譧oc$濈 幍vS; 癑羈M吕姯lvT'Ikv紪Cx鬰4*3 痻?i蹷#w珷4磫_'烗v綑訦汚&/Y匓MY浦^县y瑭象櫩&锕5 k#歯/S渹I Q秳!证0吮=焔q 沷~'aT牻 待|58zI)Jw届j钧嵜錛d腙r15繹6 5^3C&挳m礷豾2鱓唿阭9钷朼甹鴽囯wO朣/B畿Io各<殀VQ-矺栵K搖#J烵r琜傇r瞎俤栞ばO|_s9鉐c\鈀嘌 虇;_d 脪5Z j磁*(鄔u鷾6岻M,%篒袮営嚲烷邟_5贱Vl W弘>Stβ'q弢4n愶O0梖Q0(G4Jip 兮败烮0&Eq呈緡嶳0o搅U賄筘徬峱硭逴-熏尾鱗檜籢O緊 PNa燞嬕JiF咼Xa决?Lxr/ъp舷邩珂!鉉昝) fdAT 毐a袜⒄礈8i貆(酧綴遢竑e(虔﹀[Z|隤35朞#`醵[謊伦砣瞯L硆DS壬缆ig鴫顷j逵槫Eqp 4#%S嘹W黶栨庲9Tc缡┱88虹s尞綉倚Z%0塌浙 9魄侔v湳=皸壯A@1[甉%:皬V}deu嶅諊67gCuO纝系霼c飪偺鋝婠b柔,鱬嵎焓砿"$5P-筆夅绠^q蓐垥5脢RQ滬迷傚餿蕘dci圣出轄俳愅廢z桔福G 紷义竚t韻|&q奝L9t(Dd:蓹u萳9Z)V琁Q&F橮&丷!閐孤:电`X)孉際J,Q稛\q溇 籹Z詶鬕帳U悛[廾惺澻鷨遝蜞w訜a誁垗j骽癴莐 2E嗿B^龁15橙SLN暀灚r邇喜~p咋q罹ss<鶨x樺#C[H矿鬈3K7瀷UFC>)畖Va死"摮?贪風b>齌]蹴譲蚡勒鵓3_Oy倨愅銡>蚡&_P!5h,A彑埄泅襰皆捑{N佄攼穤佹= ]辺+饹Q赌)(觙% 崵w刔侉>楚|!V嫎^貾繲+PI2'M钗! 螄亿齶9謶Fubc珩翰鶹板鎤∶ 螫鰍`鱃X冯  FV钿甥悙碊,i躟爋淥腎奍!絉A撏f丶~湽*矿烡閫 L騬7[纎 漉漮:6x鯨j鏺Fm +j!M禵$0  嫘4y飧褘u⑨曛!鵏D),i參-GOX9m搖%U圜谢旂d輘楪佤$箪7癄枭煐/V#DDn韼18l诙僑ZD袹驽昜阎杬p鮏?:4蕬@辬蜬炡vsm\盗籕漜嵩^([j$穙2忸黯 茔廑(rF走HHe(艁宅蠃f?1 洷i孯0_畱︹嫝儬#鸅蠃 忢9J嚫聻?5I*"`繙鱤佥艮{v尕4挦娸荹陽礩^5塌q完 篷B匢囮偉VGJ呺唘皔L玼脷眮浙kV 圈V蛦e~起鬒胈锂qFK\."rz zEFH/ 傅t3氘綠癕k鏽ほ!f#輊 樷卧諼v]tV缮+鳎蓣 狀N<メ(8W/潶8磰0蹋攆i0s'煠lK趋斘}qǔ=補喐箞Y歃2w攣瘾軁u~Gw鯁u衕$,諝D燍. 搟|佀飶θ.』k-&#y突/発u孺5毜&>E *栮<元衛葉覾VR滥姁BFW鋴 P谋eq25m8z乞厎-灆裦^奻訩柺埗u!巭淲4縟にo> 妷嵎7糀v9懠B@U晦h'耍 淭ngP积:潣輥)Z藹谫m鶱;e灰汘-魪]E} 鵾Z2n%泅~墶U;鄢镯c驡⒑H2ホ- cb扸F譢菓>嬕拧5襳浵格謭︰膷fy佞8 ╢b瘆脦<7瘚匕B硊C绬+厏2姢ji-K覀 T潴殎羳釕乤M*叅ji %薭23 '  _圻爼嘁> 9:nQ=絺に?30緯uW#懜0))剛讹v竡Ie籨P 隲A;嫊玌椞蒭╪U髃ёT~彸礨e媽o笗竃崂顝7簯Zy掗3贱Z7篔W["8 D/ 纜q尅9氰YO旊w膝 ].,'燒:s鴖鄆杇&=6)艊薨靄癮B硄礷語袜&焀(c B慑#k璈雴苽禩朻v蝦z謗b蕄鞂狲屽罃酳O誝馃惥媾渃^<_C荔$R巫钑骔t羧﹀'6窛彅捯堨蓢[洆o花u护賤v&灁蜚'濨%R(cR3惝県 @擭65舎訛70缄Z漂忄 nVL7#啕Tf訊镬隀v/稺8r薢2洂 汋yJC腓蘩姨a搋系f;祰社踞总錢尜咔瘜梻號墍暶姷+4+Vi鷩5 Xc1﹟衁c1-叐[l英瓡6c% M 5穒u猯)揍墦M|鳾"]虈仧w_B@磠I弶柯に3 b 旛7树(迌廢犤妧Z;<搜X矩幍~_汧*斸wk癑cM奞覜T芵%癮[浏]FjM*_!埐l裤W9䴓>憋玅u$S嚳脢-き鲴摧?u E $甤0皰ス#]/犺魓H'燒:欬瓃箚|(]l6z.Mf㈤分囎匡<珕4隬hV*Bm眜!枓!n@覓赵6;Kp[柵篹zNN蚘N<赻緸&繽_D@/桥g 抲!铳y凾陼/戣轵1噼粞G讖0蕥觱:睮^顅+[櫙镘琍V窏緐Bz 慐萶 h%%:廟k6皫濴甠9s!妰k儇堵k?+腴u認we2 P[觜Fm灳> ]逷Y匲b检W K}飱{鮹衵鯫 讎斶峳3馼鬭Q4蒱69'朧伈X彩Xi岻(孯X揚倮螚*G燑,泅|乵方W軠琲7轭**使懼攣瘾>覸礋庪殿04眱眜7篪W=纞P.厾Iv穼呑 +&歜^FS砊Z奻眯0[墺C 5>5K媢藱E薱'[Hj饶EJ3餟鋧杬._|贅潺3Gx=穎盲ZX!疴{%硴^帝眇絈%愿馩檴 力X暫惊挭Z淚溰*EEt冰鎨9g疬表鯻G(cA Ⅰoah7e- 撋鱟窑kSb 嗸W繎弣路総 譠旨馛w筿}H^1TR 鶞"宒譚7,郸lQ:9_,, 5豷'[4{:g汭_(貃堷$oO'摦t2靚帆畹"W1卡义嫽&<`&堕懻9<) 痞h侙VXe另j蛸e;么0.谫潯m唋.s旄LI颠!瘮RE5@@鐯2Wc,h0&f?+秨1緬塎w融V+鼬;梽,6%堯剻*葊I:]b+欙謼4嵹,螈= 戾恸郪郷裤赧洸硦>+h2%K,4hF 嵞RiY蔝qh*W狃l淑灝S疀闳B腇铣zl輘 <杯粩煊啃x迾谙譥 蔑3媎賫tln!欨寋.蚄|昏轵(p疪歕i詼伧eJ僰t&?罤徲ぎ媯 PAq襌娣珙=广aǐ绌dtS|雍m)Q挣=堖╅d擹 P伟縋/a5o李<霓o'毒旖勝拃眗蓶7I榴ai# kd滞餶0): hTfi账逨鏐J:熮{9鷭殎抌燨Q)⑷廑订qb -c┒`*较r緎概s$<瞇﹖戯焳苩z焥顈齊伹僩蓣掎縼"譃眵卿/砂噣髡叻7惖>:頡璌|.?v义壂墤5妆岷7嚔 莪1n_挀)68婘批$XR棩Jt崎籌$l;黑>薝e$摂2(Eg悽6Y旾薄f醵煢l3O蓣Gd鎹 &,nZ刓隋噳Ir!? 诟奝媃它榻薰~酐眴栾尖歸邟c燨1墀熳旡箿捇VB%壟膼8U渟e脵颂掑砄90El,?zA甍聴M&.嚥 l*椮XMX, 栍e密sM$_陕.V1噘*炗H赻yF!9剬"骨閧d輘黢鶎u鶌葒嘷)歴埗u丯v = 近"甇dr蕛怚<璨內廘* p秽佄b.}zGW詿/z祘z觎I錷蟋弄赖!偝柠睑躗Vn~9k犊咶e咰G烖 +v皛 3腋᧰nR;Jap5$1CQXd蚬9 秢&粹護邤Qo&聾A覹R )}2稒 堹I[揃淴 -Y03o櫈矻.妾柉=坂餦rpi粻<训勳=歷/楝p%w9g責鹢晶ZD纑y瓆﹄馏苓@闲鴣宜&扢mgh擽}I劏@g*c0IK6雀箌翑4m襓鏵琮蝯w锻:鵆0=圻}︰鹙H咴Z慔y亼;>┮xp侬I射賟琨QJ3s 诀婤[o{/A敟4紟3[孄}K燙=9fN^溳鶶OnTjf蒨ヤ莰"N=w?趋~壖嗢鷻|l瑰^ }+冢槬Q濆馆煒A腦$B趱賽啉厳艴鰤Lㄨ+(鶮妬挗疧S袖Ja$m 绅!崱U5+P^0掏Z翁NN-骍珀湬|寢'攟f'憭棞靤CJx?%u緦E鱃j﨎瞒y楄魕唆伫綄趄鉽`hl铆尙粊暆馎垷7芵l,籄u: 衁&嵺粦)&m$ 0K@┒踾千TIOS)'鼦I'┾=g(濍韩>:(.#-(璡T孧$牎Y_嘣釃YY勠7 誷<>)4K5M歞 CyOx渖蟶噢@髎鬓斢7o屓P+鷬婠>衸I-@擶D!晐咦X垱朏臨/[蔱颂糰j蝦f0礹橺瞸:諙鵢﨣Q_蛑怢m 浰Q咊6榝4鳙O鑔:}轊@{勔DH!t28撊工&衎iJz愔:+鄺遈q勔::1)X稦$M $n蘎筸もm骽棏b厬?"甲廄o_)瞽c騯姓cu氡 fQ*D& 书Qu樶袅o撝绻珂<汧$伜ze8Q廾籵7fp'痽嵈%LBix-欬喈V}岢*;n蕫*JE_Qz∨"拽孺aNh 6-%X, .κ桖氬膢蔠7轧&2襸)=Q煴漑蚱?鞐. 即)K噸—E_/ }銫芲D魛趄c{迳桭 3L嬏)m7翰伧 瓃橣e柫坼#爟銝贆4v2e(廣4i鸾浘)J6燴k6p 軿"pr簞惦\訾GW0命>N| y俸0鼌2DyQ碯2E矗氠6G套忨啁#'[y'鰙澺6/哒G!($,厒&WRd虿I嘚謉0 樤$朧誖- 埼-︾aj0砫5k耔芍摾镆a/6<,缡-"拨q.孭很8W:廳 t鋃礁堣殄菛副D@緊4h 蒬遇fOeA隌虓>h)7谙鋪蠕[wmS寧HUC0б#U(侺&I.5X煈Z匯2ΙPe离E暃y飜!鏢gtS.>=T+倈獺泅~峤w錢3耫宥iK裫ZUK玜h45磣sS|c槛^%$%檼")翽磭嬳][猞袇瞐v2S禠/Z妾枼|u澤配A腵鋦病 夘L R⺗鄕'嚁骳H9顴鹚 )A> .筀匩辞萠B魛趄c0 7&壭+舲?P読8"妍奙w皃縝h謃&r卆層b5搾 L3"m隢 愞尮赹aゥW 紴萿%緊硥2缷ΖうφX`淆躩宙睇钐f遬G哷P/脯8禈4 -iC,瓪ehB砪{5(侺%M2湞:蛩4覤瞌a/Y 骵爀葿鏺P甕军L潊葫k嚆\:┰-欰H楰{脔<,魊7匩瀑牫泾茼要灄= 近3W捛矎)堭"捊 塪m 6慽&%Y^毝勐韔9烕_`送铫oh=6n0c1iBj"2(枫k1^T曜)Wj`8輀mタ┙苅R晳鉽#扸D钻AT舯I呈舆V6痮\勶)K5Q ZP "吺*, S捁+C+: 謟剳x 豑a5`bK 崥ザhY\4虝-3 栭E渺抏'R决l鸄.Dc剎:瞄劣藱D妉a潲潬礿2O燩!*T鋄仟搧Z$$4柺~N础S髥%6誟p遱M幭'這V g刽鞫7鶚E bF緇餅[./碉閧侈唎蓭kx鯜 恀~瀄炽谍沶+黎虷 ,鴁#n"ㄍ滬D袕v*澎'8撅4*36砵沛;I:g}噥駇鮶皷0蕮`覄竃翚X累锔w銦罚^;g弉厯N難洎蠚檆%@t蓐P荽F5 氠ⅱ?(d鍜螧!0蚲0p襑侃繨.1!. M-IK禋/︾e褴b貌L伦7梆Ю?ri銥猩黬h滱2翌庡\亷gg  梌秝枪6|@{s頦h魛趄#荽k髰?Of衋 坉,原On'm瑂削犣6榘憔M`諈S}劰骚蠥啱n}7q(G1I松⒓?@1Q輽2鬌;鑪\瑿>鮕殊徂% fdAT 蘢 !鵋Q萯驃RN懲@&\$牂彔榃3P*rE.刲"PVU)瑑ih"-I妧h 猽+3驥翘W餙麤=鄡!$ 钾qu:?鎽~h沦齆O#@赸瞋罟鋸j遟燸!+8z@<駅(酾踤{}秒@ˋF'穥帿 u`j橾72{ol鈽﨑n渝兢tHe'鰙昖c憫5壮v珉3E(壑鶕2濍竜潧"釬呫{磕恬侨哫{=攩譨訕殂Op嫒n益"秾F靂1TPD" ,(f 諁蚲!*!D丅騒兟(M-猞霶派~X獘撮3{LU襂郷!鄐~锍*▂>8=x.G仲@綇 綝にO幃絘宗k^/%}!p@猅&5潃<L觎鱈祧誻7髱R唧E篹R*嗵9剁 銳,机鯏喿捚Mg0釳K琸刋0w阨fN怼箃棒eG"vX3 -2l5B Rod咉叾 c,㏎碦KC3丗C垽,;1燆厎uR帅?缫Ky哊9?弨Po=qq!趃犓閏趮0z@簗駚L~嘞份﨣D:俵'+UL$岻癐覗G4茦&udHA攁晷CLx 寿-7攉鶩6Y袏碪潻唤w峑8硰B扯磊澂cl軲躸踤鲛好崚闌0z/曺磈e碕Y侬倬"b薶繾A=崹沄ソ;H锨"v=14潕袅cM%(湵&=|貒tl.\囝{Ky\蝧侘K髏 Bz襅4z@簗馢嗑M7紳Mf 3庫轭検槬惼送'n熂'lG7証乴QA啢Y屦濟4ne韼注湙t毚@Y腋裳憛酉?簤M7@>a=H戏勶琾窊1U胹瀾兆tr(?堕F/1` &m餷gのV疌D秜tH0食p>鮕 婖晦あ\SG舅怍斨尞箒壨w爐1墰b?唈叶佄瘻戯}歭a5踎C4:腷hTfY=B茶|岬ň樗侓c缴﹀媶郸*"v閕C昴C糋]{a潚EJ蓔|败啡,胒紊 !崨攩譙^吖塈e徂贯1?榲叽濛;zS蛰沲噼幧瘙堄I獸)8觧p柷捌`祋灛nH0謄津P* 埐捹K躙饫銦黙^5脹钐`8(dヴ蓖訉砟l5裏鯫'鞜ia-莵/_@o9j袦A2%蚪綄ty愕J/鮂哣炖槫漖i+諄p 馐訫 語F7跾P缂U紎藨fr濣镳煠25;^损猐槾E莥_圭疎研総瞮y:蠥$NW埉鋈薤8鷘迃k亯亹\$氄ly(捲HY誏劯奵ǖ,搵唶5橽LR劥p妿6鬊H~羼?v鏙W鯩xb(PeP诖u掜":絀t户j=燷垶礠T褳~髵牆 x函诔3鲡苚崒z*c踡逄D T鎺20禘zⅧ狄盍齪F滮'〝 8'Y88xy懻儦<岝+ 夿F&鏢瓟Ek!茢7Iq#ㄖ(R IbIb"钙衕鷮U眖\s髥恴摶N'w}鏗摡Jzo锿幌象勖欈鶐挳&K枀橱w?明>繭繌y苙Iz呟H_|;|h跣漺搦︼Eo焾yaH漥佣Iv曪X曶m禺1楧叓婷,谭o)M嶢Ad±詒U蹐<黂驲Ch5 讦綽=測釩4刘W┆9i/蠷幌os粱V7=桓G籹nZ服玗8遶K厗M'J:]SI(5@mTJ╧骕鐂驲'se<苨8礆r咄)驜:秤嚐)8筣=顣績瑬 %惥+[份2.-\Pb /婀I 剉槽0:卅勛@[涄y-/瘽珍趟斝23uK胪跔+w -糐麑QO};з鬜趡}0)愉郚 !=8聐!嬥談闖↗e^纋j?u 当8qx兰躸q爝'O<盷)3囗X樋碬-侓诺饾玔?%銫輇Aフ 叾Bw嚪3[昉腝Z舅o*,覊鈣壵v扻荛* K鳄QL9z藡U鼛= 熷渕硞'M鹍僓犍6GG)O濥汫飆穀%莬8Ⅸ愐棸}$ 羁}膉9諫(&襺赈Uqj1Tp趂1L/"mZA缴52*=e%s眫2灺﨤贈)鸖ec舚渔琞{鋖鵦z—~巈灵cK }qm,f;疐5嚏敹J遃藕硱 !?隊i7鏁O晃蹖a鷖驙-X噰鋳t@D淰m=.靇彀:? G"衻$)穚䦃9睘.?铃s彵u5h1q'蚓京9髫馱邩sx5au(\E5媝>[@湌`^茰i"H梈/v7MT曞S寺Q蜁貺橫旈L櫸L昷0I#s菈脈尽瑗{S撖3袍?u霼/佅~貵滓甗[镵`虞34U並澄{\ iep s涴橺懮鶘z覀gL,舔園海曳擈嫚L嚱蕘 =h逽c鵣 0 已Q漏g?沃盬z4椾<霰w饐璌軁t<匭/嗴娒q+6))x匜h耎蒶b-!鞐*礄C轭泎!TsO5se>Sf鬆P5W苨eo.霳暃6;鸞g鳉3艔溭!_1荡脎~梢綡{[掯镛哄 !'藐酀 m:單勠$'要趮肴胛%6履e6I豫謏镽\挾辬U薴F獟撲"G5嗀蝽X(驮嘅M犼卽ɡ蕖R棾=歾N B囄)岧館,C遨┧熓BT轖噦w!Y幥!^-薹嬻洟趼青踾[O鳴坻吋瑔{IR$搎閅8^}(阌忺眶唿W 7儾U4籬<駢呙韡姺>窧拕\h*4@誜u巋 F鍬,膮悄[首@8J( % 蠒$襆I2昼2T诎9HES袨)┑鈑E .U㏕s,攂訖2*;SeglSN分3^s芻珉y┙> p 艻犓Y7燷@:^ 茕勶睽r"qph榩x%屦缺9t3Iě伫cu钇wi喀1B丢Pゝ島Jx網7o奐廣>T4胜4 霿瀜閕'臄纀-壆{授T6姆均畩ofI蔋匤覕晬涃9u伿{罨骨╛颉黖缄ae雟夈蹄镢聯嚯钐y髛$V{& 侂.崋0=藘%&0穹o疐乬殩JU@@4藙$$穪}I﹙@_槵-q軡奙<BVC疪欱 *敃叚貫<+)>妒#摞渣O妷獉U,鷬ト a仐蘧郃牱謘l^S沃1蘭`Z炡<,0".I藘箙>pU Pロli谇爄:拉=詬釻l郱O吗\|鴩嵎^畈1闘(Z箴1妨]7悯汣厪-i龏侾Zm夬W﨑!颕Bi{鳢|]|蘇哵[w俫辢6t#}婅j绲6 釸<=>辺s坞庣)x呱)熧@&煎Je巭僜萐 莵&zQ}?徢罛"柫詗B疡穪7u拝)sd檨i誩備噔び*?甊?W獧R臷暝ug楒晪{烍{py )O镏伩 \n悻艮uj/礕&囡坧鱦铤7艽瀙b#e' 傾螻燗浆;i夷柲A忖4驞潏宓 K鞍襹&0嚰趥瑒绗获>6 馏 ヶ:n倞{=V5J⒄|概p)踈c孕.nt踂餇n 皙C 冘鰏/?猸."kd 鬝攩媐*B忖髦鼍$耠7 $盽D诣E亲-璛;+J皓鈘羐趤i& 堾b!禍+=i_如Bo 喪hΜ帞l#8炽迱藍z淉遟酋颼楪Z`@Au裑]{1佋邇U&騕植滢fir翤0璯=冟侓s∽僞nh灹OS礢W羙}R';竳 (掾 02*A8淽|齖晶宦戩芪纀90m7 AZX;屑韆Z翑朚潱瀺>8wN% 20谙區b9O4僇愘砨怟 囋嶗q n抻螄s$ 嬪R.炊%厃>S驠硱? 叐攼_沧悩W=刘暏劥3璇x+蔴ì透虮g鴆g娣?庻鲼冰Q嚤滯詽p;閇z染苄~鄃減蟌/崮z瘦3F} g耙硸緯価=鑹y'#鸵槸$挻涬c岶潕pZ'U%=兇|mQ弲f濈=氞6JK蹑匜y秠 矪橴0.斶xx屡塺鰿咚h阒L噕y1L\( 棚{-秊.~(t 鹐裊腓O@U;W+\鶶h恮IJ]N9鱕螢 誰[=捤т櫚6F纶@X韜駔 嶺贔l膤襫G對慛懝m ;KcD)N!qJ8p i! 珠裸増v(2Y~垁,匌=p=+RI.H[犚n瞋笀k ZZ萠N昩=蹢曀{寿藶S棔 火' >z (&項<售筄3藽輄X栤炎谰T 齆嘧w辞-)+} 薌=a貒曕q{0陭呿=桴<眉 襎lDo萿抵簲!戟 L}麫8圾绢n謽醄 R[塲虩j虢氱jk摊6!嘮6P諴諣Y 揃)崦Ocsn}矸q枘h9:は應k匓$8 v≮妝嚇┽(=vl>厩qj莑|伋燐cv?舱O-9冘 s蹨囥 u鏅&.~U裂Q"-\w凾8敹>qJ娆H貴9m*纮襚伥 鲛pQ_|煶p>RI_p}1`韥aB*[=h M4So:V&{漱瀝q[y霾玺%欜 誗馗8旓J?NE'А苢&7牚}蟵06雾|5k呀&雠轺窏蕸峻巍;簀!纗s珆X镚053蠀^Δ欂x璓磺僂E 摹氌f濢F韣蘿氞i怕tt糪餒:寛苃U#縋阽"仔訁`pR揱3嵥iiw茷篑 撘V訽9蘛紩$MQ俫趛錨R損-改m[窽<纂l!色YG?鄭稜蹜鴀3爵O~鈝┧)dr!称=W炂++褂惬9謟巀.骿"晘F(.Z4倽ヵ蚚<@焊B毲Q萣*毕埮蕝~垍;#-~&DE: w 夆3诈 揖B:!$=囦劼T鱏i 綯|~铖shfJ9U芻弪褰徶{&4^ 鴀^X臺9◤5辏^S@ A耛@>n謂+_鸅sc+槠煿登慤莏O伶HX玛PX脼酗C殖惤 !;x獋z掜7E湏$e珈g9蹊i5遟5K湄茞虊8$b3隬]翸 N寀!W𼒝.(j眨+ 射辌+右継<貐'`M漊餭<j[!q鎪姗襅犨r麨)v埭蝆泪橐" 祬雖:纴T8o蔘認贒_喇蜰秉i0m頿D<.Dg僜珙#)軠蟆g嫰蘖 沗)K筸`Z╃胢 鵢S脠o释楆钞G{! 鴃炄?w鐎[6謬轮葎u7W咍懓:刟1(YOHs!珊P]5勫v綱 碵W◎]+ee 誙肅輼f璵<埣鷢"o小÷骲劲G恫+2憐鑽勈絉勴嶓姿巴GGO\辺S烲`痻枏跨痖;^m 邤pi<崓愦>JD0]酀秜谢霡R趗2v芠佹鴡臗.I9箬9錈^&G6F妔:篥窑5= 嬘庻nZOx絮q?鱸鎩派5' Nlぜ關梳QB?憥^&p"dN[褣X楯b`!霴潚g骓{0*2虆~︳R丩阡 噹W(S QN荦侧;14$轗-!N覺颯A恝燜-_Z+Z賧4录Q匹;Uvg: 巸? 檂珲籺 1o朞瓰璤桚4鹌梙葑絵> /嵦}}轮 ^ [#XY嬡` B埡援翎 淢ォ*嫡},媸,寎始瞈cT,/*症慥| T#Pkc^に壌)Z芇雖@u'7 oxXQ汼砺|藵!o镾>季9炥/颭姴1p|鹝8Q>鹭or騛廗{緭 讕阋dp 鳢yr崇鼜;帚嵎洮忇 ^ #a5h鵃HsH2嘖R<Н3S袡NL5g<価+TtΕ秠氰軺缂R秅 &5{髥蔾承大,菡;RB蝋9伝<IDがy"鬝gjst "-|囊x趘勶X癇 82炠+貦7淴O涫jHy|请蚬'櫁弒姹黧鴁躀濙脀0Z;F> 氙$劑殝;7╫圿J慠u鄑鹁Ξ嬖鍎b核|,摻s硙汏¬ガ9k}a xj噫鮿8*Y瘏H@磄:鈊锪7轇鰾)炪)';眅o {seV闽膕f澒gVz<x46;"<塢eM飦Z礶宝U榘|巫'湊5'巃鎄铳 窑崷溃8r_$琷洈\4贱pj杹94佲~螻頛[坬S鱣瀥]sq(;酉不牍t猣{尜焄s垃钜粧袅録=穵F鐂F襳纪8蹼}莏瀙瑹羞扫}宙〗*>餎竽袺iX#勻b]B钨'xB.5q楞訏Y渎-k汣s鯽榊畊谐惣嗣谼?/昚鍢0.鲦+晤W疨元崻鋲p跢肤貨骂VccK"%+脢6L募遐k;0OC榳tV4哟0軸聑BQXв4翡颫旐壊3Q&pzGys1~孫X cZaT﹌9酺丟亸勫美Gビ禓繵_浲霬 齇魡淂[MX* 缱D撎採Fv嚘蛄呴X+{鉷皩曀 񔯂駖靦颰顸芮f鎒重蔁qu􃽇W'芒@鍟 瑭9毵悼瑸ab)掵qv:劒皔L8R'4Xl\樤+Ι2#k幍佂JBe75室吋pb髣Jエr奝鋔B:盛q^{訫徥YW7J$1踇 郜j Q重PHk`EFi陇n戋靓森+Q E>rD摛鉦dgy> +G噕葔豻'.6溵d伦苻gcV:渻)/6瑙芀^-ё讣揃圭9L缡糣猌ぎ崽~桐綒啉>'諷卷覤)[+杬椐j虂@趏5aD娵 呄鄖 KC +诋<%]瞢O4Q揃櫶` ;S責+岧+皤X戣襵め圵l#ド奐I 悻嬈{+唐!锍 踸濳ケ步{S鍍Otn蜎$烾姅郥X'L茘3阗[o[瘗c'u瑝n枔)鏘K33N異'庻~煣vJ~髴q=蘚鷘w艄焱匁!`{瓠拙桱ㄨ[a衪刌㎜ 樚旾!L胐歇嗃廸x烸6}揆奎䙌钬J+櫶呿緂m`y宅R怂O *0E掳W 筅3-M'姇 傞蘻{锛昌;)袒潡0)鹲ewn↓钐D_桉B1Г%栀k炮"悀c赇酱k醆韀G覡'酐B瀁Ot椱UW脡]諙髻跾.(.+鐆=琪曀鹥~唧钋V扅骼痐婂r炏"谽 1pF}琵滖5q塢z舲』j%湄t崁瓥d疾7酋緉%w軁8鏲х霯sn軱󀈘泙9"M,衘怿 L>甶雷-`T0 E斒W哔cs鑈X^Uk!R%爋r枡擿(ImAB宕e跋濭`:)現0+<z未驘~1k_L毗,:Q%N>]趮d婡6 雧G歒n授9晘铊鰾'R巵h"H"m钚玵?鎠+梫曮;炗;逝=迓DyS3奆 l<.+"丸鐃噘衼缯r癖2Y:袑)嗚)Gvb維琡w-k)wl&|齑咗[+)冘@杷钅Y\#,m誳萲C_)MDWbGP岳淡暡1O4IYW8}氕姌VDb,e3萛琓黋曌o丿F箎塂:E隀,小旖∴mSE譐/=恰褠饲衔熫7蒈梴巇祯數a}P韌谝 躞G/荇Z{漵减羴酝惂.諀錂扽e狯 鹃諁橢>|烡%!B睺蓽x3貨垤\)*岜 飡j维|嶝鹯蚦缡6)萘@uYhz-閃o筫-kO唦F+i炙h%,$篕虒RS譐UZ2澺A7儩<|j渭 V8團饻馶)湅狴Kq@\ 卵銣匸筨q 3鄌o絚#珲莦軀Hx捅岧򪿗0騌y8蟛\j囊%妝嘙靐BCf_A艮佳莆 甖hH琳4諱Vc鵕/9摙朏Nh碹畎+鯩魇zxl吥Q8寋L:瘷+謏 m<笔笓劘>1浔K祠溝+x荼>穘& sae曡鵔OB;N"H潉1%坛TH譤9睓p笃(捱鳄暇Q19繧it焺鈂dr,G{s;/vg'O|鎈E艴3鯰鬊Z儩3棸促%栟鐺bH犲鎵屙尟鐰, j7.疳癿籑籖忿圸ZZ|+ ]妬粃^耯s?葡巛䙌囗翻坣屶蠬竚笋'O栰瀺膞眣jR|L玐Z蕖A x暾1隴敝Y尣4J锽<塡^E4襲衲鏆F趥垇)i"q依:柡豊E啈 叩[喚鴲混肗s]鲍 眱侄})eN嵴[99抯i茵蓅s>rZ94Hx肀>汣G瀥胕,欵 S远帪V烽 Ks>(ヨ儎T捊>;頊T忑摴鍠画笝昖@pn象荣侹訂陔{ -7嵲廡!锽蟴@C到瑫橠駆珇c<嫉瀠#莺曬许>u兿N)je%w[I躔0憰^襳:浓*YhH髫xa懑,詣幑豖xm踲%~?%O0t榝酥斀趜.靮9Wp~\儽Q~崕>焖窐療褏驐眠讙牯卜x搯%滓?炖詖tm扐S股B嶩 但鳡v<3扦餖 罄钬谈4m2 pィ45p^ 藙飮j9麈}<8q:繴sH飤霏攊iA9i1p6梆W,远39致燎RWM Z濇}1铹 $Wk+腶=悾盀y&5pGWRN鞺`m每专~{%+Y*X軥A婦"} 捼钉渭蛊 "燚`Zz)=阢(%Oa%FK1荽欚CTLvg y鬊'L+O鎰誢耑/e9. 0'卷7pW:怕鱭闄Wv;)<麓驍M缒2轻Qj,塱&羬m紃j獯詂 喾便v箬E:鎎d訿Q[乚.囧,y%X姪 k旦懗犮貲  匆avb霓:Il躱鈪糚#aeΜO咠a\*w8礫sv\ xK琯tU艂.zY佔l巓 G7嗳猀炔D附/軁4*.M<脼0s僉#鱼0jX I;!釦R5显兤濍<號Zむ% 渊勀+ yUB* al⒍鞒碢8:J9籣阓~ 韞裏~潇$亏衻嵠"<厃E ->)#鏗s雭O莴榕J疾6L榁=摞臏壑3羁袬頰帕Jy>c% 鶭/s舫湜Ws>}綻{骤V炈買翐6侧谽nH練B3橑置幟锫鯢葿%`Ry&;el固炉/N騽s漘啭呾j9蝊,.+h)65骳7WM7肴掕PT謎7F睳TpA$倥烾B帿墹.O杇趭E R遛#9'刁史c@篽/VヲZ佧?貨鹢瓹U吉嵁$bo#阌gjjo!峒R0熑Y^賲p篗0;羺0?姲灪珖#惗 f!蘐Y?.劜j=Nm!&覆 !-虬$躿で线倕ǹ 諳[龜蚢蕣肪<k"@ L8$璥睲s(沄9y笱)'/W|眄嶭9鬜籶+eofz 琏.蚸_繠楱s剳苬ヅ/轤菾?鐄W竆碡崒+潉6]MG賸嗉8玦潷兖鼰反k`馢齓鄳 愈嵺SO?w歃F丣R;F&9{!If峒楇襍聕 搣蟲g始瓠臏穙鋦挈>鄜,魥4崅磆 8]{s瀵?@伒艶磻鸬y鴻妎{峠b~殮秌0 Sj 諀肐雈驂U%Vq巄?! 鐨B'頚ㄊ沪S/k4因%+7|頡X4諨睆墌?8o煘斢訐騘`笒;迀雬Af]Fy"4Y惸K:j]ゞ惄 翶8秶V贤'к睉sl5 + MJ3{%悛y痼p綈X疴吇膸絠x.v-.=3"(B奏憛醺匸橇n岫\鴞9琬/j胇?魥5Ξ=驲樜呩>轴斲x  怼昰^(9'炤1lOawf髮%湷  ,砍怂:纊熂\锦_l=g辴"銄'K>饃窔黠臍$h{V珠曾X3谐绩96闌稼'g蕞旜W{髇c鉊ウ<特嶄脑棯*诨~yM璆糹岨V{宥崒雏5阋鹈 遻|鴚橁pt\'?x骦7= O&菃n¥俄I8V8$蟬hdX鲣N蓳;%纜+嗉?|.<+N槠w偘谽Or裺\た+恳F疽泹颻傛 f媆蝊羁<疳o憨G椤,M榓2TF3 7獾&J湊uG rld|e{ '述T贌瘤猿7o兰櫑謪p;迤W 鄘侊}z_U沭0;63嗮簾 |蹭0e3>f4h}哸淲>%ht@僗妬z]f瓓M韍*p祼$:仱6tO*OR+p>D粖籓灔謂檯貹w戍貦仜81邩渝/?榻鷊N^溦g\鄋E-4讶UmuiД2)嶏霿墆湅頁睜s%E惈瑕o顔eJ谦|)乲 姱粧C里W葵蜗政嵡骢勴共6稙鸻冘騘睄h婽eN箄q煜暯2>綸Pz= F佢<儣c圳舏穭厃蒺' 嫉B駧v晕礘#猿0 NA雸襖聙镭/詸.!)}塾锬'Q\粺l=啵7甫u㏎湈&i骎鄃8x-鉋駁併xz5躶$( ,W諥[fo窍.庒詭绫%X>?`征<бc冕2/g1.mi/=_厊~骦/醬G鸻D&&-韈灂,*vg 忥蘨T1oe1肤r疯盓呷渱蠠粆锐 轻U8&[禫咍顷+B/d9$匄壎c")車军簚2 労劒鉢 (J薁恉 孧诺酞 勇顭糡笕构⺧ 銻 a)X Wm孳s4cs彐壂ZP炡n賯I閗L 樽1Or1g9v报f噧漰z彭W IKM8=译r`s痟麨欬鮝娓k0催9w俺艶囀lc浭梦兼冽偲骢顁0$键鸿9E曌盔詎5Z潇ウ障*漡趩zh4$屢岧髊4p毯笻uj,4w晰鬂h喽ㄚ磦d^儢hB剨螧{e n厶87匢龡1毎茬z'匪;筣{ 豘\} t蒸(PSb炴NxK璲襞/鱟yiW 扣糾Z鵾?yn繡雷%"锦~b麲劜馮^┱轮@莚Z骉炏^掮=砙M)i D>i柂q2[m冃aVF KP宩EZA摀殁鯨璲%饧7r~5嗸^cZJ3m}'3.L戬臘Z~櫸霂烑髞O 黲X蜸1"麳停X節qF{亝鏢:e 開j忬晉. 寸耀JWネ調/详鉞咑<(梫u弤鯞yz縊63z恲ぁ}4蛾~a靺粤珜 >C毵:蠤噴偙鎞* Ic4Q捚勒 嶗m_|!驜罈%熢邘u}豚夆/註煁勻1礮#6WY灟J敬彭鶂魠术 鎆歽S?zqZ蕹5y毑73蚐!C鈷$韺趧4R<64D乐j*碨qA H邤己詠U! J齳鑝QDh;邦=咬jf肾紋+疸 }《栧 紇iK活炫<\跅nk伏釗桲鲧频輿橿孱N鏙Q 联T| MiUymBk!晼)Q-5仚$4X窽岕嫝菼觱z譖ⅶ`B>(O玡, ~ 驆 |=垓|綟盾褡}\鶲}淵)焱斴-;Se獙lEaS(薐 LK.1P囱.w*&n2!蓞4 .晁:)?鎜u恚,詿錊熅-猖鯱;#t"x.抿遪t k/Tlz表昉b,纟评熧gt:#滱戡}tqlG軆 耆EHt*比)#!SqVtr 8呍CS嚤1』║?褏bQ MqzfS鬜G灨琹 l{>掻蚍_谒揖褸<憺k裺{饟OlW萜 %qW秱獭}惤 瞴筊! J畋'?鲠M \f ^+\i峋D⒕Fb緟頥辗q&D鯘鴫蟓.L齼劳X勤 K襘6鰰谣=)_nTo╅鲖 H\b厽 秼唓$筱%蛾綃$嚎滲褸ZC赟瞆⊿H30サ惸VN峴4笨G欍倉囒w蚵9%>讝 jK >, [g老+光;嗁%奾;兹+3 鱁赡hO壋P浛D 紷乯 k$寃朄s渏!渼f腄@翘矑Ц騴'Kj覘j藑v冓H[~~R鶝?{`U撹g螱fS$f5e搷r a婊 2|汋C镁苢#酼可擫吿涀赈萫箓曻甗谝-侓龋\耠g钦煿 碱X晤逆8 畗坼tF{!'J.麎腎疉-*以赒]鈗*>楆F(S(玁: 覤c橐玓J@QfdAT +螙@z齒$O癡蓢仧{j{\q鹒jy依鏒#X ,骑 }/b预鯞+$>$s!Lu񩾢饥摁J嗽:洔媰鉨蔄QQJ ~5K[5%恀?⒚S屶﨨帼摋薿莒%}披7^xA綘#%O.A?[" h劀椒鱴h*#7箥0+∈M"盚寲旸诈Pp殧炡鬹锯{niK黄译莃鮺寜配槣岑蘫殢灊蒴沏鵔瑝蓃嵊&縅蠼e<諞b~頟oT┒4v@%]桽 M馆OSR閁'摁R澊$鋗"媛襘q译#9鱼槼鶕邮煊;e*森_灷錦pP;3ZIhM$6; 蝠#&3Q樵Y ML>@nUU9餾/Z谝瓹[轷g 贕l<帺*昵GY聭曉f 譚壱z襐銤蟾!2捾≧b+ZC]玅<4礠@= 熴 偅仱縞鉩枵,{[谒栽?<"2"^划v!膘;趴 [轷iL蟘鄑 #桢_湧z稀^K曶 箪%愯E偖^2螉O礥韎乀駞R昉猽e鳑趢5蜼猨O誜栓]N珁耝熏`舡'潠 7链e瘯綐焳当菹kK 絶蚦鼖X铘(饆;/详蝰楚∽骣:盒B[;彲4w4覆Ⅷ Lu誏)鏟6俤^谪橗B贌郇慪ecG扑4^楾>驎轖K[诘%恀擀妗頱 K瀣?麴欓|蔗> ^5Lr叇墐霐贙鑈 悴鐞<騇00* HL'蔰籧衔'誠贌+9L ヲ洛Y臀x5跾K[5%恀粸芚h邱底w~螯'蜲;;3發爈l堓 eTxs?SG迖,& 2i驃fe燍L驿旖烗靏=k=矸勚s鋃B唠膑服癨O猼磤崈萔雉祯z髈唄o鲚瓀T橐堅x[_菒齛桉瘮胭肅蒗娅闶苘鈸z熆?Z鄘婮~{瑊旌/}∪{g农孼X谧耥緙qX乙晜燓G-閕#螃谀燥伛睬:?馋w帩鍼沉gG絙(凛琥蕛桦縴QR'B疖杸_=J蒆墴叾唨暞湄0+茺搭Og ]-麀厼8立 x閰"xtSο矦?>YZq鐙笃约蟫鐠 拥;r"鏥5r穑钱-酷舴垤佟8癢眗g O確>%o 硬 i键]炯篦P`眈k=絔豲s罻u[6*F蜤 嬾.邦cb典炩)f[Y蜂f鱮y脲s 4k靱璥檝氓焻m嘔碉,V攟O潦嚡!:鴙5肪?y 雫阑?K炶q"茰換瑙:锼羔7N猠#占5~-熂n(眡)k焍S%*緓a稠G>髼t篆t'擙隍鮇捕撇B豱孹r8f泱穉黚薧菸K玽t磕_麬棾鎱B*$┘闞(魒 h剱羔R衟駿連栧R榷搬筥Y虔嫱彯鲽?覿岊Z(鬝矤Q蔆岯6A"Zk扱3.喾W%頮0厢G04f\ 祢緦蒢^眱b.E(R&@'斃睠鴡嶮O?,聎叐勹簖怯梐l燢ipz邕/ 4+蠢+d "聉b豱蹗!勪咫K俑莧溻#dn~/+:'8襹m 4骋崠瞘诜毠^廮懻 <蜯}揑炽L^ 羴?トc洺]k譂岊泣亊屵縀釋鬓獇/G荆  EB蝉曔筚yM\<洽猏帛辻c雜/1膪s砾輓 莂 靷wX跱凾.粗刢-heV{+z宊x髋K1嘿E禑潁罻u$^E!蹅W葊 D碷躊挮?苪w<焎闉耣=^F鵈糪;Z+ 勀qcH;別8包梙璱z殡>兮9w]椸,[a催蘘秼I I#Z2!$RZ! i/菞&H*蒃 虫GW|䦟腫姩舸謺s$#$_迂{H倡QQ#$舕;BJ剱i#緱艗.[泲|苹僤!EA輋熱,&濋r}$gR硜觚e霭尉wvBm6S&ID6嵰((hvR\s焒熎vbi <旘Y黥M鎝).!%ah 俤櫎銽圁謤养9唐!@7帱1}笄脭摷栱*覝篚渁v 肒鱡:0霈癄雌r4津 L!<肊揷\w⿱h蛯-S>{郷潓>耘1峄犽s嘁y6CF诩餜苎v8器i{&訄僬桰廬[唒~晓Em肠禝髍蹻HME\埃^1s斾塳K侔Oq茝[嘕hNAcUM@'Pm昔d7瞾鋭;①糤由hO=鄽硴F彁DC譜4\GcI]!i薺蹲iny躦諬罻蜬瞛"侞V*頩曨預,d~p襵 嬲舄?笃K6颯cM -P"竪M鎳7䦛+O饭鶲m|x~<欘橼h01疇阽'>u!l)纛猾=W椌槔z硗曻 钾1鷏剩杶蕪`D@p謽觫7*歉 蔷]UR咯?N3 鲏<[_鷑罐W玥NkR9-茙惛 A猐硁S@{V癀鸕G蒹+飳雘\'楞麋槿k[;/L穑'觹狻 -竒┣8|桕P*鰊 x|頺準労)KDhM绾畓件C.攓炼u><醧雼韈}?z2龁7氟約νk}歴頹?痽=Cd$戾糼巯>yd鑵渠'壎^踬擗yfS垒-砭R. fM磖竩A+g滃蝼 a料~?鮟灪疁?苦s资訪8D諦?惘鸼Z躼YR#X笴耦K头K耵検X-荔池VG耞_蚬k錫)v-田x 诊u喀Aq?面P]纒Oz<鰠2&O潮-p(9灠筩yj8p2pY穂L~僛苒1 &J车)_.藞O嫺<凇r凪抛钔q鵑棢.<,B㑇^彨v=伋乨徬}`?F齎頨鏬 /1坩薜A9朝oe)W(O礞诳Ψt`C's0;9` F奊愓髢c懘]=t耏DU 焢&u峁)"n妙iB蓯 爝8*(梉T`\樕@I7&[';D:v濗委姈插暹豺憃邪g9赇鹨"!6閘*蔏 .i罨怊螓'镲d;滥b{e皨m7J2i㑳涑蜖5欀<􄔒k3n蓦雫蚼^釽/濑q, 蘒{珑/嶟伙屛[繇iN(乵噳&(鋃h甝丘社懍KG跘6mz轲F闱颪P, 巩刼遾x狄齟瞋 !篓攼6)栱b3^iGゅ髵柠簂黉s/跴.uxǹLB?t4痼Jy囃荡]劥爻睢螆;萴⺻鶟4媙k花撋籹黶丼孮蹗!d吁-(#8V蓴盈f豌?/d:烓z倏#m顉只俬4+遲2鳨劥睗Z(#剠e嚢,桵7旙姚1锲'FO眣縖栭8防鮃2~曇撇\糂咮p!%韲:Cp艜dj|䴙#秔:呛4<龇(h偷k>轫 牼鎒f{忩*3艌K d 嚦障锢紃0U?膪>>/g縖彋盒鑘稌嵪擀J&蒕3.!@)6>3-鈍鼧\{霝供2卣_&(p氅稔5hM>蹅驄2躬繡)弍瑨MO堇?e銅舧K}萡緘剩鯢齓橵y4a濶E.乷 l糂喛}2茢釖揼踈rz臸w?鉸髎强粐草nD躳 H|劥A>跢Y 29w娡3倪>Q獊/=煵䴖%玤4秉鏀鈆靔T黰U欼\6仈6Zk h9臺3∈動嚄 娋`D丹tR榜"g挢r1龢褫-涉w畏)IJrA |M{,饎菎a籕碦F/礕仳-\vR攱8擠罀P]"壐殥槫t]"yy.弓u1]菖Ho供!I圉4_0DCm=OY矴眤 !!仈袦QL*-忢2'}鱫^聬躰寣R縳>茅#5E驗Sm6霺莫4u-圌嵸韜躀vvg納濺咬M飞{姏+r鳉觅嶭c愖鯀'%鮉wQ擢┅W訲+叮}陴x墧饍'R鶲W棅! X禲皲7:珌_?{DU[U]欖抐w)塾:擴H睧洼k褽`7餤彿x4.(I "qAiD+(j1駎e\p橒邙I啎露 仸盷饗襇困^) A卲H瞙J荦锥LO K報縷_姵g朣1R葽i\R漃,耵獨鳚f砲幫煅 n~6U |≯-候P S屫p,苲戡苩娱适X7俎. 抻:佗t擿TNs(8%#3s7霴紇醠镣夕aT鍱 7龄5p鬱r輧韅6礂鮺閍+鷶6%棘ⅹAP]*BlH60S溫躝;櫆 躾記1 啦j5馢 劓.m漘禀 愜铀{厂,蓁搉V偛製摏弴筺L2锎鞴{w豎聊i61 }銎 4t惟閼蜋;^芯W撓i粿\q紝b芥4\ o!?4:?駐條|誫鶃W鐨~侎{襚綖Y#愈瀓::頯Q怫旉wV榛>V庵=黶]黫埦tF剈,.障砛盉sd禅-觍 U'蔺 錝g$R缨JV縍+6#鯲籾禀术-n唬葖;|>z咰eBp癆T{觴Mh0f凫[達馋姭Bd[`+E緙_5蜑vL猵'緈|垜鍌驑@Z帙`IAKZ惫V:饚6雡\p縗蠃诪[廏I擨奩X狹Zh茢J E剞 軵`搿聙蔭绤鷻梽匕社>肒%c iK軋0翓@4P46*Vm 豗鐟堏k虛G9鷰O&>温.h)H*voV娉稩鬀桽腯IK.粽舾:晭Em拧F烼V撐i6 -;力t茨4mu殕蛓t宑S|z%Vb8RJr閦傱龜<缙〩F痭N醿湚 蟷侶T狊P(觌5粭皅_例觵!-咕褰u敺6韭Q_ &f善苗蠪讔噱觗Z1薯 芫桲:h壹/牔 塸袢&螛fu h鹐獾'ob蕫6弧渉T蠺痨+{i<幏=r纇诇揚eqAM角螨?\A4祢蘒嚫黒囜'賊鼤V>qY勁gF嫌 跠B袣鸯ㄓlv~眱 ("劋m胀c屐k椰攉K硗@e穏 攁3鲶&竳R塈IF0辪 &乐詼7zw%/;D蠶-奬螛j眀囅蠮蓹殯i8陕岪C杊=鬁 藣 A5悩#轲斖憛叮亂,痐 蓮椇蔛ro峲*<`/癳續j/带蝒9}蒊a啎 芔 睓<渔 CZk謟焪蔚<绬bum 喵.A00Lぞ .4 i鯐B>碤m?枌侯澢T4& |龖g]疵鍳~ '袬Ik砯賤艃3zhY\聒抿,游䲠嶹SN逫!蹅tL洰R>Z]絥oFoX苺迅f弞擕鶚4J&^月1J}鶲:*姇痈{9'煁緻1逳篹C[焔m涧>2?. >鳢1E寶z!u5/(嫶糱)?蟪謇O8黺0b;X茮 yn曝鋨坫jl夼呱Ha#劋X萷`擞寷{9nぴ4+R扢1抉6辸z坱躗′2嚢l犹V敷%v-患灴 7铞賛穇U2黃i ε鬤斆$t-訝MS/齛& 葠k譁(&熋񮇉t论伌-坑/t簇轞熲 樃锘Xe.貺警螓粺撞-P菞&O亨L藒芪{g莤|s灍$朴p碄淮p&1(Q獳裈7溤s7 H鸾,厧<鴗$V2BR袁游$a昴腰惴_$痱=s谟K#騿|緮間诂~&O wY杰#i营跡i寎袈鍭阨椵╩7(,+寪淰~纤緱'鸩鏂嶻鐌1&韾aJH旘,'擿臗_粏.騱隧q%4Y+噗e氽鎉葢}锨U鵳4(B崡嵰3牺<AZ.R "EP蘏谭硁蒑坦鄈XN膜- × 臱襦W/狨淏莀?Q蚰 9_砮塽>w紘#>&壾骵X絩KL'薣巯#澡)嵇~xywv譡J枥3B爼" Z)f踹J?媌鶥1蘙魸濉h)hS赒痰S敷E誾pv支窠,;岉D,嵚/f 铸圤徜6+nL IG汁貘鏹?,腓nc翑>謕L>軆阔 lp 9|UEC憊(溱( 新蜺0胲/歊+雥:飲h5靭韣&竏V橋劺睜 Z5w覙9蔈U@芲餀港_弴e鯚xti誨B眗4噱Srm枥*PF.树軾踗!j厖誝+孎籕劙p肐桛憧1Z仇庅0暚=Ia"S.47u藕磈*F+烜y(縣P嵲3PH i籜栺紓爤u;^,;宔 韁]q'矇G4笒鰧鍬Ob9,宠'*54Xn闟壥馲榤攅c賔鯒襎`3{Y薆kM鄖 暇F碫x 飶憏鉳\[# 攳睒2K爘羍9造T袭yqS;惰匉忤R,協T塁軙寸4)徍攺6 UBH繄e vRH氚Ge昱t嚆{9S{+$ 斎g5Ln箖.~(仹!揜9MYN挩 漛3l溨醦誂E蛶悀r较O濶8Go嵽鑝蚄0s尚!扻T@^B儻虖昄^又蹴氬5猾?叴耎秼类誋薋 N尷k熇/2$7!临F 憯E)!湫e唹!釦4*pw▍hr聒6dL麬辒嵋婊oTv8曹 咜罴3&Z$%趪l&曇炊+氁袞狰亂@25荝槣}劣44{i5xl蒝1~顊埼閙覻膎盃4h唩廟灲EM/徥挩 L{X栨軌a矠&$绵貍(L瑬斉腶,GB日攲癐尩 !蓬>罂滓観桕与)虨漫磤鄣資<嗰屎 (澎鸂婧髶/>賐$'*h甋囿驏?琇'&菪漴刞崛x垚e!替iN焞p燯Qp癩s犝# 驗f|橩:Oi,!)婤2"4~犢褮缑 馓#墔郹洣擝?#鲛y蔢塭 v)I2I稜俣G眗烩S=鞫o(鼐PH#+.櫀<逾*Is茺恩g8+)/; 烿d承斨j状d4鸝4[kt|i寥叵&VK鈇c%r8斨泞".(x袞屿琖こP4警㎜J慩44\W浈]箇s酊醓嗏@ G]ME 6"\-) )&钒 0O逊m4WD徑冕歿S荥I釯婬TP毿鋮腁狴倀V+龗 淹 偘c.+O帇Q晵g7鼙<%事6 郟阜髖吻Tl氉 4媞O黥W恾%s较朤4)翼殀^s迍O硖0俾>Ss68>戒a6*蕮扱qA()" lA ^`辯1鰕A>r韸;[l笽L旤馽%<>郲彜裢倂E 葂Aq?`9昀x]孎;-6&cb走遣1Jl氁昂.sf泃件5wX鑉!螝cQ5移巵p 熞琒hR靑R4(頬摴濊tCb枮2$乃{策a輫颪诖>埘鞅杲O9鰜柜袒幺虣fQ6苈)h:熀綂:E}玣[漛脋蛬{2繗≯ fdATg`芴;i撀>荠r,av褖塞w茺Z4( 90A檺竐俬$(o 騁編I贒:鯡榏tB)俘顣&菉(榡贁*揟O,靕R勍︾l'埛#H浥眇④av褖*O哜+龓e;/n 夭侑i稡郉$塉Iu範"& 7 編 m饑;z|諿 J-)]t4U檄:1v!恭(x歭V(摛5埚l h3q'埊#H楧醄^g憸 G"鍬>t炠尯>=hB飿觓[艭唪易蕌,QG陎H*a\薭xBhX乙kn+o_8;㎏弥拣1e掇跚!飻氩垾/?)|u┺鲔!+&翦潹站Ot哇隳蔐ナUZ逞郞峹 u8%傷桒,徨l赛?08k x铫翚淺覙汎綬r8t@眃I仸&艆砽筠 #肪穞呒Slk琐 塊螛`箅朶规'g>r屠谠列 運橖杌蝦x鷷墟o+u;&苤潶尮r落J棯樑!抣瀃灞稩S ⿸XB<h炉/翦?─Tp钀妲麂) 蔆傔.藄汐9浣4鮃~\犮+湞:薬鼃泤枲鄷|陣O遉倣椢32篟P#)h氂毨󫮥叮 串胂犊鰮蔍#H爍篮>揊H&$I[鸾婮剞牗坘~$絟 z#J睟扳^ ?U騯扅/献5RU*]-I&vH 艂 摘℉ 驗夵穠胨G)c謎6绚$袣禖歖籐凨l 竲iEフ囨G$\P1餽A篗篁鎬柎f伸 *,GI,tJ儝燬邍苑)\帅)k翛圇^|鴖eg蜋i┎"袘嚘綂|蹲*栵鯴+O諷坤庚鍋h仦,45(_&鋒螜+s扢(!P>h_S((跊5u祳M;=&\.+坛櫁;"[)KDB袙: &R椯7晸 EM鸄M韃奴 珯vio 碄?謻酫莵:#)z]E髜毗]殕6貁0G$荹QO簓7胔c\U殬氩宓4主桾_噃B嘹侭J搈T7h额R级/`O芥镽8zBh郲拖L3"籛v8>RR醶$鏭 暭海?wx蠳U2"擐X 堌毱C-|霛歀eq)渋3tK兄⒇+ 5栚f投邑[-1h隂 搲#%鸞4O.dK]=癫褷查Fd #%阙Q.Y]敖1扩F┻愧Y6覩H闦5?莨榙鍃彝回/媺?+j汁 xeK@境X%SP黤i/ 聅鯄-苺魎風垎秬j,璝烜)"枽X舾dl颶`S=B捝篮 86尐 -=趦,*h嵈BX幩暇辶氻姇;Z硽{驻5'66Q塹\栄瓰a-蟜Qf 睏曷^颟4質@(咛 扽ж烊)瑫ゞJL!IS娪歇龠l藃*/f+柱燔з郇iL+頬摱=K 骛9楩噥$丄> 悴Vb纘O僲g芲{n鶫i獪藺i#$稢r橃<K癳骨>&奶-婝V螙┵.硾n贫%+wX{鼟芔*祥綹文酁鮂 xm哀犬T9&佈晜埆贵</<逆W歫遹▋砄矙2裝I",( [濜縜淧佒疔ォba跇掝礜SV'巵桧M榏}鷐@脿G淊&栓C$6\2n樑餛挮.s 蟵掛i)OH馨WQV"挨 暊T裛KE睈岬簻纓2忓觜z熲a宍 |"0?SI覜煢 4STv噪?P斉%q凌q挷辶 .銢蝢偬晚 +djU髡+:妭諒}嚬}丂w6镤萟裞1{惸紭褬f侵nS圃遄'"弘5櫐蜬T頼):虁G 躇褤)缺C$┈M9z 嶝訚@縀碫}_lo~ダ爉O唒tigO觋渘4)捫p虝疎$沯ぐ㱮"!涩计皅烩`\>3!薱毣梘阏坛?+w L?3滿統袏硭}穳yc|U s屼 廄偤X垸S爸k鮀TW寶崘6e誗贅玣鶀馓6^m~罅k4秥w5n憀仵 游鷦A蛧脻屹T龗>pdY@hS5︳&蓱=Ia歵穈^J褍-袃'濢*(嶶 f寀h都bX眈赹翢We:S揇GV寻{l|䲢6娋iㄢ鮑yF脈6涝韔 袌廍兒澐鑋:<?O灢a3 伭潘﹃仳\1觘蕄渗{楀i淈-驒&釉k籋闋"k熀眊{Q穴(L紖沸O:hP碙n(A(\Fs韟q8N8侂茐棈嵩Kn郷2碩P1 也佞=D镁崗榈O莞~嫎#樅軪蓢=7駊豑m|s葄辀s頯 46箜 :[ゴ}"6閭簲#掉迧<幾=#竷紐\隯4 盛d歃!,d郯輬潦]H d穄S>$|摖缼埮免^3Or旽RM5泑~鯸#叐8Z摪鱼{6& f晨{ 瀩^1e4賢=h咃Tg椎4 苬cXN樅殽溡t jV1q䥽羁劤囼倬賕1瓱1|oxL{硋wS?5 粈仔碴^朠 瓓亍榿,v )1T贚y 濢U髚翞uB^簁z箊鋴%r鷏嘍箙焀詎X)鄰+3哜萮櫹廬@亟E4茊.7N鈩JZl |/皌 c籚g"卿衖錭,譄d蓲rI糪4m鯕W7<暴$;銱構&頝]磬痑苎轃鴶/溘;鲹%3蛿潌3颾1M噱 W@k*R抬Xv邨糗1篩礱鑀媥橠 殱;}6 Xw靶,#mβl嫗辄if6.衛 衂+壌^} 賄'擛J)$hm )^ 鷖gG勶C踾熲磇:5 {雡黱YG啠 硥cV392冁a6鐶:鉿h簅 'cM|/松}蹗炳櫉i1奥睶*@V=騇b"+鳆l hl执5i鼷灶 馗%`Y饝濩b萎,膆ew沋,舫鯢儜筩%7|<.aN送g 也i习社Ⅻ"仧7G"Z)剱lx\{n尅XX@,靔渣~e鍯 缪刌桑G矪?a衞!9'_魨"*別忆3M糂歺(6縷;揘 瓅儱' 查f数軩\▓8贾Z侍炛和靄}o7Oa剏\8荎!行繙&仧k/v1 埗晔R殏0Jyl}鍙L9Hi欭60j;鳜I4鸦f6`R'孳4濺〗q;巏@赖諼VmA◇如n顁0-薊肜`忮;k:4 惗臖颎<軪)桐K赜袤﹙宂眚`聈'\樞3<鶰 垭炭D 谪H(咕v灚m!ゅ 凞雬哴栓焕h9煎鸤 仑!挕C,哤K啎 螜 O ]箃W<婑蒓(歂w湝襥!P殆輽G !劑H<脿摏im嘖;A%*餉绤3$!l 1Ay筪鬑渗儕姃?沉撣}0H崠 EJ$璐B菛i9澑饋Z嵃卵]颧E(拃纆爪t┠栨pB!/墪勰+ 蹻睤Q兩C擔S蟕P萅8 夽昣D簬A繒齎*2E碀Q跍貭 禸腎=L;沣h鄪眼HF"hL .笧"摳#%2II檂躊浓蕭簋騄^/HN 3鬩燱柎+F朲IS囈Blo.掦<褊:恦埨!鞵g勣聵l殨鰫麻uJ嘚eJ醂jM莓 涙P!辣嶕hk坐丅"%U-J$C薁"岙棨zqwn靹卣c tそ驃FUJ狫扫A鰙MG-@*=}I[棿d4鯄闚軨僋  呵@0hL艇悥儔9i啎H蹸敷轞a啎Yd 殠偭5<_擄lC錣剢h2Ax 贉iH岵慌哳-6;鷵"诐>羇(蓸a掤R仴Oc 岯恹粪檶c: 隘)`仝=s萈g鯃8\抍 V継(5BZ&j,a羑X8#Be <廡A&疩Z蔡V(傉π炂 躩 P N翅砿Q峻p槰A?L餌 _:B爀K`^斮c$FX擶!乂/ EMM炎疽XDl-5韞▕Zん娍甈L伲Q&塆流!h趕{?淅<客c}C~絿髭0掉N吨;n橠9P]%橮%YR儖9ⅶ?荅,8w和蒫%{5愠欻Ba9喔8字8匾l詂!腿劔wZ:蚝"1桶R壇4F<鞭鏾kSTE]鲛;萎<碎鏛讓4j杁蹝粛 08$@r~ In.i楌粣`J. 亜z(61糕辪6姨hz9}椀>3睵眅[8~>燅h|>{縶<矬舎=毥纖)2kyRi塣沸9O:馆0澨礍t儘帿枞+黧髿K锹] 収K["漄K去!焸B埔*瞩xj鱰骔o躋箎9蝅晛媀;T倫桛N圖,飽d< 辐&萜襥Q誵?a呔k疉{ 砺䜩榬脗t=邂值7甜7晉|0箬 銆+钾 &矕z爃F騩嗟W溯呾mZ﹂**.;蒎輄灡軾O嵳芦樋嵥拳珢M车Y茍7扤濻銠[/鐋酌y.+奉揶慡L )W眔掳u| 箄b孃蒋蚗G敛"5E玴=H58 孱圈荆啮k拉護n\Z,烁x=j砂k燮慜32鴃r鄍蟩禢4t;磂X醜)q琬葇沣濂r鯙q3硸&こ /痯3 凪E璱櫓薯沈,?5W,}炜fK榆朝2r]!硒豵觪銗搚硞p蟢泞脀V僺 3t聃眎80iXZ咒娻8啶鈢D6L[)颧mB~u ╊僮!斆&捾xF&*<r2帆無6浢崹"<' LX蔱K艽鼫儫荎(箁瞾飷悛"=vs騉鏄捜饒x諹df驴7a澃詅 a 囪~F麸Z欨(W9恋#釔揧U'B栫/糴b乙琙^<_9沅棼>溎猠 嚋蘃=I褍qB?赯a讏ax蘌6磁/h%E>+ˇА;p抝-r2:z_p"Nh\也o21ah! URt-v鑞卒S钃,硙h褻=舠t"? 嗢3榾騽镍nZ憁W嫐幀苪`瑆9橭蛊㈧後萦望w & 筒%劒泫恦纐歋`?溏~~蛪:里>:搀ar03l◤瓿朏誖 ,托瀝满O'Rv3退窂x?]謊慑 V)00:f貄02c9P 焤L醲n馛q"Oh躵蕱|:.,僣8瞝瞝2瓨} <'媂5|抨|o)U洶{2b骕悚<磨>偾{ V𫵔c嚴嶳穬Tq鱫eqv331+4:+.薜~y鱫姹=GV+薜;姕臼!_Rx 0`b嫳蕤A璪㎞-枴i藖闃iC箉O彖8L囮s v向v鲥9杦K傽!M {莈{+鴬u膪6嶏倝丈惿渀褏 桓g'ㄔRN@V4聢 "玪瓨卍uH5◣驃韞M筺暱咹b娬纝:葩蘳苆外~M疇Q.D"坆l0!D KP z5肔2> #硢裪髓宔d謕闙却8鍗xU升钲.屎+:5y"4-{F-[嘽'R,媁熗怩绮mの来︶鳌皠 C詆G瑟2n埊t)磼閺&4S%z DaHd剄8诈Q^黑pV緾_嚻拟7,Z{%3c蹤84鸤餄梕轨L廘N慿婴/% 蘱l%"叱7f Bd5EFP,晢黮嫺~K>D欜▕螮,#m狯秾句.窝爪Q蔙,& 凤塈-:濋jFcU"縛 7 权埣o90>衰軺V9l\岚t7j138e槰喇娒y媌 婎6MwI褧SdS覈12cy|叙O弙出路%噄E PtF↙0;稕3rw衽/醃霒眖祟a卯Q诵劇H碦<2凿g{Md頢i蒥h5H>舂顡孠щ哋㩳N橇 蟠e5縳tv'幣劧兣]9L[僎覜bph尗致唦 K5齂 = /+.M)艶c~|g/^_gl:bo赾葩4畳NIk櫗A= O[闙Kub謩`A;>庣哃緡l⿵踤紩庤m7a|F恽繪域鳁A恶簖]づ"渷銝Z8Ip>ゅ 1铸H3j搚殹9柽'd貅稶缗鵶:r5}毘椈D筤f猨/[Λ0T笌gh.?觘馟弋扢+^}i娺}s幀 暫!烻剪鱪-[>xu嶿C鈴jG艝Z揺/肵J6叢  FOh攙pwm嶉m吩0Q礚V`h&;廡啈9殗C a,2 d憢:峵弐%d膃;』2膆a竟撡 l]菷 p罘窞煡檬6滘9E[诓栭殾Ro鐇佹董!嬺?yu?ベ鹔D*+賭1耕=C1䴕<^p唻翿o*+喠 i孪f馶 /yU矈z塴漃" K蟪潙霈f66懿饀郙G鴑髢旾j榱碫D|鐒岴: R i>V逬kghh埜7$ 簯2]7/6邧 錴 Y疡r5鑦K谂x3綜WQ螽ehp`茯向/室郐駗拍屷7U鴽7栾褦贒`萰M60歠1锔 铹_勓祴泮"瞗咽(L$7l璦テ"j嬖.qN"范模罙艷M,璫nCn狤{器’?竅訥;,2颽)p麖分扣撏R3瞭爯N烨簣XB>ヤs}L驒萀滹g5悕糨}k.鐐28濭Ju板断s瞢@6dV;荌眛+鑏28 h贪朕o◢})﹕婸芪]牦业>嬠4+;%g猊 (罋(/A抧a~ka厦撺+p\o(p牧QO.劃嗆墣=9頂講=瞆68剠狠邁⺧>p墘#蒏j;舚圧婝梌齣聽妷糡G{&づ$5qHl聽B噩褒嗍錯嘱9湺H覸p蠽╬遾犐廃沨隴=遻?g句=2鶫;20諦6深縠偿>59炎#莉洚C]'麏伍缅x蘘~崈斶&,6愴z2r?馜b!i齻_黗:2j择拤2( 8洹?蕝盔!傣@;h聿簋19閘;~疂/荕a%kDQ冡矸s o(K芐屜Z>wK浸魅{輠/J+r磛挏‵9o鳫+' -楃W}& 5嗟W虴+黲徦3,*)$鈸7U>孡;X$3佨H銣m鹸毙岕.龒Wg媼礇Bk暼餀8茦8▋Rk,鴙7灀a簄+ 3修鯁M檁~>玩}1饙郬x蝾Zkガ 0睯瀿Fy(拺烆z櫗缃谋恌讞9檬I8I是凪炋褜宝臮8耉2V\Xk↙ 耠9啛)q鱳3!^麤 m }k_矽Wq9骫[Y哉庛裹鴩哙窕魁{a釾縶冼%嚝.験t歟xO虌>4秒问2岅g痶Y咬笳X齱懖釕#9菛/9)糝 蒆韰盔W$*8N荎'儾撗律`W嘍Q(5A<7Z庛昨擏-鬛澸彌蕫-韍菄d%漚淆_fbx坨銂,2熭9眣$鈰o)q偎wG協d aMio!鉄nG胜9,#颀\鄣鬨lI4飜抡TN騕突斒羈d4韢孨债<嵙8&r墸/x珚e&Τ匧鋟攦V.锽奋 莃|啐t/粈头刔;埋浥%幺拙!虾e姞b?h櫔翫20f湶&鄭H~-3Hぞ?蛱2[扸镋埏排樨b"荕c宭蟅攅n凚c:蟰巋桾椎F+uq瑖J裼E归S渳披6FY櫧嵅]鴻"Q$咋頴6=g爑噙眶毳秂輾轓嶃@#剅&j绑釕仒福嬗W臗瞢5m鈝Ns羰徢|}締$鏪M|煁晽鞨3N孫z瞢迯雊q8 0&B;畻欉灂3?遒&l$k06破毙柙紌lal剭c飧墘ef鳱<-.戈Cb呍\南栃诿qS o繀?y;Od臰/}怅B鏖+;J沂$S瓏嘼额弟3+T?軂旓 .幫網辱 葝雍-緁l虢z仌坛-Ru趥'濐禤VR7M6罿措C$( 沨着篌('パd鮇娌劁<[臕%篇\磵碑A莮挳偖%缧6諾羁顑:邡1错',?5前燳淈髥Sq5譥鸎痕5藯h-唁屠2;c俪损.幂{"\{'bGBx!t蚡獬.BX齓灨固_襸dy+sj耽 肏_-5措GM5h/岾腁儴Q舃3%c"攙儨O-.汻IBT+斦驗N2;乌$;`堛媈{-忺顅槤峇诹D!.}'蔌衽@賣羔#観,]彀╓S熘xi氧¦-銉1;v能酚p埚击7呤眼y汬>蒲 !G害-㤘諸脒Y]!e覔緕寘`V薉QOk7-F蒙癯h'腝滷u舷蔞o$E暣%擝#垦J屧瑠盭铢醎驊W鏨揞2V膘濥焲皸-焴K-K鷝42呸箦鷩憽2儃b鹅壻躵旓iR馛ed噆GRI輬媑 夶]蓒夬g 罤Ⅲ^庛届\IR舵h蜽崳:q(芽f苬0痂韞痾縭QP}撧b褞荂7~斘閅y!q乩;&秡薕O尘住悈维ⅲ(eO8嚺垟H颴F&bFf轛乧驥#`'0兰avrxI毭 霮捭擶m>,#}梁K遳G/桸H%F4l卽掳倣#琁2(J旛g8麏鲬蚀6藸4q豥争o& j$瘟?s镝h徺=靱鸹t"^!脪祲湽 V躁朲{" 馬y=~$1鋚x槠V淑刹,b恵惝?涤yDhN濒,#]宾鈅轁)鲡 x~Nr欽a銏(j噓掳*峳<沿敘21擂Gk Э郬Ie;暮lK獞9UrS嫂眽灀 <杗恙埫迳}磚2詅唓女訄舷梋~洐7訉""c 亲済槜F軇<姂一闞劢釨\7崨抒竔磛鎴蝢`"裒岻魲lR鲨_4 Ij蕅Q(寱ab胏7喅~狩ウ* 獯銒 4畻!旄嵯鳃 荙剳(闡槍5"c蓢zG9耉)s荖?绨`4韢g芙b鉛bき&1锣螣鸦< 潦4q璡F铥;謂櫑枯eh%:鴄[|kA+璸R 7畖噦亷唀I侔j29i櫂礈唱类そwd因玊Cs5饙搘9N,N剳鎼il雭3捪軏T?憡0R;"癚芆呩#4%瑊澣:!KQ弈&辢镕嗨濾7酊晰E漼M邇+ 刀腣abKC蒓塜mC橖輰∫4栄J腄-&韏&7緸R蠚劥溞颶蜻E鑲yf诹_ 阎J0K衑"癡 <壼M堗孽嵬g绻w_ 晋韺芟iz3Wl刃U写纭怴2奲Z挲5Ff{mI鵍嗮f5┈+(軐Bg@yj.ki洊癰i蘕蕮啽I妙算 ?~<嗑疗礖ш~鋐ot<瀶憐困=瓇2溨硇慦t#痟蟢rYH{ O[<ip殡P#1Cc"埈寶 bK3T4K=攊狹檆Tn-觭駕E盌9(菣E⑴`R(=桦地M*t境4q択珤汙(搕:禚榈柬漼E.-:"雮锸x鞽<]HyrZ俧6YY= #Q扟*^Z3 'yxび爄壦栨宔v趐`酿貈辶1|W 动J甋 竼悿3灢睷榵" t!耬脔v 蛢_Qp萦c镋拉Kg5 fdAT/蛒雤\诔姙6XTTt4"梾TJ薫伽n欅ILb鵝$0$ 嫳J 7禗FV0咶(S>蕌薲f涴g伉?偛r挳Me僐玉Z汿JC%lb溕Ni鞟L~k撐P湍緡伧=Vwyt+歁AcD'鉏瑅0兦X嫞旍2灺u繧nb譗|O岷牭律沇窫崜W(-`"枆翗{ 黠堸鳰j9 k恓)П,/#O5抢槛┘郒FzYg止鶗氤魒(杣)mEM.ю余筳~榣 qd塁K袛‖a$*唐 +楳o掹_蝻V&慎葓;PO宼猙璛诀p潻毫)璪纽堟RG:&s拁 I鶩#61J= 5悄OD习嗞0;稞*4D陰瞝焜贘`赠KS琞銻J+r閐q%蒌2H聎Z潽< |奩E!%B竞,愳顜N~擝灰雊5﹏E篕鉪$碊C鉷亾}踶Vv薼=娢NM鎆!吕椰C絡-薫谫殽\窋隤n蕊j`i鈬J鈎p禋:!;Z醞涭袏热(胘 3鏺MXZL戵#:3v}枦髀簨轋*譔C|Pw勔j>4/5I<C問谓泮靬芈蔮営鄢d|E趽蟱/熄 ')矈Cn芤-9{I妡J搗迤p攟WO酥^)zK奅%EOQ褨訶h喰宒-#.CSt跔5蹌癷櫓['鋐嫒鬆\剝趲碍鰏|林'搣矔叵醓c ^s戴8x%]賍魐絴}汋5/V赭8: Spp间DV%3 鰪[g,S榤XF1e榿櫊#鄗99]趱罊&W{甐-逦迮/(顏呚蕱H昗炎﹁葖伝巄鱀膗5槷Y *7舗rJ莴p諜a*摶5FEA曏(&l艫葊UT殕醞啦B殧 箶"摠篏深:`暐#)e 栻iE6 #焕d苀d6栎 j”9_玌)謚籰\緿覿Td}襁LVE語(Α籑S蔆$缨Qr鍔ab懿飥a菭?jpP懎齢h 年庘痁y轗%ヘ+-.SGx鴆J軍胋蜨缶犊tV K4=毝EΘq|EY*3C1{-; {-鵛曎嗁 |iG8Z :9薰驲蜦hk"獲 )泓)^r呵櫵4']魽(S淸W.玆lA#雹JF!婂ua觰藅蚏┟胏說W芆u E!)7壭[乢 Q饷薜科昸s搀th簥妼'[綱夂LV- ceK&R}臣绮k4K:9_OV,ce GAGAē}賫,妀h櫂5L昦d也w买諊蔥?遑眴A▆汭襸' Gr!訯幑递%顺t牤M裏P鋝奣FEd-禋ep瑞6嗣鸼~;`隭!/槒<9幑y<邃淑sE壣插骺>冸(:2毞湜胉^ 8$.d|6Q M萌攁麍狷mU恗? 9j犌 @羚2>磂腉淑┐埋疟廲汸.[啩  [菤 3縭H蔯/E>UY藊[忙魳姙V遻訇 ;t*琎hGIv劣鳻<_慛[&D" A~爌氩:),V)?X!静胩7邲iFos颧d;蟲b0 葽憯5=2濩严q胛#諓棷沙;5輒  濺鄫邼骵E翽7谋$i猣5K3抣H*&+喲Y藆沰學阚乲櫉$w4d雫#o涧\`儣?)E>cIg4孪kt盛岰6奿o佐后鋭剤懳s祧坫卽礆~应<沄h譀7m 竧礕视rCダ%≦壭N8V-樞抳乧㎏,%玪2q臒蘺歫hΗ汻ZmFPoZ|G"x蟻\耂毄蒆駚閳维盟爪(d由8饜/軼眣逹k:R=-I|We盕蚵趵2^ cK_靴斦c墠b`:狻懕nc~8VЖA*|;?簸瑺鋈籽訹p伓热5@hF9芯芞媜4K穎h趓N_o~坙缦f_廷Ey噓龏曒姮矧~Pa徰K7R W$蝰R2U%cf%晵BA怰勂鷬 ピ$?v迴 缝﹡x瀛针伍蛻骯シよm摢Rww8舻k>s,o83OgQ堡]爆踘S咖0黡W語鶂! 鍶 i緆] 癳 螈a!旆慎啡r ]Nb樵J舔鐕{H 忲Z该X鯲,/L(R)嬹,唳5&傟tLeW菱6唝=餧8\曩廊衛麴衿冬=g槭i\ K.^J醶+\OF}jtr侪1洮皻Ze(I鮔间u +窴喫Qxv碘%騣0倲 咃)拄Z杦書胥!wk晽?T胋_宵Q|wr轟a蘅o旴B睦=𽥐Fj驕)D嫪斛搸d[w+ 8*Zw鍶籢wF佊)牕鑀葋飪眾F2]鹅3l9`3f筩_u Y6箪m鉶柕y飣藕4Z肙w4戈 -R蒸tj m奣/C@匕凪h T霒r蚃6燼6a櫗肨2Y秉pKe涑w"蘹ň"+弧稭揙塽嵪Z皘鲻Y"+ o襁巪pJ隈缞*踣庰餔u霻痼a縸巡=%%⿰ 咋D#3嗛睢 虖> >2轼__弧薪篧q2蛫^MW&[?#6苼%瑠睭Q蔝神蜼a猣櫔Z&蕱{鞚迗琂粣1A穰MwI籘悅L[~垂蝡9鳥rJ9蹮de狷䥺偒熓ZqRTW触(4諮騲砱p G.餷#@(糗锭n硚歊)O 譗8h?釥p<呫hTm!6 bcE3侻})鯪劕wrZ利弴 -薟 Qs廀$採樴9L 唁#<鼱俿庣}從'M#面駸霐mq塏屪/ 螛_蟝%2冸<譇9mET籋惭LC嵾4&2綣h儢e譺褚l裎}礧_A倵CW&?妝曚S<阿咜薤D格T湂'7n轢憷琇[毎L猠h &0╔z鋆W徨<げ?ヰ\锳饟{K栠彖k怘鵫[t+>碒駵厖UIPt8滻H擮薂a岽 Xu鶱咄愸4瀋桨哠*驙-蕮"厳U鴣漂[満E)夵$w:莣5朢)󊂨蚙墢+7p剣涥櫅y <7屧貘鮳飅~藄S竄4頲c 洵憏谮q1湰聥!瞻姶o﹞ 輸E暗o;鍈f汋梡d肟'F庰9>麑峁` A兽仚餾婫紈kH赃-@: o'5#蒛頖%7铹糲宕褄3[,(篻5摀朶V醳E娰瞐d滩{08%|桐孶bBc0= T两"ZaA l総Yn]gA褢S磂!銐寈Y*Mで.$鉠 W:X@徵";i /nh8嫣灤v0騝户鯨鴆勁忕<.<桨6焲J_縬塷y<嶇盤崩岕揰~W淉鷒禰Oy?%寇體妆+辣N5绠)+D橄w誎熌kNI唢箻倆&1|FO簑I蒩跠擂﹑鯐gj$统啾縴S彪⒄uc+蝦9o岰.玒' 袼4s /Xъ仢割 )8膝 蕆邛橆ⅱ瘶颳瑃|rp蔖L?酴獽/磕=GQ洷rVO欽&践>!焽传淔tJ.⒗驠zDRz諝>ME監剏O宫"*a䴕>V鵎/p覒豸锂]頟鑆竬旁N肕能傅匹顺4B醳#=<^3泊5*0! m]姵議*u囒v;浨k瘵2韟蹍J 荳4*桚嗭o牾Y簿嚡?V阁暺;伝憿澎I=鷆`!闀垉?:璌S !jz(bfR:JM:疿忒y藕 _究騈酂炁c9摅术闀o8E"I痔嶻钲ehK;=.轂杮樽.(\9怣A{仐o靃読F鯰纲媴d鸖幨L耩h鉭%下鏫覔w躙 ]涑废搕4=<擢鄒甐^)砟9莔8婯]9M.7潓(=(dd(C#TLU孭"訴,QF"筲霛櫋蟠廪O]S鋟/M徨帓\杼宎pv 腡泦蔻⒖荩+ц紊|寝爀燱#亦弰盷莜 罤?毘椰顂(vk H鏯e喀辮去 |r-bPJk旦/E汯>-歁ガ懤!銐#锝渺<玸镞蠹e鳗通硕,[脖ellc計9@ㄡ$r抾I$9 筃 INBB I jǘq鉵IV$KQ舨隱烏藿gl詫e<悻脍栦橾遻痝晎菟)]Wb4Z輬u渺溣?傎巟㈧崇W杫芿>]Gd4V暶筜az螒$雄e栾哹h/B¥7_]鄀<3uf冚px荫;狦寻g仝r闁瑿A竌 .f:3嶼謴x4;J澋簅M嶷M6鮷rt6吁敗籬ㄤU{>餗6-2b嶎旿u/}A+*廟x幑咼愊U(饍-P倥砿7o祺燍,砮嬒 朶羆侺*%%誝aaN末牯C&瑪 8榑v%*溼门,}柾S嶰蘖疒溪-w愞鯍 鮶+啫 )撚幠Aw臨攘p!J=OW9W0rP.鯛%C箿.2V5橣.RJSh談VK鹊,鶞.骗69Z0邉j 骐pt瞵陳鍋=诇KlXkX成+青鏣$XP]f&吷IazV槴 硊]VaP厷皁,逯1(鴨鶘浗顪\螷/务伅Wx"l箖簇_1t 3,嘑S嶭 .厬^〝T毑縧ㄤZ篔唕褠蟟孻%C. 68辎辫n$#窪79'改怹皺dxr駄B爨 go['喕硐k籝;dX5`*V絞︼判'吷銕馡ab113 ≈&k馒溼讫-~餻+|紤)Y}so搊頼n沅"c耸5HK T蠻唅 硈埋9崛敚櫪TMXU濒旚x[輔栝6tu eK-︷屶2Zq7-O≌倆C榌p孨描宑lB\餓濁 摞8哝&嗬熃簨瑛 *=縣谤抖琈ㄏs搸cc卤I莟1S(喛紂灉;\貸Tz駾" 嫛%)pZM╒漬輐聕B琫M焌x行汾R於剏-b:L砫璌%惁Bib垰B}13-LN S &#芞葚-6ocdB贷_9ЩE#莧|祖U忡菏枲↘o潷駉 I$D ㄎ:'聭┐j踞軺追9±翵跺 襏丟'k評慩+峙 虳h膁+匯簕-C甽駍ㄇt I陡灵戦R]=7協]h詤9庆L守x嫏榫g鄌箰 >{巗唷噃禊#y嘩* 辞蘑$ブ埼浣=[瀅'J擪*9i< !N瞹Tuㄗ s01幫:&鐄涻瓏涭煂>劗G|J趓辋jS\渂稗#E錆僁 庺咧桷9雃墣U"q趍IbHcG闡6'掏OF話Og<靓巼f|j!鎖.孯=L6*郅>Wc[oV簜?q蚔>/7:整鴹J螠3y E 絇捳^]I9fazV焤苂sUa&|mo觖罆<%)3H-D.񢓻#<练毠楏:焏u5’*剈A|嘙萹Z驜m^ㄎヌM礨埡墇.a剪4痍艹0S;S架`屃筩沫* ic.汈徉4C哛Nw_}馑w鉔=q鹖嗟;?钳浆内禆|培k ibHcGA)枣厵yajZ8>澩Z僝N缔)鰍>昹92Y昗 x啞nH滶膓lVH&嚻T痁卋QΘ&蘊禈瓧圵韅恫峽搱祸弐l禢氜N蓮馠pQJT諅!IL"糊敿'灗鬁)kz}p轅喇'~7飢龓":菃鯑K樝V%袏4魀u輰襧葄C槸 3s築宑lNO| 懌爇p﨣夭)痤限誼臶蔈瑓rù承祝=N 聇 鰧9f獛淚 倫畹蹤笢C踞伖詨拠IZ充㏑q浺錍h厷4\L鈩D8qx剧璦緰敖<弥5=朲S乇>`遵 鄜嗟?恕~髸%.;莄薋徴#唕赔e[4i訁麦覤&󰾱wsu菰曡1S3陶髰榺蟴Jk俜汒11謨欓荅4fh乍垰 "RQ萝1黒嬞膼膸4せ繜R涡r*isuaG$圩; 0 鱓(霈航oηvネ 鳘x錟!}}哹潴V?長/崊FU8~择鸶W閟$Z1訸廀&4[驴轤c夺 搟9[禗%鰘鄈Y輒=榢 ;;^罏钷^e圽 象@ i$n請毘钢<}~BW菑<虝#蛮k<*y槶醚)茄Y荓M8薮 b湓4羡衐はc鬆茾椢拮Z聭i醀⺻佀_8岝@蓣風簨瓸蕐#>稆焊t嫃飅淺_帍:N9<.6tC瓷?荖孁洲穗)k+/>蠹-吢u[B 9章煔N$|k瑡!喣xZI眎D郻示#顲4y劔7鶞?b筽揋)瀴i蔷c幟朕;e佘澆毕0詍轱 V牷d瓞禘;~?婀餎q)`%nVi5f賡'慤鋝墶68<&u<4撗掝j熀獼準铩焜姹更×iO`{楯v}kO脲帴9艬J亦X-`uB"鐨h憲e汸驗p滂8谉c:獗e嵡忣>K飥e諣eu廵╞6v 統K>0旘ZrRyr睨7勩砅m 祊^怗p 諰E:萕葪ㄎ尣絞帯%n燳麥0S吂T邛w<茆雒璠澃擕睙u3@e] 珺罁J灻i3譼f遜r艤~`)m捪 7)V!皢j#f[w濗V{l發Xm .CW痚x璭>q|嵛_狗蓋7诡仹朊 趓lD0S&鐓鉛胐贑2坓焇9:浘pM烥w罵 +荓嵝 LEyL畬睎 皎6S6廥汁铂冬輍閊c:>鶇簌:/2+筢 5ab择ǔ距/FY閔.#鍥V6釃E$M垼*釸T闦H|痞瀘櫗龄计縄熀c乑滢 辦埐駠P惼鑤z佅ㄅ$檱廅t,.D4疉e溘粟bt8衆)1閴,{瘾/-蔼b*&籪3u窃倴n-!u*渰& 䙌g7獠狂濄"ǚ匉0s\伛蜪>瘭n蚓a.` 璛霑3Z茌U位䴘4cTs兞bc8px銝C湻诿穯L -w=饾紾徠29D妑X彙K繓[驮犩Vt揑{=諶;6jA変+論$阏存剴垚-訰要^似a廹m橻摁烦h-Q,T痨-9zJP耚秵 〡(CC靹酥8zl n竆)W置诂祫.菖.j戙亯骥褲鸢樍/Ny`蠞甚i:淝3碟hk挎a魎w褙湡#繄Av&Y ~a*凚6,*斃Jˉ籨-z ]:寲$BmAx攉*|鑫&/贋'J匊GS灡' 謐5rC百"垺J纴Z誼~N 访_圍绣eAXB鄔侘1嘵仞Q7/鸜g 嫢梕k)ⅴ噪汶HB~勂桡頍=@婠骛}=顂佒蟁囖~美惀T1X_;?澧#<s`翾懇攱謟$墣$/Qjj*:呛﹃)禉i秎觽岛佅⿹q營%(8s(鞥埚X.礌鍤撘蔽偟__g昱埏灞X寲龠燯t%QGR殙尢醯媸yC逍dG}參帟O怈珮酿S咸髞⊿6侎86- 鰼1疓蜛)L汤馳莬K;檺捏Ρp渱? 較壷J嵙A/尉菋彦縢籢贜藼宂(8+ㄇ魕|9岴烠&喧o胙盔T半堪矲 SUa.4"儰Zl裿Φ屟挃 ~ 諯.+7uA88!>歳p蘱l聁旄p錁c遖a鱝漋=綻檳.}窕袤娇舜DR9齱詷笚P莃al蘓+v#hu郻鄚鬕謲鱃艓案2弞舛g8A呪1{Rc:亲r阐殙尖3鱐鯀鐥46=_^鄡f♂h5<捸;玝$Q襮陝4#龓=,頤I賻膝魱- T肼|鯪|你~泤蒀$Q澑祤匹磜c塊8荣oC7亣y *韺-{Y魊'*?Vk棗曩汀'@;6廝/: N勄 襖睏|e餼嫁硂E+[泷噉嶂箏鎣铯@9g92錺b)厭VC 2&4曷虃p|N派瓯ck褈鏋謚鸤8狻D根PC傗*s鵎夼羬嵐=l/!.辙綢1堗\Ku0鐴9 M衵怦祜?妝桉輳&?,~k{蒷X糞鳒[rk,鯙磴⻊ЯJn媣瑨齿 戩>镖侇馏盀&汽诀徃<狂 C}哅-C儢bQ;戥LL:vq豵h*逍l"棳 挖$荤H虧GΒ湰Z)#鏭g !v撄aak胣`孶Ni _&熟G9?C1x"塪屈捋?殴椏淧=p# 惓e鞷蜕鯑mP冻騰滪屭遏蟦 鑡齽$++/冼咼逨D 邱掙顼yyL蕨%TVm怫{冭餷鐩] 1`講}嗣)僝嗁獟Rf戯o莱i亦耴呤←䞍;^-Oc;垼Y澙 Q}哣}&.@A馠業KPb裇杫$(7o僺崈'惺聫|専┉d悗鴄馣攵椘r區餑(P螙 z莺Y肯#嬰:尜1隈5廹"彴 遥蹮驥父叡蚌傜1y鋘6]赔鞖流 x^H挻H鏮&荞夕/ǔmsp6f蟏Z轹竱}DG=呱嗢1旺k/|.嵅$M%c簝Qc 稂婁 =忐钋鎬?潇t]o羱iU甥2gW>\X,MPF(肟澀?iA簁輩/B渀瓘怠厁^5[炌←C鶞瀝;>助犋@YM涫攞諵橘榔耞軽坯T緱礡拵铢&#=+銑扢 q)籲78瞷*柬 ~獚蠡zQ壘s鵻瑵汀沱{5斍X鄉跩閥]赫 髾J称壠z*琡=$攝謗献?gCD椘L>|'w韽耕?垵75 訃0泼髎 =攞直课瘆緣sPq"碽?z1;?(袸h繮H鉜蹉臀縟m餥oyf閥吚|貑玀-;喾n(9C栣^薼昧慊v k頒=鎛搭鷆芍4悀e輩/T蘈;.4F亱a3轅m(q\w}踅蘊頰菖7搬i/ed踫貀觃c棪_9G3^䓖'鏷D嗼鹤嶚1*6雪7Y渐1鶕6魕7T窬X螜/?薭w踦癷赶悐徼疵 黨鵇奻鎳P絟R碧乖VH7{Ai烞fI"k鑨4壺p袼革茲_~A綛镪 a貐4覱[圚6濠骺鈋镢>3茄檾侏#嶋8棽蜗癮 ZEe7猹硕rx魍镝蘪)P槱 瀰 k=搋9 主z7> j-菞頾U汜n逄b鸽蚊癀O咪佑c卮芵矇7\Q唬7辷苭\[a*K甡K;瀫z恳i灒4硎I赡楰m%侓7謌苲倮泭迠埉A5燚儧瀾&=C[<:I敝Gp耐*鬟鬢<禵,l~墶U焑%痐龤!z如蜾s!墐珶緯蟶 忈dz跉嘁麖%bcc篔喡f/\_嘧??蟍P 陷抔銆Q橫SN 磨垃盉兼塴9燭("F0xx6囩噚^ 忕逶鉬*-Q鴁k|<捤w出瞯垠辊s渴篮靔nk藫kG8ph滐遻蓰庱爨;鱽:$a煳巯弔{宼{Λd-a羛蚭F拄劁痮Y`獧鹨l睌婸嶭;Op闕${-鳎杫蘺:[)烎嫿蜜墓 `XbH{州霄邎悿 9 '+鮲婝K哂益E淆e铪?怛楟>7嬂7躹鐬L驣砷稆/:詢O>b矹槛 虿 fp揉 秐1髞虰M耈>CJ揖鸱稺䥇S墙 疮䎬KT似V'}铤m/6睑νF噸鮰$S敝S?捏髕A纤iH)箦~&}献ne>漲@袲,{D貄佾9緥9鈌#樨就U0>v詛.u@n妆敆l蜎\R簇闲╖|c碱抏託- 喒9=荝P%镾4E阏骯/7[  =8#5﹎3k<b}==?左4V蔌 庬粦广{(T啒<虚x I}谗{遙5哩6I陝O2弐3n粂+7匼p茎k"-5+埑擩>7l茴A,元嶤夽桪溙憝忩涮?a@zm箇媑C丸蛪_vㄆ浅助x~堳r Z/腪晷娅鹈"泅奕慮╈┈孚厚顸<爹Q7^亊!艄$鳤滥;8凎b髶;姕肺瞯砄`! I }枒u0'狲ㄣ餛菓 醽湚%Vp鼀"[ -旣7f歉2岃w氛枛\慛7JA殂灄%Y^堢鉗钸菩;|樱#Z1置黧$Q濙踤`铠n寴%灮g寜z101l\g)U'膲u矸Y9a|究+釚)}s 郈滭╳1?蕮繰z%$N籸M愙"犘 &~C)%q:_锏旽t疵笜4MXs⺳哥q)}#蹗 Y蘨 H&~X:}槥誟朝埩X薈w磿y&熷y棳 8h鑍e1┊dt5!糽妘=攔晴獀}"灎1!枱鋂睍郔kI+['/}霾晙磀屍d蒪F誸n^'鸺|V燨賬/棚皑瑥珏piDu~I藻怡9Z鮥8骋S W9w紾)!灂幠駭;雩|kw嚏ǘ㈨薙t?Kdi瀓@z尼`屚嗃\鍯╛Z玙舸f1蠋nk垡! k儧4G媭蟿p崌:D砫 cj>钨:P掊﹉y饝径-k-捷哾A槦H櫅uL9;~餚蕎v:>_咣8 紲擉F:=员鎒o+9$A褼夏腾B祴uz閿-橶4鳼吚S铼>损棺2}盺笇躣:棐)榓0X?滂ふ',S喾~飁 嘸蜖%0?鍢嶯 籊咃颣} 鵱曽芞.=Y氤-甑 M栁V?[V竂 1)qTWo* V|宧+觔 %(,*奡#郘<胿股思t逆薧kF&8衲X%銴凉刴卓冚穦 N澷_鼹梭W钬浔堣黍毬9徉葛倩涭煂8慻n嫇=溳旀ur[ 郞燅缧峤n翥巽?闀俥鯈9脔肇Z#'-\鲲N塇鋺W艸;v@l,茪帡-鳟gvl豕裭喇J淜敝{你[/>w 羧=憤躳Q頦y Z蔱儀啨3狹>v[嶟擇o穝驇旵 蕒t亾=貓闈lO纾Z魉+翐n-鯇{傱央覙~怶赹咶c "K瘍挦徯2b,娲O裳is5o徉}_犥俩gF=g5E忆鬄k >k髮Tz 7D1$-ǚ髿(MV訌∩焉獭跸郎^V洽T:菭>鶝(累#%迕蹨8'輯率橼灐XcU菈︱巑傍}w5L]1* 釴[I0b3*葴槑湴s)犊旣君A謔{1}蜜$-:V闬4炨 洴9'x[烾`x纫7h駍鄬!M虷槣幫8:(Q鶷t鯛渵#嘕2簦莤妭0 阨G柤噕;2悀8_D#M#]欕矘P脣V$滔 G&'叝靚虪溝揧盛斖辏廴Yj:T發j'e廤J颥贘黏庌C邭闻J4A覕窾眯 ,tg%(I{i1{暝蔛偹:SY7薐h嘖S謔粊 W忄}_ 礆硏^幐闑s3靫5卂絧豨x昬x纫凳#,雜& 輕rl聁p荞鄕B怿yN圥煄01:訡炶1KRF b蔀鉧詂/媍緈+翐钬t色T _<げ榻 $!夒4霌x^H毚H(揯LN(鷎,-6f屪瘭 1 礆5>蠕鐽筱銳}_鳥喳<5;r镛酒g輏粟5将-*J;伷0182 󠢳sj鸬YM釧林.麝玟40梈劧U濇5=)@姁鈂 ⿱澌9 $j拦広埿逇,擭纮h熮xZ唈(舷1q餠蝅e藎庯鷅嘰瞛遼韼苒瀞a葐a弖k=鶹[ $s)3S帲c#S<紳搘璔骠Go蝧rr姛顷 (]jすb/獯% 扞}K婖|<繄f燪]硃梖~ T涒\FBQ鄁4a&d潵腹@)\鄐蚮绩捞"枣巕9⺷/8d:藛鯑U#朢徟T0";妲劊C)U釣谚o9礔Tg層洽m嶜E-ポZ}榚 PX1i丈寤夈.嶐L膣暾Q胡7w 4i〨4I质 6伽dm謪;咠p"踳o慨罇媩ⅵ0-|p皨穧鍯擝#飜e 颞鬧聹馏罞啢閄茙9彠屜?遌嘢弨椿J9耄E髡<秌贋$滱=鑓U孇壁﹕塲"=]尡!艬2凝啭 蹮鯆欖N3qT%$q I]荂8瑇0鳻!嫜4 蓰碇+~'壮撩EB边Q檯|{璂L观癹龋豨慑U柷臞羕塘詣汨勩璎p褬(暦r恦鑤#  瓮渵紋閏7哑殧单脳-{愭双:=郳獮Q+鵯活碥跽鞅幄桻闥僲'NqScP1N囲0#+冖DlV軛NkUDc嗝|I@r},AlT 臹Ci螒(=0^`p辫tC槢q孧(塪7?扎.ZN:U樥Dt步L睚G#纙筨黡娌菦E孁袤,,㩳鹅A陏!违鴁 X鏗M惵\89刻疀>锣+軅笖D鳤仱U于婱"#5)"*h $箩87蛖o(裫 <,箓畁 }!+E%$佢098:21/|鶃里sj畫瀕腉3 Z?@垅穖泅鰥cs椂/相猃竭ka黋鲞Z鷨穒可 筏唺柄o")8矺&Zp荠ミ H譀_}3衮,筹bfl'鏬裼阐5[C∝C7≥m摌#⒋?佝e~b燍W彘)[<獋o61PL`皝惁傫-I靾bC!L8僻吷#Z壖僑+3 蔜c懤躛?+満啼锈g阻揻]燵诘爽T$醫q(i炳2r⺳y桀宎鏜鎖'埫K4謮S雞婑採RI傖醈_el進'.蝱剐R蝁鎘`環r呎ux${v%T鐒 a|.e|辯餮+(d保C竭(P-婫09O筏⊥5轃=譙jb鬺锖|"靷緫嫗涫狣b絅羃孯$Mqi劯劗U趐%銍nЧ0A奏y鶌.a群I68輯u髯k=氄I[ (匳歖汚m u;圼B3唞$噪0#LL w屜 sk 郬83h蟵Yp.{督玳跒u:芐p謎%魀ゞ蚚嫊!憝?珄f賷爳宨攊&8IY冲z摞oX隨Y k|:,(3{癸[析g]>:︹2呒s'35GW廾E*ㄛ尃A)T耹U榌橸a|F82.<<屮鎯-躿唁錮f衳( 鋶<&ゥY攌z&荸i瀕3攝F潼 ,沱リ 4"墰$q4n鉁拻拎覉7~槯唣;鳤墾禒龙!鳪 馅 ^@3蘫嗽z8x))とK.刡橀閧鑮Rn 5a*]礠郙渵KH.Zdq晴橷奻瘥阐?N躗噔a彨6)e\#翋#亃灙\4;o鷎Z鯔/烠c薈黳嗊i詒孀#A=魚╣脙,覺vEp椌7嶇 虏.嫺4i8獞&M碜/a鈡^犬飤斄 W0|顄蘉頴蟤霄g7M磇á!毗;?弥Lmv=穧筬Sh0唶&Z岕謕恕< 匇nF鱸!濉?村鵻琞2锕-[ 抵_歌箍R鳊籵2 麿N='=寕粞-忧km蜃驳昉尼墟2坙魞霩n筹eI仦3媏跉韻砋尲讟U槬芑~q/隵閩瞘4啯=紶黸董 9g萩u贰痩)Aw裀6貔l N%?軭$噉.y鬶t{勪 襡7隈惆R%;籵躷E筍抬%]鍭燴珬v鎠]29赩逽m洳氄If=览g?摔3櫈f鐭螯mE6 Z 輊Cw罵.菏朖^乑. 筯8孵乧袿菐嘠@z,諤鳎m厱s芊m萙?%QEdC[B耄u臓N﨟!\搷5g`胒 o棤候$笍T旭@琡R饇傫A颁婤.'潋朆蜳Sr捡2嶏伷鱻g鷄Y> QQ q*D)$iH旇5c墩"a簴0QKi&BFb昲t眤<椻D詛抰b螏墸-漜膙@,謋.县Lr\9淜%[鯑N棖簢檕嵴棖>膮W縼鼳辯m欮%3$ 4b练弯_:鳔洠澚:拔a澭诇7槣柳鄖姟帑遷濭啷x釜聡;?,ǎh)判Q@9鹛鹷q袶@w研[侸罰 3鋦<=Z 膲89$: 拓袌殤O#俈 Qe袱硌撗靄&D }眧d-)滼潠X鸂蜮] ,o繩:鍦禄蘅宸_蹺%o(∴/\擝愱髂薭T祖S;cp)D-VH^ 秷Nゆ纗0#盭#豅2(q鸷K柿g町䦃纚瞜3驲{, .縫<=嗈挾K啴O綀o.事{翋-I!遇濪 4cC3憽C)"肂S5a鎭Ys畹8b4辧茾(YB筴,:5P叫Y嵆 tf犔捇fN棽∽'` 珼ー( y_ 髌棘E挙鷼糔鱆縓灖`v)b+m哾I 3xE _饖皵宩[墔8qT洊鐪S缄鳎橛i灎裦來纊棸(|1 |鴞C亸宋烂/|罟E覵傉=喠nC判]禩J愊 [槓d鮱 漸熚Wi4FsRgh%B淏(P[1詂C!k@跇k2娼z1垲Y@瞝6'擭【}剋骤圷h鎝趝1 N捙1 G顰V棸VO宺QI"?珝J謁始g欱奛擋屟Q掿N雓 溋唆$?{f閩誽~~7輁梗篬YV癳9 6 鸯锰,0灥1<,0籤貐1i偳08'l,瞬%YR+t玈唿⺮轠阯瓥Z醯颯ズu辿摅;醷'瑥幯夽(鄈0Jz宁跘贽埵A島*9C伀佭EC嬘axM曏7違4蟲8搼~a╉戒e歠g装5鞙3, =C 挺!岅 )'F9漅鱠闢リj硌v陖l莥喰遱è]r瘀虂+:奕S6嘹檬w'of覴譍Kd鳏飐u狽熬鳄麾5n敬攀X葱摁h栍M廻纪v峪\mlO3璏K匬n柹罃*g~^諉B僲 &48嗍RC痪6)圜7a鮪嬭l論炃~蒿t.X睛畫ysf爬G醫Fh]v`^鶒;g K3喒帯146,'u貳/nUAY蕞.煲渲8r倱﹟-:r!圉;'嬜 [s湰暱54謆嘙闉:6礮繵?鵞怬竩緀闲 眉涑佥筇l成眮:B栝=]躥宬 t闕=#裋 暕絥暈郩郬B,ld陞jⅪC砮X3\2/ke桑u *2qe嚬鹪縲 \g炄7?瀾n减炀隋  ;-轂!j"\ eYY3I&$9)膗芧敧,h;M<*躥 '鋮0蒨怈⑸浪鞣铬憧!侳&旇裭溳淪翷7峀3x9輴4fsRs燘渀?嫀昤蟣摾G"O剌蟾r﹌0voB杳/嫺b辡c"dム{啨/劻绰№(2u#樔睾瞇A 79>_2c [7A3z#?尢擜/E纾瀶 #阭|试Z4~Zmh滄踹/!r璞F梊覝9g竘>v-Yff 崕羫W E獫撗HO`8q ca斅8 3H3!3z錹 5z孾砓烋陿訸唾+袲*黴I甕^se/|窠.v^鲵\ak.iZn覌Wg埩姯=竳*铪田 v稓xFk碸x! o|^搗肦9荊頜褱.壺阵i禾练繋絒 XH yip3 pD硬z绞趖Bg養%Pz欴a厘补糽m Iq讦揂摡ù哮L岂88躡N仇議馋肜痥z:晟虛4耀k倦=>  ;-3唂氢G╓g聏$呭 鞘VG嶢囥Tk洬搳FY(sD緫倡3唪墊 綃卛娽*厫咨I7晼p迀C嫞鄵 `豵偎Xb鼱厯zKd媰jhY 諈r庱#<鼤縠蕈勝(秀儆:蠗z*: }ay吁 君&I*|尰OT<碸<嬡伎e碘蓧&l53oE喨觱h`羺哾釮 GtT檂}睚T晲&熬8察8荈ń焜i剣屁;xrb猴1/炧鱪⒕鱶煎窬G^}簾s矐~-譽X鎏Yz唍切h)嵦詗o6佱@8娟8&<&,厏 兡2畑`=gR8A囁>喍;{磻T蟽煺nn?唪]+炊赝D{4{lW'd-└t1`g譸`>潆 醥罴暶< 罝茓汈骥褳偻處獺F藢&Ou闾d0E6楐n 人垥4阤辫鳽2 +C^I╦%炚X3庐y蜜v5p涡弲鮼p/嫖c9w-gXcvvy迬冷暐b檌O-( 肈c莰㖞#倝A鷝%壈1朞彫 ca:狒怂@ x趡灉醷絈恋s倎o掣鈗>SIk親[W虈楒Z柏咘锥DM#嫳P晲艬匡8*<,<脯?|O 獼喑h2&簌ъ 窩噍摙&E罌丗'鹛lxk蘤渏嵭<4個俣a挷帨繳悔 ba渂F0HJV器3娠cGY唴c=sUV娸俪f遧 遠骮抜g峚RTtУM[W僇'浈0蕜;帵\6矬!乬橌犤Rl税衼乜聃阈 g>r凣!s&狙鰉/洣=8qD笰<秊酘XN;巓8n;\严dび羒屧澤x \yR%頠改璋徙bjわ籦1`smC Q側N9d筩8N瀙o~門/汘Ao5t远44"C>"穒嶤+N8n?T蛘5辞炅k1rkg蠺!C恪轳颬o;蓐諨=>鶚燉媒嗺頁\h邗i子鑆哵[薞i&d厲 Yq!&aYe%[h绉u3懬zZ輆1ZJ Пi] y 媚Q:頛x篌=s栃 C: h剢V鑈L q,5y惜屈窍苵薢 bHs$Sn8Ce 蠷]鑛+/吜X宎m瑨珉IU蚰bLA﹠bDQ穸氢5袐<_稔Vd圔m=b辏>V鹥h蛁t>w( [fp槧潊1j)Z脼靋踭S頊b棴c莎_箜7韻鐜0訢$! 道 D!L協j葖_A >劸! 3傦J'u桲鷃%唾 5洨ㄜ鉜0k,7頹饛G>u_诗甽`D+嵗Z3m囙:朧$z娩鹩驊3榢Z卷抄殍!饏f肞U悥P娦6祳_0J 孱1h社扁弴ヾ鋮0蚁溾;O"竩G'鸫(3汯猹 睺镛!芊R%6PA7玥P>@ 砫離?*袈峇9傀鵔龢 =脕y徝VX驣紌巴Wn佮<凂/7T呏j-2堐*閃箹杢氂喃昢忷侤菎C復:q)跸l('噫}->樄哋U鵸)蒕9 峑4n:蜮}!i%8 癌)P9(d!+牞4|X#/嶩K鶃NA .|Ad N鳏滔4,虭/d0%霳)欶邩籍]>笐弥Q [氻郳YUl|俎&;{哋?\枕T暾嬟}Q茣l b(]噜kq<ㄔ穰戚VG媧+#M 碈yZ* Τ蜙%擵;G仹v缶6;<戸$4/蜟F薄h:):蕃-倞颢吚鑞╭U奐+峋鍔忁;'裇隠J}=彔唞&>饖S|齂茑[%*噥! L*hy?傂鞋/E%哎&鑍|矢9/w╣腆魑zt趩諔禴矪鉓'(qD{哞(q8Ci呅撑唕怠W:醘面! 變f粑-bL警崁睯隳f穃5焲 鎯w莬鉫- f殕f谍洉7$箆軎71鶐萯2珤'嗮粱'd曽U訯湲玸2 訞弍)峻烴"钙 #^h 饹Z蝠乫[毽靗住%.s䦷恮|蒉&鹶vt8騌3苎,緎X5)X T.#正shS/*╝k袧I晼铤豺tr窳X璱FF-/`皆l v卫兢蚙怿换V',6榦zX4湂|m墏z8铕 g︶眞#驎鋅:榙庅廵,徦u帑Q銃"*瑭t .飲F橵<卡d驧4F縥# }cit+f喊斜\#囵傍6鬘甈A左泓洛-粏z匋 fdAT匠5$僋U舵俍&6W`K*-p-;1mw喚 Ei@2w鱦#K’骕b Q燳v3刦睐蛞饝 K&緊橈聻忀3m=骧椠 鳝e鈁cz鞻"鋾c-)Ao/5湔/艴 =c麶鋙裄]蕮3!'L忶 95j寁 z咽氫 5D<犍囻 崷ホ鑫x燵224斢狍嚨N儏凶滏%徥i-1 +劆詌叱Z鬤vムU蟟/<5|%:宛簯(<嘀蹘&7絗g僆;哵Cc热噁漃>醧珩湙v膸%饏vC畽菴f\T鳢&鵒摪X_縴鬎想谴 鸸氀*M[漡獌胡gM,(闐 .L:舺O聃浳鬊榠鎪z趇jv AKcR嘝巹褑c斤8畷鋾L礦8C唙l>|秊9潠l唭K]廸燾+QB雓漂I熧攨rN1記睊i娆咩j篳闋xwV8q&嫛i7┯0t毿ij骳|'頚 % N 肵8頩螆K鳢P焦彛k窖+qj>詿{<簁鱴 以k苃仵0zG嶕鎵幍靫湩r?qψW銑$僎 儽匈聧5鋲#8扗買tB廞鏂P~怡^u玟/苓[kv徵G\3 蜠wV啺f怷&状藩櫋+AA)D>跹 3 鱹~V﨓-4}: 褺嵔Xz秃瓣 ?zs噖d(鈀fI+am i>峼辞zAA=\螙1申绉义!弉7╭幮逸g胁[侊M@驩鋑Z?瓐SX++hv碫'0鑛嘽I.4| :O搎 狫;晞鞠b譸h舰(卶fH yTY)挺}5鄦hЗ e濞D忼p氃( 芽 竒-)?凂颠輐揥氻T%B 遬Y觸媪X鏇e逄0>峈徝0@=郀~~薁/Q惬阫洺绪?殓L脜v=)埗O93佞C麌侦L趹NKf趗* a藐嗐腍Π㳠齲B9曼艞'"9K鷆盀g,ZH]*2u彷-7I=]諏觙i〥阊蔄頒P陑p下佡悋Z^婸蟭0s鬈s⒓fz屠Ed殊隝聍1租曦%z鮽'荢O ;K瑸怆~鰤⿷撄匞饣:]|_/t;趹f芿% c8庽曉埋c嬣*覨敲鑒咷P镔鐧諙|J!漥鯊魉O襘N>嘅kV-僁v吰2L`=謫聣缵V茙噰(s錌咷釨U輪vt:M曺曇5P氆緬越PqP*3:MV騌薢讒'zQ彑赭~|#q3w+^:劊}嵊3n?%/B=k縹齾.漌堯7NEti櫝8uN\皋慳鶌踟釅 乤,62嶰蚧P质3!{缄夜f贘3lE*蹴4嬖毩3{Hヤ撌╃,+S T预愫eWB/點欖r耾琇顥8w顱$4資g藍>栈棡m碠耵9还~=h嶏<櫰_w魾t胪\{壡5{ 粭,丑杤奏,~&2`蛋_腂2r$#1 G巃 僁鐿剭X賌曲帍?02w”鋍綘獭袈=昶杙憠嚌 ㈠疭艢粛濪g呌u/L苖鮯^ ca2╮* ~)P/b陰T燸v篳e0yV壨Q`6攻憃 *庋欦%盈盪坵忬}-D薶2兴吓@犰柊>Wr{捗 哸⑻<W氲蒷枼P'VJ,Q﹡9Z]1sM4,:滸鏀听\2校▽毋醶巗鲁軭 鹚G%肨L`;睱萻∈霋Tm6鎑o阫R妁ZOUqhU珎-┢櫲=3濩器D Z胼}姧o2"3烅F*绹<1蝿A, &$睺65VbS炂 `瓃XZ慫ˉ支jTJ9!巡%鷷n{5'篳+懐$)l:?寘xY猕2*t Qi雰0u?]朣媉葦g獫狜淆"曻>&消O耵泰g櫸 gkは$彃?s#)C$S潽2嚜t8'*絊彈x巾5的9@搟yzZ肯x坖宆~姧遺&筚噘~軆啅W怛$凗谋>a2裿iQ8m:磉 6泦:经c狵5潟氷9涨迄fz=!c^u姧肯繽潖鱞1 畷lL?酽1$蔽晠9q還 崹?鰉濏僟3㎞3)汗0柣O95坶渜1門爨硍-g孯ac" a8釪(2漄猨鮠c 讯 蛶≌4*y:甸讉磬b窵gn<庞.舮门r3 p"w:1怠B淍2v)敊(媭B44f,澁J玾Zvsほ-睇&t/ >间O紒<呖门d甬A\崊袲樐惻B慽隇~蜌奪衛Z h:g?(T 鸸Q栛+O耵;虛?\,FZ犔ㄕ9揕E6&(V#M艬浊江功!x5!%u府話:鮪岹Eo8庞縩N#0鯰鉨1W纚 峂0q,d保蘐fG屎ejO﹠a牐&a璍騲嶛俱4淆蘐侧﹝滎筙孴P%緀鄛僒龎0J8 洣:9*u"%伴翔n摤衄(f踴jp)钁$x敧伄彆|'B侉"ee*T卬M)藲zYz"ju8O笜孴P鳆1囗_:')瑤#:NT; 貶(&怬擾毀B yY-漇鏛'.鯸桥d遍Q`艍冸9齒Xi'j ql疻$儕l$#G慾g*蝿a靔軴2H 餲鱿zn銠,]}秷Q;<竏&竱u(猨 烇j(!j阸炁聏扈CX9鷫0蓞誌 :X鳒倅憟.F#u鸩?q醲h愌-Np5[:﹩檚濮 ?鞨否d粄䴙W]11蘴 Q屔H肉2蔐EB諷n咭jz G+l 蛬?鸓z/闘徳苨Uz臊5靮oj蚱鏕燹i-&3浔F_{ㄢk藥~*t"妙Y弙仟JHs民鼻棊'y`ML錣奌R朜|覹;乢zlkK轾佩;裖窼軆*) 垦巽啭旨頃WD谭∽4碵?P佻x,da4&塒杺5咶S雥~軾>cAe2蝑遣?^胖蟬 硷e鸆浆艁]= 3髥F莁#C錿描#耊瞟BY 媘弳!D% 壋<<袋7u00aNT裻i弃K笮iYO嗥酨n|鑸銉w鷂顧崒G<鞨焭虪批扉pOD;锤 襌瀢螶刘|蹨'嶍堲﹣~;籼圻pM嬰鱴\河p>,瓰.璻aVN8帪p鞚m疴!ug誌;厢鱴&T鑵zτ瓠,秥"3影4CC;皠.梆=]6誼瓖5傜i:貖 袏t袳^ Y7|湬00抃7磝VW炐屨諛~Q;3⒀信~/鹬梌顉 B^u!W鹄{抹4/ G 惚酗 荳嘜G流`g喜g` 絾a甧5 蚶!歪锘ss宠}/U饲G1幰=魖 Z>亩=kl;咬 =螵[炦恸麠,鯴v锓魐Y倴z*7DM!≥2蘶=;渔5乔颫後~ 阑"餧hTy#pSvC宋幥\耍装4C@`殈痷死 ~溅赇q鴵7乣k鮷gJ y酱E\n涟祦絧BZ釺坈馏!涔癡h喰7+Y)蟜森Y帑隖鎦7_z芳$怄隒f ^倖炸28g(蔡1 >魢B噼 wB玬i猳&咝 騯ip罨'绲W6XKI.W朁yQY)膮魸葄Q刹n漽谄Yb;?w黣鄼[倦卪夊水%寺ⅰ砢it W@C:qd壆屓R楲匁景.瑢玞岑飳YW犇骺A羞4f:{g}跂vh戗R7‘GSTx<*}O雂*@淘壥志褯p蜛Y閹栭陭$&0I` Yz+俕 f蹡^ 殹搌Y) '1喛#逯C賋h]<齩釗咥o迆蛼锦 ^ze擂]枡%K猾婡鼲7讱擌Q4 蛣t+F咰a0詽忏X痝VJk哧研作闁1+駼跞K齌H k簡]硢00:軕體_|鐱\虌楣狩[迀]撶秕鼗>s 趒璊ap\結睱臃|哙{(4,伍脱nZ篗xE涖C晴兽]T见妳匠濬摓J瓏咍秜濨344B轀z睠望\厥疛+V昉柂8滅唓" c1丄,鋾揪( I3奿VQ@溍W彆躾(蟎'::惋6哤^多{o6怄v/Z:3嗈渵l4 謸z<曰雙!TUJe:$#e;岆宸鉊漢\h 懐嘷3悦(瘐**綎脡0I猃w能穁-锥↗p;{杴 杤又繃0H荽F9嗝礻^豽廩䥺糮o纜f 潪.协+鷠LI 呌琚:MhD,衖偁逞輺逡&"zM#藹觍O皈5N4(晕x<_k捴L"]爅屟T荑c诏7榆}&\ьe>(攨P晢2J萰辈4b玦f%7}i暗躿Zqf鄈蜡^黟txW掘妶7q.廭坌nBh !jZ孏}i滳08溣鷈YE En扻圙聏"L&0 茩:8酌哂歳;,明`8摞k艉顥8徇服蒻郞?z鏇{ 預'柀.緢绊H_唣 W雉6≯44暝腁 ayUXh YC+ C'覛╃m卼#5m澥im逞(Ru旈k囍Z脸5攉9~yz闌 鯉SZC稊. 负s靃瓀V%M_)~ y&$L%诠ペ7芇xzxV#砳R:| /F? 絾Y鼥荐趷} 6t皇  4 :oed`鮽陁央WU幉*"ud盕狇F阙仸B q3)趔q*9l"8騌h鷸伊棌陾}嘞鏶篦c#繥騄X<专虹蹘綮NdY鑈殹r&5泿"塧X镅 隿Y 遠=侼CiRtZ唙Mxo6 蜄舟翲G=_氘︽疀:7礸4V#? )犜蟦6挏l?Et樔I潉奰D#PWy*d壷w揟H3!/ M5z怕`\:.膸蟢磠豩0儍唇蟈8R疱c9h 鴩烆7$鴥罋葸髵&芳(b緂榈∮喥艉z婉A耆波存椁.償B橞QG犻O性}ゅ廞"L2/lF锩D哥D蝳+冊|=h瀼6勵各,珀载y嵌#=;|哂4梭 e%洎9aR瘈妔u艶;巛H雈 鼛ホ刺虰iu a`}箿︵R唪愦皔R竃:R玳鈱6孌p昲鬞狫↗濈.J∪5姨Ru淚,&蒨" 藞詔褛 槞}5gi簚 c眸+ 嚝磖棩tB#灶1咡~eE\龒W圏/oj%h(+袅鉱簄|鐵k莦頎*胍FU)T漉礙 巺蒟批增0#鞋n ptPr#Z紘Ьf柬D橘D"Z洩J'敟∪鮂藃絈娨hzWi祊Z#t祍+溹CVi2簟裻綨'齈審﹃82qf覻R娨摐&G彡z鐤程3G i鈭'%I\戞>╅慐K3(g/!瀖3r 唀儈"琌勧矚惂RfC猯+c"蓹 =r宂 e磉 m谰蚱K終w蟁V彟06{^醩w炗$m鱤腕=k+Z件茞+鱷豀%鍮蠣%-_#h蚤:rW荳9CQh虆<儮幰覮(Vn(Q9!纱~\攼W翪%_9瀾揽FMm< 表H穘念蚹#莃# o^)涚5帑B攒虰皡獼S镆iS&/4/瞈rY Ue*盭G潽kt\┩W 汚匜Je!d⿶茙擸n设扜哗Z{)[{H吱8V烲貓!3叔5顸#SUU慞1e6∪WeF:!D<玖綨蔀-exrg00{dy-彫齰G6L䦃s=f些ol=遼C =v.X栨-~ǖ󋩢4鳹敫F@*櫼揇jN,Z)ヮ扥;钣h=8验甉蚎{淛鞞趵=1雑?嘚%鏽庅感豽 紥埏o犀G+QZ湨鶸!>詔%0&6\D 瓌Qkcu赣蝪^@+uw7p fdAT4趩癮龙uc乳YHMォjGYm:适稅U{yc/枙茹x抭d4`?ac4!)r<(饔P髏`0芺⿱8W*mWHI:浙<参曧 嘴4潭敘U9捌2喏xxy(UuVM銞佳`毋!.鋳3s薁h5毞`DL樾@Y桟うxI 2e%旡>敳 3萻H2!Ma)c斄(v3a湣閧d幆.g錧hY嶂s5續<嘲M?7g;矿羡11魵JS騤ZQ)Z;Ms$u%L苕H8:輽禷 jN:ak() CI嫴眻t拂搝3魦幀鬥崱?N櫎1kJ瑪X*BS羊|+x"deEV:奟`獮Z蚁腽 魾8,幦S陼E"卟>)Hk紅O%K]K+2喖>鸃螄颕梺雭沼\鐫铻鱫窘冁趸nr鮊徑K嗼9命訁fS)h炏&潘$辶汉獭 —T争*W唫6岕}珳,晢T擹r}邟 &櫽彥恲┫(rVN<跙 -楣鉣炨缇/4T'貍vd坾滵盕技86bX k#a=皑酐B^E郩4烿w嗈Ⅸ}4鰫V&庡眂#k0L ii┠PU9U>μ賵"涏獢喭i賿楔,JGU 鈩(闎+9汙yD灹 q礳羒{摷跄數鬰G6\遐厞藯 籫j 選錌郶}u.uUw扖礦o尸T盒F,瑢勫~ 躐g/Ug9穱4X弒苅$藟绲衤炵c HU鈂+ 2*b蕓B懬擡寯) [2B觭X q蝡8&(旗o鞛诔S捈N阅9臋Κ#!晷h6hGUU!R3胮湶 箏眀毙5扈Zf粏N竨rD6 O鐶7p硭迒堄滵EF憥讫C渪6&kbP萃70渑桬躼瓜寤=MC5@熬榋@@矗1 k;F塺8K氛4R7洣 泞:6 卆飧韕蜽庣p睥3踴朾蹜>u)&Z霧V辴]覾矫 韱衷>%La^磞確騚箺K畓 制1buTk=璔兞"﹖j*惇繳%T+Y限#kC鎑萓媶a眐9kY柚e$9镝DL4Z$8蒏痧剜u骅vZ F:2馐檴ギ C珐河P':潊@!愬蕳穆W靰揠賡瀚存ZG慡妩睭绕k>r肭瞀'R+餕咦zk洿2僸:Y蔖弰兀XCac齒d*15楒俸門氩plT駞3J兝 専>s燮Y<妫新轾流5:/瞘2撞f逞慤B 秘;n?皖d荺嫭tL G酟M笰'揁 箬#俫輚炯^g,媇肂前爻鞓7掏 嫮'槮t$Fc攘DX96脐lk(菊醼V璓'虎PhZ譵:[猀E颼c莁覙脫諒峀a14菤 垝b1柒~新Uw|7!]?/杠吆Sj^l 1氡0楡, R-工咡纗關揬|m筦-2t堗讇|mjg媐 敽谼櫫0A罍s茴跓鼀齚e\蛗鴎.鍂痰戾o付%* 崬ホ4谭匁緑0鲧乇0薒 8WQU疄<耶z宕V閅漍颥ZK閿蝧dy腘蘵梄v,K=靡對踫]鑤,彤!hu kpゲ奓(U(R絃罔 kC菈 9`[灄蕎瓬&=o玁蚿(黢鳟漮[^7 剢乫瓎a俱!螔暁nf厫C龢+輋kC╮W1斊蘡霞a讓釖;,菃嶰輵衽愤_"Q`X毜爝狁-7G|莐洓勚PB+┛溊_*岑o藊王!肪c亄8*4BC啾﹤? 蒤#癥輍歞鯗yヽ査t槲犔cD虱~s襏屨9烷Tm赦y 鼱$>,$C閿矓?{-譽漼埂馑9慔0gJ杁* Vh錯K禰c窏-M向蜇顬駎峰裉x阢苡秢於R粫瑴HE  DN缷鮚鍆9笄>ИQ 实/燸窄p口{唼禿肬G.折匰)_躘豨櫿侒|=r晙d滽櫝OZ2z0m"邃RR周稃L螯鎼R輻隕涔!铨炐葒(挬趕.鸾`阓2<嫾唅H_汎:+k橼釔辈0鐈6b扰毨Q(&揜箷 撧hKO哯[╦匵* 鹑6焫瓷 o-f誨勒汣薜%舷轢 $ M3肫M軭i 猽C籩┫[鹑緞_"桩墄譽V j;挕乁挞u譣*硚r谁 蒬jHR&:簮rh.e ?$ゼ皌c朄隢囤K(3榐扲~緰 e4稒9 h"廢k呸Sm緔爜膘C豉 x 滗&睝@縚竵轓n9!+撒鯀胓漼$AJ vo?鳎蒎|聝k觐玁H鱽籁嬁hg鼋n蔸y櫱徟IR鋵槶3o嶴MZ釶G8R 傸M+秉j紌g蹋a giY贂刅蘊2咣 E)\烼5I右逶脽|轿辍穇[爯楍識NS蔆[-!曇D2縕K懁 P|鈮gS{麊紌闐摃W沮宊‖IQ:@酪y鏺'裇] 鸟.'憭0廳&~貂輰 鋎M窟ト嘢 y濭/燉/B稡鸾Q緮O槎d闔錚q遷^>惥幢71鲞m_鉉o軺$詩爀褋疼鏲匨=@9Ra#G釃侙*剆RJl雎@1:9棚絚j[鷴鞤2沏s焮⑴:岿2kG蕣8/譶6衰哄Z\.鈳M%显\貹t邊芞扗~债7詺*薦W纟Й 恻0騘V楖~狏8娞T(H鍆 8噍3NT2c劾9徸滠筏輰鑂%劷}謅mq鰤齇%|︻诚s藈_/鱹z圉q磮j 鱯輢閑形={ 錽荻煕采厞缞ぉc紝旓Q$蒴8\躚p';淒譟,(ry9WZ韾籵萉O,Q蝛籎詊猜$3d旙萛*Q人 鍇珼h9兀 f駚>茠O∝哱]z榔蓥 k騶骞K3]y拼]蓬2*泻揳v貁t埄0.Pie+"{牚t碎ㄧ(x伅絣p)憮*byOh篋曟G籣邴:Dt墸A<茱栥藐|忕荑2!L蒒蠏J鮼籁6饚gO'嚡 E議I&;徙Pz嬣辙曋騩拸泥s晰E(e[g晧搚?RK疳_鎇{埸膺V \>﹃t桰蠟N+Vk畿$飇毽啍k籨P镦/7.丩Rhfb,踛.VZEXe癡 jP蔮輋SB掍-孠(`M鯥D4飰爯.嬰亏` 犵偍H鐐飏G锷+硑笹鏼@W!佶(鰘镔鲛6#|深錘︾鈴击5i!髡搨} 教鈥呥~郟髲sA伇扝熽m夙攺p;098翠B-{漴妑QS勻"_刓^勈9晁雗 豑懙,艝芳橕6忦嘷;焆猝+苍;1o乇"②J问虻@[2嬺鰚葐-{7d+鍾]之圞髲-ご孯񪛨诀爽筷M$I暢閤筂隕6嚨BHY#c呈1R 炞#賺?憑A饏树2 Bd,嬋囯HK窅ィ┩始@筅 a/5<8ё凓>┳&tM簱O/8齮盡騸,煳,W淢+啿8隅迢e袡Y:熡|NQ藽堡(q^wv 榻:釬Yu财@ Y祏E續rT耆z蚏嗱毮痑盯 觖頁D裯 }%ⅦZ詹3髺℡脡Y拴薒招H嚅S F譢铭]o庳3_d尕#L *@篰)J壢采%l8ygi蚂鼻敝|8M稬>Ws铄 儨╯s_狎R哝 Y;14嶺趾d%悉!w}?_5馉颜瀦狺`膝璁遬梥剧F鹮y舓佅錌_&菃慞2怾9**灋Jh欢,)驃v;煮迼吁0qDMdVFA[馀侏薴碎娽膶謇斸饘逶糴魃J翓睒m+BFK姳**Jy穝=yQf賚蒼%7Zm埢襆=噢绔豶覱1簔A樏dm瀩/¦Nq鮧%J嘊A*犼訬F孾屚0Y娨氂棵塯:|).鏒羐FuDGz懺4yiA7敏m烾8;敏ジ镩^◣髧紹糤\?黴黯A殫9鼲}飲R贠n紩憰;纫謰qw/絚粽陟佔:<襌MmH蕏9Pk#芀歎C }噶碗c-薥jI匲]14"B7瞽d30塡覗フ侳庸7-鮐VZ唈0 豷钽 虎W芁5鵋丼x$煴fX喗g&(磅稛ct.l1觞}} 0fr-l仵L枲瓡4卩篹k*hy指l扚3︹ <艞KX鋭]B残3铥D{+}锊0鍉b(腺y9d]繪芘楉鏵,=惼t劈~H㈤.-黧y醌_ =s!~枧斧梪倹錥狄祌尛籒Y撗q篰醖宙粒g~,|鱄沚瑇鯑溮Niǚ4蜄a艾((r褕‰浬NK鷺婾颂㈠洮迥滃碳H谭0 DM.B5覕━'2V Zq牗 芞k*#$螚愍?畁减颔1谕%烕蝊3w)7蝉師C9t!謥~瓑kGe`q巫枎喸*嬐2t1s霶捴R檻辖Ty1\@t巗4?蔫U"魩X栞?爵~2蘳3y~ gb/5茏ょ/D荃~B忢燸g(跽茵欱m釀]除.5瞛'Y夷ZWY秆H5i窠_ケx毩级o轖T珖d襤p@1T@9渠隌a95跴璝*5锰,Y鎘睺飀%妣CM 1硷M9艤s氁抭V柀y敏屷銳c\q阚夆2A' 9斠9黓哣nc纽坌ADA螇鹋錓糤虫蕈閾(円!s'炩萐a屗7M9; ],W魝C瘻隲_D7n湖涫c佚摘9皷4m燭@嫜:砪q捧o'm78}鐰踽菫c錊瀔W鍢(J碧項r(R剚扎庠/雭k-4,砋脵j蕘箘j郯n$鄡+蚴+#2#@溗;9Uと琹缿'? 叵"?嘉駌弨疁嬶7}鮎G/擃應t 賷饈~/^|x菸焋彐;I╈vH瑫舗V_*鰚?s鄳彵(0$n忙&r聉Cw蚯6謝k22&KZa瀺卓霸蛸(N/p笃[艭1n( 錆跾瑘脆u;(DJ59M棈苙巨"鏊L=M6唪游钗鰚t圜y藨>k岻^筍ei弢寊e0瞂捌錕,5恑灧褲Zz!.譪鲅衄xo硚巫]帱'} }q6?㖞VnyY异眽撌M貘腨k剻7)6,磅稛愎䦅轃靭葪芇:@[嬇鑤橆4j =V"r啫L 囀c暸d q<睦谾Z9君蘔I鰸渫或L#%nO厹l 曁雓d岹!(幸N⑽捯!83c愕?Iih 晑O五p珬鏝茆D晖w鍶詈4﹕鞕/1额ZF譢#,加唞潹隀郤J觧,qt蟝1i;/2 m"c熁Y峢丞/W镔<'渗橣b疎栞懵搶餶齥縯g9w缰k6L*F藠憘f蠅t牂趛郔栫冟B脙_啼秚 fdATJ籽hO=w_ц ,"`赱谗魷鑗?茗3_辷/P^C4綘鑨nvd?.05皮 宯d愕o沭摕f7^q;躁"M歯}饱Y[饫#鎦J#k 冭0&Mh犆樖閩銴l魁衋肥:@!2 蔯m檓方瑿}襻忬謐#込C乿檬悜矍1sQ拒彤昮顝惀-F譢5F茱粩黋D搱4iZ鮵8K[{,枾Z~)┓+嫭 x騞耎Y懁靫~:齱S3 | 1(5ピ谳tI犧? 荦;髄歍L*蕐Ej,(鰹J檕<螊{搦睛'億_s凤k﨟揂?扈/^-wR^嬌紞潛t濩'8众M(*峍5)C+凡叼踌啐u鑹O&u诸x=K3菺iVg]s;^鮺菠嵵!ZG頕 VAyd-G烒,菬*w綍蘃汚&/Y匓MY&謁悄x皓像榭&?sK侂譋窜^$衋帲{>氢6唪S凲懳&形阏汨%(蚣庵7盻灁G惌湃讈wo<0R忆#x8挳m璶貃"麖髡搡趍y钰3W3C嵒*罈?頳绹 呑遱S亶娚!M!$栙%G3>骴鄐葐&9+Aj磺\E2薧R锜|_s9鉹cT鄳 虆;_鋳5Z jt孽*(鄔u麥6K萀"%荷蠥泰冞嬖䁖]s5+芳W弘>Stβ猝I凖,iR樚0熍叀(WQA'_<紪\iTn悉摗c顲K箉埛_铼l珁鬶澢嫫告曪'虝i說y鎇夣晦Ha`PNa燞S嬕骿j6Ji艶蔢玿婀C|蹩坴c8餉鋭_N貽5囝熅±MB&G4!E籩9~掳鸴称{n)r酹P鋉-朔龇罺f,烞狸7瘡7烊眓B砵LS趟缆)gGo巭\x3NJ胟E@顫荦 %汥孨黥2現[呁21 撾ob(kR蓌輱tn蟴(D味坜 褻 L纫&I矹6蒜N&鱎瘻陇mJ胟Y稠[s qq坘^/X;zc鏗潩dV%u挻AT馊炏2绢#雋6棃諰R*鏅f愫I緕3硶:誾柿齵i7AVV譟^}hxk.TwG茺|踍9萯''爯W 朆湾囮糾W乵+B2跄UU+#甝眏H硋\硆TQ.塻8砢94澅:賆歲瘳}/h.d骳暈E5铊揃/R魜tn_w+7: E(:2濅:d 謉(摖L(揁櫰恦砛a:s檫7,茽u$?(7H4衫鐵蓚9hKgx鋴灤]缡啈U;瑰M客詠镳収?完浽h诅:`韼%FB^[93橙徙g:Saz<菃碨脮&闺蘒<@@!枏 m#軁魑Q選>Q眴B S\厹枴qE湻?屬{:5焭鰅祐8嗒匬3呷铬姁蛽毐宛牔PT!duh.AOh$(襰截捑wN侇攼穤冩K} ]辺;痣Qd(觓% 崵w=侉>楚|!V嫎^貾繲+Pi2'钗! 螄亿齶9謺Fubc珩翰V插C橓搟倏&謑}c玽蜾HI邰徴Q,i240骚爵]4胐刕慑b6o榙n酒o'P:`~8摷\锿6C}鐩髤g紱贶&痶氛萦諥@硻睺o眤rx龌,L"饄.?!粍瞠丰k鸝4锞5!涀j謒 Za0挟Zj驪疉)鸐9+V啲2*燩R"I,婯3訂#-熯坻3 里#谔嬔寊蒖讯N#难忩婃梞魜ty-绹@扁娵(;嚋H^!牚]o礇逖N猍yw2Lń~漀填-f 濎6}蛰瞉i袜'眡汖韋吷嵎鑸O|憫;;筹漜驡H2;- c襳 谱^酸>円狄v浵格轑ㄗj{鷖$庭iby佞8╒j痽訋7瓘馗R硊c榔+臕2姶fiU,K趩 T 殹醼驯M *兇fiV %薭23 ' 竞疘;橱吓}纒t茛 zGH'~bhr+氙篬\#qaR篬r 進1靝銙述葼篅铸,V~瓃dN.Cu:紭_;溅騵湱炮(Wbr-$*鹷榿+╓>畄+舸%偝@TZ●+,&Y節弢攣 D鵄鱔z氐p陚 蘱夤1w)?瀎yf`揜|餗;娏蜺Wh甔絅3<)蔢&$m痊E5bdY眯\0+栮涛YN蚙師1=m86c起骚,4L鳶くy!鐦献<仈髐黣}瞚y釯#イt"{蜥柮)彐;.j.i稉漹'鍎墽怈蕵L捞h歉k,eP30趖纟5尞締∩+9鹑荌ZU%汪煂7蒺S==箦侮GnYK@尡)Y窑諛<矠佈,4雌M^醈糊\k補誊=L= 挎.向0晓6~q腫VU琜℡筞38獕c捌b2鶢称b 影貣E[+焟艼)陠觧雨檴ヒ荗袋v6餣鄌軗t!~迃 艳U$}&2>.O虁堎働诌(撸tbx>V侇(j濎,Gc鵥恢r鴠MnI玃嗊*5FIoR冋柪懣v5檤祮 时龓_d尕z疍爹9Vny&kw幥鐮濥y("U$K[k-拧U,顈婞E非玼@49褴讏 C:颉t≠韫4橢垿哓0^骶 裭X℡礘38蹬6刋J[啢 i[VS跮n,怒杗[栭E89g89g90mx郒擓F |<瀰9嚰楁R士LにG#覩0炳&篓 嫠N踚l嫒&y;璓le揪{r矪Y軾 1 0+琑8D!1爉彅蕔o 轄0菒厇3垗瀏削貁玮x#Z[w1侑# 鸺1禑嗊僩刹柃軫2鱔Zy_?r义塹49诀K攪钻0劻H徲d當媯 PAq襌鎤骖=广aě绌dtS|雍mQ阵=堖╅f擹 P伟縋/eo骂 ~恎均锦絼共眗蓶7I榴aY# d滞餶0: hVgi7*逨鐋J鴿O槛<%蚉Y14(Qd駇厶羹g墔侗在癙撧g9枣君9di侪T纠鱽>航9鞲|閪崩懔 妙{镳逥@nk霄鹀驐砂G1髡叨7惖6侯R韹|,?r义+ck痚愕o E+:1篬'b芫$'=Rl膓婖=H癲.K曡幱鲯HL劫Ho舸 |柅,蔋&)檈哘夽 Ecm&*揳C蜌m?梧膄灪 Cl跟 &,nZ刓FIZUj)颔= 诟奝媃它ゞ約彰鱟羞z諘褛鬈済h@1:詳挍VB昆┡$恊$S詻渟瞄颂掑3O5?Al,?xA /攉x"犞湟祀蚣G4琴鋿桹5菖鱗礁邇琽'X橌铞F鮧\ 芏螰俿にo(崿暘 c/;蹪1夡 礩Jfd_gmtuP89F+捖刊=$z0醅|OtJn煃zA>JS畢`璅泗尚使OY兊杹+搁涂迷y~鬟l告'欆x+Y趖r*婱 ~!K闤2筇"&.伿懚k,NxYBコEN⺈虍璹駇族(#儦!謹4qNe豅.壉4[癟5/X,*喒%-鱿陕.T1噘炗H赿yF!9倢#嫌骨閧1差棍鴟坪垁|正}袮涿茂~铨 9D酆@7活噵>恀z'恻愹 d苍恀z磹lj{m#+w羹t 嶋K D(h]?S僆禔戽S铂Ewa湜濛;胼脘:吏l镝v漘隌謯D- 屲I暺兯~MF\f菨颎)吞袂y+'帕l巾Q庲鑪N颿b猛铒-9g9 ?w+h x]1Vx莡灌5!q,j婒惁8鶄&)偍噓I!i歶.Y鎔崽渁j蝡jA伫{79VI$&a陖"8*棖厇p簖$cp;_w矣2?(z齇 鍇晘鷠鉈藰~|o珿殟Vl維~k籝焁荅ˊ対mf0&慠8宋*蓕雩uH+9琁梢蔜囧飍U贗ê寮d£鞂蛛?{聉幾g暁Y2X)鵈7獌垞线潜g綡ACn挣妰L= 盾|艁暆Q 萄螯羁KM邺b,!\券絵E@*妸敛bì袛42剏EI汢2|h *T s硸映哠髥S藎 峻|冇侦瘉弐釀拸岊LR蚨幄5焳H 铵(c鼅邀戁烵>>o>;慯z孡l紖滨讚秌3>駍糁孧d7@:' H纃Ig76胐m掖I"(誵埏鷶*閕*鍎2$U糶l晦箥! 際y J+晛c30)hh58y!V曕鰨%B<廙申閰欲)弆&褻鸵光雡~蛴pO狔g鬈樧7]P.(J娏蠦Y+BTPD睈J撅k,$-K砵iT,晩ef辮f蝦z辮f裷f沈ョ在E/D}蒣G23豛 *し9 珼4桥筥](xB7划翼."'斘#鶣 愥1KJi-杤牑i璼悍~鶟G(a搧ukD苍`M昶,曐F*蜰1弙)Vy3 聓碡/慌絬Lzz.u=V!,J吶d擜9=cN6Yc灮o*癷LǐV蓘銜={wc唚r耪瘬秳I)彯#. 飆7>箨+c辵cL>(%閰朖婞"梂剏MB-*ccD谠4梎眀,H/t篵8S碧-晴3静痀kg鲎憫迡閴鷮碥7<翶況t嬴玓鬳滱>$鷈DH/=Q丅y0.b褼dNY 鸾研暸究hh7*4 .oeD诽蝑墦!%(D碦dieD镙舡蚉蕋語兌乧-/佊梫懹%=绮'?候_1骃{9u帼糁鮝放DQ篡2E矗骳#G鶍o!囈ML掋{科m^1@1(%,泞&_V賰'k瞼ULfISK籪︰D 芋pf0砫7m笕夦摾o觘/4<,缡-!拨I螐P涸8W:廳 t錤楗菛すD痪@a`Y捝f澩炇傊仒#}0.20>仍夡Lc h兌FGd)k3閼*A\@应薋 謌宨*F饅Q錰藁^v腮輸钁K鮿|諍 *铂脱g綻侌濿鋂3落浜Y[裯5K籭h4竌堛sg#GycnD姴J姼瑘驃0!$b{%枻eiTt槤诽T,計柟歟_僮`j1}1y!傩鵇o&z)/p<駬G戍 "Q?鶖"M@椳趃/"鶣z1喨LtH"t钌@鞭Tu嶩r,渵>癔Y箖 W繀|q愦╖匵 芼邮爰H;篠7c铠噕V榟G@i檎'r]夛踠 稷灘)┅i7豷礫鮵;s7 + Eg%kj挾穼熵b" .@‖墜(骒 詰_6砫 6r;MKc刹磆槸8璈:_嘕蒡,4蘝汊I B耚菹鑺鄧鑖/t3&麋n鯎V}鸺蔫楗莌]I炄> 婬&$挼豑攄yY謋pb 房眵i昼x昖c-7經亼 丐)缹興)檌塜>圦n=謆绩辕 1R騥':*q悍贘S{5層*#琼F$瓐儴鑓覸崸狂'鞻}^甙6遳c嶼稜!D 昐X,sW哣秛!D懍#7:&皺娄k$杤 歶K}巡竓槴Xf,計嗁%薭/d|豕f%5鴀 &疋uD絾觾3y鸺詞h/hz鄉演s_u瀪ms?9鶣z閝窑m)絬(;敩F憯笪撛歀z&”t唂m朆i傗 屔h窎:b湦的丟>我霢6蒺.欠`L怀3髥蘟e积X/]騥G:絊`m喼慿昛a霏注Z安睤+?錐O嵙8逺f=啤?i长葵2"C≮阯(2鐷汹* F儘茼粖]聿蠳-庻袻糂5Ku涟P佡奺1砋qtz鈊旅G[K揽Bz徊臈鬄劰惤I蝹254藤喋垢斐贩佴[79@[t峇鐙} 鐬 fdAT8抏m泊V鐶<莓$!搇,8飘燯涘亠3囏|慊^ 0.蝉恩b6嚍$鵲~鉱痵SQ柼堽4p~榍1Rk7獙0飊K=侼謍敄盡 妿υZ討cYk/漛蝇蝀ム澴尕4E妑 礌礰氨%)t A鑅 ]眮o-谣(萛j-K朰LY&鍇玧Y骁舕dz>cz 鎘杬<焰雁鞸纎"%l飫頗h^F襅 罁kw紐p纽哿 0z3) 咀垱0>簦滼1{靟庬完 聹Z郭N窑灵冞ahr雡% 膮!L枓椽Xx鱪k炩v詋珈勋p草忝i=?3s粞埉]资告PQ3ZR 艤\ 9(X憦 A` '}摘摑J囝R氩刑挾/Z;扆俛z^-6-鸑m_ 7 萏瘞謎$#頋 鑊閦v0嵐谨8蔚狍跓s縇!痂励沷鴌0F1A蒟╗熫 O赬鐬顰礳<襡莭浝dmj '𮮮sSO爟+oy厑I(O0i凵⒓?@1Q轁2鬌;韫_瑿氄<*馓d!匟Q蘫 妑^憢!  h"(J9E>V銫扰 伈↗a鋁トB+=TibI3D跴kX櫃_蔡8f局劘飇裉槟"Y鄥喎坘衇1忯CS晤wz瞙肄掿R%5w> >^蒲义塤A?賤埯]*@ b!溰顈:瓸詠㊣ev萑旖暴c鶶筃忹捯!召啕谕E浦^呛漮 孠Q9候''e:譹:7}D$*菫"3%Wa軺wS]復=伍没蒢嬆l徹*bえ"EXb(臜嗞r 侤y瑐L丄a斢坒杤IK(U鈊縋3,5D隰=M蜹)郷#鄐饼~锍帾▂8=x.G仲@綇 ]>綥にO幆粇缀(%}8 U*陳N逇N烙篗)&s鰗&q{試泍G)庬 #岔鲼+啿.K[捳鸀⿵^檾 8}庮<8氙z#逖udI寈脍!证虧|殭搟h-,9c;W 圕K.8T挱j=恴#+/碪c蓪YZ)4汢$-5eA蓠鶎巷m怸>9_墅0t所y]N觺紙义媉 C卷鰺'蕰袮D浜Y┮g曌`: iL奙訋<蔰 拼1#c-]0頇@ 3djQ辬归50稇 葋Vd韱鐻蒗絢月榻啕eZ猪|雘$K摓膂谗Nn擳牼x汏S螾?N籢A珜U儦+#秾 u莄@+褕篿U:惑淌鼃)焚硶@碎H8阝衆娨羒k瞔繵A譮.妩罹7毢旝u=d缓∥ d b襐岰wK覮n紖u;^弐f襓e蓲G烔N=肃&6蒺N鵺<鴦鮨 }%|g吇瀸炦齱尛4曺)猻G衖崄糱誤罋#a鄉"3c 硦娜z惸事簱 )彑l朩p鯊 Q(Z鍻睢2綗鵖蟙謉迏i%餩弒qkC;秣]n"y躞>._\<儿茻c汥h妤蕪m貉Kk X儽i<;┏针Qt伃]( ,渮#O}苽b卯法(?罊眠eqz?Jk谱^蠆蛍爐1bⅣ迖挈規侇煖'>E8纶懑#K[hb14,櫌Q%m.富 嫠襐H猙'+O氒师轊8F4稗a+;m@姘&闾鼻╒Nrr飾葤艷緻B3睇焴 s瘎镽狨2>._ (輗=珛毛ご.+$K禅 y1?zi2蔡楒#ビ#殿?舐y侹'(G弭>=Jqp帕 NlF氚ct颻~86擱畓鲿瓱旉v[鼶斶b阰3b庮嶊4W撄3牄I;# ;蚏(Pz蘛3xqg 攙壾w譬r鑹@*禠嫒嵞&徜RBj8 - 鎅>茶吢kQ}訔飣镚4鷵MMkMMD煲4*佁夞噚徍^i锫:%2敀.`观3n扆Y喭湏AB柎(弉<骸{撋陆s胏溈3砭8飛酽请裂5帻gm邗襳0.:觀p桘捌`祋灛nH0謄津P* 坮捹K襔bc煢r!^5-w芚7N/Y)絪e@b 籦稏齇S鐾幢朿佅#蹇6h 梘廵寏F杭駔ヴ椫飠3#+w`L谏訒闌8qe%$貌d4J蘊{狦絜O焻j-)╯*^惧H3鶟秀煚:尩;^翔闿槵M讁_骨疎研箃硊y8蠥$NW埉鲳3_鋕肩"+咮驊hVs"濑33Kj udU+*I犧禠-:拂鎍撦W}珑R刍*uk砫[x梞屔fX21 藧<3,贅dfl灷xBH葎%!$O榙$BpX芵繾c [I秴枛喳虍弟韜鎻篼輀oK苍瓥-界殛猲輀奉硘削溰琱醌 :n3礨@#徸"6讕曼5{vIは峿張梅緀砝Mw禲N獠'行?o醸伌BY谇APd嶱~郔N.勤嗰Qno@% 輷惈 坜葷Kx艟遝 棷阒卓sW″滴咇穻(Z.򙚡绥魲x撬矜>i薈a3.獶 @1JU頃牞`V*右腗 ‖蠑 鳛,9禥迡 遨囊Ov<?*<曧閟g艿革7茯嚎@#Ak缔wA[蠃巾~蜉s.h曮I蟞.鉣e靳睗4孠∷嬟喀輪y显%$强 8t薟眧馥jC鞫MU00罞FCp庩SI阢蹋ws虺苛}蛨X;=惬杗pAh紆J%敃R0-aZ*陈hV呈.*0V[o汼a噙觰N 輡 鬅Wb 鬄]兌#}n苷_獩^-穆怓A<鈢穗4H:W\赕譍戣6И. DwM陬'/IZ徳3q鑈𸚡5~踔)^鄞1厌!v.cm%帟+復x#盄%掟唰~潔?}鯃#+幣X枃0穾$鑄(蝁aLJhAU/4 uZí虋璞 t捡鏀i羀<[旷溬i~x?鎵F=嬡鰛羰>喈舽奋r穗=a糛|"鎱!u狹&賃綾U薹a欢荺dW`灁0^gn緘Ki抷p "sF漶3/5/54 ]訝m+緦逧s鰏羹"U5#万9Zj服6'赙糼5z鱼__s[蝩酥呖 幺n┬伴$tMI* ō聰鄡蔜S um雔f^陎虅靃Ly捧)矪n=寡OH 1 u惩纹 V輋苄箥嬓輞沾9a侵鶬踞e幏棘迁k 翨z)m>様i瞷膰蛷瀓<桬餵卵M u%T2+`:1@轂8v 挡8垃躾n螣+xx节R繭aa䴙饺lH oY\粔)!赕 *璮(;紳佗▌"廁9序]~Sa濶K#惸釴W佭]X蝉G1彖-蟇;鲨<屜9踗O汌嬙硊嶳帩 om穀%莬8Ⅸ愐棸~!蜷密q訄靇r,廘Q*M赈Uqj1Tp趂1L/"mZA缴52*=e%3眫壊3來┎5U'适傘赫e1X:枫魋侏nT,{嶍闀)餚1輝)猘>ТU:*譂匼鵔-%Jc%򡀄x豼辠 訜m:<%""礅磈隮va|囌乚8$IY\9聶彖r喕0N?磊釛芓W戈茲h塞骠膚6gb骡PX.j$4偔[@湌`^茰i"H梈/v7MT曞S寺Q蛿門檸暽T橪M昷0I3茄齷轛粢 ?蹰撆O輠汉郩鹚烏训gW閟`撏4U並澄{ie畧^pss涴橺懮鶘z覀gL掏驁@海曳擈嫚L嚱十. =h逽c鵣 0 伊Q埋?挖z6椾>1農K螞^盚鈆眊⑿笧徕裩<@\聓jx㏕dD矻HrHr貤魛P恓魠哨禽┴挠!d5*)敽P狟Y樎騆XkP鴩醣pn顺矏蛞C媩顇泒槰 X?微9&靿 疖;wozK=勤(嵴族 密﹀┩蔙! c*-Iby07 >-M4M傅嚭Q紛 \k釯^嬎{饋豿脲.N劉5w遖霽铬巓g竱}熁鸨%璤TjC-鉄(=塢B(m稔棚/儁夞闲T囙7诖蓥HG"z囑y璏兏敁|堄勛^燇9i >蛐匊(1o賭涼%2G?嘇.洎嗐磊?教帇ň熐鉦. 薫;¤@葲簆 绍駭9蔡4 狸2Arpq襥謳B鰺WlW)Z偀)M誘゜.ub1嗴凼-蠙-赴锟拢涻9喁g槠焞咞8珇Oz*电#}鹈离E竚1w朢甗N8簰残硴c惲爂' 僞譂4ib纺A忖4驞潏宓 K鞍襹&0嚰趥瑒赚获>6 馏 ヶ:n倞{=W5J⒄|钙p)踈c孕躆'纇>O獅[H娝霚返7栞>蘚JPH,1遉趲垘頌踀眢vQ玕靭闢7喉玾P7x删凙n覧餸w寈С嫟Y?メ姁给降}靸 IMI,褋)4z疡=ic鑏婨+V螉|\饳v`殗j H"愗{H-шJO驒(儭2*#eu#鞘Nnx镜7渎栴N龥槅 鎽怓P濛V_p)p 3z&v窀觏J獿銰柌漩冩ir翤0璯=冟侓s∽僞nh灹OS礢W沒羙坌~|鹩Nx賀/徼r蕀3F} g靶硸緟価=鑹y'#鸵槸$挻涬c岶潕鲆惦 j/狫\<兇|oQ弲f濈=氞6JK蹑匜y禮 覤橵癝(縵鳂sc宥;繐咽 -:,眚c8W@娺-雎#o諟赒鎄櫥鏊极盅獀甖 膕\臾 飹敽湴q 渮桡T觰烬@./轃抔翨OX Ka边 碾&8bi鳚禝1欶:E娑*,I鸡8吥)I鈖1Dk鳯濷D 癈懮C攢d!祜侂Y慗rA晇擙翬\k幸B䌷ce柬Y繝\豏N]繝溳剰>R皓闩郍0i縧鱍尬}歜牿茼" 嗫2V秫r~ 鴔佅>+糪 噙鯯Yz帕GVR枏z掳 零鯼 踸须 y唝!ぉ貓迱雑璾)C訳橔F;>pv~诡a謽釠 R諛?罩{5险<謽_mB祃牞 狝茀R6')f莛蕂b哐仔T3鎢H U 匟pB$炷*B髕朏貄1S?蔟.Q{#柘碡v侔楍A溭19拴?6<仓O輵艤AnEeZ KC莃喒峬蚊q:驦开噼╞;sB*J踥8%sV6`@i0l呣[6\早梥蜧j斔! /=怲,鞜Ke-)攆 Pw旕柌渐淸W苦9q''|醠u 7囼]l袂╄潼􍫦武W餗\毵炽纖 |韫Z隶轺珬孰炬枴;竓!纗s媫X鐶053蠀^Δ欂x璓磺僂E 摹氌f濢F韖蘿炧i怕tt糪餒/蛲:寛O苃U#縋谧"仔訁`pR揱3嵥Ii7v<裼c匹}Pa?肪䴘$y?h<游 m+鞑枤刱%n圮モ塣gqH>檜潸]辢 夁%9;鎽宵u9僉鲺3D`趚謌;暓袷B铘餬*F帴灒桲+萍胤H妺#峘g臘i=E;蟩愇飪愭1@瞂窲l盭91 tづu@Tr(9S澥 n #!B襰HN(Lu?曋郖鄃?僨獢egG拱9~Vk~﨏cO諫崁鮍牚 +鮵铣"鹱 )慆g蜡ZHW辺C嫀艦2傉懓4勁“0=∵嚞g!{ο)xW藄匸鉓<ⅸ暺[╙铡娹XAy,G/R釭孵蹛皗S弎[槳*黣家鄳殲%+*酧烋袇奧犟菷舦醂+7掘I瞺W5鐓苂d拂+鞜w綖鄷wW諛庆帣枿?鰿 #>x9IR6N}併_#璮,f跞溹湌埻琌鏎0h( fdAT貼9砈sr沪║.$检@&疏g$87瘠漳Y?+>F@嵖w+d" 渭<區龕徬泸涝Iw\柢儀P柟u糯S梏I鈖9! 閭3u)輪y7h▲答纓6啀-屮Y蟽笱)w=^軑z<3嫛覬=頲98f佺齐齀1鲂抱劾亸鐗~-幀$,叺 氘. #aq镁c0P矠愭B抲『j#Hz鸬NY)u*叩RVR]5<勑峣F谶赩蟘伻^I"埣A 覟!攱<厥 |惃晧垣 @o$T顣"lo溈^唌>8蕏鳥厛疒膪d[陪|鶦?廜G茳阰biK鉸.hlY鏟B+F蚍钝混@R谙neh蛁y臗.I9r鎽?皤絃瑢 u骓4z)'\窚#OD牧鎏s檴囄諟7鬜8簰驋})鸊 鼶:z橺毨墣9mEK"h'1 0雩N3髒=暺 鍮?Sz〡&m蜓匔谦v敥(9镓夐牔'駯j 檖毱聏 抙5jZ Pha(;ゲ9Q6Е: 庉?鹩檂珲缺:韅揲椕 BX^), 鼜拉楖1颮W5<+鸕@??w鉐孓|s煡伆厎嬄朏"7絹愬.+}8?gSij↗mu嫏2 c&2,藡蕗礹-杖在樧$勮2xD"m姈1詚t^Pw2z嗗9.谭躨颚>迕欍淹奧=JQV巓~'是鴘痕阋K鹢?谇h(氓酶4k91徺啴岢+l~)毓z髊M坦FnhY拓<箸= 卾 Y怫r吉垳E螀b蜏w=4(4鷌翼X8,:^s]F?6gw<'6_9官癩x柃 憰。 齌f輜O潣8I葐荒枷~. 2aq,韣e(,廯I詵K/鷬w弄6F.j筞儓O-l (%ˊ#&需J銠no+敵<'讜3蜀 /菗t惍`弄>p 鳢h)6邧鏯f 5囷装.荎眅1叝鴵g矼O 饟:糟礕r朑/ 呎懓@催噟 9$櫭〣炗譗A姪)鐻痞毘3嗧婽t&ザy氰軺绗R支 5[硢蔾3状8菡;RBNbW聚乕<IDX,y"鬝gjst "-|囊x7趘勶X癇 82*貥5]N涫bHy笺UR揓s1+滗辶笓2他of磘坾癇謃$I2S5鏕w╫P粩"组"鄛M]通1興撡)芠)4-R88JY蘳桗4plg*sl"hG+r!DNB鱋溱jヶ災@+9,U^ (畟,Q 吤 )o!愍鐽P惇V秅1Q蝞{Nn誰M暻穓v O"0k償諂BZァ- 庄 諕c盦s渆'懀屟滵痍)k E嵦 絋,J d闏e吲cIZ^s輍7騞㈧l*沎戍-遘秗aS贇33梴r#7寐鉿4x,噝ダt老満焪&(pи呫7盩浈貒^!p池'貜鎵74帔鍎礒8(X/叒際鏎磄芎xU7≤J11疖櫪呜鷱7莢蹥乐L欀>鰷躩tc鏅枮狝.Lk2蠲f鐪肂朑矮l<`烄{ 磧舒 粋} pp I餢髜f庡^ M趆:<奵(厎Y*n聄?/躣饽薈auh琵濪剐) b茉愆gV霉o鹝9縎>鮨犀9`Zw閉Ir礊YEs9鉾庽癸XV 齌H穆闃圅 ;ョ循y飧q汛])O7驇钨s覬v鋷#=VF铝%;. -'0K{胃t﹦把 GewB辡址<绶曮;竖6lM攺+2鄃瓜錟閠頭/cW_?w恽髑zS埬曺d茗X皟< 1"罖8妲"瓠7痚|肳糍?偯+隆e且(覥Z招銊娖灚耆\o飋惗懋!^%腥绬譯Mw扥+eV趢窼銙;e 7s蛭d襘fY鄠蝺]芄Q9/姨毎}e88禥rb华嚈K遰s%,鰠!,孼g=甞*F磜V4埝qa7敶㈥Z{椒u}S]y-/1ded4凹j6m醝.P佦琷^i)冘t"zy燲鳋*ぇ}^QZ3莤j9承䦶2麃9椻Y=旹忯鏁^禛z瓨翺cゞj"諸p6X_:9rt9v-湅}際魟~_3雺N2窽%R暒ekK拱緺溬魷賄.l脵m淧榢蜊/賥&舝9Oe"重丳吳鮁#p器腫禚袐> 庸[bl 篅焕6襇麋>鱑 广洱9鳒槺1晒a5% 薼 4盄珘/0_楩秬Q4褴爪*写闒Z0嶗Q信麕 醞蟠 `%謠+*咠po艴儚nO遶驲k0栩楺T﹀yr1煚箐}爳晬0+昜Ws 郁⺳3~亯辺6;o=儱伈<芐^ 鈹a酀f螀鯬荡@hE^獱誃堅岛q_=bs陏铵g鷱p嬠謦驎肤X:朩暷RT>D 敉C2L%-*珳冬4( 额Y︺耲銠rb皿袵gL*瑦r詂5('熅许_si@z甴H陉 a癸H3薓Y;б齘鐳1MIねz5聕]耹;戍M逄嗙膯rnK9;V>zlJ裩亶到洤["谽渁a鰯N籷F x>P?鱰&s鰾1艕lN|'X令#K)7&躶螏kR箉n@杷钅Y\#,m誳萲C_)MDW瓽P岳淡--P5IYW8}氕姌V籇b@2萛琓|鸨孰鄱珕Qn_"慛+秡&st([6\爉猦騔%B慍跨7瞉x况賛}蒗}y賮尛灢4!,廯眬L[鷷枚a猿~厸~a焁娔9;0惡r靯'+橵n2/敬 3>塠綩"謑鈷槃P?F`/K曁賮7玜g [3淉4)E%yB7Hx濉>獵G瀥胕篭m鑈8╩=-2蕫7峿颁儎T捊>;媘*饵xf官鵱0堈⺮Х<;Up~襊{0苶|.讆偶螡饆澟挩鮞盞蛍瀹(臥睤X44蕼澣,奁[亴-崊my 紹敉sX屖O}a 訆e$糔73j>鼒W 诪:(逭噑aaw逌髞/湊塙x釉5袍夎]鏜v^]G't^E铽i 4碦jh>h詍{c+菀喼嵎5<豨囄$e9减醤+をs"!糖FxH:壮P ]K2(瀖M0oゞ軭7琫躽S茐瓎{O梶 E,鋷C ╊&残K贜U%sMIb/担漼 s北"疒俄J鼅  ^秜犾>珈剁s 戊訿lKG邒j+{篚S篜﨎]X贺c戯3祳@鹂K1譱]Rq-LmG&$= 0暃L 鋱R粃j锹猿柡hj嘘43t鴪yO )橺[!9@λ鼸Y&5pR巓U篐拮▇豌[% Y*X軥A婦"} 捼钉渭蛊 "燚`Rz <劂(%Oa!FK1]窔p缤CTLvc'6賷蠟.楾炋 嫿劌^(s奱N|鄢o喈鎢妳;V冽竘撌S67鸊 $锏袷癍妔搯睶弫貒鱞莡/戽g4#嬟 霣w!墚竊傻`j个q.-=騱鋂喘哧蚌JQ9s:濵8mUMZ0;1" _鳑x!/旫HX*a{A)曐鰃攥9礢/9,睘裊 璧f^6J8*\嫤寱%翸}岫)9^q~鰟0742=. 挻"帉v'X8st0 岌*窪I5*Eh!馢闎^晲 HB泟)洦睚,-T/嶳Nm譱z=?~q}V谉<5蝟7`ケ%OaV+i=C吮{嗜9臆z嘤@鱦z, &U?<闫鍖;庺)=,8X杌 蟝瑒A_閑巭杝齜蝳g 支嵁骞哴銿1佷'眉v~7J*闶3(c薳~8|q傚惽t吳x2鳠昭e鰀9螣/木 \骺箘舿U噻炌zS屆y瘐U油:$:晆v d\Iv駁晲鉰"i乘撳櫠b僒过@螜q砑蛲<%隞U*鯭圜穎隤痡+墭扒沶胃铯b騵0熑Y^賲p篗0u耂w鮬叶碼,剻*s筆V-$bW8悺H#癬n?秀3撤c!戬鞘F3g&蒍/鍐;_)M,> 讲T邛4pP砅擱刀鉟r^}$氵}b簅[o?愃G{口踘5農6R.+曶蜱洆0c瀁糖象:FF糥婗A"K屶~b畹+醧贶vF袦g逬:麦n .湕壹鬀啭l诐`趇猱_热2栾j龥蟯橰烩蕤嶅(剒&;炠X橫`26格院LvJ沲澵)漙軰袇鰶\沘}碐奪7劣炱b 3秋軼P5鸷r@籽匧赸吂@-嘛 S$ e頩T 伀镺]>%A!*7聅鎰3銌孰 ,⒇粮z8k鼪螸獏鮥C輤*芷ヌ摾A建4桟_刐_x =nZ弯躿猟&敃5祮 ;F^?c8捷鹭V 痼橃躦0墠ij9'灉W|馝齜/傒<5輙钇E忋唏蟞:t5-靄)缰螈55忩か<麌?p%W|氍置唅踳潵:`}渆T@S 誏│J9哹G檔7Lv` ;[灊滨o=汼es 邮#g酋;7胿\藟馟=捷箭摩鐤荡 諪濷=Vq鏜 V噦F抁u綸eg 麌)隣艕9 箘Y]6n$O區;棨e緐析L3&曘6芀薏J溫)?麺;鳯D恈SGべEp诶.c:瘦.勣毣E3繻|;^邩慌e丬ン醹﹁~1hNy騿)尖=鰶旷罄勰渶+b駄\Ⅵ =S0祯C痻Z=砇樚勧6轴斲x6>c]AYyf2澚呜彻販< Л9;p7苟A4?^呹釗饀/沓{码巉|洹拸=X聱28 O偠ge漀崗<Y^訞S圵涖洮. ソ钦蘩16NTjAk5v#91酯獖匂箏z臎畦o礧n\8礭砈5鹘嘪_v8窼?p齊首6 O&菃n¥俄I8V8$铣odG6J(鍉 d> _:瀇深尖刵躴<觫)無鰣@/z㧏洴錧黦桐'靵溆橺>北'梑wo;畼蛃9搞麓䜩籓碱4u濕PM蛢"M8!#陰VA湄萨竖\+e{ 现 廰﹨翅~碌熺)皽藈>篞氘陣S統5揳f辜~*|鼞拑脭a下颴業訝鶩p^駢yh旰舂i=Up櫟*6担├誃抶:x級怲灓 -[侒)"赨軁b曱,钓,蘜簃_='g/莬c 3,4鼳囿'蛾焴鑌E娆>銈軺醁K丏]贗⿲K銂鸚/c淫錾X泄"萓t77胢B谦|.乲)8饂/}1!&.}彭鈢耾楟Y瘄Q処ZP硇韷3Q秱$奁.炖-氙? g窌s;鲒.Lk ;犁槟fg拣哼~bRNl讎弇T<篞/辙DA&%鞿&赒頁惈渙r憊[򬿷銼硱kM3 i粄掕nuy 椯尔j╚ENて懻貹&橵:缞:眤=X螅-> 攥哜p魮U *S骋阀>秈毀7狁 #毕j}+9v儴覅柩榆8C.煝 鳍琷_甩饈锉馒.q裚xf蠅=U厊~齊/酻鸻Db瀡髖:罿>鎖偻2as陴嗥孎觚樐9#坹篍復a喵W3'唏譀^q靇4m藽寺冖凹郮耟A桴,釖9裿 S$咞袟_蠺P桺a淜Ei縒YF>ガ孧诺g曞担瑜扒澂闄.`^榧LO^67^矚蟛獵(7O\怔鄔 遑z媒 匹頦0狴砤濗漰z妖骵 縢弦K鍡歌遺ッ'厂璪 3樊嗹8,v重桠 涫*硽欠 wXǚ深湌疴;鑞顈蒢>z歪滃憠g\.陵抍ih]Q07俰 殓3o6#Km騤 M u暠+2,iLghD3H樢n顉l寿qL&<統 }*剿汬1y`M俿寔鈡侘c<`w.1:'t涚Z砧舩寏YM瓈艋\:濎憷讒E'蠇] g髒喁woIDz她镍e悌糝+剃&*萶c9彎`{钝-K7辴t纔K巬a 羴 そ篽涽%H鹳允H墥k帎滚Go嫁︳鎽JU@鎓3( 8踇%祔С *= 蟛&a祠8x城謐>ub 6掎_b纘襲瀆e(係;YV包g節骪)爲CY疴!A沍玢痄_暑綱:)绥蜑%Y 攆dATJ@煣鎹觏︴a珺{vi鼍O}醠y莚縊65Yh嵀簈_虛諪鬿24磢喼Ou牔瑑'妔?]2 ;熘z咬鈍钯 脑|墜> 皗鞀o3揣咬;@K岎黮s頇yS?rnR匡裢k袭.S媣8t墜灺9+"=S殗{v谢篜=3謹欣`'!/ 觶!镩k刀類J伺孶y棜繪拝⺄H愁(姕0mJp %z毫 綦岒虌蓉]@|喊~袭琞S绯耺jl婝4糣嗪D垴/@S |N轱斤虒i)lM曂壿6&谝苔S,*颩 4颮UEE*7Q苣eB if\詶 悫i攙s%燍误(d慊戥縸褉?笊t<髀+o譊瀀%j]`&煩mcd鷠r旹脳3d钯豝錽放<甬撣鮫幬噞H潔鳡獋:r 潑T禕Ρ_辝&8Ro叏$3揖﹡a+袔呩塟蕪3#榸牀:蚰eelr鉙戃鱺暴I0~根,6荱g7愵滺O磋箎鴫囎2HI渒髸 s+yd飩l"F甌H倰谎4餖Ch瀫薒了{5+-軛0|/6嗩6蔢D崳G聹г羠/犰目0庱艨昨Ebj抳n侥EK;~缡o諘电H黛;揽lTo裆鲖 H\b厽遶艣唓$筱,; 鲽稴HHkH{JZCV u if洞捸噬\敮q螕哘"鲼(s湹飌#F]y>裗P洑J/磕E嗷+綫蠎檎aQ:䦃戮鸑f&bd0裿畱祄Jj嫆壯鏿NM!*硈豫6 i敶伂0轞聵0签翴蠨uAL7注妋覤n溾孰-霶.譤鸏鳪阔.qQ黆盫鄈述絷柏/^`Jd\縫秥 &!螢徧&舝YM櫭dB橓.B玗j╠}!w掺k竁撏k2%S!箧岛8rY.鵼掾=籞L岪嚇莉ペ/&渢M恀y旙c"~逶N斛 :敵99Nq乲锖Q"BzB嵘dg偖i 霨A闸R!M%挹滿m闒(Sk%导瓎墽j挲a;侴鷤皙鲮櫅6躯7_柒[鄃&=锒廍2徊 睄驀G广φ则.5G按#藦襐艚圛2)$↖)mo緢郤H2g聇Q嚸Z^Qozj滿闻羜1鍫(ヵ_鯀=2m嚯.c撁{A恀=⒚,萧](縱禇*);V铋 紶^袘'梹f仩齊1@$9{毷M4詴P濡 Z$F薐㈥T(8岾Om@z9^蔀]Cu棻鳲 见 o覘蓥絷盭竭?r,dY韄S与^{x!?51匶LF莎聕oO酽槦;2!傫\T襲9e櫺銳澺4區 蚰%q渜蚨s秊媛 貍犎'.s鴄緜泃ロ.5楪s1g'&橤7庶%抂<佀9鐮vf(Z%瓖h逳6<級狸 qW4ML>奒k 藩* 鐃碣椲濵ko飱m舠g2<= 晋,NT嵷xSU欠尣 ┩E22ZC f滙冈!2捾≧b+ZcC ヱ性F %|{琕閃塳kk\啀弶S4熖譎 銥碣ペ恀留 N0^^f:7M鮡鹺-U薹 ^5Lr叇 c擴┙剮0.{鶢!#hl芐US槍曬6w<XcjT3e{f菂Ry崧磃cV梞O碣骲b叇= 膵觳珄黾埸H- \+w譿孠]]视V删&璚yi'uT昍BY@5)苔0軻炢[势杛nS9抄溳V螏曱辈95@剳$pl长蝥鹂唌鄢={Q俎曞4嘐9v1厉縷_彌W34劌伆80虆A.魊3!KM萗捵( eg 跾ek猯3U茀蚹殧6%冬望}hs芅諟迍iL钯灲鑜H瘆嬚餡颻虛#<豨e( {0炅' s觀F58竦(2 +j(:-昳 撀&塚崄鑓[,,餘lψ烅賸姻魠g_+齞酽暅<僞y 絋Z辫$慁)S{毯别,-譠6鹑F翙I餕肋 b{秅/j饙锰眔槹槻2HL*L$m暋1_}G覠V灀 *vJ61鲢缽a炶烅贋/La鏾吙躔B&G梤2瓡聿a\z匹Zb&L鼻莩={ Лo^僊d實庚"爻=鄢g`?)樈堀2IEND瓸`javapng-2.0/src/test/images/apng/iteration23.png0000644000175000017500000000065510646275012021533 0ustar paulliupaulliu塒NG  IHDR悜h6acTL 蔞FfcTLo $IDATx赾` 梹j聑F5蠨GN覡>)餝梚fcTL鬬%fdATx赾`0歩兦IH8r 歾5薙hfcTL(fdATx赾` 梹jⅣ衇猫j鼔偞BMG筄寧 fcTL9G'}毾IEND瓸`javapng-2.0/src/test/images/apng/blend-1a.png0000644000175000017500000001455710646275012020761 0ustar paulliupaulliu塒NG  IHDR璛疄acTL|蚮fcTL酣y盜DATx陧 痭H@|qfcTLV埽閒dATx陧軰屴U邱.簶&B衊X5钯諘,\`褼CR裝[j(h筜2#% d"&-CE洦@箶垁蠽n[[┐UL埮d|yH期栭帖繜o蜉B&3蠌<鐪9s@螜sl(0\n  鲄飬揝麿7> /?西[E,\1鹱鹱醡醬幞狴釖鹛)灂鼟鸹帊醟醽 O|%滅穾贑  8检槶3\% /唎厪勥?岑乑BqL~) no闏 橋Ez*<鼈 茐岬犷蜍.p(缫滅l9蝚s *菄肼访缏++ 裴,=o哤#䦅鐶0鎱c9(s孶鉦讼\;7滊瘖^卌4軚C栺鉦/团儣翺b68.3kr"|fG鼅螣va&85黃..颬0V跒.鬢莟17揶悲漆,+p飭逺8R8>- 籟8 煭珑掟杽q╬!梟 Y8Χ窋!!猎p練帺;驈鎶! =醹C2邩? _!!96針謼d9绅璙m9嘺誈鹸v) 蓯靤l蛘獧L軣,鸅*櫲}帴 >蒃会85w萕)o&钭栆蚿斊>⒇g詈糄B僣虺l<4)熃e#馞U諠p宖塌r泡.郵哯羌\莀0{闐揠錮b2杴E哣谨we5P暤7晴衘\1黜週刿怺騻跑?K竕k_8N太y靬稊}赑恔碀Df賥オkO8幧v+锢.諍V{,U純踌疅Ⅹ悋螃;貆 䅟|*oY篆; 乘d顎寷7/l恄宓 v饢棸U咍嗐^潵X;yhg解|=餀UY轕U島鋷|P6{k鼊j3 ;r覬6Z598`<=結dQ綜瓾涽dUYW@.'h筠甈晆dm鴢猬刉睮U5~G_V})纾疩淯负靽ㄊ3螲+墟=蟁o}贄Wc*墟]井* 返Wu氧伯L*酞淭B H騩s恓5/ {璪U2玐湎鯝 d碀鬸夹Nz}筗/V5^軤浄钻姝/ 遲飏ぞ|茐耲莒Da}山g覜 g译 蓈窔4钭,裰恥钆j塬軏Uo@句f牌}赝婖dn髳<樃浄類<鑦髌钾眍鋅飪4鍲飪慁9舔略噍銋﹙刣>瑏鹠齏 娶|朮顎猿^筸WHvz'}犠黮鱊zr懮,G Vvd$+\絎 Ii{xL髡蹂閙罩蝷掏WWr_濗鰢潇p[u<=ㄙ霡H视ku/fx问U70'捤vO鼃..T] 赏醥wO哣eb~*贽劷筣懴时p媺yw嘮镓櫛錊谯哣y麎嫯徫//U札悢N遟勪╪*够<铿z唃>R(烿V邨v! 蒆#甔]n 廢5扥娉 Br鑠\摥$ T损哾A嗕(3^80鮇%{嫋槓pV崂羢抔s饩d垪r6!菓V肥峦2瑉, >*(瀛扆Y,媷`2>;61韾敹';|荲槭齉慰磸`FC畨pwxS嚲&хy+W!z5y&(c8&鸗N膤5杏爺/犬|,磎擑刨2騴D邌]坿徙q7N=鵶Na A赦+W溇渟敋&髼缇N9灰- )$麱y#籍丟|N顺.w孀bC㘎哛&(髎P7^6W!0%dY^庽H-炄瘶'袏笿筫鹋|轨T邿{咚辈)y!赱F3+rI鰥己璁 藁筁;!Z?g)伺_蚥a嵌fkK 袖呦鳇24CU骙磮莔 9fcTL籎pW鋐dATx陧輂対U岂^鬮Aa灮z%^`褼%﹉-5 Z,!A(丐昲╤(`(X蛘蕠;`嵍Ri I]鹍檶-訖s位喵撶f󜓝霗阶趉=o衞;9$tYh]hK韫蓄衼衃¢_飫鰢鰟^=Z"粞蠦縏摧+CC鷈鑱蟹C7嚠 ]Z:o毼巷_>捅95艋小4O>Z鄺広M(4z4魲兴★嚠>妾ei産C=鶥鑮> 詁姄r(舴卸衜0腖 SV'BC? }劍宷Z瑕修茯Z1dSK+2蠙g瓬2譬 7B蟿且諜鼽=t]h虈圓cAhT羲KC;s󆓢c┇瞲餜鐲>\膛钍Uc]&络uD_宵i僲fc幊B肯戟c篔ロ尚oB媫铇1鎳&C 菅盪鉞*7C_89迵- {[槃蟄梔I鳱%a6K匪G盂[蕱k;揱9N綒庨'?蠆"亮婥鸅鲝H1S :揦9⺧mb捬9v2菍V挐r捬玍砣溍蛾蒗Xv)3蓤渟l駄誰髑{鏐杓A&鬁c吚?p9'筡ug ?朊膬赗篿幰x+跥!嘓hp鞓A~攳噿蚬$*êc帴俨綣p鳝 x彮V7瘫 滕v_5檚杰Ll笰瞥知鶸堉氥攒ZM鎭]啐硠浇鵙X虄育?@h9N搜<<?-鍊6旜洇l'拿)鸮,柃c帗矟鋃;瘁th登 +sㄠ炇辁檪y8'u茚瀷l|鯖銉9e]奉f梔偘n僉H覱謔恄鋁M;|]攉hs湌郢kc7潿Wl愊鍦Y邻湺龊钐7j砈'c贂嘨9]陔濬曺!鵊y萚z酬3葤|嘰6Cg屎 re>,@涀健諅.儸= 8wB7屎 睧U5粳 R頖(8谵y2阮#-@涀鐣z3葋)@涀晷k偛.2狝護 屎 rX`Vッ倰A圓 -晝詆慅猉説*V}鶅s恓t慂 餐Iz5禾Iz}筄/V5篎/V}鶈n辥碸7o} 砧n鰽3葒(現圮( cy釴z:诐魖M2e狪愫@壏^僱0玵]g.V蓨嶋a5赛衉!嶉靆媺偌U涗A虞護悑覙6{,蘭瘆^榡嘔6胨壕=Y捪 茚]恴+讽2蒼铯u滔攚役e愃%隒S筳p睜k桝乞铰5x囡侅觷誑摂秶G馌当黥6Zi慁陝@>邃箭&鵯hgnutN^Ps0摂 昃fxF濯Y湁*佪},撕WwL蛲谐偦/[珤樳*ê棸椈"w9i<碷b掭?潔蘘錌禫6丧9犽'B/:衴摂N擐樹&曑觷#搹鍝F郦嶚N2B&-脈Lp軍-丸欎鵯7f+"2&Y&筗;l玭aL_I秅o裷 yo胬9捎櫢/酭=rU薅&杕账絉.s郵孯9樍瞝採俌m&C{C穟h59'飐礻u錴翥袃’唍 ]򒣠t ]~U鑶4侵婿携CG<暹鵛鑄縮詎%∩衏?哵 }3t1 0_璈s<鷎柩效Co-P)N藭忉袩C;Bw 1LY憺 }/鬉M悻型↓瑰鵍h|圈8炂3蠙g潨2茩∽B蠁怯5欦%>4b茍$7懝E1諺n專U~de焘" e庡≥筫檒1幹誝檚fks谵餅F+ㄍN崯媢dOZ 枣tY縶5GU!o柰 蓑rA诩~z瘶 W磞Z#&2绕袃偝 }-t 埕_UO胨 鍉鬗偝 焽&冹;磞}J┓>恃磞E傓{EL謊#ΦW5楮M1Y桝z*跄$01H 9H5Z.┫ U豹*U 騕 砧" d嚀鬸t箵酊 r縙琷t漗 駿菁説搡 鰽=顑詆愾窺X峷窺X烝乞,臐鬴w译5纱&嶋J减d摴X峩焦X涿&+6瓽LV 婤拠4-&f笾l拠LwoLW氼^緼.>Hc陉}慂 8穀v:鄥﹙榙雜赾恊,崩ゞ紃.撿鮊鶳屈L{'絔笲>4暙棃箆d,+\+絎4生衏倄犣zm4娶|uuR Dur迆搢<;倆醫^^Ps0摂6甜U7 4烧{A魜,.[1蓷B? 驳*夰韇獅 {+r 煑&B;%孑輏偃淯.そfk誱揬栍O >9}(鬊緾]7I轸}欼NjR山1*鵋)Q>%鴊淡跍/$#d挶2芟'琗:]虒濱迲&0杀蛁S稈,+%i掻矗蛾V胬虝dg瓟{.胬󚹗櫢酭罱r湪篣薅&杕誎齊.s嗄F)o蝋Y1渗D瀽;默MR赗 =厌[+i翜禱S↓;:礆湕9鲷籸5b捎耿Lt鄽鞊檲[5盃F)+染|,磎I鼕ly%穼nb`郛2釶桉|蚋鎵噆睸郂禨奞2堄3G)櫩6蟯C輸n褱Y挝掟1z4饒瞎y族頫-朵蟚+卝尣8鼹噱鄎 SZBV錺糋3坟灚'袏\櫩1魘>峔N沢_葕X9敿-擞k${].'嶗z杋镖B□9K)_樍軒硎謻b犧 綑t 逳S眉!齵@3,IEND瓸`javapng-2.0/src/test/images/apng/012-dispose-background.png0000644000175000017500000000515510646275012023453 0ustar paulliupaulliu塒NG  IHDR璛疄bKGD牻acTL雾豪fcTL磂踻lIDATx滍9╘U鹂艱將$竒i詧FA攬"∕ S(b+谫h!ⅷ峛cALc 璕淖椄$聘f!A螈磐@9檡o竟賬?竿卫鵩罴s甾蝘珲8謧$w%Y梔M掚,92=I~H2揹S捦Iqnp蔦掍$?'鵲蘡W扺5湹%贋泺cG扜{5羿$2嚀荚筌a獮箱峲b︿$砳//<揹u捙I.J2蓡$_滀'yㄇ鍠e|挧侨x*蛇崒軮(5翡 _捾3嚋;掛md絎8_柰$3|Q?7徏鯈珻In,/絷 _衉e挓52邭t残Ivf鴅~p傑祶?揬8A.鬸]/鋙2,[購O #漘旙H>1輇災艶;g寵 椏 {M#{{A6L輊ikwa5聘(啰8藕璔邭篕址蘱l(Q 򊄭伲瞆cC墛Y穴o+曊JT4 嶛伲察3U 布Q {`菃 ry ̄{A隼sJT4纫F}oA雳豍ⅱA7犒 睪e-LwLEE兇6d彄胆p8FE僜楔髡 U货p倞檓+O}N朥賵p寠i]NR搡擩 莵cT4攘F锦鍈>.n詆)猦惪鮇 睪e灯 仪&^k浚56敤h愔%% NP 7曜d\=潜E億专*X莰[8湢緉詏*曊NWf坯︻);c,蕠┶栣 傡諐靅轺r渻75d2>箱鬈俕<栣矧[ 77沧dC/ホ稅譔恵K#s簢兟沩 _虩N9竨轳菄Ni?大墆漭呷:滀鎮鵅镛O鹮sY垣引梛XV雈謕诨*]3 [乜&筼寣;擖匀縻 鱠/盍檠情N煄䦛氢tO驱('B8呌瞢i/蛄1涱挥r赳f鯇^翥锬9g 閪7咂貤滟辡 =Z栦輙泏6屏$rN>O[&y8?$.蓲#s負3楫膪$蓣R 韦]fcTL/1籪dATx滍1J$Q呇珮)倱80瓵酁\胠a0k研p&r& 妟涣禴@袮耔>篲%鸸m$蓂捰$?8'奢|惆 慁免8Ir癲蛜捽瀷W鞂鄫跰r炵A6萗掻5{s蝑{吧匑汽椾o拫褍饞M'笿ry曠O F鶗闂<樱趀l摇葐丅 P 丂!(匑丅 P 丂!(匑丅 P 丂!(匑丅 P 丂!(匑^6彌w昔"漊襟粁bk吣7:甫k/丅 繥{詏.畹鬊DfcTL聙釧]fdATx滍軴ēc邱 F鉕# J?I,砥諶陕Jl&%1洷濨J蔉北0cA !Y0臽3'5M鐫烫=鞴|贻紆掮w挈:鞴蟬薹昸蓁)梀wT7V7T譛梂洬嵳彡Pu苞[}X}3",,邡戤陞険觑昴Y{諉鍗媞k但+脑駏u2X坵Z赽渱珵婶U霯 騥鮟u ^髍J*u簜黅絉=襩瞺)T輄絏齰氹湪v,鴠繠淶?玏歁.缺甓%K 虽邆n6_豶幾{洪掛9莐貌{硓R佥tIn^聁`6.鄽洓- +瘸 V濈沖F唫曗铈溧繪癰\亵<潼伖`E匦tA.Z膧g?i碓E艙務溱夡?7)间務錇夡_,j@a5yx恻V爗硳s5+M{<40 wS?げ摋5mS鮑笏馱uh0助戥磟r\4og渝x7K琣5]庯+艵儽禬菦_巁猰恽罼TG沖庍s8职;洉`^9嶸帇c菀(笫q奸=X鹂翻:恤裶裛琸M椼﹒裛誻M梒绺h0謻晁λ眥\4霋暧λ駔V蒠6U5]幏)吱嵳{M梒O嫻e)瑇4鹶*蔷赈a閌狊7.晴蜑t k魏辚λ駇u瞻t0禺λ笨簔\4kG渝8恗氍a7]幟6' K"ou:礌q.凟81h%<[覈覲8 e腇pV廻JIEND瓸`javapng-2.0/src/test/images/apng/toucan-pallete-2frame.png0000644000175000017500000006063110646275012023457 0ustar paulliupaulliu塒NG  IHDR罁gAMA啝1钖_PLTE   Qw<..?S#  k 饖 ┶'zEl?=a$>QE!鯗赅2;+1:N鄳厭1 2 眴  5H渮63;\:acTL髰損fcTL 2 IDATx滍| 8詋薫,厜3s' G宮^K #6萒+Z.椚盷 YJ檙 J?詇9JTW9赨蝭{哌}:c孥穥>蟷呦=髯瞖侟崕ZPzz\熞眅_拿蓋瓼k#h芋Y2/mZ禠c銛匚鹞Y*媹尛餣?銩I烒5Ⅺ&讨6~.閣Xzc&VcfS阼|懛W槲8"S鸃4昧羇!2蟲聝哘5惨榨靗②9:'嗵庞=h7榡妏m譢援8镣8<桭p#圦矔"ry6W膭o葹猱d烵Z&磤L'葳p鲠舷!(2oAd?$W,閠z[袍玶R"BUk豯茻鬫笋脬湱^髮Vqk 0l~G}'痢Z~b磫彴p砻鰯 >,#.W7k+貣p0魆媛 x絛炏`'铐快丘0銎zfS坿7檗= S 蔑76闬U8痙贱邃摝'啖婺--,桍X微V逋O 罞s os1*/[つq薅窪ak鱣/7 頴.[&>o嚗黯D<蟝Qv>}篚捇L^ M挖贮芞勨E鋿e冨壪顇蠁鉪9~翳5v毽宪凚P譞ZZX1俪卿B壟o塥▁漓挧眾{6玑栔愳勻褬酳|t┲/媄U哾=┪&o鴕|呝尯鏙a峤臦9塯o禐 t瑉g餮{).峯@笄4V瘩j~\^ご劏爓 N欃4r鵿) 囑兀r偾D&籡虁2)悌)m6痯U疸褴吖搕岾麈4i櫔裋V篔䲢~臾0M.IG唴V嫁岧8次@ {=4溛剆LY]潣鹞m蠆7桀KN6齑 暁縮倓浝捇窀8伱Q崏帵緵<咃蠂vD娍偷駝Xc?NK刳 l];#'鼭hd庙w諪>{&,|_蝑PT拜/捐璴TPZ滧谦8轙4Ev+斀?屎7颿=娫<溮R!礚"n$Kjw盍膁*褟 狡,"别N][擐●瘢,(溫限faJ荡竳}墧鴓[鸡`4z%矢臦肐+矹康.隗5J坥鹈湀垐涑憩耘$彯ST鬨絶 實9/(鳳誦;紷Qc潙 丂犘)祤時/鹶Pcf旺5鲹冔Yw 备e嗽吞輨艅n铎<茧吿绅舩FC冿掇2"3'稽蕯路甩乭 宊\OC胠zI挝-v7g_腢匲g式8AZFX&]96禸琈OM9/#)."蚓譸侨筀富篪僣c3|醪2娚]F鋇翱煳ez鐝丸i遣鐬/"g 嗙J窣 喽笸Е⑺灊劲叭嵁 綔n?琷虜6養9架萼[涝濛螎M%w/枿窥財倍*?0槔0=)a:铣补rC匨6e箔泻訩擬r;VF' z蘄夬芔 觕醡洓/5JrNZ籨-捤. =$須麩uha贍g舧/ 7Ln赟:/巘Qg簭偾d殻⒀!锖朁野i$%l罶瞦d<<良x僁R`#7婍l┵^賘桾.% SL#非 C纈夅Hb "9b鱫m弿s|馰455⒊"AXxg蠍l#0[vP癡!┘皩77v悤艅e璹篙Q踨蠬4b髅?q獠劖k搃铟7%l瓺q夭镻"遽Z脞4撻+СL|M缼.n 鹔n幨凫杮gC唑;*饭牻E)'〖乐=佑5;Z跭Dャ漬廌54q籩BSJKv -婳愪霉と弉臀;]憸;"S*隟羸" _疠"r懸嬵喛榭D泴朏(印廤*薝G痆審[餭a盝)獵烖Kq-稜SS#薝Gv鉌眅(7 鏵菼婠?Y灋跂+舣_W1(招彬f篯篆4@镣]G蝼剟啣~擡~拞分yN乨u嵑3u8i.mtt酎ㄥ6@蠆锝|/钩蒼鷓夵 <乗锩譙鲏1]e1廐娘緐+r+$斒?帳锵49(c墮OBQ}P胠l啳鴿岲8Q盐串鰶旾)- 宸3 冲枤J跕d(诪Q醩i蚞璿礴|G:LYj鈋纠篾桶"_c呝姸>婋麫l*畭妶豨槗溫Yt6';唛G⿸烸-岐'鳹E紸 H|竞"噈%,惑W9釢[煳4檥z啎挼鉇散师灰.僕Q)鵋6搅 3崓照= (/騇B>xT摋$#'-%%)%)报E D!Q鵵窅圱nUV誀崣A﨤跢緩駉北Ya袤U菞拝~L)(Y66z>阭恌6Z]K√'m蟏=Op<%\/geej鍙グ砖足翻3[cN'6bKz茹孍S轵吽hd睙畂v偬天倣斺:5S濻惔担裩晤鉁f绔6zy艐蒫: D}?X+ 藆jS ]%%蟢r逸纮 R/嘽kO鉎 剥V竎哂H=甖X醾Τ*c琺=ca猎e鑪90l哆%奯焹札')C"ⅵ蛸柜 z涧/1潂 8@ Q:陪嵠橷鰭懷1%嘖V岰祲]嘑|晹唵巑V茵$雐峭困w颏哒YW囇"鲪zzzTi6 ZZZ...7N2貆 齇恮燹鲵冤 ?* 酃串]]蚲7噰4Z(J"贉0伔'趸h龏'鮟 4刱鲛 裭 軐不儕}櫆伒谨2闠Ng気∈鏤╋npM9畕郬鍱睳恐5棖*嶥"h堇b◢ EU(RL l瞑腫> q0均煜境Y忩R潳胚$s倠缪韆O嚅x娿N 塹I$dj燿e儶6:] 娳![FZ.:rd爧仂q6j7榐'W膥=f罊+庩魫I唰; 匑诐椊刊伽b憪 嬎 }GW稼墎kpX壔骒&l?戣24%7jK鄮宰鸉H\)肐zg#狎!?黎櫘亖倁袉溛刮dZ斸\e浢秪栜4LP焢蒐V{;衑Pm髭籕浕nVv靜藈ぉlzhwm瑶魄K 厤F廅;黇Q廧^>>臼忤uP依^丏齟渘T姂姪 ╣巀QRc 8($礗\湎o疳蕑唺╅|蓇朶 %梉t旞燇A脿啞z甗ni XZQ躕幊&{4I:s阚賸帕OR d徰瀎鶪>茝Z紫NiMTqv尉x)/綿枖Q<-ЕN觌2哬&7N%&飲/9(PRh堤捇埈褳裇濼u5柋啎?嵕 昅N鈂硂RK顥#ka浕(4(l(S)者鶍敩许5貹]5鈁>帜|纾垎 [n馘O泟安< +┪,峸抁軔妟cc鮊片鵱覕z^vo瘵挠牸e胗-廗2#!幈蠘欃 _軬駫琟瓋><黃.籿逤伆茙 藡旡7┴禕CcF]]延i%励*9qsggg衍俅[璆|熐誨|>8雒雡鈽櫰 涪柏|J宽^垣圫 撁7w瀖jnm縔Ywm奙鍏w>乔^6倞|嵃3栀(癢聛7w韏澀逹&軺d!u6 3睲輌}6灲;雉v邲永S8挚H 峽湻杵苝?xX 墛媼z兜 &缞6=艂俋Y爾⒋麫晴)-O*耟#X息r$簹僕[b5繮B.襂隗x蹔cc3c|緩O绶剽}[嶭'辈*n棪f8擅斾鈔讌楇畃0t蔿9胭宷l盘L洖簭'眽瓡)諈貼rR猗"倱!弋谂鯕埜嵧e!!q;);<争+4f6蝓谠莟桰\<劥嬣D锓"黯Kz疖1|戈嶞=熻NYl贛V豨斛駡攊5l\]]{]{oD髲 维馗q:=韨瞂65!0ツi汬wW^n耍_顄轞\欷庪Б隳茊栧K糌3氽A蹐"=W5洐yNMi菙暮't刦J/)Nc0 咷&_<8l6=:3硊镑藺s唊[q迤榨琜蠮q&捆豂13毳1[7骞~緱b晏牗厀巶ll?3@鱖媋2O` ,瘑UOM-p孎) W薅扼vx梯}7糆9: 竆凶縧漓競與 W饥![mmKJ7 %%皮亽弆@&cx藦鹒Q购墯藱\▔eb簱sf昀x40c(2旡&冕乇I票郸T啳ǜ腉[qb茾鉷4欸徫誧MMΚ**Z麁1X哎薤忞佬U闟并胞8悙埉rd|n短签jt,弳冗鉎=$翵Κ濯倶lU臲椛t`88;邿#U楆缜詄3浃錝藷m)蓗M猩t⑺慔ゃI<簵+梱q嫢bu璗,拣 喛儠秨йGa⿹*秝*J=7 糦蓏旕辬庋u鷔xg赨徲壀 匽pI废t怾 J 臍{9sMM繉殮N䙡鳭琴閟蚆i)愤隝压U糰G嚨qpo4馂oIi]瘢0鼧_U+嚒+u暾嗏q鬀 膯渫M鏐罗7`膲.ZW{zH$ }5({-r$R排6荑;bXx巃N赓鍯!彍掊‥鹿pq:*w庳综#憐/^$負6"恥H士柌謠氛F&''飐[{oC+灭篃蜯矛镙Up孑麀E梍qW.﹜8b饔O瑠\y捱44螜3锺,化a/N@9N(凕 !郒A#噭w'w櫞9IK>蔎,_$b慧鈔郞鬫难0d{``覉愬0CA#PT彷ΤD厔D%2+睟灋?鲭4WW跄膧冄!崛Z蠺=$"乔U斗W匹傳釸叀乮唚嫞娢眓K}櫍d鼡蜍虋q5N獍峓玛t魛a#*覲熅%9'裰蛿/s\&*鉒')乖鄯噴V綘砑馥┷撘歸輙|惡勽YD)>U^BDTRFf緕暽{\U笪莎坱^\垑塩蕮褽芡",%@q浿镑+$.摑鷁$*W訾*,3[zi楦袊P塞嶦灎:蒆龝f詋媤*豢閛鷽熒vh芤热栽擝$_6 QUV璟5$繰)(&[KG吶鎖"T1テ破r8豅o来4\,.G廭 贍"憟摏>V覑匔臨(T`sΖ**傮 (H`8tn厛F!@箚珻晳i嫧6嗷 兪 仸=鵮]凱m3崓祩a啲y'圯翵n梻蘓帱3⒌A漖`9cΟyT 0q\o暕靠雽悻闪缿轫鞧iOO9M払X);刄f黐关'i? 忔LM}魂 }}-芃4 ?5馦冯J笗vz薥衙噳aQ褨觟蚞vM泟巤\/魽q恥[=,强k閩7 T6d9V6)瀕醪鲛交钶瓖妟/'<斌lZ碀o囔23$.企a]储ⅶ)炾陓3栐豳帥'=pN踥t需鑘q褫{/`萪Nr8< 頹?dR(/C鶲貇8埡璠賁妸>?+WO^sX8碒#j,70R鄀墻P/Pt瓠8- 擼Zq;娧崈@+足o渋汶}砵鮱}5'&#偙Z匘终!懕鹎VD]] W佴C{*MLLfg焼X9/菙qO7攇蔋I,駱l蓜`{裸3 x ,8悷㈢z+7圡l~f@{:滶[4JK nnU0O?2峄>尖 B殭聩=?掭綮钏Wp P2狆餻x$]4w)惉鄶6長蕩獨?q~!)搲\ -B 毩欘稒躲bz适醳蝫>膍蠆^鹪>Cx,BMpB匂9bt揀媟4 豛"蔛8J悊賆[敚彚1%+_銉皆坏(\裘"o5o斁7G;鰳$= 9肑 myT灮T<RMe騽+iH頓侨S`+j磇 毩恝16懂MjA賝盩嗷2"'! 欧Zw亂C苄!跸Y嘢`猻'n;p:厱T棪:-U6瓺 硗6 涙駢圞HIKKKJ坽羘荲l鋙許.g=刎晎罺蜪躵葉#t<:帛*a~an||jvF$$'''y攻'd.t"褧 蒫 Lo疈虰因俟ゥ叐N胟忬菭鹄 嫣贫岪娎s[)QL_%5筜槿屎辰釷C悸腮)8r*!...,夔愰魚b/J僸縷Y0 ".頂[AKKUb u T逼 8鞍bp寑猚8渹藏奫诋洺;徦佔搰C 与i儱A$9虚t+軻\b容涀垭 0荬祆l@8;+玬鮿瀦p"痬1~沕侾<囜8盄郏  }|N渳錓U:慛繾6e(搖lz]m7港馗筌ay玭齰嗭鰐蹔北罙[6恶伄鵿斤謐+(鄍 芠G窋|眙-咹$N鉹fIDAT粨7) .豯r 鄐梴6頙T螐k鮻_坂厍烫唐uЕ宑世灐@9%&鯋箔2cC0晉迊絼 .侗袹蚠M蟙鶼"嶚|蓂未m\7砃c#8蛦i'>棎铇UU5SAW啊壆.赘J<踏+厦"軺S伂#Ca紭j⺄+t]導 距1 虣袎绻0a僃s合譌刼橼咖^YyH~孀攝P 懊^樲m⑦U\0翛l忹鮛裇妟痔:筹豇|^銢訝攣M3S屿t搨聊湛?犓/_瘀R[k?﹕衶A溴 66< 1耵\镭x闿抑啌 H勿铥C?刳^uV竮跏i掟l 棒䦃挆棁侂绪 9銲<誉 癵4檷鼒骼b皒蚶涚呣 侖逢覷RRr8姘躟9W椓泷剧茾尜蝱闙独I,珩/煖渢0$ 4 鋩7o9掀3┧眍&竈X輫舃諛 鈥&(汋5W骮+(!B剘吼&冡犱嗬衑8L?JL@糏朑尜饢O nL2 莸搨/鱵\\0D+馉醤啾0镩!/2t  詔緌C曛喥gkV\Xf短'煃鮬怘7 t-鴾 xq△蠬4抗伀*愙彟G-W╝碧>+娍縚僆eX橺xxx0窴}%73b9O7汾俚,6师毊=i濓葹愇嗩汋釲覟遶;怸鶱喜r?呇c鈿齽獓=濐M聐xx醦骀骧F4鹘嫻唄恪p闫1揸語 YY1)`圁1(V汉崡.#(pu诸爂弹嗄kx浮岍 nL+其/M?w俚僒wd鋐撅懼姒刮蜎;氟V智暷藎" u秽8:O\4$抈囦刘!髺+xk璃魛L,皣-og5+]哯脢m錱請斲婏nT麹0.79 @ @sE脫A 緔胲碿桡R垜>袕3h┾q:=42鴕M楊8廮跣" n#G崏 爴h偀鲻噍-o.毉婤 袀V,崕}]m罿fo旋m排倿S垣W`y {d 喂存嘱C覫@訁熞衾 5k]勉i葺譼'.瘚@X 5<┣[k|#忕r刮8 N镅h:鲻o丅"PtL >廪鹥"3 rKL􂓉y镛 Q疦癀帘飪硯螦裐RjK搫菣眠=幄吤{豞$\匙8A讱告r1犙邷恡糤k]馺鄒u睂>,粼~(8!溏請B凷R敽:1蔤锝_/艰t庐tP尢O稫H涆渓)Z`=OYUa5稫#e>関碩9ls慒鹬慢趫组'惿:鸧&<栽亐&饃pB4=AK藔壍陋a)V6匓墘 qA垐瓬!蝨最K軖獧)狋毰r4 躱鱏Zí=鴶剹稰F|αC鈟q{簈=嶋4I 4麐X< 誠-罍塮O槝X (oF前藧H*尫藁恁a 弡T^ J快臧怼稀9邹凵g硎-黕栂腀gw5跅9楇裺擅銂圧G鐨7\咼傆`p!竫脃5Hnhc^#D9[胛婣!迧HL;2V! -q IPP栔T膃=w5┈勏薟暻綜8^窔嚸鉛i'N-韗蜖盦墝眖2鱋娣羪揊&$峱38l6 禕驯H螑办铥蝶:涽畓麡倫埁笖Ld|fCU\謰缦Y)wA$wWW礔5*钧80牴躆 爼x警HCUXh萑x褄Hd:n醕#苄厘H8龍趈*x~?忉璽撁y颪顏@樺aU踇禬4d.E姶w扤父hjjr瓍臹揫#柱Zw7 肮鲋筿I$偨犛4u2驚雅O踰苑Tg| & L i鶎技臆%昦沨:6!2艵塌u縫亞U4/灮嶒偝+庬^豝C9oxe旭颒红4;傐%Ж+?)隥崆觿P鍜0Y貟礐=W髝kZ7<汤耚銈虁熊 x钏eew罗 鸷狃he擣!顣徭砨hx鑶@bsP}P墽弔郧/:4呦Zr夏L 6Iss至h.LJ聉\1 _n4gw鱍髻薙峥4吆晇篽s8t 9h?鋯 6淉#8V环%6抬B餆!) kO{Z+O$橜qmDr"_sb4 Fe軑2苘颡] 焻煢M苄lb+P3A暤z暭ヵ嬗邪芘G$xIЪ曢iw象郌:谨*(xW:@尺吾7猴H  f荂B掄櫄.x3 /nB翈Y\R奬 櫬GY雏 k窛w藿;T.邘SRX!C<\W赲"贬E另丱哔=祹缿! ]`莚@AL T濖5T=鸒鸽txD磔饣#N&锡苻ZUR]􀆱?c樲u(1背56錋If^f !O:支靾FYV钵#頼踜m v孈諑_G誃"扤)躇][A9?+坼[蒵┥崝Q!l{奵9Wt9}象栻T'鶎荜q 護+ {愬x$磲沮m{wZ锞7bsZ{求彎鉥(.漖萋|."岞#&b*踱襈5踎樹圯jJkn筍*/宨y斟 烰烁S0焦('闥><羅裵Ь蜴#昈隮юW_:/O匽.胤腿琂I lo韏蹴8!(鄦 ci蝽,擙 s蒕袍傤?冮喂J謸/>P1奐9鍏韅9&叞B焺晹<毬be=蔦86稤fVd9v蝓檥苯z醂]鑶鐩 磂軂欹鮰饩Q疈守颠渑冔_2(ぜwBwlT殇擰X蒺7沣喧$怚艆乑忝%".欦d{0佗褂突蝼 鹍Y颛vi4>煸 疳5{皩纫;BC飥Z胕塉6谋:騺配兟銵嘱喴?'0娂6n:LI$$%%奚亓-R2賲櫿震4yQ羳暿e5<My!8y 硬厾啵沷积?(X嚋寣溤菑v骄CTR)0/=gG蔏K.-漎:/ 熕Q驐6}涌閛鷽{虯蜜#vfcTLC~} fdATx滍\wT撡稐杽$"2$@丄-"悇唻"U聮笖舃( (燞ebj皩(奭約9 朡f`钐7[驺塔~g焳鲑戆b棚-▁藫j確\揕)墛*笹3滫'We耞浹0H斸各'W%3%飾 衆 榼竄^uQ蒍逭C迴縷狋=嶢嚓M炘亸毗6b:e蘖!z憠"抐帶TT橍)S鼳匞^渘u篸植O砊譨歌 ?苡(q$J=@濖臖某2訷,l/2N奓p謭"腣^堿>>g棦簘牡儖渧闘瓇js涿諅魌轭檠鄶弍纒k$配'$8W頧z=5*5)啼歆驪d廎m篑b謑眞忖蔤/:gG創虹Z貜繅垙黧慁0+&c6 D*Vx4笤$摡霞2uK瀄 =葮&M䴓'4pd-<>槐$鼅8%}栁蚹兟墪糚%擭CIQゐ紘!ynl硣嵏鰛消噰o螫?畓M鬯,閲䦂蛾顝A,X!+.覃 纽橽4岄攼琉 k鼋疑攨縃梒虚 GG&K_堑b]ePz馮/Nc醽蠋^趟4钸\Z簁扛8齩}堞3q嫣鄝'q瘕h騏]囲潪晠gF貶abc銈傂:x 婫窮e皎xqG$" 幇滹竓鋇q"轋| 呙拻荫茵睚B䲡'百柩鵦葺欺y+エ/季3韶4)uM顡顠魟钿Q木`檥/95矷RLl卍Up橖 D轂焓2_ -ZV腀B]麄9眯蘈疁碶k鮗w!(4梸邃K+3&鬣覒}砤4K姥j#9茶嶒酖3罃EH>逫…5湶⒀筄釧u雦柴榠<虳挽隡g晻Mw.鲣茌9o傝8Z哈l帏覆"7试綖>qb杀愆@ツ5g:a)絞v闯;d>駺太锬舏失屯驱喁盁qL,x蠺諙軝a-炿住5! 鯩/䦅糘yB!)瓙[浿像朱钻肛,fТby艞$朡刘虒 :4鳻綥甙項+H>-))0pF牘匰断薔u丙n輑ptЪ7槼=壞羕緗歆4CF7暺0焙镹檍鄻嶺謌瘕峛}玉#嬞^G靉]荸I#C2K磺懤襘孌n蹫JE6+@麪{舝△怒U_訃w嬇@圣捣\歶 l琫~nkmu秵%w+檱'1 7:嚩&G换刽誧q)t笙竨Dh課滚ゐ<f2己52f鴟a袼qH 鐈幼:1秀袤蕤IJ鐕u 瘂灢惚8:.6柇迄蓙B!0緓翾 檽-#&Y9'幤膓F)U<吺竩.霄脥 e 蠷e>诺Ц'2|荪)o\癑/?苵廇&椶巠稭|稲\\:ˋ鵿摽Cs恔诜g豞,3J嵸+鯃v7^蘆6湒2礐e0;("愠$獟v鞰龃滌|RI鳑倐Sc幗桚湣恬抦鯀U妷橛/8Kぇ#澣瑨F俅鹹;濉晬v*揦釡P暉& +Y濬 -z襲襄y 拍E谈劕斥聅 |宁+n薩i薠|萏哪氖 |苄($嘋3辈Hh踪挹r褙鋈T纰夼添 -%厍昈 f刺索燍邆圥,x烐ρ)匱=}峡除掍o_斺4&?癆k櫅kuh肄;峮嬳XJ ddeed澇宜乕悙2}b莵银r傫欛裾;N{9G+@[v粡 C" 放/怈*4鉷8leA帏屩鴍仸符灤噓1抖壽n 醆淒g荳pu 6疄陿<-埥坨昼骀f{诞彙鷚*櫩,哰洳没"葶q纼67熼hj鯢裶8砯崼}揦O88[蹚o敂寯2Kb侗1q氯h擏訤s縈>sH7疄楸蔸曐 @W鹏诈S珜鳻*請7R1殑^ 螽术8]嗪鐽> 曲躎2b笡=,唵W]鮘~罦BZ>7?1ZU_B HE_熒扃舫i**鶯G^聊*諸佐皀,Z]潵璵K<U摿楞1L|:j1D殖瓣{沥 鲜毆讴 廙襮GG;d膁|,宅鮭t.ny.嬬f脬脓既d驙+賸牾)GI艌蠯-跾#K2 籟[~ p熞惋闻<偑=+坤茉tuu昭5j鰌磁z{{)緝曜x焜簞|mx属髴骑b6蟤p?悮歫U縦 XREC5爯头膋z)<≠艞7qj偋粢s荔\漘圦F>+慨璹>淝萩-隽场·袯癟罀枈k垗嶅`Nn>毽蝝<臖般yM鬚萲x贱м鮽0+已閿済艎rrmゎ砸锬嘠`噒棐扲潃稪M\忱蓊aP>x 灺瘌Bu姷m9/j砫% )O;xln8拲A($ q2 O衙b R钰g詙废=.ee_缃'鎀橔&嵙4 9k^矸睜诘砘曗綯# 羃d鉵摰絰nT嘐\煊╒:?帢m胔鲼撸P芙!娠b軗K鎿享泼囻j6h7ツ(彷za 抰!%锊鶠苀锬`Bыh阬1灈S錙秜窎Da-迁寎/滜鬵p*O$?趉凔i寖苿噿獫r獨赗霮R%駠w?y3歛\_弘qijwJ剛勊墈偭樋{担鐼DvYUUe簻lzBW肱む春hY亵6R纭铑寬!玲壱K峐L鯝廿挊褿玲挪ii堲勱挝陝D`5疭鞔逄Wд-橵揘鈚5)3ew鷞?l璧釐a/ C噼?x惍 霚/\隕X"鋜#j^D+|r穭宻z鳖Ex﹌R{wk苵d 魲@4|y斺惞朧囼29AV8砘wPH伺抍菐=i\/)`殐榏3雒噡游I趣?KK欥?%ф垔姪/咇&e坑Wk ?h鋙茥r5iN樟E楈菹竫,92/*鎚) 5oW蠝丙R嫞lz贀=9ia^螔嶡艻;嶦娼泏 ek6GYS 袀4d $-鈕 Y0躐兼IB鴽匈#'韤摮喢=毵岗躙k\K覢亐幵 >睭 叟XJJ巳嗜stn~A莩'崆CIEI蒾i  胎 t(F+蔅讽啋P擽繏]憚剟$養邃 B嬑觟 [Y`醒眤\k貘竊撦T(X簯UW瑺鬗黇锯{癈儒F潖忕設1#氀𱨽剘憮S/+!謘兪#蕉.挙\y⿶譬郪L亂闃熹=T-r} |,恔Q拹瓦澮9OEW繨G`郘$M?d$7[[*祻_XN&嶽&裆宋y:l藓S3併佮蠢o葲胘y剞0w8w請'-#"難h鎺▁+7v Nkjjnd觩A謋种xW~^咃圵糖/乾効Yt+LRX寵R6777氼雌;塂煺 " 饲b}嬺谺uxc霒Kk^閊`wcuE铹蹑暓俵L姽∽橧eS)7彖f:ig鱳%J#癕u 0KW【 `*辊魀&4斎nX膦 v)GP #徤I#S臦E熒 牂陫@ 侩疪洪兓`H>胮t34:Hv欲,!q痔屔qr驍#3紭緲眐uu隑N敝捝L警稧軭熷⑩E摂婲滔U4摂 x廄措l6託殍O詆YZ崎N闅隁!Y.赪塂湈[/咇)紆8堼GI鶄= 逖 r[疀裏4L愼黛敫 *L}}系柾8kZ,[]島幅鎁[喌6烞囿}郊<鎚猝! 箓/冿u教y裈眥拴醓昮眩萆趺椭3=O櫂桦_皃+&n 疓︵皲A2僬<爓暧橝d紿RXDrrJ賥跃屐uz鋸--圻=f+嵵J邔uW熅唊峴Yk壹暊N鎋肦-椒< z O(S>}$2r诸骂寉;鏄s甾?0(碂<`}譝敀襋篕暗`孴/U媜V鈣R-=(c阍仍涺痮~TZ0m".卛hh鳪;窝E{舛k劷窋t\z螠6瑾G凌裇%漗蠛}票約1o珈pQy┅bJ穳捥46u_囒D鈓奱‘DP?楦PD 戋諫R8"!礤ha藇銟藩髹 籆J蜿9bh边  紫雝:瀆絻^z矾(x^鸖uD9<藱徕鋈冋N/紵s隦(Zl, 岶s氶8躚"厒W遵 螺校^c4貎粪|勹=)Gh鳢~郴.㈨upR洌解R梬 觙眖u 洠鳴饂o]贸=T*G槧怦諰B6Hst春16WAN>烽M褞榤+0\寪!籝 慉○'x鵁|貘DOx,⺳幚^准qr K(KT@H圛H珙囫J)蓭1荪坸 "腚胹=覭噌涶X婨0>螴埲$獺瓈沐 嶠厔7 礧o 黅袄鮨O$us恷茋uWc衯孻" 笲/鰁Dm[蓡~钕葕f洉饷腲巷 ^`培>Q气"q鞆s柍鈣骪裭L$p~l ?渴菝6~0Y(e388xF冟蛛9G!嶘愡撋~擓tn飁$肍0k6镡1逓;骿颙崓ㄆ鋂.-4;$!癫=鯐 ( Y耧鰕F瓯鵦y浄(榭9丷緗迚瓋/镍9!r籂裭6g'S蜚鳄${麗1彿yL2騌?,'.颞K胚b2iK犄c8`Uc歡h?豒}瘂{蹋z黔葺#敕亖{'w唀梻(t閣#4 hO楱閡坞"<絠4=K*0.輔c砤頸fZ勾抟僴儍秖棕J嬬尲櫗 K坸6y轣砧釈=出?緵{鮴W蘾Qx>b┌诳客稑鶅铎氿鞍嘙壒昽黐瀎|鵓5?1⒀縠;t泽B庫蝂2)L]G杶拂Qd7╉羶垰坮EY铺枛)O婂e潆聨阯蓠t揶㊣~ 3X偲祸飱:?汅蕾9=1ZNRR,3葹bY I吅7覩,檿攲~R輾7*骈壭gii勀 1购疲鯡峞L:9%89槿脇鳎鞙暄榅-覸朹<韚x菀蔛櫠/郴0皅DD夜Uo.>/哖,-w枙Kl猨J擼: Ⅶ=岪e"?0则g5e孤艹劥偧BBR6+1WAr蒥 琰淑O猨>: ∫E樑刬c`檈e耸僪IN1赮檌p蟠pM怏|舣簏+{鼸裚酐i损3:漟ff每窄_-胻4+X]Y籿惍 擗袽x%鐝阑BX'>>瀗1B`"侻i'-绽畼X冽穪 搰["Q#饄≤` 瀽N翭<++p@絪菕ff踹歿1樧攽U?蒃6?乥4 隟BP缕>SM  G缧L⺁眒ix \拺S蘆,P峋;!<<'鞰槇宎 :> ─錤(Jh俩o6 0槕遅[>@ 劕|Vqm膿=ia)#涟;03丑膲潩櫃媻F儚恌.劰櫗录 E{R坌|欺妺∨昶聠@拍阽 荂I覩/賥穎溸QR4==}Z2裤|讫鸏.宜漆殙碊fW,铿344扎j碜SS嘙a% ' 嗖*de?垠z6剡綰T8.&緙n牴国11QQ譬戂Kvd炊wW;彴羠7淈凄羫掣)锆疿侊;P?W-%rY下IG;籆Z略:8徊轾X9拾t痂眩䲢:O-;濬<!崓]犌歯蝣觿+xJ)荗鹹8揩潀I-w窜G媱怫C!!!-v靲1s('q篬o騐< 礠 鹹硹郅,剴 雅u5{.洡a17ゅ鈢杀c蹞###S2骝恚W埚 (d罃`n84 0~1幽U)B`!7癤? 煌踑逩$臉j 浥仴旨粽.裦a!蕬5碝`网濐橀礳s(!0譥l剉d1框Y[xZ貐袟)$揖褅E">t欼 M橔G癆=5`輼*肊s海c躙 ;) Nkz/`w藮柑Z彗罝;讝E<V缗撦 。搗<靧c(\襗蝎8Q貫谅&摠穈挽 轳裔j鸯8>棆鶒V囍X豐侣的 磐v鈼傑饷_D#桁 )+7=11扛 鸄-4𤉩9v罥h&炶究#9,忑k獒V7常i(\=> 樸CCC!oXU棑搮Y'!-淇x2Kv砞7 !i榮 埼M,.xP亵琷髅0ш{'Z鏢邫8鱧`粊;佪謿団Z?鉁^\^灍('-收脔鮝' 畔-D72賙眱强>q磰纑V>6{0脻茘r笢8氐ヽ鮦x-q佹牾H鲌毝'*鬂錎;7<癤(U;>騹椬o鮳黕窗ly鴧}撈莝喙⒚蔪;: :銈檘坬f趓餄..FF 啈媼I0-n}}|_廰i劃炙怂馩C(k缳e沠dAT;|>@儒p杠瞮7}c Yt巸齟hh||5<'橓zШ/ 緡噾;>[=猨,栬E3 =簏狠i)翝I驪4癛*釲Е7n 湙檨:H>@7 喼稀玿貟鹡喇 a泙誵嬳U#嗞昄掐墤P┈q 蜭殢將肶鎀癱厺迊Zg6耼H煙@K`妸`A滞8逘毕(貤2釹m盕LU;??g蒈8诟颼鲙权`9L\炻)飋犃^=3'6鲙k繶觾4X>xCOO彧ろ鎢团擄65猥餹缓箲翏v[ 1蒣FJ[^>)<轉脌磦籶朏勔伬髰C3畞騎炜~;P}塂,种滞劾捻/瑁-鑇庅,J[慱m蚚窋\n儋n扰繡4簾劃%7y{脦S赸'路淀 叼嗎>饫缴 * >緝Wo .夼賧LNN甖喷n嬋栛瘵`)蚩弩鵏}*帶UTT酐瓋0Hu丵0渠巰影漆< 粰 V蕶3,$X跘0脙僴F>>*=丅 沓蒌})9y讏?箠o帅X麵# 柺#|3U橪&臁?@q‘﹑>蘝 "kCm鞟煡伱狷譣u#鲷麴'眓饵U| 墨W]m腳$4苓&j4觅嶕[3NM猯`nPTTX*帋t1龠 餿T痒T9楲晓k溒奝隁 埨硲陊锖h宯X憠砠w昄眄淼<巔橡0震銩/2瞩6@xjN!:睜,"ⅸ2粁嫵仂U5S::搃}]煩逴gs偓1A46嵀履麢擔*戮!}O謁K亥6:66軎i, r粙4籬k1p+DhA=12x8A蠄A雎~Y達@()#煕憪庖桸峯论炞e'γ餵 觿t滿獿暧#))$hS窃楢铸4澒@膟騶,罩音Y鶣刂@褒jw譃4 Rg秊豕耨> 7,鈏q  #粃A氿:瞸*7%勍N/芯t_蕝79醷鰟6tv擗魁vg7樠賑R?篡鄯窞'l瀜擢♀乳<==-蚅瑱t? (坒菹箩4懂:i鼋惡挍洓懪橝al佃鮮%缓郝&%/⑺] 祚eO僷枼跜.劬|Kk @>豬啐C藦揕k种1魍鐚##1襴醑 C慰i葼胱貂璱虀皏hA,kk癷(琜?u黝V醐灦d呺穢`aa伹鹸nU髂S|郊<'nO,QR乒鼀赣籁顤y瘌技匀漤%;蜅 _MN6 耞昻 絣M侢垦椭謑kfS遉门Wg锑仚勍S:綣証_'シWx獜B!阧 B O .奕婀蘳 l|n蜆?&姛羭刿q[/羌{3Oゥo!V馮<v憼怘 壷gcx:膐擽x,"炻?, N3廐 搖<遱η荔2z躔u ~`pQ悌桠2斁v=纛P︸箇17贤MHM~/S探z#乃l-.僁#Qh$颣tpp衏0噌L疱裸\3徭:過 AcB沙膡蛧5釥w户嘇 苤`X痧攭僚 M巪tb鶅簣殑鸢楙顄B瓕4啍簘>#>宠^p0T2 撐桪)}∮F胜禲舽廇}+:趓\?НO`z拊Y绔痱4,tA蚚逓旭毟︾p泋土搥譹紽零-婗8"W3戾0?裙%銗`扴XN鳦9W唠L趹|aw澰0g'R`婆裩46梟M 耰喱q,#L6颕 LQ5khxN\s校Rz勬燄:綝0 6G]鏦 鹱杸/.{抯;;/A:|wDmyb.+%蒽c苚収Rイ(T;.H椈葀xab傝罓@藏.e詬'喽N鴁s`籑$=痄1旚B|O/蠂鉞l$V掷F阩椰与渼r采劳FZF!<"藺與`v^劣鎱陨0慙咗馂桬藠81Er醢臨U殯峮粋} C滰楞q緉}%{綘映洩v讽畨婏}\.$ 鐐ぬ鸒f;佯0 fl讶鏁庽z>[迠K) 諐Bt 6b〃軼i捊昔訷znn敟!掳)+考牋81 F淇l7R酞mk觳?L翦∝ = 2sP+W:)烕稄舳-Q翔楣韨k~ RR6泾痤况箴0ra8好-D刍鴺V吓=隳懓鞦D欄敞;Ls~D{;Rc^m砓IG擦T顳①w4鹳Z.s烼榊TT適嚬餧疶嶳骮 MN崻/ R>骫rF缇傥#磨q !耰k褰Q紝l&B乽倂潊丹B{XmK u"_b1p>泱O93 CJR咄 g_\\鵔TrFf鯖gq慑B4-L3豘F0 @嗄硲\ 8,斣<7藙莼R=5y>7 KK{丝鸼98蒇鲱u辜$猷l纬byi 敘h殱動 謯嵧⺌sQ社WZ1槕=i峃/_喡莰, 混I趌Q{吮滗掦輽沥 κ诓氿挟鎿嵪E祙T>*騶ap杳簍貆嬋$绢晏蹊馸涳鲲?4鉊癝螕埐埅6E$<墾拖R攚N痩{/初b<劐敹;霷妸样uma政匑c<患凿軪砳U逦2祟 !奓<0塦幎綂+i<银<8*+k 劵%BZ!届a鑤gkF藑"覜輚r`彈QHI ̄?¨!趈s鍠B屛~V} :9o踀:焧痘2QQN榒V互$,}A狐刍;僑襧渤`Nf右+w9戹#絣 k|Y=z0筻疥茋M锘(O迱vg馷疼社哿 絰稩aj|淋婭叔诸~3;觑此)*{撼%鋭叆咃~VV"<,4e)lOD伋靣U梻湀 麏 [舷%Kj Z褓$喹 罒#4?廝={┒8速9:况兕=烡@1Q劼3ㄑ錗籹.柩立當皠E/$ b後{4旼x及6+==7Z&xTj瘥 #郷纒嗟0忌9&-麵SA柭⒓〖豺砶k硧s龙鵻鬇x燪F:P䓖a:粻8譟N鍷gh酼4x技O[桊齙謙`凂熥P,3"凟" 屵b-蔋./}~鐭嗩3uRE裚堽w踥粠IEND瓸`javapng-2.0/src/test/images/apng/lion-greyscale-3frame.png0000644000175000017500000041444210646275012023463 0ustar paulliupaulliu塒NG  IHDRR:檤"acTL雾豪fcTLR:rj#B IDATx滌輜擼譽}}zA飼`锝圡R)9*慸俨,瞬';Vlk蛊輲漘,俨$K擷F`锝 A艮Loo娴爿733 'kXn9w遾腺g熭N7C"暨&:釡袉搉鲭?剘nV嚤姓觝7门e铧戡靍聫黔o哶o Br11蚜瓢傧x%\鋖5Ry窿延燐\a珒{9玳)7{撟m皤f轴M v豞[>酭C魥穫蛇v釹砜<)谁虬脯溑炋瘆齁巴锺I潿Y撄鹋{$僞rJ2謝引r撚吩幧泆vx揗烐 <驓+\`s覩zpB蘼驵蕄a-3琞Z哨Z骫m.f尰a巏@AQq襢k鋧S痎w*窳懹G~璽甔酐惛' e\(秣蝶糿噒+= 婧Pu麸缝=9)oo [(些<]=)紈漪殤摺绲}w虅3鍷2OJ褍呄7>>]榮峯tR&$#R噿ぶ泔!焪譸炅/Sy腃wRjR%=+!鏜瘲O>猗 賩耢d峃Jm 摿韸=竞v廤}^熘9YRKI埜あP`5緓^*7穚顧*雕aYU%=&茧S辒-顎>|P襏x~脢扲R縦變冯sq紛酣媘qd篇絢蕢 滃\q鱵鸮l氓鉛&迆1t慬浃=嬿祚yE{躢1~4Y幉宦傿$臂-罨K'%oo  $1G毅遁+铩5:i+栧旲JB码B/;蹍䦆_枷g忂瑜赞諨I(z*藵%a*洯貘qf惭开p巉葳FVL &!'類骴溴觳fI-x绺証^k筆烶蓯6遰潳楶Q褤柛襩i1M2隄a縊C頦殑趕翺氬5o賘 \$ 藍5夿I痆$ネ:=r赫殂bk蒎~X3"tZ偍偎王?+柁豧鄧_損X#脑i地7鼫^兌盫羯佐U歔峰>赙I倜脋 和|PhI13 8鐰KU晽<_)^礳:$哢Y^YV赾Uj迢绎::?狶;揩聜2;_數蜒 錩~篾蟏Q^\^轾{'&En俢(?岌翫埨晟z鶜p(KMpm鮒2j%-冃粕'欛榯v愡h彃撓'熏u炕E鍰B離ò◎4霃薅K忦hmf碊姊1胊Rt瘡-秡菛R擘2-S錡VX量俸l談O^&O枽X鴿幑9㧐xu韫)7S㖞鈾崆脹?議C鴱峒痤pbUi/鰨馉>V毌J熗}k涫;/+x膼韓鱋新$蓐9坐)%Cv賎>鮶後o邽辟c]b錇Z\郙Y{uJ閻r祏/}b抻/稯Nr蚨餸M7郝Z佡)y醮缥蹀ろ]桧I_编Sa`|遫,/!9竾懝c媆嗗z'}崨%殰錧跷虬.-婓统X 5 蛑M:䶮 n櫗7]!鬂8賃#T歀筤}艋`熜P食?鏊.謑硙迺r綞裌蓏B~旍 鉰|劝遛vfh{遒岻り-!{渃揧Vj6|/>睆擐!吼-?趑x齟bJ7Δ]jPㄋAE缔-燍嫽<鳊 |/M (絚UZB漥1漣箶鳛僌墅 邊p&'4 2t嬻7ɑ舦(痬'7Z$募鞡!9倏癸堖緾!k盧峸輅纊Sh4>I伕W哼鴿Gf鵚獣禙 璓:謓4 1I%B軣卩#,醺+K#n@犩)緙L馨,Q.埤閣%)戌櫻翭 例! %霔B}*篻蝏i胶颌洟Và9fkV0"佔廙〤K揭碃!鍳醀倆洯S擡d螝瓘5--g&\$j掲R."曜{糣漥諉u虮谇霚[4:n彺B;Xs-g楅,$U 祣誊诲煖g嶢$哝梄昵"孰獟O庡鐨%H佳緑fF+儯'J侌芭f岁u瀠韂wH躶e礴鳫橎m顆鞲懔栶< k覦圊t湼凌9l裦I1罕wj r5识K7鑁痎O紸{彿鹳螽菀V獫xu8偅W%-K幾h仡!E>v"蚴]2+o喎颡'\!=?;幄$, o樻ri 饓Q鲄缄[茄; ?饐8K峗杭b>>幏D?afN苘{75棞圵 \鍩mu偏M揳闬洁髈攮:-癿问34C瓨倶>$]h囷N苕ew荐Y鯁l3zSi2┓杜Mf沰 i娳篡鞝j:e醀,T-衚嚟巟B诶椿揆)G嘇冓4Yl巶v 坹X瓨>}挅h鴻烌 梂晋{f⿸椪f焆v{c(I i价煲滱蕑!]j 篖籡鶸9胘i彋/醧除*G吉M 铹愎-O5╁?X猻.IU蝧e~誡钻9≦NA:=謅&gkr谰-仪 m3U)o缼榭閩鬓3[N!玬1:;OZ7=^$憭KD菖.a薑V9k潢PA洣躓Gp锍崤毺必檔術兦\,/K!%迥漕駪c L豱<4=C抻1峚5婞绮咛鸀熉L]6{+l秢频aSp匒 Eセ'Xev╭惝+8肺妷絩4qYXc3 閻捣t}l衚蝩毰迥<鯅?溹霏帹盤1囱伾{螋HPL`豧((夐浙Z兌ㄓ/來v3因o5_?帚阙腾鎬靿>pg^R ,G塬厑牡v9"学}郛{G-|饧珇黸梉 4Bhh蠳沪#`j& TG3T9驃篭簳<U掾妈-縹%緺鄋oi筂梵脑L|$L!.&$HQ^轘7漳S攼隼/尙5亏嵞RGl鱙稧赉X#N㎝醬R鈶暴è(7銲稪* ッj杖3剞┓媺 .+!!-[$93鳝癇Z|鱉姙祎9#羕c眉&窃;楞w =鈌ye覽BJ ?,~7^璖羖)6y賑旾犺盚蛁偃挷`椡摍f¦荞JY跭k$%艖逞蚔!#-&=痽嫖埁淕蘷A$_夔)*-'Ejpk㎞BA謵nT拿nRz[詨穗驕 GKZY叾N茿{rず$湱FhXV1) S. )亴岗晧~ir擓)% 觅扟J J,髫@Ah籩鈫-v枌m63Da$な2(&&擶D(g圼,E7邶詖镔鹁擔軐隑2u阥僩霡AB"仮疾,蠇 鞊w禔g*  渊蒪K]┹m[勇伧 3U蒅3RI褠!簂 !丂%A4艈裫禉j呐$昪姃R猅kTエ踊跗絾巾圄哤櫾瘆5(赎荧谞"殤騴9ㄛ呇0 "b))y47V犯Ur猆I6O嶒繩檈嶱~21l玿*X髽[G晼O陰;梍j⿲#蕹殉殍姮_ >(!秀Fg+晷甗嚰淵唗嫨QeXA涬-撗閻V飽>[!顮鯁肀牛w嶭ckT漕ń.啖饅5轸堺抻}.橳痜鯙-(f罓琟=鷗豨\'骴 氲)9X逘V 婈足 [>22B郘攓舯剓S4j7_L)糌b%洱V藯元V'.P0$P外~脪毐轚,=j}|G-z}Y凳P磞4紇掕慿既?m埆 p嚽廭~嵿鎻<裪畇-TO.莺u趍墙秡鰿螖舳旑E>5 甁ㄏ瘌' t{<窿噗*5嗸賫砱&潩焲 _\≦疛蚸ヅ捅6k=纬鮳瑆膵#-i悚腡鍙l氷跖降[e4(4Y_隍- 鶱云"u:x恭!塝j5曜─犎係O轝L\普Oy譾聿2朮Z婋?5}p蚮▓蛽!uS棣6仃爳碏蚸釓N炓50膺+鶬g∝壋揢 枻v_g%牾豩Cv縊d毧鲄c蝖壈z_7喫 趖 贮 琺袂韨掰o磷ιR釆沼.瘒0S28諄x婜Vc鴘E{>>x5杼餙饀玕閎鼯駭h8 餌竇澙/滆眿>S.促叩衭S{聇>Z5釞瀎m炞"n>~#?谨|lW,_焆鹝S0S玷姀5^嬴兛箦枞賈+妾3前7Qoω廕鯎恶+鼼:鼖諡鰭@)&t鲻k摸g搬3淘燡E綂z%擹'i`霟煴T鄲-j恟疺u%粢;4xN奄|叼蚎+!%.疓郊^齶汼岑篜峆=:Qe'K灼礃*】;C燋鬥`欩fHJE (暾%n椘甍墀^稪!噇策6[濑_? OL耨S'鬮邗:""+U+**乳vs :╗R}dUuJN囤锱灠q试x(㈱蓘Ay脄断 o丿蕍蕏箁恰舷筃崉A龓豰桟辪}嬮a杙56;`睂s斓贍@yyIG躤瓤:谦焨b喉3dP^烺づ&T颎晷i&%} ; 鄣j贺"澲洨盟=璃錷癚Nh葥3'O骠π}w莶鷷$錆 s 赿穭爹*賝W凑V^ ORi晽6囬Lbk5r(9脃耳#宽f?暌巹"6ㄕηkq%48菭鞸\殱a.7d柔轹氬w靀,t萢皖孯庍闭Jtx貺q丂聙勴鰯烶錰)颇骵敩涱'贆UWe叠濛=鏪n*这庖B=檵萀&睞臷p骂V毽1d鋟;鍒:)q鮞襃鈈嗧 4Y猇# d&碧ú允1<桊娭Euj-2C扬鸊楄慣r劝>(奾5驎嵨 蓪i柏]B(Tエ趈"臢/HYf-ise9[t衶c#崗4彖aAA痽研眭-0蟬栮W豇G'構娐I摮爪銂O%GPFbR2覛C搄)q/ 館+#礞*|忐;8ι拑灣;'r騈囆哪臏9l穭k溅S浝`_0子鹦W羮緝\姝[ 鰳W碠磐;>/r蚰] 6H缎63-U腭Go檠 篠?革Sb廸卞x芻絓LJZZF"狶r\⊥j,t夶k匋脮f惶;觀*ΟN{y:dN嚕?;'r溑⒇觽侤V暩zw瓴^毅+忮苠嬏墟?Za屇檢谹S玷?竵@\JFJRR旲L!o"傲靤`e術|⒚'9予I1r8!DL^筏q) 乄G]k肳[dH螑<庇w@'|0u>\TRfW0w61挌G^査t;`嚨烒晓s檟螻.詮嚛s魜鄮V慓苦(鳢凙Qs遟T9d嬶铟(淬白⑥"蹑賟供鷹姜敂ETqV9豀 T o[ bD6"庖畷馂n 鸑敇*a斿E !怴t1%Z曾/+杜P绳1ep箓 紏忸0嵙T驷燭oV瞰丂h靖ⅱ专蓔鱣俇jt踕mkDfi勌绤朌銏]'~鷶*乺 g煱斐媱U 得.寰/&/0K6圾鲅敢jK'铙襎だ9:GN祾碄Ns坸;?忢ク臯城{烕丸da$2癹屍犄颏+〒#4#(p欈zt瞎邓鸵燜\羛b護@縴J褔(xb嬧(襬 獏 R5hP#戌 晶髢:鎵0恃?X駸洗< ( 敨旀 E痉诐c 6;Q釄袗r4DL凤\A#y6ED猢&捡殝X儀攭S孊 幖-Q椝枖"xI$%-T姴y鈶荡$/T?-6R0#佳9鍷乳乍O!呐曤` 甏&g+-鹗1t/V#nQ扨#%aΔ!9IE5j斣墛&]珩瘠-'wt衒B犵 鏧猌6冤W!Q扠涟笇瑮\)R1E 蛽v刉磈6 /Lㄏ悳蓥U灊t馲歮V#F /甗b闽{腔兜R97t珘U 58薳雙P蕘蚂D艬"q5燯 伟6瑿R#趷愋f麡d常 輬滔祙5唏 芸&賀zsj杨](%)XV=;<>M鎶樽k貭綝禱6(濸匜鞪歬灔簂2_VVhHJ珒1傟kc?w'}rMH亸专昑襢団韏l调(烡燡僕322猟 圖妜穣j佩S瞂酱*m鋈IDy憞=笫楻禄*劗賰馿&4眆u薋H閖U捠9ュ=}宩4竍裝儕誃9)遘鸶扻擹擴'5玍7(恡镔1j_费犩判r哓嚩4 馸櫑塒BR欐跇:~舮杒桿#.))YK3毬鑫YqM妑柺Xu龈逩兣盷U魸JZ瓫 昤豍T氲:4瘱臮)iy┄詺罱%柅r韋* 镨遛sa臱寿e鱔#螝騯黔鏋餙頍'!顮,鏛>|犁霿#/&NF禍倊击粽?筎僓> T>R瞶ed<啌錬G縰#嘒 熭鼨Z}拵8罒>饛a`$詧!/oHF咃y%)}}鲓篡郑垰,]球妲X巢e; 镟1絭餶堑崆忺k考*i)%9CきZ洛v仐&*< 朅吮 時P9蕜j軺4魺Fc&坯籾毇V\R礿)iUj蕑u^俺"浲p(O罢宩OS拄w[甠揚B暣凾挂/( 梺覣~抮@氪瑺髲踰陾JIK 厞b棡鞀徛氄Z9)B齨篹$TIF颿曺'+縛翮 ~!韟梣颢鰱rIp糼h螡庤2苐M2猝,獅2L魁傡噓闝扲鐽5彖绋h0鉂龇Z惦4(/敂u,圣笍n9h哈 =猥曛∽辂`恰蕐di=坾r問か蟵鎩送陔籰>镮a濞唐揃`鉫g/驻鑰:8鉎=2oO苇瓢#鞫 IDAT灪鞗 琠o櫠吘tj淈QF褪05?Y膤i挃擲~40釘嵶S剮霘棬印誯啌КX沆艊?疘犤t蚉g6忭肫 z盔?嫢氙]u矌豠g=韣鬄限l続O鶠匓t櫏趓<j)Jg5铘fTj隔宊[琋楜$-袪n锡猁'鼟s0o塝(i撑,9遼熛冇靡?蔝A惮-隹3v鵶 猐W:3H蟔r秳.詇甕蝡硣_*+ 铥=绐揍5鎎i3潯蛖V;W襩邽}翼O1饆o阾賘揋3r鯲躊gvTKKJ"揤%0琜 -2l剁fM搨勶漵蠗蜁P2ぽ>;u*萮悜鳢★咡螨笓'譬gi5gYV焸淐鰗F镄烫 祽‵晫dT旆,6燬嚫fu {鄥╂胡麁%艛漉:鈵襧ddR惗薁踷渗墟鲊S鸵痋8S蕕舂$&+/怮##">5VD釅9嗕d禵NZ軔'NL鉨[?樉蘈M辚#/匕>潕柙獹VIJ蹋瑂id軾:桛<諍::燵QF枠璣ud[./()*仕暧〨.q36妅U>_{i 錬⒚埠祂觘@鷁q=韖闥;43o衻ay992R4Wx薨~}:酹Ro>兒踮>g槱f2l康胈?;+%嗽Fq%E9儂蹰谣K![糗4窬栁 ?h枠!节瞪蔢`憴辏塶qm睴V\\^. ,EqII澪S+{>1银Jo萎扣r笤D膊(g( 1校G穘=?u⒋觾S?=}侂吃r谹2;覣儂鯅蓤;╘QnX,I譵蹬殨豇'g:⒔X,-J揿4A力媑/oリ=v匒q嫙近揥馅疞鴡〖~璟 渮嫌殛&奋旤(EG38栓Eu阡6U42[濆|y誏Ik浸l 擉7.lv鴘*蔤a9Z絟軼琼\原C囖S+倾舭4模絗( 'l葝 z℅.i鯅b蟮Y+巂%}谹?鏩)仅柡俓1K僔兖C>犏⑤6綇戌)鉻 n耗若BM<趛$-o丑mq栻F1M姎)屼}秹i妣c&氈7萼N⿻#屚矦L访6侔?誡 v埴揱栝ai闩*[擰)WXfS賲Ws灨O%J%n谺O簀湮楕 fnp斌42Z謂賛縭Y[9潈},NKK6咷1秎Q*奅)鸈EWx-|+ 2+璺@)曜]f胲x3.获.wd.t萵O炞牌04飥m!攟R杶m7El 4MD朂(+(4v0*蔘鲭譌梳>嫿闹h#2JM?艢 96澽种鉩陯牀糅o縼)iC崎`-蛿攚*嶔2S"$ヴf<阒鑧燜<猢1 旺棷62C\^V縑=邓汐Bズx(鐞]呵瓈抐3ㄓ愌俆 s-$籗賜83~x嘥4 臛=屢嶧臕笻hyW胿氕婇Q%&i沵焿l螨吵ZLN熋鲒驽?疋Q舷賛1v('u趇衆嗽 踟煨7繚U?!/擯T悧圽臅屩(鬈D滂[`⌒#.0荲 絟餙 ?鲨'5檊廁垺{泶蔸W幓嚽1&1 #骴5v>Uシ运I(%$⒗猅狫#D顝騨q #~l.1EW{b揪鴆烺g糙觳&>5五;l#歳顶G絠舤\﹞衖S錗=,=銙h#翽^,yRc岕謕乃Q)摪智驮.默菷淒A鲐颱=GC=682N`鳛c臸蜰跲テz闥z[^"Bp纉Cr蛞婒*涀U0筪淂饚 mH煫]c$卹:斐O鼹舾U燋14Pk笶 z}EB渮栔T "'葼搐=鎣EYI艖狟妃罆.S諵粉釛價Vrs韵藆蕬Л鲑л銐q岅砆C5鎇╪\櫐隰湲翟?r妄鯌氩霼x*x- j #v艷榋f柃p^p峴5獞墫成h :`梷{絩3C]迧j跖T檊泖4o砏谴渐悠ゞ楝筅JG宸*UXcvyG翨+尙d"锉銳s垣Q疺瓟D您P^Vx市鞧)禮焺& 蘎}?g繚荧謞r朸u鮇 已麜 鏀F,O篣昦伔\2[Z!(τzU巫-h嫴r6v鶦荒;朘嬓=鯪ZMc,b:=,]z女zi)qA訥似鐘庠i儝+TBxl訴=珨 漟I陸4SQJ苒鋈+<巆.;S$pZL兴%捯QS嬴\a陎D*YP擟t烍丠cMD] ┼I稩婨U嘹璖鷼 xu趜屄瞄r鏬6锏"v"稏⒘巃je 弻+畳Fノ$1/鴲Z3ey絷7hG|^5駀?).枂7 "r昩|.+摓葎zNG糇徎踻s=釷跆紲瑍:t{vò铝郁FS崎駩U)辏蒱ッ研 R燫龆NQ"獰XR掦3JD簁I螤n輺d魖判ウ-嚅篱`i铝瘘E><1晩楀;Z耻oC篝踑槿=雦4覒ByAKIIE䜩9蹶謊厧7杭,鱭?8暓 觛i岾璻巹=癊珟.(0$3气<G璓湃$楂,(f+ob瀢华1嫛V講32Q9瓃3 辕W棔Z靠脰o鵵 贠 '挜琨v|諅u褞e閄I+箱哾蹶4郳砊6驯 #疍Y UrM蕮徎襈K頃v亃氮TE E覿LRZ昄TV<d 柩鍚}薇罘?J< `b&齳+蚔漐諕G桭zY1$ 蓏衰>*!1&捠兯桯u2f <颶u22Q╙刽p2 #錭i))iIqa闹^G毂藄 捲鐮N穜5灔Wx~yr灇(窷晹擩裹胰 G刺b臾溎樥g葍nV奬虝庑暟剖DU汕3Φ挊6i2G劫殨蘂鮽8觗魴缩丝S阹q過m鲒钋喫 賿珻v烴5k,K}3桃#= 叅椘+疻閛貌z觻z鏓陑E蟋LJ/訶T(糟M嵮鄋 噦彐$'敨yW4唲j橦 擡L9HZ蝫.Du栛Ok7-8d嗽;]衬消%抸瑂熆j9燎计l笸脂FZ9B0勹蟨创,緽E模9璲哾 獞巴錴铺暋]睢Nx莂3F!煇捬諙D}2芩悒!J-沞bQs:设xN忀6劬~詻豯讱唏浨遘瑬Ijm梇含i琦Z`朏BY:;楷:B舁r0*绾 va儀XT椬J 鸤營滰 肈P, =:0乳U 羖=$ゥG跹鬝甆葶ra:榗灔i(7 T嵑柝N饐=2ΖoC6;慸]撑櫱eg7礚怑@:荚"嬏舀FRA6璟祔Kv棷k?妯0%猻畱0[5藴c&I*菤鍲陭搹屏佱趖**`Ih7S綌d募.讲奮pfH@綒█B笯x痩龅c鎹6嵪5Y:蕅騠衰阄'忩Z)鄫琬軧颂3C澊衻顿c浿鮺+R擞h>瞨#F序R<璑僙5惟F疧洴YU雌庝qQ薨a胷漪胫o7咻6海9凓韚協35珬都a9W臥2骩剿'埅瓴~wk荲n橠臷硆le●W%饂)誮UG叮b擠qD霅邤D蜛{鬘j*+梷鑾J赉濄艛凱2 喬藦8R*1Se屠C倩g寯7+K酝z潾,崙T岾+I3"臑7 T效莦}/鷨1 -9b艡ЮPZ动Y0缓fW瞬:!.扵R袪Q=yI睫9茣{<劚+,衬晃枌J袯-坁?)-U 挨浜橙枑椘爊j潷Z`肔0[*毬孰矞渵舎()榘W 1扐垌=6絣碗c1ozp3#{~.]3s霻曅X あ頄k4殽薭{?f瓉izm嬖[h洞X'阸壢挃倰聢uj-顜m/栔'搄 5{豫5沞i佰啵藴c蕅朲顺c>(鵢v9ね$3官r=[>0 ^ .檎!莴∣竣榝{锺@擝5u額g鼯5j諌閶6Dn鎄帤戩l\衇磙絞榚$訩歰杦鋾P拰:!箥I濯8貥ii溞T(昝錵tA0 ; bq1)鴸KT閴\狞嘦洎狫箷嚱嘵rO9 〞0.6&喹3蜽<@7$!穭ejJ虭忮祃,3馦~ v螺級] 咵慖櫒S差<杳tT訌]4B摽!BáR戞3{&AL摗崄茪漶基gB 1?苉澗9腳燉57YY粨澝搱%L,T4I數$o嵋喹dgD"知稡W鎏1]而锂>7>ì98#2EeLlT廻誗 汬傪E)涳p諊涧珡氙R噳1"G  Q檹讅I傅f喷#喻鳶 8~菡_騥脤0耎臨镽&歩"QY4p锱饸峪fV滊铻{|O,咼-&壴#1$揹)b J蠰僉z玐鸠媝Vs壪;鲮9潜?>忑吪P┟0兗 18SL悤雿.馤CDe ネL扰掁偭=:=~_<臥)8=g圦1IZV ,輧狊8pQ性{o1箎琯N(臑柔4媤]偼t袾 A$G1Fe╱籞芎>电滝箍w犵v;}??Wpq-A鸞?粋6Zi A9&e4y睱|Z0'^L轾K辸蝺烘蜼]剾 8竛c81倳"J<}衸铛挒弪迲E?1{交凛靚t[]>r監6Z坻_I鍇覤 曫O椈鏫jR'晘]盹g唊圣鱹萸髳g^更鸦j璩懱k陱箇~2搐硥汽躆 甕复憝雚榍桀pKnA霠涖79YK昢 j>Y讁*朻2腎}朱芊i+ALN#甡=谘厍楈芝e?倨,G 43氛/蘧閖毶睏f E襒矗%犝v8陹RixM7泶牏%?垖gI+h"B?回:L勿(kXF敐7]'RR閙蹓E,,YK懨s顨N蹳冹 B%<朝聪鋂>{1鹰~* W餓/Xh'喢ibDY棋<跷97 椷鄱)!@(p愕:!w |9虤(鮍:^秀潨y氹7'0:&)唩$4覅鰁鸅T诠w矓e巕扞4⒋硽8,,a~⺧*輞 踄匨a猟棲嗾'~] D靹#H8142敊 G$:a0挫%Q]党鳚7葐^ 匓#1\幈廰R襜v伃蹈瑾証uo]莊V<砬3曾<:h$C椰E$G26^B褧/沎抋榽 i!N卌 脹hd砎梋曏鞝婩壭M0張侣琦PDYN3I[挱豶槷L2傪;]ox 跦D`IB难案,+尤(O 按 ǖJ譿;h胒,Etar=O匀 !B湪腷鱌笈垙I(a4 80)p傮褁㈨5tW-矔jl(1\r Dg%M大腨[s_娫Zセ堆D2'D3瘔8D"B擷e狫瘜0(姅)S 啃#柦妌枓:6%RL蕶}91Sw -5諤蚒MC%84艜3~B憗嗜7廜ホVL懆矔 歏紳v歩"&籙M gi 蓲'm夼7死~鰋a嵂煔4$积3"''PPQT怛zs>=T狊$冀妽.9>r'頲-m$D4貿粕懨洄pPfB 訟〉V镕央o惂HJh葱J+qB>@疣9DdA嘱)腥F8A3ex瘳燌_?麀殙""= ue E<o1ウWz┉J[59e ML4\"4H鮶鬨9R&#长$F79怃I漏遄捎垸色7昐灊菾N e1蜃 ( 譖j%荲蚃砅S漷舶鋱X欼, $嬃li挕f渤n鎨 $#喯盆p柆d躆#司绺v+k.!&B鴥敫仴4甩姴40%ˋ朓R8D)県尋婴謪-n E$C怓挩&坤 t P挿畝壪揹M8装7-N吅R IDATna-+ F)%M ?2曏诪苠JaR 1圓際r!蔰蒔$咮 "页6#%赬B9茫t0lg諓s漹 嵞埳橳 儗Jb&[bV縓I蒼 圩藂┛Ja腠aN袇J+中@榒韧(尊5L)伟0A炩:倄P丘,W鈷俖蘞|歄输5侱堄@=繄泑擰欕Y霸[ク額[3.Yt腏皠鰎*(Mer< 礌aq頚p(Px| 儾黶1歩".Uyv;皈#寫褫 旡;拓XD%姠$彤 呵89N' 溉LV蔋 弐 O胓鐸]t 槛.门$(#(鮑槔-'w#g馉hU铇X\ J坣e俛爥拯<倞M濵 ARt揪@厒B偼 軘簲榖俼r/潀珵*52组錳w舰PF#q)眱 sI$H%@闷 n6狋sG缜 煀哥8斎0( 1棺2螭0J9孈# "H1J%N+ 侱喔)+NL釥岍4禓.孆8駬6寢靖qN皸=&ˉ曻& X>\》! 褼昨 U8:咭漯$糾择5鉀笚鴂湏鲒"虸霾汣 ]:*]穞c$K9yX6|黧3~沏Lⅱ埒饙蔐 d򥩳G闚_裱踤~-(醧%|t4?渍YLq=b啷驣絴沞*Av5bⅢ \唫抒(+ $.Y貰/xx贎;硞'紛.竹潖攡淖裪Z邯 莒Y(釿/+]饾㏄┡VBtHlt1D悌黖&萢獍嬎湟礈+9 煒#祲銺殒佃紤栕r|骎( 3堭8膞韑*醣覐u恸|θ阩磻#N3夂`8e臥`-[P篂'谸 六磥&侺p灋脧賣r抰r#;v攉h%0C01儴貨姌d)婖j潹廕p 菐莃&9+;hWT犇(芴r啺(p9Ki&D嚝7笓3z\4,栐^NS┲开{}Oフ荚J0U2鈥躘) 踑xFJ邹罵"C幊'?=觬)1父u圞Kh蝉A萾jw摖$VqX嗣&匤#󧌰xxo笱7 4Y騆1(%M蹅)T氊r]6 "猅质拡侰L鰱芴3沕qZQ0(S"2験!瓿f蟗p2塌%D 槍捒鸶.*=h^9.巓T-u+嶡E拧夶囱凣e鉼襭谭~w秫 L奓(?滂摧旵啌"Q8(L憫鼲辭W蠩晸瀯J76 EYF槼}*沇皸F<晍K2m茗錡襈  胐葡 8Lr|V銕JkhC!%矓Q埍F7浀J椂E.1b楋燭2R揄/缉"O箩2c3]P ㎎鷆鯁陷A万鋓 濃c超-*盒18V襇裷;Q oZ{晘5亙.#蠣魫濭u*婽U┒濣2+0冧O肅h藵诉}34FA歈Nc縮FBト9!幾卢(M澿dm*跼 帳!插鄥韀橰駱杠I墖Qi@ 迬攸7\箢踙:P&c鞛b:吠(3氖署庽馫栄*崻皜ιJ憝磚%儙& 萉CV*We纅3AF"勊庅>磾V趇"g!滣特煏 皵e4鴰tdㄡ% v狏V篶瓺| 燞0 ["@y2軳E瞆扐2@屛;)p堑[N澊A艜&i湠>猀hbJ欥罸)覩_眚Tu葪z亾岺C+~缿?鳖k=昇碥繿`悼粫N哄葎K)F$紈诰%祥Y矾BTNW汚N29]?妺M@N/)r嘭 EF,o6TH 梒矂q9i6艽Zh"倞C4#寬弭7f鬐Y 2<藦H灔G!Em除5Wi0eY漺妊"叏色貢轃*碣熷8潍XO4黧穭芊(泶褸 #寬f缣R圞亼Y矾N'濗\ 祼毇詰1塰轎 n捇2AI棭瑞鷙U摹G昴"Ia* ZI掝#$鉒r胼3J!潿濽zG棙d宷 5/Jc87P箲箤F4,L\貱骄7_斑%,亵浔'剮厖A唓粕s銲Fg%痞7〥閒$鲖C孖K蚒牎鉦a⑻-< 趒p `偞S]Z #蕸(cD'N揭j揺抭2靷?漚{6SJ!:-,Ы谊飣圛 敊:H蚒Z翭g嶇谸勲x] 7B短7U窛.6.篙J<.甏1菻j靥頨2譫)i歑F菍蓎` 懌电-5W〆憳r5霐孀堙6 奍礗页Q囥顦r+q4驁=M:釁K$ 眺蚉↘歛9悹搉3&'8赤Y 捼oH n兎=6棻' v5谆r芄J &_<圔UB 架歠y鶬.g 989涡b誋k谋﹞[á2EnMZYAY 藘晲 醔劶L S寪43p蓅!赬藃D齣h耜O礧殚唚'觭^j{Pi\苮敍hc-蠏#侹K鈸蓱#c尦忯'濚i E衁)黢G尕S誕j jむ6鹤B棏)袽l鏽笵硅Kj材 '.綛隿/W+兡嶥.積$鸀D缴_2&歮P+)"▃"kpq8气){N8砰舏袧-酲?,w*%~疞2莨U踷繤蹭e嵨隨gYNA 1V铥稳><鏡4 Ws馒zX)塀*V}Q$駟 @礬馐c`5/蔆兑!腞Z 郕溏,#綵I⒏8艡蔪貳惡经# b迦匀t*G *側\2m馔:咳-磽悇6瞕蓳鏠薀1꽁尚鈒<鐡z┰;M鞇l<臅殄<筳6}滟們7q&Zh曕M.%r葥e扜 頪權鑒G〕>葠鳢'!$D?-/懂濺艓?D] 铈4i:倓%"鵼屵Hgbv捨-u颔7R坯:L<癃Cj%蒰aI燭r5漷! ]净揗3$)灑笉=醺K=V|W鶣痆蹿洪E燯H情M紿晬摾kE)"2c缛縱Q$*j!B压懹=5u釜K=Tj{uyoa駩燃謗僔w攡3銝曊铽蠪劙宻厛v_ DH倄F杓7硲胾覆I]鶮'Y匯澪1怳a<;i繳2煰2蓈"縥隋+ $E01褀栊濙付sK]T*vF轋S虗ㄒ藜t#闞mM虔,I 服6屎+]墔妽U賉y$Ε)柞>~Q鍇U奴貶e巔)9>鬆Ⅳ悶逽}婓zM紲孔&镙A挏`*粆j齄-W偛鸍', 9#劰'\2N,v乜0晇'糛k隦s4@q5EtdE鮲?# s勄裪驤t轅敏お 8:壝[靶x捽裶0郩 D k蒑D1O-爓柢模麥 Z糀瞫}dp5 曺OpA鋪u踃[-9矘hやm稣吶梭婸#,蛾e箹G箮歉8!墇绷鯕*缿$囖錈hp{%磴fR .FmT赛3镉瀄}6m-荽覦 4袶# 甋q"D塇D釪s壕O昢暣簗 _9F擣6s俒i$!1ZU'v+QiA菦馪lb跈挽祾蘭7馌Sd5M腎拹 稓級E鐕鎗I栛2e 姅8&n糎茩=W穡碭蟍:"+m^6K#2T*e櫆qe&DOツ骐\>挻 /Yf嶠XpF")?s洵鞨 ▓ RB吝h琂熽匤^T誮耘f圲▌桋凡縭漕熓譳 D)掔淝媤$ 摡 榶泔L|a嬀Zi6Zi"IL/椉I;oT呍R01瑙 >4矍x拘{W耋 'X媿N葭q拱 G彷5+""佰(j*6鷽賲Jp曜3Uzb觘珪v:闋協D}e9玶;rq饉#棴狖?呪賔礚釿ㄊ^龊 EA艛_滸夐菶蓲釚^?邥iM钚凱ya寙牻J`拙*lsk7m慈%F(+蓎!妻砞G稄)Y褛擸穥誻8h<嶪Бつ1稱1!$]*鼠箲i+""U矤颽サ挟廧瞇_!罿aI罏敷&z鵩飈竻R瘴詴嵀t袴3q聲R!I) .K鶥 痎洵恝8,罀焑-枪σ$镙⑥荱cP隙T5丗└!帰硯6@$ '"平xAAG6+S幺趱衇R8 I陷黨幇谨,u-螶拷:h!I 2(Quv艊z$/,诹 狮纅^Ux( ?^近OD:蟂课鍎q叵iV袶绪筧 樃璨Jt7闤P 扟3Cj2瘣dzTJ髵努'哂埯诔玹仅葱&棧`Q&O)2d(P睦$婭簁+ 蛉*根藕k1僆V矞来尵稺譸榖? J禑+R肽競08c辅:EG%J洂搓 y( 槫-<萉5mXB鳄柀濽湗Oa!=+*vh!ILJdg俼(恆敳擞鼫龜丳~#穚}H9A5TQq妊F璴尼y灔*J恌h'$% 4訋E^┎冓$雷Uh騞楾t5%関+6! 唵罈0蠶RD4畻򼛺9婎, 盐萛H=鏣(@揣;'*D踂FI F*%覍3)鯬磝抩s聴L冚戽3唂芮k,釣療 谢5KXN7-rvD$ 1q?#硢豹n錻 ;X蟜tZ⑥蔙簤 騀EJ鉥於,?@迫O吹B民l泐UJ - 逝 y拎.ZI燪&E 噲鋕Q吧I>C䴙965v蚽9蘻哂暯}3^秣=浆w蘷衼譊圚爕1J["(脺d泪透曃xo$; 1JS<蔯颞wF1d瀅\^ 徊}.鵲D戂O馷Yp4A棛m<#蹹eJr楻)9Q柖骛糶沪)幢7=髨羿S昃YtYh脸M鉒r ^[乫<鞕 瀛#ぴ%?RB軿艹 殰袢赔%X萾 T4lO墎2§y 卐滀P2$abp7{7b &bN5-閏v'鏍h硻渃n訽^*曻铌苷L昻J捜崲塅囜鸕.E!-Maf>G:aB刪襥e |*3Ib~ 斒T1! 皟饟k8HLn7艅P&風VS畹7锶)<厃9躒f6!L廈搂合膝PZ}Ck?欩:4キ(x-宑H~O49玎晬-亏#x檢>K[禾}$O疼)8W憠旱ss* 梀l藵>rYtP(∈粹 IDAT⑸v'?腵,峪猴覃橶z=fu闺QzЫ徫e歀2x窶z弼鐺8署p╗泬捔猵;獔3o撪%AD淩秞ee扄D:W*噚 L82/8CG洽 貇氤<6:#>谍錣/駘蝤狱% ^釼T⒛垝dr3忋0疏y5劈镴趇爛I2a<禰 {诋媻5皦榌DV菦7蒩杀,澞榨豅 8Mf挿濩.6#:.摞O=U晘d汾r (霺A術%鑒騯<哅<粚>諲; 毶葠+9跿M侥` 打摗逳燾tB圓>&傧埆)a2髸=靎硷Su缜黖J蟥38sa欥稼麂绥q匠|i縒神z<:B@=矧翫窫G8i矟G荈菓7A殄`$LI銞}W- (褷弈b4燢JCW1庡>H+玦1欬RОq硴e騆2Hv,靮s^錨秡S旼sX攅J穆栙& 0rCs~蛸<&聮镫R%魥m炏鯶柭zqx惉涔T憼漦(0)萢紡$脣Mb忆$.98缷fr^,*{9鳼蛳厩鼬_P鵔儌 9綗"6.ah>飆蜔?O.baTT礬鴐U> $DQx>X, 0処1h錠积湤驺 Vl啸L"eW`奞a y颏8{厍i5勚鯣/艨3Q燚柎仡!O2坅渨k來p $阋Jm& +pp郥朶l貈A劵8煨,A"琖幐1lヴ8钏3% 懖d8ZF魻 \Z戞瓂m磜WO跎 旴j1F0 Q E"y$⒗鶌颥胄侳S骠玒x@y].U瓕窇#劽驸× +躐近屿珋娰蚜J擅涴采D?q 墡K檺TS)渭 龡 櫢燭b Q8vdk匛品癝n礮5刈E ,溹$1\LlLR 0顂J78F*p惪8C 1,3P#L1煓#q!b0 O^.Q怄}K?ì鳰6曈筄`剄f>x瘪8v边Oc箰?n7熂寗2(#粻:_蝳〩仮螻鯅晩2Y鵸4村vu告O芺盔`'1FH黧;$p08脡z7豇X 倞驦v{揕0$C@3E瞤q*摋E@攞6hE瓬諊靻乕巪-轐<#’6悩衬?罨袡9リ>(惯9缮本菄Ki-[jr鈅枀@T) 狝.呺y绅$Np=飑z釵 ]敏=7吋螯y 攅o!=灸跲6!鉒萔z.A㳠閈〇K匵粚J}誄勷8K魂~b"Wu]觷齂]銋糞経&)挧!S胇児w踂壎\Q搃獡穃复\譡.P"/)K/{費従:剭嬘ZC虧Mサ3S潁聸ぅV[糐偪QL冞Y6饤*=湞{R婷')%GC东9旹苫瘾禁,y [嗯琬昃<醦<;P"OQm7雪撸B輛Eg楏鸗满! 嫛R/彂*-I+ma潦栐儍S釘鎽>旃駵G拷鱝 ?OP$O憿軠z穨(q⒉嘆%鱁Ls= 媋wo<9姅渫/7媚曒"Su敝澗'縬8皿/嶫 >-T#Oe:琩Y鵝D啾,==糇C&Y'0d F禊E棄<琸n6矱?>9{諊絖滯襜ㄔb浛 O<iд壖@e伜S>轷)阬薮g涩bㄔe奞=Y塏K)S:憿鶨涔%嚜{?颭~\-3_\湀興樇'p r*申);I劫拫蜂楙咣s骪圁祧=1{guL/嶫]R 癞庸r$vNI抱*{棣 *S\橍殀作粞烑<㈢4迪慲Y赽1#c瞋燞49癸/薔鴹E:9嵱捬_楸{&瞿{狙悴邝赙z(,珢`遊砕 S 0.%覍1S8qQ)=9>=氽{鵟縙虡E!B敱-4觀橬)g4龐{NsJ彾坪gz瘺麉篳浱#. <1!C i2)搨[3欸zm敒g 嶔[竭氾a7&睖81"h8(懅笹7肻L 睋ms拣褶q犊87賃阺%貨"鏙 蜳!(鐂 髗"g鳴鹼&?T堀顉w摶賋\^及娤爣胶◣ 燐鄺徳?磆/玓hZvP`騜熕痙唁eq_{I?_朕锞賛q铬"熡K枊綩y填X蘅霮o<O櫙肛'粢d1w/G箓库:]§敐瑛=⿱}J 扸拘7皩e敝_畏Y)災6槊C兘勫W烎l驌繻玥捓I622y伫斂呪拻6x锊嗡貰罻\d樏<嬎r篽' 怗%1`}咓^霺焈~eん阆甡%G)θ0A揰cV"K6躾/[B立H歈gQ:i I29嗁蟽8:tI莎宼>箹Х眳.栆L 6y2鎖敷鮯qx-氒艭7q 泶GL$}溹"刬"男i$*N'_嗪嬎閞6鶗懳-及见*阼F篓笜矆沞8L \?镶埛綉醮覢 '傧NYO丆0H2p ┒]t漚夼/淢~祋歔拘亟8q8)aR杸7*q9$搞甮:皻潎|W{lFBa 刪"寙岻殈(kf蠽僴囟l噠戾s$/n啄馘彐IW)貳{;9]鶆玒J m$ 乴荻P%嶤巃傧榍郭"鮂:锠(r宺凜L1H垗D爮}糣h爥(恊x;.l 箏蝌瘠 |椲爲刾07鯈釲 轢 刪&ZK%Ma⒛ F3%V3qc~渲"士逮平t襀:P" G9F朡a捘奄@2.1Zh@"K訦_.烎w8[i*&y蹭9F<谓鏨騥f=繁嶍8j葔+W]U譢潣b K^"y驑@qH%驵呄#]|榳mK紛%$菆婨乹蝡歈 摖q"r渓 兠 蠤崿 !穇嘿覘'U鶌,ゴCS屟*灴1;' s菷^碗]8%X񄭂* 倐+$羠,lJ)b郒茽隞$sh樍襕/压炦渥譾n鏙栥;踃(恌俀粕⒀@*Q賛鍾f恎庲1韦G覥{簤2篱K譆徨酙誳緬e从E-2'E奍&榖L困鵦達凋&侗崼tUW=X痢鑤U*M暯#(b``"B垼Qb抭伟尺技畷‵奁幻7h譺  搰U$G枌劆+K淽q ylO%廞A8+кIk札%任s|﨓朘逪刊輠 +hf$EI倅* 蠐瓶髊^K8J抐r蔩楁椤x鋃蘩毲6U_wdcf櫜籀翷D敺J庣8q+0櫓p-o醈]c=4 V轒%郎鄍q帋on<$1]En 缡]4"皿靵圾i拖締r/媒踄.="豅H竬醒(B窉忤g煜从孏点 缫5夦酠渍籙鳲+R G - &e蝡~XSm-糦贡M燮Z%^H灧Q鍚c26.x殏択唐$O夌 蜒@a\T婔罶軆*20Ex乬厥)幪驵<錜6.t2[&B舩<衧0 $垝$Nl谧0茩$=-"PK.⒄8 D堄蝦,R 3L4聞筇'o鐝Y繖{钀榘*~p囖資)专,镛/0v8Ia?瀚 帊_F&zii攼G.吽綳褨x6,*?")宼&熏[俜涷帑EK%D2r溟鱁 a 镈狀泻+#衋N阐,笢撜 闙lg僶晠凳⺧I遡扰粿"%辜[X宻嗱鶊,?瀄蔉<刻&C儛|0LL壪镻%9Q4s睏H%j愤#壗0d-^ヌ孖v録C2+鑴爜F欖漕x;忯|{n-/ V蠰矰l V 鐟r*YE塏R5P41熲v婖.綷蔉j驠k讬"′ 攠揑 "Y ToR""峃僚擾肚戢$B<戱a腔君剧蟣'ど鈉?峵#傿俛,涖_憧sz+k豃7I$柘$彤墄徥2(扫$l ;累9'忯勾SP餑戋甪 "捈Y旆舊&G2.*b拑6DMn,\叐偭d萊DP鱾HWy蘱讃払 trdYA I买硍-孫;z笣{聭ガVi惐瞁倁eo 餖春:曚扞檘m薶k^乖>'&a%騞e卧枽$N 4%3崏W羡昛2e1T祜E瀏z4T蜾锠僃殘營z)~f2榖#8投劸抏4#I掕喘湡6,崤 褼1 S.頔N1岥0嗬E&.歕鶩皉S嚦Y鮎4红/'%4襽"髥&毈m 夸y% M:缛b覢#QT<哅奔ZS:襂渄ヶ冭\儖 ewI亚$銳职.履Pp}x醰屐S9推嚣釺'99h﨏衰oゐ踸8;侮嘻[溯{_篡趌y戺M6v览籌汤鋮糳x髥L楲圡脉L 悂 釗 6`宮![Xjm璙ow_kyx蜸U符揞栐逗EN$店轠uW9孙肯H珘"&鰂"yΘ皺,y甴.>L`睊鸿j幕N.%%ELY迵9∑4(S8哏2.僚P F┇嵓懽R桹:)'O"%辎厦I92 國,}~=/毂.y=鱭m腴#C _傐E幱E j忪剝鴗_Y昐脯.:棰梟f进暫%j那%躬騇u岽䦟<緿"鈤慑笍M 樵隔╝q歈5酒Gx<\珑[TyC J2Л,'*閒3懽f6]KJc蜘P` 儈l#韈7弈琅`湦@磭.:呁撡Rn办4葥g2& 愾脮U\峉戽:V踪4$Xw0螞貲S璘JRA=敔鎫瀗2俫o卑H蠥=Rw]a淪dq:R%&苹Wqq,,|*TD珐pQ 膹7吧Qd3=z$f燻阷挧倜^N慸+汭Qfr%[褍5 5 装陷 !M灎蝛 ;p*毌銚S*okOJH脫鳷]K甹复E$:$cKéN瀕凜鐺镭搵焘._紝颹a8)痏9I岺餏伵 艼椐嘇02翧1zX翄5j<箽a#2l楿ㄐ厘Yn侵誕赸覺敊$%^A]%EP昬辡毀╋c圕-窝&C/}t拳鮾(\)0i&徤&AZIE1麲s:腝a奍8K9?<田鵧?澛o.M訹鈚愨9g1&^石H(J_u 滟蟝X-3侫熌7}塷瓯08譪恽tf圇吕%O" %隻r渳釦3碒阉 }攬妵G覮挘氦jH韄/載$<躾J敂*%(+H/gM &?檫v q窑 T4別欎1湍鸢1$ C SL/攜9)洪 )畳'盞它愑%芉.7狮,真岁c硟撧:c峚`仹忦oynqd稳(蹤逃孲\" lRt3@/i4穭K&9T(04%琁零?e煒 覔0! RK騃1頵%镝4&k仄U翤奱urL眹1^蒍:堦姧:U j鳿蠐艫猬6恈召d8榊觴盁餙me`摝O毀陶$A(汖?煝3粜K 迁匢晴TUaNJ!杢額!沧}輬EUlF?:欂%cwp;IjTi1蒘|梍g 燜2喜-ら擻)Ps劊IVv惂H"G誑!檡.Sd耜焔赚3 $ 蠴z"?[斦贑鏾喹)鶶/疰歼;Y倈|襵蚤缆伏A s~阖5)4(F8柑)靼劤F曇7QIqel昆4#铭DMI ▏!IY虋 靌俇b慾垎璒鉆錪=|"2+鼼y陋錧氊o"摘T k櫄r. 襱ゃ蝲?Z 1敥昀则i澴渱不gP拤Z簌╯W8i扐箟)~G嵼-w睶j凬挗WBW灅J摧閴s掷囚唙8:鮪誨+|峖%鄇嫥为阻k&:辨zT跼盚QDR<鱄0k4QB滻"9奣跏包A 國M'&食T嬈I薠濪IE,}|a&YK厭X>栐P)hV碊嘔\c渳\IC啜鰈*躕僜O烟瓛su^=*d8噵)柂1A$I眱霩M鴻/4噃Y畾朤貖\ 匫87飢&VP66>计zz咕獈%/:嶴燞$c4p☉ +詤挘@ N矄<摰柆*抮.拫~Uc袬j坣W曕IY倸ay畯"僈xS)痛/ 惵o駞缇q,緸,b啬IsWc /&谑詵 +=偭 0$Glu鋲\熟ξM~CX▎M-q'谽l懴谇ヌ$cLS;G堦2%郥 撡6蝭f咧%F9嵙6粥q愝噩鏹Ixb"球瘵q~冷"w岒iP4I垄I"#鐦, L$6俀忧悗A 獞事r =聭s蠂魆)!屚3tU槌溒 異:e褝*價E騆2I泺#f陨q65<揀&鉌2T)'殓&\悋@#嬨詒|暷睰,已3GPi:>'6Vq溟t|獟Sq#嫏J驵A-飳S(/2聚澥鶙玴W绚蝆 雽^抰H椆楧\闎退S膅歡塻')$0Qm3>2\O[R鐿2翵6b *$*吷 v磷㈥QGth炂4稝訵S.項隑発蹤JT ;w裈7ㄆ9kl9v鱱dx(a 犸沑G#芻魀]鉃$R狫J萻 q灅e1<*LP%藂燨瞽M伊@,1e 孉幆HNaq模F嶪rs,:鵨奯t>G僵牘j薘|晷E曞易笈峫蟡庛 l汤'饭屗e 驺夾jT椣M蹢皯曯唷昲P` 灎J'1$,錪Q'4z 騦*9母藷2鲸嫿G峳Gl:笁$U>.E癬译+檹G娵欌q產颉扃椧弮.F酧8叭'拧!\@)i&8顝:g吶$b棾M1W皧啘剫(' S(%f 襪k魎等r*+!8 *擲駵嫕宻#}gU掸廠幡H !{錳."\L瀉剂;9叭.R隦茣貋[H-庤f/5室肪`瞈A簜莴o穆#t]l鰭迮$-敧塿円EU鰮免":瘵K寀.i 靌刐钑䙌.皬丬$D蛯*彵 鴮喒3撡l&C餦鳟 脯腡 IDAT)K!飬骞 6觻蚗E)/迩l琏+c 瀠py&鸝'I僆&y宑;x鷤豫M礆び捚眛e9-鼢c_A簭h&,$棆倚躼萣庡Z5JL 廋[XK殫0# 睳R)vs絋埍4僜模 `悾藺*0嗧Z鞎{黆F腎恆淕箟誼詨Y辦撞#峅,c屃#竤z鱝韚5業(K:Y> 0穅膄q榯/Lㄨ )z糓HB嶫豘搪'I}凛3( nbws翕P菱r鈚r4S鼊u8l鈜rl/冗蒾笫k必k樐&丄q^ 颕#i舯%.e漷捖 G錑s.*碂 類<蕆榀笪棧{譱犋L驇⿵媮辚铮麑$珂W.n耣'箠-@癷猩穒C$羫 L&`zAW澄介郫g'龗盝曜襵8 揸漷帢昘曝B湐痂 滀?c寄{┩q$:訉2AeyX滙蓑閆> 棐)2鋖秳/V支遭雮80(1 N*V戝k笡飏>< 巶X陋詝7G榍 b瞳芾鞼仪zW皶O顷爱5 鈚袇厑G<旤a顫&槮zt箑裘 p1^RPaY埗Z絸讪i萯6衊q6`3蒚1榊讔C嶯钺G<薳粱詑mr鋂兿>x恾ゆ94馢:Y:篒摢:帯;!塆 %c/y鴂旀X=88%誺e1r戏紛罠鷀xf:吭@ , j揂审6`睏UM{訜Smk槵e'=锟J=T蛆<{ 鐨k倌J殖:餰|XC鶥粜M_:榖俀v<士提樄詷b鬊冭蛐`1%栓m蘓痢^獞)誣zbwp倗賷螼^窸 *魊擐浳疽拝31醞植傉j&j$猧E兢蠯敇d;*碪*>e&8E栮rv抁蓃3004DB+砓⒅)QO# 歜2樿A kX羦j^脃:~絴Nm恦ㄐKtG靊諏$=L 脊+練>V矀nb流sdx瓊〨,d)3聁3嚏1< 孠9彦 ?[g觎yt{貃^ME蒯t<涆8f顙e9骆燼幹篇f蕖丱w064 'Eヌ3m#椺sU遛侂^B玐A& 糮鑴奬x)Ka)9|唎裩鄹糖√LS拱杫-9湖b铳)薗i狝朝?躍=蛑 糌:捚3䦂9∶]嘿僈瀱4;R,~:諙姖喃UY藝繀n!)蛜,'5z稬Np纺y奓剚, 燳璎z EHs|'鳀2絼!喹膱繴孔 傶捐Gu沭~頯'毁宧圴 G#$k僄X蒃<麢樏堮罸拙攡&匨5Ud2%閥x勆2 $纱埽拭椚1E﨎(,惵方軥寑qVj3`Ck2猚鼲7哷[峐苋N~骗膫憌{xI庹类g琭+踧崃哆荮污獭毁$%領l\閰爣)Q#4騷't閂白A,y68郢g鱸幉<@z鬡榢i`B槅鶛6腱Q((G鲣r5橡C.e摂46&6t镅m9'赜"-q 锞5v :IK峊 =螽&湉狱滘1頴4&窜洖鋼c毈羰o? L镈*齈 '3t襂8PЮY:p瀍9t0桊鲅cπ8-S可r:Tz!樏v幒5幰覽箓#<-$"窻-> 6E*餭r-栧 x镏;T慱鬶%r斬限)尬4┒Ti=,9檱謂Lb酂岹U&\6%!蕚睮襅>\Mr敞P>荙^0Y 綌昸怪6D餀鑱^斜5铄县2[談国哟撍へ适'E權!118 O魏巈6'W鸿$t#*%Y睙bl剋嘞e酲Sd奍騎纭豻邢軷鶄d\USZ1|b$棣廭:驘 h-羠楂犠 5>潻豺.V癳&9VJ7%:J`応PU8弡8葥勒l`狥d箯Qg鰍 <麛箵哌毦$]t袳囂:U鱛{H:$  祩臲7 0D絲淡2m.麍z麶K.說.v矑珘永胊妌9r2+򿚦糠鸥伌榵潳Бx杁捌4Ev1䙌>>G瓛Oc孲Xob懄梸2弛侴觨R簟嘯嘥2"[ZI仴<*擼á?=綉巶车* %赀浟:昼蛆.]l忙椨瑮锇嬨>醷AUh壔p车i:椁儗鬛T篲嶌漟))矅鵍 擔 宺氣<:T ﹂爴n:eF痨絽棤U銾馪O3Aq╄P%Ks罔搋*猧a幄:鉯疊 硡惋-M皵v脑呲錼YG吔|9A濶<.c濕u2Bw踥惫洿8Jぅ洟/kl櫦4K戄/蟉U闝#/v鑌b懄廇ㄓ篊炦簸>RSL抂}T>Ho=毹X醖鈉E 8啬0+赲,譲 坠衋0uZ0]\娚Q􇞌餼Hs吔蟓 縜决E鎓lR憊焿犩S嶈-'4愉缺撢燅U伽 N摏続V7g鮺麕P> 奓2N^j緱,}恇=QS黀 =飞$渏飯席根~″ 䦟;佘!J,1涚╮3+u鳯漒x魬汉虻+箷)2dH&!-?M4獻禇&G撿*9镤定G=Xz鐩t$摆聀.瘿慹寜砵汽側殄1:堛堛dIoQ EV 吭 闐=薛恒軱z劇猦*猈湛`3!g抄鶮诈Q鈘J| %紝$)檓"!鑞_U葤%G蟩;杸≦c琱*'::8佶啼_ 饯J橬,芾5EG 蓘朝孚+4懞襭N轑)蘶ù轚&腲%l拁zu*冤眮 5l 殜趔Vu 9姅貳'|p巌嫀19p造閇徐紁娝③8┩{=喜鬉趽镚~t躽c|厱\EZ侶*镵uPm.:i灘妚<犑雃文m6NjPK馾\R.*s$渄P9驍( 逑蛳s:K* 4猎湣t)洪 欌┘螁 讜の覇揖4xTa'?+肮 騥攜 7襅CQ巇髅{,LE澲鮋酺鷋C雌#醪沽緧::牃?:8I12teウ舁卄闟)v婕?`b6򽖾鍠U漷覯f^KT袓胾擐%轝>HO:8'o0(P"C6jlg掚.厙-&B詠覇AX莒NE冦<7夥q9,鐉梲T,⒂Gt_  淙懀@崳毫g參$>3聭S紜9汚v氏n謘&1抰蠧7 ;>(項!4C9洜 +縟>r+滵kQ)9A櫵X廍暓欎&zp澳'婤陋寻zT/:5`%棏a:dfa,梓m2a媈舗R饥DD髷ū嚿$婕.5&9珍.b{ {&2档8T1I2蹂 蚉>H左体]汥'XH m毋欤枸&f[)\jx4壚4Z支谭澽1囏牌Fbら -#4/+ F>Hm恩_}v绤埪蔾re案橬l88%8嫼KΒ{護%.3层25;%觙b耯奆 詗r魔W砪r洎矝纒s6tp◥c奿J8byv襇iY阽籏%$KeN*舨敟R鴀坭落卺阳a鞸kFㄊBM矎*k2捬o顇 jQe/荋s%絰c6+箞 6V0+1C汧麾5uX,R√S銰鵆JsZ㳠遁E謄%|}T摑滀1@輶誘指8{巘k`拯58@;Tㄍ郾@H鹹愕规刺膛=\顩僉0撗疏秔:賘囵8愢bM"瑚鎟揯2引"猻洐*摿獢≧g娒無>sy梢鐡jyW咂雰需悊孓$:J 嬺Bn晏饣餟??滵M鄴ee凨7樻* I蒆凉轮揻`8疛¬e杦橬﹎.|銀䦅$縓rr绚)炥|&骘f齵骲岵>計譸T鎮禝:.<匔'u瓻揦B爜8媙洪 )Sⅸ'LJ鴴鹢袗e_MZ, 澗纐F颺>䦆:-惵僰~y+ lA%! &鶰悓.辍5歀肌68.4沋p4溋 n鋌2tzt则誚┦毰"銫鯈祭オ蒆P迭k9蕢)~>浅香u^偛|桘H縵%佯筤rC "E藲恥'#缅⑧WGJ潨`%:忒_坟 Va 拄呎pF`{T誟U/5qT≒塌谗=w4紘-迺]瓴啀)yc鞉祽鸥鵒鐹i縚/瑉y账n=萝T3}9琀m:S滘}鷮12d歏^浢Ls3q褹ㄨcD淙a,h3 哅I挙H&M&鑾抐惖腳汒3?流0T洳椗驻l錘n凄87袿_橔榔菭4&#<襩g7h橴q*8男$軯\痽1鐾鯨M銤!&繪l殨戽f檛 ` n慁.3弾鞍,曦谋嫲蚶&咷*萇诈婼Mtqь踳煼媔朑晒郅)6r棾邙踟::吇k#僃滏絅g輢R炬RGU^囪}6笉Nlt毜V蠼毶唣um0杼晢h敺阠矝Q$蟩}b-\侷4)k殆9)d;癘安-好UEy驍8)蕵 猤!钽F):笀 堾豶{,z恤 (!D礢熊z/爧(焀p]0弉鍾:鸗毣=5ぱ纛冽Q触╧齅r構Y噸蓗N銘d+$zQ/賤3薁鵔 憬诓m`!I榖U遐1鸿犔貁镥|=迈W剝8zē绯簧Pk讣貃m襙鎷]=涜"I噭怱$d嶧础FX貉戍駛p搝os^'黰f43魂 R*汫悻c侴郕b鐸#海碁`В觪gf悽az)鳸 枴軟=F,9~珜5x詨j衕~辧曇6v形 靀睑E5皃d徻.峌n梈踁睘蜜;j&MS渇jqj魢厄&頵氍硗鉡|囅崃樄躝蹄霆-羯峃2嚻DwF 鉚縤X共 鬭xf6矟5(L5逺憝!."匢卌X\臔 C+躢s騊WG-莊Mn`r鹨F嚒a攕S∧b舯侼閾鈰Q<晭穲 &Mud褊\'K@様?a鸎Wt 2?徼掭督t?澘[簜O鹨厨egs膄慆奎u縴)):e豟&槪 : T斥栕@F)≌`冑繳.鶽3兦1l謄#吜r佤摗.l!'祽!+ 獙s礦%杵忚冒&4L碯廒膲c抔欼Ι簖N礗DAT3FF鶩鐱5.N妼寔H齚*"磭稚瓯A ]n裪'忏s旜z1}嫠⺁_錀响3砫刉8硰D镝b2-Ke嬅頖@輮0ujⅢ\y篕洎嗪>纐L *ツ錶茒喰俢荮綬更FYHyCqR猱A4Y 蠩$F黎 栽T 5爧$Pg焇霡媴sD4驣kT衳(覗り轕"O2覶1H!# U-蘽瑙;袕FkA,蘩杗~:挗]'m=O<#< 鍆笤:8)rg印u<蕟吘{赆o-!H適%鬔楷ny粮觝H疲L%J敥袪H/S1J%幈囩 0$(1ㄓH`r/"枏W蓦b伒醯暈%钮$I 鐑6(訝@2JTqh鴢aa唍"睦0$H肈w摢1匨/緓>葅詨鋓 i釧糥9萰 BTqrT餼|习間=-㏕;8搯 弍00段`i0+E孫誧迹苫o-F9Eaa堕惻眉x畏旟O0B=侗z蜲Lq褏=顽6矀z琚[4CTi2%姅(R燣G齀u潲!6g?阗庥燗俕甪 秗iz搭釉aEj+鉸僤瑕洿4b翡襱寙,!廔 aR謼0)孞4槫頧V製Ds 5材箘挙8殷铬qB韩R暎ㄥ箯k闂醖1鶖╘v僊抎>]:崡ú儸蠠竽m&祒$箙X/纭Y緥)䜣/磜妴Slk浑;5H鹸2t覥W腯7葥臦e 2锯 c;c$缛^咟8沖躯登鞱珋珅綐膟9僜C紧 hq确$應/h扚s!$歌*D騞<`疆Wr>@鶷监_烮睳苻翤奒^廏s臘 ~$僱FO彃)8!B禈芯Z 欹錞褭釶 绚C黩6/=蝅脜y 綏鞔y獒釛yuB1u3}t#S2b悡 椛揷JF滟脇<挡qG_4愗-w$in逆U宲+覯廘@堆]靰N I-!' ^诊Wf寕P)鳶^f饯焁繨橓E屶绽淨窟谼F8犐`橵 tC俰醗p(髣? 鉘2a鷂磔3?虯晗馂J;瘿2(撛娉I>k鵅昺孟蘽?1~--_zz>鮷褹碝嘒589睟i8圫loZ\磧j龙6矼S珛]}Kb5犛豦䴓徒 0B盙 B*F\q嗦XHV#PQ饁兏f郪~昃"TsgFqT峜<岑7VQ&%6s姢$j2樰緎0雇p0uj墓抶S!XvQ尝T7 鮭鲵7M_瘽╥{3函 D皍鴮BX }榳秞橼★胁乵即W/漄矇&顎@(剢匣仺彋 HbU鐽  a哊*W岘糿u舫咼`](藢 U_Q3!]鬶菃煲YR15 皒巖5\;XnA郅衡事&茖N皫~ 4e"內催6錛螜G?}亶^}.u预筐蓈UO'q黩NT赠牴T橽来=`%|板 嚫|,+<溲絪2'm繠b傏婻頛箻! 擵b挶`橶YB輖x备屚~謶R扭-*:*翪s8諅閵立魹g!^騆:"嚣軱0mγ^yaK帐3 K VS8G劝帉勵揂294箄oh韴)M峨压|*踵煸厝9嶲柠  R>u奓0N~gCqh鵅僛明 ]幂-^x仔穯轧s6離匛2冎な糇柜劙煉b渥婚aZ吉訉1I笶hq銯搖粜C喭靊5xA樔BO粙c增優Hj佽0帛匆巆8T_隺郻8T h嵗bW#裄$鑗3訙9$桷;屼$@T泎b犺亘N崯Cj炪溽A纠i ,d凋q0烷y艫嗱^zZn箴>軳^荰藎豞qc賊蓇j稍氂髙罆u-p.(聘扆5辝插放477盧f*贅靍@v=tVu蠭W掘:撱Fr摂右鹏 \谭O 蠒X峑Sl1!N :鸜K6 R拈燗)签c擅RG4E獝戗抻q:G q<$1o7~鯀} ^榖j◆挕緰#䥽淡 梿䴗鞣x釂∽s籓賢戹p"%閼康+&鱂v睏樐C炏瀘譺Y'紧蠩$醶T儗悏瞉魌;睁p戃@GA▂;少 *岿h|ill荋b娺炘t重OP盹]捘堄肐J~谌S儫挦椢垶:苅詙寚iPW发蝑$1|Ls斾朄r+偝D仮副 0江峿麘~窘|岟要F鵺;亓]:<v嬆XM摁颽g!~遒薱 Y;箻齿_ml?&L瓂钙x駓$P陹啍D垻,滀$4ㄩ戋~^耾奋Z蟨?砫2拊鈪]2|磅gl⺧D駡_飰沅IT.E3&& 庠E9i鶕鲿 q<;筣j(电m6堆K刎\蘑kD掊帯谮I滫曥w澈蜥+誘{説\ L梒L3~8桺"帊RW!G>t亐袏h揾棢駩籂%K琣bKe+$}Vweh+[攫囵bt遠 Rxox朷卥嬆逡窷%槾猻%蔜┯懒gWr=? 瞲蠠<薀}o卪堁s d篘 `營榊&rKM仼湖赆刕妻腲v袮佭銯鏜箁顁 6E#p.}编]頯}2M韆&]3紊煫J,9:=k9恬獔X>铻己蓍釲Y涰=驱谓棗鱷If訝丒]T*荡q眖棰#^| LXP柪荴u鑿V椪F9襍屃~@疿*vW8 蕁攞峔襯ky8籋?仰?k9t~囬艟 /猸鼭姆& 熍'!EV鈽鴶q剫邽鵳绑k碖眦攏9 茵煦^ 頬^Z(r)煞軣廭煢L)!>缚Z6梒[膒Q渏W,W\e:8t褽fI捸硆6>*揧 L鈎謹磨.黻骁蟬-T谡`昛o&縡^:橡v.a圔峸櫌.虏ó怽嵧5j*H腧録Y澚j瘍纍-,2诨$T佩Q唻m^8鼯襔诹酵懴l胍棍碊蔅7罷5#񍲆;E蠜閘iD&`樃埻皗>S翄+gv'Zn]_5m斗q;H}b鼄m鱅闠礏9RM ,$裀#?氺g呜mX晞 R柭#%Q焝9葯YZn .芖=H[鳜A篢t垙O憑楚h惛.藒Ux炌5 獲mt)1h窘k瀒 ;苚y} Y龇賬"殩[Gg 谣s揬|~&萊憿寺2籺{噃辈郑:Zr:T苋*澄鍉?yねc鏑kXyFG]鏊.~;飐嚈扸 i[,鷼6廔駋獴话#).4k裓:摞>,焚~-v旤)x詨?>!餞+J怙WU褐^wu%┍H橾B扻榜3E/,昝2|勴-_x鵓籃櫲冼>皘8%& 葫箋Ucu唒俫桢4g櫌] 炝熗M$<\婙;Ogwd嬇=-6岋楣韞h昨叝}幌\氃Fk/8I=啸eiΖ礽鐵i渄づ 決`[K !溆mb桏 潾a旬x .M  :9蚫6+(G44e#t紋 C貗9q柔偳^:_策跼ni;f綮;幢M7嘯坐H l抰r樀 毀栕叾IeKzM?痕墜Gy9丑$唑h衤朔鍯m+Zl龉k.勫^y鳨ι沭槠鑁oX姶гmi*R·$,f[撆6USO鹰~~漕6&毋C}g访’蝞^累鎛ya\J滄$y气@>"订*漈搐h{*;攧漑%%T绮.L>蘫Z緪骧信g究埒鯚㥮s駼Y顄覰8Y嶸飳I).s憞M佑#汪纲員烽>8U>I菿71塄阕Z[器?别= m農勊[爵厦i綩_X$}$+7惘2挙锠S摘矘42GN鼹lH9w時捆*Jz祵Y笁鏖鷚<枣"瘻珒S皣猞6/~d竨&拱@  篩A/1>粂橤%V*AU臯p9Em$ 璮GKwG煞釢m>偎粁{畚>=围匼h U|奮夡;鎜洡腂;偂iz殗n叓@4hY阛隦d 頩骵*s鬸e#3椞腠鼧;嚌)█T.廛汽6!I . 鴅乂倛@Y姄:N7?'u~e蠕蠹a憊,/>0謪 R%&j>韄瘭U 揉叴唇CU-iE蕭T齶 jc苈鏳\2魺G%熱w囯g鰬 L<;傻kIK;䅟l!A|4沼湔`坕J皳妆飢熌R!7簋6t祸R鏢糶郑 n鍥檗~:$d仺pL4窟饵鲞劇敫嚮6G s?哜淈郘ug滁鈥`#熶W鈚蠥fFk3_ ?充(忬趚&&戏|\耱糊 䏝b颠毵}帅苭 & w寥/&m>^5L醧ж嬵/Uv>嗅fcTLR:蓶 fdATx溰輜淺鱱澗X鬊4`痐'臢殼(RJd),[枖g[邱擁膲瀖}鋻改%K稓%Jl;)鯪堔嬳mv陖梯偱. R;烫=鬈3鐆~傂O 2邀m8i確 >魦氵au ]9 D.猵7ge/ ?~48n}=黚x}殣媺夀l 淉糤脜蜶#鍚3椯隊E^蓒v蔴o饐 ~,9抟`圐禃暇.1!痾;橖i'g w鏡齗吺&^簱R洈怰/9 yoyrA衩.L蠍螹唗Rj nS7枨郖k鱴枉蠲n潛!潝Z蔅%晞削r閾奁]鍶竪苨勃HK(xBx'毫6?窯}窾xa猦9% I))佭冯≯艄8^C]$b[*赬吊龊U^L犺L鐖贿;鱝.90狨擆鲶 $/9紀7|隮旍q疎dH']ew嘔滲5匟8b窙$OJ咿 $1[覔遁о徙!漈繨}%悞愷喰+蝦鑇秣殂#潝跊脷韾剴w詸枿操ZOg'晞懦5+曛0瞓1 yq嚋+ o梾7K:|鋦椱5嵴 i 譎 晹﨣y@箓栉暥餒0B碣嵯氬uo踛 \$艰*%·7,斠鎴鐪隵y蓐魆懙铞9N$柑晨鳕㈩峬鎕 ~餰 噓8L漋孅遁~/5hk嶞鋸G+e忷aよ6siI綊bfp蠧挥VU^鯞eu矡瑯Se榘蕣`=娅Q嫍?踣坐k坐狃 磠Ii2磧/哨鑘凃/縹韌.栅/m./髀}Z@鍡薑驣峥$豟Q V4鶁P犴$TX~,R擰+ m<遥a逸Aa=蔲HL倦Z雫婲 處斨)B霃弑K忦hkfB3琀眇|盵K思缗}o?)+鵨&俭蝠0y4怕o嚳r膛别/+C螼Mm鳾肏J+脧7<iC鴱彳馂pbSi耞霁酇},7O> 7 卡1C{<0咺 虹]錩)菜;酴 弤蠖屚烉鴅{U4髟恘q痉d碚)蕰謁讳汞妝_涽紅\贊涿[聎4 \o嵉-){颥缦颃.鹞D饓0罢-娋鐆mV蠹芩绒1 ]姤z'}屡殰i絲gzT棇G旀檏薹e套 諱,=.寓勺皔蜼陟姂/ 筕}艉h熜P蕇?耠.襩硙.6毳済a臬d=0J鰟鉰!g﹚琿 mc堪聤懽]66*0塚絀禇=l彸m2藃蛂鱝轌/卷=錮攏LI荒燩梼Jj|w{鈡琨^^<汎Pz磩:誦Zi⿺鳠嚐U;醖('4 绡Qw擁綵駇'^#-F 1锔@H^霪?oWm萙,Wc诫 x} HS钃埆q|垇,B祳林<是茘&4&,H堺o6cK<橘a讏(zh姀棑E禈#j-c▅糬耛}~<*'DZq鱗!癈軟VKx中}x 泵_;夑;/碜B蟃(=t镬E襷u9%7DVì垊賈4+j盤 縶'&+H?謖:}J l/%ガが9籜禈F)5枿鰳g7葙玭鯆78 ;硪"#ο 沑6)[惽渁邓響訲"佗o飆N竄搠紎鷞奫"监翢铡S%^頇竺饤儂洯S扙蝚7l鲝,肖噱糫諩锝肷Zu猆碎洌礝9;鳮7itk剉L挠IU蜲;fo屳鬙5蹱Z Ons晪-瘢齸开'o动潤咽噼涘@x"-瞶漦輩{譣鐶w坽綽f}3铨`Kx9m欻急葊#焎Pb634H娧嵔SC萹|攎條校^絸?:裸"礸捷覗珴;<L#n_鼢n!%>z|$Z#羜跬傪fC^丑{R6эX^7Mw門鲍顂阶y7巆G徛 楖7}葯je冕煦民\鬰!蘈聣{Wx _v駢x爹k*l┯&0辧 ξ阵?=z馅踗/_ij鹏';|gb湕撖擦F蘌pH-璖胜䦟-6h襜9j$(i觧硟=9り+絭仃埀 L[魩搚:鷗4∕揈f+j份楪諍橛'i眴燂‐pY誯`*Ym鲑e7嚶*湐樒车旓 R*J谣茽K帝VK{< Oj駳6亗g帡<栅Vk刮A$U9柞桗Mw恢_⿹昼燜yE1朦[G祧D嚈湧{t揁+U些`缼?辇鬏"愓稑醸澸+[ %廔'"彴錯噹珳9蝽PQ洣,#p遱酔毺度J组沉.RS豫d剴騜蝼1讎&臎6譈M鉜Oh缾鱱LcY岯3侬g}卓翷]6{;l尔鲍忙`岮 E%鍆&pX ;訶i岣旬[缪!鰅 昆a峕V+!ko貭诐,;4嬎媦鎁4铃[Qc仸c#4h揔螋H?&惓2娛bz醺跔-牯K`籡鲙`=%篌選r维m葹机 I+qW坼垖>%燈M活!带駍裌\鎉燇BC僾5; R3a:凇2蜼P义褼(协WG/Y]龝3-9E鱴#法}灇z辌!S垕 # RRP鹛 5q臄$=+#啐jb#姸麕庅 鮭驭)(豑RR*虼%暷匯糑 况2{麲" 蛻菆彫飿%O爇MG7$.%@<拞絔賈坟m瓽I偾/禤7齧O臥驅W襪QN榘Z5睬,D阭91q%%$>l嫟~e朓k跫锛@捎#LW=倁6^[59L]灱P(17*▌Rb(鶤;駄潑Z垆O o%OD阧禟G\盛]6O汏 ぎ过誮!捕梉cW薑J#o-7CFZL蛀^縻"ⅡW4嚣憕e煼礈┝湾: EYCBo篰 徍AY.V'疇梭z9Z謏顖c:砩戧獍E峆NV))"S梽擛器]i阑U垀y驉)% IeeE彖琀l(摧鈘9SF聙6m^镑疧bQMΤ>13ZDaい*:$&&TPB(2 -p腠~f击m鳣~滥>?銡P硨A澓汆蔷%P攼垀銨IAE)8藸旿BEC5j踩梜+|荂F灾碻靤哤Yd緳┈d葠]秊悙@ 幉 赽C刪第L5鈈*5EI)U5猂襥角統煖w溵颡恴蠟o%Y}zTHD;RA6u ZFAD,ee蠔缒jT稪^* 真猀Yx)程甑胦o 蹎3`J~d湼$般梄"銏鱩殍Y苴(!秀zg)樾甂噦糦唗k塙I藠ks枙2:擦四%g-黕W0朮#r,#\0贾jM:=頒圇ueK&斋Y界ZK40(玏>鲑桛閈e9򜒏*詊PQI劫鈠糹藝GVH零蚯5险鸕4j7OL9裟j6齠 jU(T╢Q繙茧奰杦8L諍秳涺j肒y墟卞'唲!璝煖6d M䴖v?u〗闡〇GI ).鹝;頺踛V笺皇|4'W蚕ur腢 跎M嚹QR甊#齲逸馝酹詊鞋VZL蒷;n盷爸 醆[玾褚ρ$腎┅Rl氷鱇{k肤7蔋蒱P5(н檁仳 鶱勩:xェ!塝j5曜┈黃O轝榐(W>c巾趀e,禭4诪r陰倱埉豑綼3蓃i崥章焍谄辽婼化壁b鮶l囱a?`Prb畔皢鼲3 趖+飵仧^QW嗨愉猩塦完門W聦T)滉BWf]鰬熁诗肪絪朑宜妯3[螞帹7S靽妃Iq窥銁茎F礸,緐 m賬曊b _x0.6肔 獢P耀B箄[|丆禭燗蕔Z誽鑾SK%穔鸺挸鳵馣34毉VBJ\A弞晋遲.{t⑹>O+暞嶮5h1UB>镫3鏅!)暺1牑W椄^w弩縴*峈采~踠_~灇忭鐴措uD覅柅VRR斪韾tP筏( L晹6l颠K=a銛; B?;餻R挡 rz断 o诏蕍葂e鴬C煗} 凓臂.嚞o}婇翑﨧醞lv"g踜矨乑 拵港恛:踜焩构b喉3dP迾Rヅ&T颎栊i&e}嗕渆嗧Z5 ]d餁┟+峤'l癚^h扔霺'O骠缎}w莶鷷%渆嵸m瞇翷嵹|送*A鲔攍嫡椕摯)fZ鍟J蘟:[鑰刳餘ye敪p锕吅#!瘎 j甸駔\ 6h揭@驸2C灝,絵"kvW詒鼮瓥C+f $l阀r*7Jq紌10Z5_伈u育Ivf暷U)e韢噠讁朲燡蹈复勑nO#2畩bP1鐭P躩0喬n嚙m=絙唂I 5-~'Q'%甞LZY\L螢@%j説P; #6Y餀@%枏仁嶳R6」e;J暝Zh啋?魪.#╈悳祅U催錔弳 蓪i叭\U泺]0ほ勐檑;_n縥f籮%蘾斆豯号晞J苝q是確0k$9 ] 灉<揯毪禺%盳+柉壿餁(:莫o肣璹s=顏B凍tXvl瑉鷦 奶桋M+敿U鴅U稕坼*(愞;懡Q夿弫:惩S?#怣z' 椥冏 U)┒疛莀涤婻伟.誼蝚㳠帠5c92莬Zr宣c+崗唅暄勖ⅱ^s%垭%棙o-/&.蓮L晞0&o疢窍濶K廣嚒*膜d5褂MQ狑焲uo搋勋釭庚羉P艏缔;Q抴:勚\'&&?诸惷vK岗: 麄押瀱嚳+铟m>_璋'吉}*i揲萮(w雹 錱稒i塟O4zI廸熡濟sx大捐-菦0α阉膜ぅe$⑸$绺mV踘亱韜咆 -租R艼{椠N弞e:dN嚕0;J溑②英V暩zw轵'珬s.4Cg橝7R熀e阤0u廅}%磨d$%U $宩> }6*|?z积膃1锹4d49F'剤)钖 . 疒hj-w嗕 y芐;}紋2S玷%ev#u'i臣)摫P ﹜溲蟶銻豠䞍P!辳+蹉猎9鷃p{i +(tS喳W茽蝍Us9d嬶祺薗i莂疓憐s8Q淋 ^U***8玆l$狥娍虠针~5"s qiWKx_穨骫妢蠨JLV0牝"H+9b稑2彣颀_朓9l嫛狴%d椣衻碢酀嬅4S厙僐Q結EV佇2徝^潥*3遐F~f8喬x4U妸q拹t嵅=鷋徬堛7O炋i(m瓔 "囩2 譊B,S遁語4K砋檡邭蟀w;︶庄 $PB1捥bBy/2邶沑蒸r垲]?`zx蝅絼銱%dR:獅禡!〔魈SRTVg.t昜胕$&iXO%q比动<妸翲B髠7]墪猀枔P擰玍児f搌|/vr5鷔8Z_囧醺=9q A3# ±佇N+*IF扚h楔纬-遂>i=Zr.m|24W攱J禚 7W9 糰bKQ蒉悀5薶P-T擱瑼>l餧澐z9'俀巭mXi懝T+SJ 啟苒螏贱XC!%⊥V:?R朄^煉糉u嬮鲰k8栎蓨廗hMx%鎘 +頕R :[A\\諗梾O肌iqE I丳暣挏PA賚峛䁖縲燍Z紶鸛傤 qe9{r餉煴_崅槃*y镇婜7钯覹 V.杌K5鷏H申U拺裧餯鳅凮o⺄>IG嘞l熿玜饛a`嗼$詧`HF忏棚za}镡鷶>偩 趍隥DMxrB汍bz磬穾]聫鶙~U襌黍 H[n34<.祿 <燕Dㄖ]旾C1Z 4)|痆9j%U珫扸ウbW;k,攕痄嶰(影魒[猒揚B暣凾e倚 T榹猘谡3耶S總PJZRボ=v缮z霺冮楖鼅篹%TI獦儘>槜y">」耶W^燴*qq膋?1L熜蓟:裡PQM2猝{2>噓闝朢瑕'脠髭遪债訝侾Rb4齳卩d奯庿隐g洨CJNVn9 `湽0蝻y靌^锔菊!店嗅n綋n涧N6"豿閅K5)9`Ns[A遺螠jq鸫w遼P吘鹩&烶< ~鹩&' q_槫%缹餶釤 ',潕柙獹VYJ蹄瑂I軾:N.sU+樵陘n%玩[珽疥(镀p讣ìい 玂澓耐(甎巤縥Me%T唹鎑uk爪藔7踅犏 "N裼阍炒whf翣9yy9)u訩+G 烴姜癘Q褷n蕉 3侦<浨眇W/蘆}j:植捈A晋t橐デ-zn橒\钟椢 o5K虗^碲de谭蠰鮍丏犯f6'+. 昈枺氦绐曱葁}|鵵o翟遚┕j"]YR7 柩蹮9Q閬S=菅5塝j 9鞝K璽P噭罓^絙2狶斔I槬%楹H巢d#贙ヲ落嵨UFJ燿P积z譥XI\V>龏鈀渒耶1IYy菥m兿;()$疓6|8Uwi捰7[s+虊鼑渘坏2s>酮$彧d-=lR^澰R8`HN縦姬捉R阣膗汆u2[-r鷘梏] V 齫k绥芺r6=j掏挅X>钴剴6瀄Q𒁆跚dA喦`;酄 汥0xu雼II諅$2簸翇蜈璾&I=-%颡u怪驫璏吗れ2滨\鎹⊕礡T72嵡qsuMh-1麡攫嵯+}<)K酱崃斋BBJ&34K!颸浸驰烷墢茹,RZ椐 +L耻 鷰峢厜賖S嘆BZ滷 阤FH=驃姴乎*猊m+f蚏璟礔i惩ST膼~鹠癕<5K i转+異扒獞.冖睬BwOゼm'n駽LZ礔嶊UK尨DM2V钝跫菓夜,[域H橊鵽堀,a*仮!胶8琹摷ej配茼AX)瑨睳#砪O>洿鏏i峟櫋V飧兮蕩^栍痎暈詳@Nat$ご毒/隯Y e瘯瘖5j )絕 蜳/┩粇靂 +Z溽桐, t蟿j祣偘H< J諞誵Y栕疜堹p鷘i 岴Y9* +7 辵@ b佮\ $舱復梀%z鯑Ky枱C+濤C憱M萮鞋A誋坌駹lH嚸:*ИMN瘮~a,孊m/卙鯡Y(痟熔暧崢3#鞾K號R皎k")崔* O2秖犋) %+5pS涪琖]Q 隝篱d镵?se)/ <妫騄#=g晲G螞4鸷9x膗#淁爓铭噜繚`╙83d茣=G聼9醲P9c碘闪閏i鑫LQL< <瀹h踩踆U玽﹦PA羦WK牾觏E濼嬷c 朁奢宿=R 魍.-絚帪:劜:磇燓>.]暀鈭*m7{豶踋e3労絢ut埿偈剧b *↓s48wL0伴ネ>'07鶇藒鰎u鯵坫 /T携U珌観yzer隧JD蛷乺4{q磧肅B6笶晣蘳啳蝨 絝Δ缔 巹甥氆4卉|K攄-吃l璣差K阄.橹铹暿駊zX庋Y0A W擶6淝L ℅.i鮆b蟠Y飭献佡誥糈[ 駻, Z=l|蟥飾於轸>W鄑,y*i耗撒吗魶xt騄YZ羏缳釲晝8b殧4隨辂l邮莑4璷刮].T+獹沰緲n噈瞐>J\妚埴揱栝ai鉋覇├鸶 *)疾榮捧x芃Q,q9 <韸+_鎜&毓蜤握h葠:iY{:d穟.融b祥-%呌烈r20茫[(暷龗5^螐翵W庝篕嬑嵡茔译2+ィ t蔂Cv{F!6啞l;恁鋍鄑棒他亢0b[祄"z>繄哺ⅱK倻冄P嶫^62鱕鋏禙賃犥裘OZど#i娱m=>h]wY魁槖9楮纏:X烘崱%櫜书@佾0u,臄牛栟9z≦E唜f C尘酯芛f+汝譲穏v%U.;d楊qP uu2:*a嶦毮uX?曘謴o棅丁鳫校玻嘠垩: 瓬j仡]w*鹏摯投OE1鶁Y ,T'&a{m笫焭楱矶髽8~`菊jT釈J:4h3詪 踟煨繚S? 擯RT悎R拿5P戃D旇沷佇c7踁絛餙 ?鲽蟡2譴C髭i粀~8>菢@苐薚忟 訶`x扼㎎8,僵^^BQ(!.Pex獎1夽旫W侔>霨鲫Srェ骈? u鎕(-斦f楉6脔塹)邷=帉ch蔣酩谩 w讵鞹eSO=KW\D*圗*燻@j Si G胏助槞zux羍|艌(阸︾h?詂#v犙琿9V蒎泶齌Z灔4*)F墣6$ `横績1L.郐>=H溢 %W檃*I〖u某>9坞矬8j-祊@Qot~鬷j=uPS-垝 円挅梓勠攄%旻 U婰臚輓嘷*]赏憸WT*O[沓O粭S誫6j坛@莞1M%y:撮9]驹┻?|鮍瓴扷x =&E5;#L0tm87甘9杖D頻2Z頔豦熋撖#u螾楑熏緲*s-衊鼨鎚鲫榲秚趐闥:胲已)1患'a佸j FQ 奟Q餌%管l鮦垣U+%>T愓i1t跶?噈'∩|砊料踥玺&<淮xG糝0>,}E(脃柠犴AJ>獆&)-QT睳謏骍玌湾眣:鮴蜇T^{5檕芉e5脨诚嶴_<9朸q逅 已骍妫M佇snV%'饚GjK 婇舢*鏸趻v伌崫.1艓曆骨Bh{4M#v狶ㄓ靡%kv誎K "焽 敪Q嶀耤颷モ2t%〨襆%)q镓麮8壗.淮瀿N駃耰 A/ KJGuL曕sq劑Z欬EQ)褃迖"5mt仱ⅶ"-M乲種6;}·又c 䶮湲t蕙s_?7bG9bk9Z0(窻聒銥r4嗙L螈;詺)嵤蝎郀6馳i発饷,~Rp篨(寙 璲絬培閴B($5:g膥 瘠{3':c2+长 /玙轂*.s4=褦狒dH呓Y9捬P爈t裔h閙橰Z40<龆NI"殶XV桏!3JD秌Y逘ng魖招%,嚅恿覄冡y1唡eF嚙谇 O棘H铊 虋軉骊访拺k柱Hd# 側KIE']椡6╓.藅假鶑qwfi<炷圖澹掫驑疸 薣QNV縙oP镘萛<7メ,载|T(糟-嵮鈔 噦ユ4'T[ 2è楯D匆颸屾,穣?#OZt葨銤wz鏡_饄:n8駒轂芦礃i 连~d?谷惮<掳"圙{x)騤4I玵6棭Q櫨^b屓(;l嗁8膭錋RB╨T[赊餽-柀▎淍(絖 [;7*a&涰焗:沿A叆g4<笸舀ZB(玏Gt闂眨WG(饛W)哴缜.h珎)_)≌鶜;b滱a暾%gy絁a"h*D7臛嚹Q玠痘㈤搚絲睠>L惩的B R劒4 t:靲幅O^鉲伣S椰[?*KH嚄Xh誋*暧6o祟磴笔擛^ㄎ婊JB媕蝡杜$厞啟Rk歐尯)D豚@6]祫 ,从y鏅>b]Q.讲J^t孂fH瘨@綒hBe@x痭鲥c鰨6踜r'<蛉1冱1S靓梆?緽&uQ,,氚m鲐︴]Y湀/Y} 仁+A+畑Z滿j龘畴亢藭▕|淺K rrr騬婒蔎H軸-yE暓蝃ニ恢h6S硓u4*9C嫬塲UQ隮Z,晏o祣|峊&j辻鋄莄貕!伩M¬:暍&#Z圏$冢w襊Ye霤w4*=P鴏G44($剴Q1dAa$2\3U <溄g迫槑@緞攲蛕潱,崙V岾+K+"玆腲0(T鸳腔鷁騏ヽZv钠3HX棄⺄I*+j楔瀸偆^撌=劚5伟貁gIF僅mWV_IR!rU*挨浠(菼H圞cP滴U-白Ka&h搻婞布紐(+氚W鵮^斾橖h贍眦灢Ii 镐+悐嶽h.嬱禉]oi叻XO$q(矓⒉釮t [碹]$璒F&4k龈K詋6藪`稭±G蝡稘轚┏訸 涯GJr犗!mrвEMx93父W嚁蕋瘨>齁b氻阶僎 赵醦鱷幌玅玁L_t8e"J3"Kr4棃tg泓頹黜]c蜳(<臣鏘瞯so刦穄*峽(*乳JF讠d葊.]鷷%' |h擯Vg4#'[艢W緄g枷眸刁\銲I蔋KG唜b沫L>v钢t鳖餾69芳uGb抢崻e襔肩蒋yAY&2n 陧524b)Bo+穿W滽学踿]uR哭耠夕茑HKKG'$#7"17Μ eFcGBI(斬御5壥 ]捭Q疘)陲埇1踖g0 {O6啋闄2B%:7 y廼Γ慬蓪I 堑J轼_>9b $_澄F5姴:旖w淺wy>ez儋^詛-K6n港 81鮚0仜伬顱蛩厫黕7 厔I.檐剺:帊m塬,玾璙圹魴语唢93[$檿暇勌jv鐪g烍|燏 1垢藕硶鷝i詁镔拥疿3醌1bD晩2囏俪c!  4证徏C$袄# O'и琹芘矊3IU,l\T4I柦$嘁酀fE"趾(浳*k裡馴(祫坆Q"户6盩%z茘恌 薲闂3(cL挜H 0qY徸電t-pK陈鹋愭*鬙}m凲Fg笁娶Hq9B0蜮捙P)T購洼:鑺B0秾預衴sh` w2a_澊腆锆鼳񴛞*洵黮CX丞崱`Q,9JP恾{鏞╃"嫢Rp8K姬 `#凪慖茦$G午偀z鲸 霏蹣"I俻蠨㏄聽跉S兗/岈6x浗峖噰薿燂Kj(宄 y%rg%褵.%凉黏I*G紡z赲F)掮u椣h攟鈣蟡R鑣懱/圸 /閕e攭~o庸P瘴#]靬w莦<0姜WV擂y;┮D滼瞩紥%X s岧_猓 {镗t)a,庴C.g=1盒赝;5 薐紩+X幝qZ赛鳔;j<䶮絳覷碤dO1*浒锽!NHk靣ヒ铓>篽GE'N霛/|D漆彫爼靈氚8#琣q灹厚苓.$曓秿$P疗&肸*豔S栍FLD洙嶾3摄aR,!镲谨l%E亯" 餝怐面f 旫$泊 h碕作吇槟aB鬮qO栒簣#F捀腷鱍笈姀匢(e\奨9蔣h<搦鷤s*貏'丟慉妈.飉[i%伾痈$壭喭隿.1'lU榱姀CP聊Ai%(7,粌>枓 :U睱蓾}e8萢BT矝2垸7X Wis喎\叛鸛K')"每bBv 兵)!\斮MPh篞铁敤P*韙蠥扝b 睱)rLP&F9J&紅趙痪餫贖!"= uc<*< 锇zi琂;4筫 -,4 >灱钌恪懥與#〝垺Ra "d9罃勪4("?Fg旛=3uk篂ゴ伞 S.RX誀Y熟Z4F诣F蓶庉酚J 'L4*!鶫3蛁&报"]ⅷT澹+`釱べD+U庰戽瓅冦戅沋 篒萉 匌鐧do灃哔偉窠'飠o挂J, a兴:y*$P2ILz6"r睯'+XB 'y刵F渹qn&C倓躀53臉$fr$f吜S?n鴠-X殌阐|凶M!KLbT1夃q挄l F )2M'*摤Nb▌i!双Y)x.~F>匏:m4LP2O錵QヱGya鄺糚\"BV貳+%蕯(RC滻6矈u粢E#22$墷慶?kd卣: OncO摚LUB<守Ц贯wt*褕灮:詫億fl咿7 j輗k 洀毇1&柌2匆N+i掖',盠Tl*LSE'dYQ抎椁緷/y 佱圖+b爎!~ 楧羈橈p;:H&*#`LN囵$n_m昇V撀HE屦lo鲓D`/ j喵5l騎饸楰顖悙皀v2w騑L帕∈哝:zi桭`R{冁E耲墈檉蠸搣膵挱还V钟Z7((]K腺窗啣sJ9Xb攃? 鵊;卑dwI'D紦*蒰1A<9抰襈妱+棕叜q歍j攰2 d?婻钻SH矈9屛s 淹f枮侷'攺婘iO蕹*鵉:!B剦挕囁(騟睿奅呁$F门昤 +鯲(5@N(C蟩>槦焾矀辻頖!IH3TⅣ矀)蘋bcL5&7"D\DH悹:6%+O 稚mhE└0╄詂毇勧鼯,i 殂翭H蟢5弎"/y棵 J&脗崸*#8Q3*J+$衟(c敊`66:H6蓏(5# `矂藟悜>滗7硗靀(▌圞d$ф兌萉谅柹\erob柷%J膶 悾n;勑槩(睱SeC)惇婽"燡⒔厛旁傖n你&M ) 胿:Q疗`淚吖,0渫;^8<|'EⅠlg'yF夃柔#捴.~蔧Xxy L鈍tbと!)鲀O/EQ0芍b奡侂浕瑊烓睽(婪y N鵓9熠j$*e*宺勛1亯丱捐庋滜U8愦奆趇%>#?8財)鉨!娚8#'釘*嵪肑$E:/&qb(剄1┦I忷 m,!/帡鏵\Y樇觍-P6丅#E;澊昐壙髇S"G帨乖 a螪G;K #熒窎N象迗侴1狶18} e;ш-鉽%陪繴壋%Vo$m?摳Lp鼣{) at蠱|*螿啤B V嫌篯_Z晡:6:WOr)y&垺R`淚8醻@崚&毑$Xl L 羉?|o仦詃愜"F6Ze'bS!+5満Y幱H骍椶(建勷笢!f -剚I喗紃5鳘QD肉r挱D $茋:唃,鼃阌┠8a&FRj鳗E<鋍屔Z蟼ベ*}m呋陴(犮"N%闯婥@XAi%-1)袔喭蹯f[]璃圞欜c T(橋5B$h彘韁罒2N绢!_4Wm屏&XF+P'h骉e;8$9z罞朾*h#)<碌(<焈'跣i!2d徤俣3郎E1F-P毇伊%N頕N睯~S%剮呁u绩D鑃&ZYe挓牋釶b俶B潃縕燘A!舊鶈&Ud傗+'遤鬸Y媵報敺^Q0a<猯#\BZbO镹_裆踤-T┾s%|r;=碤:虞貺s槜傧+9貽%万?,Kq5搏x 桄T銞qP袌驠韭鹥癐鉗#魝嚙t顭,n`鱹囷粌0 摮垔)&槮椰褖妯翥[9v|3Q蘗9#I瞀KuQ*彙p痞蘣,\+歏l餦%A;f ]$S,+ '槮 郜I3 鷆7暣諽蜱 4⿰J孧l廑,p}舫撁苌00涎鸑+璊(Q秠m鯟敻>b錁効澱洗`7菣n6鱴3嚱灚 戵km!/鄛*摠獷垿-<入&6:/荣?# 栓"而覞|综 蕔J (岒|{桏0~茽! +絤砇c)4|^1懁(# 媴鮪c旊ㄢ硻ic妗m 睻箤V篓TP}#J,:L6釺襵曵A,h 窆:0c-a+足舊G岑鏫g槯鞒幍碽S#羠肘Pb劽硄z= 滳/*健郇/Bi, s橗2V瓝cE械舷y錤柌*6m18兲*zX 2礨逞峎i琈>銪阨2kJ跚q!q-屛9R_菔9&A檌霰/g<. -瓄銖1j鋿3E戸OM栵\6饜缫従咵榠亥回 誽畆軯篿牛夾A弎嚆瑊{<龐巩觴+-櫾嘲&nW/a7)礧堬;LI住Sf,%咥eF9蘮^0笓CzD ,4^セOP縥咕Z]jqH鎂 06橴34ι揺#戽 颚5R,Z\鈨&磨U49 矾61$(塙\烛惙I!楥q暹: 网>=t塱Fd7饬)ㄉ8齃,H÷'5臇洅悮詖Y佢'侩G蹠儸-梽-箟燋7菌5t燻`R%(2&^ge樏郳c柇`1F檐銈Θt焨IH噻x竨鵖嵍 亰奒+{瑜熓X暞咨玲后籵`酭a欸(|淐3+<擎D I:P&/鐏疇*俏輝昻 E賱FQ0缭侏圴=^.2*鯊8e鍿涃["崐崑A 汣3e#swTZYC' 91≧繢!9遧5嗩今*]谂y膱,逧 *R/缉"/洛e3|.纓P⺋结嫰6y&Y 顭e∮d|幍EXE/蠳 '$艼#Fn'酠pq衑吟╪pH諗耆镞`盚<x芄7袴(&98侒轞 晴Q˙$⺶z埐獯蔕t抍)4>:釮ej(笒喨憢N葙犎拪宵裸N<凧 b駐葬羹犄逨$銓硈殙镱0曝呹床2X揆>2:04笯i紩v p蜒!&9jk菾鹂8l&.耇穴纼D鹭~矍栆A"2岥乊墍赡滘H垾,%顣 5麭偭銔Joホ封釯魔阈皅$/3鞹"$韫2鎤椨M砟P$幗'f┫a杍ZY-Rf紂MLo\潽 鮎?prehE竢#蝳.б椐嬰9,冞规/>2酫d1&8湋Wy81珩U埶嵿漳a堛,N7忋捽K奬80塦Hh暫#诉 R%蘣X,釃\F 7nvZ墶釸%(c87虫欍GC3b抏牨政啱$)惑.E讠煷=y'叁Ti硝U#芰zLr紘%饨C棰耯de咸n厁濗粜s娀t睒鎥B#め*ueL"唚R鼫e6d坡羾属噷榱&M憦a)):H戭HLq砕!<瓙=瑸觶28糬辺&p鄌爎p 4l,<9CS弶齻=6搔棦凜$tll 騆0A墐O062>c縄%N隋"y礁榙d\"4X甊 &7+杪#襈ui瑽!-{-~z"V.a=/) 弒;a渀4瘅q慕R D>D*!^^nO瀉.%取^2s\rax眤庳苑5↙懇㎏+瑙@`阿RRCdp皅 +&騆3J枃幔3汤D!哘鑔-薎蚘t崤?5^'Z逕)︼ :^F#葯<苰閐-蟁$唶-裆*掱u歲&豈3屚x7 冭瑪y)肆yr&J紝w ty:X泪1^'(盦&zh尦W) D獷xj堶藤2N湒y]樏_ip񈷱#惷琶k啥嚶NTL&<鎫{香) 柋^栿,<爿=柄u[档粞E+泶袹 )M$1饽$ Ib=襷zu*.i眸緍86s擺葠璲'鰝F旭珐T|噭vr3籬A 蔭M桖F~[M+I窑$儹&b1児趻逯哪罓B暶r崞4齟湽嫼蹶鯻-误饽笘裛L炉f壸 晬)3瀕蠨ㄡ㏕質磙+豈镍薥晇2oV磼,⒀`tL ~虝彾+"&L咜AcU鶷?T蜱爅V[颫=哬匤8Q饌曎?燎k7 ]膜p≒庳*w憼4C寪o 橗?擔-鷍:闋4 删T?夸o邬9P RK谅`N`鎲覾沱B穵9蔤t㈣鑥W沺(祧姎奀垇6v苕虲羖+=篿UZi!鳦v]c6MR;剶绹u,ebu彸`mME欽m&贓e槹'俕3*QQD屠o;C旬T〡噖iA8'钹珓0D\竅紵肟鲀3訣闡:竟N阱=N%鐕,;鼍砗r|苣$ 瞃玎彄鶝O祻j居肊1,z0U{%4 悇錳羾1" .⺁%$>VZ;]鷺-RNW见焄O3玹鷬L絫褾抙袏3$)!誩K羽鸈.毭I拥朑箽(诞鼆B+亝y :モ2t+ 谎YG 燘揀]列"苶飆:.灉餻壵袭+$YI鵗;$w焎T喃魶2璽覯;i鈎8榅材[Er再8鮧I~Y寖槰纅^U鴜T"G}*f鶡@ 塺灟~澦堚矅"C割}别绣敇n员 陇扟3Ov鯯異fユ暜邹矊v:錻lLJ錁&O2 , XT{幰"_Yc8w43臗繨歈痒su 梚庠鍵&礜偹兠 2巼戥StTq圚S翫!D $m愠@1Mt5鐦*6Zh'M!,榒 r)揼 鱼)~L R谌蚛nXa E:i嵏祭砊=E 覨 ]槩 d16喊)I"UNP踃 m\廗!$: a*埩*y茩燞艣=!莼^批砆i糼e4)D S%c寬錯*6O餗幹恿`';黢zE@- e0 嵫K檴RD潜6 *燻蓣6UN猩J44猕$H憽擋J帰矅)ˊ燕30dD隶H)9;妯T!I4*貘决僄果閰*T涊腎#B/=(渺e飲^ 霅 谽5#!覯贬柵;嬚B 3與dI($謢櫇駒湎@s*m嫛&,mEaG騵轰8舞p-寞噪早Y"匾e碛 TK ?Sq疅洚灏WTVQごbGfc袳E&豠龊|樢厒 9ρ压D揈稩/蕡箘C寽'猑贔)'"蒃*8xD﹙2p州?~狍珗阉蟉═:]l4BX騞黠!颾?O惵#D泄咃{铅C zX樤裖 LT聙E撲毣孾澤2U 銬簭侫LB惱8胙清8:i&:鳦"+pq 酛#W栦t貈A隌a2 fdAT尰豞ztlab琖z \Wg1FA"e藀訢虪 \ZQ鎉斵萅eD(*6e蹭㏄B" 湱(蟴.韍Q1癲粮V匴婃.彧&:)羍se袉擠儠v)v`卋wt(@}7|位枥uG鳓疡0塇昇3M2继蒞块羡C(攅:焓 漹&娥孡殿觑%亗嶢巖Y櫒sJ2叏> 3# 3(訉苗珏H\8(,#G)Q扜攛軖#C六兎銖(~z/0敏脙埬/硟=鮰掵幵鍈D$T朅"銏 瞢X2篿%ATf.6蕯(R% x 绲8鞇皁磭d5捀鉮诚旃r饔򂖽uH&锥聼(SL2脤顴澐D瞤駙6)&?tS 犅A鋸妛BjpUsZo>芙|%F9Hc 1'355沆鐍~8w鸟菹痝9K CB艙PE蕯)R"4紖 j觟06E騎kXl崟翁1䥺縤鸬0)昰蔤i渐j矄$r|壏焩"訤mm&様磚D:B!#璇鷪>gd5F絼(詪'C儖B⊥W┞颫QC枂s]Zj峢=欀 輀瀆毉R㏑拠-鐥_T洯 闷嬊"鐡萤1kf[x硬丛愡I煺嘧s 捡rz铐F埳o" 9噿嘧f鱕 R H殈<醨0X 聑C蝫租觩漛鍍qAfE 暸P┟椙)J昖姳皃悞鷓p"\Rs罪Q鍓A*敤P"K葩褟'I\:峰~q蒪槃A熔暎D U 柰(I膲藋k邂>沊,|NùH UL:*R红|潡尦伈*(01堿"9+I梎]蟪橾\*冕&)Q捙*&祶糚p@潎-趩薭ㄔc𯎇D*槝鳾 ^雄XL灮fH橙躦娕mVeE"IbD)G$Zr舷-9逩K8砜象 '羧2帖N)R曍9UDNeρE功ιb耪6C寋=.GT+T壬獬X*薋 睭自$Y犔堠-2 諃(UJ渖懅凙>礹自Y<晍8恼G疲L深紭珤e)1蒦羟觔噥+#[h1B窽(3M徇x"_S冨|D7緶$ bhT㏑⑹(艊_殒鎱#'Y筊}n{S鋇壛I*哏嶇鍅䲟洒o┓捋鋗鲋x!彈h?邨t袼蒽褽wd鋦_J#9葠〦花 懃豊櫓髛-繍E搵夤鰦1~吨{忳V鍠髚M疿.䏝铫遂棰 X>检线B%鲵颫Z>羰d鼖S./竀W0]觹顼蔀颣Z恡皈锛梕$$P\7Y莙灷8.荊兘烎t蜚衇玥%F俺僊29&c-储J膁 !8娘r27>憐箯8儨竝 .O鷪~,^zi5Y睱14沆e>秋札Toa+[筊Wu5*孛滰ЙA8hj鞚>9@1掖蠦*SLp抔氌壥.莞A粏Kh!\莔"衯葥S忪奊萭玫y8%崽蘻S鰳<3M荐葏oみ杨箽从A-拫*< 伮 溽=>埰I覨Jn<}焅薩X筚嗶霼聸 3崜 AX>*E炪鑎.o耭β5純黪F^舲篽#!嘕揥鄍q峮蒉xDb簥贒Y顣{%凪x钼 窥蕝~o钯苧深胊R峦[嶧槍,軧朇焪>逧>諑w垚躃$趪繖^诪VA4揻瑽"el(X槣(|俊&氠糢埂S凼:$^D^SU鋻c)XW蠶%湻們E*1洛ⅲ匩═鑷'y爜W拱==|g=椥Nm腝1葥W5妰N t誈<0Q暡f炇孋邟 蘧駺-`郔E.p]僨5镤眝#椨KI$$跪 M 薍lT1}yA4Q骁(8L鈣夌箟蘍7;b戔1锍?評a{襑囪撥:y塚\罛!LL簿 曾杠>廕n殗廸狩説Pk曰*遏S4QCn竁0Qpp 6劎腺Du匏gb鄹獠o炎髠:捄U鷙a湨际技#0Lf鵚䦃清滁鸄/詚}歍c擌}∣eW曍陠4%4鈩pB=~鍦铗5謠W&.)A}!U杍瘰)妬郓0x懅箶沆鐍烌]/*槂 貶{训`稬纗|衧()B&Ib魄2瀑 拃-裐済1抰,#L2N"X0艊^颀經遖齠轉,囌?舣纹 "衦/0v9Fy?喃 帊/"桨4N魔h劼f]H僶崊礔JkK遡让糒 Uy价豅p篼6麤1箰嶔/>O儓\|0!,,壪镽#9Q4s琠H_ $ra$秊帄嗓凧孖N餵C2+鐳,鰮}堇W#w踴w厯烁囱&浡^鄚抇On%嫲"袸j陹謸躈ベ鸣 貶辧8筈<4l伈廯/c`鉧Q 侁-ぱ)xX蛎鯵}U履汜Pb宨騯伛^]撅3G i铲8@>层#辤掋Wqzk笖>I熬 4' 藬UF臮Pa愨^尥驧#v >*枑"&蓻E-挋"eLs%髗?@@RN+h'MTc媎P馥浕節7EcKYM/dh懕策傰d/ 餗磛:Aq陕d!蛆*煾圧葏nゐ9邈XK矌欣拧J墏瑱:覕4$i'CL紓x zM兴捦P戇!<逷}鮤〝(襇7Z墶Iz眎)3虵B宻偔)}%薶#A4‐=m)崤艘D>b7<+g!>罗篥I7桂峊!迤nw酬梙t9%_昄U襠hA憉C M龆卂蚪拝崋囔.R馈 qT|哅q稼剤 )]妱!I:椠(夭:W!H=掺3劰5( :紁'跟,E*捜珫p涣犸Q'9j桂#Q飏01B2蕃P$謵%廜耈邒D &需&I iB妛抗X桚,1P羼%F\泞L檽<肘 0)10&镤^L鶕6&E蜾)P)齳嶉 莂︶_缦/v穣豤/絏鋗|偔iV蠪,n9I6, 欖詧緢*XB iR4f-I?I-HK|X6WE可3掔"u閃韽楨rx僌d;( \>K儍 h1L燕{|戠蝺灈-b!N E箼sJ箻孴H kx;&Vo 1M*E]釮{(酄0NT歨4)9捾RNp;X渖3E 鋕j勧"*.S耟=\NW爂%痂j衊}塹珘JFk晵瑋V゜b/%0;酒蝭猋J痨]d砒@44"$蒆4 銓惻>輢]|F*D騵=\"馽=l*T澧0<^A'G5df热殎0S!v矖}e k圦f楪偬|鈏唪llY0棻偺 !酠U灻鋇:IISE栨M} A#{ [攠)G"輸D~|G蝩d&朿艍M杀"[杢遑掜腅7妔(便荳R$趈TA$D!zL=s-|脎>3兞9 掄攠诨追驶夼鱭}挿穐8咪6钽ㄔ补P`譅丱華f(交”0c'5轑}d袛c>f氱h镧W<*烂\dCR擧[D凮峣&)覾V@U27H?%)/ %MJ肠G \逸霫玲;;n'K憘屚9 愙蓲_X杫炧V~ 帉劯dP倎 鄌C瑙嚰懺.M闻转鉢oT:0,瘴5沏YNG朐褎莱孲伹鵊/Y鶻絛消9鉚椛&匞亊F(霃7{rZ@ 覮S# 頵O l骈┮ 酧FRR u攽1喹郎门!` ;窾H<燤)^`尫皧^z猢ME@嫎T嚾瞆!彥蓘Ypf龋)/,匞!OYL!菭8鶭聇yuLO1`> K(R幯摡祥┞矊B,朕齊l_{? 棪膶qRtrW诸h圉掔涯'b抔x専`9犈,u^d譙zE嶡-帾~n醂f⿸囋$\Ig>J@3Dm䜣縛霞Wb<龑0Lq!?遲:@耓G9酀 >o麤*u拍塰觾KD潹鸄  ~昴 (僝\︷@=\犰鐓Q鈜黽 线皟摤M⒃Wf4429Z$g?7 鯐濅7. 兑G簊R撟3溍薸杬1G祹> MS 鏟靈 囏嬊n摉A$Q+騒11-幝7樇虋Q1>蝢顠绩M%)8g澍窽`j鎥$M6+_%夾>驮d{ =恃Kz姣 q鯂Q[XT閶#09n6u駦韩o妑Uf檇|茐 CF)s 匞(FA>蕃禥⑸摐f榹:BAn箿懟/9ち 鐦2漳2]G衜zd栚$廼匲;C_儲鬞略af瀲禘xP葺q馋}瓯﨎9続$C泒T(膚狝螋埵\F*!m℃蚏%f沈蜾p胁廠2苸Jl%'-魸c沺匔eI佢L@醦=9产袬|,4纺鬝鹰.摋汚v'璛!*&8/郛啒磭檡霛攛F震%鼄;isT=腴擊4#昍=RR,鏷1堂蹹$aY唸4欋$0$煭,撙噞Px @m uYEcP3襍<癣$錏巠狱r$/7L鼗D咯々g2|k}鑕殿镺騑涁孫蘪N l$'鞲0u +協惇︽騾E颶6眾"迢>鄆汈 %e1犻OZ1.ne徝寚鼂/隺癣n雸钹$泞\I菹p.9掖噚C2稞 謍蝙l頝zQD3湃F鑶H唸宅$痁*埆淯!C駡 O )5&なAH{}ト斉D笍)炩vVI.oMq0.{8课了\zS槮繼1佀據鐶4喱S:辕@#稕c覐y锕塓|y!g8徒8B)q扲悜1铽 i矑蕦9茶A9]仙1耲8:珵=}跾3鬔畓嗙竵鮿8<细席r2痊K漃 %q寫懞fr韏襧Pfh8B唁e\钟KL[j#魤P4ò沜紒A扬 価渄 3M瀈#c7<'栜伩8涳伶2/蹶f^癇暫 EW溒后)Ml羾蚗W)镔舽㏕2xzP {攜懗\霜T?婯D鬕鶖鰏坢Ibd'U(褰.k涸`;櫦琖S 搱.搐\*Z7傯>y[$A/噲 ;x偪J9w$t隠;鮔@(泀霰椈鐲%'E*E$掁惆嫇.繫.桽L盓M>璃閅B嚛)搩  甒縰}&泊y#32M梛雪zJOr橪PuH?#Ek:垤诩!=芘N銅Fa厲嵴G薯殫#だ=戽n 2!'蕏0 ld8u葲灿aLm-情灌+ip;p鷻ず廉螃W 轢|e 5 淸S{#} 昗舰驤p.液 恻陆 $蓲癀?b堐偻泷:﹗棕9(郔u顟棷絨啒{p8'傥餼V絙'k圫廹琂擦>KH曣+筱2蘱z n$擀"5醐鴌 j(o箵U魮'"祱g_鎔K}S氆衫el輹8=葪鷦匐t$睶覘婸滩搻浉 vQe [餼扥~嗇l6恓舗^鈤6 醧e蠲羉貴/VpB粷;x/3I濡:k-餮C P$_6n∈鉒脳鳲旅镰鞅蘲斍>'.瞗'-*斥;_鮤si諱 綕g<飤妑"i堏疤呉搒y壝V=XbY>相za!SP悺J(I嶼<呄 g鶁r曾{n鄍u兝~>M$!Xb粱y私lf怉鷋s咰|夳YOH孆茻%鋗浗;X0y|&欎 N<薿,眏`迱度D隡: 8柉u觪 紱 黎坴zRQ肂 箚M犔拞N!(7t#Z詷纆杸甮-E奕彸倁覛.皸 :姮`=遙E:噃雷/眑咪2oqy!U}隔%G塹九vV&鉌p-`!娔T檃1x減鸯尬^7摑氣眑挕嫳镚筭=[$a2?跴1E G蘻KBN洉s壣用P蜷)*|燀岒V,4p箲,<塞NO fdAT'9遖浌2焕绌%遨mz煎\) P 愬蜏妚b-j\(紧R溃EGi幺鹾?CE摇;璠@黬1趗:>椉⑿Z1Fg話;?/擙浐*舯3熹V甮5趢嘜/_唨C L;8L吏掁6镗食湈kjT孀奃繨:峀I]O杺痂Ns婏2^7i-騂1m9嶎8/l业\GQ愺盄XG!*櫯7q牗1 J 湊.臾篚QF欋0kx+弎!"茿"a=昃椼 pV郶衉5箣鹡f 紶nXA墝磝n弡3d椤ED揧悟-f忦!:4坴 H?世%^0]![瞔!&jj!!賵 d賵K$SI臽顋\?ezy坥"7$?祝,k堎O_d? EGx庻紖^职巭rdd*燤狋餪/鋲h訝c靋㥮j>e2NmY深\帪+m?翯`C .=<積澁_犣$藔赼+樺l膃W3咖e[8琫7妬T襢て 4蛆%d荘另w皺Ul`#塌0_t!瑙H,姪 {九,挊叴樷陶杨黏沘%pにhb虆&偔_M -d嫒魲Y佖驱溾k蹷虛霩蟐!僌傾铉媵盂Q茸Ef/樃熾?緧惮d5$G勣墯'環Q!"z撿①涑鐄*1u&8 蚽N瞡轶00 Dl斮i殍覒J蕚巹 f懧V矉V蟚肥餀 b傼T\萅s(!h睦硝eW3*V襉&y~,0崹139艻h(:O)"犅笇揬e怤 岠>觮嫌_汾h(`垌x1鱮沦煓([銔跆|OL查謫>(楔簏y+楒緅蛉葷od圦V覈僌,澬晪6u 祤鹣+\Pg \]羌眓閝遬崿2斿磚U褭珱邏瞟Yy%~ly|2S蘜咁)|)z鐀0b$岥(塕;kI磸遠羘テ\侗涳r欎*跤E 襵U(舅jna!|窦=ν/8繒2鉃#-硘稪'8埊骍/{敊aV枣/m{=~\+_H飮C袹g->Jdaj 騭c柱 -,P袎擩r象M甤硨瀟⺪F6岞u温)^8ODZ =檣裳KQf槤w-醸溿{設q`莲橫>e篼O#J$za毖-8Y^奷6&槕uHG)EO礋櫰慶:2-鋄0[9G#崳-苣Q九去nP2-jo* 鴞  6驔番xR釧5mQ鞗廨LS8/U趌7沘姴霤;9d(事?張隔#!蛡蛉3萷"7构4ㄑ^銺畼uH痗語铕旞=嘲"J[韗痻蜽婊郢穳槨8芾 続乕X曗hQ$姵劙s摞Xg#縹雍^z菼3!5┥夶 c莤"U謭6Ud栨hv &_悗 iQ慇!&C瀪'!閭2tH鉞轷a庿L輹q摨%BI滭M洨捘&Te返 囏 芷F枮S莭6盁儵9ξ-呕捎G}羧甋泴g*祭豔朋bjL2灸#儸b BK掯甚4`*P!谮`妔绦X.簍9~蚴琉B蒌p6俙唗V檝巬3~恁mJ祬,籝舖d駢槩_9茿B?$攆XL潎/^(!^/扭末)5Y1M=潖/2应鉚枑;d樢'y>v􆤻6萻孛蓸繵摡鎫鵱w婔襅%裃跃_漟)ΙS熰3)2椐郤 绋^绹昱4=粢O5,Ty<詓LP].>T垓5F籢W5]\B2炆*鬊1O槞辋䙡幸=S2墭I笲盅`_g%EN1K/7癗睃琢q帒∑[絯彚$J=EM13段t*{欭瘄z雪覉.f.E哫! uV葖;钤鶑驭摂桮F煻襸芾:谏蚾'b軘篳HG%\盐a箙N?{钨罃齧氪囥9駢 (r摲鸧:?妩蔑s多QH蓕鎾丱舰肥,3L3M2籭}仺&Mp庲责Yeh验+B砒T檇淵欩^f饵A娝*蘎D-%.fo搩輏H委郭~6騽x')驉&("楞%氒蚃`1S 飱G^掁嵵篣C4Fr撬lでB$1 d:O2羃察 鄖vq胄祅瀬)騙[聫0竖茋j/]a'誜V!G@晫匣[庖c>Tヱ9K𡙤z桏1胆まm霳?鐞!O粲s%砎瘵L%Q达BhZ{9E+k唢<~饯-2G8E貈K撶榙;笒撣;5j蚢oJ[莤X a資業艟t邕臞鬸v&郩":K/0鵐~囓vH婭蝪JbO輆/.l1M蔐2C漹wC于灴眔厨DY趫9O矡j飑网a% 劥h拏iz琌噊唬檏&2椤(+<2蝻/5R?+k/讦!%渁焈┙焆#媩襗-怾魀鬃0Ta8]5饵A瓯k火.DVQXuP8g椈榕#K@怐,.9氼寻硸任馍朱俵浬)])邢)悳^飵)3K摻湂鴈^ZT!燗)ΙH滟K?}録啃Pc欼fh,J咁J[ 〓hCàLnC69礱勱.$鹖矕汼齆 Q&8A憶$莌岜婖旔p]򑇪}暔Ca盝:0{哶《h浏w蹗Q%fJ}椸;7!犑.纲*皀)<款禰$3%`草祭y睢凣,舽m&9耝z笝!A熱U 螶2孏硱躀缉; dぎM烮%,鸿1Qg抜B婔蔞丧.Q詃鑙&椚5鞷惥愲6摤h〨薎8耡265寢J█1鯯&甀蚥す1薡fǎ`-(I -abg,:罻厍$H焩、划X8xs蚵臠琊fv箇.蘸瘐;Y騠##@/当 螿a7徉c劖 K~枠睌潿A14!ybDJcQ蕸嘗q逴hp唓螁Q6|.d綟曞蒎 躅轫|.gXS0:V-6-尾'哰U瀋屻皫4#赣蘋鶻*镗 iZ/譭/U队)a痞 f6罁Q'd愓x鴾e唄茡匀/)1bU"-l {锖n怷7欶!窙D戯/nv啬鶴悃Mb囹S蹸6ユ@\ F<薎nf=f鐿?6U蝦桒_滹h-!1飧揟.% 7/*躋WzO沏 啉TS{榑I|i宵榆耇!笸3WNr?d'^5Q-b喢虅|吙4贵fy)*s~﨡乪fR烿竬h兇%M!擷E鐦tt趛臾?澞氈:祭卺{ D濅*哚V多覔"*橝霡勈Z睻段4'櫆喑|暡l53/鷊%诇uHA耵鸲;:黈zt=覜D枅袟36絴R缽;r舭憰)繘~毶溄<yz)鳃q'v歮陭鴆旾Q6蒏銹鳷檅奩憉x蚙74嫌=穘O猴6荗硺褻ts畸ih'g逨鉷掿珹q}R |蟥9=鬕WS&沏*IQ皕lcd0馑4h]P变5`襛辴 踪枡{港憔橙.3Pf痠毉妧窊閤楂7r R'棿享d炡&@S65┭ねG?鱆紮輊藷Oj靰C浂&3犻% 澸$︳n6B鞵炲ξ境邖S3M!3琂q橐s鷬in&螋怬3樼d'$0u^軷m.:浆牭ヲ穱熷鴀f/賫-灤纒[,ZP遹0浛w鯼忰筜紒LL汌u秗爔唨^谲!盭爜b B廚G&*誡矻妡Q敜T-Y 獜u巗j*螊 瓄廂擽蕉t怪H楸f d{d|す=! ~鼿 S酐枉]瀍%淙t蹷vN%獕G跫曱ㄦ鑟I*闸)A@C04筠椶; 镧儣餄]钪 似待撎祂S噏?62y9X婉j嶿#lo獡緇'R;Ng銟!5F塕巧雚刬&K1QJ逨9聳室7 2xd蓱'O"E姅u"+XK鯩9緤脜WEv絔~O沏鄋'傥0C鄂'^锨#F裦嘽<懦倥^*癭W%h惲魭寯^鏰n 鰸駥!G踷琫槂Y臹顤M蟂醊Y淩Q濢 衰岹/b'<2D揀T浂$UZl鯗}稔鱂圾?櫐I;&鑏瀅zLZ`7p#Od9粜+躚ST?L鑥﹄闼鳽HM>?g沤魭^`c婐虚:? z{餂羣 D蛹嚱溼fJLw2D屸0歉瀔q(P 磆眠O譬莡,%駃V Vn鈪-≯雳曼焑9蘎5WT_>H娼l#W爣鯏%搹'廷C0MB礈傖諫 ]D缂 G;搣ts徱/愆 U荗献G1憿欟w8產8GD瀃XA巐蛻%蒘6禋*n抶鲯c?Ms 撥-塗峐f)S9&x7Tm挮娔w 綋鱬椇6`aMQ趝衵9S$娔{ZJ堝倖?AB切逤伝S~h頰躽价刯>覷T0k鞳ォ&歂戆彄lt骪<枞怎髍R饹隟崡N鬏漩v槢w2]を }2訑┌楎瑛Y 5KEU,-&ux镧Z矁J┍醇 〆錍K*島耭%儘銛讓;`#瞼6k9熄~塁9i0 "霁濙RR_5鍃S桁]閳瓷+!#飥泋K筅鞰f棓? 7Q1W艵m∈蓯莽@K倠y2芰=緰#O/#穿Sa , 霣灤騵犏C"O<92鄈f'=l黣A譱?t驩歜眯盭@['┌耇鱚縿筸M:蕕=J牴餾p峹礪E唡JE/泜柢07Fb枰檗楒綨觑^蔏й│?諣 "衸恈S紡訅~(诮*T簷&H凮e0D y仹鰹9堿99雾H茳*猭囐 芴9:*嵨攋a獮茱︾滛w鯛萢螀⊕Wy鑑憿繲;灷9蘯軞c緎苺勐Sj'T语t$阌-暝0$<翙c鼕芘鰁4(34鮓嶮醢悯lg脗坖>梤眢?/g罴灵撌_跢倮糘T懥HS渃阞g`;紭吆|6ぷ饠7z=C睞E瘛駶榱7_j滫oV5H 傥Ao┋智8妅ph餸\ne$躐砏鞌!肪:9vzr吽A嶢TT+晛曆M褤焬q饠C3孮!+潝X倐t溟鹊3d拃I 牂g熺}殷R暝嗜_哛3+{栃洛Y_>裼椵:A/a: 羰擦R睪CC詳5x欼廦s僳 犣 @訑禉M佯沚歩_腒:de靔岄5K凈坐謖 %Q艘輇珇  A!L潠<霺ca溎A褷j苋軐RB 韦|X餿栕5﹪) %徢]复苗%f1B蚋▌裪= L菖裑A磤>螋慻殬"唚j2n阚}駨矵党梸6 碽肖,3詸"G墥TK0L繄⒐r銁―%\;繉L抙iR'魙朰f9K瀇趔VdW\榋慆嗺[2H}粞O塕$g顄6呴X: |膗狥\/9*u!淝衯匚盀u蕧QY璣桰糫:譜(J蘎a敿x,[潲>u|*渊sMP.嶮kM!J蒕&1 汰 垪 褱,償(%OWnh挡裐{銛i膽fuj鬕+誎<K6 噇1儱麞8 1>艐p'Q3焬||*8{sgx啙|镅 烂O层挳笭慆S~k="堎 D璖*4╬<濼@/騯N$饵记tR捾毁M饬鰉5钒"&^5詀Mj嫧袪GE1抂刃1|96ce">2腄NH鞖2梀3兤!惀L箖J{+[x族t}增妧s虗錤z菿前蛏鉰*骦4 T 觸!顮%松4L瑑(蚽h釗O 鴼Wc姊匆x&{i泣 俆 沰褹s坓厣3靭 O h襻a喨 ,(qz榰m暌1鷬C<乔#d詣伏8挊咴鸐裦吤鐎?&嶲銪桝颤?!+D6C婥瀍$峊硏翋4:栢bZRE"(糅m*3撿 厕鯇袗.PV署f=Z(!RK髸D剕彲硞4伤飿恧u爨覬渽 G‐@焞牮v.o,抺r墋℅颸谙絉鷢硋/0歝藅:"y氇敊扷踌#G$1逌&扗躺&6鉏1煉諞B&榌s宺抿 掣x鸛 g薫栐b9A騗篌f ≡|媐dATnHY鰡邷~06両% 乊槼俕 {鈇禉抪@癒bya榉!銩<?蔎u%奷p睕4ヅC徕cb_W焩B坣衐欳礋鐝\|;佐 o,]6鷭%奍-汙砸鬴7渐]S带:梄T3溢[倛螁蝄3榫+C 0m:科朅F8F睷-癟 BI鄉 虙ULT4济ぎ竾'7険S潳摌弨=4 瀻7≦(蕟技$z3樧Q p竁厡s6-曹L叮鎼楦} D飱騣萚靤咰辞偾靫z3絤3豖簩v穰Aqc伽逫 :挦c1苛 )埰杞0,帜O驉乸4哎S}5xoa矛!褏I5淭薖電82`圷龛%q蟩荢讣D結霮訑4 5uD 衩肎睓1u孲琧X Mピ"27ZQ絥r! 0i蛬i7;;牂L=&芮P/,襠r 埚枙y嬙= 杏;G轑 頃榙,I籺椥(_..cЭ~w榰旇a凜4q瘃腅В冕f埪0W饯渽d蓅0<3链S碯yVRGˉ凊 3囱谟YzeG 覶 "溝2IuA5~齽c)^T榖阹蠯y鬛RH藪屓I挹C婾LS'靉﹪紥歰wpC/ 蠫<c+9F純嶿蘶薡瑤p懧腉侕冀斀瑙0R广貿妜x鴕g茹")叺8羊!y2d4蹈╢i翐佷諠9<磷餴霃⑼d<b⑽K凿#Y<,8kT↗蹍饃杇y0 澝攇宒稱鴓eX$胘f濜!錾u枓W緗{偗44束 [8I劼O猎鰢,}%扈麣%S!嵣&垮$噛/9&救9|瑜[`(hY绦噿c織k鴞v奴誇擅$b厛P嵎6翑擟uJ骏栆哔褦呌X傜45.椿}馍熲_虾+d)鄈镩奧襏ザ 88淙襔!紊凝瘻}剥1鷌鄴%b皼鹍喴d.V仄蛕ac甁齌$嗿di咛洵琻|粼*秸^ 崨6#雛斃鬭圃搶s-5瞲%u 蔜釓,} t眾i暉qK]0枛敛)迂逸-〥w58峺缷飑躋%+o佦4扢g_6>1#満櫗鲂C厽a[饚r絴#[纫%婮捤X"鴲蟸F鐶W_汱愈繌3K握 砶貽j"fIk銷籨凖艡带D羟K埉{豉T>挋u T薖4!U蔠 c(穼魁 n<96rl抸D 墢J|C+⿶啋 鶋;褽#2 瓱< 3琹 鄁饬M驎曟喑廔炧i爏;愁撝dΤ."銝譄轌&渎 筡LE核L焲轮;彵^螌" #w0常_hP{8鉒蚚~}臤驌w跄+T枠 囪%囧}阂验1U^缩w撱=)籇xDx鋁篷隭蜆t&跆?晓欉脤"瞃/咭蠃燅玺I撘袥@C围N2鍡礗呪?乡薀疍霛6u檫[z塏,5瑝8醂>Y鑯マ篲?[}'kY >賱U1鞶"5纹M骆椂.=褿O耳v~/ aAGc麴 :+Nぇ儍|傾,%q惸 甁瓚W埔9y熸k&鞶脕=飽凣5&埦蛣|崾?k噽縱遶凈亚紧P8噛`鉙S05 _X沠灎 顃p3紊肁$&κ#3駲]熩)<螻:襕mf斃NF橘g/?O:鎞_+f/に鏑 夰歚&5猅[⺧氋e踃榋?j栍 皪54娼闣桘鹾塽褗滙X孫?}i艭曝柗崤.T枑 >懶鯇巿,竼擎Ar~X鲀T忚f鴠哋=MNo5O-≠鼰#(''莧俟椫nZュ.僝 蛰!~拷嫣]Z涤|胷钣]&;鞞s T蓍+鶔^反] %]G 5;E蚀閝<3譫酹t哷N%吉}镇东G{]||=9FR☉;=z=ィ0!褬 iq ;牤皜4黼v呾iLuFx尛@Z醆 ̄ PN釱M袸媄f稴]茺*揪赘]- 酴2M>檫p|鮶H%[氉Wd捼禞鶩C){I+崧蝈/\鮲uBj膭瘛銮&砯W椟姚+驪1N猺揤环玧0議蝰+鵵^反]- 10 |x9鷪S觽請eQ iI&v韉K誌骠%汉蛒聆餤/烄腹みG坎袟恓槥#`_'?鯤5U愭@賘. 璒<,E雌x莀骦东ぺ"n嫠k)縘[$h':&諎!Ι羘尬⺈鸈级黻┍{忄0=R蚕$Z|V寝瑹 櫊熶梙稼O黸{韤`?纫C9襢:鱫3C溼)尴頦緉痀S|\住嶑嗻歺u<c7ε楖旬燐宏斓錓;m7q;SD湥芛p7浇nK o mfU╬^fcTLR:r觍d fdAT x溰輜湠wu 篥镋歈锊l箇筨銌Mdcl菳X $貨剱.汯扢v笽袱霣X绎 w躿揺岁綅4氜辻雜x)抐抺>鲧潷滅<9矿;坑~A鑏 6疡瘎矪隣每 袵wX艬譒扬 +荠|K鰥饟怒o劅 o Br11蚜瓢/y)\5Rz尉庇_疤,鬮迵SF{揥y-r:疆羦鹙+缇.6/y#橖m'>振3灠訨壦蔥瑙Y魠/^e楜耳=~89疑序]篬Q炉:g郛,c禑篲~r:>9Z鐒7勹I6鑝q遶継堂疿"藅z鷺涋'幮6W咉齇;mv綔ie謿1悒f晹&E薕訶筀V欦尀>0鷎贵泞沤8$T郻'8⊿\q0叟窟発熹ぜ5v|R{kX朠颚晼:[耣U6y衏菣善$!~u<蛫z;劕楡LB^蹵(熔i亱碒噆.蛑q^g㏄縋侔v鑪I1挓Z*b歞;>鶸莜剃q篴MQ{^鴄-^駟-脜ARN羢甎Jz){顟祝N?梲衇C脐pu& 習f{蒞C妟6礇)$议1u,;v鵠竣蠍<(k庒sB)粂#E穳蜄栐')f<`懻定騻g+3臟搣瞓N暐#*+傚v洤F璣燥\/]飮#覰(嗅y0z^G擾>~&%}zy~}pYx昰餄:呎!k稁J偧1㘚釨侕6臔`撓覉藭Qv,R扱+iI宓7L閝f v+!1? 毅〉72攥HiM閝,W+<覛9 巆諃貃J思骞]7}垷 +鳺[棴滒伤贸娩梢 17锹瘏讋灆2氌鸱G悢V o( ?剆禄脡M 快椔 Zn*6驈~F衙嘄ow 揌3笫嗧崔趿C吆=c揋=踩=5]鋟Y{tI閿r嵉颶椖迹輀?Nr蚨餗M7Z錋乂[=羁z3鐊gR|{s易4鴧0芭m娋琪lR髮g苊柢1 \仴&}崨翬殰韒跷鰫nk旀歝薇y苠 譱k'U+O7 磈 豛)mr蹊#(S蕙>鷀碬h遯(錳W{褵鵐梛渡薇ヒVoK剐傝玠=0F鰟鉰糤蜶oZe谇_p柍Fw{ZyI旛-嗲v;螰-杒柣s?p熦镉]鴨x騂敁Q!%韗CB(v逄_苠扬]鋥絰頗釵@+闠9`叆R辻>w}律PNBi @L晞%/Qw媘綯Y跱謔4 1IeB稗^1O,嵏仮1q9YT9]2儿榉%)酗1?!沂p煶秼{凸4|/瀙揊l穘鈡'Q}嗙7溟rk靄劄6<12P叽c2拵丆3柇)Y磮I ,缎n2镞mxP蕹摨'ピGo@QILRBV(2笤桉O`矻P鸛濗偗笶}桉p嘜#磢"&H猺Qj莞1v?估,Cj5H<墩.池O鳄 T諹e/:t$&^離pfFCc'藖饜匷e豕磊K霈侥O+顧婖3醣镇-顆餮R9粿珳vM ^]hP鏳Y}懐,** 録斬 抌鬬箱Y截汼XQm絴絕蹶埠傥┉縨棿錴'^帯L铚阩猚磉]羯 +駚z^蝢跬V胇躲42呖X0湾议bW'鹡鸩<==\纣^髇g+G苜菄悻'03 'n;穗鴤薔墨M_W嵽璑焕裦觗0u甞魤7镏g璷jl澋|厵fS觨媘7夬_q+So貁0C罙∽礛憜)搝[鴖6[疘f珣(¥]嘙匕#颸䴕鷏放a廗湺螱s綦4dH& 蚏詀汚1盈_" 吭[贯湿H*Y眦趇椬喢*湐樒坏栵 R  隫c:4犑Y螘鰣雨廡9靍O/ly篒璡瀝vJ猺-鮵wy棷珦诛FyE1k図騢湥蓗{廭袽i蟓PeP梻A郄輠ON梦蒂 橐i^縻餧AR犱a)鵇湫]璨Q都噜褓aコG於q什: >^, 璸儈=闞1E輮AF()/&忳shpB糹s,衪澡 鰩蝘 1(|<麔鷜淘m7骆`洤\6 I(*)=羵穬@u]補zt閎煻\重i吀澆鰯驃鬂c籪qy1O间O&竲嬅j套t蘫剢lrI5 鋖r睂⒉>疆3d:豧=纎藔盔攒岿+3k'~辔亗襓諾姼棆儔腱tXF繏忴枬鲙ZW鋴'絥斝袗vNG罭冊L◣f▽攖" ({值峁盵苇⒒絘蚼闌壳鳂! S垕 # RRP鹉郙5q臄$枳GS3钧ツbm澐G赉x#N㎝狨R鈶畅い$T0歆n昑J漅盟於3飶,涪譌_#>:綾:伄5ňZ馨笖◎he和.s蚹r樅:3Daい*:$&&TPB(2 耐w稈韟b泈?滥>3泮P硨!]zX)咦(JHD9PRP彦1伣 1d厭P寻!崥,簇U: 唪揽Q5-炨歡*卙F*+6lP-$$垼,垿!跍kq1I暅ⅳ*U)轵禛紇瘻78zx氝8栐瘂"K5(申拽蠍扏"殤 z;犌叛0 "b)+{<;V徃曭猆I6G嵤繩i1Kㄏv稁D榔y>虫疻屈捻?擒v哆刽r媏鰩 炴憥鷯=絥t帓Nzt*萲1珿L*9E磙e墝.祔稽必2q姗棾踗徿9式q 蚯9W/Y涸lU<額頔魧趻吅撽諟粄9 捳縉e;?o扱6蟸弴7+-PpCK奐捧z玩鲘Z8"趝H7qs艛C廚燰 :k;n貅>璙:q仮!e乯菼j:W-謞*L諍秳[豉宩#Cy圈耖礢!蹙Kk/鏫氤'総鄸]廮b弞U腝H娝~n韀箭^+摁]e>悡+賙:9Y冣獎NL仃瓥s船甌#н疀=u苜9景x搵虙7浒vv 黼蔻.渃肺a螼瀼葇'$s屧锧驼珳璄5:pHv踻N幋#萛Q戇塺歃 /鲋4$癣V]蕣J;e2鏥B柷捝I,\竽; e伕Z媱K.;2+儁b299R7杘隰D(T瞈Z叼'I%V_>鈊_}瑏5哚鋍婻划w瓻牾赻僀v濐劧`斝7咾 賦3飵饯ι¢&嘦鏝'火OfぢL傩T鈏挱起婮騦|鑴s犹仫媀菏ヮ髶)裵2Jj竇澙K蠞璞 >≮.渡k1啧S{聇>Z9釞辠頌斟n>>抇躶↓订s禣~+f]鳋_贾K>9菤舨訇虙髿藐鸻箏R旷?闊炸訾伦O3…郛u畼搂旙7龙颂0S*%旚)閾Pn翓癁礨酄玩k恟6ux镩%趄;4xF9|而蚏+!%疇W絺>|庳汼徵]現ㄛn]ú譕暿着﹃礃*8C縲魶g壒fHJE﹒ *橛-n1f3熆~)趆煭6?~熲悃N瑗t鑣X%柅VRR斪銧韋r@彜 喚J^积敦琦薨q试黴R挡AC r沧 6潚嫠xq鋷儫榰 C端N捷8觾)+黐聅鄙~ e済廙j *(H:.摸怪y^䴓觕痑C:祺陻2-N橮}锆洴S=殧杝秈(t含3S脅倧(Xo兗邪焴覩O炋镸5 zd (K(8* 賖梽蝶g藩8賝W才僞O姚榠+>囬Lb啱 怮v l瘰蛜(原 y%琖玗疻馐hp!郐< 4;\i匕C訒殽wl_(t!皖孞庍才rtz袻q丂聽刴vW濸錰)&淑撇+P秜簾dGVI\暀R麸笺愶盒R骍棖阱執刱#譔蘀'穁7#敞犌[O/殹Y襹s蘱涍 珦W/&,.&gw犐b礿4E洜霈*-'悤イ8mBs粟稐冤道 %\R貯9z(}(Vz$tMHfL儏妯:娺脄!溇=恒厧kgv╒ 盘s9屚29%C%q\凃1鍡丗giu~嶡hH穫:麉'g8悉蟌i+堕py3婂隿鞴>騈<标[DFk躭魾! 9$;轜=}B鸣bf生柍敿^鷷"U稒坶Z┤戅7懡Q奬弫:程UTE^貯鮉珰.n猂R韁$螴Yb緷磗-k<砮9[r;3崗刬暄;垄>sⅰ坨y棝g巊,6 &.摈O0晞0&o弽菑濶K廣嚒*5Ym沪妊飫徑47锲鑇鬟瘢cP饘絬 飔ALL贴炓釥CvI肝+捍 {儽紴鲎葭埒%8_钀G饯c*钸槿鑰(w櫌鯷/彗|觸[痛X互W砄闕}綺sh捐巴请萷4L儯W奍IK薍D滻蝫経跐k.诚浙潗瞈+|?9+灬oc]蜮t葴GyV8婨恭EE伂*q躅詍潳菆彣楏.0Ch!7殶簓阨#0u廅]%磨d$%U $:雿i羱7 6(|?:躴獯榗a2B鬑j椧 xy,M+w嗗 {裸;|紇2S玷C%ev'i-^埳X 愒<gB忼秢秀镩蓵`齉pGi+(t婮韄C篎T蛚U鍫途诚疎嚰Ig`LD晖饼D sS'鬹}獢UTTqV%貶 T_虛甄~~#"sqi譏xG骪伣蠨JLV0"H+9l枠2k曾䁖摔操餒拀恽薑4郕E,x竽0嵙T後怲攐V懻@ 4W\I+詃倔K罦5zl鬬[Dfy斕琅E獍'~鷶覬丣"g堪硧擴 递绊.缇O%/尧`珴黬t鸛^i蹬裇+秣耇蠢9:K^挡碄^%s坸薣瀵砌鵵 睍赍眦巊~/:Y蛧 g眳8 赇虷+ 4GA ',!鍤|$敦lkT癄覨o!葫鬚瘡媍孔N炋i(韒嬵 "G2嶄DB;-S锻uZ驮①侍m声7O6僄簸)锚癗%#蓪K &旝糼①可2R29噇澄郄炂猱^Br42)=徹φ岚P賉鎶))*3薡.q動*M影濲鈈憁_qy厬+T,'(s碳鶛po熹r'&鬋局8Z囦驁9q A卵儌P`禓h囁$xhI5hT缟蜴ev潓)9W4緍 j澧蘍>魣7Bl)售6`筬 獏奟5hP#衞旷精=8鎵`專_^鰺WXh昫罦椧傖(鲻},摇!Q捫&+\5 +K 痏I^:嬆豇龌8`菅蓩肴磵 篝j耴,6O摂邪|D%EE冓}-岹.埐0忾燱読翟\U*5 )) fI璩薩y隵<玤斎%反f攽 掼oy壑6烺甌魠V歑礍\兂]a@嘚れ/&2孥┇AmJ桖wrI峢GBB籱銑!碏^}焮醝峦峟‥嚪鼿.I)e9Y}m痿`骮J犵7-f@煖!龎lfI< :%7媢踙皵6Qj娗STk>苞坄肙j訨*k穄関5姸豷DL"PチIU2 F?E记碘蜮鰦)[╚Z晇诲%⒑菴瀦i\惟k訢惍V%┮淪Z翐菢丁!C,4$.P-屭0U,齒TZ擴'9s5玍T0$恡镓鬓qf_弽S%揇(!¬躄砿Hi浤_u仴:d請KJJF抟對埃kxFV\搾寂2謟I潉铟㤘a鴂lS}Р6k徬翔肎ug r啠^痷熏Γ徨姾曜 % 堿A乔遈橙RUV乳0SIxG鳛 G淯〖漹澣壋:婁璱!魺:>篧BY螞|}#稯崅槃*y镇钷輄优穉]糅(悞乍$#_袛$s橊 醕>Z玙襛妋撦f槯IB 唀$>Tg哳[T熞O!籰9偍) W 0v$亮癸/οv~搋 PP%-,o貭村6A脷p糘鄥/O嬏ё#斩骋i?嶅M 唠裡禯qI摘イU┅卣翈 楯5胵绍烘岂GG&)[,5營(ZBi枳+=E2痀q漶ig蟭齓. B)iI晅髫'籦焵塘5璆煓~毾v9VQB暏9罔訴欍,畽 %a鷦孓rP>y乯氮呐e準獇欋 魂N熜;;謒HQ峍M2猝溦=b瑱阳ew;:礿臤艫7F<#ou佳v,峑T %%坡煣-I*臒;斐檠┫牞荇c坝啌Koン贫*eX铔t隄 LG郿=B W湷T搾榇遬齅垸倡憇貋3^}s }鷂泩B万06?[堺$%)f刜<|8a"鎖k愕篾鍱阾j髪\虼5kl]xz碱W乖 uZ蝶go^?緄些驴-桛癍拷蕐桋 fdAT 阣遁渳饉銥忀l!O鵅tkQm﹥82{毷&wz=jR=5更^∟穧%陀爊铸岍v~趛f驏7奶棿M僔1E) k鱸7N汔贪臬U縱uP-k硙o硅8WV辉 "H蟏t巹nm襤g官C疍潟O铥=绔组闞i3潵;蝩兢V:f=y*p&~唔u笻漬[l魣/?G限陊甏啀A荡$B1iU9=鷦fXh仠 ~袘o& =餅蠘-X嚱v鑂斞 `_B喏髛鞹η麻g槔5g[V竣純鰕J唣烫2祽‵晫d援,豫S\:E圏韫┲簔匡{穮%艛9鞝N襧ddV敹覑熦r傺┩タ蛾/.矪>$& 怮##ヒ">5歏D閴y儐錯睴^Z馨OL鉈[迵韭LM辚(XN.噓橛+,%趾<蝾,襮狹爭呌璌巎%]陟祝$Y<嫶猈q晻d蹼耀K犯牡)q焀硇刊絏磩J3褱趗T魵䲢8丟t鱥~{渵桍 ,2( //'#儂)q録 枳晍凍**遥貊:薒5;朻友[;|=栐-Q宓枙 橛痆穘絾m謠幽98砗tf-b嗸樾.+cf獜$z5惭^Yqq(_aMBRR 允Z骫E拒氕鮳[j帤HW枖 G)儂蹶眩锥'NTf圄OO飉鯄碘r@8燬B`H>1qr9 - Q惍枪jV蛛煬pXG㏕^惣蒆 榘O_.仕v衃n睩Qg翁觊kn袑[4琱h臽臧繺K磮詎.-P疩:i%=鰖52K+:窯:I вAuF;d鲐3箐R+O))u魴1醑劮╭=騔敘 熇Zh9歞"库a莳S衞H^窚.eT≒6j捳牸a/rs#W鬡i♀裼N猹碯燪`-rQFP(為57^RI\謤~娾Z]`校耶魽IYy=緈絆9 )$疻梌麧kds狫5钤$нn;顗 2;Z?漪廿欝q玩kV%yD牺%籱>鉵撽疒hJ燮A胷\-}顟R'#z痻穀j3燬楋J窺暺W鑿{皘A,&g唧筱柎仳vM(賝蒙*i-SL竑 f羳葻9稩C椎=棓T-圧+MO,僴$┳C>甎饯@^暍n矧L攌0)籐靘j斏ZI*嫑a櫰cf嚫9骇 t-6霕吼戵iJFg繰席Q蓰婈U!!殽恮>匡}D}z猓8,K(à嘨)檬(>[嫑弑Q01#mHHˋ教(IGChHⅱ}J?+i鸜--猆(m柟jT秺6`燉秺檏慺i趖{颜v[9ZE[T鰌璁鉶4蚨灨1i5猈-1Z5宧蠮[飳潴GJ鐪﹂瞝U霘0%e篝篠YB*仮a}乎:<ej配^苠G.禩9RX%e]攴Q踧^$愔ㄅ  kWf舨淾晋舂预r c汔g!サ觚Y飹昉V餽X 掤昼曫頯墇I碇y驶4/畨r揋&Р楪y镅[鱈6oO塆N﹝3冤:.#蓑t胄+%Q渭.砭┍(+彐X:麉 * .pO0_B縜[s讛Ⅻ䲣烂> $=ZsVqy浼鎙筇V婣疕檷5n澨嚞 雰a偊v飷?WqtG勩AeC恀] 幾'g帴僬櫌榵鋦+(y軡Qg7穿V 俶2畵早1g┓[LC漶弡L欦觃ㄤ项Z鰡}C顤bvo予M⺮e蠭 斦囚黢郘橐5譫姡〝哧菛坻Z,瓯喂&B)麨$劒匂9讨ま#紈倖M椂.m鯭尻>菏s媉掘肳┏變絕氿鼴诖<龖3%+挍颬"*~ 敚迡ci瓴裮<`%8蹍.癫檼絷oL%L轤^7抠U尜飛\$k櫏fi蠹禑=j鄴:鯘^< K;A< &垔釆 懨嘃笌Ua4 酹-璣ILB`畍k谍砣0氩r蜡窷J=孱 d磆墟侵婪幐綿棈#貔Dp&~鱘0]btz╈fU﹪糝朧吧6;[e#帢&%旺G>叟磓1M垭np允奇'η!錄G圞.[~ =3,m糡谌 iWXaS%刉s伕^O%*%.g緹簔粑 fnp 46琋Zm趀-縰Y涰>搩}< 枛1F鲙8偙廟I,*/)Y鍟饙啖拳D`<錒店趐3駍WZ!9此 銾眖 -豲)O K堪颣 "秴Q&亼龐(+*<95濞孽k#鉷瘏^`K磻]蔒?鼒厷 ;l@縱]拊揠陯%牀 豨熈)Y#幃S3烈U/螖Uv*徥^叐!,曯f<逯鑧燜鎵q 旺缦6稑! k@沒炟閃Uaせx(餇漽嶼%蚉gH梐c f[↖\Х'遪}猵&f﹉姀:=*3z崺僇撔十諽 荧JL襐[?|骳--P'&!{l踱焮䦂珑聿?~`瀞炸晅賏萳K詪 踮溧┗呶埄烶J()*HD!鈶岝℉n" 敉3_鑑檈嬻厼7翮0{涿毺1K}男=v豧/諑贿z噹bL c杄狦缟j7役鵷匰 栟R//(攼2襏8E Tv嫬LX矬{t)蛊鉺跚ufk(-斦n6邬 G厊sv;|CS伪鴪7q顾恣+歾鶼z謊袴劇俋 テ15曋p41&酇4S烴虾}釩-憦8墷^断藌廫鯂z瓀(h詒詛嶹wy;l;腴g閙岼奞 d衺朩怴R0瞴萑僸L.郦>#H诛j%讱a*I〖琋{韖負}>r元窟;G14Pk婜 wb8,DA!iI x皂J矑J*齺GD齿o暘滏H+}*櫑m鲒轳誳凍Qj5_軶m欽uj讃χR叩髯G∷JT!g櫙鑁(1$屫ej叀唖俴澂Q峀礈MF媒h葉;韚猊#牿v垣/κ58zO髒{tN;Z:m8,m範}総詞k k蘊oI榦C懽4埣T]z=vl(痟=毺3銏礆荣k蟯K鎱殍* 笫学莳JN郙E棈鏂觘*j%Yyi狐墲忏+璼弲袪蓥LF靦橮g啣媁憩棖D2Zq>N]+[誌W屇馳[亀琓Y2ti懺+i敻7鞻P9N`跱m?僇馽鄬笭梿$ィ<訹l劑G+ 2+姠挗髮wGk"氳IE?u洿XZ/X灶 %]c锑L咉畼笫;[搜1ud 彍+茔畺艸烮b烍^礷蔇r0d 噠B9渪3嫙)枂7 &r#网撇Z]1鳪\z"J嵨礯C<鎛s蛶,)人校S彠噵8Co4e83襲*G2 攳u:K "SjLF谵)ID耸蜣m}胏B壢v-遥洽L渠>/拒<p&X歱 06螑H鐷W麡憥雭Y戂禰:G仅煻>TG濒疭獛|Gエ堚岸a'壖v霙訳Vi礘郧|灻T SB(矤0H蓹猉~溄{苃泿@e緞攲M鷾疉嬈Hボ慤Ib/T*曜k濥鐌I問禷鷽鱈蜯埶D$5hTOFAR煼 耎*K,蚨s$V禔4V艸IR!ZU6`I慎dQ悡椘漥]燴`忕肔*%&!蝌敘y牞/{N抍猓eC顿s*簔ud畫勂憯疈*趎笷隗渇詅V靳Z"綉%>凴蔙娛姡蕞%6[Z(璤F&4k鰣苏k謆q八芇帻K済噓*y栚*砪!齙 ;╙钤枿鑧丘钊 /劵蹰擱轭U襬@IL=鼬QTB5u8泽之 k元mN檲绿比s笈%"葙8诮{V%%訩毇臶砇 k鱀hv侃R竁帨ā倻nJ 曛m@iZ1 a活\臭梵栘q欃fj寊滗 hw@籱蒉o愦唥屜](f僈6[硓 A4邚,] 3d葼~雤"钝"a餱4薁譶忬e蠆6*璋[鱤訄盓冋唪憅旖w榙Wu铨;桕&$i4#HB伇A剰+ 龅灵y 5唊1鸼孍感$KHB9帳MN==萦+砖?>U読Κg喫闓毊瞠畇V鲒+硷3熴o:R$塇^i 乶ξ#全鲻nV蠩 qB騊嗍cD<%姅(P O幟L嚸炝B良R S糄|q夆釼杬週-铋輢w听稼埵勞汜Pd9c鄬$頬2栆A3Q妈襐藬)P燖9vd鵰庴rE]v皼6%&bbq搖絎餞兔苴|i剽钰3桙7&!B譫具"垍`2t(1&y鑥;J葡餥IE﹚3/<<薹熹蟔孖go;],扗 3螮rd壬鍩'$Y鲧笧=鮪:3閉3嵂#訔:鮧?楝瞗!]&瘏圱K0姮炡x8Dヰ*譐2幷<,-d暸P┧D7兀廬檔 Q阐蒓5Qz4蟯し儜殗n遡46^?燩m哉d畔颷2v理|v甼镸N悉,咼m&岱嘢剝桄嫚纱瞙,ⅲb,耈)健槔rЙNX暫 撲镞Dm僁dR$B埁l 筙襸9咸耣寃魙氟`1T {遍=胤篟 A<守8)l<-,嶫羋Y脍}控v*餏#(X渖!M唫@d咿叐耘翂駿'舺>總v趆"A6y&e rL|?^垣,甁}俪nc81倳"Je1夅紭侈坂m6zm.x]侮譺fr菚訏鸾她寡驻A*飝醮欟:)邕鐄'椢|猱練鷏$:艎K*'杢53聏糠i酺 ^~w踷<(鱰z哤T擂沐鵐幵Sョ&垰O謚砜%X溹{磕G膂梬吖閎俋濮(\蕑"t牨/;5薐緯薠幝Q欻龔'勐铼 <緖磹g'O0Jd伴@!J@玱 爰RixM储%跷>}vD艬偪穫f" 皟潿免8眴eDy 膪嘮9烼z6釦 k)眔O]俞kId箶%瀰'w,炴骻3]б垧各碸qO1\迫#2.狁黢统簬o]鮆趢4噲 N割*塠(峇:炞鉣俴鼩k抸4聾Rt9晇虱,%偵A0塅V梕磼#/^13Oz6旻乜奙x鶴弉哋蜍薻箠垩)1c衕"L妿鑹3烞^椱>: Q(蠍fZ58b8鮐hcT昹c齽D%籠穢8 =Fqbhd1 O$.:a杙bQ]u绑}资啢A'岯倥08?7礃S溻z躷U戬;{.^莊V 昻[1E⑹V"#,hZ鶡涍髇:h槣|(抐 襠(R"G毥q笅o毨思糴ZY潳* 蒼,i票伤 TT暩<i欮湉橒鑭y o嗖>}姺\裴;YK; B=v攓蜾备.蔐(崔*(z(aP丗+m'Th><噃,抐 I眲觽 /滛g晴?"蹃(# R譗粕R⒛擆牖';u旡M揝6殼峍湍HY92宎q {Y#卯 謣 fdAT V盅Io:<9=E"啘鱷樠Orc蒿h>褕=:詧齶zt项7 j漴j4'洀毇1&柌.R4覬3I挻%(盠TlJLa猜腎覰e瞕蒕戽0嚍饢驪頶.Q埐數磻熒q蕤郑楖TI筿)a"聲S}塿洪惓氳⑻3<蟐6J<=Wz,& 9劍ba2蘎挊陌藫d鲒8 a磫- -琤%)d$V崪飄擩*_莺6LM笒LV$DV眲ガ爴2}荵蕂宜A\(聡)I?Z`,Oq=>" 寄VzP)懥銺y跟,e-q9顷*D瑕!猏赫閖;ol呶紭纏D"庡)!>寠L燻qr3%贖&%J!孾翗)8rG勉=樟WT赮M6#I晝3捷壚鑏R丱园蒖耴渎0椉&DL潞ǜ椄暞3墕亙兞0?篿旻`bp輑髠"a的絃1瑭娚鲢匢总\3雐F敭騡鞼U歑靡Y 9X`# /ba申扤0M膞'珁懴恆槦 硞9頖!N,姒U聇硞<妲1@Q岂踽爝(婫?]皓蟕鄶*a歨璐 ~>q)R呐"D1啱+a^旻鏯>3I祹2蔏 3嶨 A\L Y41镽煝%騝?郋曌c軋+髐搘 f剳羒$h&贍2燌362d菻怟鰐t磞UZ鵏Ι荡x>迗侴 &`2= e;硼杚硳郠`+DVl辬I趡*q玷約) Ab囱I)|*螾膽蠽Ve 螿篯_j軁e{澦y伹箻,鉊P1s?▎塩fMYMl6啾~粿Oj2HfR !N 筒>控擧薾 Е椼$襵晘浢2膬 0 /玕蒣01B9蜼y湯 釩糜\咷~9凂i>1蒓+8kD祘~媩擰欕Y4Zク韞W 9t\腘皠Vvr*(<&yZ寻箹]l獻q)R|d 2笷-4棯<節 迫,JcUfl"鑰h勑 EQxOU喖儕C沜 \d &+e$厙'鄐 簸:MD 傠@_损叭13敏k琂o89*鵆:6尊檂hf5客鳡犫P`俶B儻/P恅硘绵SL0N!┮抗R:=<岘WL4窣冺a構HJ実0 桮罐?2昆斮?[`鳷;8忻 0gW h`r慈虛幝*e0H !B腍皫素E8m$E悝i81=^勄3,龀南0.9蘊^叧-4N6!(5伬zv∩f酬4H3蚛舽h窽I雑&椙郵s爭o鐆fy輻钹v{J趉 G厣嬱迥佾бuK7餓睤3册{饪x処Tt"じ夛郣破 綫櫓髝,8錹螒河WM7肯 |畡?貼-Nuw6S%2x&;鹼(_z蟜檴玶怾羮X柢G'縼儌F7騏盥&塆N缎 瀡泄{V餯駉椨:铪悃|濇カZ饦浪濅妼2Hβ P7i敃診㏄┩<=勮斬鑒埰W鳺&萩岵儖渲礈素煔#uP獒 杓曋左騶骍4c>8堭 回藊齦*嵄?砺"袾8-堺 <铓JY伒lAe:傮i權<1 层榷5$锳菱:v輞鹞仔F榓N滥 *b抭(5猽1*|熍L$sVN;$w摇酣#(芾rN`S栆B.楏誽V訆m灚s+哚貰q 盲3明z敜2 嵃酮4b釃垑衞à帐掃O 篒UT"lb?`9劊琛9拳<slM6蝇f涀b?@佀!B 鮈vq敥Fs7翵陧箠P╛賂鸗$V搵E揥q?{罔<'{ ̄ ,4僱剽K夫#o浺F;" )赑! 颷b鞌AU]Vz觙ナ2闟糹bb "N?:PD@ 胼譧喑欏ia鏍m 睻箘f偍擯=#L :Lb>┛J{ R) 窆 $Z坤[幥嬌?魏 O頴ki&廏屽±0g怍zZ, 酊篺猯>2汴&華鍪SΠj +*U{飕wQP甪)K0癷`1葘 搵]旻Z"RK揧U庛O峊 榣憄'I僕6矰禝哖1(2鰌?磂2列鈶o{n9]詃臿x.=娍5,侺)菖媊蘱曤V襂3er2x剝<g哇{d開蘱濟[i沥柊}&q籞株q僐}嗻姑:E 蕳痝)输(郟d剝焘2穜`咮壠毰掹玹1猼"怔W醅铽礆梈╈F恎+b 螲闄{XJSdI3!v/颚i9R4jC撄襽冈@摥B鷍軲倰X舉-x*}(Wg[醽i济熂mE韍d萉`賲詃寏釗阞 9悮Tg乯'闓蹠%棙-箒'f铟卓颡5础P颇 O3騳$ZcE樑郳e柇4a1J犰銈啫t弖Q@噻x5绉*m¦q**.图L;网T篇|綨朱=?v-D S`06m綢%J隋 y槫dL"驮Y戤R 2!Ln1V衼婫 暌Z厁豿霿罾"圢0.z9!$鉪9闽FBtZYNGフ ,敊H軺j酄蓚称3l 抡v8!9鴪+铀y~鱯認)饽铉Zi撪Me )恈嬣;權纀G〕1葠颹凾抙z侢\K^]}垀+A 閻:倓%"鵼蕂蟙箋1;I鐤毹恹&緧癃Cj%蒰沭<I燭仰p]t! ]⺷'沘侷晉臵い 騩'9陱4; bP$脣$l三<":澻U|$k袴;q⒉琖DX*U*'H!譊 Np=<3沙c挕䴕~o-堒荨葎榫麴V+t袸+-$ Q9{嬇钍土._Wn[鐳痲\)撸V$䦷摑濨@QP堡5麛槷軘ln闀麫睇{2Z*席膺碬 湽[ {颗恳厒'謼?:庄j}樨娑趇昜宆Q掦C栚{呤\>nbY瑂疔蒤猶黥M蕂嵫x.E#埩A/ツ槩,$]*树箲i+""U矤颿サ摇徻瞇_!罿`喱搥燀蒈w缟T:uY獚n趇!N窻+KR什T-}_/蝼vQ.I毊<虝劑V咠Z墜囀/珸燷*.EБ 漸此* 檫U (`軙拚=T!t\<=噌╉]W埑掆fH,九鼬e =純O屠XyW锝}g>晘oU獧N:i%I K$G潔Cx5组蓈2&*皺鑑9獀悾6^近彙S1硍 a\^獺瑈0E,uV扎妻儸<l)@矗皯e,&b柝檇FH%浨噆掗h苌 ,雧7昬瀅躛2e,準馯満蔇(| <~妋甩埆<蟰禾4攊鐍鋤010.S(6y颌,m厢3x蠙薀颀树瘹+"璨 俫4鉒r轕 {禕yk蓮攼D6oZE櫊<裩鴇刡,d:eT4_墎<)橮鼋媿2幇汳(劙(:v驘呢NLF !臏jG仪靲O虯焰0y* 騡t6%I銯袲#j幟餋㏄銓悜03#^2丯!歶跇"弋鼠緲_ゲ粫p寀如洎(琣1$晿输澟jVb沙桒鋆賰e&倾Xw挓錑=钵 刌竏f%侳悹1栬`1嗕鱰蓀攽S^98騭*氊彑┳=g塦K椆OZ堸'%*2Q窎僞^YE6庖妳'諤n.**6N佰#鍴$;4.W讄卖_閈ど<帍郅WED_哋U/n!J熪QE 鷩 J酸ú/+2"w藬郊WF\虥2涡e"禵俐<蟻+0*?k祥恳汆'nE%J(I&7.炛晅蠨&a|禰 g讴媻5皦Y[DV,8腍qy^$G1閁ui璭&壭".n:` fdAT 蹌 帒濅]勭P▏萌Y弸坎鷐遾#弨>}V俷&呷8銷隅黫$h!廎Y嗢~蒠9 Zゆ薄崯焫2@'勅烐揇p]53乃寈&(3_py锟卐腡蔟1:硨3xvX锂y0K7:~%秋g桶2阨&颅:*澑暲I9OW婥0喥除/P鮢 ]RzJ鵣幢柹/x譽 1籢醔R`!rg氾/燍K崷罌跧曞"Y窑辆棻檣讴!IP唃誸坃梵s畘4匿媩坠蘦AW0"Dhc忯腅&曼w犔0Gg "摆㎎仮呦Q喯炨f邍g⺗绉y)%$ 蓎J8x18韓/>鞴UD桄,,倞蘵贺h颁DTBD醈继GKwFc$0t^臤迈愞簁^薹痠碕=臓@eil,ニ?',8蠒E螖撖i臎柞=窅W滾ヵ3S輂聸ゥV[麶Bmm1劾鐥轈,痽xk邷Me冲滠埘撨?ByJ攅粴[贁鼌_磔g侂.禁Y]箴3腕K梅'\岼X_桚軺鑐峛迓8交YW箴氟~答.咼2F^怴*诼募R爳8W滽閩丮5哌黠>ui{<6([蜬0+K?D8Q貱 鞉J镉l瓂轸^&Q&囗蘌 O C.~&N尐於櫔s7觜扺<麯邨O/,嶫藎V4O 蕁 鮘8+襸渍<究:*等1>Ae]棸吀+.1>炂c9輙D (爳 槐渴餅隟焈~mん馱棽扤趫抋)睱邢?鹆s}3$芆歗u;[B力D哘`Q篽N I<眉蘿遉*r炆瘝t>箠'恫卬栆B ,鍖3$#!麟g垏T箟鏙:h#巻$(话&刬"男I袳"莤#蟬豕飻淥~mK'/锕渧洪 EXg"n巕Fcs蚘O秙O箭&8d9滤<雺#pa2A险軔8%渍.~v畂郿螂冇茯7湍磨亝)oT濑 另鰏 4侦4潲趏\6贗B 酉0EB4F昧"槡t誀vlG莈;审筴釨螭 o`/穜珹矧)鮋甡)$瞮跢暊b:.y鈋= 缧@呗髦ㄗ袸'MD 鄴g旪靍!Bl$B 4@虳C< 貼顪菖I迓瘠M|煕 B竂O魪)泺|J!Z(蕹塚俬8覈嫒P!@(1堁偭j&+|枏揍蜠聚鲻坶"E:`恊$( 0I忤l 唹嘖孷歅眽眲~誽j'>闻磽"唺E弍鹖桙ZX螹ler銑UO5O'hq聮桲.X|8M$堚Q`刟霰g刴湌 彝飐字膋XBHr寈8%0 :'"巧&(硰A歨"*R敊郔rr簌-<┦W趸.f,簶V褴u >艧濘ol涞紤K氧x缷+Qc (窧,瞧翣D2` V爱t櫶阷~7谄e,-燺pmL0894歨F晥Dm埀皈蠈fNK荚C廇帩 '}H酷2栄A7荽`4i&檂1v3熷弅^掌le+楇%{Pb噴I Y壝#锥d\(S艶!D$M4G胉抭庴詟uIC+Q)夼7hWqM 搹U"O,Y蜾1%萎XB>)P 湙io鯙暹x獊譤9嶔囑鞼矀V$A&絒2 伮sd釓1熶 劊$i!!ui濧i:>箹?版矼U賫\贅ibJo*4JA筎<冕輁趢蒐叓xwu嘵羫:h!&E%郎K鄍q峮蛙xHb簥蹹Q螘{$i&M栫x n戕篲}鍇哳壽繁\瞷Dp槓p牐$%B"蛠9熾焜7@@违鸏[㩳x]]pYEl擰09蝍鳬]M4;x況]欢 碔z崌黟⿰D糪&jb#x殏択塘3 s﹦鑘0*%q屪pn潼訾敷悯\D+E, \郭哖pd(6:挡←>z艙 鮃)㎜埕- 忭)7e<夢獺#偕>So謓銻簤!N寴溧饤+!睂膢c26./&婞 /,7愥p+䴕H(柠 r7u澾烎z$悿嶨,どQ翨憀>5Y槰>Kn*殗廸/94║闿[)@歨YN笚0Qpp 6'馅Du耷#m鄹𪢔O炎騻:捄睦惥])2+锶"埫i䞍玃S鳷T鱯縸炬涙愺貶[鶏皩*咇溴WA怍 0 檒XbN鸘}V塦=-+ 壄^栨悾僃(c~蘽侮.o醎搭k涪h^Reb跇娫! 2L 炵I.({箾鶋<蟚}齑鍇6襫t讘眀<>韫NDIJ昵0茩$=z_鍣@8,&0愧@L颉3究w笄虥钄榘*~p圑召8X碭沉 対)嶱/俢 菵蟧#),<5|^Gn<,*_&)宼&熏W9穂颍尵%yK%DS傄訢 a 褏$@莓鮐唰崤撨SKx/凡篒綖m,撗s毡U塷\l;藃3詘嗆辪l9廀綅谓溝F^%I檺|0,,壪镽%9Q4s瑹H_4$温H= (x:準乘扽A'勎 M矡匀娟<2鬂A毟墂p[0緦KYA -)X羕 '銽;J潳j.巃=瓮虌椠#绯:颊辯|(yh罔D俛云芒DN誟Dぱ)xX蛎鯵}U侱忉P`)5伛^蛓喵g庝襠駋=d 喗巁翢szk笜I6 歋冇.3e鑑权貝_%娠孑<;j声潅侽箓%$圚騠q嚈语琯 旷[ Iv翬|簚蕅\V蠭rt覫S垃_%P%┱Rk%>.蚒誳j y5塇㑇\$椙i饉謅碨薘嘁[\|L爜臲NSn0膕W鄛驹ζ窑癶Q,93赽┎N煮秫壧篬鐰y&5J c袐'嚙|&.#$滂6SLvK沽憋尧H憅獦碄~&\*渁凡$x煃溃汚僽;#<際cJ5NE*焨甏0ò 4鵮馀i猋F疠[d砒,,d閽漣5F8Cg蹲跌@涿|pE?智M|*疟@騲e钟%恝Kj 戄灬 I6碁UN涁宆<玎HIㄅip3+!溶 R拊9汓皟ぉ&&>а肧{R囵>諗蚺B嚝*o#I啲al)4)拸p悯觺蟹Y x=吆5聀译6[AN 7 ,1栆O/]粲嘇灒`?%紛雮冀A'y倹笚bD柾5Z胳'辖豘Q遢5岴蟂 淙A]巠 ^す椓iW<豥瑕嚞|磣P叓!砺1Y$H "IB帰(媛]鑑痁8j3Fg!箸瞣笏G>軰囸涒AJ椭)8YR釿謕鉼敘酐R營" Vs'艩U7鮖mc-馗(~锩下览2睜%隻r偨d疮"E7HQ"j-*L0F侜!輙拺蝠羲Pⅳ葱(丒UAz1{R0鵡颹7'MJ奇H蚡葾KX朓炴F~6刋0 j3?P暹悽,II<*X 晰歉芲cB砊圻V涰滘V  E<%x棏i_汚袮|葡I榞〖06 b`摙>篒塌Y-<49汀F &ㄠ/fO ?n嫼膶~Pt2K诸(鄓愪4ㄓ耤x 燗*/硸際!"S犳GU綇&涃N2I<狽 樘鸃p'徸銸<;Ъ0J癏襂饯騍ME璢Tip逇?o矽济{#惹'岹,U寂R鴦蠖7楡早噷{X沦O 郓窨I駀K Fy,隨55牼IV琣 HD!RT?馯蕵B乾鬿 +苫4眣~袏T玓q725宓$H摚3h菨鹵≧讌┡&o9鮸gW4电驫痌妣 猡I&︿-圾,鞒Vf凬憿[JW瀯蕋荛Ir致囚哊::跤鷂P"_鎍洪梻-檔斧^;湬灍槠歸帴b憽垽d儁0k4QB綊e 敥霌a駜蜊嘙6食L嬈I薢濪IU,o#|.j8尡塕},櫋R鞋虽h:c钙{貲K啜甽U副B巋鏥賲&5騧溍媔杍1A$I墐烊L/4囪X栐貖] ?w钬裎u,c襩}腠妃]#(駒=穜e$C儗LX))磹%Z宺婂9喒棙湹绝辮d臰晹3銱^糇頠g1J.H 耥j<)GP;,/臬k猷-RM紂歍&侵WH醙C|<練>,b啬I碂7a /xOt敥#w刉z%,g"h庁(阇#筎貳撣Y幫淁Op?&啺P y4u酂e'眿}\獙1 劏>z,SNu0𬴗享羸A&#Q嘮攦i`5,铰祹╂c>6★0Ft撶{珻m 奎瀽^;渊撯圐湵挏:\蝠﹑毘芘r< 浾$-O浔||侊0vZ8速 颌啺h挙菻9&乔S1=i矃B0晖1D1龋E=2Y8晌8rA宵RXb琯ァ_,>Ip兲6⿰oT]}]+Sd1虼璃1併T00癷帙愻[蒔N阉輒! _Y湢Q酂H\詶霷#蟉苪5駵LT2KVf╉ 驑“#逳W繵.=7r橀纭l遭8咑*惚蜹量 RE&{(戲o5篒暪楾\欱+R苂倵塻?)$0Q矎f/菛e)k眲C曢落$;醓>sQ#>碒kv歔`戛㏑椢缩ㄚv铈.*8鏼WCL氬霓t+^0*谸 C&芬鋱4]"'閕L*いJ"gi兴 7郔X茫(u驕z涑)Y钇v櫪爦)玥` |Yz <񊨍瘺_︿妃.74諏cU唎CzQm駜臾Z盅耮'6f悡踈螰9H堸鴨乥u佩s遇惮e)]x桧GZ敇`旂ㄓ罿 )K9X责I崀E秖#=xd腻1rQ{瞻庁鲟&fP,J怲 髠#宛瘔擫]娼/a峷q凈O躂弤帗g Z6B5Dbx,c >MZF胮2g 肯p %绘1Jt獜K欭鞊鳅)篑Hq/<送,昞>4儅a8X熹4/r镮qht `{J.NQ兂J塕銹 嵷搤聗 袙醔r歋軆)3(iZ滟O%tQ`HG 施zN>枒c#l戡j鲷Yj櫋7洫戨Y厠蒏尨鳰鯻鋽 檜┾J 幯2R谴豄儶P諆嶂薴剞筶+az鑒硣渺!歸l浱夹ye2鋆^pj[溓XO "4cUボ揽皪{#⿲%d痂牅,豆(2g笘 嘌)ug銼谒塓xM煗厩岚嵚轔澧51陮紮矧2?爪@戝艁G豄j嶹b嗔a^do瀣1 hjx皟.抶4㏎a渁鯬徥,G紾g〔燿w..F镶R蹚餼XKO@繈NOnYG霔╝挜Am襉?E^犉,0衯5}?%筘纃;0鑺$mu*歃>#撤9娽軀 隭蔶V覩_謬礑N银Zb淨N)柲胎8Н6.O柊S簩:茰n"8臬袬繞 櫃2W 娓彄|浲<胅鄥4壯7黢8漷驎?}<|炑9(簇`M琡 薠J7 <訬$I攈E敬+Tc:_櫻xT y陭9I毼H_偩仸!F欗.M﹝AY袛惲D/RX堆餤螊-r?@凇F7=屢墜)x$ \|=,e 澞傜缛騔S yF蒘('犐熐槨痄酨bD艻2.悗"岠>Sw希j+爄;軒g鈉s峭奖R元4c2黕誽帮肿颐K萢衣 朜ㄊ匞摢 s娒_饀Z3 楖8Tg jW1痬1G彮綟謠i蕆在乯袨鱐?稈ゑ囬7N鑢{p)#踣恹nlP熤<:+嵔w襂/]d0E霿飏R玾)P$鹮+|菵N橶縕l1蠢wU&[梹OgF耳g蜖T^V 圇r;嘏]翃嗚臾*鮯,B61x挜洶徰YR稿u粢C')l歍h葴"#U﹫驷篇|浛捥碬T} )^吪R鴨鳟c魻鱚ザ6&>|c鯬j蘠+;>w 甼D~诿#MJ遟涃 徧}汓9&稚坽W趄2*(<畏.=靧DP OQ枣/巌m{5~郳+_-愞% ZA~r:u *2+管腒<稚鐸鹽c"贰礕锫犑8深" w蛄籧鲪爟刺H5;蛮8丝R=蝺寬苿i7 /Z3鸒S擧耹Jp2CMJ寬棩WH鹸汚舟K棛B鄝嶭1歅閮?,鋰`4庲記箒#<艥$"_0peZ42x財┝縋樻X嗊佘?櫪*驄^燘 3蝱 5#UZo73NA觥蚻&1也鹣疲..[翍eA$棣7W涇,jTh悟(椡H7皌坟嗻=桨 [缅^欔j耝}槇iZ妵徤豸Rlfi鞊丩%118 螼y岱nXyYrt%!-凾"' 褰TY=殧g"9hv6Yz椋S&_悗iP扏'F扤z&TAkU H簘逷朊L駲+颾2 %~7eJ応RU腑7s鐏沊#繰3UqI(靍鋢雯r?亢9}Ir淙憰]ш笞O<%v3麺>Az期廋1F婀c A7K閵瑑P抎9篂孲 K'9Rm59K炡B靴[ M疸4L4/ g-久完湛礕c褜_y0螰蔿gK箟8-<崎擥N盁齈錝敢 螬騠鉝3n#-!^闋末(Y1A櫇<'g橴騣RbJ笕郙,襱覭f,x待!Ez箄H%髊(s栣呎X m盁峺Pq—抁)鰫拄FUZ47僺4溝O* N9盥超栫皳>姆偐 $~k51襱蠥枌(*忒V鯪08斮网C|y"搝 -J滄,9|╖L摜僋:dG鹪珔o羣昗臗=(鍏釩-|恀脈`5險U勇翬)汩珺-硡盹O-m烽矓N脑:錼YI=<覝壮襵漜%F7亠y嵐洿$JY尧﹁[(蚐f趴釱砃晍4(J:沋ら闘瘣绶}S>R銓QX}>H铩{5+i_䅟律那姩 8啬0+>,7蓍瀞a犓氪芶rl冷p杗Z8す赁駈~嫹?*s=6﹫躦"鳷+z3 鞝馻灊ⅹ4蔣 sㄡ拈b瀁gV勻iQf2蠼纋醿嫢瑗圝JL馛-艮&損#9库鎘鴧'鴵>蓈憞(蹦lQ+鏘:痂!uS磲M躆2蒓蚸R驋萐a対796K,暄 庌6荸%5 a8泍43惕y夞^[ #KG'K碋}HS 7園M駪q8@2囔*&岰d4軗7檏 S*韜U鼻莮-隓O疘& 0视紖氚艃"z辥庁U Z燖*;弿筒-T{補奇広澴E?=筅^_qY磳c櫰底+l ):榽錀;痗/硵IKIU#}娖mC';旵 詙躏O蹸$R:絣罁upIQ]T酘干燘" ㏄%5YRe燪苂-腍袸漝樝O晆禿篂$u6<-|愽腅郠暆鼱洚梨蚁廟9jl轭嚐亰0uZ?匸椋潂 O6氳殏tD8I12磳瞨SzUn匯磅┢8; 薤1:D[f勱Ut襂f蜨T新醃鱥 氪勐)'蠕%*d取f愵×6曝B焢)<|l   箩f焢{(%08翄~+~Q8颁8讻冈W"簘D2(Q%鉖棠M 0イ柼骅xN+yIj7ZC鑆5</-|uq皞銰兡<(繁坰/睄隮塟畉4L%|瘆%灖躀?18攭夝紖栯 K\掰>Z喑FY烢49蕬3|馳 課;昰符9I瞭袸v%场釹丷爃邬-.趞騨:.2枝Z(s*壮:/2祈t醏IN厔Sa舁>靧i(蹃O>饰耎狑m:痓7)^Y**4赝!塝適c渋K =U=Y:靳8)0F*团 托>HW笠栖:駢a褾聵{)睅嘫耭 F ^M"0崕酴餸噖!v嵄i菠e匞L䦟鶵-酰讲颌MjRr蔛4;嵯,蚈妪迈*睭菡馳wu M逅 瞄R沵7輪p!蜈廓bD8 X蹵6q  %微閽╄圊+埶庫8秎蚇啥櫂0殺鯗砷疹E觎猡钳qhVA茩爞#慻濅H搜>拽溽Pa1蛟f/J[ 卂6.z02筃x4}X缭Pc欹 6E:' u鰌4涜沏8Gi`硵Ud氨]塈4z疢a盠*/P<望ㄌ輛脭駝檼#Gzy蕦3Jq谕NW-惵K+o,駸.!E撁韤n寞毨n咺r7l|)+訅蟖v慹=窿CM>虸蔃%瑺z!x觩钤憫&5Z尡+|v謈溃袱閻瓛骫ⅷ刃屚搆篐mq糨┫轒 κt并CN毻a蠓絏 `樈T箒k"Q.*/y9C*]琡)iDe=袈-|09鐩靉 ;]裖U琝L霫y醠鉒P\ 蹬饮y黇@柤厬﹪ w臈啽 /Rb57`b;- 湂慄<-裞)铣 &pI褽}R"捃e渃dx5 犉iF8銁 鹱|qR簣 吉+J\瀮鋆旧9Eb @!O0N閽0绉X`禭@ 饁鉙雤VK[Rwz攊BIㄨ峃蹚z@3饑Fp托摎戽4漧i蠼pm2咩F謈憤曯 #Be *[e實綞A稓闂 齳*Aig 餦镏[邳Wtt9$zD7塏/.越|"厉郛dq寎dY軋邖>配?.爮$;6UPm夬c1P.!(38E憉x炮bi掔7t呙?蔮袽铑G犿滮0"漳=靍9晙皟誨#K5Uh=!蔀#奰-?蹱0)洌烼z謓 f@诘It=窗鍏茉擅w岘~鋤簤毨%弦.:0翇蹳,蓤>儈N◆何玓猽馘]~隟|悜"鞭扰g嬇摝xq龁u鲲f雒耤}r揊}]X90x氒&眲@鲴漷 ︻)S闣財馥鬟%蔷诖X:}渧+3uZ, 匞衒袁膫蔅@zm踣 =訡k磪|!x胉!壺,8梧[箚 9RB弾F:*U]砐剕 Y 獛貅U巕r埧徨K>/@[<莭D痎Y磡畯苄F籋驯fdぞbx|C慠G'Y婎麟-冻l内綛4D:U骎誈CRu jT栳鸀>腉.;恍m1,S3眐WD泠遖*ン~}瓣鉛弧{S眙錺"=闘q器1喩恑;ym3腎 P询慓Ke/b啬I$I4i襠u4 聡呗d頤憢.'5枧f3鱯'笣^z轮焫6>M&09食l'6vQ俰*N 簵ぅ5疒蟀`蟿 唁璋蕞昌'棠6.類M&/QQQ濣 刷塎;鴈N権酿H&MI獢谼嶶測搠{埒i&ㄓX翮g摝X缩ld欛惚&Y:劵k+僃涿wz濐蝴磀|庭A徍严汆:.把Exh鱖頍誨}x鴨冯Aw4D<U揮渇F9沫羿cp悾\堑槫HZ存颎?銡B柋凐4.++鹇!;霶談鵢卌靽?E什驷獌犍僼愾硶D,鼇-O擡歗%(9铜簣蕐@&_J悔S籭@m?=UEG妟诌嚬啎貥煦,I6覱倄鯌m蒘鬹j猉AHbG~廄(团 r$R)P鍱艷y#8(6蒛E;W愞蕒雇6欖^MSQ詛0魊篐鋲 )!!詬黵:嗿鸑R馛泠=Lé8ZE z峜鳶Q獕涭[蓨n瀰 m櫤z^f~搣已饩|酵纡潓㈱8襆瓔>J 斬E醓"&+斈痎` 匢}(笸&o酑\K价ZN&2枛!蹈|h裋邃噲塀騀赜馾顯S948腁N瓟g /1踎Z{4J 鍘喤g錫亦汗I裐赞R况餕a褄?殅3瘹逐 焃擁y刢/餫bx"Q"OMf[弒6樻>^谦:玺柌梱尟耔厐w.惁y=l\棦嚗$邈I蕗癁澊 惘t碇薨$;J眿巃╔獭)囓3敻.蹾鱚絼蒻蜕袧蕝 ]棤麵稤飃襜樏渣e芌b$#*zD'?嚿0r5 述迼褚裿O炸惂(望9:8梓虎輀锽h覂泋?甚鐆锢< 8;醥c瑰魫"FR喋糶BbP{襾髉$n陣*? U5C噧6眀拵丗{J5=UOw颦9'u9萗#c猽jX$-0U釒-餵S氟榦佈醝DN‵遡O僻T㏄"c<烷<O九崴lQ@T蠀M5鴍 o鯚擖粜撶r嚈@~-v膈fN*)$錺廍 &¢x韦啗篗?X;3靭G[輠Q詪Υ 旟> 藮@,L!u鮤55'j2㎡Q笃貯懥燛 克u⒛$釅,跐紫斍l?y诠a7Z韻ys 蘂驲[⑦Wd=<婘:呺 /u Y96黭9煙;O 24 d猴駞\:r$蒍 9EB鰄D5卵嶉/(7m镫沑 廉4ABe笕1翵Fy>6Co裶`Й坫N E唆鶹熩渁縚'a鬰*絀褏亶a4萐犲0栥$闍}ЬF$FZ文 釾濟EJk世聭揨}y鮨琂辉6纉吲?O鵇 b丐閎湷宊と斡齄4C餆蠌N距5﹜)鮨= 蜃冘Z豆JMao&a %\'M姂y(裣f哙;C曎~h0窍痣瑹錑%n:1酌祪?瘵^s):d賎&兀  <鯛擒攦G4J6L琛瘇c9>禶盁纽 ]浒裊儵緁4I2 aRg刢TH榊|聑ヶ詊T񩡺9V'嶪 茦爭C滔褝Bz1]Ya熏襇UDhJ3鳽x8磤p]Q 縬&榾慪激I\飘啓8GQ3無騣唵骓儑妡歄绵5#废餋|托S砡) 曙2ズ拧鷳zk俷M: 駓Jc笶"5\8亯A&З皯鮔1Zp,恹 O{y]駸矊S8Iln芒0- A9R$0F| 40UGm┭r$蓱d焧耜孾桒G[嶻ぺ貯'kZ踞H '/fdAT湗u dH晞y絫(%_\#P W/&$8V譓u鷁3斷?oYq艆y链膅袡9nF:僸鎳f鴣'7 頇 !H?h畹t%G嶯2d%9齗w%LWL *T┭薤夷1*幊汣寬慡 9导M撣y 玐iX>F\┳oMd 2)1@R糛擋r{*-JT╮ uZ>`X榓Z104 襱b⒄だb侢(忮\'+N7夷I菕/磟*錝!Jko5|3lzYM 澮Jib绚墐両<饦瓲儱麊8 1>嗡p湩gQ鹩焬>Z(泘 涖Z蟠&?<鳽!y 齿[唛唧7kYB.rt事梫*Z eJT㏎鈽?fE醧N≈|艇E蒈膔jlfi簍吉┟娫V陪蠭'ib翡+ら-96C 娄/e2礥O \Z屟t,蠨忦褝\輥2y鈂K$i 巘%せ:uyu<鱬 讲淟g顉C 6I_齤鬨*闣ǔ澕巷蜍  脺A戦9坂V灍幡眺S 磲マk刃I笻氦? 祍*銙80纕>0蒠埠G箅z课X㈥ *荌`醓褝I脧B?7摜.2-y枮4R踱M襤>=e詯*侰憒摨Xo頄濷,悀)^餩1騈芫>譚岍汉俕C`赆虔屟蟏dI蕔糁飂餟2塈O/銪( 〒殢騡觧漧%蝡zOz l饛io雄f緱铸鎶靲猫-O藓2芿UA=80溺鸨'm孕纹 }]'W 7- [>$ ㄚ锑2 榒钑g锹F湴 抁BN塥^/羥0!.鲏壸&0鞺M]鶵_迆:煊祠{島d$E隔翖}\犑sK dH 汉墠丒 鸝4Bt:狔煘D压7朸 @簈;)慆J唗Pm j硾谝( p|攎m噵/ 獮~h幺d櫐v濐[R萜_Y進G)%.諅悐>W赴扷tT驾牣笡g茏諭<∩鹿:傅眖H惀n91@i賽棓Dm驰蕎&.#8泩氛bm_pQ虎Z凿-nq4G孛煹=綑Lm;K~帊橡锍J 倮]籍[/軶矇6閛瑜(-;Q照衐: 櫙i籃嵃t狽镦瓆楀詡鐱f╰E] 唗勋[rIG艹喏諆y嚚钟灌}袽I綈Q1篢a勇`闷QN矑^)4e"嬋t婒u摻1畮z鯆wi6齾遧噝0鮰 w繅R@漑庭呜<俄]*[9每蟌+ ,J3逋 a牸c Q∣K4 /棻葸緩匏J2d殂uLZ剽ⅲR毭L#H楈牅卍蓳0<鐆2蕜檔g+叒OVP耪|W%,D 帎a%)'僨rrkmh潏)O术鑎綤漟痍在嶴汽.葉 髍>M蕦2B駣墳y~c;佻 I 趽_髌聗JJ愡欷 瑟L0U./|+亓J鸿"脄v2聄<馼+眍@?鑽垙 {M!鸍;8&瓵墐.f鄟C钱諦3阍J zY'9D潂諬麯 虵8瀐D厽Cj䱷Q$樝i邈Rc偝s瑑激68Ы∨粺&n照9]竀A℃鱻+輴F悷鯭幈晑缔el-n且腹帴睸善d}r半コ 獘Nz滦曭+t#` 笽*i1q尊u5鉈舠N[bL堄侣犐>V惷&A8輁 川2n溼M,鵵G#咲.ud&妜FpT2A莄' c$0媾缭醲銓蠠^r駇墟掃樈羓#磲D| !K#!ykK櫊3靌1﹪\J头[妇僴喝懫"G貰:o綕拿&洮S V[逻P,艏l镯|屜T⺋|466-荋b <欓l皬譅滹]捘堄)*~(襽gH覯]莲;蝁4y歰英>&c1捘痖*嚚菺9弑J%嵔傐3继奿o效f刊蛌扼&祩:瀶<碌剨"8斔(汘浹憩曠oO笸Z 苲N郺袏4咊翻x梩呍'芩 杚騯<聴8陓魟暍'h6q粜!莮尊/l髼k$穬<\cどw<鉘Uu(鯑啍F垻,溾<<М╥u 醌y'o銠Z<\鞫g榑0.耡厫臁錩歊皎J^倮a肥悒憔p {#瓱冝狖鏓\粥(=z楩yQrI豯 鵉氺鈉Q=臢庶遰)e+噶祥懝XPYV恐襣扃$qZ笵 漆嚣/褦@SE*rb&s拿n.魡MMq蠱*EF9 Np奱(R懢盗OL瘃蛚x櫇誓〩證沄u暇B:MZ8qr[x7桠]:{v靪j軈O輁莂nEE墇NUW鮓L珒磤蒫"!稵龑#1蛌阥鴿靉'YJ純; 章F E#H.}翛藑靍/}tⅹ痷&h|?$75鶔s诈柤?']^]7⒖廞顂S>5?笁锵px?I 4x塞鬒}2曳鱠ΖA時T9匥櫬e#o}歁t$霰彽41酘猓m衪hC*ぎ赴V=U懅諙锘膒%O<@氱'N揼I泖v揩婱R=u01/咺\歰B=岏4狭ぃN鮅+2覻戱愔軬%渎 0r9棅鬳擦咪3芨峽啔蠡 >脰驶幉J螎45#W┲衛P 5*訿'Gg勸)睡/5)~j斐O;膑q|b爟!镉拵N彯騿\ G\#衭銼娥榜癐皵cX瓢t&仗(坷撄'A5Y瘲o/r窑贼&P恔Q伮ymR^pP溕?耾蟨撓嘈9璁闔岖夹Q2愰L袍 )yz{湧u嗊`/肔P縧om1栿h覕$詛娖ぺW闦jt朷$蔬孜KU猇3舧夅 霸嘏觗&5把T諌S镄8'h礴髽缧 蓮q朣滀 W.濞 俱喉紇?7tr礹N炲K<恇駹=j蕅痾 *屸=/1*p筂u#]緃絜蒌妊EY窑'1馒T/t %琈=O袑w*釀莖[╩鵋潺c|篃e哺Z4 噊 [z4(0B^:q蠃缄E酖拺劑?:逤>瓷叄n䦟非Y模"8U&餧咎/P@屿[w-埯3悾婲:H 芣靾O誐衟CmFǖ淢&(}弿* 嶒/慵凎p c鬬#|匞⿶B颖歍3v螌看f&紡Gf,=Cン龟粽蛵,wp瘷HaaH荽%䥺逽4a?f}y]鋎灎C|i"络;熉0G洆Τ--!碌(<づ樎2餓葠U8欳辨+'刻6笗"-妚叟鼵g{em镯@湇 p毘 敁-劣-隝覣'漷溻m4檖5Sl覓抁S猴M癀:&痵將他豈匰孭p宏i '滉灋抶卩M|浘n<耴啂_日2碇浈9坪5鳣阖"" 褭鱤j:T鱖8L7Kcx憱2V> S蜅买+7栁p^3tNI襱秷淙5揋x痨飛H;擮 A夅QUqq3>b槳xbG笠冏薵竡溩 ]'坟A惘8祔55⒑!Y/4]v 鮍[R]5']6渶J耑9种` M-\莣X5脥%0籼舲ん锽!>>e?7VL乭;稩溯(緮N續溹'(A8燀橌y经炀0^沉kx53躕阃C廮蘂;_.膳鐊|t舴3">勻9>仅ΖxS桺zM^郋`(me9GЪ闑R辜6競'f蟟驏々ZTh孆竁+)逢;钓gX菡2T %~H愀膆I旉D=箩尊財膇2漧|gF漅7椻Q?H請n?△錉 9}▂;T讑r;铦{Q$钰]P 蟣皬枪q=~n梵楆懐惇蓶裹鬽1ⅳ虗sfJ碠 yz9蔎 闚鱚螚葱l皨oq蹖7蛐g.澹_ ue8 呟N睊 趉秼)S鉿fP酹t gR 寺]竈踐朑筭茮7魤K ".恶杀&鑻D燴頛焾9霮絷$}!%.8L#M 傲C紐茮?4tY朑^ 鮥R彵e濑t萷艬?﹊蟨銬潝╡<:5饦艞\6鉑 蝬缀睻ai^ 远嵢’e1釸7o 樋pIl<|顴}纖 3輙u\* 囫焰'柒zW柙姚% Q( [H鞬s脭汕:熂/g仂涌s薑灚筒婛jY鮼v蟊鼑漯#3娽b%柝禎玙%樣訔xE愶奭= U0=嬅R'9黗0 蕘 $牭>缅z9+*M jYz"妏?鑕但 むQcK:廢>~鞄▓[8K憽鯋a3鳸^O褎o鹇zM?9"徟hj镽7骻椦IR铸d儱iI2褆齎0vX柋m桨楼0<纁W鷧絩黻)(e9廛肎rk棑$C啲祧 鳍*⑧Y憹H5 Fh扃v奧鶨絩黻2約>Y紣 姲J浟PRM&8答1虧\-?绑鲍なL<6駂r "55 F骉LCLP紩絎鶨疾黻┒基Z夯棳旍c義炴鑷k"]\F)羚鳸jW鷫繼9 X帅8Y瞕&I洨芸I 8统|報赝麃] 3狢u鷎52扣O麞O僄L疐籦鍪颏碇秒笝q<蜶 麀惲/La_;sIEND瓸`javapng-2.0/src/test/images/apng/012-dispose-previous.png0000644000175000017500000000515510646275012023210 0ustar paulliupaulliu塒NG  IHDR璛疄bKGD牻acTL雾豪fcTL瓇=lIDATx滍9╘U鹂艱將$竒i詧FA攬"∕ S(b+谫h!ⅷ峛cALc 璕淖椄$聘f!A螈磐@9檡o竟賬?竿卫鵩罴s甾蝘珲8謧$w%Y梔M掚,92=I~H2揹S捦Iqnp蔦掍$?'鵲蘡W扺5湹%贋泺cG扜{5羿$2嚀荚筌a獮箱峲b︿$砳//<揹u捙I.J2蓡$_滀'yㄇ鍠e|挧侨x*蛇崒軮(5翡 _捾3嚋;掛md絎8_柰$3|Q?7徏鯈珻In,/絷 _衉e挓52邭t残Ivf鴅~p傑祶?揬8A.鬸]/鋙2,[購O #漘旙H>1輇災艶;g寵 椏 {M#{{A6L輊ikwa5聘(啰8藕璔邭篕址蘱l(Q 򊄭伲瞆cC墛Y穴o+曊JT4 嶛伲察3U 布Q {`菃 ry ̄{A隼sJT4纫F}oA雳豍ⅱA7犒 睪e-LwLEE兇6d彄胆p8FE僜楔髡 U货p倞檓+O}N朥賵p寠i]NR搡擩 莵cT4攘F锦鍈>.n詆)猦惪鮇 睪e灯 仪&^k浚56敤h愔%% NP 7曜d\=潜E億专*X莰[8湢緉詏*曊NWf坯︻);c,蕠┶栣 傡諐靅轺r渻75d2>箱鬈俕<栣矧[ 77沧dC/ホ稅譔恵K#s簢兟沩 _虩N9竨轳菄Ni?大墆漭呷:滀鎮鵅镛O鹮sY垣引梛XV雈謕诨*]3 [乜&筼寣;擖匀縻 鱠/盍檠情N煄䦛氢tO驱('B8呌瞢i/蛄1涱挥r赳f鯇^翥锬9g 閪7咂貤滟辡 =Z栦輙泏6屏$rN>O[&y8?$.蓲#s負3楫膪$蓣R 韦]fcTL;bk籪dATx滍1J$Q呇珮)倱80瓵酁\胠a0k研p&r& 妟涣禴@袮耔>篲%鸸m$蓂捰$?8'奢|惆 慁免8Ir癲蛜捽瀷W鞂鄫跰r炵A6萗掻5{s蝑{吧匑汽椾o拫褍饞M'笿ry曠O F鶗闂<樱趀l摇葐丅 P 丂!(匑丅 P 丂!(匑丅 P 丂!(匑丅 P 丂!(匑^6彌w昔"漊襟粁bk吣7:甫k/丅 繥{詏.畹鬊DfcTL蹧]fdATx滍軴ēc邱 F鉕# J?I,砥諶陕Jl&%1洷濨J蔉北0cA !Y0臽3'5M鐫烫=鞴|贻紆掮w挈:鞴蟬薹昸蓁)梀wT7V7T譛梂洬嵳彡Pu苞[}X}3",,邡戤陞険觑昴Y{諉鍗媞k但+脑駏u2X坵Z赽渱珵婶U霯 騥鮟u ^髍J*u簜黅絉=襩瞺)T輄絏齰氹湪v,鴠繠淶?玏歁.缺甓%K 虽邆n6_豶幾{洪掛9莐貌{硓R佥tIn^聁`6.鄽洓- +瘸 V濈沖F唫曗铈溧繪癰\亵<潼伖`E匦tA.Z膧g?i碓E艙務溱夡?7)间務錇夡_,j@a5yx恻V爗硳s5+M{<40 wS?げ摋5mS鮑笏馱uh0助戥磟r\4og渝x7K琣5]庯+艵儽禬菦_巁猰恽罼TG沖庍s8职;洉`^9嶸帇c菀(笫q奸=X鹂翻:恤裶裛琸M椼﹒裛誻M梒绺h0謻晁λ眥\4霋暧λ駔V蒠6U5]幏)吱嵳{M梒O嫻e)瑇4鹶*蔷赈a閌狊7.晴蜑t k魏辚λ駇u瞻t0禺λ笨簔\4kG渝8恗氍a7]幟6' K"ou:礌q.凟81h%<[覈覲8 e腇pV廻JIEND瓸`javapng-2.0/src/test/images.txt0000644000175000017500000002576310646275030016505 0ustar paulliupaulliu# /images/misc/AlphaSnakes8.png 2FC0BA77AF8C34B032524CB0D51654C1 # /images/misc/goldhill.png FCEDA12F78ED26361F38291E5682FF27 # /images/misc/pass-1.png 171B7ACB142DC06414E1E73B1F9433A0 /images/misc/scal_no_exp.png 3A2A52817A771EE863E75E7BE7B57EF4 /images/misc/itxt_valid.png 7452A9BD9890241C65FBA60677BC6916 /images/misc/itxt_compress.png 7452A9BD9890241C65FBA60677BC6916 /images/misc/iccp-cc99ff.png 53E35F0701D7259500314770FD5B5B04 /images/misc/srgb-cc99ff.png 5E4672014AD496539C281551111863A1 /images/misc/ntsciccp.png FB231A8780E7C28317476305E2C4F8D9 /images/misc/srgbsrgb.png 171AA865FCA10BA3BFF59B3AF4412679 /images/misc/andorbug.png 45FB58737E4893F7A8080785090C4B1B /images/misc/crashint.png A54F0041A9E15B050F25C463F1DB7449 /images/misc/crashnon.png A54F0041A9E15B050F25C463F1DB7449 /images/misc/pngtest.png 3A2A52817A771EE863E75E7BE7B57EF4 /images/misc/anigif.png FDB221239EDFB34F8DB0A08AB10EF6F9 /images/misc/cc1.png 8D25B4666CA708008944CE2BD4342561 /images/misc/manhat.png 9ABA47DEF9A28153825328FF40F5FC6A /images/misc/penguin.png 06FD6175F5CC3119541153B2DF43DF19 /images/misc/ps2n2c16.png 216FE65E5E4803D62EC466E0001D104F /images/misc/u_horn.111.png 5553537A57AAC10661101EEBEACECF8C /images/suite/basi0g01.png 52DCC1EDC03AD14490A995A355BC651A /images/suite/basi0g02.png 710920F5D440A4EB5D7AB50CC8B999EA /images/suite/basi0g04.png 2469F38C91B70CC1D678255F89B4E26A /images/suite/basi0g08.png DCF7668CFC3FED4546A54B9C4540B721 /images/suite/basi0g16.png D20521757AD045AC8D58449968E5C22B /images/suite/basi2c08.png 1F4493FB45D9E2DD387D20347D17A080 /images/suite/basi2c16.png 216FE65E5E4803D62EC466E0001D104F /images/suite/basi3p01.png 43338D4608D33B9C2D16B2290D9D3140 /images/suite/basi3p02.png F5E7DEC82688E564ED93F378F0BB6D13 /images/suite/basi3p04.png 506CC7FDFC3E3C0BB8E989ECDB8B53A1 /images/suite/basi3p08.png 86ECE9C3BAC3E257F62B9701D5A3A8D0 /images/suite/basi4a08.png 6C6543909FB7BE7811ACE197D0F27BE8 /images/suite/basi4a16.png 208F531EE1AD9FC56462A1E95CC218E8 /images/suite/basi6a08.png 8280F6DBDCF42C4C33D6EA57DF7709AE /images/suite/basi6a16.png 8E287E7C8846D59CFB8C094440221F69 /images/suite/basn0g01.png 52DCC1EDC03AD14490A995A355BC651A /images/suite/basn0g02.png 710920F5D440A4EB5D7AB50CC8B999EA /images/suite/basn0g04.png 2469F38C91B70CC1D678255F89B4E26A /images/suite/basn0g08.png DCF7668CFC3FED4546A54B9C4540B721 /images/suite/basn0g16.png D20521757AD045AC8D58449968E5C22B /images/suite/basn2c08.png 1F4493FB45D9E2DD387D20347D17A080 /images/suite/basn2c16.png 216FE65E5E4803D62EC466E0001D104F /images/suite/basn3p01.png 43338D4608D33B9C2D16B2290D9D3140 /images/suite/basn3p02.png F5E7DEC82688E564ED93F378F0BB6D13 /images/suite/basn3p04.png 506CC7FDFC3E3C0BB8E989ECDB8B53A1 /images/suite/basn3p08.png 86ECE9C3BAC3E257F62B9701D5A3A8D0 /images/suite/basn4a08.png 6C6543909FB7BE7811ACE197D0F27BE8 /images/suite/basn4a16.png 208F531EE1AD9FC56462A1E95CC218E8 /images/suite/basn6a08.png 8280F6DBDCF42C4C33D6EA57DF7709AE /images/suite/basn6a16.png 8E287E7C8846D59CFB8C094440221F69 /images/suite/bgai4a08.png 6C6543909FB7BE7811ACE197D0F27BE8 /images/suite/bgai4a16.png 208F531EE1AD9FC56462A1E95CC218E8 /images/suite/bgan6a08.png 8280F6DBDCF42C4C33D6EA57DF7709AE /images/suite/bgan6a16.png 8E287E7C8846D59CFB8C094440221F69 /images/suite/bgbn4a08.png 6C6543909FB7BE7811ACE197D0F27BE8 /images/suite/bggn4a16.png 208F531EE1AD9FC56462A1E95CC218E8 /images/suite/bgwn6a08.png 8280F6DBDCF42C4C33D6EA57DF7709AE /images/suite/bgyn6a16.png 8E287E7C8846D59CFB8C094440221F69 /images/suite/ccwn2c08.png F1B0DBD1A2C2B9DB64689670524B4BC2 /images/suite/ccwn3p08.png 470DA380B9D758EA43C8A9406F151DF8 /images/suite/cdfn2c08.png A5BF204014F9A935E5CE4355F92AD23A /images/suite/cdhn2c08.png F9643B1C319C9DFF9BBDAE57359BD1E4 /images/suite/cdsn2c08.png 3C03B1292F0270BA6BF390056FA9CEEA /images/suite/cdun2c08.png 0EA9142114301109E7ABCB5DB8F9CBB1 /images/suite/ch1n3p04.png 506CC7FDFC3E3C0BB8E989ECDB8B53A1 /images/suite/ch2n3p08.png 86ECE9C3BAC3E257F62B9701D5A3A8D0 /images/suite/cm0n0g04.png DDB600831172C2B51B784A7E27E40E39 /images/suite/cm7n0g04.png DDB600831172C2B51B784A7E27E40E39 /images/suite/cm9n0g04.png DDB600831172C2B51B784A7E27E40E39 /images/suite/cs3n2c16.png 3D92A9722CDCBFE23D2FA81B67AA9287 /images/suite/cs3n3p08.png 2AD26BC872DB00BB3411678EEA4D4F18 /images/suite/cs5n2c08.png 01FCE374F94F1909EC5876DE53F34303 /images/suite/cs5n3p08.png 01FCE374F94F1909EC5876DE53F34303 /images/suite/cs8n2c08.png 3D92A9722CDCBFE23D2FA81B67AA9287 /images/suite/cs8n3p08.png 3D92A9722CDCBFE23D2FA81B67AA9287 /images/suite/ct0n0g04.png DDB600831172C2B51B784A7E27E40E39 /images/suite/ct1n0g04.png DDB600831172C2B51B784A7E27E40E39 /images/suite/ctzn0g04.png DDB600831172C2B51B784A7E27E40E39 /images/suite/f00n0g08.png B5D50F2531ADF15D66521D891CB04929 /images/suite/f00n2c08.png 346FA710E52871CB82DCC1E17305A9F5 /images/suite/f01n0g08.png 951FD634381BE727836F05C261714F91 /images/suite/f01n2c08.png 7452A9BD9890241C65FBA60677BC6916 /images/suite/f02n0g08.png ED4AC585455A6F97870CEF9EF87BCA20 /images/suite/f02n2c08.png B12E1D7488737605481D666D137D672B /images/suite/f03n0g08.png 646F9A5A097D86B26539DAB6D0B07D35 /images/suite/f03n2c08.png 7C1F11218C12BE0B89F69A2D7FCEA077 /images/suite/f04n0g08.png 4AAEE0B4EE398F34B33641F0E877F3D4 /images/suite/f04n2c08.png E466A5142AEB006A3129E0B5CFF40409 /images/suite/g03n0g16.png F2D3251B28B0B579F708F98EC65798C6 /images/suite/g03n2c08.png F2BB6E3684902B828C1813EE5124AC2C /images/suite/g03n3p04.png 568CE37177D63A529155F74C83D0FC3D /images/suite/g04n0g16.png CFA765BF8C6883E897D64619AF9E99F5 /images/suite/g04n2c08.png 67E150B1CAFCF29C576A4BAF83715F5D /images/suite/g04n3p04.png 0FA65BB63004C39B65CB2066E3D32103 /images/suite/g05n0g16.png F792AD38A7FFC5DFF40F6606B6328E62 /images/suite/g05n2c08.png 7719E5D8223E8E336E04A953F1643F52 /images/suite/g05n3p04.png 4B5012BCC2C94834A16D421BCD599103 /images/suite/g07n0g16.png 9ADCC17C5D2479B5A20BB3D161CAD2D3 /images/suite/g07n2c08.png B09054E43668520F4FD11CA3251F716C /images/suite/g07n3p04.png 98898784D4F6F8B4720BCA4BBCC83016 /images/suite/g10n0g16.png 55E3030CF506D8EBDEB8E8EA2075DC78 /images/suite/g10n2c08.png C5AD3E5293463E8FEB87B10DC74FCCBF /images/suite/g10n3p04.png 5ADE905BC6CAA71EF5DA10EB249AFF6A /images/suite/g25n0g16.png AFD78569ED90C3C656D3241F7BB8E070 /images/suite/g25n2c08.png F34202C404945F7003F4902376E636B5 /images/suite/g25n3p04.png 4082AAFFB07E3651F8E78E522CDD4FA0 /images/suite/oi1n0g16.png D20521757AD045AC8D58449968E5C22B /images/suite/oi1n2c16.png 216FE65E5E4803D62EC466E0001D104F /images/suite/oi2n0g16.png D20521757AD045AC8D58449968E5C22B /images/suite/oi2n2c16.png 216FE65E5E4803D62EC466E0001D104F /images/suite/oi4n0g16.png D20521757AD045AC8D58449968E5C22B /images/suite/oi4n2c16.png 216FE65E5E4803D62EC466E0001D104F /images/suite/oi9n0g16.png D20521757AD045AC8D58449968E5C22B /images/suite/oi9n2c16.png 216FE65E5E4803D62EC466E0001D104F /images/suite/pp0n2c16.png 216FE65E5E4803D62EC466E0001D104F /images/suite/pp0n6a08.png F9CAFD4127693894D693DCDBDCE90E1B /images/suite/ps1n0g08.png DCF7668CFC3FED4546A54B9C4540B721 /images/suite/ps1n2c16.png 216FE65E5E4803D62EC466E0001D104F /images/suite/ps2n0g08.png DCF7668CFC3FED4546A54B9C4540B721 /images/suite/ps2n2c16.png 216FE65E5E4803D62EC466E0001D104F /images/suite/s01i3p01.png 4BCD779A6D1CB005A4731D447682D40B /images/suite/s01n3p01.png 4BCD779A6D1CB005A4731D447682D40B /images/suite/s02i3p01.png 016C63FF822B301C666E7923834DCB4B /images/suite/s02n3p01.png 016C63FF822B301C666E7923834DCB4B /images/suite/s03i3p01.png DB5B10D30309EC45305251D6AE6179F5 /images/suite/s03n3p01.png DB5B10D30309EC45305251D6AE6179F5 /images/suite/s04i3p01.png 18994DFBBA678BD1178D9125BBC5D284 /images/suite/s04n3p01.png 18994DFBBA678BD1178D9125BBC5D284 /images/suite/s05i3p02.png F105C38C83AEBFBA9982CB0FE06C4BF4 /images/suite/s05n3p02.png F105C38C83AEBFBA9982CB0FE06C4BF4 /images/suite/s06i3p02.png 35ABBE45643DAA8A7BE396236EF51B94 /images/suite/s06n3p02.png 35ABBE45643DAA8A7BE396236EF51B94 /images/suite/s07i3p02.png 65AC665580DDD5A7BA9F69149CE388B9 /images/suite/s07n3p02.png 65AC665580DDD5A7BA9F69149CE388B9 /images/suite/s08i3p02.png DF1478D2A99B49078683EB1616ECD015 /images/suite/s08n3p02.png DF1478D2A99B49078683EB1616ECD015 /images/suite/s09i3p02.png E07F1174C3F9CC005FA09E5BE0910419 /images/suite/s09n3p02.png E07F1174C3F9CC005FA09E5BE0910419 /images/suite/s32i3p04.png 9E3E2A3C3172CB6E5EECE24E1638D761 /images/suite/s32n3p04.png 9E3E2A3C3172CB6E5EECE24E1638D761 /images/suite/s33i3p04.png 090DC7857783AA9AA3C744E957456038 /images/suite/s33n3p04.png 090DC7857783AA9AA3C744E957456038 /images/suite/s34i3p04.png AF58AFF96C7E723CF36F30328A490A9E /images/suite/s34n3p04.png AF58AFF96C7E723CF36F30328A490A9E /images/suite/s35i3p04.png EBAFA3ABA769E4508A87D98DB460A0F3 /images/suite/s35n3p04.png EBAFA3ABA769E4508A87D98DB460A0F3 /images/suite/s36i3p04.png 03D2E5155B7BB99A71643B4B1FD1C512 /images/suite/s36n3p04.png 03D2E5155B7BB99A71643B4B1FD1C512 /images/suite/s37i3p04.png 2A577FD6C43A3AA2FE0D03223D2DA92B /images/suite/s37n3p04.png 2A577FD6C43A3AA2FE0D03223D2DA92B /images/suite/s38i3p04.png A07207DC611B9694DE286BD24451F141 /images/suite/s38n3p04.png A07207DC611B9694DE286BD24451F141 /images/suite/s39i3p04.png A64168D1F7915E43943F88227080DE7B /images/suite/s39n3p04.png A64168D1F7915E43943F88227080DE7B /images/suite/s40i3p04.png 3C3A92E6D6F043DCDCAFBE51D1978761 /images/suite/s40n3p04.png 3C3A92E6D6F043DCDCAFBE51D1978761 /images/suite/tbbn1g04.png 987D1F46018C2D7F7AC1B58E18F3D1A2 /images/suite/tbbn2c16.png E861ACBE0C8E5C94A00255E00069469A /images/suite/tbbn3p08.png E861ACBE0C8E5C94A00255E00069469A /images/suite/tbgn2c16.png E861ACBE0C8E5C94A00255E00069469A /images/suite/tbgn3p08.png E861ACBE0C8E5C94A00255E00069469A /images/suite/tbrn2c08.png E861ACBE0C8E5C94A00255E00069469A /images/suite/tbwn1g16.png 7612618253E4D581C27A8F0ABE12BA44 /images/suite/tbwn3p08.png E861ACBE0C8E5C94A00255E00069469A /images/suite/tbyn3p08.png E861ACBE0C8E5C94A00255E00069469A /images/suite/tp0n1g08.png DAD5F585B62FE3FA0FBAA805C5CD7998 /images/suite/tp0n2c08.png AFA1AA0F68806DFF6836D3D5A6F3F939 /images/suite/tp0n3p08.png AFA1AA0F68806DFF6836D3D5A6F3F939 /images/suite/tp1n3p08.png E861ACBE0C8E5C94A00255E00069469A /images/suite/z00n2c08.png 253CE9CAB7D15E0F334474E8E704BCCC /images/suite/z03n2c08.png 253CE9CAB7D15E0F334474E8E704BCCC /images/suite/z06n2c08.png 253CE9CAB7D15E0F334474E8E704BCCC /images/suite/z09n2c08.png 253CE9CAB7D15E0F334474E8E704BCCC javapng-2.0/src/examples/0000755000175000017500000000000011755244626015332 5ustar paulliupaulliujavapng-2.0/src/examples/com/0000755000175000017500000000000011755244626016110 5ustar paulliupaulliujavapng-2.0/src/examples/com/sixlegs/0000755000175000017500000000000011755244626017566 5ustar paulliupaulliujavapng-2.0/src/examples/com/sixlegs/png/0000755000175000017500000000000011755244626020352 5ustar paulliupaulliujavapng-2.0/src/examples/com/sixlegs/png/examples/0000755000175000017500000000000011755244626022170 5ustar paulliupaulliujavapng-2.0/src/examples/com/sixlegs/png/examples/WriteAnimatedDemos.java0000644000175000017500000000765310646275036026570 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.examples; import java.awt.*; import java.awt.geom.*; import java.awt.image.*; import java.io.*; import java.util.Arrays; public class WriteAnimatedDemos { public static void main(String[] args) throws Exception { Dimension size = new Dimension(200, 200); Png2AnimatedPng.run( "--delay", "1000", "--blend", "1", "--crop", writeBlank(size), writeFrame(size, 0x55FF0000, -90), writeFrame(size, 0x5500FF00, 30), writeFrame(size, 0x550000FF, 150), args[0] ); } private static String writeBlank(Dimension size) throws IOException { File file = File.createTempFile("demo", ".png"); file.deleteOnExit(); javax.imageio.ImageIO.write(new BufferedImage(size.width, size.height, BufferedImage.TYPE_INT_ARGB), "PNG", file); return file.getPath(); } private static String writeFrame(Dimension size, int rgba, int angle) throws IOException { Point center = new Point(size.width / 2, size.height / 2 + 10); Shape ellipse = createEllipse(getPoint(center, size.width / 5, angle), size.width / 4); BufferedImage image = new BufferedImage(size.width, size.height, BufferedImage.TYPE_INT_ARGB); Graphics2D g = image.createGraphics(); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.setColor(new Color(rgba)); g.draw(ellipse); g.setColor(new Color(rgba, true)); g.fill(ellipse); g.dispose(); File file = File.createTempFile("demo", ".png"); file.deleteOnExit(); javax.imageio.ImageIO.write(image, "PNG", file); return file.getPath(); } private static Point getPoint(Point center, int offset, int angle) { double theta = Math.toRadians(angle); return new Point(center.x + (int)Math.round(offset * Math.cos(theta)), center.y + (int)Math.round(offset * Math.sin(theta))); } private static Ellipse2D createEllipse(Point center, int r) { return new Ellipse2D.Float(center.x - r, center.y - r, r * 2, r * 2); } } javapng-2.0/src/examples/com/sixlegs/png/examples/ArgumentProcessor.java0000644000175000017500000001726010646275036026520 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.examples; import java.util.*; class ArgumentProcessor { private static final Map PARSERS = new HashMap(); static { PARSERS.put(Boolean.class.getName(), new Parser() { public Object parse(String arg) { return Boolean.valueOf(arg); } }); PARSERS.put(String.class.getName(), new Parser() { public Object parse(String arg) { return arg; } }); PARSERS.put(Integer.class.getName(), new Parser() { public Object parse(String arg) { return Integer.valueOf(arg, 10); } }); PARSERS.put(Short.class.getName(), new Parser() { public Object parse(String arg) { return Short.valueOf(arg, 10); } }); PARSERS.put(Byte.class.getName(), new Parser() { public Object parse(String arg) { return Byte.valueOf(arg, 10); } }); PARSERS.put(Long.class.getName(), new Parser() { public Object parse(String arg) { return Long.valueOf(arg, 10); } }); PARSERS.put(Character.class.getName(), new Parser() { public Object parse(String arg) { if (arg.length() != 1) throw new IllegalArgumentException("requires single character"); return arg.charAt(0); } }); } abstract private static class Parser { abstract public Object parse(String arg); } private final Map options = new HashMap(); public ArgumentProcessor(Option... options) { for (Option opt : options) this.options.put(opt.name, new Option(opt)); } // mutates args // throws exception if arguments are invalid public Map parse(List src, List dst) { Map result = new HashMap(); int index = 0; while (index < src.size()) { String arg = src.get(index); if (arg.startsWith("--")) { index++; if (arg.equals("--")) break; String name = arg.substring(2); Option opt = options.get(name); if (opt == null) throw new IllegalArgumentException("Unknown argument " + arg); if (opt.type.equals(Boolean.class)) { result.put(name, Boolean.TRUE); } else { String peek = (index < src.size()) ? src.get(index) : null; if (peek == null || peek.startsWith("--")) throw new IllegalArgumentException("Expecting argument for option " + name); index++; result.put(name, opt.parse(peek)); } } else { break; } } for (Option opt : options.values()) { if (!result.containsKey(opt.name)) { if (opt.required) throw new IllegalArgumentException("--" + opt.name + " is required"); result.put(opt.name, opt.defaultValue); } } List tmp = new ArrayList(); tmp.addAll(src.subList(index, src.size())); dst.clear(); dst.addAll(tmp); return result; } public static Option option(String name) { return new Option(name); } public static Option option(String name, Class type) { return new Option(name, type); } public static class Option { final String name; final Class type; boolean required = true; Object defaultValue; Comparable start; Comparable end; Option(Option option) { name = option.name; type = option.type; required = option.required; defaultValue = option.defaultValue; start = option.start; end = option.end; } Option(String name) { this(name, Boolean.class); defaultValue(Boolean.FALSE); } Option(String name, Class type) { if (!PARSERS.containsKey(type.getName())) throw new IllegalArgumentException("Unsupported type " + type); if (name.startsWith("-")) throw new IllegalArgumentException("Option names cannot start with a hyphen"); this.name = name; this.type = type; } public Option defaultValue(Object value) { checkType(value); required = false; defaultValue = value; return this; } public Option range(Comparable start, Comparable end) { checkType(start); checkType(end); if (!Comparable.class.isAssignableFrom(type)) throw new IllegalArgumentException(type + " is not Comparable"); if (start.compareTo(end) >= 0) throw new IllegalArgumentException(start + " is not less than " + end); this.start = start; this.end = end; return this; } private Object parse(String arg) { try { Object value = PARSERS.get(type.getName()).parse(arg); if (start != null) { Comparable comp = (Comparable)value; if (comp.compareTo(start) < 0 || comp.compareTo(end) > 0) throw new IllegalArgumentException(value + " is not between " + start + " and " + end); } return value; } catch (IllegalArgumentException e) { throw new IllegalArgumentException(name + " " + e.getMessage()); } } private void checkType(Object value) { if (!type.isAssignableFrom(value.getClass())) throw new IllegalArgumentException(name + " value " + value + " is not assignable to " + type.getName()); } } } javapng-2.0/src/examples/com/sixlegs/png/examples/ChunkWriter.java0000644000175000017500000000552510646275036025304 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.examples; import java.io.*; import java.util.zip.*; class ChunkWriter extends DataOutputStream { public ChunkWriter() { super(new ByteArrayOutputStream()); } public void start(int type) throws IOException { ((ByteArrayOutputStream)out).reset(); writeInt(type); } public int finish(DataOutput data) throws IOException { byte[] bytes = ((ByteArrayOutputStream)out).toByteArray(); int crc = crc(bytes); data.writeInt(bytes.length - 4); data.write(bytes); data.writeInt(crc); return crc; } private static int crc(byte[] bytes) throws IOException { CheckedOutputStream checked = new CheckedOutputStream(new NullOutputStream(), new CRC32()); DataOutputStream data = new DataOutputStream(checked); data.write(bytes); data.close(); return (int)checked.getChecksum().getValue(); } private static class NullOutputStream extends OutputStream { public void write(int b) { } public void write(byte[] b) { } public void write(byte[] b, int off, int len) { } } } javapng-2.0/src/examples/com/sixlegs/png/examples/PngCheck.java0000644000175000017500000000076410646275036024521 0ustar paulliupaulliupackage com.sixlegs.png.examples; import com.sixlegs.png.*; import java.io.IOException; import java.io.File; import java.util.*; public class PngCheck { public static void main(String[] args) throws IOException { (new PngImage(new PngConfig.Builder().readLimit(PngConfig.READ_UNTIL_DATA).build()){ public void handleWarning(PngException e) { System.out.println("Warning: " + e.getMessage()); } }).read(new File(args[0])); } } javapng-2.0/src/examples/com/sixlegs/png/examples/AnimatedGif2Png.java0000644000175000017500000004254310646275036025737 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.examples; import com.sixlegs.png.*; import java.awt.*; import java.awt.image.*; import java.io.*; import java.util.*; import java.util.List; import java.util.zip.*; import javax.imageio.*; import javax.imageio.metadata.*; import javax.imageio.stream.FileImageInputStream; import org.w3c.dom.Node; public class AnimatedGif2Png { private static final int MIN_DELAY = 75; // ms public static void main(String[] args) throws IOException { if (args.length != 2) { System.err.println("Usage: java -jar gif2apng.jar "); return; } convert(new File(args[0]), new File(args[1])); } public static void convert(File in, File out) throws IOException { ImageReader imageReader = ImageIO.getImageReadersByFormatName("GIF").next(); imageReader.setInput(new FileImageInputStream(in)); int numIterations = 1; byte[] netscape = getAppExtension(imageReader.getImageMetadata(0), "NETSCAPE", "2.0"); if (netscape != null && netscape[0] != 0) { int repeat = ((0xFF & netscape[2]) << 8) | (0xFF & netscape[1]); if (repeat == 0) { numIterations = 0; } else { numIterations = 1 + repeat; } } int index = 0; Set entries = new HashSet(); List frames = new ArrayList(); int[] prev = null; boolean different = false; try { for (;;) { // TODO: get palette from metadata instead of decoding image? BufferedImage image = imageReader.read(index); ColorModel colorModel = image.getColorModel(); IndexColorModel icm = (IndexColorModel)colorModel; int[] palette = new int[icm.getMapSize()]; icm.getRGBs(palette); for (int i = 0; i < palette.length; i++) entries.add(palette[i]); if (!different && prev != null && !Arrays.equals(palette, prev)) different = true; prev = palette; IIOMetadata metadata = imageReader.getImageMetadata(index); Node root = metadata.getAsTree(metadata.getNativeMetadataFormatName()); Node desc = getChild(root, "ImageDescriptor"); Node gce = getChild(root, "GraphicControlExtension"); int blendOp = (index == 0) ? FrameControl.BLEND_SOURCE : FrameControl.BLEND_OVER; frames.add(new Frame(palette, new Rectangle(Integer.parseInt(getAttr(desc, "imageLeftPosition")), Integer.parseInt(getAttr(desc, "imageTopPosition")), Integer.parseInt(getAttr(desc, "imageWidth")), Integer.parseInt(getAttr(desc, "imageHeight"))), Math.max(10 * Integer.parseInt(getAttr(gce, "delayTime")), MIN_DELAY), mapDisposal(getAttr(gce, "disposalMethod")), blendOp)); index++; } } catch (IndexOutOfBoundsException e) { // no more frames } // expand first frame to fit all frames Frame first = frames.get(0); if (!first.bounds.getLocation().equals(new Point(0, 0))) throw new UnsupportedOperationException("TODO: first frame has non-zero origin"); for (Frame frame : frames) first.bounds.add(frame.bounds); PngWriter w = new PngWriter(out); boolean paletted = entries.size() <= 256; int colorType = paletted ? PngConstants.COLOR_TYPE_PALETTE : PngConstants.COLOR_TYPE_RGB_ALPHA; w.start(first.bounds.getSize(), colorType, first.palette, frames.size(), numIterations); if (paletted) { if (different) throw new UnsupportedOperationException("implement palette remapping"); writePaletted(w, imageReader, frames); } else { writeTruecolor(w, imageReader, frames); } w.finish(); imageReader.dispose(); } private static byte[] getAppExtension(IIOMetadata metadata, String id, String code) { Node root = metadata.getAsTree(metadata.getNativeMetadataFormatName()); Node extensions = getChild(root, "ApplicationExtensions"); if (extensions == null) return null; for (Node node = extensions.getFirstChild(); node != null; node = node.getNextSibling()) { if (id.equals(getAttr(node, "applicationID")) && code.equals(getAttr(node, "authenticationCode"))) return (byte[])((IIOMetadataNode)node).getUserObject(); } return null; } /* private static Color getGifBackground(ImageReader imageReader) throws IOException { IIOMetadata metadata = imageReader.getStreamMetadata(); Node globalColorTable = getChild(metadata.getAsTree(metadata.getNativeMetadataFormatName()), "GlobalColorTable"); if (globalColorTable == null) return null; String index = getAttr(globalColorTable, "backgroundColorIndex"); for (Node node = globalColorTable.getFirstChild(); node != null; node = node.getNextSibling()) { if (getAttr(node, "index").equals(index)) { return new Color(Integer.parseInt(getAttr(node, "red")), Integer.parseInt(getAttr(node, "green")), Integer.parseInt(getAttr(node, "blue"))); } } return null; } */ private static void writePaletted(PngWriter w, ImageReader imageReader, List frames) throws IOException { // TODO: if palette is <= 64 entries, use smaller bit depth boolean animated = frames.size() > 1; Frame first = frames.get(0); ByteArrayOutputStream raw = new ByteArrayOutputStream(); byte[] row = new byte[first.bounds.width]; int index = 0; for (Frame frame : frames) { int width = frame.bounds.width; BufferedImage image = pad(imageReader.read(index++), frame.bounds); raw.reset(); DeflaterOutputStream defl = new DeflaterOutputStream(raw); for (int y = 0, height = frame.bounds.height; y < height; y++) { image.getRaster().getDataElements(0, y, width, 1, row); defl.write(0); // filter byte defl.write(row, 0, width); } defl.close(); w.frame(animated, frame, raw.toByteArray()); } } private static void writeTruecolor(PngWriter w, ImageReader imageReader, List frames) throws IOException { // TODO: could use tRNS instead of alpha channel in some cases for better compression boolean animated = frames.size() > 1; Frame first = frames.get(0); ByteArrayOutputStream raw = new ByteArrayOutputStream(); byte[] row = new byte[first.bounds.width]; byte[] rgbs = new byte[4 * row.length]; byte[] prev = new byte[4 * row.length]; Filterer filterer = new Filterer(4 * row.length, 4); int index = 0; for (Frame frame : frames) { int[] palette = frame.palette; int width = frame.bounds.width; BufferedImage image = pad(imageReader.read(index++), frame.bounds); raw.reset(); DataOutputStream defl = new DataOutputStream(new DeflaterOutputStream(raw)); for (int y = 0, height = frame.bounds.height; y < height; y++) { image.getRaster().getDataElements(0, y, width, 1, row); int toX = 0; for (int x = 0; x < width; x++) { int argb = palette[0xFF & row[x]]; rgbs[toX++] = (byte)(0xFF & (argb >>> 16)); rgbs[toX++] = (byte)(0xFF & (argb >>> 8)); rgbs[toX++] = (byte)(0xFF & argb); rgbs[toX++] = (byte)(0xFF & (argb >>> 24)); } int filterType = filterer.filter(rgbs, prev, 4 * width); defl.write(filterType); defl.write(rgbs, 0, 4 * width); byte[] t = rgbs; rgbs = prev; prev = t; // swap } defl.close(); w.frame(animated, frame, raw.toByteArray()); } } private static BufferedImage pad(BufferedImage image, Rectangle bounds) { if (image.getWidth() == bounds.width && image.getHeight() == bounds.height) return image; BufferedImage padded = new BufferedImage(image.getColorModel(), image.getRaster().createCompatibleWritableRaster(bounds.width, bounds.height), image.isAlphaPremultiplied(), null); Graphics2D g = padded.createGraphics(); g.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), null, null); g.dispose(); return padded; } private static class Filterer { private final byte[] work; private final byte[] best; private final int pixelStride; public Filterer(int maxLength, int pixelStride) { work = new byte[maxLength]; best = new byte[maxLength]; this.pixelStride = pixelStride; } public int filter(byte[] row, byte[] prev, int length) { int bestType = 0; int bestSum = Integer.MAX_VALUE; for (int type = 0; type <= 2; type++) { filter(row, prev, length, type); int sum = sumBytes(work, length); if (sum < bestSum) { bestSum = sum; bestType = type; System.arraycopy(work, 0, best, 0, length); } } System.arraycopy(best, 0, row, 0, length); return bestType; } private static int sumBytes(byte[] bytes, int length) { int sum = 0; for (int i = 0; i < length; i++) sum += 0xFF & bytes[i]; return sum; } private void filter(byte[] row, byte[] prev, int length, int type) { switch (type) { case 0: // None System.arraycopy(row, 0, work, 0, length); break; case 1: // Sub for (int i = 0; i < pixelStride; i++) work[i] = row[i]; for (int i = pixelStride, from = 0; i < length; i++, from++) work[i] = (byte)((row[i] - row[from]) % 256); break; case 2: // Up for (int i = 0; i < length; i++) work[i] = (byte)((row[i] - prev[i]) % 256); break; default: throw new UnsupportedOperationException("implement me"); } } } private static class PngWriter { private final DataOutputStream data; private final ChunkWriter chunk = new ChunkWriter(); private int seq; public PngWriter(File out) throws IOException { this.data = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(out))); } public void start(Dimension size, int colorType, int[] palette, int numFrames, int numIterations) throws IOException { data.writeLong(PngConstants.SIGNATURE); chunk.start(PngConstants.IHDR); chunk.writeInt(size.width); chunk.writeInt(size.height); chunk.writeByte(8); // bit depth chunk.writeByte(colorType); chunk.writeByte(PngConstants.COMPRESSION_BASE); chunk.writeByte(PngConstants.FILTER_BASE); chunk.writeByte(PngConstants.INTERLACE_NONE); chunk.finish(data); if (colorType == PngConstants.COLOR_TYPE_PALETTE) { chunk.start(PngConstants.PLTE); int numTrans = 0; int maxTrans = 0; for (int i = 0; i < palette.length; i++) { Color color = new Color(palette[i], true); chunk.writeByte(color.getRed()); chunk.writeByte(color.getGreen()); chunk.writeByte(color.getBlue()); if (color.getAlpha() != 0xFF) { numTrans++; maxTrans = i; } } chunk.finish(data); if (numTrans > 0) { chunk.start(PngConstants.tRNS); for (int i = 0; i <= maxTrans; i++) chunk.writeByte(palette[i] >>> 24); chunk.finish(data); } } if (numFrames > 1) { chunk.start(AnimatedPngImage.acTL); chunk.writeInt(numFrames); chunk.writeInt(numIterations); chunk.finish(data); } } public void frame(boolean animated, Frame frame, byte[] bytes) throws IOException { if (animated) { chunk.start(AnimatedPngImage.fcTL); chunk.writeInt(seq++); chunk.writeInt(frame.bounds.width); chunk.writeInt(frame.bounds.height); chunk.writeInt(frame.bounds.x); chunk.writeInt(frame.bounds.y); chunk.writeShort(frame.delayTime); chunk.writeShort(1000); chunk.writeByte(frame.dispose); chunk.writeByte(frame.blend); chunk.finish(data); if (seq == 1) { chunk.start(PngConstants.IDAT); } else { chunk.start(AnimatedPngImage.fdAT); chunk.writeInt(seq++); } chunk.write(bytes); chunk.finish(data); } else { chunk.start(PngConstants.IDAT); chunk.write(bytes); chunk.finish(data); } } public void finish() throws IOException { chunk.start(PngConstants.IEND); chunk.finish(data); data.close(); } } private static Node getChild(Node node, String name) { for (node = node.getFirstChild(); node != null; node = node.getNextSibling()) if (name.equals(node.getNodeName())) break; return node; } private static String getAttr(Node element, String name) { return element.getAttributes().getNamedItem(name).getNodeValue(); } private static int mapDisposal(String gifDisposalMethod) { if (gifDisposalMethod.equals("restoreToBackgroundColor")) return FrameControl.DISPOSE_BACKGROUND; if (gifDisposalMethod.equals("restoreToPrevious")) return FrameControl.DISPOSE_PREVIOUS; return FrameControl.DISPOSE_NONE; } private static class Frame { final int[] palette; final Rectangle bounds; final int delayTime; final int dispose; final int blend; public Frame(int[] palette, Rectangle bounds, int delayTime, int dispose, int blend) { this.palette = palette; this.bounds = bounds; this.delayTime = delayTime; this.dispose = dispose; this.blend = blend; } } } javapng-2.0/src/examples/com/sixlegs/png/examples/Png2AnimatedPng.java0000644000175000017500000001425510646275036025755 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.examples; import com.sixlegs.png.*; import java.awt.image.*; import java.io.*; import java.util.*; import static com.sixlegs.png.examples.ArgumentProcessor.*; // TODO: this is a work in progress // TODO: support crop public class Png2AnimatedPng { private static final ArgumentProcessor PROC; static { PROC = new ArgumentProcessor( option("iter", Integer.class).defaultValue(0).range(0, Integer.MAX_VALUE), option("delay", Integer.class).range(0, (int)Short.MAX_VALUE), option("blend", Integer.class).defaultValue(0).range(0, 1), option("dispose", Integer.class).defaultValue(0).range(0, 2), option("skip"), option("crop") ); } public static void main(String[] args) throws Exception { try { run(args); } catch (Exception e) { System.err.println(e.getMessage()); } } public static void run(String... orig) throws Exception { List args = new ArrayList(); Map opts = PROC.parse(Arrays.asList(orig), args); final int iter = ((Number)opts.get("iter")).intValue(); final int delay = ((Number)opts.get("delay")).intValue(); final int blend = ((Number)opts.get("blend")).intValue(); final int dispose = ((Number)opts.get("dispose")).intValue(); final boolean skip = ((Boolean)opts.get("skip")).booleanValue(); // TODO: handle numIterations, delay, skip final List files = new ArrayList(); if (args.size() < 2) throw new IllegalArgumentException("Not enough arguments"); for (String arg : args) files.add(new File(arg)); File target = files.remove(files.size() - 1); final DataOutputStream out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(target))); final PngConfig config = new PngConfig.Builder().readLimit(PngConfig.READ_EXCEPT_DATA).build(); out.writeLong(PngConstants.SIGNATURE); (new PngImage(config) { private ChunkWriter chunk = new ChunkWriter(); private int seq = 0; protected void readChunk(int type, DataInput in, long offset, int length) throws IOException { byte[] data = new byte[length]; in.readFully(data); if (type == PngConstants.IEND) { for (File file : files.subList(1, files.size())) { nextFrame(); (new PngImage(config) { protected void readChunk(int type, DataInput in, long offset, int length) throws IOException { if (type == PngConstants.IDAT) { byte[] data = new byte[length]; in.readFully(data); chunk.start(AnimatedPngImage.fdAT); chunk.writeInt(seq++); chunk.write(data); chunk.finish(out); } else { super.readChunk(type, in, offset, length); } } }).read(file); } } chunk.start(type); chunk.write(data); chunk.finish(out); super.readChunk(type, new DataInputStream(new ByteArrayInputStream(data)), offset, length); if (type == PngConstants.IHDR) { chunk.start(AnimatedPngImage.acTL); chunk.writeInt(files.size()); chunk.writeInt(iter); chunk.finish(out); if (!skip) nextFrame(); } } private void nextFrame() throws IOException { chunk.start(AnimatedPngImage.fcTL); chunk.writeInt(seq++); chunk.writeInt(getWidth()); chunk.writeInt(getHeight()); chunk.writeInt(0); chunk.writeInt(0); chunk.writeShort(delay); chunk.writeShort(1000); chunk.writeByte((byte)dispose); chunk.writeByte((!skip && seq == 1) ? 0 : (byte)blend); chunk.finish(out); } }).read(files.get(0)); out.close(); } } javapng-2.0/src/examples/com/sixlegs/png/examples/ExtractFrames.java0000644000175000017500000001423610646275036025606 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png.examples; import com.sixlegs.png.*; import java.awt.image.BufferedImage; import java.io.*; import java.text.DecimalFormat; import java.util.*; public class ExtractFrames { public static void main(String[] args) throws Exception { DecimalFormat fmt = new DecimalFormat("000"); for (int i = 0; i < args.length; i++) { File in = new File(args[i]); PngSplitter splitter = new PngSplitter(in); int numFrames = splitter.getNumFrames(); for (int frame = 0; frame < numFrames; frame++) { File out = new File(fmt.format(frame) + "-" + in.getName()); if (out.exists()) { System.err.println("File exists, skipping: " + out); break; } System.err.println("Writing " + out); splitter.write(out, frame); } } } private static class PngSplitter extends PngImage { private static final PngConfig CONFIG = new PngConfig.Builder() .warningsFatal(true) .readLimit(PngConfig.READ_EXCEPT_DATA) .build(); private File in; private List commonBefore = new ArrayList(); private List commonAfter = new ArrayList(); private List data = new ArrayList(); private List bySequence = new ArrayList(); private List> byFrame = new ArrayList>(); private byte[] buf = new byte[0x2000]; public PngSplitter(File in) throws IOException { super(CONFIG); this.in = in; read(in); byFrame.add(data); List cur = null; for (Chunk chunk : bySequence) { if (chunk.type == AnimatedPngImage.fcTL) { byFrame.add(cur = new ArrayList()); } else { cur.add(chunk); } } } public int getNumFrames() { return byFrame.size(); } public void write(File file, int index) throws IOException { DataOutputStream out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(file))); ChunkWriter cw = new ChunkWriter(); try { out.writeLong(PngConstants.SIGNATURE); echo(out, commonBefore); echo(out, byFrame.get(index)); echo(out, commonAfter); } finally { out.close(); } } private void echo(DataOutput out, List chunks) throws IOException { ChunkWriter cw = new ChunkWriter(); RandomAccessFile rf = new RandomAccessFile(in, "r"); try { for (Chunk chunk : chunks) { cw.start(chunk.type); rf.seek(chunk.offset); rf.readFully(buf, 0, chunk.length); cw.write(buf, 0, chunk.length); cw.close(); cw.finish(out); } } finally { rf.close(); } } protected void readChunk(int type, DataInput in, long offset, int length) throws IOException { Chunk chunk = new Chunk(); chunk.type = type; chunk.offset = offset; chunk.length = length; switch (type) { case PngConstants.IDAT: data.add(chunk); break; case AnimatedPngImage.acTL: break; case AnimatedPngImage.fdAT: chunk.type = PngConstants.IDAT; chunk.offset += 4; chunk.length -= 4; /* fall-through */ case AnimatedPngImage.fcTL: int seq = in.readInt(); while (bySequence.size() <= seq) bySequence.add(null); bySequence.set(seq, chunk); break; default: (data.isEmpty() ? commonBefore : commonAfter).add(chunk); super.readChunk(type, in, offset, length); } } } private static class Chunk { int type; long offset; int length; public String toString() { return PngConstants.getChunkName(type); } } } javapng-2.0/src/apng/0000755000175000017500000000000011755244626014441 5ustar paulliupaulliujavapng-2.0/src/apng/com/0000755000175000017500000000000011755244626015217 5ustar paulliupaulliujavapng-2.0/src/apng/com/sixlegs/0000755000175000017500000000000011755244626016675 5ustar paulliupaulliujavapng-2.0/src/apng/com/sixlegs/png/0000755000175000017500000000000011755244626017461 5ustar paulliupaulliujavapng-2.0/src/apng/com/sixlegs/png/AnimatedPngImage.java0000644000175000017500000002346310646275034023461 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; import java.util.*; import java.util.List; /** * TODO */ public class AnimatedPngImage extends PngImage { /** TODO */ public static final int acTL = 0x6163544C; /** TODO */ public static final int fcTL = 0x6663544C; /** TODO */ public static final int fdAT = 0x66644154; private static final PngConfig DEFAULT_CONFIG = new PngConfig.Builder().readLimit(PngConfig.READ_EXCEPT_DATA).build(); private final List chunks = new ArrayList(); private final List frames = new ArrayList(); private final Map frameData = new HashMap(); private final List defaultImageData = new ArrayList(); private Rectangle headerBounds; private boolean animated; private boolean sawData; private boolean useDefaultImage; private int numFrames; private int numPlays; /** * TODO */ public AnimatedPngImage() { super(DEFAULT_CONFIG); } /** * TODO */ public AnimatedPngImage(PngConfig config) { super(new PngConfig.Builder(config).readLimit(PngConfig.READ_EXCEPT_DATA).build()); } private void reset() { animated = sawData = useDefaultImage = false; chunks.clear(); frames.clear(); frameData.clear(); defaultImageData.clear(); } /** * TODO */ public boolean isAnimated() { assertRead(); return animated; } /** * TODO */ public int getNumFrames() { assertRead(); return frames.size(); } /** * TODO */ public int getNumPlays() { assertRead(); return animated ? numPlays : 1; } /** * TODO */ public FrameControl getFrame(int index) { assertRead(); return (FrameControl)frames.get(index); } /** * TODO */ public boolean isClearRequired() { assertRead(); if (!animated) return false; FrameControl first = getFrame(0); return (first.getBlend() == FrameControl.BLEND_OVER) || !first.getBounds().equals(new Rectangle(getWidth(), getHeight())); } /** * TODO */ public BufferedImage[] readAllFrames(File file) throws IOException { read(file); BufferedImage[] images = new BufferedImage[getNumFrames()]; for (int i = 0; i < images.length; i++) images[i] = readFrame(file, getFrame(i)); return images; } // TODO: make sure that file is what we read before? // TODO: make sure that frame control is from this image? /** * TODO */ public BufferedImage readFrame(File file, FrameControl frame) throws IOException { assertRead(); if (frame == null) return readImage(file, defaultImageData, new Dimension(getWidth(), getHeight())); return readImage(file, (List)frameData.get(frame), frame.getBounds().getSize()); } private BufferedImage readImage(File file, List data, Dimension size) throws IOException { FrameDataInputStream in = new FrameDataInputStream(file, data); try { return createImage(in, size); } finally { in.close(); } } private void assertRead() { if (frames.isEmpty()) throw new IllegalStateException("Image has not been read"); } protected void readChunk(int type, DataInput in, long offset, int length) throws IOException { switch (type) { case PngConstants.IEND: validate(); super.readChunk(type, in, offset, length); break; case PngConstants.IHDR: reset(); super.readChunk(type, in, offset, length); headerBounds = new Rectangle(getWidth(), getHeight()); break; case acTL: RegisteredChunks.checkLength(type, length, 8); if (sawData) error("acTL cannot appear after IDAT"); animated = true; if ((numFrames = in.readInt()) <= 0) error("Invalid frame count: " + numFrames); if ((numPlays = in.readInt()) < 0) error("Invalid play count: " + numPlays); break; case fcTL: RegisteredChunks.checkLength(type, length, 26); add(in.readInt(), readFrameControl(in)); break; case fdAT: if (!sawData) error("fdAT chunks cannot appear before IDAT"); add(in.readInt(), new FrameData(offset + 4, length - 4)); break; case PngConstants.IDAT: sawData = true; defaultImageData.add(new FrameData(offset, length)); break; default: super.readChunk(type, in, offset, length); } } protected boolean isMultipleOK(int type) { switch (type) { case fcTL: case fdAT: return true; } return super.isMultipleOK(type); } private void add(int seq, Object chunk) throws PngException { if (chunks.size() != seq || (seq == 0 && !(chunk instanceof FrameControl))) error("APNG chunks out of order"); chunks.add(chunk); } private static void error(String message) throws PngException { throw new PngException(message, false); } private FrameControl readFrameControl(DataInput in) throws IOException { int w = in.readInt(); int h = in.readInt(); Rectangle bounds = new Rectangle(in.readInt(), in.readInt(), w, h); if (!sawData) { if (!chunks.isEmpty()) error("Multiple fcTL chunks are not allowed before IDAT"); if (!bounds.equals(headerBounds)) error("Default image frame must match IHDR bounds"); useDefaultImage = true; } if (!headerBounds.contains(bounds)) error("Frame bounds must fall within IHDR bounds"); int delayNum = in.readUnsignedShort(); int delayDen = in.readUnsignedShort(); if (delayDen == 0) delayDen = 100; int disposeOp = in.readByte(); switch (disposeOp) { case FrameControl.DISPOSE_NONE: case FrameControl.DISPOSE_BACKGROUND: break; case FrameControl.DISPOSE_PREVIOUS: if (chunks.isEmpty()) disposeOp = FrameControl.DISPOSE_BACKGROUND; break; default: error("Unknown APNG dispose op " + disposeOp); } int blendOp = in.readByte(); switch (blendOp) { case FrameControl.BLEND_OVER: case FrameControl.BLEND_SOURCE: break; default: error("Unknown APNG blend op " + blendOp); } return new FrameControl(bounds, (float)delayNum / delayDen, disposeOp, blendOp); } private void validate() throws IOException { if (!animated) { frames.add(null); return; } try { if (chunks.isEmpty()) error("Found zero frames"); List list = null; for (int i = 0; i < chunks.size(); i++) { Object chunk = chunks.get(i); if (chunk instanceof FrameControl) { frames.add(chunk); frameData.put(chunk, list = new ArrayList()); } else { list.add(chunk); } } if (frames.size() != numFrames) error("Found " + frames.size() + " frames, expected " + numFrames); if (useDefaultImage) ((List)frameData.get(frames.get(0))).addAll(defaultImageData); for (int i = 0; i < frames.size(); i++) { if (((List)frameData.get(frames.get(i))).isEmpty()) error("Missing data for frame"); } chunks.clear(); } catch (IOException e) { animated = false; throw e; } } } javapng-2.0/src/apng/com/sixlegs/png/FrameDataInputStream.java0000644000175000017500000000736610646275034024353 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.io.*; import java.util.*; class FrameDataInputStream extends InputStream { private final RandomAccessFile file; private final Iterator it; private InputStream in; public FrameDataInputStream(File file, List frameData) throws IOException { this.file = new RandomAccessFile(file, "r"); this.it = frameData.iterator(); advance(); } public void close() throws IOException { if (in != null) { in.close(); in = null; while (it.hasNext()) it.next(); } file.close(); } private void advance() throws IOException { if (in != null) in.close(); in = null; if (it.hasNext()) { // TODO: enable streaming FrameData data = (FrameData)it.next(); file.seek(data.getOffset()); byte[] bytes = new byte[data.getLength()]; file.readFully(bytes); in = new ByteArrayInputStream(bytes); } } public int available() throws IOException { if (in == null) return 0; return in.available(); } public boolean markSupported() { return false; } public int read() throws IOException { if (in == null) return -1; int result = in.read(); if (result == -1) { advance(); return read(); } return result; } public int read(byte[] b, int off, int len) throws IOException { if (in == null) return -1; int result = in.read(b, off, len); if (result == -1) { advance(); return read(b, off, len); } return result; } public long skip(long n) throws IOException { if (in == null) return 0; long result = in.skip(n); if (result != 0) return result; if (read() == -1) return 0; return 1; } } javapng-2.0/src/apng/com/sixlegs/png/FrameData.java0000644000175000017500000000404710646275034022150 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.io.*; class FrameData { private final long offset; private final int length; public FrameData(long offset, int length) { this.offset = offset; this.length = length; } public long getOffset() { return offset; } public int getLength() { return length; } } javapng-2.0/src/apng/com/sixlegs/png/Animator.java0000644000175000017500000001617110646275034022077 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.awt.image.Raster; import javax.swing.Timer; import java.util.*; import java.util.List; /** * TODO */ public class Animator implements ActionListener { private static final Color TRANSPARENT_BLACK = new Color(0, true); private static final int MIN_DELAY = 10; private final AnimatedPngImage png; private final BufferedImage target; private final Graphics2D g; private final BufferedImage prev; private final Graphics2D gPrev; private final RenderData[] render; private final int timerDelay; private final boolean clearRequired; private long waitUntil = 0; private int index = -1; private int iter; private boolean done; private static BufferedImage createCompatibleImage(BufferedImage image, int width, int height) { return new BufferedImage(image.getColorModel(), image.getRaster().createCompatibleWritableRaster(width, height), image.isAlphaPremultiplied(), null); // TODO: properties } /** * TODO */ public Animator(AnimatedPngImage png, BufferedImage[] frames, BufferedImage target) { if (!png.isAnimated()) throw new IllegalArgumentException("PNG is not animated"); if (target == null) target = createCompatibleImage(frames[0], png.getWidth(), png.getHeight()); this.png = png; this.target = target; g = target.createGraphics(); Rectangle prevBounds = new Rectangle(0, 0, 0, 0); List renderList = new ArrayList(); int minDelay = Integer.MAX_VALUE; for (int i = 0; i < png.getNumFrames(); i++) { FrameControl frame = png.getFrame(i); RenderData rd = new RenderData(); rd.image = frames[i]; rd.bounds = frame.getBounds(); rd.dispose = frame.getDispose(); rd.blend = (frame.getBlend() == FrameControl.BLEND_SOURCE) ? AlphaComposite.Src : AlphaComposite.SrcOver; if (frame.getDispose() == FrameControl.DISPOSE_PREVIOUS) prevBounds.add(new Rectangle(rd.bounds.getSize())); rd.delay = Math.max((int)(frame.getDelay() * 1000), MIN_DELAY); minDelay = Math.min(minDelay, rd.delay); renderList.add(rd); } timerDelay = minDelay; render = (RenderData[])renderList.toArray(new RenderData[renderList.size()]); if (prevBounds.isEmpty()) { prev = null; gPrev = null; } else { prev = createCompatibleImage(frames[0], prevBounds.width, prevBounds.height); gPrev = prev.createGraphics(); gPrev.setComposite(AlphaComposite.Src); } clearRequired = png.isClearRequired(); if (clearRequired) clearFrame(target); } public void reset() { waitUntil = 0; iter = 0; index = -1; done = false; clearFrame(target); } private void clearFrame(BufferedImage target) { g.setComposite(AlphaComposite.Src); g.setColor(TRANSPARENT_BLACK); g.fillRect(0, 0, target.getWidth(), target.getHeight()); } /** * TODO */ public BufferedImage getTarget() { return target; } /** * TODO */ public int getTimerDelay() { return timerDelay; } // TODO: add fudge factor in case we get triggered a little too early public void actionPerformed(ActionEvent e) { long now = System.currentTimeMillis(); if (done || waitUntil > now) return; if (waitUntil == 0) waitUntil = now; while (waitUntil <= now) { if (index >= 0) dispose(render[index]); if (++index == render.length) { int maxIter = png.getNumPlays(); if (++iter == maxIter && maxIter != 0) { done = true; return; } if (clearRequired) clearFrame(target); index = 0; } waitUntil += render[index].delay; draw(render[index]); } } private void dispose(RenderData rd) { Rectangle bounds = rd.bounds; switch (rd.dispose) { case FrameControl.DISPOSE_BACKGROUND: g.setComposite(AlphaComposite.Src); g.setColor(TRANSPARENT_BLACK); g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height); break; case FrameControl.DISPOSE_PREVIOUS: g.setComposite(AlphaComposite.Src); g.drawImage(prev, bounds.x, bounds.y, bounds.width, bounds.height, null, null); break; } } private void draw(RenderData rd) { Rectangle bounds = rd.bounds; if (rd.dispose == FrameControl.DISPOSE_PREVIOUS) gPrev.drawImage(target, bounds.x, bounds.y, bounds.width, bounds.height, null, null); g.setComposite(rd.blend); g.drawImage(rd.image, bounds.x, bounds.y, bounds.width, bounds.height, null, null); } private static class RenderData { int delay; int dispose; Rectangle bounds; BufferedImage image; Composite blend; } } javapng-2.0/src/apng/com/sixlegs/png/FrameControl.java0000644000175000017500000000573210646275034022721 0ustar paulliupaulliu/* com.sixlegs.png - Java package to read and display PNG images Copyright (C) 1998-2006 Chris Nokleberg 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package com.sixlegs.png; import java.awt.Rectangle; /** * TODO */ public class FrameControl { /** TODO */ public static final int DISPOSE_NONE = 0; /** TODO */ public static final int DISPOSE_BACKGROUND = 1; /** TODO */ public static final int DISPOSE_PREVIOUS = 2; /** TODO */ public static final int BLEND_SOURCE = 0; /** TODO */ public static final int BLEND_OVER = 1; private final Rectangle bounds; private final float delay; private final int dispose; private final int blend; FrameControl(Rectangle bounds, float delay, int dispose, int blend) { this.bounds = bounds; this.delay = delay; this.dispose = dispose; this.blend = blend; } /** * TODO */ public Rectangle getBounds() { return new Rectangle(bounds); } /** * TODO */ public float getDelay() { return delay; } /** * TODO */ public int getDispose() { return dispose; } /** * TODO */ public int getBlend() { return blend; } public String toString() { return "FrameControl{bounds=" + bounds + ",delay=" + delay + ",dispose=" + dispose + ",blend=" + blend + "}"; } }