python-devel-2.7.18-150000.89.2<>,ԉi:kp9|1<-G4Ng@~ ޽šROc@HPh Whu8@tS[BӺEH:'@ٹ^- zJ@W! :))^Qm=>‹4Bj= %S Ԯ@{ spJů;w)%I Sf"j<Ƶ.EC"|Q]O\F!FgP4!С>Ʊ2B* 9!i >N?Nd " d  (@FL + 9 U V 7xZ2|}l(8y9y:yF uG H(TIDXKYK0\Kx]g@^b9cd`eefhlju|vD*wxHy8zN,N<N@NFNCpython-devel2.7.18150000.89.2Include Files and Libraries Mandatory for Building Python ModulesThe Python programming language's interpreter can be extended with dynamically loaded extensions and can be embedded in other programs. This package contains header files, a static library, and development tools for building Python modules, extending the Python interpreter or embedding Python in applications.i:ks390zp32`ASUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Development/Languages/Pythonhttps://www.python.org/linuxs390x RyK  r7)= y Rw-N ~ {} j C  a7# *-E!\ !h..  U^a{  p) V@/||7, 434:NNhngpgdm&++Ary!w. . R4 ZxFJg`DYSFd3ZFx$2>+esY F!+G`iHwsblqt{ 9!J^'.0-,DvpO-`(=sJngs5C13].COWpiCg~qqxu|;@uKx>L.0-,\|!M rviVwPE\=JM.lx<oi`(b}>dB4=J:u`<s`%zq$gia-y?J%, "-U>z__F?  q qTu b)   .D$$BDItItAMMZDuu>--9<<;1 yy>>]]NSS]D|zHH~   )R7vLL fz" 6!p!p))b.LxG# 2A!M!MN44 % %.7,,N4A4A   9EEii 9 9mʦ 1 1e6^^&0J0J[vv MNN55($$&h!!1,,)339> > 7{88.44  ATATˆˆN7PP NNpmo7o7EFtFt3 x xLQVQVMBMM .W/c/cpHpHMM _ _ww>rrZZ# L L,,>6 + +,>>"  P `ieie +22qp SS Q$:Q:Q++,Y <*{*{ X X,ttPTT>AA L@!@!&y88f?ssF E/4^4^`  99'%%,4*4*s g 7'Xf}f>( S//Q:!5%y%y40 55hh4&\..p:_:_gEEpYee!F##`+,?+l~("\!.J00BNN99ff ?44 w w_iChW,,wP1;;]33AAOO@&XRR ''Ƃf+Z+'+'=\ddJ!! !2!2??fd 43300JM/L9{TnTnC<<<< L Ln,yyl||5K4'0'0 ** = aFYbX V V '''NCC1N-P|P|#l t9GG&N1E1Eu1c1I1I&n]]G of8RR k S e eLmYY*#B0707> mm |jj/R)QQ>E,E, o)rHrH1[77+.. b!!kңңdVU < < +D11Tkk|!5FF}}@@t ;=CC %IIUmm//4u@a@a\c>dLdL-33"&& H#W## B__cQ%$$ A +,_0h0h$$A*r>>ib4b4UGGfhh_!T!T..-% K\\ FF_hhfww.( ( <df%f%a\ v M Mroo1=<=<JJ$&&,??^'?'?D,@@88<cWcWu ! !s JQQmdd=pH;H;zzH%%j}}LDDES@H@H/rrMSjSj2=%F%F2 8w8wLL$11 0 GIIoϊϊ9@]]]bbHTMTM vv"q"qrbiiN=HJJ@/FFdUU#'' YY %% 4++. ::BBi||n#mm4R88.(66%((`[[ 1!@M@M ^vvte0dJ((C  HQ?? 1L00UU - -'m8$}cggj0''&((JJ0.X.Xf SSG[hh&y  =(LQLQQ`=G=GMxxg1Q{]] / ss; U!!d::BNCQCQ*bCs\o{o{LE ( ee zlkvA큤큤A큤A큤큤A큤A큤큤A큤A큤A큤큤큤큤A큤A큤A큤A큤i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i@i:i:i@i:i:i@i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i@i:i:i@i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i@i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i@i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i@i:i:i@i:i:i:i:i:i:i@i:i:i:i@i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i@i:i:i@i:i:i@i:i:i:i:i:i:i:i@i:i:i@i:i:i@i:i:i@i:i:i:i@i:i:i@i:i:i:i:i:i@i:i:i@i:i:i@i:i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i:i:i:i@i:i:i:i@i:i:i@i:i:i@i:i:i:i@i:i:i@i:i:i@i:i:i@i:i:i:i@i:i:i:i@i:i:i:i:i:i@i:i:i@i:i:i@i:i:i:i@i:i:i:i@i:i:i@i:i:i@i:i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i:i@i:i:i:i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i@i:i:i:i:i:i:i@i:i:i@i:i:i@i:i:i:i:i@i:i:i@i:i:i@i:i:i@i:i:i:i:i:i:i:i:i@i:i:i:9164f631e6197e0b1ca25412ff41ba9d3afc4f44666f629390f0aabf3bdb5bd8079a16d5352e49c31cf6bb7a84b5a9204ff4b4028b6d359728d20bc4118d85e4832bc95ff40f396e7eacad29214ba29b6ae16052d998d26ad93a310efd08b11dd9d4d5516cf2afc0cc662d81dfc86a1000f57965e7283f53c9aed526471f269caa0552827e26ef59252085411b8c651e70cf6262ecb0501eb6561fc7fd00d04bf75dba02c80c2d26b3f10fee55df921de8f5ca0c62257b834c325fa840136150afbbf716c0d6d777ae4c4e30121b1cdb00c5f09f478bd815d45d87654ed232e8efdceb3795bbce2c3ececf01a8346146979b9d5fa19179bbe789bb7c2c85bed4c6acae380c0dd9ec59b149e5fb70bb6d83c133de3f3c33054d81196fc2bb618c46e6fb15817a52fc88555fda2de52df3b6d8a9f80da5d06e90d25fba8f5d8397d058fcf2994c3953589e112ba79524721ffe877b5e25bebee5367b04d071e64e7c53b55d0de55d67b42c5da4e12d6acf25196d8f480ff02c218c0764a3bdbb224f7c321a8603dcfcc36d68f2eb2d55b41d4ccec1097af5cf7c8a9bbe44f2c489c61c2545764d5aedbe18fe7dd84433ed0a3d9fa175a0cd7ebbe50b8a3026a9f8f66d6ff51633d8c3f9856cdb89c19419e61c5af975bd266748f0f90ffb6d66198accbe40cc6fba72954e610e9d328e2130ff9a312557f02bd02f58cfe89e9f19a7970e9a70902fb114af72e3da488a20ba4706ab0c03def86b41e4cba98023fb096750b39f403fe4db8822e002ccfd334b73bc33e3e9fb605b8642465c963543d8778994fc4d386a8e5a816e8edea8408356fa2aac52e57eb6b8bc3833a2cd27e77f11ef143b3ed720f5f88ab8689ba48798dc245207177b8b395ab4531e57a060a356ba5cbdaa119602f2169ec515275b28c7ac458478d9909dbec81e08a2cecacc47dda4576a2638072d6d8ef013bb82436570c81044eca7a45e16fef71e625c4575c44abcf6eb4ed592960b658d4e300c91c1c3113122ef4e9dd7e35b913e76e498087a200036f3558fb6360a1b0b69de9829a2289d80d6f4fa4261048b51293f598a54f0a475486de47ce7c313265a340fec53ef21de6aed96e77134a7a32244fe250db9995068fe74dce0e23fd70c12b03fd94751d98b773be8f64896b6ace0878969b499bcd9e3d243fd927cac1f3b88d18e37c28c1ac2e3fab0b96748c99ba6d1374f1e6ab20e461b26bf312a432a723941a6efd284f29713bd9bc353ce5e977daec97dfda37807b5a99f9016851a0c9f9360745e155f3b0a01447ed2965006db15ba8f238fce86f36ced022402f8c64f3db919549b29e0eb68993a8eb3a72b1d670f723d1292de3ed8ae06d3f424263fc9c86c44cc6dc72914fe42fd9939c8a4f50d12f0e6d7c544b83c25a5be14681e2479d13e2de9ff15c79280d45ff424362a48bd0f384adb9d6ac4f691422a0b42395c80a8a65f90ffb2e67f50e70f1e459596b02bb508feee4a880f4529a335e8d531051fe632a906cd548325116e6e35bb0575d58ae6392ee9f48c56ee48f90b0ea6be4f69ef4803d137e9a46b0e64f1c41a95e83bade0823678e9caeacd7c25f6f0681760f8adeaf6ddaa94f5f80822bbfd373ba6b5206780818c69037387dd2c3ea20dfb6689a7d3624e6124b1387307edb48ac3268a5c5d62fcdbd46e602034e8bfc15f5f4e26bc9891a18557cbbd13244987d352eefb59ccf5538573850b86b43767c4b21b5702dc62704fc440dc60158190855b27ab9a39cb3dc6238191045c86dd9cfa6d6509b34a98ec1301f9ac2d2c596352ac4cd533cb9893b62bb45f0757747050229c75eb03953283421f45fc335d3f9714fb5493d633e5d5360faecaec8a00a46580523cafe4316ce8d2706be2e15d07a6effca444ae52992dd07a8f2f4fdb82dbb4a49ec5a1095d441554746f55cefa572baae235f7329521526a71210c2b382c3b2fd536d232ecdf966c2744d6ce8ac2b891662b88339a99324e8dd105f7b3076830dfe7c8b43b0829933145595bf5b72d6db4f7a9de7f2ff5c7c86bc8fad901e16282b7b9d9ccd744d09e6f87eb08e00074094623685fcd5c77a0285a09874cd52b8d5bf58a4fe818280a686bc33f0f966a9df022f2d6133438ea020f5a59fa84a50d16e0eae870890522792b32e6631ba88049b83c93f881460155b59696714f183d4a89df26c18419b66c9ff14f230feccedfddcfcc1688c741bed1f3469989ec6784b74a1ad9b68e3bac2f928366a10f724237359e13dd97f7fe13f54e7ce184ffd3f92ba3d20bac6bf09bcefdbfd5fcc5bb175b599c634e0ac46c468d6d9a0b7279f39e72df40058774707f516bc712d2a2f436300e48a3154436fc67e472d0118a9f15816d2f8ab36bc2eaa9238da03bc0b217b5b921e9a59a321de9db393b4ce6a3af6d436e9fbe0f47b565da2a566f7be0888030440ee6af13fc539ac6dcc1b0478f555eb83d0419232cbcb738a3f856433040833a798174007cf5e3a81b46901a3c9281d3654043f84937eb974a5c9c520c7af403cb2147e663ce1ae5455683214bd2dc2a3d941502521f9bb3344682bbf8ad96b6a23cef405ce993e0863af605b8034c1c4f351ea44a47ae0197624a436f2d388d4b4f7b9f601b7140f8e17a3d643821931c41f74390b46a38f7ef37ee96b860cebe7ec943f6c5fcb87a18ed4080f147e3436a246f27507f4fe7d2ef94107227bec20ba67cfd893766e3efce537d2b11a5f87d76d19c4c70fa0d98945cfa8208a32ac267f80cdf296a3a573794feaaa83f012c48ba55783e5b0eee00eadfcc744aec046a363c054fe076aa2d53e662220bd7801ae74cbf306f971ebaeaa1b650dd6e05db575ad37f77dfddb8da9b52ad06966c916e8d2a777e3da039dc88c7af462106f3b4645fd848c93c4b57a3c70c7dc20d56250e8b73d7eafcb0d330099586f670b047e6bacc519dac61f706a284cd2ccccbac21c5aa2ce5ea1d05d04a4b5e5038e5d55c7fab260ab30e2c805275511e17eb590515dcaf02b38d38517b876101e4856f19263029cdfffa9e6a9773914c32e8319ccef143add699897e341aa5a57e52aff07bb07ce14fb817acc3b4e15a8f50286dac56c09392cc79f6d8a61178a90e5d40dbd378cf59bfb08350750d00d957b8ece608e6f7e268ff1796adcc87cc8cac058c014e20bb965634d0a30acd73617034f43c9327c59c58b9e7cb15d7652184ae7c5d08351bfefc3e750424d684b35a8b6e8bfecefee5030625a3dde2199ec8b94df6ec8812fbe69fa07ce7173e3ede8fc85a696ab871c55be78edfe69d4af6cfaac649352e14779d0828ab86d785ef90d3b633528c835ee1b3575ab3e55f5eb135c21697ce24e6160776c2e4f0a2e73ba749c2312d841cb7fbaeea7028671f79871d2efa3a0f052aca097b8389789451e82f944b365f6003c632e4fbf36b43800e315df6ace4ff5385fe6bdc799c025e911423cf1575628ef3fe60a51e624075e285a304afe3874afe019ad765f4310a503ff1789d244b4329572cf4dc3b6e68ff99cd5fa9d1a6ff7f4fe2ba17c080f32057148950372f50493abfc44c833cf14d885ff896d1c9024da3927cc64dc55fd7d1e2bc9bd2197777d61a9dbc99877c7859793e7298e2a7e418b0285c945bca29dbfbd30a4de6316f6a914a53318ab3a8d79697e396b51d2b9a3b87fafdb540298792a70676b340572ee217a6342c290f866ad094e1675627f5fe3db5d16bc3bbb0a9c0207bc039f104ec253c2e617999558f1f6376a723e5f4ed99a7360fa3491cd34498243a3c2c8c3c5ae8926303d2964d613da828b70119f8a13c1086902af921176e53c13e6ae972342fcae5cb832f09e0879619149a6bf816b1d896aaccb428fa8c3c6f41c9a43cc016f6b213d55888724295e14287a18f17675487a236a6ad31c63f9f68d67621acdf620491901dfe75581335b7eab6cb86589bd5cafdd5305928029be2f5944205e146d677e536aa546a2f1df8eb01e07e5710990dd563115cac98a5fc226fb9e785057c0cb174480da404c6748dc55a5dce8066504e8f4da01c16710f613d745a30aee769ecf2b8b6a9f066afed2a2b7aa7013987f6c19c5aa9d2cdc9a8e7fa24a36ee598eacee3bc6644e72061e777a1a2625198f9cf3d8607562353d0f9e0eb51119865df720ac14da9da7ba1c71e25f259dc77d83789247064792ee3a93fe47102ba61b2531e5be245e267581a07b63bc214e02c15d54e53641c0fa83e4566b034b552f3e4a4850700a8a1e005ca0559f656c18042dc9f55f25d1da12c0547b1eeb672d500c5d52af83dd29e734b34f3f8cb4a8c2b9305b6e7f378214ecd13928f2671db2c7ee0f7b3786effca799678793f130051934877b77f4e61ca84ff13772f6de1960c4140fbe3c6f61acc5a4d22aed2083accd2cecd8cbe42184dcb4553b5a460ceb79a210f3f92adf3cf516747616fbe142306be804c8a7a6da49b85e0e1763d0aa4465f9fb686c8f71df59b0a9380bcd71d827b23494a0f676ef416255b3060a25ecd4454d73c975081cdfc6f43fd711f8e0bed82ef1b686308caf1d3ef9722548b8e3b235b8109a7a5dac3f7d92e8570f835b1c4c9352782916ab472caf6542362411471661933965d3f03aa674c8ada3b5d73a2287d71e35bd8e4fa6d732724ba951dd27a836cdb388117cf81e78d9fa2a141cca1b14b0179733322e710067749a1b16fe9cef50e8fef66de4da4f95ac677159d657f67bb3953a25ff6dad3ae0091f988e3cef50e8fef66de4da4f95ac677159d657f67bb3953a25ff6dad3ae0091f988e310f248762518a3b1c63c43978fbfc1f51c336e67aa329f78771efc76db5179d30f58aa20f7b471dd7506ae55928c2c1d8607280503f24d7a916b1962753f465f0f58aa20f7b471dd7506ae55928c2c1d8607280503f24d7a916b1962753f465f40f66249a4468201ebda3631ecd5b442b7902ee4c3b67e003b892111e6e13701e0b1a7da84fdbb4192d40443d44097c0ef19fff8154edff385121fb8e682b7e7e0b1a7da84fdbb4192d40443d44097c0ef19fff8154edff385121fb8e682b7e7f997d2f35944c0a54d14a0e5fad66623bc695163e4f157433cde66cf0f5b68514559920a8cb9ea62be33023d6dd183bea88bc20bad1b4caeb196decb9e5fb6e6cc925dc8ed7705c2bd444542091169073445d907f5cade9579da83e8d2568ad80c7b9ee51db4a46087da7530ade979f38e5de7a2e068b5a58cc9cc543aa8e394663c223c95e77edf64bf88b2fb3f9ab385866187630a4914c7c17ed7221c9f82802304af89c305a0d5feb8bf6ba9c7b3abfb6d5e620ba6d4f4d69277ef315e226b03ea1d93a88bf105909313e5661b5f35c281bece7485a9b997a621cd59f9ac2a4dc7a2a75969654a60ae333bdda0b53be979e0db035daa9780f202d9faea3dac87068283e5d1d92cfe4dfb2cc50d5ea5341d5ac0efadfa47db48595daafcfc93e79b29fca6d56488393712285db29e7e5a75c693f9be4008cde600b2b81700b5e6b23aea484f7a4312bf613b75417b78419056d4c9918b3a2cf6b5a616f6e75b7af05fa928568dc9dbf39845da83a48720e019214a0f250aa5e8de0ebec4bb64b1c3671c38f4657ff67b9508572bfc5aed3d0537d4428fa5607a5fda208e87975103191246d69aac4eb605cf6d84969b2054bee95dcccbe7824a99ae26e6fabb24009573f88b990c922fdc65adddec1312e30373dc635c6099912d4f836a4148c5caaada3258af45ae5e4220a749446170c0070dc4afe1ab2f1591be3b0acc1d00ea765041b41b75b7c638e0d2ae509513f187b18adb1699e6aa4d5507f7c81d00ea765041b41b75b7c638e0d2ae509513f187b18adb1699e6aa4d5507f7c8d911b8fc82512a3c2d12b02283c0ae43f860dbcb140f3fe2ddfc7dfb7ce8798537dd950fbd8d1ca3707f2d2577c5784b291f396f75ee4cd7252bad1d9c09e38c37dd950fbd8d1ca3707f2d2577c5784b291f396f75ee4cd7252bad1d9c09e38cffd93515dbe0bc61779aafb3cdf11e4c32d229e120139bfc38d3ea54b95a76e3cde5d3d019815d34906857c0c3aedc4ac4b0f1db18550078ce23b0e3517d8d520971b2d6f31c34618463d87b78f534264da0ed412f97d93523e328e2a0183213262a107916641c7f211ac5898c0177535cd0bdc5aa872cc6e883842694d8f52181a04af69c7f806ec39ab2cac5f0fa7fa8beb6802601105355fb3e606151405d516bb5b3c534faf4aa1d74eca204ede64060e98ac77adcb79d02c0ad50007c23db1c6b7c24ecb33eab8cdf14ce4ad5c0dd0ea56caef49af1399c7508897a4ec7a1d7eaeefd2e2a7b3f0814d36dac96b5208a278703ef1e1af4cbd41013dd5ead1dd371ec51b0bf2da49c5796c219238b6aa1ddef5631608c61518647cfc7b6fe56409312c0fdefb1f77dc7ee86bd131c5eb7a2b4a9885812b52828f7ecc485adc5494f05c6c6abe14547114bbccaf7c310c619101a6941b0c98db62e792ff780ad70f2947bc37792b02224b7658a62325b7e2517a01caf6085b95a6a760e0a28f12fbf6a8f91d2288f9fb0114b773bdd8cdcc93d1f50bc77c07e0f4158dd9f9bd495a1ef4858937cf0a4c46425ea0130ddb0d2ca7aa9988c048a98e11b6a1c1fe4487bac742f945b5a97903479535b2d8cce3d0053debde17cdb70934f48ef83e4487bac742f945b5a97903479535b2d8cce3d0053debde17cdb70934f48ef838e147db754b00881a5ea8ea82eb944ce096ed6fc7345f5967a223490133c99a82d0a2fc18aec63afcc8b579b23ade273a2394b9875c35367690b6a293dcd7e6dc0e0773a79dceb622ef6410577c19c1e177fb2eb9c623a49340de3c9f1de25602d0a2fc18aec63afcc8b579b23ade273a2394b9875c35367690b6a293dcd7e6dc0e0773a79dceb622ef6410577c19c1e177fb2eb9c623a49340de3c9f1de25608e147db754b00881a5ea8ea82eb944ce096ed6fc7345f5967a223490133c99a83879632e778cb56dfc6df5b9d2f60c5e39c264338f6647f11568837f9d62e535ddeb8941fead731519744d145d83ecdf82480f1bb9af49144f7d8fdd0ef807bcb4f0b58a20fd68347ccb827e7a62c688e3710572b97ff19ad48a07b186af2ec743c21b213b1fc167b642af992768ac2249680e57247ff539999d9060094342d7d00f4861f1eb15bace0e9f19d9975f52b2b2153e6dc7111717965332f337187220f803a24c94538a7f05049a0e848cc3d6c5617253f7e9b3d5381cba4c898bbd175e984c0c7bd073f037b0aaa6df4d8aadacb6f1b8898484a567b5e70f5a5837c9aef9d40b86c56d54db8d1c6b229322d74b3f761c31809dd8a76cb9d1a9800821cb011018b58c87f2c824e08085d24f9379244bcde6fbb6b46da2f6431540c7c27282fd2ae5688be2831fd6c76aaffb7a7577026de0fd2bb8d41326dacb2e7aa6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9bba0998b7a6a1b2fc45f847dbea1d2f9dc889104832b0042b5ebe335e677efd30094a6a62abf390c3376e5ed6515082bbcd70c2a6cb335a9f0378a1222d08f7d25bc47b4bc6d60577ca938da25b3ae68271de889b383b4cfbac55d8e41d47639097d18ce1d42da357521f5af5803816d3c4bade38950f69cff512a236f763585be4de892443028c3f230ab37e0c658f5bd0246b07147005580c2904b733ecf4fc3624859618c952810487e41736753cf32f4570dc6248fda1091771f56019a3f96e4ceb607215ff447544cb0d785493e1e855852f874af7c67d8e8afe859f539547112543abe89682d8ccd47e7fedb25447a4c5133f8db313772ab6ed87729371b91e1c1c38b7150cbc174a2f0c06bd1d60a411222d09e21927254b7a861039481fe0a36192ef7643adb06b14979e006c17834874e7df605d915e549e3025e8ae832d96c16368e74f1615d025cc296472cff2507b0f0824959ef98f86fd677637a6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9b4fd472cf3011f3f9d3b072eac5592b4c58c7895ed2c41763590258ee8551ef7a78099b6154509ce59732b68a909ef7dc465724f68b184383ce2400642e6501d508255f32eea017d306e286d9e6db090a05d26f0088719b122209819b6f73396d175e984c0c7bd073f037b0aaa6df4d8aadacb6f1b8898484a567b5e70f5a5837972de213c408d10c381f44fec786787844141c7590506e001452e8e25f262be8a6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9b73cdabebfb92b4eaf6b8af8442953da1041fa8141a0513279b8df215879d424621cb011018b58c87f2c824e08085d24f9379244bcde6fbb6b46da2f6431540c70bee94ba2d980eac331c16af1f6ea7583260dad3e592e5a263209aab26c821a9f2d72976b66ff817e2ba8e287ec3d8b7b906f8ce86999e1d4b5a39e0360e08d0bf1921bd52ff4b26903332b54a08d54ceb53985ba8861b47d683bd0e08bb43be5352e3767e1bf4dd4549716d65becea186da5edc8882db218531f1af90abfb255352e3767e1bf4dd4549716d65becea186da5edc8882db218531f1af90abfb25069731c30b8e35c0e62e28fc43463f19f514afe86fa65bb1fad29574a3a3cb3b4d3e640fe915e6f5a91614823aa7ca22cd309bb267ad8221810f165aa2db4580c807ff5789d9236766419d5da5e6e2b07229a255f3bb5746169d3e1b00ddfc6addcc08bb707cbe715b44e5441d45e71758bb4d161e43cbcfd3959bd5396fd3df7ea4e03bc24630d2ce308498959d856506503097b8ff85294b741d38069b33097b0907453745ef5721d89c77fc1c48503474260b458f24127e1b3f0bfe11dbc30fbd0c5e6d4af56a44aeefe961bcf9b88f63deca8eedd20b9bd42c844cb6d78d72b4a13b865a333dcf9b94a3c88d25800227d5b0afecef97980b685f9d8504951c7fc4d444b9ec1a185e40af52cdc97e977fc49ae333b0edeb5701cf95137abac692bc9edd95ddb95eb276f7ac29d377c800604b42e8355bd0038ada34e2dbaea2c83c99f55ac75f9fbfe093b7a773b92b97afcedc1848b746eeb88b002f25563d89e98417c31c7f4324ecfa73869ad2bea9a1b054ef3b2141d72d211c30660e6f15c384c0cec9ae35bbe506a311ecaf9585d968aa9c8c0cfeaea0ee98ec0a02e5e0686c447f72bb899cd3029ae3c58dd9fc345b081dcb1c1d92f49ac56a4831cee50496acdf8ad1b3f391e0a4a1c67cd1c5094f2ffb557df36ded59e7bdf6bf661bcf31002feaf9f50f7b0af7055003a6c6af6ec63f15b6634050a8a5bef7c3a1a1b9814f201e36205b28d193be410d1e1d060c10eae4230d0e8fbcbbf9aa1dcc4a72257cf021435830acd2a8e13e486747eb89ee3a476d042f69a2624efd60c6072a99e1a24826a7735a87472a0870a32fb10b533eacf6b909d42466fa42b06d53a581e9ba0c68e451f754bb86356a54b9a254a05ed0ecb19311cf06ae14b9e2f8028ae57360453f4420aa9929309b5eb560385f9f1eedcb394acaa5ed456c88e00b2e5a3fe07c929e44dbacfe4ce4d307fc123a440236eeafa8a29e0f3b6eb432d733fea36a1ca38b050c0aed3fc8cf780206a198f2d6741951b70c419c4b6b66ed05e615f823a6cbd4633a5dce48aaa524448050785fdaf557d31bd376ea238cfefc431bebb1f99c17223a69420cf24f88ddf232a1a1f6648c5f3f1c51a42e0ac4f5126d44a09a1b1093ce50c1b353881ddd58ea77bdd0dd6e1b1ff86331cb97d361fe7ab33d459812b6c4ae6b8b73dfbf7d0e19ce924782df8bf7ce13d6977093e56073b06a482bc64ce9a1ae3764725af4dab446c785cf94eb726f8ec5292ac472f66d066fad9c92aff83f951b51fa9b732fb8b613004f4b69c703d1de7281e1de38c8ed0b130a0016f1a828a6362cbdb36f812463ca0fc73e052bfef9f8d822fa9ec724e24d662db842e9befa4742a3b6154f2620b16fea07ac63a044dfebbeef14582b843c4be9262f945b26a648f9ee05c760aedbb326540769cb421c84dbb36539ba8513d09712b1565d8cec5e3c256ea2ed82392cbcc585b05e8a9b3e3eaa38c0f38d6c228acffffaf4f9de94a3468a02ebda276ac8ead41e775382302887ece06584cbca85d26c544c702f526074dcbbecf370259c3410977c7973a73e836fead62939588d0f9f444221313744d6f8d6216bb985f380a907909b22bfc0922981385733f8b0d03f014bf4fe00c2f9245bede5f410f1ecde8028f13239aeeffe769931da3a5cf7836547671852fd882247caca75fa03f03fed70d93899331bae30756f0f4c6e1d3bafb4aff7926de35318985cb6baaed927137cdff0cfdae98b9c02bf166d5df5a402423d36e4f3c0f7b0bdcc2f5c22eaa4042a75e0a22a4966334afd394a7d21ded5956d79854f7739def6e0f7cdded4c4414cd477382c2f2ce4ed06219ecdc86064bcd75cfc348b7ce3bca88c68fc200e9f7e8cb3d94dc602a21c770294e592c1f475a861381808a1ef5da93f8c621a3dff792c2de8b9e2838c3b395d792593627bea153cc1cad6b312e26b7e3e3e903466c1967b5b0411ec142bd97c91173bafd1204f88197ac0e7a9a9b51548512ccf9e5f22faa54eaa4b6f7708c03edd8cd7aa1907258b85b7a5af40b632697562afbf4e78e74b4dd950002f5c00d57054ee442283801ecaa5358e379d2dad9e6dd99249b3d352fd1a1b5ecd92dab56a87164bcfb4021526c1774c4de1973704e73ca8c1152d7ba13b724d14e202bf862678ed77e8cb42d2a3174519275f386047ea2c4be6f076d3a2f7935563db48a25173c16f08ed51e4a06cf23778b1e76c815b0c74a147a32dbf085adcb2c98f8d0495374a644ec5963b5c9b014106bef3430cc242f6bac5fefbd51564b69dea624bbec1c898cd884f8c35282994970e51faab1ca26b21188f73bd2c8dd014962bd42dfde58ef043e29eb3661891697906f260e6c7829a6c1e3b60c23c0d8cb2a1402f1e764ce9964317325479fdd37e2633c8a6879a636b4c2fcff464cb73ead432b0c87b8a1a4657e242f6d8bb2398e9854cb8377b5b5d9b008e4cf93fff6fac16216025b67cec7bdc58a6d379fad8c1443d10da02840282ced7520a9c5fdbdc4a98164690e3fcd1acc6dfcb049d9a669ad4a70c6ad3254e8174e0d90c33b6f22cd3462e0691eae840d2a2b85d2e7446708b92f485e8d2b6170049da06c710b873ad6f79072f94b96800c71ad8a079695c72217b40d6d406efcf713faf7fb4d2faeaffd9eba44972d064efa0f9951c3fd2dc77f2c4a1d3de269327678d81f59ea754b48fac3f1e634d6df20db84e1bb844577868a457e2a6ae219d198b5ccfabfcb91761cda4e59d5656a8eff86f6fc1e466ece43055153bb303d3b9afbf682fd1f02023fbcde883442077b70877f1c4be22f2a4beff41d9a72d431cf3a03a4d7c8a31f38acd5cff3b88d510a18b16de234fe5f849d65b6955fd509de05d595b8e7b480db7b3f2207f0311743d656b85666518389a4274b3779a415b9248d1c95cbbe1741545301b2df8d6a91a81ae5026eee2a83b6e3deb022604a0b30f322da65619be2537ca2e314b652aa08dafd5cb79e04d5d6b8317016f5496179c181d3df1632d1fa8ea09ac68d3050502dc93dd17558ae1dcd938fa21de5be875c7246f8f83afcb0c1436d3b8f7633b7dcfe8bc7ef493cc69e4ea84685f78847047e6d5b2691ed4eb1b4f5ab7fbb714d82da6da542f2dbddce9f884aba2bcb07eb48d0145c07356976a193ce3033de7b5764264ec04c10f1aa0a9ef1ea3eb85f492bafab181f2030f0c9f699ab08f4f1d188d2d58317f463eabd81185a04297d8b00049972edd48ff3b58c4f55b786508c0c0e2fe3b70757b82c89cc1c972039f652991855a2a7418777c8764d98aa6e4ae6acd335f1440e38db9eca2a6dc67562abe68b2904e6872373858a1a112de99697d73bc5bf68f1b58545613263d354229c78ba1e112b5d363a9dd48f7f7937af770c9f3cacdc7757b71ff76e417eff3090f6982fe6f84ccd7231ab48393e17325fcfc818c43bc88779aca172a03563c67fd51040755080470270f3799045cf215b4818bab1ab24abeb5c400bbde16c77340aee4f4aadc04b14656129cbc18b3550737cfb595793f8b3ca1abb7c1486cf185596f26d29041ff27d58b3e8eb083ca8d97ddd16c9b0a6c90d2a5601e669e0da2e53b1b607db7b77bbcac959259eb5b08485fa0ae687caa7483986171b4e125df3e6cff12ab3a13e7c35c084df9ee9f8707fc71d2f09eaccd622b48ede9b2469f791a27f625fc885ab503d3081bf3ef7d2fb8b8dc78999dec76a18fa644e13e0caca97ac024afce7e9619d655d56e80fceb89cfac7ac6a0d2a7c7d2040ce97677c42003a2a238eaf430bf4bc7fd7d3ba98edb471aa80ff4f5be02b4bff14f86838f586f54ca1fca11897dd067307c4262764265a18ef70a007a49c97843ebfee20c34fd65afb6e034a356542fe62fc36749b38165bd0f771a96d5c89647a4321cf9d5e55abc78a17f6df903f4d3eb9e9ffb367a6226829a7d499c616f9eeca22b30dbbdec2eb4bad81af9892d72e647c3efd0590b338ba1fbab5b7c7003187863afd26eecc6299bddef78102ea8f79b93d4806f567e6b7c0ca9e18c91935e54685ff91951cdb880c72015267c3d27138e5ad7dff50c72591b21299498aa074621d9fe6b73c7989f15b65950ccde95746f41ade77fc75c3e896f295695552cb88af9c3c835b8c3deeec065fdc7e58559e062e8d8e549044b66ec1c4a3f9f131046549afa575f058b22e6b2c66127d6fe0b1017a2c09b07062377704094c3121b2501705fed04e0f62cb6a0a699c91c282ee8b93ff67b0840efbbf93be8baf1473ad4aba16a20f2aa7f3ee8158063f5c3ed18192426ea7d710d35d82b19e706aab294e41be8bff1519dde3e25ac32f692472fd262cbf66a0a09c0fa5a198ef6da04eb49763667beb25dc689d7c6071a7decf3f5f94656e44ddd46262651316ea763ae3199a9ea8c1d0453cc68f6e600247aa735ebe60dc4f1da7bebf2a92a2b70c325b6ee00f15dc64851420d6066698792566a46b64bc307d7c12dba35d0576c5dec446cc373bd425aa5674c16c82b6edd147a55d5ac3ebabd5989edce9023e18fdd378d1c001c2cc5d5907331680106ecec7d4912e00128362a9e65957a295a41cabc2e328c610cfa7937050e3e51f95e583708c5cafb8153ed204b5804dfdad1b3d7b08e8443ff92bb1816dc4f10a80404f2fd08b349a23357f3f44a972ba62a0df6835fb29b64b4b1f957c84a99c3fcc8d8fb04c605e688c4f3e5162192f27462c6833fc3a094bd33c79de5a2cf28ba3c36b33785f53a53d35bb9bb0eff3cb2b03720cc2f8eb1380aa42f58e67b78091d8549e6c582ca5aab38b6b11a5d32ff8edf0a5ea9eb2089064900c765feeb3465f4130c1d5eda1549257d26d90d2d205f72baf9ef3c2aeedad7f1b08bafffed4646e1785ff674736761ca487d630c202485d210717adb2dac2f3dcb33d69abf5b34ca46b282af5a68193d9f72737f1e74e013b48b5831e8ef87d0545b1ebb06693516af31c4202a1bcb0b89bf5b17b06e0dcc74ed3ed9210dcece625dcd6c2cabeb4f258667554c283e583b55f807615d496dab711aa48a7554e2238e18911923fc57b102cc06a72bc90b0b6bb3dfdada363da0931a766676c77d42ddb83ff21b3f8b762905ea0b1bd1cd2a8aefe7a02a73d445b6a0c004464d40a264c466df1836e993160809e7011c2864d118271342ec48275bf9106474e0b276f2bd36cda005de19c3bb28dc3eb4a62b652bf4e14048cd29ca5c368a6059a18c21ff1173553a3da9767bdecc7e4967dee4e1a2acfdeea55bc8515496b947a98309ba418ad8ea33ac1573f0ea00a51498ebe6de15186bb71e346fbf28f4777e9a72e7640bb5306173b2e9cbe14f38a52aa41578100674a24641faae82c136363a8e3a702af405806afa8ea9708a50d9176e39e17d21c7ed228e4ec4f0ae2411a2868c436ff3be024745f61f761bedb1ec6c389ec9529875fc136763baabf32f0f74e902097e0315178af2d3565ef80b85b0ed5a491cc96ccfff050b64c26b92f2da238f5045b47d13988a672885b2041461f85b5cf2988c9fc09dc6868ab9df865484f9c873e4b4675944f6e6199b4e493281bea8747ed979d5ec2637b5d2cb9d418441cd9495dbb0d2c841368e096af9ebe6a10049634ee14ff9a1dd06199dff0ccc73e8fb8fb82cb5ea5946871cb24c521b7947e587a3dceef06f1a26c773a3b442dff87d99d291dc391c740d75e61d2c6c195962d449a1add3d0f360895d70436610518cf6952628eeebc168c6645187e1915a64998d7b79fdd66371c161efc01c4d02f916a0050edfc4ab627a3a005dcf2c9eaffd996ac0982ce18ad5e135ef39dc65c0d69495984d5d8ed95b9cf6750cd3b0ee046dc018d0fa41b391521d23b854a10884abd6967b20f99cb0c19b75b6c84c78f9e75c381dea9b8a2b5264019b2fd0f6d737872f0bce2decb119d7440a408127c46ef60368a18b342c583f176612f58bbff4cc50c64dad8ff4002191acab817647e4361742254bc3295670df96cfbba29a5c35a53dd55b5e9c7428026370098b9afd67c64921ce78b7c6f193fe8612da3120de00a2d4cfdb9b174b45f1b619a8cd19e5e4b97508f5218ebed3bd7aec420cce393d5506efece94beda9001660b23f20c1b28217d0e4816da15ea5126aa475e01147f07a006c8deb5efdd03bc2626128503498d35238791c32b42542834568665a0003d25202b5127a3c53347d2bcce28ee47ad72e542d45629b5e23c4beaf46064d2515e665e0c81f2555f9b19e72cff8e9344e7f2ba25a77d9b87a5c9f58bf051089bef257c721ce64ae236c28ec6725c35e3b819c96ea206a9ce65c956769ceeb88c2ddf2d13e5b644cc0bebb4592fc1b2190bcf30b0e7560aee514e770e371ff9a496ad517d6af023b87a4330bbff11c25a5a7063e0df98ceb53631b5a9df92568273a478b5cb5906ac326f2e521c818272017e0222cffaa1f7da87c063f79a7b0ef307887609447eef3df0c1100691d577fd53bf010e3ab16287a90f104df99debf508231c8d2ab2ecf34d5e01f10937d5dc5e0e933983dd3e24210b447a3cedebf508231c8d2ab2ecf34d5e01f10937d5dc5e0e933983dd3e24210b447a3cec307773769274412d0d16951c2f6ee4ca1cf82eb9ae6b9d670ccb2ec93325a4cbaf1c104f51df2d5c416f419961fa251f22386e64e57c8574548b760657f1a3e5d686b06300131989c82c66b2175e9e8daea4a950b76605a2a7e88e1e4e153c70d5216ca5f84c64bd63fae69edc59341ff18d8b4b84e81107efaa29b19877dfa4b93740cfc089c62d4a05001ba13d99209c9d6dda6b919f331a830046b91021b1ce7e4f76ea1ca631f8c7f6f111a79da0459abbdb3b7ffb75889016aa063f49b9f6ff59deff9a407d6d7f7f41759eef338bb6ebb5d3abae9180efe6c9589b34f1d8f94f8dc155cbe1133825c3a771ed8d7bb434d2164d8b91f56843a21a7e2a79a34ea87ac233bbbc4c2ed09a64f71b006e660e2e34e66ee8011a431b6315e639a34ea87ac233bbbc4c2ed09a64f71b006e660e2e34e66ee8011a431b6315e63bf3d4121e5b50321cae64b2db42c66bc857e6b1d493a32550088f133210c2eed0e962b6512ff151ff28b980c6ac4f068384f1d1b097660babdad35af386beab3d2ef1957998ba1e7a6851803d55b1e9372e69432bc83c1aeb42594fc0beef96fd2ef1957998ba1e7a6851803d55b1e9372e69432bc83c1aeb42594fc0beef96f4379d16b242e6dba8cb8edc8fc4c3c75220cbca5c66e87eb0a0bbac47d0f176c79fb464618bfc96071929c4fee798f065106b1cd2d3692fcb6b8d1ef46b83b9e410c26b109ce9d32d35c0e4bc6dc92a7579910ce706939a056323de5801a7a87edb421b4ee6cc8e9ffc0b719b31279ae4bb8821f52a19e8f32ad77d4aca3e51e0171178ae901e108f56305aff7e36268a690bc49933a24b1aaa587fda00f4d3b7151dc8ebdca81804c959266b14122bf74e62cab773dd8e2f37b379aac1052663c27b4cdc7089ddb410ddb81a5ccf42662972e07dfc44fc429d3056af6dd128e480ac039362a15a7738ba76dffe807fd03fa29f7edaa8eb21ca0057c44a1ee8ca7f21a2c5226b7d35ccac23780ae535921353b54bf7d7e61f1ad9b021167ba6c10e37c432b4b93a7d257fbb890636fa7f6f376321cca47d5919ea5b6adc75d3858ba5f2c20d320c3f5390ff9778e03d341957bd37c5d3cf0c3327976979f2e01f19a80d1c7d5d758dcea82276e73150454212a5136b19c5fc2727786132ddafdfd3864c058e3cddf5ce304faa4f47e6aa8b70fe1672836fd8ed7d1681821800fb8b271cc24a9aabc80e01b63cca18e01f912520a3a2acfc5ab7e5a71f97737b0325c32a311d876316f9fc2beda8d7cffd05c321a7fb1ca7360f93743a9afc7a6325c32a311d876316f9fc2beda8d7cffd05c321a7fb1ca7360f93743a9afc7a6623495d81e704b171c71b2ed37bb1acea14707c6f0c14bed506d8d720485c385b07eebbc276ef61e3f18b986949eefede7b98f542c6d98812d4467b683c547d9b07eebbc276ef61e3f18b986949eefede7b98f542c6d98812d4467b683c547d97e550ad30f6ff556df93f030be176e61e7bff9c36102e78b3ac998cb5aa6cebfcc0634a4e12274063e6ea8583e194f0be3f7b99a746f74bceb67012069e95b8dcc0634a4e12274063e6ea8583e194f0be3f7b99a746f74bceb67012069e95b8dfb43c7e0b816103e7864c8bdc2740ca3d824f02d6c1b1715b0543adb4af31639cfd723672e8205a30f93aa14e24ef5b0264c41db367b50cfa0b6fcb83d881947064e0d469fac0350789cd5140ac8fe708638d72449a9b4013c047f19c783075c0ca5b36d5f70d242543a7456536a6c8bfd7c6f8bb643cc12039b9aa8141e913f6daff99c01b3c41a02db21fa5a5eae0ef5fb0cfcb6bd2e86b982174ac207445e1354d31d17166060e0b46e2d30856af4abb796b271b421b62df54a9cc42065671c2a61122a95bb9c91e7bfd8c66fd386a397a96d6a7156e918f1b489d7ad23491c2a61122a95bb9c91e7bfd8c66fd386a397a96d6a7156e918f1b489d7ad234939f465621751abddc0150408eb6eac1d589243075b3703e4ed995c57a89d1e8863b84fc2bebbd2dad1e18f660844fd2d782d2fd94e8f3e232c6da466ee4b9e7a63b84fc2bebbd2dad1e18f660844fd2d782d2fd94e8f3e232c6da466ee4b9e7a3d08892d3beb18243767b7e1b01d8f69465d6cfbb73c00ea76343d5a7e763f5a80de10b33a7929b7002bf270e309cc24d1511838c76a56b8df4121824268558580de10b33a7929b7002bf270e309cc24d1511838c76a56b8df41218242685585d549944d99bc29220b4dd2d40cf83aca2043bbb219781acd24cf4ef692a1de7b29829032747a7bc782ec5958634ca7de49736ed9e8574b7292e751263a76468729829032747a7bc782ec5958634ca7de49736ed9e8574b7292e751263a76468736608f194c023f23a3e5213403e2acae5f7427d25f0be7ab0b0b9851f9439fd6794fe8aa65014be73ab2d861c98ed82042fcd47c8a55ebd8eb09aabcd18c63a7f2c0ec225f289e274c78b0f17bf308d4834d61cb5c87be927372a9612b857ce3f2c0ec225f289e274c78b0f17bf308d4834d61cb5c87be927372a9612b857ce32efa072a6ef536492c77c6fa4a5fd40a2efbfee65a12caa9d841db8d723b574950f58ba45175a6c5accbc59c07c6960659362019863f3bbb47da60294062d8af50f58ba45175a6c5accbc59c07c6960659362019863f3bbb47da60294062d8afb34d31d2e3c349a6b90c727f0b0ce5561837395749e3b7f8ce0a9075dd1201f43454585a198ffea4f78c67d58d1ebe89a0be1107612058e25ed4cb37964f2a71e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8554c3a7e33c31b3e39b426fd6f2d44c2e554567a442ae377e249447bb064403328b93003f84cf842c28d1184326b28e06a45c4aac7dee94a29ea1e089ab8d877f8b93003f84cf842c28d1184326b28e06a45c4aac7dee94a29ea1e089ab8d877f84a84711a85b496a367f0d9b1655f64a7d9edea4a3dacca2934d50e87349a12e04aad0f3cf1c8e8debc1570b1ec2642005425ef96ea70b5c88ec9cd6f0e57039ad031cb49325d901806f2df7b6f15e0a5ae382674da6ca5c11853887421005a6fdbca9a068dcc8c2b6767877b5332d585130f31841d4e0aac3f58c447b79eecd1e075a2094f7cbd1346b42ba704049ec9486517581f3c5d79a8c73c78b372efa7e075a2094f7cbd1346b42ba704049ec9486517581f3c5d79a8c73c78b372efa7f28ce51867751a25568fb3d061897a8d64a72599cafc1a44466af6598e433bf16804502943a25ce6098851f6e4413e95c9eac5c3c0a548a6e3b1a2b47b489e992d2963ba5e849a4c29f15728a13885e29a819d9e6cf08f7e4fc986cdb36053692d2963ba5e849a4c29f15728a13885e29a819d9e6cf08f7e4fc986cdb36053693a3ba9d8e9f51623b17af2e994ceca95741923e0ad1552c33850253a9ff8ee89b1daa5ebce1d0ab1cf5d19a94ba4013601cf9f551492e85ff76fa8243e70a903b1daa5ebce1d0ab1cf5d19a94ba4013601cf9f551492e85ff76fa8243e70a9033b53a72afee24ced415fdd9ddaf38f2815869c9fccac15812697da3f0e1aefe50033d55a95b6f88cb722a7028f4d47a9c87206529df51d65ea3c78544f5398d40033d55a95b6f88cb722a7028f4d47a9c87206529df51d65ea3c78544f5398d49bdb5957fcfca442fc8ccffca04ee9548bc7021bdc35890afe0f4ebdf21b1e2fb14e2c7e8bf329d3c15da9f978814e2b5c29b80c92470348f2e6db83b000400bb14e2c7e8bf329d3c15da9f978814e2b5c29b80c92470348f2e6db83b000400b3b8bde048c0afb455b5fa5dddb8b3270b21241134ebef6f67b66a8d291d917327771dab468c3dd10317e183cf88cf2028e781d403462e11e3663c8349f1fa1db7771dab468c3dd10317e183cf88cf2028e781d403462e11e3663c8349f1fa1dbb756b0cf0cbbb3dca7219c7e9ba139f7dd8aae546ac13909a2c08c55d8656638ce2909421055dfd251fb73e3aa43ccb8dedcd9aa0ff40a9ef8a3835271b13944990d0f909270c2fc2c6838806231156f6c84bf6abb7c30b123802d9146b508f90465a1637415c7fdbfa45bd430c53eccbb2fdd9b983a2e2808afb20247f45ab9a1c36026725ba19db2072d058bc94af1a9689769e536fd6ba752dce908e0eeaea1c36026725ba19db2072d058bc94af1a9689769e536fd6ba752dce908e0eeaed80f55ac66a2570c8a19d2b1dad7c057cf4c944d9c2f8adaf5bf6c8539881e137029ec1cc4084b1075d751c10a4912d23b00709d2aa84151ff66c7e5578493edf02abf36562cfbb034886e7cb53cc11cb1fdcc234d31362ab7d9bd5cf7ecd601622a47fdcc63bdf9c81b18eb95e433c4037cac6c5b1ea21b89599f9ac7cc90a6b61ce17b00a1338fca815852eae64f7c819b9ed34a6f5c40ee189ff32312d8fc2f6542f7a00caad7cc286ec5b25d06e4516ab69004a494ed525124ee52d8af132f6542f7a00caad7cc286ec5b25d06e4516ab69004a494ed525124ee52d8af132ee84550143db9ea9934707615afb5523c3c6bc3063d5d85631d6ec0e4493a545b620bd90dc047ba2946ac0017a9074eb0e20e84237ded5c3ded67fb58aa94ae5b620bd90dc047ba2946ac0017a9074eb0e20e84237ded5c3ded67fb58aa94ae85cc025dd0bbc6ec9955defaee2e30f87ed20fab115475bdbe6db2fefd5e0cf1e3ca4b9db924a24676731a0dff423f0322b432b5f177a27683f414f8447a8cab976359ebb9a45dc7f8d8c88c26f4c5d8abe7a463b737c36ccdb9a861a639f8a6976359ebb9a45dc7f8d8c88c26f4c5d8abe7a463b737c36ccdb9a861a639f8a6c86fb360619e4114fd71ac6000909d6da367e11bdb9fd77ee83769f17079066db9c08fb9403b15233c4e7488d500b6c1876bf6498fe3fab939ffc8579da99a0bb9c08fb9403b15233c4e7488d500b6c1876bf6498fe3fab939ffc8579da99a0bb220bb27e2a4395dc131ccd7bf9fbad0f3de0bde4138f724042b339fcb05ec5150456f36ccdc9b140dc2cab7a2d833b854e1ae58cd7c5be49c063ae52335426450456f36ccdc9b140dc2cab7a2d833b854e1ae58cd7c5be49c063ae5233542641288e081801668f1b010c9c86dd316968a3cc9794fb2a7e7fd0e5d14ac17f32c38389c446e63d1c9f5ed68c08d96c52ff17a1fa3bed27079be2b13538e99342438389c446e63d1c9f5ed68c08d96c52ff17a1fa3bed27079be2b13538e9934243879632e778cb56dfc6df5b9d2f60c5e39c264338f6647f11568837f9d62e535db59dbb676f2df3bbab652c0091a09a82906f4cb7b29892af659c2ef00d14ea63f68aa0fa559f87806b4e5b3bde116a76d7643d9ae6d5fc7113576a4b715903f3f68aa0fa559f87806b4e5b3bde116a76d7643d9ae6d5fc7113576a4b715903f72c499ffaeaa980692e80f376f9c3e001527792d6011815201d5cfcf6a1c4cd282fda661e4d220b7a0eef7d1167a86c5358a094ac8ae2c45fdbea01fb9b63db591a62ac92d49cbebbc227f96f98cc6cf9bfe658e68afeb257759a551bfe21ec8af7fe28580c4a51589947b01a9c900d268222abe9b3b3e06a9f622a3d5c44ef4ee4c90b3e38f21c46787d33a153c6be9b2315e8d6713932f5f8c32e52250b6e64eb588a331dcb41cac7994a39a8c147d3d46b276c71a33b74f4305dd44164f7b7c371f54360f268521754635e89e0181dc07da4954f1d451a1a6784ff8dc05e207d4803ec8ff1ae3eb2267210d5369915f19a6a014d1b59f42fd67b8cf4f8bb124b1d46c656cd56fe5d0a654faf2efffaa7311567aaa10a44a51832486ac8c0a24b1d46c656cd56fe5d0a654faf2efffaa7311567aaa10a44a51832486ac8c0a1b037a5a15f22118da8a0b236a69f14d8f40a7323a28e6e5f2f10cb381da2d644d13066cdfaa348d05819ab4fd879acd0c933b66a6d10c8b097f2a6212787ddc4d13066cdfaa348d05819ab4fd879acd0c933b66a6d10c8b097f2a6212787ddced20b29303210540bd92b974c48db4541ce7c91321c9eb1849cc091b0b13a7f0872932c0ca913d37b45604b0a85cd5d9b66f81222114db247d8611d9f76efea9872932c0ca913d37b45604b0a85cd5d9b66f81222114db247d8611d9f76efea98fe5ce586d82cf92c2bde6b054af00049dbda726a549f709d1ad0a2364d600bf152867476ce5fcfc799b8b922e943f66ad8ce41ce8c521f90c779ccd37c01776152867476ce5fcfc799b8b922e943f66ad8ce41ce8c521f90c779ccd37c017769aef92dbc72a94fed02ff8e557c906141500a9e20caa14f3f861a9d90a8ebb42176e2b93593ee5836eeb424ea043594e25d231b882ecfa51cd353645217ece2a8aa19f224870711601ab3285231749c3c6cc35afc0e06d00d599cab06ddc26ac67d6c7514dde8156e657ba0f5cef14b1ee6a5fb6624c71ace879b511f45b3b5e05c7a00538ba2e6d92615275e696f26dafb174f6f3cfb42135582a46348624869e16265636bbb611d3a5d366414344426956294be92f95d365ed9b43970137ce98fa5a63e6469381b5b5056c41e90fcb922ade3b7639e8a13261e217f4f29d4d32a7f8d1d529cc2929c720b1bbced6550c8a09da5eec223446f12a94ae426a0332a7f8d1d529cc2929c720b1bbced6550c8a09da5eec223446f12a94ae426a031e187c9a9e0da993bd129eb8c3d188966814075ff19fe949a56e0e253245f34550c6761ab93f57590cc2234d0f603f9d885b672e2ddbb12e6f17ce6bcd63afec60aafee09aa283809aa164ae82d16959937cb8008eff97b53a0847765471dcb460aafee09aa283809aa164ae82d16959937cb8008eff97b53a0847765471dcb4a3ece655a530d3e4a20b527835b59edd0526296a348d2fea3b6bc576bcdda1d437484955497b9c3a00e535bd8cfe038faba339ea289ab7ccfb3fe425bb44397737484955497b9c3a00e535bd8cfe038faba339ea289ab7ccfb3fe425bb443977aa787af1b2df12a75c855c20271e96b29a5c972128b9fca1d1c2e01ad44b31fb13d8c277f3e205db27851819e284574b9cda89981d075f4031dce585a87b1b9b13d8c277f3e205db27851819e284574b9cda89981d075f4031dce585a87b1b9b82ab2571a2d34bf79a27177fafaf27173b03638606e1dab3a1b011ee70946d4fda0d818fd919e62229b6733a6fa97376c76cd95bfe08b294e136f02b60c2be0bda0d818fd919e62229b6733a6fa97376c76cd95bfe08b294e136f02b60c2be0b53f35247c1ea879aef352b3372887c5fe71cb86d4a513c8d0a379c48baaf27eca8ed48f65b852eeb6314f01a44ead6b2fef152d0dacd9ffde1c8b790972903d1a8ed48f65b852eeb6314f01a44ead6b2fef152d0dacd9ffde1c8b790972903d1e3686028c3337cfb9b244df2da1abdfaa28f7bdce4ea5ee2d3b52271523594e2c6c6c6ceeb937128e1ec8d1ae1ea91089c2234c05ff0eb3c1d41630571b91079c6c6c6ceeb937128e1ec8d1ae1ea91089c2234c05ff0eb3c1d41630571b91079e61b11f6f3dc9946b0e386182419871bb471cb5b5db58fc0129da3090430ca6dbdfc14765dd0ea1c99021ccdcd2018f697261fc4ead8c7ed1ea914f9d5edef8dbdfc14765dd0ea1c99021ccdcd2018f697261fc4ead8c7ed1ea914f9d5edef8d0b78c30c68d61705ec51bf9c016c7d253a79e8ad198507be7f6a1c7f66f371167bd6eb4567ef3c14cf213c85cd3f16bd846546ad07d677d0acb4bed4d2c8f7057bd6eb4567ef3c14cf213c85cd3f16bd846546ad07d677d0acb4bed4d2c8f7057671639b66de4792ae8a6bd00e231a5788f5e79bb0d9309687dc58841afcf6a231ba11d07eda613f8ab8013c2b00e19869ce945261f5b71d2c336a819330458c31ba11d07eda613f8ab8013c2b00e19869ce945261f5b71d2c336a819330458cc97c958f1e4f15e0bc7b3fa72053af27ba485c8f06cdfb85df03d02e70044c43e4fa58d847bddf88794ea988521fa2d076c648dd2fe39a022df5764c9090caf8e4fa58d847bddf88794ea988521fa2d076c648dd2fe39a022df5764c9090caf81603419b97ed60e2e9766ecc3df7ceade5fe364c4f04d77bde2afe9d0ccd94f66af095834261936cd7e2e4e01580821c9532312ec68652e0785697b0db80e6b56af095834261936cd7e2e4e01580821c9532312ec68652e0785697b0db80e6b59d3fd18c7f48865fa829de9a3ed8c02d5a73e1c5561a3b2b5b2dd1b1432d9ecfc2422898dbc696dbfe96eebd8d26ecfc42581edf460578abba3811c827dc3866c2422898dbc696dbfe96eebd8d26ecfc42581edf460578abba3811c827dc3866f39afbe62575eebf10548d87c498a353f770546cb938008a6d95c5a318e0830c9f751a702f8f133ba3c90d088c5bad844e24ce1fee8ec6fe72772d555ef031be9f751a702f8f133ba3c90d088c5bad844e24ce1fee8ec6fe72772d555ef031be372f6cb72601b280e95e0fb6b31f4dc558a44119a76f31ba757e494aefed66838e74c0b5fd858d49b4d63a7d3c28c785a0ebddc86481b09ebd383e3fcf1028818e74c0b5fd858d49b4d63a7d3c28c785a0ebddc86481b09ebd383e3fcf102881eb429f839a674a1363d5e75f543256cc0c16a9fe898e5f4e31cdf9391fedcacb7ab6e0efe609e78a04482c191f4fde744f255c5799464f0a3155d6da6fd0dbb44f907ef5467ec6d2bce18a783758967de19eb97d1915c8fd299cdfabadbe0fcf390b1c7938fa9349cbe4470801483d0caec7aac28643b24bde0cca50ecec72bb34fe87fafd1e6fd0bf01b6e8fc253d680207a49549cc5ff08c6e0e58055d935f34fe87fafd1e6fd0bf01b6e8fc253d680207a49549cc5ff08c6e0e58055d935fc915260c38d4fb070cd145653c0b882edf5d2e26612f7425778caa810ceeb9022fb659e0485cc2d304a0e5dcb40e8343d6808ae763a1a816f14ebc4d32af27592fb659e0485cc2d304a0e5dcb40e8343d6808ae763a1a816f14ebc4d32af2759b14fb4edb165320e1bcf9929a6fa67d48f28c8548caf410de1f29f479a725cf864f2493da498c672123d203624838ee53a4502ba3e31b461e63b30e6705a08df64f2493da498c672123d203624838ee53a4502ba3e31b461e63b30e6705a08dfc27a183dd9a191b7f314d6e18a72e44e6784a44382d9fd08d84a8021e3b1afcf494fb48db0bda3fcbc76e64164308eb47d33d9187563421a64e69fa19009c281494fb48db0bda3fcbc76e64164308eb47d33d9187563421a64e69fa19009c281a1a0a09cf11f11a2d8e78e4e952b2b38588f7cfb675bcb2d8548f810d046e3a12d157de277198644cd349a51f7bba881ee3c8c80c49e9eaf279c3eaac2c71bcb2d157de277198644cd349a51f7bba881ee3c8c80c49e9eaf279c3eaac2c71bcb30c7140cde98d6f32f0f9365a07045dcc19fdb28411e955870e3920af6cbe8f21a9c60fa60afc502abbe2d7127c20559f521bf5518a55b7651e3e3f2ff63b2361a9c60fa60afc502abbe2d7127c20559f521bf5518a55b7651e3e3f2ff63b2365c7e3cc40fe0276eb63876d41bb02f772c13b97f9591d5866fad152ed9c645c454be98187c2f8086e95cc3b7e44f511d4cc907d20c69e57cd1ff5fbce1789b5754be98187c2f8086e95cc3b7e44f511d4cc907d20c69e57cd1ff5fbce1789b57fd390fc38dad6c57404f690cc69c7e28dffee8bfb3e6adfec68e72652de2f0857829dca69e5eae68865e1b73c217248e1a232f510454c7e47924defade6303cb7829dca69e5eae68865e1b73c217248e1a232f510454c7e47924defade6303cb21815a9f86fe25d64c6b0f9e67c664bdaab171f4900229f5c3d81bdd69761730be223f9bba7ad711cd5961908a7c6d1699bfcdfd59c59eca1e04d575afa73c91be223f9bba7ad711cd5961908a7c6d1699bfcdfd59c59eca1e04d575afa73c91fab303836a54c1cbe797bc984b8c58c6579c23a73df1ccc1dcfd506df7a1c1610a1621e2926664ed5484055d53956c538ba62b95126266643140705c7227e9bb0a1621e2926664ed5484055d53956c538ba62b95126266643140705c7227e9bb8d18dd407f4f409f70b39dc7c9806c4c3dc71c9237c54bd916bc3de641bed1a5d69fa77ccad9d0e55ddade0fbf4cce276de03626f076fb04377615d8d03f085eaf45d7133ce6adb56a94e6e255cf90da503363430f2caf48c3ce45fd62ad1d8eedad629688dd40f6a870172831c8c192a004846242c2510bf080c1fd544843bd9f0c81981fefc5ee3e9c870bcfc68452ebb2bd9fbe433edd9936075678d9236c9f0c81981fefc5ee3e9c870bcfc68452ebb2bd9fbe433edd9936075678d9236cca8ffc1677dc229658982085d69909747d501a67813c1673e08bb556c5e35762283b936e7d21964f30023e904c8af88ab38d6394db3617cef1eb051a0f117218283b936e7d21964f30023e904c8af88ab38d6394db3617cef1eb051a0f1172184038f603609b7f336ac0c5f8f8ee5c7b9bd4882f6cc3c70e02770b92a37b89df636a1a318b3922a31b9abce4ddc743904c2b3423f7db9bd116d6b2789c526e8e636a1a318b3922a31b9abce4ddc743904c2b3423f7db9bd116d6b2789c526e8e3c833f13dcead86aa3dad2b640e2e57c336c3dafb27b3017a12e459da9b4b5fc00fca5bf9276ab642edc37e61351ba3e076d06a4cc347612fd8b42098c780a8300fca5bf9276ab642edc37e61351ba3e076d06a4cc347612fd8b42098c780a83d0a722d6f0bf73c27d18245c9e5464fd91062a96c1264aa14ab403593aafc2aa7334ff88db1bfa5cd1ca790dc0bf79a49712463aef25b08ce38d13b67ccf98017334ff88db1bfa5cd1ca790dc0bf79a49712463aef25b08ce38d13b67ccf9801824b6599ce4729b884d91ecdd07e06a13fe6dceea10432d885ad3027cf780049afdcee321ede946d6052418b949971b6882a6551f9a18e65e6177939babb3696afdcee321ede946d6052418b949971b6882a6551f9a18e65e6177939babb3696a91c6c43a0fdfa6f527409f37b0ed6db6dfa4d1db74646508cb3c2c3afceee4915b5d4dbf68cf05b5fe0a3edaf09289c7a0e353081a1833096d9bad8d77fc2a215b5d4dbf68cf05b5fe0a3edaf09289c7a0e353081a1833096d9bad8d77fc2a25bd1ef77f0acd1608725982a584a2435f176d5a35b992e307095a8e4112581e8fa4d789e5ab586284b07531767746453c61bd88d2fedd3c3de087a87ab45939ffa4d789e5ab586284b07531767746453c61bd88d2fedd3c3de087a87ab45939f2fdba7011f83388eeddae3ad07c5e209bc8bc2edd9170c63e15faad8b167b339eb81062737a90f3a30153e19c3cb1fe87ac33adac965f7aeff21024d20271f0ceb81062737a90f3a30153e19c3cb1fe87ac33adac965f7aeff21024d20271f0cd19cb9183192641f8fc43784442f9fba2ea80acb0f7d0696f8dd191f8f61c1e837229b6913f4b1c7abbdbf9f67740c917c3a58ab94754555f606a1c1a947aca937229b6913f4b1c7abbdbf9f67740c917c3a58ab94754555f606a1c1a947aca940845f0919bc83ca7972bd9d08b7b84ce2bbab50105810154b759cf942771ff8f87daafd05f1845ecfdcf5dd3bc62d8cf370ee526097c75cc9291a4d5720b1e4f87daafd05f1845ecfdcf5dd3bc62d8cf370ee526097c75cc9291a4d5720b1e40bcdd4c06e4f0d0e92e4413a036ac8344d7f7713fa256d3f88f0211a6af0d0d93df96deac2413cfe6417f141f2cfb3385cc0a09bf63a5c72d46b8a96a8f55deb3df96deac2413cfe6417f141f2cfb3385cc0a09bf63a5c72d46b8a96a8f55deb1bf68d35f12952cdd4d71d2c532267ed0503073df2f472a64c747d9efc10953776df7952dc8c19a0f0d747596e8bb014d5f16c713333c6ba1be537c02335796776df7952dc8c19a0f0d747596e8bb014d5f16c713333c6ba1be537c023357967941855a43d47c61e22b4d05f6b505b653595707e7d65bc2968a90ef8d6b180eb498a259689ba1756f8e9d60c6310f1bf963051174584586c83c883ed3006f258498a259689ba1756f8e9d60c6310f1bf963051174584586c83c883ed3006f258cfa8341e6de9c6b9ed6e5464723ba269785553447c9d6b004f32bf38c0a2ef8e314a505f608a99966e47062c004ddac13fc3cd8618bb82393fae1f0c9e41f839314a505f608a99966e47062c004ddac13fc3cd8618bb82393fae1f0c9e41f8394d11de2025244eaa9cb600ac3de0e733d47f34fe3124baeb6a5d6d0f8a96136509abf5d840187253d491596577125743a9e1e64bfd1ac3c078acd023bee881a709abf5d840187253d491596577125743a9e1e64bfd1ac3c078acd023bee881a78339b4f03c3829704f1ecb5f22a9ce1df894d0aa60d52c20432efa4edd951c0b13e415ac374fd6398596aff292470541d5ca4f7ea4fb6cb78b6a4a639b42c17513e415ac374fd6398596aff292470541d5ca4f7ea4fb6cb78b6a4a639b42c1751ceba6939f46233d276a608c9fc3840f38f23a4b689ffaa9075b5f59d5cc6e778b2d55c85b0f05e18a5efbdb8ae2d4126a0db5e277e81d61828349617d403d0a8b2d55c85b0f05e18a5efbdb8ae2d4126a0db5e277e81d61828349617d403d0a84c3c250f51f97bd44cc14c87a5646fe9b3c31620173e18f31758b5a141dde43adc53bf5798e4bc87beac8de59f911329e011142375d1f8d39ccd4edf7010e97adc53bf5798e4bc87beac8de59f911329e011142375d1f8d39ccd4edf7010e9708f0a530a80085ca11af94728ba892492b9833e48a1ecd66a78d680beeab632329ae2c1f2d9f2d63f379d25493c7aacdfcc345e16449b2f1cd9e5a807192591829ae2c1f2d9f2d63f379d25493c7aacdfcc345e16449b2f1cd9e5a8071925918a7da4206dc12ec8f567303230acee8f532d256fa1839d9f51d89e11d1bb80d06be63487ea1375ca89c8180c4f590c2cfcedb255469b4b3973466b97b7d2c5720be63487ea1375ca89c8180c4f590c2cfcedb255469b4b3973466b97b7d2c5720bfb4c1af5f71e3b05922f18d1e4d13472328ee5afc90c3ad859648804715ac358a4d38adfd4c9b0647414299572d2be8b0314a7356d3e9a72dc37126bdea0f638a4d38adfd4c9b0647414299572d2be8b0314a7356d3e9a72dc37126bdea0f6323cf9f7618b6f92be2dd950a64ec6903c525b6eb2e688a5287d90bb886dada0e73188e06c742b271b2163b496e78412a8cdcd91b45253411b77d4839326ad54573188e06c742b271b2163b496e78412a8cdcd91b45253411b77d4839326ad545e5759bcc4001fa9ae49edf85c0003b4967e21caad24c466888a33d88f63ed8b18b01f9b8bab1754620702ded36b92a34b9d65bc8f70b11e521ae4a14f18a51dd8b01f9b8bab1754620702ded36b92a34b9d65bc8f70b11e521ae4a14f18a51dd0aa8b5d826339fb55afc4b76126476a0a387d75a678da49ae63fb6cdbea138b0d3ac7166fa22db5f0b011af87528c92172e4b77d2c1055b1ed3307ecc1de26c8d3ac7166fa22db5f0b011af87528c92172e4b77d2c1055b1ed3307ecc1de26c81cb6f7e1cd145edea66c4def6f57f19b1f214e116459b263a5110115bf2ad29c101e6ea7a80dda14bb4e949675e8bde1ec10083d7cdb56a854391b936798ed47101e6ea7a80dda14bb4e949675e8bde1ec10083d7cdb56a854391b936798ed47a748272eec430c4460a3d605e064ec847a5c04ed08b0114b0acfa64d7b6a0501b446d264beee7e00744d4e2aa038370c7a38ee63d2d9c408a2226d00b41a93c5b446d264beee7e00744d4e2aa038370c7a38ee63d2d9c408a2226d00b41a93c56d425a5828d403c014e5a7295f19ded3f2040ca97d722d10fd33f4b7b4e07e48f2e4c7573fd9a2853144918fd0d4142c41ffd339f6aa3807e68fa54d10b186f4f2e4c7573fd9a2853144918fd0d4142c41ffd339f6aa3807e68fa54d10b186f44d4e36d4c8d76c7e0f762ad4b4add7bd25b2133333412a1e939d1034ce5195438a6343d5128af24db973478054ce299cdc2f249f7df6c951abfd666082078a5d8a6343d5128af24db973478054ce299cdc2f249f7df6c951abfd666082078a5d5562f5b0752b99be278f6b5211d5831d9a91c275e6a197dab10217f4ca7047440a277aa4874863fdfe53c0f03f2cf3f608e60a22d8f2f6d0e245006545a673020a277aa4874863fdfe53c0f03f2cf3f608e60a22d8f2f6d0e245006545a67302c95e7d47fe0ad5604a9d884df5e04f5dc4184e7f1452677beb2492865fefc0d827d4b33568a1717f9eebaa6f278b97ad6329c745984e49022e8bbc1c2feb89e627d4b33568a1717f9eebaa6f278b97ad6329c745984e49022e8bbc1c2feb89e6516fb88555c8aab3423c6e6b8a3ca5b097bae30ddb47873565a99803f7a74e8ebb2c2ea6fe47688918079f11ba046da785e48e3ed4c5a50376def918eee1d225bb2c2ea6fe47688918079f11ba046da785e48e3ed4c5a50376def918eee1d225c8057e31c398532402956e0b84dd9d63114ce3376be91a0a1f5e28d12a330f5c27c08a1d1562e945cc3db4077fe30b7438081563194064620ed31b8d33f9012027c08a1d1562e945cc3db4077fe30b7438081563194064620ed31b8d33f901204a89c4cc9e9baddb4febec3f409dc531ae7fd176f3279338b7a1bf599bf83a662dc0c9b6ab0157019c6ee33031630ec65f4e62bc550548c7e80d348044f805512dc0c9b6ab0157019c6ee33031630ec65f4e62bc550548c7e80d348044f8055140005f7f0b4905ee36b7f13c8b634c01674cf4d5f185273c24423eacaeb9c5cdbd4bfdbb3595a73f707e76665cc7578ca94592a9a598811ff970365d306c6f77bd4bfdbb3595a73f707e76665cc7578ca94592a9a598811ff970365d306c6f777035643b7e84180fefc56eb2c20417c8ff91d5fa04531641542e36544afba630392376efb66979d06aef29b4f36ebb3d9455883df2ad495da9e7c4f1df5c3e31392376efb66979d06aef29b4f36ebb3d9455883df2ad495da9e7c4f1df5c3e3175297235f5e61ebbd87d1f2904eb31f0dd9b2ec89bac08015dcf3e5195aa0943588404ae3871616915b70eea240a76a4b6bee3acd97c1fd5acebda2fc15e1628588404ae3871616915b70eea240a76a4b6bee3acd97c1fd5acebda2fc15e162861aea6e916de57a887b2b15685e9e9b4e6e154f1b9dc4c6fdc78dbc5f8aca46a7bc906b6ca4c5e66b6dba5b3763074d9a21c1dc6cdf412134384448a1861dd997bc906b6ca4c5e66b6dba5b3763074d9a21c1dc6cdf412134384448a1861dd99df152260f5c27b474a5e9ba284421980b919db4e7ffbfa9887e2daa1a5c3c953f9e86eac693d3a82a75c6b288e146116a79495609d41c856218a4c188dc5c571f9e86eac693d3a82a75c6b288e146116a79495609d41c856218a4c188dc5c5718f3b7efe5445797ec575edb8d324648e841d8456ff866646d9cccbd911edddeeeb1c24e613e58376885fafbb88ff424e11842a96544770c1a28627406e9cacc4eb1c24e613e58376885fafbb88ff424e11842a96544770c1a28627406e9cacc4fe91fcf7d6a5580366e16fc99b04b9630218d1f1733469c8828cd8ddb7540496813d77aedd29ae6d4d8aa25279a6f281a427ebac94e309c4009083505411ac8f813d77aedd29ae6d4d8aa25279a6f281a427ebac94e309c4009083505411ac8ffcbdb881e359508f77fd88d91bd8bfcc690a47b56d7db0ed8b487820d9fdbac16c332eafad6554f05e983898053884ac2b96641f370889bf47b68cc39788df216c332eafad6554f05e983898053884ac2b96641f370889bf47b68cc39788df218de7c067bf3126f9e07d689536d5227d25993742cb8d553ea155768273580a16fd48bffff4a42c83f0f9bed289cf397d893e2ba469696d86f6d574b53bb6009afd48bffff4a42c83f0f9bed289cf397d893e2ba469696d86f6d574b53bb6009ac180d390a74638bc09f98cbb5b9ab643383f6aa7a9da73ead575bd49e6f053bba82d1d6ce994913ed6609225e7f196114a7541f3337800aeaf6eb0387852d308a82d1d6ce994913ed6609225e7f196114a7541f3337800aeaf6eb0387852d308c139c26abd5525aa56b40a2a384a9ca3337917156d1f19528aea65cc40e67042abec11e47dba856e1ef6b6aa17ddb60c40cb92f6aee1a15333bd3f90fccd58aeabec11e47dba856e1ef6b6aa17ddb60c40cb92f6aee1a15333bd3f90fccd58aede100b9150fe21ae4d9c2d84c3331cba8a385d718b5cef7d69dfb258b0a9b26e2b7f3b415745cc867fdecc650a86f63d6129e0d23ee647f715d3971c5e28066a2b7f3b415745cc867fdecc650a86f63d6129e0d23ee647f715d3971c5e28066ac1709e7172ecf72628108247dd7f8d8e7046c712d504c2241b4eaed5d410d11441a8206385b3b2bbf9da817bfe361f09e4d14bab1bd0afb07c89131cb997cea941a8206385b3b2bbf9da817bfe361f09e4d14bab1bd0afb07c89131cb997cea9dbd4a2a7b285601a0c775b381cf7599e15f6e1639c5692a7af63405bb8ff05e556a213b65837a514a5dfdf4a605dcb743d7ad666485804f23cdd7ed98dad29c556a213b65837a514a5dfdf4a605dcb743d7ad666485804f23cdd7ed98dad29c5b2871c7ed2030751b16f4d8d7d88eec1c4bc86757cdb84fa62cad61ad53d7360f5c6baa7248d32e8208a22f1e92c9112668eb1d15a6d9be9a3e6ff13fd0a0538f5c6baa7248d32e8208a22f1e92c9112668eb1d15a6d9be9a3e6ff13fd0a053816a0c8a6e087ccecfdf3a98c69c9a8fe4115ef3176b6768f7e2211994efb3bd947c65a34b7daa93c8030e81b31f157876ebcc2af2be8cd5511b240c9ac1dd18547c65a34b7daa93c8030e81b31f157876ebcc2af2be8cd5511b240c9ac1dd18572f7547459460573516f50340e94b552de1fec459b61075c7bb65c8e0fcd7f0ca9b53b75c08828b45f8f13ba0b8fd0c007a5ea96eb4aa05752e5c32c3092e2b8a9b53b75c08828b45f8f13ba0b8fd0c007a5ea96eb4aa05752e5c32c3092e2b8e36182febefbe22dfa7b62e120f80c0200d54e888e9945765ba36162631f4bf4ab38a94031ca6314725e081ff61296609b3216043ecb84a3d2eff4f5e36609d3ab38a94031ca6314725e081ff61296609b3216043ecb84a3d2eff4f5e36609d308d4e7613c64156e7c384e9ad9b47bad5b9f9888da464fabc3503e1bfa9afb4756d9ab9a75e2eb1c9e390f8130ffe7d5de859a7c02500d9632c2b38d287242a156d9ab9a75e2eb1c9e390f8130ffe7d5de859a7c02500d9632c2b38d287242a1c06fc8d5f464020c466aaa623173913890c09a510494c9fdc03d1d2ec9ba104cad02318ba5478af54161ab8fe4ca3cf0d606d8dd2c315e0c52a0efdcab551f12ad02318ba5478af54161ab8fe4ca3cf0d606d8dd2c315e0c52a0efdcab551f12af6772bd0e44c2465743e54a1c5fb15f26d91dbb84bfd325475480ba0499d86a6be5a83f0d269cb43ee98ba1975a445184453eaf1e93771594933909f20648166be5a83f0d269cb43ee98ba1975a445184453eaf1e93771594933909f206481650c02775a32bde1742317b96110ec0195e6087a5eaaa3f841f86685287ba26765539c60c709aff9e860c6b9fb7d75774ee70ad4bba90db3585f5d0ac7669c58d5539c60c709aff9e860c6b9fb7d75774ee70ad4bba90db3585f5d0ac7669c58d983ddb828a9d418c2f09a0de2d541884e70b479a6e600a0b2a31e086d2408a7af33a6c568a91dd8306c026416704fd1202f49fadebec78fd983fb7c12690c403f33a6c568a91dd8306c026416704fd1202f49fadebec78fd983fb7c12690c40303fbf70a239bf8844b9c5216e927b8eccdb33d72b14cd0ef2aaad278702b4fba6a75df66c4eb754fc011e8b69b5ee334d5bd0d03ef95d2eb183a89a26cf1f22f6a75df66c4eb754fc011e8b69b5ee334d5bd0d03ef95d2eb183a89a26cf1f22fbc495b780497f2a0071a73c7dc18530c22d4edba33393359f497f7bcf35ecd98377e791691177a1c3b7267a1d5d53ad649ebe7ab8fdedf560a737ed1f93b7ed5377e791691177a1c3b7267a1d5d53ad649ebe7ab8fdedf560a737ed1f93b7ed55a7cf910d572733cd731ab0fe7536daad11943b2580ef12d752267d754fd31ca91fdead809b1f4b2ece78157ad8eb9859fb796d5bc0f48c75810f1db113dbc9d91fdead809b1f4b2ece78157ad8eb9859fb796d5bc0f48c75810f1db113dbc9d8c234c1d7910188ecb7ec3561d5de94758033884b304441acedf4a3bec6c74fd0dc298749e2491a12558ee0af448b7eee142b9aed3494679d9403b753bfb81590dc298749e2491a12558ee0af448b7eee142b9aed3494679d9403b753bfb8159b5872615e65f4890c3a701ca3834890e6ddfe536ed44cbbcea7d6d7a163e350581a5746eee73fb13080928108db95ee08c11a8e682f5d0c25cf8034973bad64c81a5746eee73fb13080928108db95ee08c11a8e682f5d0c25cf8034973bad64c71680d0d610c8ce9cd1d52576853532b89fd3df6ec3e60c4c214985dc19b748003a36c5bb0ce1f054ef59e353792fc9c5aea208b0726095b187a66de21434a8203a36c5bb0ce1f054ef59e353792fc9c5aea208b0726095b187a66de21434a82361d96cf6d84c3a162bd436d302d8f3b49bd3fc29ed52ae8b8c05fe3daf114e658e5b6ab97c66e2aab3b620605033076bf2a1887753dd1b6f10d3616f744adf258e5b6ab97c66e2aab3b620605033076bf2a1887753dd1b6f10d3616f744adf2e4de02f64f69701cb1b730fe98a5c3777deb0026b4007c94edce5cf4d323bc4c6687490ba45bb8cb8e2b18d6b392a611582d9e9d79b6f6b4888ace51443212406687490ba45bb8cb8e2b18d6b392a611582d9e9d79b6f6b4888ace5144321240b32ef3b4ccf6de3679a94b3cf36de50106b941322c4242fd7df43a9f81a7b165aee1182fdf3f03b157b25f4a210957e760673d983337714384f8247e3926393700c2b01b892523fbbd17a57172216b19de9c86413c00b65a0231ed77fd03dfa978140672c975b25c45e18875fd25db5685d603e02a8b231324e4f56cdb599d56470b657f822de6e49d1eaf2b18e0ceb9951af213ff82e980919ed52652e8e769470b657f822de6e49d1eaf2b18e0ceb9951af213ff82e980919ed52652e8e7698b7aaa84b0634cb20dbbe39d7cb74d57eddf6afd8f6f1b0f61a8ff2b5f2045f8f4096de2e414cf6ac2dc97e91772745094584a4c99f6bce2aed352d9e807ecf8f4096de2e414cf6ac2dc97e91772745094584a4c99f6bce2aed352d9e807ecf8f238411cac69c5d082f8f48a0b658f57f4c0ef4064c6cce399f39e192b1e159075c419f352e6ec9e5dbc8a04393cd45e6d1952b7aac2cd4300cf6694984100e6824ae65a2beb82cbb9a2ac5d27547bac02eef63c9fb7ac1b1e47751470333c5dade38e0d1d9c6efc6a75180966030ed6de1d25c6231d967bff9a59ac7c547a82dfc6762f21fd2f6a2cb6ede02c03f505515e628bc6a5261be3e96ae978a79a33dfc6762f21fd2f6a2cb6ede02c03f505515e628bc6a5261be3e96ae978a79a336acc4bc94879f81d79b92e07c15e02555bd3469050deeeeb652baa175322cf50b249526502eaa6c08338a6d0899a1f58b32cfdb323b923c0a91512313a09604b1d0618c276d167acbd6e3bcdad83e420e8c2138d499e372efdd33949011f96f318e9b6800cb6c4b7386ef2c1107fa7f28b1e1fb048226a3b2c33ee632d01742a201801f5e58fb200b663dba2244f49095f0580ff012c7a9ef2e67b823ac017deba0f033699f849e5acceb642137b318ca5cd7a40ef259fd09b37bc24302efb4dd18689aa960841c52343f5dee578588cce235cbeb252608ddf5e66ddc070307492dce65f89adbcf6893e11659bb3c7fe2e77dc2aabb1b3e182129606789f121a92dce65f89adbcf6893e11659bb3c7fe2e77dc2aabb1b3e182129606789f121a39cb932f8f5b4918befcd22b62d32033feac7ff6ad3f538c1a7ab10f8004900cd19d12257db33143c6479a93dd0777d8909731b5f7ed342cfe04ad5a630316dbd19d12257db33143c6479a93dd0777d8909731b5f7ed342cfe04ad5a630316dba4c8d47d6cfe960b192cbd910dd125f9544f95e3d12b282067a6c7bd80fbd2894a26848cdf607548199a00e55d85c343b4a5647727dacc937dd5c23e67901ad44a26848cdf607548199a00e55d85c343b4a5647727dacc937dd5c23e67901ad4bf65d8a68028ad4f468b0fe0913345f8c7698b4e094660fa570f82b2cf178ae3c83d972992c506cf220afbfea4521604b65507ecf0246f40468a64db6232eba0c83d972992c506cf220afbfea4521604b65507ecf0246f40468a64db6232eba011224893850d5318135dae6f0b7d62121f72d1bd03224b6a881daf25ba34c3fb3c1b469613dee82a6533ba414c3275dab9f9d00ce418d09e656bba59bf87bc5e3c1b469613dee82a6533ba414c3275dab9f9d00ce418d09e656bba59bf87bc5e27e9a18579a6462199b6b12600965c7fd49ce5a78ba584ed35851830f31aa1d2b4aaf526fe83f58e9c951d4f7eaacec695bb5f979f0ff7f6343510207cd3d3e2b05823143431e55c920225e6b3bca6aa9c1ae630112e097315fbd65dd1e2bf92b05823143431e55c920225e6b3bca6aa9c1ae630112e097315fbd65dd1e2bf92aa8e019765437e8b27d31f8a38ac6c3ef4f641a95ece5d5fbb94b0633362c5ecd2100b6265f9391d1cdd33c2eeefdd9145e025aa65ed763339d3524238900a6c984714593f80e5ff9cf73985edc557283bf476bb334af6d6dbfb548e8fa0f3595cb4da5be8b67c110e02b7e2726c6188e24d48a6410c9ba9b30c7169d89df32ea23f013d7b81f1f7d06daceaff9e817f80bfe09c14141471c4db91cbb6585238a23f013d7b81f1f7d06daceaff9e817f80bfe09c14141471c4db91cbb6585238daa60c76bc7b99f9b2a703a6ca66a8bbb58e51290e74bf2abbcb9ac5fc9c987dbeb4a3f5500ac6ebf700202fa59f9ed1a8c0dd91ec101063c52f3b7cb575fd1ebeb4a3f5500ac6ebf700202fa59f9ed1a8c0dd91ec101063c52f3b7cb575fd1eb73c84b19fb7b13f4640b667ccf90afe393944c89d2da4f5916b52bbe457b02d6a2a49930a79e93341a9717cffc150c4e02de0611e9859ed687bf5dbeea37275c3a7e07577aa06596b7b5e4f479d2d0d0082bd6a1aa19a5ba5381403e23c76d5b96a13c4c6872b411677b028af6a3f771b5bfa0c0562715e6c27657667c2d9b09860c6acfdd0dce9a468c7753562322185899def341668dac24e179b5dd20d53cf8e4560ac28a6537f781a4d3487a7b909ecfeb4d65a508e4f59877a29371cd0cf8e4560ac28a6537f781a4d3487a7b909ecfeb4d65a508e4f59877a29371cd02ac91b93be67539e4926f4fc0675217d4fd583829670980303b59b14200819164b36e1c0be47e895b4c0b0ccdd17dafb4b9ab2230fe72286b87b259469a7971f47a1b434cbba0b6b1bde5b98ca90b73bcd9a9755124e3997af345aae675706009fc5e29de0688cba4623a4d1e1b9397299343580a110dfd1b979543745a70bea88a7ff1f82a428bbe9823b3f868381b38d48e8c17aa61285afcd51651b20b5f588a7ff1f82a428bbe9823b3f868381b38d48e8c17aa61285afcd51651b20b5f5cfb96d46a9e90c6c981cd73891357291173247c2c078ccb2d8a55fc957b5842a3b6b95dd18e717907e4d8e376fb5215c40c057deca593433c598bddd47ec4f323b6b95dd18e717907e4d8e376fb5215c40c057deca593433c598bddd47ec4f324a02bdb3964a6f1e61e3d46885e5c75cd15e02e94be43cc29bab053625a8467536869acb974d430b44bcddc414587d6b87b7dc70d8ad999352744aa304eb655636869acb974d430b44bcddc414587d6b87b7dc70d8ad999352744aa304eb6556e47a3f2324b579cc980f007542c6ae316f010a2bba26c084b33d7f30b9c940f97107125dff7c8484ec8c884d1559bbf2574fa1193a2f88b2ae7555579f58e3497107125dff7c8484ec8c884d1559bbf2574fa1193a2f88b2ae7555579f58e349ed75dc720f528ae8a6c05e6b71f6a6ca5575d3dc2113dda2b9cc26e20773df854e7708b0c12a987fedc697f129c857e75cb4c42db4d28d097f4deb78a0a8c2b04e7708b0c12a987fedc697f129c857e75cb4c42db4d28d097f4deb78a0a8c2b05814dd869ee87574a0a415777435e1c84814647a9c0bca53030944c8557cff049ae3c47c808175224d1e9debbb95e5260b6237fc3df1e7725f9c306d870d4bdf9ae3c47c808175224d1e9debbb95e5260b6237fc3df1e7725f9c306d870d4bdf2d232284e04741c2405caf56b6f6a0fdb5b29a5c43bb9851dd6d5613763d2934d9d42f4252226db15dfcc5ce181d123983350f702ab30dd67489627ab707d97dd9d42f4252226db15dfcc5ce181d123983350f702ab30dd67489627ab707d97dbd9a6d305c0b38cf451a1ad5af9d2716067a4cedaddfc65cf55c2281e4af75750c730d01a6ef02e226f0c4c1d6c418b6af6a5411aef1494774934a3882c3548f0c730d01a6ef02e226f0c4c1d6c418b6af6a5411aef1494774934a3882c3548fd6523e8d14d4186ebc9ceff2908f6c222cbe476e9828996e4ea7ef9eeb18157e1a68d3bd53810c322d07a830bd0bd221da2f4959bb2d1b33dc69e876ec38716a1a68d3bd53810c322d07a830bd0bd221da2f4959bb2d1b33dc69e876ec38716a159054029a5429155e586a05ae939b312c0dfca29e308ac6088565485de793b041f045cd70ac0b5cc4cf9310b24e234a1e10dc808401205b84cbb3a580ab60e041f045cd70ac0b5cc4cf9310b24e234a1e10dc808401205b84cbb3a580ab60e0405f9b021a98ca2ad282474fa1a89e9549dd23140d3d92ab5b70be17000fe06d148bf000a59913b78204c329bd5d6b3af2832e0e0f1f6f182b9b307136cf54e9148bf000a59913b78204c329bd5d6b3af2832e0e0f1f6f182b9b307136cf54e9fbf91fd151b6929ce6062d9835bd3f881288e6c05d3a8037d632869bf80fadf345c965a8ffca0a8d612f2a57235ac16ca7fed29dc24c9fd673e3a20ecf88138045c965a8ffca0a8d612f2a57235ac16ca7fed29dc24c9fd673e3a20ecf8813804f854a2104fd72d6a475b1ac6b8ea603d74d260bae8400f7e23269938f4525edeb874fb9ae72580e5f28fec6b52dd4ff733efd7abb9e90aef181af8eaf01ad49eb874fb9ae72580e5f28fec6b52dd4ff733efd7abb9e90aef181af8eaf01ad4957a9d13a499c47dffd07d8a6c6cb5977cc65983469459ae0799631144bb17226b1b5b0e4781605bd5353316037037ff3f26f0a8a5acae6a9cbd655b48ec547d50aac7bb305cedeaae8ad0bd3abb31f8364515cbc025e457370b5a3fb3e1724c7da366a4ceef5f4ce9817c5139512fd496904f974be3fe0f24ae3909dc5b85b64ae615b716406fd9040b50b27620bf575e388e4d3f0c62b845ed60daefc14f480ae615b716406fd9040b50b27620bf575e388e4d3f0c62b845ed60daefc14f480eb69276053f6d37389e2acc2d611edb007bfb25c08755ec2e4529e1f41737cb80312e6fea250bfe6cfddb17bf9f2aa50c724d95068951c8a0af72dff9841b2ac0312e6fea250bfe6cfddb17bf9f2aa50c724d95068951c8a0af72dff9841b2ac4589ee6ef97bf6239cdd6d1220b3a1b5f50c7af0c54ea76f3cbd92b4d6e79663e383bccb2bd8e5e62d721e0d3a7e721cd0cb4b5343b80dda7235eff5417d513fefffce15013b3e693e055c3001bfbf554100e9a20eaabace04b3de2c6b377745956b5172e9b3aa604214e8e1539f74530b76029c07c0bbcf0666f700561463c18000a9c191df861d6cb36a04618df809b1164bd81361500ce9caf6ec4d44c3cb93507563126ad72060bb2c2b3e6d27cbe8164c8ad2f6df9035ad3e57bfeebc0715448830d62e59edc049b0734108b28db3ede5b8f9657a1de82eea75e3838e1a10010d9131adc86797bc0c81d4c7e06795fb373e950d63add3956c1f8db75aca09a83a0f23bf73bf5bd900c0490dfb64c24727fee7a7f812eaaaa760449cb9ff82fe46dd4274c8f78878cc464a5ae3d0f1f7a7d719c90febd101973ca8c48be26b30c07fa47989d84c1fd715c9d011d0ef64568fa3c718df6789b9bac89b4b286b30c07fa47989d84c1fd715c9d011d0ef64568fa3c718df6789b9bac89b4b281c76ca012ce9a2b2b9151c128d3d2ecc826ece7b5427bf7c0eb38365138dbf42bd5386a1089f33b17a5725b8816c0829da659eace286fede19067ed4a4f5b0e6bd5386a1089f33b17a5725b8816c0829da659eace286fede19067ed4a4f5b0e6db83858801c5aeee2a0b76c6b0ea6a3eb38d22f308287fdb93cbf0f1498c4d5510436dd3181c86c3c7a9a2e02aec66cc342bc3558f874022853952e22a5ff2b510436dd3181c86c3c7a9a2e02aec66cc342bc3558f874022853952e22a5ff2b5c148cc81627106b8060985effa8b727814d169392440fee59f5e4ee0f6a4b57505bc3fbbb5e47c3feda0e9923339aba921c3d3e1f5913132bae9230abc52785605bc3fbbb5e47c3feda0e9923339aba921c3d3e1f5913132bae9230abc527856d68baf40a37fedbd9fae952de0c90305b0b44fca3cb6bb4fa31de5792ccc4c2fe911fad284589e295ef4bcec8f19da56996841fd8e317e632922e7d919d0f61be911fad284589e295ef4bcec8f19da56996841fd8e317e632922e7d919d0f61bb34f050d5a123e057b11a3494b433975977262167c43973608ea2fcd8ce90adf533947004934ad9be92a90ffc5233474981564bf1ff0047c31f4142a68824181533947004934ad9be92a90ffc5233474981564bf1ff0047c31f4142a68824181903e6ef254edba2c28f563c29769bf95489ed17902e3cd1e6f13b2ec075b7c5b6eba6b3cbd43329092397db200736cecba82710afee8b5e14b970b0ed50569ca6eba6b3cbd43329092397db200736cecba82710afee8b5e14b970b0ed50569cad1eb91abf747df193b9b89120149c0a9f1dce43bc07b660ba4f287e68e6699a79b8174721226b54c36b2ed6b0c3909b4790a56beeab528400f77b65c9562832b9b8174721226b54c36b2ed6b0c3909b4790a56beeab528400f77b65c9562832b987954d72270acb506395d540e9de6f044aa903b71bd6a94bcceebe36b6f02f82868feb877869018ca88c4be8e8d3de2c6504e720e51fd80ea445d3b06b2ab193431271d5863ea9a75ca7559b26f0246ab8f3542a2ead44f1cd487402fbee902344b2474f2c256216ad563649a17c6a9b11ec239e036fa471940dd0c80baea335df1668a49d9c32d6d574fe3e2808d0d561fbb5c1cc5ee16615baa63c1a93c115df1668a49d9c32d6d574fe3e2808d0d561fbb5c1cc5ee16615baa63c1a93c114590d04bee3fbfcc02899922313615333d4655045b345dee822fb7c1dd083f76457c4b6ac09f850be4913eb069a20e164838055f61b76f2d97d021f11cf52fc3ccc960ee8ddcecffe5a05b89741c4a52352df7e5b575f68d0b7f10da878e8cc123fb453a3f91117ccfc26d9c83d90398b88942838e74674bfdbbc6c4044b58824b224a8816c5e5e11e653ca7a798e958571a886276612b9f339c3feb899833a14b224a8816c5e5e11e653ca7a798e958571a886276612b9f339c3feb899833a1512cea435d9d5ace892b3c9ac2d4156ca15b590ca221e709806fa98b47056063cfb3f5a5a31d2b47e88cb6d908b76e1bc010df3bb8bd6ce13bb8c97f9720e2f7cfb3f5a5a31d2b47e88cb6d908b76e1bc010df3bb8bd6ce13bb8c97f9720e2f7691799861b96c765e7e5f5e581773204e7e773eb024a0fda0cb149598eac2b35e4a9503de3d434721832d098eb8350d2cb2114696faad992179d579c6455153ae4a9503de3d434721832d098eb8350d2cb2114696faad992179d579c6455153a7441da993ceb5cc9e9813855b42071025f5fde39f5d37b7b466b9bd85eb06ec28df886949b7d100a1dbe9dd0ab26ca1d30e0410a9c37e1502cfe93d7f91f11548df886949b7d100a1dbe9dd0ab26ca1d30e0410a9c37e1502cfe93d7f91f115472ac0c3644075c05c676e8e75b62d303f689e0cd48aecb41d71f38a6d9c5b13aaf598331bb94c433691b14d4928778283e8ce963cf2ba46410ea169e6df3dd81af598331bb94c433691b14d4928778283e8ce963cf2ba46410ea169e6df3dd810e9a34e3cb861d68c4eb2d1f204ee6eda6956846e5ab0fc737d88a95f0b2f8c469dccc64ed9c1fa4d4b1197661e381ad7962777157887afbc72cc192de32aa5069dccc64ed9c1fa4d4b1197661e381ad7962777157887afbc72cc192de32aa506a5dff1e03e0cf5ef1500cf5cf3a4b314b9512e98f3bbd9f49697d4cf1159f5f4b3a6ab025a06887bad16f75488d93b33245a79a55c5cad9413937c2f2f83e7a4b3a6ab025a06887bad16f75488d93b33245a79a55c5cad9413937c2f2f83e7af18acfd00a58e9c6c9bb33c78c99f3365090e7159418a838f2dc75a3f641186132f70d5de908af53206fdd8fbf2638ac51442aa34d2bcc4111f2753d599ecd1932f70d5de908af53206fdd8fbf2638ac51442aa34d2bcc4111f2753d599ecd193b4e7618851384ca594fbd19645f903bad824d91c983e634fb1d52cb6c6e83ac4b100be88f9248034ee4e85d9042e648923f2ee01b61aafd7274d4427f3e3ac34b100be88f9248034ee4e85d9042e648923f2ee01b61aafd7274d4427f3e3ac33babb5da98b9deefea2905e7053989c877e7f96d55a079de4e5e6a0ee7f80b7f57ae1d516fa4b0c2207db3b9708fbad45496120bb9cc135205621654da9940396bc4451f65b160a8e77e3dbfa8aad2d8232393e0908ccfaa65653d9c6318fce56070f91b9bd9c71e360571cf15bb52944a9976b5c88d72b6cf74c9924cfea6a5b48c4b9342ad3c16ec02c74d430ba264aa14cb234d6e925031b961edfe61bf0cb48c4b9342ad3c16ec02c74d430ba264aa14cb234d6e925031b961edfe61bf0cc3ed3389cc936f1124ea464188f7ccc516918b0c6fc041d853c0ef0d958f4afc0db8dcf345ccccedc94a101b34f442d8c29940c31e914e33d95d934629c6c44b0db8dcf345ccccedc94a101b34f442d8c29940c31e914e33d95d934629c6c44b8112de0e27b29629dda0336ee497b07df3c8c8b9a57d5a756237e478d64f5e39bcb2801e410fe2647169f31d7a88d3f3200f57fd9e19be50710b7d27302be57e24e91c25e89a85e07182589dbcfc9cbe02ee973b2c06b8b2ee13b49e99b637b6ca29cc04a651ca861c4b8dd06ad3c5939364654fe9c2766d72e45afc52071e7451ec3515b62714ed69ace24e8bfc93565f3eca488459011f51ed514ad770524751ec3515b62714ed69ace24e8bfc93565f3eca488459011f51ed514ad770524772e522dc753316de0aaa447d1160c0cfe698fad75cd47bf1fbe03c81db669fa3c0c1696aa54350af31001c5f697059c5f55aee4bc069ce1bf96400098aa0c892c0c1696aa54350af31001c5f697059c5f55aee4bc069ce1bf96400098aa0c8923ab78b6f2b9c45d03c356c02254340140a7ed5e2d1bbc5c0ab9d3cda949a7bff64120c3216fa1b250bab6bf63da777d0182d2bca3dabebbd1b6bd4a3e88bb7b264120c3216fa1b250bab6bf63da777d0182d2bca3dabebbd1b6bd4a3e88bb7b26fbc7bf41b1e14a25b3df33877193555b0a0a70ca70a4b6a9632b12ef130c9f54eadd198c8b3087fec4a69bbaec4ae25089b3ccfd5bc3c18a612919e1b3ab1444eadd198c8b3087fec4a69bbaec4ae25089b3ccfd5bc3c18a612919e1b3ab1442c2a04cc7e0673d46ac01b6492949b962f746fdfc51a4248a4a4be689b688829bbcaa6cd8e39b145b6577d159d175c4e4542f63dd6b5a5b06d53dcbacef47bafbbcaa6cd8e39b145b6577d159d175c4e4542f63dd6b5a5b06d53dcbacef47baf2f53d1512bf1c2de5454dd7a56b933eacbe8394de626b335869fcc243188bdce734d9fb81beb85166653137b8a811491bd655a44514f348973c4c62e03311981734d9fb81beb85166653137b8a811491bd655a44514f348973c4c62e033119812656b171f59a625a381560ba8718aa14caa2386a968d156c0645a876738c46727b6eba6441f7c31b3fd8972abd9f8b2c71c4a12feb4f0c8b969f6609e7b210657b6eba6441f7c31b3fd8972abd9f8b2c71c4a12feb4f0c8b969f6609e7b210658b0465d29d530670ede16d72b1f7a9e32b12f9ed804fed8395d0e172394fca1d20fde05c56e87c2cb011e4d1cb513aee036af4cd549631a590f093b8915515f620fde05c56e87c2cb011e4d1cb513aee036af4cd549631a590f093b8915515f61d8a2b6f33539126d7e133323eb3d970f5fe77d2ed62c34e63e4113dd7de84bfc726cabe6d50d22e420e277dc2148d0ee57cd339b8cb145d2049ef073b8f8722c726cabe6d50d22e420e277dc2148d0ee57cd339b8cb145d2049ef073b8f87223799c399122574caeb34634035501e9dddf8bd0980d849f911c6c33971dc7f5acc3ebc3c8486a336f42f8ba02e35a75344e7fca671b3ebfd0683e55eac31ba66f3f08f86f19593ee85e0435268ff828f35ad73f792ee5ab6e5a20998865f3770f3d65566d9fa330b808db45f8323f13f626c492b9c939147cd68b4c274e2615143115581f2bc299639e6fff5fd12ff8dd1149ae6172cc281d9341063b28df9e543115581f2bc299639e6fff5fd12ff8dd1149ae6172cc281d9341063b28df9e5bb2ddd0169e0fbb52e924b00811bededaac35c95b77f4b08563d91f5190b73051c8a4152538319777831e28107805eca8fb62d650da202cf2941c18da2124da51c8a4152538319777831e28107805eca8fb62d650da202cf2941c18da2124da5cba0ab8d0867c5c14d7abb6e17fe366d112d23cabf3d32cb0b4af09037e495a61e594822c2a129f1c48cfb6fdcec969efa1de2a927f2b48c7b684ca7c86753801e594822c2a129f1c48cfb6fdcec969efa1de2a927f2b48c7b684ca7c8675380f2618de8bd9ed4b722bb501aaa738fe87242944ac04efa7e74a23d05343dd8c5e8d49e66aae35cb61ed5e386d3b07c901751bd6a5d4d247c3ad4c05a5d23e04b01bc31760389eff549c3b0398a01398729ad4bbddfd2842635efca96a6680b73f142b99b8ebcccdebaa589f1d88447ebf487f626bd1d853e8faa0d0e36a6e5d7a95190ed99e17357f90b9809c5a0b7fd992f42e61ef2aee34c2de3e1a8ca0fcfa95190ed99e17357f90b9809c5a0b7fd992f42e61ef2aee34c2de3e1a8ca0fcfaafb8e2315d625467c616af1ad3da3b0a635e788bc1d9728b0c3d4e9ea30fa4ec5f2df950c2962f8c9b431d198905614d7684269e91f4fa4fb778844ec8826ebc5f2df950c2962f8c9b431d198905614d7684269e91f4fa4fb778844ec8826eb61a13b9f59ab76d6566e680b70b4333ff354bcf73127a2720bf03e6bdc9dd0fa551249c591369a244cd4ba658238d65ab1cda36650f1ec41da86dd37642d8ec2551249c591369a244cd4ba658238d65ab1cda36650f1ec41da86dd37642d8ec277231ee12e324157fe3ae2ec9d36904cc5e00ef3dd280c26184b499d573f2a9a8232d2155148fb1e32e59a06f56ab59776664b68cf23389b956b1679b8ccea978232d2155148fb1e32e59a06f56ab59776664b68cf23389b956b1679b8ccea976d85a1419a85497bf4c6b931b638fb8bade628b8af05d27670f829cd53bdce81a240f7fa2fac5d4b4d1278593512fd6e068975ff32e1d82d534bdf24127c0e78a240f7fa2fac5d4b4d1278593512fd6e068975ff32e1d82d534bdf24127c0e78ca4e4feb4780ad849768f23dc42c3a5324dc932c378c499c933789ec4c7d31708c01c7655235dea8b2773162b3d514bb8242d0957178f57810110a4531f9b7448c01c7655235dea8b2773162b3d514bb8242d0957178f57810110a4531f9b7444d05f78a395092ed1f0e27e52e2ad0328f91682c91efbcdf61e9857fe5defa01b8da265cec6d8f2d0b3b1b38526ba7fae441ca1d9ec1c1373bae2c19545b351fb8da265cec6d8f2d0b3b1b38526ba7fae441ca1d9ec1c1373bae2c19545b351fbf7814ec091dc8d1c531ff5b46a7d3bc5758efdc44e398a14745e238469846c1ce0484655c4e71a7252e69225000af8fae9e42fcb63807d3192b214fb8303676ce0484655c4e71a7252e69225000af8fae9e42fcb63807d3192b214fb8303676d938709ef68727ab3758932b102f5ac1ac76f59207a60936bfd5e885c94f6f894f21c5fbba01ad2e0cab5999b3d08f0d46b7fbbd05a9de162f502d49d8267fbd4f21c5fbba01ad2e0cab5999b3d08f0d46b7fbbd05a9de162f502d49d8267fbd91d70dc4b47b5cd482c095f84c4aba62d6427ce670ff7205a58d14f09d62757ae9be97fdaabe72870c0ed846019ac6cb0cffadf34403fdb29c2208f147ef7193e9be97fdaabe72870c0ed846019ac6cb0cffadf34403fdb29c2208f147ef71939620e08d69055a99a9bf592113ed0fe3558946be5218379e9e5d3392ee3d1da4285eca249b81f8bd80eb660c5798ca7cab656672f927b8720b5f9478d0090e25285eca249b81f8bd80eb660c5798ca7cab656672f927b8720b5f9478d0090e250c187c556c5c8d3f7291a5222c04cea3491fc19a05e507b9f62f99dc2c9b6ecedec3c2f63f585e9910d2498faa22694f457b5c448084aa88a23bcaaa931cec96dec3c2f63f585e9910d2498faa22694f457b5c448084aa88a23bcaaa931cec96207bb73042211b479b1897a599460b022dcb6b47ea68c997dbeb69863aa0417648713b14cc8e93666bf38e4c884da0828397aec521e9bdd8ebba7c13966eb21148713b14cc8e93666bf38e4c884da0828397aec521e9bdd8ebba7c13966eb2116f3d6161a1fe6934eb5b0667079b608cc5c11e772e2977a16e52f33d6519c9eb919c5c549094fb70d02345ca9df46d1e7f570e611928cb272d6d226be4bbf02c60691e467754827dd815d3eb63b98d350eb0ea9205b6af1a432660973fa093785c328ebf1c04b29359f084e98a3e5c99e7d4938c680243c9fac58d74c3180d3cc153e1b45fe81f25760c6718f48a14b283a5a803fc8e100de49d22b897a7eb97c153e1b45fe81f25760c6718f48a14b283a5a803fc8e100de49d22b897a7eb979b632738f8ffc536272d08149bf2b33b63cc55dd1652bf75e2a9b05d02b6ac5675e9093fc3eb811530c7418959465d0431029b7eb7933a540eeb89035257c5ca75e9093fc3eb811530c7418959465d0431029b7eb7933a540eeb89035257c5ca801ece6468756f8ab62451cf1fabe60df37d9b29fc14201b683f2d33cd0ddd70a0bf4b7d23a11afc4eac874bf253dab3f80931a4161bac59b2f987ae602fe134a0bf4b7d23a11afc4eac874bf253dab3f80931a4161bac59b2f987ae602fe134262fb6b09f6ba0d1fe9d13e5e8b832e27a4671406f6543b8ab8e6790eb6c18e78d345d33985fa46563fc7c95188601799ec84b505de84e0b9bf162b63367db888d345d33985fa46563fc7c95188601799ec84b505de84e0b9bf162b63367db88b4817dcdc68131f537cd836f01d55fb88f5ddd8b8be8658261031381dea8190728e02849f3d3939345031d3bd1da2d065fd1a9ce5af81c5d37c6ac33fd1510cf56d56603b5dfcf38d984109570878b402bbff6de4327a71327e927d17bc44bb5f21cb7e5e29b5309fc0a232230d972c4c71a2b46c4e00a606d79cca47f30c73794e76701151bff24fa0661300e1a3a2171b9e50e3872efa374338a10e8b7999c94e76701151bff24fa0661300e1a3a2171b9e50e3872efa374338a10e8b7999cd46891c0694b3c97c599d3727cd9957f13e29362d372e95c1e4aa5e2833652765bc4ddeb69371a000b737c1105b7d1ed4d1fe44177f7c2a6a77b9062e04daca25bc4ddeb69371a000b737c1105b7d1ed4d1fe44177f7c2a6a77b9062e04daca2215eea7c5ffdec783d8cd83a50b92d24bd0fa3367c2f8c658ec64e401fb2ff27bd896aafd4afa47410ed643f1bad74cedaba23ca9653ae8612d26914459329db5bae1dc48bf828817fb926416a1bfaeb9711361613243ee4d66e76d42ddb8b310347c9b9c3bc9db8c250c122a92138b942a3dc46ca35f43491d4222a84d975223f231faf7ed1c86132b2252f63fd4095238d9ea7d79b36bcca37c2ceff28433e3f231faf7ed1c86132b2252f63fd4095238d9ea7d79b36bcca37c2ceff28433e1061102555162af5846784d2e998acbef0699b80d003f3ba71bec2d881361b3fe935d7d8e8e5de4abd7d9ce6269ae0a37b332eaddf7f9611c9971a0d8a20fd02e935d7d8e8e5de4abd7d9ce6269ae0a37b332eaddf7f9611c9971a0d8a20fd02a6da408e6d4806c6979439a547cb44928ad0d7e064aacb2e819ecf7a9021e3f4dc2c37128b9e65bd0e3d47e61b2467efa6e19afedc64a9725c370317d488570fdc2c37128b9e65bd0e3d47e61b2467efa6e19afedc64a9725c370317d488570f7c6003770937ffe433470c600c41568fcc898d7fb31bc47d9122dd92ae58eebb00f325a53ed7444205f7aea9a33a6a8236a1a5692afc9c74c8bb0f3f9fab3eecc820b2587b5e2d8a0f038110798b6f1e953b419234e50a9964171e366b85d35db78e13723970a47880a572b5990908efe9ba208842f76145989d43a7d811501087c9da1fcc4ad401848d76a02337f7940c21cc21fc94ee733d36c828c546d7ff87c9da1fcc4ad401848d76a02337f7940c21cc21fc94ee733d36c828c546d7ffc00fe049bfa01c85fe53cfb726256c0f811f5fcb419c65a9a9a7e405946b997d127799ee3cc6b4fad2a47cf9eec1bb996660040e5aae0addab785a0207c8216f127799ee3cc6b4fad2a47cf9eec1bb996660040e5aae0addab785a0207c8216fc1fb62f7fdfc2b1a7b3883d771bb938a405ba7ae7326a19ec0930e44a2453e650e7c6b90b9778686c8258d211de81eaaf9410088c0a62af1f47623b2ee3579940e7c6b90b9778686c8258d211de81eaaf9410088c0a62af1f47623b2ee3579943a9f40f0de3f8cf383067d60b81ef9f089822b8e7b53b579b6bb14fe444acc89ea31d081cc6bce09ca48142336a31a5478ec950ceb5dd6c90e764968501c8a36ea31d081cc6bce09ca48142336a31a5478ec950ceb5dd6c90e764968501c8a36fcd250498fcd5fba8b4c0c291ede8a038e63626578b5c51f3e47fa5751939bfa3dbd24ba8b957b4d1181d7992ca7049b808834d8054afe34b846144a750f77d73dbd24ba8b957b4d1181d7992ca7049b808834d8054afe34b846144a750f77d7ca15c296f5c4147946598f0358cb6a3dad14febecbc20a89ecbbcd20987941acbba2ea8b91a18adbe4ec0ab146dad877772adacbec139900bfd3be76b1853456bba2ea8b91a18adbe4ec0ab146dad877772adacbec139900bfd3be76b18534563c645ad68a5cc72ea722778376466388b5e1ca9efb83ce00f6dce2bd0eaecb6566cd457e8c7b69697b7044bf88fbea3b6d3d5bda7ddc55ff6abe786e5f0fdffb66cd457e8c7b69697b7044bf88fbea3b6d3d5bda7ddc55ff6abe786e5f0fdffb7db4eb01ce36c6fee3cdab5c35ed85e52b8835f7e07fe4dfeacb14f4b5c5525ff1a65116c2b10b6aefb4185c92021321c8e5bdf8a0f00b6ac4f658268c807ec3f1a65116c2b10b6aefb4185c92021321c8e5bdf8a0f00b6ac4f658268c807ec39f223de6983fea713cd3e9c851d38736e3ae0ca3aebcabc328456b90f7b9bdf35181ef5f198346ba3427e35f491885e6ce11264ae5fe112f596d1c851cf4f04d5181ef5f198346ba3427e35f491885e6ce11264ae5fe112f596d1c851cf4f04d7b7e102e734f322de3c7eec6513b3c2d2d2663dce9845c2470768718eaba63a0d862dbc0624c7b536b3c674d5657a56c64fcd33029313faafc304dd3e2267c15d862dbc0624c7b536b3c674d5657a56c64fcd33029313faafc304dd3e2267c1585d23bf7b337d0dd6903e36b791f165c42fe3451107ea3f0a1ae1eb09aff1a72889710205d78b25031444a7e145a3a7eab830776880e5a4853a8b78ab2b158ea889710205d78b25031444a7e145a3a7eab830776880e5a4853a8b78ab2b158eae74979808bdf00aed7c12fae8c878f49bc2735ca28b4a805b85a38e002b5453eb24abfd0bea2019bafac1a315d7912771c3ce6640bf2f8a39e1c55c8545859211e56f1f022e5a2d4025cfe7742755992fca246bba621dea42c660814a5a3da16d640ba6c0109872688695a1c55194abf31f23096154e0dcf45b9578fc937a403f76c9effe77fb95fb10750dfab153f70a7f753e2dde5c898ac1c48e8bdc74182f76c9effe77fb95fb10750dfab153f70a7f753e2dde5c898ac1c48e8bdc74182def4788a8dde5bb7b2ee241341c7d5b49bec0d43c136aff945e46dcf12f103d0e419e0d879c852012cffb08e9c2226c4bc10000f7fbaeca34f6db572db00a670e419e0d879c852012cffb08e9c2226c4bc10000f7fbaeca34f6db572db00a67026224a3742d7e3a18ea97317a796127642224060beee001d361ad22eb7ca4a1f76b53c410173478208f3a25f392b6a87c89afeac96c791fc790a10bc5604475d76b53c410173478208f3a25f392b6a87c89afeac96c791fc790a10bc5604475dfe8ef8801879ce0732586faa4f92e0cad6e74e5a01e5d3442f77e7713b98073181a070f2c45f077dd51706491f64e8b2daf91546eafc496c0fb12ecac206d87081a070f2c45f077dd51706491f64e8b2daf91546eafc496c0fb12ecac206d870943070a8f245ca909f8128d94aff82559b5f9c10ca399eb774aa51b1a5dfb7aeca2e9970eb54e5358bcd93bae7385a4b3416a143f2dfa6c9bc3046b174f127dfca2e9970eb54e5358bcd93bae7385a4b3416a143f2dfa6c9bc3046b174f127df5305a94e43fdd664d4b010a49ef6725b0f9e501c60824f976ce487685f007a1c0e77e1cee176c5a24986f550bdc00a52f295a58ad2af2ff084b2482bf65718d10e77e1cee176c5a24986f550bdc00a52f295a58ad2af2ff084b2482bf65718d16c792e1d760c882abce1d588fd041d52050083122a3ee42a13f819f817f43453b7551530561f8c1a84403059f7c067d0df55c200d221fb77985fe7e4ebcd56b2b7551530561f8c1a84403059f7c067d0df55c200d221fb77985fe7e4ebcd56b24ca0f60c7f815f523b7974f613641a569f5a5cde0ddb6c8dc48338eead29dc494b4d38f92e39931e0b2d92eb423e68fe8cb9ec86a2af663f7d201f7f680b4f784b4d38f92e39931e0b2d92eb423e68fe8cb9ec86a2af663f7d201f7f680b4f78393a675aa5679bd726afd6f37dff1d57060653117d2c919aca8f5f2e424359e4dca95a77871495c1a5288b0f6afa06e86d292033ab039dd8528748144fc2a67fdca95a77871495c1a5288b0f6afa06e86d292033ab039dd8528748144fc2a67fa079304cfb4eb97990a912907cd12a26f14417ff5d39cb0e9b08e6fdec6a8f918dac7b9962ca0a8db79e65bc3e8ffbfc9e9c2648a3d7d34e1799cd4c5358878d8dac7b9962ca0a8db79e65bc3e8ffbfc9e9c2648a3d7d34e1799cd4c5358878de2a8477a7f49da9a81d40d93b6df5ae736452a32d5d8283e6baa7e8a2d416fc97af10d74beb4133493c649ff78ef9a718286fc22a7f21775e2803c812db4327d7af10d74beb4133493c649ff78ef9a718286fc22a7f21775e2803c812db4327d00db7970659a080505d9cf9814b13a25e77700826fe7cacae0391a826c2f331882ceb5881f600a15fd377aa0bf6b497caa45e59003ceb52c56e2fe2acec6969482ceb5881f600a15fd377aa0bf6b497caa45e59003ceb52c56e2fe2acec69694be8bc190d4ba569dad81867df3bec72691bbfd0b8d196d1eae5a9343f0a7433727d54929d0c90b464d8f7281151a30aab766febb94e14d444951db18a7ee9d6927d54929d0c90b464d8f7281151a30aab766febb94e14d444951db18a7ee9d691ee1bcffb899a41b68f0289c5d86fb9187e05d878ad48591f64da40c092ad6cfced3b1cc268e88613da2738a60469842d725b6465dbf07b4942b7cf4e1defeaaced3b1cc268e88613da2738a60469842d725b6465dbf07b4942b7cf4e1defeaae9e9ce0be1f1d59bf210e15d0fdd606a5c746d35208226d6c3ab0e53684154d63c53441f9cc9016339a2f04f0c48c9948fda8934530dc0cbd91f08e7268289253c53441f9cc9016339a2f04f0c48c9948fda8934530dc0cbd91f08e72682892585a6150cd21937e6ddb32b1c6f702fd92dbdb616584c6c4b7a2d6996ccc1f713f314d7a42d22b082bb0b5b504352f7681cd201400dc74b33af113d9d0256ede2f314d7a42d22b082bb0b5b504352f7681cd201400dc74b33af113d9d0256ede2d60e78acfcf1b699dd4621f7fe6801bee14d0647d1bd015e4e23286d0a05b3d3772273e868624c71bb3d04915306b20c14975e81cf97e28e38e3a9a116f28b6a3a32746a1d5449454064c3689855b93c9c77178967a2da7f1716089870c624b6c471f62f6d7cd18a7ece19e9bfcdecb7e189e2b96c3f7ac5a27a83c66b7ca6ef258e486d9c4bc458d84cf6426b422aa1c828c5f8e74de7d7cb6f5f5f3687c259258e486d9c4bc458d84cf6426b422aa1c828c5f8e74de7d7cb6f5f5f3687c259cfe1f0fbade23f2f34199fde78a47b87bc086d2242d8fa73ade3062256931efca234b5fc85ab217b4c37082ac5b62a12ec8191908d9a471dc6ee2a6a11166580a234b5fc85ab217b4c37082ac5b62a12ec8191908d9a471dc6ee2a6a11166580506df1a2e4e7afc1412e071ad21bd6299157e35c9b14d17e44c53e3b963afe2a28fded41d6af724d693312398a6b28ad282a5d0685a407a7512bac2a26dd602b28fded41d6af724d693312398a6b28ad282a5d0685a407a7512bac2a26dd602bdb7406b4bcb8d3e64594d2c770ebad117adb1122324805130055847b10bc752ead9803d95fdc68f791d18fd60e0bd667d926995a7252c61ccc07fa0926a78088ad9803d95fdc68f791d18fd60e0bd667d926995a7252c61ccc07fa0926a7808878d100e196977a9d966a1527894e2d688cc49aff88fae4d025d1d882094eca8f34aa2d5d1ca11079cee55e22114f1de6d9a912dd7adb3e6bff86b4973a2b9453c462912f01a3295ca7e8e89c95cf1c445e8d0010748b16857a87a0b3890080da13f9a6b96f172cbc234cf2a16d5792f829a2642c6c546bcdbeaac6e0e9c4c2746743ed2a6d9c0923c1d8342a8fdafc47090bf929e1534f1dbe79a83dbf7b0099006a47a5312ee8da960ab3a312012b94723119d3b53c1d352f373f8533ace9a3d2b7e355c3ee9d26b8bd7533475144f6427afe61477658d8c7be342266f963f3e100c52a99c487c1da614fdc75d9b0623e0453d4bbf0ee1ddd5d7df5daa8ab5ae100c52a99c487c1da614fdc75d9b0623e0453d4bbf0ee1ddd5d7df5daa8ab5a596c7714d5b08bb2a0274afd37ce7b4c369f608fed10d19dde2460210b582b73ce834f3a4015705823dcd1c78e9eabb68ca8c7a9358afb3d8482be30f7d3d6bbce834f3a4015705823dcd1c78e9eabb68ca8c7a9358afb3d8482be30f7d3d6bb60cc12ddecb7ae7b40ec8f491171ea3cdecdc1f1ece0121db2841f4c3c0fe7b178f9483123b952d86810b49d34fd6d86dfeece485de9cff9fcb2a706ddabd20678f9483123b952d86810b49d34fd6d86dfeece485de9cff9fcb2a706ddabd2061e5d55ece402895534f80b2aafeb3b17755d3033c9fb70c40fb0cce6eeabe9d0ef2229da1639de25ea87c2b5785ed85b14a3578486febb38c6041b2dd25fff47ef2229da1639de25ea87c2b5785ed85b14a3578486febb38c6041b2dd25fff4720ef43ce97aa940a4c26d2e8b9c28fcdb67460f5c5be89d4b19994242541b42e5d7e49718528c87c4c31f544df56131730a6ebb28fc93bc5245235c9da5d04235d7e49718528c87c4c31f544df56131730a6ebb28fc93bc5245235c9da5d0423d189facb11f8a0cbda120cdba62328da589e6e4385e52f9b4032fa262446bba8c2cca7799747198f90d798ee2320f5db3982b9a0598a4e43fb3f30687512f7c8c2cca7799747198f90d798ee2320f5db3982b9a0598a4e43fb3f30687512f7c812b936259f098f2675b1a2a757f5e97597669bfd3aec7d70905e3414564294e9726303075f56e1434111eac81ed4d802a1697925e45cf91e682bfa21aa60757d726303075f56e1434111eac81ed4d802a1697925e45cf91e682bfa21aa60757df286cf5963335d1658723089075efd6637a3ebe269ac9c79368f2e625b8ba0989b896468b21db8d611fdb4f865a578738ca0ecfd44c5c780c33cfe13b6f6ea279b896468b21db8d611fdb4f865a578738ca0ecfd44c5c780c33cfe13b6f6ea27a37825ca347d0eb62fcfda8582992cf3a5acc314b816400882a545db172c85a5f33a04d10c9ee0de906e884502ba6b0a4511515329b084cb20616e2a06cf035ef33a04d10c9ee0de906e884502ba6b0a4511515329b084cb20616e2a06cf035efcec1c983d31e831efaf7e6ed4209a0e21f1a6a5a1145229ac2251d1d7e086efc14d730fa79782043063baa5f4eb4fc99daec40b8e5c84c60f9d45c4d5823c31c14d730fa79782043063baa5f4eb4fc99daec40b8e5c84c60f9d45c4d5823c31f568c6ae1fcbf97f7437cb48ed3cd5ed4182eb5e6c485d3f965293e1258f9c5df9a9bb9ec61c342ac32109c22aa73d5172d3b6200ab95f0ba5b7147d3b6dbce7f9a9bb9ec61c342ac32109c22aa73d5172d3b6200ab95f0ba5b7147d3b6dbce70d9dd767d4e6b78d6cc97cc9e82e4f7a34146ee2511ae1bcd006a4928568b16e9a4ee6f388fd3993fdc3b0472914e955d2268e3909ba1f0f6b510c0b19dfe54b9a4ee6f388fd3993fdc3b0472914e955d2268e3909ba1f0f6b510c0b19dfe54bacc274cc10bdc8fdc0ec7a132dd5ebe27fb4c6b5c9b0a258f2172914b152a44c6693419417367e754db344bb0ae9fb9d2d73ee078cb477099f1725cd2f231b886693419417367e754db344bb0ae9fb9d2d73ee078cb477099f1725cd2f231b88993c019f188e2ab6336a0c4ae078f78a2a7522b1cba4d1b36bc8b88194140b96e3883de2e3a38031d70be82f3dc8fb500fc4ba388727e626bbc8e183ca38d5e3e3883de2e3a38031d70be82f3dc8fb500fc4ba388727e626bbc8e183ca38d5e3143288bbe6bb35d70f47a5f8e7edfd993c2e5b90274ec033c4c75f9b3bc78e3248fe94619d51a9a6cc9af4b04b4e133ced7b6a73373240396839d59560e858e748fe94619d51a9a6cc9af4b04b4e133ced7b6a73373240396839d59560e858e7c4d7c203668581f511f04514711a1c620e2f6bfaadb706f66125ecb99b724d6c28f8b450df1ff8d31438d2c7297c585a3cb12f52e40f80fe70c00ef66762ac2728f8b450df1ff8d31438d2c7297c585a3cb12f52e40f80fe70c00ef66762ac27f4e794184f8a11842f410cabd14b364899c0765efb7c6bfe1f620c4bfd24e7ceacb4cb07a1ade88ce54a405cac561a25abc716f47d1b5b18df3ebdc27b306f9bacb4cb07a1ade88ce54a405cac561a25abc716f47d1b5b18df3ebdc27b306f9bdaa455d5fb3a96602f0904568d5f942b397464f2d7aeca8b3cd0b1c5a8f98d04812d219e7ac9f6564c751204856d6d4681eb51c7906559699e44d53c955b7a7a812d219e7ac9f6564c751204856d6d4681eb51c7906559699e44d53c955b7a7a99f7e0363242c2656b3f19c2be8bfbbeb705ce9d8c75b453fb4d3d7305cf60045764a9149497b1158555275e830b1ecc90325be7ef99cfcff905130552e71ee65764a9149497b1158555275e830b1ecc90325be7ef99cfcff905130552e71ee61a29508426812937d26ce8efd4e6a2c57b616098f9966a27f9af6af4d11d20a73405f3a26bcc36ad13ee5636b07582afb9cce2ed610134005bfa17d6bbba6a9d3405f3a26bcc36ad13ee5636b07582afb9cce2ed610134005bfa17d6bbba6a9d982c9c44f4bf0ef94c81f2b53315af7ce0993d3bb50e9bb3fe711e0f26a3900fda14108bc1a699e2b54e53ad66bb497351dba86db2e56b653771e5a7b72e6ef0da14108bc1a699e2b54e53ad66bb497351dba86db2e56b653771e5a7b72e6ef0a9f40d04e475bb452d445f5634523f8aabd91573718ae8187b056472063be357d8294db41671d307fca4d0065cb12bc1b56ad72165a4f916588e49a763df0d36d8294db41671d307fca4d0065cb12bc1b56ad72165a4f916588e49a763df0d36804f3a031c1783679719935cbfd9063f9a0393847055b8aeee2337378fb79835c1ab6ac6c0b363d421c255d04a6fb77e54c267a3f59ec82fd16aa677fae5c040c1ab6ac6c0b363d421c255d04a6fb77e54c267a3f59ec82fd16aa677fae5c040aecf6ce0c0366f7306a94544f12d1759a84c208ff103406b9e82ce277ebf683f1685c03b330418053888d79be777b7bb2c7216ee4d2431cf5a38a63c3754d16e1685c03b330418053888d79be777b7bb2c7216ee4d2431cf5a38a63c3754d16e3fdc856cdd6883429f2f25d0d0c276b334154b4f855ddba3c1b9a51868e158c1e1c967eb958b9930344427016aa25f54b1902b47698a1efab2635c9ccec4e465e1c967eb958b9930344427016aa25f54b1902b47698a1efab2635c9ccec4e465d0629f8ffbc7b16c150de28a2ef9f57e3def51ee642844b24826340c21936de12c12bf479b6fcb544dda6694589065a5087c9813eea52a217a5efb611ffacd452c12bf479b6fcb544dda6694589065a5087c9813eea52a217a5efb611ffacd458af7391305a2da76fba388cd3145ea1b3cf1d01ced3835743e07abaf9c789bfc2c8db4b6dd59263c8c76d73cd81097374d1ebb154a8cc45f73afbb91d1e6c6112c8db4b6dd59263c8c76d73cd81097374d1ebb154a8cc45f73afbb91d1e6c611701248590b0ef2151702cc926a5643b3e360c2ac9323aabdf3e81556d62df14ff6851808481107fb8572cea82b551242718b22ba5ab01c615e59ffc7ea24778bf6851808481107fb8572cea82b551242718b22ba5ab01c615e59ffc7ea24778b36544ab337df310ff8cead337a002a8331500bbc3901f2b007561de5cc9a273ec139d9d46538c25689da43c422cb75e03314ee56a31e13b96fad643c5a601994c139d9d46538c25689da43c422cb75e03314ee56a31e13b96fad643c5a601994c5a63d447f21c833ae0da70f8f719a3c3a1b3abdf2428bd8083e24271ae2ff6ce306b468c10968d463821dae549b7a89fa98e26998d0399b939e26c724102a5be306b468c10968d463821dae549b7a89fa98e26998d0399b939e26c724102a5bdd3943eb360ed222fb8f7bdef31bc033e0cd79a3d927084eef9c697c9ae23c6d2c5d38f6082e6010220f6bd21001e1de9a01a18b67877470c3012115fccfe9a62c5d38f6082e6010220f6bd21001e1de9a01a18b67877470c3012115fccfe9a6b2825ea72f2a03499b073412114d8b13331548b52cd50c51c470a2c49a75f9dbd33a96e4ed21b9c424c84655439e1055889d0c148b5c33c40c543d688cff34e7d33a96e4ed21b9c424c84655439e1055889d0c148b5c33c40c543d688cff34e715326d40cb8b596266c1844b34d4e38dbd745d6ef5b13eafd998712b82f2c61c97fc4ed184ce6778d4bdd7b09861de3c09102b599280fe63a48080bf3306ce6b97fc4ed184ce6778d4bdd7b09861de3c09102b599280fe63a48080bf3306ce6b7b26ae55b657b6acb833424b7665230309df476f9622e85058f409943b8b80a0646408be81c7ef21fa20f0554d946f76f5fc59187522ffb8eb7850a7c8ed726615f4baffab089c1752d40d43ab164c67c30bb9aa3f4f88efd8420e59a503ad51e4adadedc4e88d8d267d3925521ee3c198f62a3e3045e4ed623e5c87da36b31e138dcc5d6cd8a3deab6a6d458b989e5fb2cbdf7016d31aa11d4f58f07f193cc6138dcc5d6cd8a3deab6a6d458b989e5fb2cbdf7016d31aa11d4f58f07f193cc65a353b7d19ae329dc39d3da6bb069a1da1a8308046e427bd7a549bc5b76219ea2ec88df768590770d6de96af417d7a73b1503cf5d0effc383f5a9918c337975d2ec88df768590770d6de96af417d7a73b1503cf5d0effc383f5a9918c337975ddd80e87c9efe674fcfaffb1b618df39c65203eb9c797be197836004273fa4555d8782a0405817e6ad94345461c12316886a0dc5a4e0b6aba538860dbebf76de9d8782a0405817e6ad94345461c12316886a0dc5a4e0b6aba538860dbebf76de965e49d441ddfbe86d1fff3b1a282922f4e07f5e6b2a1b7de267f5699187608671ad155c64102d336170816bf4f2b2b5a1e44fed24275edf992f39b8cd6e2a8211ad155c64102d336170816bf4f2b2b5a1e44fed24275edf992f39b8cd6e2a821180150ab3978a5bbcbf2865ad89a0c1321311476265639e80cddf62869c4b8d85eb53bcc1a31f127de81391af9dd0f39ed57807306450ac7979cdcd0ba4a1d435eb53bcc1a31f127de81391af9dd0f39ed57807306450ac7979cdcd0ba4a1d43b973042479c329c201cc87836a24e5568ee1dcbe741d6b45ada1cd11aec8aaf38036a931198b36e398114fc3f80f3cdafc8fb73153524fbdbc899f84d50349338036a931198b36e398114fc3f80f3cdafc8fb73153524fbdbc899f84d5034933a4c758b519ca93c0fb91d9a1814f840a23dd4e5e627c1c2e30ad982293a4d8fc07159c43d06928133b095a9a3ee733ff8069209788e14eb54f9c383e5b0dfbe407159c43d06928133b095a9a3ee733ff8069209788e14eb54f9c383e5b0dfbe4e4006446a570f3f42ab816522bc72669f84c95d61fbdffa1317b53678e1ccf228c9dd5ba0eed8dfd843097681f5fab099a3a28270c3ab644bbab04107008b2168c9dd5ba0eed8dfd843097681f5fab099a3a28270c3ab644bbab04107008b2169072ee06661189504acb6bf295480177c1dd1a7d44ff20cb713629988a4295f7d5e06de522fc31e7e91a7d1bcd79b695e40e6194b4a229ccb5be1ae60d6d90c9d5e06de522fc31e7e91a7d1bcd79b695e40e6194b4a229ccb5be1ae60d6d90c966c84926284d2d1f4f37a8bb3b43a66b8b6009d36980e8b6f8f2d652d40a4ccaa4521d0f53dc0de4b895c043356c3d022c3f913ed622c115bfbeb983fe202784a4521d0f53dc0de4b895c043356c3d022c3f913ed622c115bfbeb983fe2027846560e341ed77f740579a35f80bcf2bbdc511faa59a8bfec235821d05b815531f35ee5ae41811322306a9953de3d81121e138ef53d94e6a82a7db5ea866ea49c935ee5ae41811322306a9953de3d81121e138ef53d94e6a82a7db5ea866ea49c915c398426ddb0c2d85b234b24a588f9e96fd9f1ea4c139e4bfdb66ea852b618258c1848717384bc6fcbff9a50acfe1cc9b7155ba0d165c2fae9f9ecbfd8be91a58c1848717384bc6fcbff9a50acfe1cc9b7155ba0d165c2fae9f9ecbfd8be91aa85cd43e69df6735f7fd9634939de891b9c87fead51730bb413ef97b9c9c952edda4316e5ac52097f5dbd94b2556dfc6032d06d771eac6403b90ea038ba9d394dda4316e5ac52097f5dbd94b2556dfc6032d06d771eac6403b90ea038ba9d394f5ab2d240273ec7018f29b76744f53f1a4a5705d30202a9039c8646629680aee11bf65a01d3eca46786c774e806206881480bd79e0558d09b667e428046fba6711bf65a01d3eca46786c774e806206881480bd79e0558d09b667e428046fba67ef7c9321f199320e086079c9f764a65c7190ebd0597fc3b36a2fad682046d4769be06b528bcdb29fc423a8a237759509fa7937006e052357544d7c48b740867e9be06b528bcdb29fc423a8a237759509fa7937006e052357544d7c48b740867e10650bc71415cc963528505a4eff2c98095aa8c57ed661a0bee1bdb7a01b140258378fa540b7d55483c5b48e10afa5e1f0929634429b6b8b0f2f4374f773d24058378fa540b7d55483c5b48e10afa5e1f0929634429b6b8b0f2f4374f773d2404513bd466e148b8a133e28cf5074d557f9840fcf475108d710d58bc3eb9e4c50f6a4db75a8b92b1af208d05e973e78b5068f9ccf3aebe4d99de98f40422a24c4f6a4db75a8b92b1af208d05e973e78b5068f9ccf3aebe4d99de98f40422a24c49dd6a1cdba476f92309e836b0ec4f375bdbed4fddf67e6f4c0ebc7e0a87abb5d86224ef51736b184b72d1c6b55ccd76d3ffcc106f407799cacd6ad9b53c24cee86224ef51736b184b72d1c6b55ccd76d3ffcc106f407799cacd6ad9b53c24ceea0e172458723d3ef67433a86a336dd34555f0c0460525dfcec90427ddfd08e1990426f83e419589c41733f12f6945f4326b84fc22a922c981cf3bbbe6e3131cef45484b3b5fd2c4e9e5bd783f217ed80512984328c399b08c5fd53bfb5c09b1d0cac790cac0fe262c36d94be3a10946384576f5ab534b135f0a3084e5f3e662ccd9cdc3aaf1828a8c7d746628932dded94dc6d53ee8fd730aa84815d194fa0c2cd9cdc3aaf1828a8c7d746628932dded94dc6d53ee8fd730aa84815d194fa0c248c96b9ee40f1479a028ed9670b66bc3cfa7ffc10f0bc348bb964975d5a917f2211a494162e6dbc6f9551ffe12fdc2b8c53e0dea44a9b84ca7dd4aa2dc7b7e33211a494162e6dbc6f9551ffe12fdc2b8c53e0dea44a9b84ca7dd4aa2dc7b7e33376db4cf8539ad3256a0ff2cb9c7dbb25a3ddc0014814136cf6b0c3b13fdd4e17b4180e16512a6320635d07cf2e1818f2538f9aef658093b6cb269f9e0fe47467b4180e16512a6320635d07cf2e1818f2538f9aef658093b6cb269f9e0fe47465c3df0b0957edcedb30947fe7275ab161e7a206b41fc32d4d5ebcfa9e7a73fe564f3c935f400ec221cc469db63867d2a46ebfaa9e602c4a9d178a4496fc1431964f3c935f400ec221cc469db63867d2a46ebfaa9e602c4a9d178a4496fc143193fdf844288f27f7b18c8ceda75714207aed20fabf532127bf300fc290a49127feaaa0bb024315f9f586ae924d5cb28236f1f28bbefc8b0aec83d69f8fd6979adeaaa0bb024315f9f586ae924d5cb28236f1f28bbefc8b0aec83d69f8fd6979ad08309481dbf409dc5a218e6eabf2cb2d6b37d680494130a04bd2a84b50b52ab163b30d4f275f69b2d9102a68426021c0b53edcce7782c691bedf9a6116eea62a63b30d4f275f69b2d9102a68426021c0b53edcce7782c691bedf9a6116eea62aa961d4de1fc1021c97a00e3ecf159239440b746f00c95ae1b6d1b497590b9296d88342b3d12f8f34770114bd136aadc2095f2b9174412cdc59baeeec0ca61711d88342b3d12f8f34770114bd136aadc2095f2b9174412cdc59baeeec0ca61711276d8efcd1fa00da8cb0f41a78b5fd4976c77a776b0615f7753a3719cfd394af2d380f62a1933a5ad9b1ebb77a7551690e7a3fefc5844a86f2dd43c44ccf5e862d380f62a1933a5ad9b1ebb77a7551690e7a3fefc5844a86f2dd43c44ccf5e86d4a1c09687d31042a05d0b0003d50841bad0cd1068d3f85ee42fe3849583bd57d720d577302676c937189270a48d3b2a86325d580bb6b6862f65309a460e479ed720d577302676c937189270a48d3b2a86325d580bb6b6862f65309a460e479e79c1715909603177d7799356d21557add7117884fa6e47a06c84884894a735498f445db850147ccea5cf67b349b18cfe8a82784cc95bfafc2c4fa98993dd01b28f445db850147ccea5cf67b349b18cfe8a82784cc95bfafc2c4fa98993dd01b279b408b2b831b0c1a76809d9f919bde5fc366cc65889cf64710e5518eea7acbdcf1b881f6d6eaf4bb7a85fb8e159f87445dd384881db8a1b6eca6f89788c7e45cf1b881f6d6eaf4bb7a85fb8e159f87445dd384881db8a1b6eca6f89788c7e45fccdd10de78b4223cbeb71d288d8ad530c75b99cb590d4ea068204f328217a688caf9d1c39f44cabc9d2b1c9069ebf437330cf6349a9ae95859578c58f11e9208caf9d1c39f44cabc9d2b1c9069ebf437330cf6349a9ae95859578c58f11e920d91f3f8da496cce3a3ec42a3a722ceee3e9e37f0315ee6e9311a5e7c8d9f8f7a57ea16ed03ac65aa8c3245ea37ca09738df6e5bfd0ead11983de5ec6c12eddd857ea16ed03ac65aa8c3245ea37ca09738df6e5bfd0ead11983de5ec6c12eddd89957bdbe760ce2b232c65961c2a042a5a8c5e20632bc60a247ca2dfb3b5b59997ec06b461014da8ba21bc290f71a4d7a0df510f08c91cfbf003a059caa37ca1c7ec06b461014da8ba21bc290f71a4d7a0df510f08c91cfbf003a059caa37ca1c1fc4497b515de787b0610133cf99512239af3cf44c4e968ac19f1aafb11964c42391de06e6dcb361ffb81ae570b7268d8f4ead229938d7f98e0ca5b211d5c47a2391de06e6dcb361ffb81ae570b7268d8f4ead229938d7f98e0ca5b211d5c47af39eb732acf50f0e0b0d653731f0231d214f9ef353d7315392922e4cfacdfa6b1a3b2bd6e677295b49b0d9e280d3cbc590e90a8ed01762410c9c30d1e51b7fba1a3b2bd6e677295b49b0d9e280d3cbc590e90a8ed01762410c9c30d1e51b7fba5d29bb140d8dfa95f274883c593bb68d1ec875d4bc3f656a0be899076446a95fe66730d4776f1bcebddb2f5dffbd94deaf4aa56d4261d5a44ecca11fe04477aee66730d4776f1bcebddb2f5dffbd94deaf4aa56d4261d5a44ecca11fe04477ae3b075b93eaba5de200aa68fe37a3e8eec0967d2e4c27a77b837ad30aa887067c5e170e956e06e73fe93033d8ef5f146c131d6f07325a90db722648d05e996ad65e170e956e06e73fe93033d8ef5f146c131d6f07325a90db722648d05e996ad67d683325d35a31ca326e430c0476563393804bef92475b6cbf0fc8ab4fd730d6859da78474ca5ec96db9721798150810dca56a8d89b31ad0dc691d76dfef6cc3859da78474ca5ec96db9721798150810dca56a8d89b31ad0dc691d76dfef6cc3e3807fc51214d35c0089dacf3a69b7e0d4d978df162f635639e5f813e5263f8bbf3d72ea4962bbf3ab96b87edb314442beb381cac48086c5f064cc8674e263dbbf3d72ea4962bbf3ab96b87edb314442beb381cac48086c5f064cc8674e263dbbee46b807e6809566874e09b00609ecfb913318735365526c653e7c9e78a78760e885fdb373aa4853ea1f163f3b0816d75df84b53f98d39c5389abfacb3bd017ab2899a55dfaf372bdbb030f01a3ea2d0e6832549e2ce9eeac1b31b2a548b20251c1b52b832a4a91d27ec5330ee00e865d6a01cbb2b59def9e403a64acf42a747053db9b107075410bfe8a19f6d0a6659be9a1f1bf9ff00d87eb131c03a947f07053db9b107075410bfe8a19f6d0a6659be9a1f1bf9ff00d87eb131c03a947f0f2fffb7f8ccc0ca9350499765158d67d74fd674bc0eb6c2f0953ded0194c058b8f8890f4b002e8c8fd9916defd90fd60dd8904269215bebc0c4f90ed598d846f8f8890f4b002e8c8fd9916defd90fd60dd8904269215bebc0c4f90ed598d846f25fdc57c2ed724278753bfd25d361f2f2f8727dede1784ff512a72f3826563439d8ae1d02f37285b17dc6a9c60aeb56a04f781050b08646784418c976db562059d8ae1d02f37285b17dc6a9c60aeb56a04f781050b08646784418c976db56205d7bbd3978f889074d620bb849e021bf06e4bc8a7cd10e054ffd726c79ab8ac4910af67a6a16673ac0de6dd95cd34f01f388e9e53492b0ad5b3861bef6c67881010af67a6a16673ac0de6dd95cd34f01f388e9e53492b0ad5b3861bef6c678810d22c7884424f3c5a2cd2c074ed2d43a55c6cc5a90fee76785e443d7cadeaf0e3393a94176a5effc5d0e16ea3c36fa3acb51bdccc7120bf00a3fcd0cccc54db90393a94176a5effc5d0e16ea3c36fa3acb51bdccc7120bf00a3fcd0cccc54db9032daa41ffaec698b966924a4cb2fdeab3f5874a73538b769481dfd31d396f2a7df515f7237881eef63e2acba87cb2caace946ffd367d1fa56582e86b434060e2df515f7237881eef63e2acba87cb2caace946ffd367d1fa56582e86b434060e296d5b30876b20c41125837e13f8725d2d7efedde3e655673edcc1fc98b8bdaa65489b845bc0a96ff210d1f95cbc8616fdbd36d96e4929ffe82814b3bb9b497065489b845bc0a96ff210d1f95cbc8616fdbd36d96e4929ffe82814b3bb9b497066e901bd4e493590b96317bdd8555294f790ab3565b7d0f3b37d2fa69ebc2e96e59f49135b9e0cce44c86cee293620b755903194276df3d2caf4c8455a883d19c59f49135b9e0cce44c86cee293620b755903194276df3d2caf4c8455a883d19caf82a1099884370e24bf55b9cb91de797ff753000ee59138b66199291cf32d916458579cfc2b93a38a14211d35b42e49f5f3445a1519319ad9fdcb46d70b39556458579cfc2b93a38a14211d35b42e49f5f3445a1519319ad9fdcb46d70b395557ae9272acf3ee3b62332f456bbc3e6e6857d2abef41cd95c48440e4466f53ca570a6c0bdfe293b8b02c76c21446ddaf02d43fd81212e32654a06f4009527fe6570a6c0bdfe293b8b02c76c21446ddaf02d43fd81212e32654a06f4009527fe6388499f6288e71a9a0b3691491c35e67caa3a497e8ff48d59b4a1b43748ed23cca9eef4516433de961cce249c059a282a3550a442f3acc4323a6075799953b0bca9eef4516433de961cce249c059a282a3550a442f3acc4323a6075799953b0b3395dfb1cc9b32e1abe34227572cc4a8bee00484182a4178d1f6a04391a8a617ad5a7027d5b946143fcdae2e0402e7ad7a6eacb360b75a03330f80b88028099fad5a7027d5b946143fcdae2e0402e7ad7a6eacb360b75a03330f80b88028099f2ef3de063dd1ab8d73dd8fd8f2608a26f8328c67e95c5469ef9f4c8b47fa60cfb039d76e3e4f0a594703ce9407e41953b35296ef5718e1287d752e3dd9233df7b039d76e3e4f0a594703ce9407e41953b35296ef5718e1287d752e3dd9233df70d8a81a2269b3b54b459d758187a0f7125284b482a680820379ee3c510cf9f93b852ac1e34ab42c974059a6a1fa941cae1998592240ab47d12c9c950c2b2a976b852ac1e34ab42c974059a6a1fa941cae1998592240ab47d12c9c950c2b2a976db529fbce3f56b6a90f1dc533707f6f6da7844d1f7b0a80702042617d6061090f7755b820bb061a621193f0a6fe12a0b9599a2f7afb32ced628f9fa562dc6e85f7755b820bb061a621193f0a6fe12a0b9599a2f7afb32ced628f9fa562dc6e855b7ec58e8c6d933b1c0f09abf0ce806e8e6611352347b719b42f020bddd4cae35a890d83ba70efde94f1d336e5ece6c40076f7557a549b92dd85d8a6d619ad425a890d83ba70efde94f1d336e5ece6c40076f7557a549b92dd85d8a6d619ad42f027ab95caf3f2fe6e00c467ec518705f09fe75df8e2d134978a7433455dfb4e42e9285a3e8710828a471fbe501d6ad80f02475fbdfe9375ec298a1e542a13dd42e9285a3e8710828a471fbe501d6ad80f02475fbdfe9375ec298a1e542a13dd5f0fd027d7ed2d6458c3d5273646df6a283ceb282f3c7a10cdbf74d64a26715261ccfb466d6f2ce1d9e8f733dc989b351213b4815c39e52cc4ead7d10209277161ccfb466d6f2ce1d9e8f733dc989b351213b4815c39e52cc4ead7d10209277104acc1aecf350f9d1ee89760c4102aad0c3d913e87928d985295271f6b7fd04674ad4da3260feb70c395ea4c5c5e5fbc9c35ec69dee7134d830e57cda352032e74ad4da3260feb70c395ea4c5c5e5fbc9c35ec69dee7134d830e57cda352032e0a78234ad042d2798edc46f852692eaa72da802269028b89b7b2a45b2361339b62518f9a08d6dc41266f3f2c736533e8ad5db3f62509b524b4d4d106641a17b862518f9a08d6dc41266f3f2c736533e8ad5db3f62509b524b4d4d106641a17b899b9895bcd7e42e2895222560c8c22b4ca1d6d7ee7f56e88ff183c4f984c0269ad50fb5f5cb9c6837ae4b293cbd3154a0a8ae669cf2383b1d0b4b776e8074165ad50fb5f5cb9c6837ae4b293cbd3154a0a8ae669cf2383b1d0b4b776e8074165dd147d53e605adb49b67911a5f40c703dd21fa3c6191017e595b50aae68eda614a8cae601d9118e9005e8fdf792ff6fed4f9f167fb108581e31bfd14b6d2106b55030d9c7801c129c983b32cff4c2f38ba64f03e031ab2b4b7ed367df72976de253b848db7ffed9369fe831ec2977352f39ec6436a41ee3a18da9b73729095c4159f93dc9756a0b517d854b5ac47da5ef9688372fdc853b4e8e52e0837efacca159f93dc9756a0b517d854b5ac47da5ef9688372fdc853b4e8e52e0837efacca01b8011e4f93b0d6b6902e81b095da389aa19dcb3e7779dbb11c55b820d5df95cdd65135d73b0ee338e7cb038de7cd2a807f817030108036235e2a021722aca0cdd65135d73b0ee338e7cb038de7cd2a807f817030108036235e2a021722aca07129f41c65b809675ddf1fc1f01f6e0971c6c77966721ef01a153bb748d9e69584978db12790f4cbe720ea52c6da20cebae9d856aa538c613aaa722397052e1c84978db12790f4cbe720ea52c6da20cebae9d856aa538c613aaa722397052e1ce972a4c65beec0e487454f9c84291d567cdd0b523ebac01b94653f785056c9e3ddc3b96fa8465afb01cfdad3c55a5e8f26c12bf1827b5498cf319def9fb5daf1ddc3b96fa8465afb01cfdad3c55a5e8f26c12bf1827b5498cf319def9fb5daf14439b8c4a58a4432a0abcc52648a2c1a08d1720a6d301c5310d1a0586a59b0df350563626a66bf9d0db8cc35885a1e657ed5e22b44a2bab0f517d3b69af637c7350563626a66bf9d0db8cc35885a1e657ed5e22b44a2bab0f517d3b69af637c72d8c7f298390283528a2395751f0570ed090b0e845ebe3af1aa23daef8e026feb216a1cb284d6421dc2e1ab80eda05c361eeb284ad20ec042c855f73f7cf04dab216a1cb284d6421dc2e1ab80eda05c361eeb284ad20ec042c855f73f7cf04da491172f02c08e68472027131ad17f6722dd1aa83023e8dbb0dbed864463e97576b8caf4b58a4d274386f2d02d8befde356437827dc06fa51a83cfb879a515a116b8caf4b58a4d274386f2d02d8befde356437827dc06fa51a83cfb879a515a11707ac117a078da08190c4c5e27e1a3c28763b98b280f08c07e98e3c45d89867e5201f002084b46387621ef8faf4017795a89114a23137774fc37670a46eb260a5201f002084b46387621ef8faf4017795a89114a23137774fc37670a46eb260a60702b9a49156c0eb20361e7d398997fdf6b7385f1394dbfc2a5e7f04d5ecb950b109718e3fea5cdc485d361b2e6cbe9332a83a55d69525fc888e5990b25dd5a0b109718e3fea5cdc485d361b2e6cbe9332a83a55d69525fc888e5990b25dd5a1e351960480bd1b76e7ac33ae1b7d86fd1ec80edb3e0d3f303783f1ee1a900515f6d8287c5fdaa8c28a95ccfdf6498613c0745453aa46575b7a84c8d6763aeb55f6d8287c5fdaa8c28a95ccfdf6498613c0745453aa46575b7a84c8d6763aeb5d313a9bac527b4bdd7d0f7a6a24a85da625c6dbbaaa8c3539743237728587ba8628ffb0499a75840de6a8d6342ba95741913130171a3fd0f0487bc20cabf43dc628ffb0499a75840de6a8d6342ba95741913130171a3fd0f0487bc20cabf43dc5b383c2e5e3ffb8fcb8678c6863c03ece1db5be915af84403b428f15ddbf1692fe143808688b51041df5e0bb12d69f358bfc58636b3775ebfda89aa8452a3882fe143808688b51041df5e0bb12d69f358bfc58636b3775ebfda89aa8452a3882f1fd62ac9f37efa70df8c5e141088f23773e6724ab5d6c359e61dccb911d408f1b47821944b7d76f12b3a4d703cb22932995c45e8211547603192546fa1971803731112dd4fe92c0eef3b9b652b1fca77ba05e65238b439f53fd67806173eb9f61f2d3a98f9244f275da75c3dd483bd4f581424b0054a1207a79057e9dfda7d5ccb30d47ba429f144544b9ec4b51f6393f4ee2c3939a245d3d7acf6a46ef9b50ccb30d47ba429f144544b9ec4b51f6393f4ee2c3939a245d3d7acf6a46ef9b50a4dea675c74b948df751faaa2cdbf7fea45d1c39002c11354e0ac13bdf86d4dd3d1e8e8c8eec77c059c8e3be4c4e2d59450a5b406304252b8a06ea3f1eb93c8a3d1e8e8c8eec77c059c8e3be4c4e2d59450a5b406304252b8a06ea3f1eb93c8a3fd4ac10fcccdaf6b359f7c43d2784aa9d81860880f4471641a6581976168c6767a5a29f58743b4a6b2ae10fb4d844c0a7b9f5d8469f9adc2d8e61b862b2f6a967a5a29f58743b4a6b2ae10fb4d844c0a7b9f5d8469f9adc2d8e61b862b2f6a9cda6b19be53b7f455fd77488c41c73f9405ed7652c70a433dd42ec8f081c2532a434ce17fdc0d63869caaf0d8096a7fc75a521b4820b441ce91e1114d5c99d5fa434ce17fdc0d63869caaf0d8096a7fc75a521b4820b441ce91e1114d5c99d5f7c25628bb6b1f6cd3a4356ea824cb669be7ac3e128f237d16320ca2856b2005461dd590c8a7c160969c2fe377b26e306eaa6105bf33f6c1f03e146dbf594efa761dd590c8a7c160969c2fe377b26e306eaa6105bf33f6c1f03e146dbf594efa74a9f5aab5b9110932ff16c02b7b69a9013a4aa56706ed2d100a07cb4e7bdf1702463d2d981a2a7e59507d34ec982b62f723747c33dc87297cf63f5924a6bb9692463d2d981a2a7e59507d34ec982b62f723747c33dc87297cf63f5924a6bb969229dc5b6b3ef33d9b1383b4927ccab1be56586a02bc6472417ec1c07630d2d3ba6c34035dfa698b1235b666680b474b8e226f1cef2ca376b5b01e4aeca1c028fa6c34035dfa698b1235b666680b474b8e226f1cef2ca376b5b01e4aeca1c028f9a53395858ce9105d8ce48c82eb5c1b7d003f162ba2c5bfdd18536c84e4640c00dac22fbdb57f9ec1c060c056da9e99c095bb2fc0e657b620e3a207ccfa33a000dac22fbdb57f9ec1c060c056da9e99c095bb2fc0e657b620e3a207ccfa33a002e0603063a1b6733bc7036df47d298530334666be0eff648b584d4530a9d1163f834b04c2fc3f304306e06c294e69c8c864493ef9b932e0c311960d1f9ad2856f834b04c2fc3f304306e06c294e69c8c864493ef9b932e0c311960d1f9ad28563b79c5d1bb4373d0d38846b56c3353f176f5cd20b31e5ca02ebd5f5f4bfa8cf829d9e8dbdc29ab03f608ac3e51cc4777c4b75fbd89eda8529b43cd4ef101a66b29d9e8dbdc29ab03f608ac3e51cc4777c4b75fbd89eda8529b43cd4ef101a66bae2517bba728a41f2aca5dde27072f2ae9361ac082c4bcb1c62d70b3012b01c9594a4e318fcaf777230560857c1209c64eb9a96a995d1026a5861b9442b7a7c7594a4e318fcaf777230560857c1209c64eb9a96a995d1026a5861b9442b7a7c73627ebd051927d6e3fc2cd668c565074162cafb5946c26ceae3c50079bb0442bbdf94b2fb20d662ef04cb224d775bacc492b281e97779f812170ea3d6aa42ec8bdf94b2fb20d662ef04cb224d775bacc492b281e97779f812170ea3d6aa42ec81ccb5d8c5ac2d52f4cfc846d48bfd1e1f5906de7b42ce13104ddb221d8c849948b7bb7734ceeaf5294af3b3470b03ac69516872fc8956dac34d640b6ea00c53e8b7bb7734ceeaf5294af3b3470b03ac69516872fc8956dac34d640b6ea00c53e39d063c1f063e652b2dc7dfc735222ef6e877d49f3355a6b20cfa57d5f633ba803b0451141c25a82e82cdc54b3c06d5b463e7bbedd302ea496aba9ae5379e55e03b0451141c25a82e82cdc54b3c06d5b463e7bbedd302ea496aba9ae5379e55e99e879485ecf9854e48028b247cfe6ef7cb93cc1460a10759dfe42fc65ef5964e95d5073f859c301b9091445a377d9dbfd7f05065178d4252972f949d97f5673e95d5073f859c301b9091445a377d9dbfd7f05065178d4252972f949d97f5673f89fe6c8c1422c4ce6cca9a21f9b43270febec39959de08c1d79f814cc8a47dc3c6b41bf78c75e7eb3a405b6c7e1937fa022c0c75eb0b55198f133e67cc640713c6b41bf78c75e7eb3a405b6c7e1937fa022c0c75eb0b55198f133e67cc64071ca827887c7c3cff5df916f04877f5a3a4b72816afe32feb5fb13ef599f0d7d60792d980134a4d62c787a1378b3e4dbb126a977ea80ef5e499ec47798d1022e4e792d980134a4d62c787a1378b3e4dbb126a977ea80ef5e499ec47798d1022e4e857242bae2d39aba93d8fea3c49b7089c0563171b632a291258bb28c152e413c6a74c5df8e692f96a17f9c3d4f19232a728ced23b8f4bec407d8e5cf73cf7a586a74c5df8e692f96a17f9c3d4f19232a728ced23b8f4bec407d8e5cf73cf7a58f9fe2d8780782513ee395565ba5cad1d9ed02e5214e72f7c97e2102ade1513c1c1ff59322ecbab2e8787a51fcab491292ae736c7b7cf92922fd6f81a00a86cfec1ff59322ecbab2e8787a51fcab491292ae736c7b7cf92922fd6f81a00a86cfeba4bb1013af882bacc31b916d13955f6562a80a95ead2da950bfd5101436db95f6c2bd705be494a803ae83a127b9c93125152e2397c6fd92e9f2c1848c44a35af6c2bd705be494a803ae83a127b9c93125152e2397c6fd92e9f2c1848c44a35a33b7c1222cd9308cd59b3c3153405b0736159599bd7ccbfb56a5f3ce461eb163ac7495cd90e9650e6db69b7def17428aa9235d45759db0dd980afed212eba37bac7495cd90e9650e6db69b7def17428aa9235d45759db0dd980afed212eba37baf8222afdc2fedaf7ebe09c2a70e8c09b46ee793dd37aeb58cd959c49fb1829e04e0489c678c8790edff41131ff303ee8896dc814aa098f7597fd762790d8558f6e2355040c3f6ef1001a3af67aba310adc250ee6757b2afcfc29fce35193415e1e46806f42b93bbc3306cd2e61f2ae1b4b87a194eef03cce575025f8a017ebc3a3426796291a613f086d4deec43a91497f1b47fdf2245cb12189e8fbc041b053a3426796291a613f086d4deec43a91497f1b47fdf2245cb12189e8fbc041b05f39f44a4679cd1caf07bde0c7cc764062945cc30376532b030814a8d1c0687bdb0a5110b255fe15ceb9dac0b104f9b7dcf0979c6ab9511503dd3d85f3730329ab0a5110b255fe15ceb9dac0b104f9b7dcf0979c6ab9511503dd3d85f3730329ae0a5c4c2deecd7a9181e90bacc1eaccc714170b151cb1cf4ad0f91af7451e8990cb8db2f3b9ee1147cde1d82a5b394dbbfec6277777d0279656d59cd27ab034d0cb8db2f3b9ee1147cde1d82a5b394dbbfec6277777d0279656d59cd27ab034d9bc27afebdf8dc26c3976bee2d33e5e48cf2dae3ec873b056cee8d06a26a0bb36dd734960df72763779b320c50182caa809894faf0d39080bfd29e2d25e38ba26dd734960df72763779b320c50182caa809894faf0d39080bfd29e2d25e38ba29a0fbb55004015fadc5e7c52d1a2ed4f6dc2f5cced59f99f402a0fc2e46619f28d30b1c4896ac4ae10ecb347167b322e0e41d7bbdc7dec2d27fcaa2bd3c556548d30b1c4896ac4ae10ecb347167b322e0e41d7bbdc7dec2d27fcaa2bd3c55654c4c89797d36a3129f28e9454de441753f98aac05ffeadf6c3a39f8a3fb13d2380411428b40e5467fee6b4ce6bb68830c73d1bd9096c14ac3af6e08b2bf70ee5bfc70067aba1f60459fd5845f7c72e5afbf7d3731329772f9585e974f61f292249284745e711edf665156e6bdff491c049197ec048f07ce00385723989dc8510758081d6e4e7218e3c1afefab7a70b06153bd0f61530e027cbf89d6a1f36b040958081d6e4e7218e3c1afefab7a70b06153bd0f61530e027cbf89d6a1f36b04094cba08848306d919e5ba23639f0468378f2f4992482094524aa5df9338066beaa0cce5666bb6ba344a32dcce43b217000d61c799cc4745c8447d3615333f6bf3a0cce5666bb6ba344a32dcce43b217000d61c799cc4745c8447d3615333f6bf3745f484d75b9d0991e62ecd8f195e63e87bcc768bb514761931df49d3967770512fe9de6b0d9045eb2e2eddf85ed7399882e4ba3683a2806cbc62dfa18ac6a9312fe9de6b0d9045eb2e2eddf85ed7399882e4ba3683a2806cbc62dfa18ac6a9373366016cc72764f68f3aa34b6092d547258adbb4013d105cc08309c450a06d9bee5f545eb36ef39b51dfb3d3180130b69a4dadd8163d2fc547e28361eed5c8ebee5f545eb36ef39b51dfb3d3180130b69a4dadd8163d2fc547e28361eed5c8e9b8285183531187b894388d321eb368a96879cf425cf285e9d213c6bddecd45c9572c9479e9a0cc62b339f45d880ddd6ac0a89eaf60c7e28b8c6a275e5d724059572c9479e9a0cc62b339f45d880ddd6ac0a89eaf60c7e28b8c6a275e5d72405bd9077a729996c6ba123fc3d80b5e766124205bbc47bbe5de3dd9ba87c3fe6b8e83c951e1d57ad5b147d70018d94b19aad8996bc9984f22d0a02120ff8b78874e83c951e1d57ad5b147d70018d94b19aad8996bc9984f22d0a02120ff8b78874577f44c5548efedade27ed61c80b7b453b0807d94c477585497cebecd563dc96f00294e92dc58d5988ddd70c7b0ef839f12825ed35ae7ba6fa2af709577d5638f00294e92dc58d5988ddd70c7b0ef839f12825ed35ae7ba6fa2af709577d56384b7ffd754b12f882c30c366b60c5ee301b80379206d4e89a19c03424298ca6b985b3006c9e15e222f3d54e4c6e401b79d5bdb8f19a1a38517fdb8f4c6ab7005585b3006c9e15e222f3d54e4c6e401b79d5bdb8f19a1a38517fdb8f4c6ab700559b88243d0b985a0679aa8c6e7d620e244e9ad68efffcf0f98461e7c4c4c1e2e3a1d44ff1aafeb8ba97c70c2145890b31825fae6e9c570779dcb07108ede32b66a1d44ff1aafeb8ba97c70c2145890b31825fae6e9c570779dcb07108ede32b664eb152a3e36ea71df4221ce06a04f54470604c799153375a6c159700f7298f6cee9efe4d4ffe07c7393d7918dd1c10081e7c9846266a96251f4929034b3b6609ee9efe4d4ffe07c7393d7918dd1c10081e7c9846266a96251f4929034b3b6609b307a453da7044c3ca573bde840cb06bd29cb65e01f9d503850d07865f4f83fbc5f32785fa5838c0d2cac8995cb5d8108a8c57e42a65235f33ff9e5f7a759be9411404c5377ff0ff75fd81f79fe44635500766b7dfc0ecfd4c6ea1e6f97f1874a926399c1c04c0be696cb2433b8b8c5994513007fa255b135bef7cc7f3cd943e122dc22037970d9a41a67845a5ef0491a321b0e830559676a69fdbcab3c6b0e6bafd1e149ae4d9e5d2d43d968ebe8137fed079e70ad263e1682b4fd39dd1eb264097667ead7d69e4f774f0da1d169f6b0eebe5f978f051f217d7d874df38e8d4bb0ed820abc41094b7b07942d87016f652dfb38fa4b955acf683b912dfeb7482da5edc092818f00bf74a4d04d3a763a7054e192cd947835bca15eeeafd19e3f86c86e661ba9e3348a41470b6fd9760034bcf4125dad4a18c1c90877f999c56d60a7be0138cff5e003090e5c1b38dc4811d7527d6aab1c126591f228bcfae36be0a7be0138cff5e003090e5c1b38dc4811d7527d6aab1c126591f228bcfae36be24bd3ee133d8f4329460ae773f86c31761c92529de074cb647c47ae2209bda36a668754009edce76f8f5770e2b35780e12eed2c3172be97bbab90afb2ccd462da668754009edce76f8f5770e2b35780e12eed2c3172be97bbab90afb2ccd462da9541ef28b5eb96cf1ea1e70cef2f5594590d88c2d082bf6d5a64d332898c8af8e9e768c4c8c934e1f0ce7a37f4d7bb43c0b35332ab340fe41bc19436e6aaab48e9e768c4c8c934e1f0ce7a37f4d7bb43c0b35332ab340fe41bc19436e6aaab46d83665108631f3d98f70877e54175c654f046a8e31696166cf49dab491d7669b01946adfaf6738fd0ef45b1138f997a1afb5d330ebd14f01d96d417b4d72abbb01946adfaf6738fd0ef45b1138f997a1afb5d330ebd14f01d96d417b4d72abb4f32f5e5a82e6302b3f9118421a5d677d0d67d3a2fee344bc19c6093b961e8893b07ad35daa31bb7cad0021da3894e31866f17d804529cd726df8d0aacd301cf3b07ad35daa31bb7cad0021da3894e31866f17d804529cd726df8d0aacd301cff1b7624b689fc06e5f54e2762da9140306688cc5d75137a6596186031c5999531007cf11f5eff139f8b02ca1e4964a71909abfb30a7a9cb76427cd65abb40b4a1007cf11f5eff139f8b02ca1e4964a71909abfb30a7a9cb76427cd65abb40b4a037456edcb78c05f4e0e142c4d1a846d740e775b638383e227b60e06afd6c669d7dd31af49ea736d55a2abd8a416974e762ca5f72ea44006399db66c8662f867d7dd31af49ea736d55a2abd8a416974e762ca5f72ea44006399db66c8662f8678128613707c1926a9e05772a6a3af0b32d67665f04ba8e9193488fde2e2c9651a0e57f1a7064203590fa65cffc673260de684f28b11bb4e8be5ce91a5006baa9a0e57f1a7064203590fa65cffc673260de684f28b11bb4e8be5ce91a5006baa9536180fb621803c2606b2d96276cf777276fb421f653798fd6173ccdef659ef176c2f2425796ff567c4dd2ecbc977ed838f0c408d31d85490bc9a8ae2ac53e7676c2f2425796ff567c4dd2ecbc977ed838f0c408d31d85490bc9a8ae2ac53e760c6e58e310f78802fd09f854c6f433b4decc3b07c8a28e1df2d76db718bbf55385ce556a9b77ec7c562c958d4649b69b8e51209da2ea57181020a9c4642881e285ce556a9b77ec7c562c958d4649b69b8e51209da2ea57181020a9c4642881e29d1b69236bf74e002591883dd3e02e33d18747bea25b6869abda3de25031c465364efb4fdbac949f177ca273242ee74393c542d304555f4a2d12300b9809d3642c326b7ee3747e3e0bf1c1953332d67d7633dd21bf6599b4c1953057bb1fdc8db342fb5926095802e45c435cb17045c012002f077d92dccfcd747f53e46370abff105c0e0df4b4808858e1b6690647110e6affc67c9fe9740ee9df683e5b9356ff105c0e0df4b4808858e1b6690647110e6affc67c9fe9740ee9df683e5b9356bf45872bf8522d21220aa017d4aa9f75e754fba005bdd1e7bf71d9db2e46247632a134eb22ace19329e5754fa422ca3cf294c00446eb02aa40f17ec3d248266a32a134eb22ace19329e5754fa422ca3cf294c00446eb02aa40f17ec3d248266aebd8846683f70bec3bc6ce5e7238965a1ed26bc2b1f58edc4ad194b0bde9488a4a659c7326abeba4e0ba72e024672b8c4547f1c988bd91b0fd4106f149b29b0d4a659c7326abeba4e0ba72e024672b8c4547f1c988bd91b0fd4106f149b29b0db68cff174b248dfd11a90ac38de757c6f102a42627b6242202022c7069e42700de42d2d01c4892e550b24616ecc83ff8a13997bc3466019ff05288be0505d0b7de42d2d01c4892e550b24616ecc83ff8a13997bc3466019ff05288be0505d0b77aaa7af08b12d0df319a6aa368beb0b37fd846634fcba335b0584a6ee1e66edebb12c3b06d8f1fad57d527fae31eb8af02ac3b7c6e4f7010c1477faeae1586c8bb12c3b06d8f1fad57d527fae31eb8af02ac3b7c6e4f7010c1477faeae1586c88f965c3ad3a196847010cc41632bb82b2db2f0531f96bf634ad2efc2b281244b78817861088ee9250d03d0ce47125db73acf29f8ecedf53141462494440f541f78817861088ee9250d03d0ce47125db73acf29f8ecedf53141462494440f541f58b4ac34a9fe736f02f539184c2040e202efef69407481c381d62698829d5c86c6fb0278580090860bf4a87b045b6b475b028e13beb126e7fcd550449898cc45c6fb0278580090860bf4a87b045b6b475b028e13beb126e7fcd550449898cc4559c511baa81c7991d56d7c46dc1a5ad2c8931dd940876d4e0b11edf16057bf3b74b0203b2cfe287e6de75ec202862522e101d3c399e63eaa6793310e5bd0d6c274b0203b2cfe287e6de75ec202862522e101d3c399e63eaa6793310e5bd0d6c21aaf4d05fb5b22720924f9bc0285b08236934339a10cb12ef59d6f6f932ea5e86efb179d6b00063438048a5109fb77aebc505f3209a67b55f3b6605fa53e2e1e6efb179d6b00063438048a5109fb77aebc505f3209a67b55f3b6605fa53e2e1ec1624cb7f727adab7a6841b9ad35e82542c98d5ca7b719b06d7b350497a0c8e11c58c085e8d7767c4bb2b5ea2c91260af258adb30c219b152387bda035956e951c58c085e8d7767c4bb2b5ea2c91260af258adb30c219b152387bda035956e95306184dcc4544bd19beddcf8398081727544499c4ea0db48997887832ff74307fd27ab1ece40bcebd1605cc31aca84d8cab776cba81a6d944bf83d37fb44d74bfd27ab1ece40bcebd1605cc31aca84d8cab776cba81a6d944bf83d37fb44d74b76ce669b2d482275dbc25cab23ee434291d85643f126982dab8540178f7b43cadf26ce8e5e59a991e5eefa10b434adaadb29013adaee7b0f4549c2e8cc0c2939df26ce8e5e59a991e5eefa10b434adaadb29013adaee7b0f4549c2e8cc0c2939e3e7dcf5786986019821abc6d0610a4d17d777120af03219fe45b4765b6ba18397b60359baaf7cce2221a69556d214c1716ab43966055de17039698ef89e3e0497b60359baaf7cce2221a69556d214c1716ab43966055de17039698ef89e3e04707465c8ddf0edbe2743e1b868cf23b797978f4b49dfa104fff7362535e8d423071d28d84b6374d5411582d2f36e9f9694e00d3289a992687874837fed6ee606071d28d84b6374d5411582d2f36e9f9694e00d3289a992687874837fed6ee60608e6dae5b10fbb576629840325c04640bed5ebc3679efbb73420e3d321432d9368102ce40a17d9d525483b3cdd7e12ca0143d6686dd6734c7272008eb1503cfa68102ce40a17d9d525483b3cdd7e12ca0143d6686dd6734c7272008eb1503cfac4bed3c237657daed26c6c1bc4dad54773e8bda7e51062d8ffe4b4e3601f191c5f626586e9dc4677c23f7c7cb7897318a24180e0ff9e8e55be5271d3f6aae57a5f626586e9dc4677c23f7c7cb7897318a24180e0ff9e8e55be5271d3f6aae57a5aec8ca9410514f51c5b44d75083476e1a483a07fdaa010514d0abe517d21ac2b1e42ff77e129ade72e7678e314920066d98b4d7189682c36f6cfadc2cec35aab1e42ff77e129ade72e7678e314920066d98b4d7189682c36f6cfadc2cec35aa5354f81927b017153187360013d6cb414566927fd671b9a3651186f0ad4f0142e6024c113de1f244c8d05d3cb7e806f360708bfc8ed4750f24e8da5865853f91b0684b4b2f342854bfa596682bbaecacedf82ae2ec492d4c53be21059524f9d8cc75015e6749c28dad05de33dcb04635608e43c0bb2d68c38f77164ec263f18b2bddd56fafca75e17f7857dde8334e23a92f3e95a09a957ffa17ec7d6dbcf57ae1131826ac311b92c1e6e18864253b28755dc1724e35f5fd19818b0dae3be039a7a59144ceba97ecabbac5c5104d977a4d3983760a3f016653fb7e0d76d3d1d2c24ad448822918111227b88df2f78118e14e4c8bc2d0f7fcec1919faf08a7c8ec24ad448822918111227b88df2f78118e14e4c8bc2d0f7fcec1919faf08a7c8e398ecd119b0a18fec465d583847fc56ed5c3bee6f1d9f3685944ea790fe2cc41eab420b4f136b11f18e077a38424a9b666ede856e832c8946d04cea4dd29c9c3eab420b4f136b11f18e077a38424a9b666ede856e832c8946d04cea4dd29c9c3163598acb8a637d0d8cc928d5ae66d9a814d3916f91114b34658f7328b7fcaa97d9786daabb7795ba9039d26352b5687628778d68d531ef444b193c1fba73c247d9786daabb7795ba9039d26352b5687628778d68d531ef444b193c1fba73c24dee4124aa11516e7dcd9baf53c0d3bab33707975028b667238b98e4247375e23fddefc9e69867af8d935d1561584fac694db18495517f5b4c7c4ea6ce3f330b4725001dd71279f51d6b6456c408d416974e8aac9e6a98475506715db0bc80ba9ee98df7691fdab030d39a237f6c6131341459b8de8605782f3730811b8239fc9f104f5d68c3ab8309a8381982f64f7f840ff3cd28abfcafeaf12bf3afada35ab4e38707c66e1786234ede05793fa50f0903128f818bf2f506b5d893ff4346e614e38707c66e1786234ede05793fa50f0903128f818bf2f506b5d893ff4346e616678b08752b37db6f814e73eaaf15b5b2870abbceec25cfd88ee0a91df5f97614772f83ea4fe5bdeb8433d39a15e32dd03be66b99b941d69e96f3682eced2dbb4772f83ea4fe5bdeb8433d39a15e32dd03be66b99b941d69e96f3682eced2dbbc9eb1b30a52546d96481831c9de616bf2de5b3f03334e2346f9390b354bf2063c4b4d4603039286faaccb7924abd309bd20df7e80bc90862e827d98ead2c6157c4b4d4603039286faaccb7924abd309bd20df7e80bc90862e827d98ead2c6157488565b025c9798490e71b306e8807bbe104c6d8261ee6efeabcdbed76a38cac59b771ca779dd36fbad406d9f8a406c0877bc588d17742df39e5d68daa40f17e0a8c99cacd93985d76d36878b45c5a2968f84485bd10b54cdad47bcd676c47ce0a8c99cacd93985d76d36878b45c5a2968f84485bd10b54cdad47bcd676c47ce28c96e551b734847c72fc13bf627f73e698245e9eccc787aa03b7ba6215d12af8dfbd65e7da4164f97c47e10bd656f667c61d128a8dc92d5ab07ae4297ac1a678dfbd65e7da4164f97c47e10bd656f667c61d128a8dc92d5ab07ae4297ac1a67d2fee24a21d474e0d41f0b2c823abba8992357862031e92b39af0d03d16123e53c1808066da370a5fb3692dbde00133794734d3c931e0a8a70bddd8782b3a2d33c1808066da370a5fb3692dbde00133794734d3c931e0a8a70bddd8782b3a2d34a9e6ce96f4040f71201b08f987dac853b1dab442e7599bf3951b309d81c98f3d6a4ca1f653b6d26ee255d2d18947e78a7349fc6e9bbd9ab887cf6b1da79f19cd6a4ca1f653b6d26ee255d2d18947e78a7349fc6e9bbd9ab887cf6b1da79f19c9152fc90d3c84314239b59356c452c7d88b88fe8fa96f2f123d25437728bb82efd605526a1004b662620292c1d808ed696b5cc61d9c5748121fd10807123998124b3c8e971a76d61cbf6a1bc9f9806c2b8e651a3aae2978c21a5654e98a3ff339e9d7525d14bf7361d0dbf63325537bdd019c67d7dc265431266c1c13877b1f639de99c00960b9356996859dfbc79b3ebec6aa1d3e821a1b4bf1b80168e78b70f72f6cbd7dbf731c6b18b91364803144febf51d44c3cf515c500dff961dbbdfcd0afeadfd45c8a96670555952a06c6ef3a7b322f3fc0dbd5e78e8710b3de8568d0afeadfd45c8a96670555952a06c6ef3a7b322f3fc0dbd5e78e8710b3de856819cb87050b0fb410da3b88df752c2e1bdaeec77ac052b04febef31a68823cfcbpython2-configpython2.7-configpython2.7libpython2.7.so.1.0python2.pcpython-2.7.pc../../libpython2.7.sorootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-base-2.7.18-150000.89.2.src.rpmpkgconfig(python)pkgconfig(python-2.7)pkgconfig(python2)python-develpython-devel(s390-64)python-testsuitepython2-develpython2-testsuite@@@@@@     /bin/sh/usr/bin/pkg-config/usr/bin/python/usr/bin/python2/usr/bin/python2.7glibc-develpythonpython(abi)python-baserpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.7.182.72.7.18-150000.89.23.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1i@i h@hxgw@g@g@g4f@fH@f?]fh@e,e @eedeeeRd˖dD@dq@du@dtdm@dxdc>@cӼc0c|ck@c pcbbb@b@b@ba@a@a(@aim@aI@a'@a#aj@a`t`8`_T^J^@^@^>^>^;^8 @^.^g@^ @]f@]@]]]d@]d@]@]z@]V]y@]9]1]\t@\\7\7\\J@\J@\C@\2[[#@[6@[@[ @[Za@Z@ZxG@ZtRZp^@Z, gh#python/cpython#103848#issuecomment-2708135083).- Modify CVE-2025-0938-sq-brackets-domain-names.patch: we don't use bracketed_host variable any more (correction of the fix for bsc#1236705, discovered during analysis for bsc#1223694).- Add CVE-2025-0938-sq-brackets-domain-names.patch which disallows square brackets ([ and ]) in domain names for parsed URLs (bsc#1236705, CVE-2025-0938, gh#python/cpython#105704)- Add CVE-2024-11168-validation-IPv6-addrs.patch fixing bsc#1233307 (CVE-2024-11168, gh#python/cpython#103848): Improper validation of IPv6 and IPvFuture addresses. - Add ipaddress module from https://github.com/phihag/ipaddress - Remove -IVendor/ from python-config boo#1231795- Stop using %%defattr, it seems to be breaking proper executable attributes on /usr/bin/ scripts (bsc#1227378).- bsc#1221854 (CVE-2024-0450) Add CVE-2024-0450-zipfile-avoid-quoted-overlap-zipbomb.patch detecting the vulnerability of the "quoted-overlap" zipbomb (from gh#python/cpython!110016).- Switch to using the system libexpat (bsc#1219559, CVE-2023-52425) - Make sure to remove all embedded versions of other packages (including expat). - Add CVE-2023-52425-libexpat-2.6.0-remove-failing-tests.patch removing failing test fixing bpo#3151, which we just not support. - Remove patches over those embedded packages (cffi): - python-2.7-libffi-aarch64.patch - sparc_longdouble.patch- Modify CVE-2023-27043-email-parsing-errors.patch to fix the unicode string handling in email.utils.parseaddr() (bsc#1222537). - Revert CVE-2022-48560-after-free-heappushpop.patch, the fix was unneeded.- Switch off tests. ONLY FOR FACTORY!!! (bsc#1219306)- Build with -std=gnu89 to build correctly with gcc14, bsc#1220970- Add CVE-2023-27043-email-parsing-errors.patch to gh#python/cpython!111116, fixing bsc#1210638 (CVE-2023-27043).- Add CVE-2022-48560-after-free-heappushpop.patch fixing use-after-free in Python via heappushpop in heapq (bsc#1214675, CVE-2022-48560). - switch from %patchN style to the %patch -P N one.- (bsc#1214691, CVE-2022-48566) Add CVE-2022-48566-compare_digest-more-constant.patch to make compare_digest more constant-time. - Allow nis.so for SLE-12.- (bsc#1214685, CVE-2022-48565) Add CVE-2022-48565-plistlib-XML-vulns.patch (from gh#python/cpython#86217) reject XML entity declarations in plist files. - Remove BOTH CVE-2023-27043-email-parsing-errors.patch and Revert-gh105127-left-tests.patch (as per discussion on bsc#1210638).- Add CVE-2023-40217-avoid-ssl-pre-close.patch fixing gh#python/cpython#108310, backport from upstream patch gh#python/cpython#108315 (bsc#1214692, CVE-2023-40217)- IT MEANS THAT bsc#1210638 STILL HAS NOT BEEN FIXED! - Add Revert-gh105127-left-tests.patch (gh#python/cpython!106941) partially reverting CVE-2023-27043-email-parsing-errors.patch, because of the regression in gh#python/cpython#106669.- (bsc#1210638, CVE-2023-27043) Add CVE-2023-27043-email-parsing-errors.patch, which detects email address parsing errors and returns empty tuple to indicate the parsing error (old API).- Fix the application of the python-2.7.17-switch-off-failing-SSL-tests.patch.- python-2.7.5-multilib.patch: Update for riscv64 - Don't fail if _ctypes or dl extension was not built- The condition around libnsl-devel BuildRequires is NOT switching off NIS support on SLE < 15, support for NIS used to be in the glibc itself. Partial revert of sr#1061583.- Add PygmentsBridge-trime_doctest_flags.patch to allow build of the documentation even with the current Sphinx. (SUSE-ONLY PATCH, DO NOT SEND UPSTREAM!)- Enable --with-system-ffi for non-standard architectures.- SLE-12 builds nis.so as well.- Add CVE-2023-24329-blank-URL-bypass.patch (CVE-2023-24329, bsc#1208471) blocklists bypass via the urllib.parse component when supplying a URL that starts with blank characters- Disable NIS for new products, it's deprecated and gets removed- Add skip_unverified_test.patch because apparently switching off SSL verification doesn't work on older SLE.- Restore python-2.7.9-sles-disable-verification-by-default.patch for SLE-12.- Add CVE-2022-45061-DoS-by-IDNA-decode.patch to avoid CVE-2022-45061 (bsc#1205244) allowing DoS by IDNA decoding extremely long domain names.- Add bpo34990-2038-problem-compileall.patch making compileall.py compliant with year 2038 (bsc#1202666, gh#python/cpython#79171), backport of fix to Python 2.7.- Add patch CVE-2021-28861-double-slash-path.patch: * BaseHTTPServer: Fix an open redirection vulnerability in the HTTP server when an URI path starts with //. (bsc#1202624, CVE-2021-28861)- Add CVE-2015-20107-mailcap-unsafe-filenames.patch to avoid CVE-2015-20107 (bsc#1198511, gh#python/cpython#68966), the command injection in the mailcap module.- Filter out executable-stack error that is triggered for i586 target.- Update bundled pip wheel to the latest SLE version patched against bsc#1186819 (CVE-2021-3572). - Recover again proper value of %python2_package_prefix (bsc#1175619).- BuildRequire rpm-build-python: The provider to inject python(abi) has been moved there. rpm-build pulls rpm-build-python automatically in when building anything against python3-base, but this implies that the initial build of python3-base does not trigger the automatic installation.- Older SLE versions should use old OpenSSL.- Add CVE-2022-0391-urllib_parse-newline-parsing.patch (bsc#1195396, CVE-2022-0391, bpo#43882) sanitizing URLs containing ASCII newline and tabs in urlparse.- Add CVE-2021-4189-ftplib-trust-PASV-resp.patch (bsc#1194146, bpo#43285, CVE-2021-4189, gh#python/cpython#24838) make ftplib not trust the PASV response.- build against openssl 1.1.x (incompatible with openssl 3.0x) for now.- on sle12, python2 modules will still be called python-xxxx until EOL, for newer SLE versions they will be python2-xxxx- BuildRequire rpm-build-python: The provider to inject python(abi) has been moved there. rpm-build pulls rpm-build-python automatically in when building anything against python3-base, but this implies that the initial build of python3-base does not trigger the automatic installation.- Add CVE-2019-20907_tarfile-inf-loop.patch fixing bsc#1174091 (CVE-2019-20907, bpo#39017) avoiding possible infinite loop in specifically crafted tarball. Add recursion.tar as a testing tarball for the patch. - Provide the newest setuptools wheel (bsc#1176262, CVE-2019-20916) in their correct form (bsc#1180686). - Add CVE-2020-26116-httplib-header-injection.patch fixing bsc#1177211 (CVE-2020-26116, bpo#39603) no longer allowing special characters in the method parameter of HTTPConnection.putrequest in httplib, stopping injection of headers. Such characters now raise ValueError.- Renamed patch for assigned CVE: * bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch -> CVE-2021-3737-fix-HTTP-client-infinite-line-reading-after-a-HTTP-100-Continue.patch (boo#1189241, CVE-2021-3737)- Renamed patch for assigned CVE: * bpo43075-fix-ReDoS-in-request.patch -> CVE-2021-3733-fix-ReDoS-in-request.patch (boo#1189287, CVE-2021-3733) - Fix python-doc build (bpo#35293): * sphinx-update-removed-function.patch - Update documentation formatting for Sphinx 3.0 (bpo#40204).- Add bpo43075-fix-ReDoS-in-request.patch which fixes ReDoS in request (bpo#43075, boo#1189287). - Add missing security announcement to bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch.- Add bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch which fixes http client infinite line reading (DoS) after a http 100 (bpo#44022, boo#1189241).- Modify Lib/ensurepip/__init__.py to contain the same version numbers as are in reality the ones in the bundled wheels (bsc#1187668).- Add CVE-2021-23336-only-amp-as-query-sep.patch which forbids use of semicolon as a query string separator (bpo#42967, bsc#1182379, CVE-2021-23336).- Add CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch fixing bsc#1181126 (CVE-2021-3177) buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution.- (bsc#1180125) We really don't Require python-rpm-macros package. Unnecessary dependency.- Add patch configure_PYTHON_FOR_REGEN.patch which makes configure.ac to consider the correct version of PYTHON_FO_REGEN (bsc#1078326).- Use python3-Sphinx on anything more recent than SLE-15 (inclusive).- Update to 2.7.18, final release of Python 2. Ever.: - Newline characters have been escaped when performing uu encoding to prevent them from overflowing into to content section of the encoded file. This prevents malicious or accidental modification of data during the decoding process. - Fixes a ReDoS vulnerability in `http.cookiejar`. Patch by Ben Caller. - Fixed line numbers and column offsets for AST nodes for calls without arguments in decorators. - bsc#1155094 (CVE-2019-18348) Disallow control characters in hostnames in http.client. Such potentially malicious header injection URLs now cause a InvalidURL to be raised. - Fix urllib.urlretrieve failing on subsequent ftp transfers from the same host. - Fix problems identified by GCC's -Wstringop-truncation warning. - AddRefActCtx() was needlessly being checked for failure in PC/dl_nt.c. - Prevent failure of test_relative_path in test_py_compile on macOS Catalina. - Fixed possible leak in `PyArg_Parse` and similar functions for format units "es#" and "et#" when the macro `PY_SSIZE_T_CLEAN` is not defined. - Remove upstreamed patches: - CVE-2019-18348-CRLF_injection_via_host_part.patch - python-2.7.14-CVE-2017-1000158.patch - CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch - CVE-2018-1061-DOS-via-regexp-difflib.patch - CVE-2019-10160-netloc-port-regression.patch - CVE-2019-16056-email-parse-addr.patch- Add CVE-2019-9674-zip-bomb.patch to improve documentation warning about dangers of zip-bombs and other security problems with zipfile library. (bsc#1162825 CVE-2019-9674)- Change to Requires: libpython%{so_version} == %{version}-%{release} to python-base to keep both packages always synchronized (add %{so_version}) (bsc#1162224).- Add CVE-2020-8492-urllib-ReDoS.patch fixing the security bug "Python urrlib allowed an HTTP server to conduct Regular Expression Denial of Service (ReDoS)" (bsc#1162367)- Provide python-testsuite from devel subkg to ease py2->py3 dependencies- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch off tests coliding with the combination of modern Python and ancient OpenSSL on SLE-12.- libnsl is required only on more recent SLEs and openSUSE, older glibc supported NIS on its own.- Add provides in gdbm subpackage to provide dbm symbols. This allows us to use %%{python_module dbm} as a dependency and have it properly resolved for both python2 and python3- Drop appstream-glib BuildRequires and no longer call appstream-util validate-relax: eliminate a build cycle between as-glib and python. The only thing would would gain by calling as-uril is catching if upstream breaks the appdata.xml file in a future release. Considering py2 is dying, chances for a new release, let alone one breaking the xml file, are slim.- Unify packages among openSUSE:Factory and SLE versions. (bsc#1159035) ; add missing records to this changelog. - Add idle.desktop and idle.appdata.xml to provide IDLE in menus (bsc#1153830)- Add python2_split_startup Provide to make it possible to conflict older packages by shared-python-startup.- Move /etc/pythonstart script to shared-python-startup package.- Add bpo-36576-skip_tests_for_OpenSSL-111.patch (originally from bpo#36576) skipping tests failing with OpenSSL 1.1.1. Fixes bsc#1149792- Add adapted-from-F00251-change-user-install-location.patch fixing pip/distutils to install into /usr/local.- Update to 2.7.17: - a bug fix release in the Python 2.7.x series. It is expected to be the penultimate release for Python 2.7. - Removed patches included upstream: - CVE-2018-20852-cookie-domain-check.patch - CVE-2019-16935-xmlrpc-doc-server_title.patch - CVE-2019-9636-netloc-no-decompose-characters.patch - CVE-2019-9947-no-ctrl-char-http.patch - CVE-2019-9948-avoid_local-file.patch - python-2.7.14-CVE-2018-1000030-1.patch - python-2.7.14-CVE-2018-1000030-2.patch - Renamed remove-static-libpython.diff and python-bsddb6.diff to remove-static-libpython.patch and python-bsddb6.patch to unify filenames.- Add CVE-2019-16935-xmlrpc-doc-server_title.patch fixing bsc#1153238 (aka CVE-2019-16935) fixing a reflected XSS in python/Lib/DocXMLRPCServer.py- Add bpo36302-sort-module-sources.patch (boo#1041090)- Add CVE-2019-16056-email-parse-addr.patch fixing the email module wrongly parses email addresses [bsc#1149955, CVE-2019-16056]- boo#1141853 (CVE-2018-20852) add CVE-2018-20852-cookie-domain-check.patch fixing http.cookiejar.DefaultPolicy.domain_return_ok which did not correctly validate the domain: it could be tricked into sending cookies to the wrong server.- Skip test_urllib2_localnet that randomly fails in OBS- bsc#1138459: add CVE-2019-10160-netloc-port-regression.patch which fixes regression introduced by the previous patch. (CVE-2019-10160) Upstream gh#python/cpython#13812- Set _lto_cflags to nil as it will prevent to propage LTO for Python modules that are built in a separate package.- bsc#1130840 (CVE-2019-9947): add CVE-2019-9947-no-ctrl-char-http.patch Address the issue by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause a ValueError to be raised.- bsc#1130847 (CVE-2019-9948) add CVE-2019-9948-avoid_local-file.patch removing unnecessary (and potentially harmful) URL scheme local-file://.- bsc#1129346: add CVE-2019-9636-netloc-no-decompose-characters.patch Characters in the netloc attribute that decompose under NFKC normalization (as used by the IDNA encoding) into any of ``/``, ``?``, ``#``, ``@``, or ``:`` will raise a ValueError. If the URL is decomposed before parsing, or is not a Unicode string, no error will be raised (CVE-2019-9636). Upstream commits e37ef41 and 507bd8c.- (bsc#1111793) Update to 2.7.16: * bugfix-only release: complete list of changes on https://github.com/python/cpython/blob/2.7/Misc/NEWS.d/2.7.16rc1.rst * Removed openssl-111.patch and CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch which are fully included in the tarball. * Updated patches to apply cleanly: CVE-2019-5010-null-defer-x509-cert-DOS.patch bpo36160-init-sysconfig_vars.patch do-not-use-non-ascii-in-test_ssl.patch openssl-111-middlebox-compat.patch openssl-111-ssl_options.patch python-2.5.1-sqlite.patch python-2.6-gettext-plurals.patch python-2.7-dirs.patch python-2.7.2-fix_date_time_compiler.patch python-2.7.4-canonicalize2.patch python-2.7.5-multilib.patch python-2.7.9-ssl_ca_path.patch python-bsddb6.diff remove-static-libpython.patch * Update python-2.7.5-multilib.patch to pass with new platlib regime.- bsc#1109847 (CVE-2018-14647): add CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch fixing bpo-34623.- bsc#1073748: add bpo-29347-dereferencing-undefined-pointers.patch PyWeakref_NewProxy@Objects/weakrefobject.c creates new isntance of PyWeakReference struct and does not intialize wr_prev and wr_next of new isntance. These pointers can have garbage and point to random memory locations. Python should not crash while destroying the isntance created in the same interpreter function. As per my understanding, both wr_prev and wr_next of PyWeakReference instance should be initialized to NULL to avoid segfault.- bsc#1122191: add CVE-2019-5010-null-defer-x509-cert-DOS.patch fixing bpo-35746 (CVE-2019-5010). An exploitable denial-of-service vulnerability exists in the X509 certificate parser of Python.org Python 2.7.11 / 3.7.2. A specially crafted X509 certificate can cause a NULL pointer dereference, resulting in a denial of service. An attacker can initiate or accept TLS connections using crafted certificates to trigger this vulnerability.- Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Add patch openssl-111.patch to work with openssl-1.1.1 (bsc#1113755)- Apply "CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch" which converts shutil._call_external_zip to use subprocess rather than distutils.spawn. [bsc#1109663, CVE-2018-1000802]- Apply "CVE-2018-1061-DOS-via-regexp-difflib.patch" to prevent low-grade poplib REDOS (CVE-2018-1060) and to prevent difflib REDOS (CVE-2018-1061). Prior to this patch mail server's timestamp was susceptible to catastrophic backtracking on long evil response from the server. Also, it was susceptible to catastrophic backtracking, which was a potential DOS vector. [bsc#1088004 and bsc#1088009, CVE-2018-1061 and CVE-2018-1060]- Apply "CVE-2017-18207.patch" to add a check to Lib/wave.py that verifies that at least one channel is provided. Prior to this check, attackers could cause a denial of service (divide-by-zero error and application crash) via a crafted wav format audio file. [bsc#1083507, CVE-2017-18207]- Apply "python-sorted_tar.patch" (bsc#1086001, boo#1081750) sort tarfile output directory listing- update to 2.7.15 * dozens of bugfixes, see NEWS for details - removed obsolete patches: * python-ncurses-6.0-accessors.patch * python-fix-shebang.patch * gcc8-miscompilation-fix.patch - add patch from upstream: * do-not-use-non-ascii-in-test_ssl.patch- Add gcc8-miscompilation-fix.patch (boo#1084650).- Apply "python-2.7.14-CVE-2017-1000158.patch" to prevent integer overflows in PyString_DecodeEscape that could have resulted in heap-based buffer overflow attacks and possible arbitrary code execution. [bsc#1068664, CVE-2017-1000158]- exclude test_socket & test_subprocess for PowerPC boo#1078485 (same ref as previous change)- Add python-skip_random_failing_tests.patch bypass boo#1078485 and exclude many tests for PowerPC- Add patch python-fix-shebang.patch to fix bsc#1078326- exclude test_regrtest for s390, where it does not segfault as it should (fixes bsc#1073269) - fix segfault while creating weakref - bsc#1073748, bpo#29347 (this is actually fixed by the 2.7.14 update; mentioning this for purposes of bugfix tracking)- update to 2.7.14 * dozens of bugfixes, see NEWS for details * fixed possible integer overflow in PyString_DecodeEscape (CVE-2017-1000158, bsc#1068664) * fixed segfaults with dict mutated during search * fixed possible free-after-use problems with buffer objects with custom indexing * fixed urllib.splithost to correctly parse fragments (bpo-30500) - drop upstreamed python-2.7.13-overflow_check.patch - drop unneeded python-2.7.12-makeopcode.patch - drop upstreamed 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch - Apply "python-2.7.14-CVE-2018-1000030-1.patch" and "python-2.7.14-CVE-2018-1000030-2.patch" to remedy a bug that would crash the Python interpreter when multiple threads used the same I/O stream concurrently. This issue is not classified as a security vulnerability due to the fact that an attacker must be able to run code, however in some situations -- such as function as a service -- this vulnerability can potentially be used by an attacker to violate a trust boundary. [bsc#1079300, CVE-2018-1000030]- Call python2 instead of python in macros- Fix test broken with OpenSSL 1.1 (bsc#1042670) * add 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch- drop SUSE_ASNEEDED=0 as it is not needed anymore- Add libnsl-devel build requires for glibc obsoleting libnsl- obsolete/provide python-argparse and provide python2-argparse, because the argparse module is available from python 2.7 up- SLE package update (bsc#1027282) - refresh python-2.7.5-multilib.patch - dropped upstreamed patches: python-fix-short-dh.patch python-2.7.7-mhlib-linkcount.patch python-2.7-urllib2-localnet-ssl.patch CVE-2016-0772-smtplib-starttls.patch CVE-2016-5699-http-header-injection.patch CVE-2016-5636-zipimporter-overflow.patch python-2.7-httpoxy.patch - Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1. (dimstar@opensuse.org)- Add reproducible.patch to allow reproducible builds of various python packages like python-amqp Upstream: https://github.com/python/cpython/pull/296- update to 2.7.13 * dozens of bugfixes, see NEWS for details * updated cipher lists for openssl wrapper, support openssl >= 1.1.0 * properly fix HTTPoxy (CVE-2016-1000110) * profile-opt build now applies PGO to modules as well - update python-2.7.10-overflow_check.patch with python-2.7.13-overflow_check.patch, incorporating upstream changes (bnc#964182) - add "-fwrapv" to optflags explicitly because upstream code still relies on it in many places- provide python2-* symbols, for support of new packages built as python2-foo - rename macros.python to macros.python2 accordingly - require python-rpm-macros package, drop macro definitions from macros.python2- initial packaging of `python27` side-by-side variant (fate#321075, bsc#997436) - renamed `python` to `python27` in package names and requires - removed Provides and Obsoletes clauses - dropped SLE12-only patch python-2.7.9-sles-disable-verification-by-default.patch, companion sle_tls_checks_policy.py file and the python-strict-tls-checks subpackage - dropped profile files - removed /usr/bin/python and /usr/bin/python2, along with other unversioned aliases - rewrote macros file to enable stand-alone packages depending on py2.7 - re-included downloaded version of HTML documentation- update to 2.7.12 * dozens of bugfixes, see NEWS for details * fixes multiple security issues: CVE-2016-0772 TLS stripping attack on smtplib (bsc#984751) CVE-2016-5636 zipimporter heap overflow (bsc#985177) CVE-2016-5699 httplib header injection (bsc#985348) (this one is actually fixed since 2.7.10) - removed upstreamed python-2.7.7-mhlib-linkcount.patch - refreshed multilib patch - python-2.7.12-makeopcode.patch - run newly-built python interpreter to make opcodes, in order not to require pre-built python - update LD_LIBRARY_PATH to use $PWD instead of "." because the test process escapes to its own directory - modify shebang-fixing scriptlet to ignore makeopcodetargets.py- CVE-2016-0772-smtplib-starttls.patch: smtplib vulnerability opens startTLS stripping attack (CVE-2016-0772, bsc#984751) - CVE-2016-5636-zipimporter-overflow.patch: heap overflow when importing malformed zip files (CVE-2016-5636, bsc#985177) - CVE-2016-5699-http-header-injection.patch: incorrect validation of HTTP headers allow header injection (CVE-2016-5699, bsc#985348) - python-2.7-httpoxy.patch: HTTPoxy vulnerability in urllib, fixed by disregarding HTTP_PROXY when REQUEST_METHOD is also set (CVE-2016-1000110, bsc#989523)- Add python-2.7.10-overflow_check.patch to fix broken overflow checks. [bnc#964182]- copy strict-tls-checks subpackage from SLE to retain future compatibility (not built in openSUSE) - do this properly to fix bnc#945401 - update SLE check to exclude Leap which also has version 1315, just to be sure- Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1.- add missing ssl.pyc and ssl.pyo to package - implement python-strict-tls-checks subpackage * when present, Python will perform TLS certificate checking by default. it is possible to remove the package to turn off the checks for compatibility with legacy scripts. * as discussed in fate#318300 * this is not built for openSUSE, but retained here in case we want to build the package for a SLE system- python-fix-short-dh.patch: Bump DH parameters to 2048 bit to fix logjam security issue. bsc#935856- add __python2 compatibility macro (used by Fedora) (fate#318838)- update to 2.7.10 - removed obsolete python-2.7-urllib2-localnet-ssl.patch- Reenable test_posix on aarch64- python-2.7.4-aarch64.patch: Remove obsolete patch - python-2.7-libffi-aarch64.patch: Fix argument passing in libffi for aarch64- update to 2.7.9 * contains full backport of ssl module from Python 3.4 (PEP466) * HTTPS certificate validation enabled by default (PEP476) * SSLv3 disabled by default (bnc#901715) * backported ensurepip module (PEP477) * fixes several missing CVEs from last release: CVE-2013-1752, CVE-2013-1753 * dozens of minor bugfixes - dropped upstreamed patches: python-2.7.6-poplib.patch, smtplib_maxline-2.7.patch, xmlrpc_gzip_27.patch - dropped patch python-2.7.3-ssl_ca_path.patch because we don't need it with ssl module from Python 3 - libffi was upgraded upstream, seems to contain our changes, so dropping libffi-ppc64le.diff as well - python-2.7-urllib2-localnet-ssl.patch - properly remove unconditional "import ssl" from test_urllib2_localnet that caused it to fail without ssl- skip test_thread in qemu_linux_user modes390zp32 1765457515  !"#$%&'()*+,-./0123456789:;<=>?@CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefijmnopqrstuvwxyy{||~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeffhijklmnopprsttvwxyz{|}~      "##%&&())+,-.//122455788:;;=>>@AACDDFGGIJJLMNOPPRSSUVVXYY[\\^__abbdeeghhjkkmnnpqqsttvwwyzz|}}      !"#$%&'((*++-..0113446788:;<=>>@AACDEFGHHJKLMNNPQQSTTVWWYZZ\]]_``bcceffhiikllnooqrrtuvwxxz{{}~     !"##%&&())+,,./0122455789:;;=>>@AACDEFGGIJJLMMOPPRSSUVVXYY[\\^__abbdeeghijkkmnnpqqsttvwwyzz|}}      !""$%%'((*++-..0113446779::<==?@@BCCEFFHIIKLMNOOQRRTUUWXXZ[[]^^`aacddfggijjlmmopprssuvvxyy{||~      !!#$$&'')**,--/00233567899;<<>??ABBDEEGHIJKKMNNPQQSTTVWWYZZ\]]_``bcceffhijklmnopqrrtuuwxxz{{}~~2.72.72.72.7.18-150000.89.22.7.18-150000.89.22.7.182.7.182.7.18     python-configpython2-configpython2.7-configpythonpython2.7Python-ast.hPython.habstract.hasdl.hast.hbitset.hboolobject.hbufferobject.hbytearrayobject.hbytes_methods.hbytesobject.hcStringIO.hcellobject.hceval.hclassobject.hcobject.hcode.hcodecs.hcompile.hcomplexobject.hdatetime.hdescrobject.hdictobject.hdtoa.henumobject.herrcode.heval.hfileobject.hfloatobject.hframeobject.hfuncobject.hgenobject.hgraminit.hgrammar.himport.hintobject.hintrcheck.hiterobject.hlistobject.hlongintrepr.hlongobject.hmarshal.hmemoryobject.hmetagrammar.hmethodobject.hmodsupport.hmoduleobject.hnode.hobject.hobjimpl.hopcode.hosdefs.hparsetok.hpatchlevel.hpgen.hpgenheaders.hpy_curses.hpyarena.hpycapsule.hpyctype.hpydebug.hpyerrors.hpyexpat.hpyfpe.hpygetopt.hpymacconfig.hpymactoolbox.hpymath.hpymem.hpyport.hpystate.hpystrcmp.hpystrtod.hpythonrun.hpythread.hrangeobject.hsetobject.hsliceobject.hstringobject.hstructmember.hstructseq.hsymtable.hsysmodule.htimefuncs.htoken.htraceback.htupleobject.hucnhash.hunicodeobject.hwarnings.hweakrefobject.hlibpython2.7.sopython-2.7.pcpython.pcpython2.pcMakefile.preMakefile.pre.inSetup.configSetup.localconfig.cconfig.c.ininstall-shlibpython2.7.somakesetuppython.otest185test.dbSine-1000Hz-300ms.aif__init__.py__init__.pyc__init__.pyo__main__.py__main__.pyc__main__.pyo_mock_backport.py_mock_backport.pyc_mock_backport.pyoallsans.pemaudiodatapluck-pcm16.aiffpluck-pcm16.aupluck-pcm16.wavpluck-pcm24.aiffpluck-pcm24.wavpluck-pcm32.aiffpluck-pcm32.aupluck-pcm32.wavpluck-pcm8.aiffpluck-pcm8.aupluck-pcm8.wavpluck-ulaw.aifcpluck-ulaw.auaudiotest.auaudiotests.pyaudiotests.pycaudiotests.pyoautotest.pyautotest.pycautotest.pyobad_coding.pybad_coding2.pybad_coding3.pybadcert.pembadkey.pembadsyntax_future3.pybadsyntax_future4.pybadsyntax_future5.pybadsyntax_future6.pybadsyntax_future7.pybadsyntax_future8.pybadsyntax_future9.pybadsyntax_nocaret.pybisect_cmd.pybisect_cmd.pycbisect_cmd.pyocapath0e4015b9.04e1295a3.05ed36f99.06e88d7b8.099d0fa06.0ce7b8643.0efa5f9c3.0cfgparser.1cjkencodingsbig5-utf8.txtbig5.txtbig5hkscs-utf8.txtbig5hkscs.txtcp949-utf8.txtcp949.txteuc_jisx0213-utf8.txteuc_jisx0213.txteuc_jp-utf8.txteuc_jp.txteuc_kr-utf8.txteuc_kr.txtgb18030-utf8.txtgb18030.txtgb2312-utf8.txtgb2312.txtgbk-utf8.txtgbk.txthz-utf8.txthz.txtiso2022_jp-utf8.txtiso2022_jp.txtiso2022_kr-utf8.txtiso2022_kr.txtjohab-utf8.txtjohab.txtshift_jis-utf8.txtshift_jis.txtshift_jisx0213-utf8.txtshift_jisx0213.txtcmath_testcases.txtcurses_tests.pycurses_tests.pyccurses_tests.pyodataREADMEdecimaltestdataabs.decTestadd.decTestand.decTestbase.decTestclamp.decTestclass.decTestcompare.decTestcomparetotal.decTestcomparetotmag.decTestcopy.decTestcopyabs.decTestcopynegate.decTestcopysign.decTestddAbs.decTestddAdd.decTestddAnd.decTestddBase.decTestddCanonical.decTestddClass.decTestddCompare.decTestddCompareSig.decTestddCompareTotal.decTestddCompareTotalMag.decTestddCopy.decTestddCopyAbs.decTestddCopyNegate.decTestddCopySign.decTestddDivide.decTestddDivideInt.decTestddEncode.decTestddFMA.decTestddInvert.decTestddLogB.decTestddMax.decTestddMaxMag.decTestddMin.decTestddMinMag.decTestddMinus.decTestddMultiply.decTestddNextMinus.decTestddNextPlus.decTestddNextToward.decTestddOr.decTestddPlus.decTestddQuantize.decTestddReduce.decTestddRemainder.decTestddRemainderNear.decTestddRotate.decTestddSameQuantum.decTestddScaleB.decTestddShift.decTestddSubtract.decTestddToIntegral.decTestddXor.decTestdecDouble.decTestdecQuad.decTestdecSingle.decTestdivide.decTestdivideint.decTestdqAbs.decTestdqAdd.decTestdqAnd.decTestdqBase.decTestdqCanonical.decTestdqClass.decTestdqCompare.decTestdqCompareSig.decTestdqCompareTotal.decTestdqCompareTotalMag.decTestdqCopy.decTestdqCopyAbs.decTestdqCopyNegate.decTestdqCopySign.decTestdqDivide.decTestdqDivideInt.decTestdqEncode.decTestdqFMA.decTestdqInvert.decTestdqLogB.decTestdqMax.decTestdqMaxMag.decTestdqMin.decTestdqMinMag.decTestdqMinus.decTestdqMultiply.decTestdqNextMinus.decTestdqNextPlus.decTestdqNextToward.decTestdqOr.decTestdqPlus.decTestdqQuantize.decTestdqReduce.decTestdqRemainder.decTestdqRemainderNear.decTestdqRotate.decTestdqSameQuantum.decTestdqScaleB.decTestdqShift.decTestdqSubtract.decTestdqToIntegral.decTestdqXor.decTestdsBase.decTestdsEncode.decTestexp.decTestextra.decTestfma.decTestinexact.decTestinvert.decTestln.decTestlog10.decTestlogb.decTestmax.decTestmaxmag.decTestmin.decTestminmag.decTestminus.decTestmultiply.decTestnextminus.decTestnextplus.decTestnexttoward.decTestor.decTestplus.decTestpower.decTestpowersqrt.decTestquantize.decTestrandomBound32.decTestrandoms.decTestreduce.decTestremainder.decTestremainderNear.decTestrescale.decTestrotate.decTestrounding.decTestsamequantum.decTestscaleb.decTestshift.decTestsquareroot.decTestsubtract.decTesttestall.decTesttointegral.decTesttointegralx.decTestxor.decTestdoctest_aliases.pydoctest_aliases.pycdoctest_aliases.pyodouble_const.pydouble_const.pycdouble_const.pyoempty.vbsexception_hierarchy.txtffdh3072.pemfloating_points.txtfork_wait.pyfork_wait.pycfork_wait.pyoformatfloat_testcases.txtgdb_sample.pygdb_sample.pycgdb_sample.pyogreyrgb.uueieee754.txtimghdrdatapython.bmppython.gifpython.jpgpython.pbmpython.pgmpython.pngpython.ppmpython.raspython.sgipython.tiffpython.xbminfinite_reload.pyinfinite_reload.pycinfinite_reload.pyoinspect_fodder.pyinspect_fodder.pycinspect_fodder.pyoinspect_fodder2.pyinspect_fodder2.pycinspect_fodder2.pyokeycert.passwd.pemkeycert.pemkeycert2.pemkeycert3.pemkeycert4.pemlist_tests.pylist_tests.pyclist_tests.pyolock_tests.pylock_tests.pyclock_tests.pyomake_ssl_certs.pymake_ssl_certs.pycmake_ssl_certs.pyomapping_tests.pymapping_tests.pycmapping_tests.pyomath_testcases.txtmp_fork_bomb.pymp_fork_bomb.pycmp_fork_bomb.pyomultibytecodec_support.pymultibytecodec_support.pycmultibytecodec_support.pyonokia.pemnullbytecert.pemnullcert.pemoutstanding_bugs.pyoutstanding_bugs.pycoutstanding_bugs.pyopickletester.pypickletester.pycpickletester.pyoprofilee.pyprofilee.pycprofilee.pyopycacert.pempyclbr_input.pypyclbr_input.pycpyclbr_input.pyopydoc_mod.pypydoc_mod.pycpydoc_mod.pyopydocfodder.pypydocfodder.pycpydocfodder.pyopystone.pypystone.pycpystone.pyopythoninfo.pypythoninfo.pycpythoninfo.pyorandv2_32.pckrandv2_64.pckrandv3.pckre_tests.pyre_tests.pycre_tests.pyorecursion.tarregrtest.pyregrtest.pycregrtest.pyorelimport.pyrelimport.pycrelimport.pyoreperf.pyreperf.pycreperf.pyorevocation.crlsample_doctest.pysample_doctest.pycsample_doctest.pyosample_doctest_no_docstrings.pysample_doctest_no_docstrings.pycsample_doctest_no_docstrings.pyosample_doctest_no_doctests.pysample_doctest_no_doctests.pycsample_doctest_no_doctests.pyoscript_helper.pyscript_helper.pycscript_helper.pyoselfsigned_pythontestdotnet.pemseq_tests.pyseq_tests.pycseq_tests.pyosgml_input.htmlsortperf.pysortperf.pycsortperf.pyossl_cert.pemssl_key.passwd.pemssl_key.pemssl_servers.pyssl_servers.pycssl_servers.pyossltests.pyssltests.pycssltests.pyostring_tests.pystring_tests.pycstring_tests.pyosubprocessdatasigchild_ignore.pysigchild_ignore.pycsigchild_ignore.pyosupport__init__.py__init__.pyc__init__.pyoscript_helper.pyscript_helper.pycscript_helper.pyosymlink_support.pysymlink_support.pycsymlink_support.pyotalos-2019-0758.pemtest_MimeWriter.pytest_MimeWriter.pyctest_MimeWriter.pyotest_SimpleHTTPServer.pytest_SimpleHTTPServer.pyctest_SimpleHTTPServer.pyotest_StringIO.pytest_StringIO.pyctest_StringIO.pyotest___all__.pytest___all__.pyctest___all__.pyotest___future__.pytest___future__.pyctest___future__.pyotest__locale.pytest__locale.pyctest__locale.pyotest__osx_support.pytest__osx_support.pyctest__osx_support.pyotest_abc.pytest_abc.pyctest_abc.pyotest_abstract_numbers.pytest_abstract_numbers.pyctest_abstract_numbers.pyotest_aepack.pytest_aepack.pyctest_aepack.pyotest_aifc.pytest_aifc.pyctest_aifc.pyotest_al.pytest_al.pyctest_al.pyotest_anydbm.pytest_anydbm.pyctest_anydbm.pyotest_applesingle.pytest_applesingle.pyctest_applesingle.pyotest_argparse.pytest_argparse.pyctest_argparse.pyotest_array.pytest_array.pyctest_array.pyotest_ascii_formatd.pytest_ascii_formatd.pyctest_ascii_formatd.pyotest_ast.pytest_ast.pyctest_ast.pyotest_asynchat.pytest_asynchat.pyctest_asynchat.pyotest_asyncore.pytest_asyncore.pyctest_asyncore.pyotest_atexit.pytest_atexit.pyctest_atexit.pyotest_audioop.pytest_audioop.pyctest_audioop.pyotest_augassign.pytest_augassign.pyctest_augassign.pyotest_base64.pytest_base64.pyctest_base64.pyotest_bastion.pytest_bastion.pyctest_bastion.pyotest_bdb.pytest_bdb.pyctest_bdb.pyotest_bigaddrspace.pytest_bigaddrspace.pyctest_bigaddrspace.pyotest_bigmem.pytest_bigmem.pyctest_bigmem.pyotest_binascii.pytest_binascii.pyctest_binascii.pyotest_binhex.pytest_binhex.pyctest_binhex.pyotest_binop.pytest_binop.pyctest_binop.pyotest_bisect.pytest_bisect.pyctest_bisect.pyotest_bool.pytest_bool.pyctest_bool.pyotest_bsddb.pytest_bsddb.pyctest_bsddb.pyotest_bsddb185.pytest_bsddb185.pyctest_bsddb185.pyotest_bsddb3.pytest_bsddb3.pyctest_bsddb3.pyotest_buffer.pytest_buffer.pyctest_buffer.pyotest_bufio.pytest_bufio.pyctest_bufio.pyotest_builtin.pytest_builtin.pyctest_builtin.pyotest_bytes.pytest_bytes.pyctest_bytes.pyotest_bz2.pytest_bz2.pyctest_bz2.pyotest_calendar.pytest_calendar.pyctest_calendar.pyotest_call.pytest_call.pyctest_call.pyotest_capi.pytest_capi.pyctest_capi.pyotest_cd.pytest_cd.pyctest_cd.pyotest_cfgparser.pytest_cfgparser.pyctest_cfgparser.pyotest_cgi.pytest_cgi.pyctest_cgi.pyotest_charmapcodec.pytest_charmapcodec.pyctest_charmapcodec.pyotest_cl.pytest_cl.pyctest_cl.pyotest_class.pytest_class.pyctest_class.pyotest_cmath.pytest_cmath.pyctest_cmath.pyotest_cmd.pytest_cmd.pyctest_cmd.pyotest_cmd_line.pytest_cmd_line.pyctest_cmd_line.pyotest_cmd_line_script.pytest_cmd_line_script.pyctest_cmd_line_script.pyotest_code.pytest_code.pyctest_code.pyotest_codeccallbacks.pytest_codeccallbacks.pyctest_codeccallbacks.pyotest_codecencodings_cn.pytest_codecencodings_cn.pyctest_codecencodings_cn.pyotest_codecencodings_hk.pytest_codecencodings_hk.pyctest_codecencodings_hk.pyotest_codecencodings_iso2022.pytest_codecencodings_iso2022.pyctest_codecencodings_iso2022.pyotest_codecencodings_jp.pytest_codecencodings_jp.pyctest_codecencodings_jp.pyotest_codecencodings_kr.pytest_codecencodings_kr.pyctest_codecencodings_kr.pyotest_codecencodings_tw.pytest_codecencodings_tw.pyctest_codecencodings_tw.pyotest_codecmaps_cn.pytest_codecmaps_cn.pyctest_codecmaps_cn.pyotest_codecmaps_hk.pytest_codecmaps_hk.pyctest_codecmaps_hk.pyotest_codecmaps_jp.pytest_codecmaps_jp.pyctest_codecmaps_jp.pyotest_codecmaps_kr.pytest_codecmaps_kr.pyctest_codecmaps_kr.pyotest_codecmaps_tw.pytest_codecmaps_tw.pyctest_codecmaps_tw.pyotest_codecs.pytest_codecs.pyctest_codecs.pyotest_codeop.pytest_codeop.pyctest_codeop.pyotest_coercion.pytest_coercion.pyctest_coercion.pyotest_collections.pytest_collections.pyctest_collections.pyotest_colorsys.pytest_colorsys.pyctest_colorsys.pyotest_commands.pytest_commands.pyctest_commands.pyotest_compare.pytest_compare.pyctest_compare.pyotest_compile.pytest_compile.pyctest_compile.pyotest_compileall.pytest_compileall.pyctest_compileall.pyotest_compiler.pytest_compiler.pyctest_compiler.pyotest_complex.pytest_complex.pyctest_complex.pyotest_complex_args.pytest_complex_args.pyctest_complex_args.pyotest_contains.pytest_contains.pyctest_contains.pyotest_contextlib.pytest_contextlib.pyctest_contextlib.pyotest_cookie.pytest_cookie.pyctest_cookie.pyotest_cookielib.pytest_cookielib.pyctest_cookielib.pyotest_copy.pytest_copy.pyctest_copy.pyotest_copy_reg.pytest_copy_reg.pyctest_copy_reg.pyotest_cpickle.pytest_cpickle.pyctest_cpickle.pyotest_cprofile.pytest_cprofile.pyctest_cprofile.pyotest_crypt.pytest_crypt.pyctest_crypt.pyotest_csv.pytest_csv.pyctest_csv.pyotest_ctypes.pytest_ctypes.pyctest_ctypes.pyotest_curses.pytest_curses.pyctest_curses.pyotest_datetime.pytest_datetime.pyctest_datetime.pyotest_dbm.pytest_dbm.pyctest_dbm.pyotest_decimal.pytest_decimal.pyctest_decimal.pyotest_decorators.pytest_decorators.pyctest_decorators.pyotest_defaultdict.pytest_defaultdict.pyctest_defaultdict.pyotest_deque.pytest_deque.pyctest_deque.pyotest_descr.pytest_descr.pyctest_descr.pyotest_descrtut.pytest_descrtut.pyctest_descrtut.pyotest_dict.pytest_dict.pyctest_dict.pyotest_dictcomps.pytest_dictcomps.pyctest_dictcomps.pyotest_dictviews.pytest_dictviews.pyctest_dictviews.pyotest_difflib.pytest_difflib.pyctest_difflib.pyotest_difflib_expect.htmltest_dircache.pytest_dircache.pyctest_dircache.pyotest_dis.pytest_dis.pyctest_dis.pyotest_distutils.pytest_distutils.pyctest_distutils.pyotest_dl.pytest_dl.pyctest_dl.pyotest_doctest.pytest_doctest.pyctest_doctest.pyotest_doctest.txttest_doctest2.pytest_doctest2.pyctest_doctest2.pyotest_doctest2.txttest_doctest3.txttest_doctest4.txttest_docxmlrpc.pytest_docxmlrpc.pyctest_docxmlrpc.pyotest_dumbdbm.pytest_dumbdbm.pyctest_dumbdbm.pyotest_dummy_thread.pytest_dummy_thread.pyctest_dummy_thread.pyotest_dummy_threading.pytest_dummy_threading.pyctest_dummy_threading.pyotest_email.pytest_email.pyctest_email.pyotest_email_codecs.pytest_email_codecs.pyctest_email_codecs.pyotest_email_renamed.pytest_email_renamed.pyctest_email_renamed.pyotest_ensurepip.pytest_ensurepip.pyctest_ensurepip.pyotest_enumerate.pytest_enumerate.pyctest_enumerate.pyotest_eof.pytest_eof.pyctest_eof.pyotest_epoll.pytest_epoll.pyctest_epoll.pyotest_errno.pytest_errno.pyctest_errno.pyotest_exception_variations.pytest_exception_variations.pyctest_exception_variations.pyotest_exceptions.pytest_exceptions.pyctest_exceptions.pyotest_extcall.pytest_extcall.pyctest_extcall.pyotest_fcntl.pytest_fcntl.pyctest_fcntl.pyotest_file.pytest_file.pyctest_file.pyotest_file2k.pytest_file2k.pyctest_file2k.pyotest_file_eintr.pytest_file_eintr.pyctest_file_eintr.pyotest_filecmp.pytest_filecmp.pyctest_filecmp.pyotest_fileinput.pytest_fileinput.pyctest_fileinput.pyotest_fileio.pytest_fileio.pyctest_fileio.pyotest_float.pytest_float.pyctest_float.pyotest_fnmatch.pytest_fnmatch.pyctest_fnmatch.pyotest_fork1.pytest_fork1.pyctest_fork1.pyotest_format.pytest_format.pyctest_format.pyotest_fpformat.pytest_fpformat.pyctest_fpformat.pyotest_fractions.pytest_fractions.pyctest_fractions.pyotest_frozen.pytest_frozen.pyctest_frozen.pyotest_ftplib.pytest_ftplib.pyctest_ftplib.pyotest_funcattrs.pytest_funcattrs.pyctest_funcattrs.pyotest_functools.pytest_functools.pyctest_functools.pyotest_future.pytest_future.pyctest_future.pyotest_future1.pytest_future1.pyctest_future1.pyotest_future2.pytest_future2.pyctest_future2.pyotest_future3.pytest_future3.pyctest_future3.pyotest_future4.pytest_future4.pyctest_future4.pyotest_future5.pytest_future5.pyctest_future5.pyotest_future_builtins.pytest_future_builtins.pyctest_future_builtins.pyotest_gc.pytest_gc.pyctest_gc.pyotest_gdb.pytest_gdb.pyctest_gdb.pyotest_gdbm.pytest_gdbm.pyctest_gdbm.pyotest_generators.pytest_generators.pyctest_generators.pyotest_genericpath.pytest_genericpath.pyctest_genericpath.pyotest_genexps.pytest_genexps.pyctest_genexps.pyotest_getargs.pytest_getargs.pyctest_getargs.pyotest_getargs2.pytest_getargs2.pyctest_getargs2.pyotest_getopt.pytest_getopt.pyctest_getopt.pyotest_gettext.pytest_gettext.pyctest_gettext.pyotest_gl.pytest_gl.pyctest_gl.pyotest_glob.pytest_glob.pyctest_glob.pyotest_global.pytest_global.pyctest_global.pyotest_grammar.pytest_grammar.pyctest_grammar.pyotest_grp.pytest_grp.pyctest_grp.pyotest_gzip.pytest_gzip.pyctest_gzip.pyotest_hash.pytest_hash.pyctest_hash.pyotest_hashlib.pytest_hashlib.pyctest_hashlib.pyotest_heapq.pytest_heapq.pyctest_heapq.pyotest_hmac.pytest_hmac.pyctest_hmac.pyotest_hotshot.pytest_hotshot.pyctest_hotshot.pyotest_htmllib.pytest_htmllib.pyctest_htmllib.pyotest_htmlparser.pytest_htmlparser.pyctest_htmlparser.pyotest_httplib.pytest_httplib.pyctest_httplib.pyotest_httpservers.pytest_httpservers.pyctest_httpservers.pyotest_idle.pytest_idle.pyctest_idle.pyotest_imageop.pytest_imageop.pyctest_imageop.pyotest_imaplib.pytest_imaplib.pyctest_imaplib.pyotest_imgfile.pytest_imgfile.pyctest_imgfile.pyotest_imghdr.pytest_imghdr.pyctest_imghdr.pyotest_imp.pytest_imp.pyctest_imp.pyotest_import.pytest_import.pyctest_import.pyotest_import_magic.pytest_import_magic.pyctest_import_magic.pyotest_importhooks.pytest_importhooks.pyctest_importhooks.pyotest_importlib.pytest_importlib.pyctest_importlib.pyotest_index.pytest_index.pyctest_index.pyotest_inspect.pytest_inspect.pyctest_inspect.pyotest_int.pytest_int.pyctest_int.pyotest_int_literal.pytest_int_literal.pyctest_int_literal.pyotest_io.pytest_io.pyctest_io.pyotest_ioctl.pytest_ioctl.pyctest_ioctl.pyotest_ipaddress.pytest_ipaddress.pyctest_ipaddress.pyotest_isinstance.pytest_isinstance.pyctest_isinstance.pyotest_iter.pytest_iter.pyctest_iter.pyotest_iterlen.pytest_iterlen.pyctest_iterlen.pyotest_itertools.pytest_itertools.pyctest_itertools.pyotest_json.pytest_json.pyctest_json.pyotest_kqueue.pytest_kqueue.pyctest_kqueue.pyotest_largefile.pytest_largefile.pyctest_largefile.pyotest_lib2to3.pytest_lib2to3.pyctest_lib2to3.pyotest_linecache.pytest_linecache.pyctest_linecache.pyotest_linuxaudiodev.pytest_linuxaudiodev.pyctest_linuxaudiodev.pyotest_list.pytest_list.pyctest_list.pyotest_locale.pytest_locale.pyctest_locale.pyotest_logging.pytest_logging.pyctest_logging.pyotest_long.pytest_long.pyctest_long.pyotest_long_future.pytest_long_future.pyctest_long_future.pyotest_longexp.pytest_longexp.pyctest_longexp.pyotest_macos.pytest_macos.pyctest_macos.pyotest_macostools.pytest_macostools.pyctest_macostools.pyotest_macpath.pytest_macpath.pyctest_macpath.pyotest_macurl2path.pytest_macurl2path.pyctest_macurl2path.pyotest_mailbox.pytest_mailbox.pyctest_mailbox.pyotest_marshal.pytest_marshal.pyctest_marshal.pyotest_math.pytest_math.pyctest_math.pyotest_md5.pytest_md5.pyctest_md5.pyotest_memoryio.pytest_memoryio.pyctest_memoryio.pyotest_memoryview.pytest_memoryview.pyctest_memoryview.pyotest_mhlib.pytest_mhlib.pyctest_mhlib.pyotest_mimetools.pytest_mimetools.pyctest_mimetools.pyotest_mimetypes.pytest_mimetypes.pyctest_mimetypes.pyotest_minidom.pytest_minidom.pyctest_minidom.pyotest_mmap.pytest_mmap.pyctest_mmap.pyotest_module.pytest_module.pyctest_module.pyotest_modulefinder.pytest_modulefinder.pyctest_modulefinder.pyotest_msilib.pytest_msilib.pyctest_msilib.pyotest_multibytecodec.pytest_multibytecodec.pyctest_multibytecodec.pyotest_multifile.pytest_multifile.pyctest_multifile.pyotest_multiprocessing.pytest_multiprocessing.pyctest_multiprocessing.pyotest_mutants.pytest_mutants.pyctest_mutants.pyotest_mutex.pytest_mutex.pyctest_mutex.pyotest_netrc.pytest_netrc.pyctest_netrc.pyotest_new.pytest_new.pyctest_new.pyotest_nis.pytest_nis.pyctest_nis.pyotest_nntplib.pytest_nntplib.pyctest_nntplib.pyotest_normalization.pytest_normalization.pyctest_normalization.pyotest_ntpath.pytest_ntpath.pyctest_ntpath.pyotest_old_mailbox.pytest_old_mailbox.pyctest_old_mailbox.pyotest_opcodes.pytest_opcodes.pyctest_opcodes.pyotest_openpty.pytest_openpty.pyctest_openpty.pyotest_operator.pytest_operator.pyctest_operator.pyotest_optparse.pytest_optparse.pyctest_optparse.pyotest_ordered_dict.pytest_ordered_dict.pyctest_ordered_dict.pyotest_os.pytest_os.pyctest_os.pyotest_ossaudiodev.pytest_ossaudiodev.pyctest_ossaudiodev.pyotest_parser.pytest_parser.pyctest_parser.pyotest_pdb.pytest_pdb.pyctest_pdb.pyotest_peepholer.pytest_peepholer.pyctest_peepholer.pyotest_pep247.pytest_pep247.pyctest_pep247.pyotest_pep277.pytest_pep277.pyctest_pep277.pyotest_pep352.pytest_pep352.pyctest_pep352.pyotest_pickle.pytest_pickle.pyctest_pickle.pyotest_pickletools.pytest_pickletools.pyctest_pickletools.pyotest_pipes.pytest_pipes.pyctest_pipes.pyotest_pkg.pytest_pkg.pyctest_pkg.pyotest_pkgimport.pytest_pkgimport.pyctest_pkgimport.pyotest_pkgutil.pytest_pkgutil.pyctest_pkgutil.pyotest_platform.pytest_platform.pyctest_platform.pyotest_plistlib.pytest_plistlib.pyctest_plistlib.pyotest_poll.pytest_poll.pyctest_poll.pyotest_popen.pytest_popen.pyctest_popen.pyotest_popen2.pytest_popen2.pyctest_popen2.pyotest_poplib.pytest_poplib.pyctest_poplib.pyotest_posix.pytest_posix.pyctest_posix.pyotest_posixpath.pytest_posixpath.pyctest_posixpath.pyotest_pow.pytest_pow.pyctest_pow.pyotest_pprint.pytest_pprint.pyctest_pprint.pyotest_print.pytest_print.pyctest_print.pyotest_profile.pytest_profile.pyctest_profile.pyotest_property.pytest_property.pyctest_property.pyotest_pstats.pytest_pstats.pyctest_pstats.pyotest_pty.pytest_pty.pyctest_pty.pyotest_pwd.pytest_pwd.pyctest_pwd.pyotest_py3kwarn.pytest_py3kwarn.pyctest_py3kwarn.pyotest_py_compile.pytest_py_compile.pyctest_py_compile.pyotest_pyclbr.pytest_pyclbr.pyctest_pyclbr.pyotest_pydoc.pytest_pydoc.pyctest_pydoc.pyotest_pyexpat.pytest_pyexpat.pyctest_pyexpat.pyotest_queue.pytest_queue.pyctest_queue.pyotest_quopri.pytest_quopri.pyctest_quopri.pyotest_random.pytest_random.pyctest_random.pyotest_re.pytest_re.pyctest_re.pyotest_readline.pytest_readline.pyctest_readline.pyotest_regrtest.pytest_regrtest.pyctest_regrtest.pyotest_repr.pytest_repr.pyctest_repr.pyotest_resource.pytest_resource.pyctest_resource.pyotest_rfc822.pytest_rfc822.pyctest_rfc822.pyotest_richcmp.pytest_richcmp.pyctest_richcmp.pyotest_rlcompleter.pytest_rlcompleter.pyctest_rlcompleter.pyotest_robotparser.pytest_robotparser.pyctest_robotparser.pyotest_runpy.pytest_runpy.pyctest_runpy.pyotest_sax.pytest_sax.pyctest_sax.pyotest_scope.pytest_scope.pyctest_scope.pyotest_scriptpackages.pytest_scriptpackages.pyctest_scriptpackages.pyotest_select.pytest_select.pyctest_select.pyotest_set.pytest_set.pyctest_set.pyotest_setcomps.pytest_setcomps.pyctest_setcomps.pyotest_sets.pytest_sets.pyctest_sets.pyotest_sgmllib.pytest_sgmllib.pyctest_sgmllib.pyotest_sha.pytest_sha.pyctest_sha.pyotest_shelve.pytest_shelve.pyctest_shelve.pyotest_shlex.pytest_shlex.pyctest_shlex.pyotest_shutil.pytest_shutil.pyctest_shutil.pyotest_signal.pytest_signal.pyctest_signal.pyotest_site.pytest_site.pyctest_site.pyotest_slice.pytest_slice.pyctest_slice.pyotest_smtplib.pytest_smtplib.pyctest_smtplib.pyotest_smtpnet.pytest_smtpnet.pyctest_smtpnet.pyotest_socket.pytest_socket.pyctest_socket.pyotest_socketserver.pytest_socketserver.pyctest_socketserver.pyotest_softspace.pytest_softspace.pyctest_softspace.pyotest_sort.pytest_sort.pyctest_sort.pyotest_source_encoding.pytest_source_encoding.pyctest_source_encoding.pyotest_spwd.pytest_spwd.pyctest_spwd.pyotest_sqlite.pytest_sqlite.pyctest_sqlite.pyotest_ssl.pytest_ssl.pyctest_ssl.pyotest_startfile.pytest_startfile.pyctest_startfile.pyotest_stat.pytest_stat.pyctest_stat.pyotest_str.pytest_str.pyctest_str.pyotest_strftime.pytest_strftime.pyctest_strftime.pyotest_string.pytest_string.pyctest_string.pyotest_stringprep.pytest_stringprep.pyctest_stringprep.pyotest_strop.pytest_strop.pyctest_strop.pyotest_strptime.pytest_strptime.pyctest_strptime.pyotest_strtod.pytest_strtod.pyctest_strtod.pyotest_struct.pytest_struct.pyctest_struct.pyotest_structmembers.pytest_structmembers.pyctest_structmembers.pyotest_structseq.pytest_structseq.pyctest_structseq.pyotest_subprocess.pytest_subprocess.pyctest_subprocess.pyotest_sunau.pytest_sunau.pyctest_sunau.pyotest_sunaudiodev.pytest_sunaudiodev.pyctest_sunaudiodev.pyotest_sundry.pytest_sundry.pyctest_sundry.pyotest_support.pytest_support.pyctest_support.pyotest_symtable.pytest_symtable.pyctest_symtable.pyotest_syntax.pytest_syntax.pyctest_syntax.pyotest_sys.pytest_sys.pyctest_sys.pyotest_sys_setprofile.pytest_sys_setprofile.pyctest_sys_setprofile.pyotest_sys_settrace.pytest_sys_settrace.pyctest_sys_settrace.pyotest_sysconfig.pytest_sysconfig.pyctest_sysconfig.pyotest_tarfile.pytest_tarfile.pyctest_tarfile.pyotest_tcl.pytest_tcl.pyctest_tcl.pyotest_telnetlib.pytest_telnetlib.pyctest_telnetlib.pyotest_tempfile.pytest_tempfile.pyctest_tempfile.pyotest_test_support.pytest_test_support.pyctest_test_support.pyotest_textwrap.pytest_textwrap.pyctest_textwrap.pyotest_thread.pytest_thread.pyctest_thread.pyotest_threaded_import.pytest_threaded_import.pyctest_threaded_import.pyotest_threadedtempfile.pytest_threadedtempfile.pyctest_threadedtempfile.pyotest_threading.pytest_threading.pyctest_threading.pyotest_threading_local.pytest_threading_local.pyctest_threading_local.pyotest_threadsignals.pytest_threadsignals.pyctest_threadsignals.pyotest_time.pytest_time.pyctest_time.pyotest_timeit.pytest_timeit.pyctest_timeit.pyotest_timeout.pytest_timeout.pyctest_timeout.pyotest_tk.pytest_tk.pyctest_tk.pyotest_tokenize.pytest_tokenize.pyctest_tokenize.pyotest_tools.pytest_tools.pyctest_tools.pyotest_trace.pytest_trace.pyctest_trace.pyotest_traceback.pytest_traceback.pyctest_traceback.pyotest_transformer.pytest_transformer.pyctest_transformer.pyotest_ttk_guionly.pytest_ttk_guionly.pyctest_ttk_guionly.pyotest_ttk_textonly.pytest_ttk_textonly.pyctest_ttk_textonly.pyotest_tuple.pytest_tuple.pyctest_tuple.pyotest_turtle.pytest_turtle.pyctest_turtle.pyotest_typechecks.pytest_typechecks.pyctest_typechecks.pyotest_types.pytest_types.pyctest_types.pyotest_ucn.pytest_ucn.pyctest_ucn.pyotest_unary.pytest_unary.pyctest_unary.pyotest_undocumented_details.pytest_undocumented_details.pyctest_undocumented_details.pyotest_unicode.pytest_unicode.pyctest_unicode.pyotest_unicode_file.pytest_unicode_file.pyctest_unicode_file.pyotest_unicodedata.pytest_unicodedata.pyctest_unicodedata.pyotest_unittest.pytest_unittest.pyctest_unittest.pyotest_univnewlines.pytest_univnewlines.pyctest_univnewlines.pyotest_univnewlines2k.pytest_univnewlines2k.pyctest_univnewlines2k.pyotest_unpack.pytest_unpack.pyctest_unpack.pyotest_urllib.pytest_urllib.pyctest_urllib.pyotest_urllib2.pytest_urllib2.pyctest_urllib2.pyotest_urllib2_localnet.pytest_urllib2_localnet.pyctest_urllib2_localnet.pyotest_urllib2net.pytest_urllib2net.pyctest_urllib2net.pyotest_urllibnet.pytest_urllibnet.pyctest_urllibnet.pyotest_urlparse.pytest_urlparse.pyctest_urlparse.pyotest_userdict.pytest_userdict.pyctest_userdict.pyotest_userlist.pytest_userlist.pyctest_userlist.pyotest_userstring.pytest_userstring.pyctest_userstring.pyotest_uu.pytest_uu.pyctest_uu.pyotest_uuid.pytest_uuid.pyctest_uuid.pyotest_wait3.pytest_wait3.pyctest_wait3.pyotest_wait4.pytest_wait4.pyctest_wait4.pyotest_warnings.pytest_warnings.pyctest_warnings.pyotest_wave.pytest_wave.pyctest_wave.pyotest_weakref.pytest_weakref.pyctest_weakref.pyotest_weakset.pytest_weakset.pyctest_weakset.pyotest_whichdb.pytest_whichdb.pyctest_whichdb.pyotest_winreg.pytest_winreg.pyctest_winreg.pyotest_winsound.pytest_winsound.pyctest_winsound.pyotest_with.pytest_with.pyctest_with.pyotest_wsgiref.pytest_wsgiref.pyctest_wsgiref.pyotest_xdrlib.pytest_xdrlib.pyctest_xdrlib.pyotest_xml_etree.pytest_xml_etree.pyctest_xml_etree.pyotest_xml_etree_c.pytest_xml_etree_c.pyctest_xml_etree_c.pyotest_xmllib.pytest_xmllib.pyctest_xmllib.pyotest_xmlrpc.pytest_xmlrpc.pyctest_xmlrpc.pyotest_xpickle.pytest_xpickle.pyctest_xpickle.pyotest_xrange.pytest_xrange.pyctest_xrange.pyotest_zipfile.pytest_zipfile.pyctest_zipfile.pyotest_zipfile64.pytest_zipfile64.pyctest_zipfile64.pyotest_zipimport.pytest_zipimport.pyctest_zipimport.pyotest_zipimport_support.pytest_zipimport_support.pyctest_zipimport_support.pyotest_zlib.pytest_zlib.pyctest_zlib.pyotestall.pytestall.pyctestall.pyotestcodec.pytestcodec.pyctestcodec.pyotestimg.uuetestimgr.uuetestrgb.uuetesttar.tartf_inherit_check.pytf_inherit_check.pyctf_inherit_check.pyothreaded_import_hangers.pythreaded_import_hangers.pycthreaded_import_hangers.pyotime_hashlib.pytime_hashlib.pyctime_hashlib.pyotokenize_tests.txttracedmodules__init__.py__init__.pyc__init__.pyotestmod.pytestmod.pyctestmod.pyowarning_tests.pywarning_tests.pycwarning_tests.pyowin_console_handler.pywin_console_handler.pycwin_console_handler.pyoxmltestdataexpat224_utf8_bug.xmlsimple-ns.xmlsimple.xmltest.xmltest.xml.outxmltests.pyxmltests.pycxmltests.pyozipdir.zip/usr/bin//usr/include//usr/include/python2.7//usr/lib64//usr/lib64/pkgconfig//usr/lib64/python2.7/config//usr/lib64/python2.7//usr/lib64/python2.7/test//usr/lib64/python2.7/test/audiodata//usr/lib64/python2.7/test/capath//usr/lib64/python2.7/test/cjkencodings//usr/lib64/python2.7/test/data//usr/lib64/python2.7/test/decimaltestdata//usr/lib64/python2.7/test/imghdrdata//usr/lib64/python2.7/test/subprocessdata//usr/lib64/python2.7/test/support//usr/lib64/python2.7/test/tracedmodules//usr/lib64/python2.7/test/xmltestdata/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:41898/SUSE_SLE-15_Update/f9a9b005b4af8d864ff6b78ecf7dc849-python-base.SUSE_SLE-15_Updatedrpmxz5s390x-suse-linux                                                     !                         "                       "                                          #      #               $                                                                                                             #                                                                       "                 #           #        "  "                                                                                          %       &''(( )Python script, ASCII text executabledirectoryC source, ASCII textASCII textpkgconfig filemakefile script, ASCII text, with very long linesmakefile script, ASCII textPOSIX shell script, ASCII text executableELF 64-bit MSB relocatable, IBM S/390, version 1 (SYSV), with debug_info, not strippedBerkeley DB 1.85 (Hash, version 2, native byte-order)python 2.7 byte-compiledUTF-8 Unicode (with BOM) textUTF-8 Unicode textISO-8859 textNon-ISO extended-ASCII textASCII text, with escape sequencesNon-ISO extended-ASCII text, with LF, NEL line terminatorsASCII text, with very long linesASCII text, with no line terminatorsuuencoded or xxencoded, ASCII textGIF image data, version 89a, 16 x 16JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, baseline, precision 8, 16x16, frames 3Netpbm image data, size = 16 x 16, rawbits, bitmapNetpbm image data, size = 16 x 16, rawbits, greymapPNG image data, 16 x 16, 8-bit colormap, non-interlacedNetpbm image data, size = 16 x 16, rawbits, pixmapSun raster image data, 16 x 16, 32-bit, RGB, no colormapSGI image data, RLE, 3-D, 16 x 16, 4 channelsTIFF image data, little-endian, direntries=17, height=16, bps=1242, compression=none, PhotometricIntepretation=RGB, name=python.tiff, orientation=upper-left, width=16emptyPython script, UTF-8 Unicode text executabletar archiveHTML document, ISO-8859 textPython script, ASCII text executable, with very long linesPython script, ISO-8859 text executableHTML document, ASCII text, with very long linesPOSIX tar archiveUTF-8 Unicode text, with very long lines, with CRLF line terminatorsexported SGML document, ASCII textXML 1.0 document, ISO-8859 textgzip ERROR: Stdin has more than one entry--rest ignored (Zip archive data, at least v1.0 to extract Zip archive data, at least v1.0 to extract)  !"#$&'(*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeghijklnoprstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RPRPRPRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR!Jي-}.x.utf-8f043ff09f9859f1132d2ed68d1515975a77ce3f400fd780a0674262dd763650e? 7zXZ !t/dW;]"k%Ia ]i$늈r rp[V}XEd54oBc/_/|ػΣ䇷f=#=r:[Z+Gn#11m& ~^"_F@`I~,wܕ K3e~hnD@88ѭi3м -!KT:˺P(HJ."ic7^򳝞+zւ]N@ʿt. KN?P\2j5+ހ,Kl/6 MMbA힀$'HK_s;t"J;Љ0R:ܱ+NY.]k]/P>y[,vNu37WDf9Qy엥:.HA\AgT>}C@S|ʋ5vwR S`+enC: }ox9QYF--.x= 5AH:Mqi e|?b/y iAq2)F0R=0O@<}`W?!>$K݊em^Yccߚ뵉f$rQNڭ& ThyrǹKdf|~[-'pW`՝x S }A#eym.3ޝMbFŪ"d_~ļoeHpܗ/N9x9$2MxU@o}L1Gb>X(G_ >^|L~eaXE=mMI-_\ aqjH$`]S8;$vj ?[ G c4FRB4}(4 MZ̬ٕ V3vGNJS=($t#~"%8|q^F3b;OQ0ͼ\V]d= - &]@b3jxjX v^¨Y~f' |«^.Zv.EjWUEnntx<e@Ƭ=vRwl _aq\S{(W V:}߱%ƾq'! ^< ; /< plɕ;VGWUrV+#nu7l;(=a U-Gp 8s6Q &I[䉉kgcSDB'8^5C[EXr͆YF\vEg5w` +j96Қl7/R`Otk(!O3P;FaL2 ǩTuCɔ݄φ׿7Nvס^_(6)XF455=2d߆eQ-~33dzk[$G{3P Ruʳ,`t&{_ ~(@B- _84 ƎE'^Ca|# kHXHCNr4AUjZզUM;.DŽ b:\gjۃ,(>qDM:&8 YOgPEbL:Cނ'8'ƜS+_gB/5OWM%s>eL |e\Sh܆)8,I޺3,BKXwr A@V]!+N}$[p8 =ųFXpԫ'u:'izhw(Z2*\ ˝1=8;?i'[%dh(ާQԽ^]fӓо8HS>8zuUKjxŬ~~N( ڰFJF.s})BZ#!(L&FRZ\0rc'C)Ìytib +< loes EQh1کDu @0DIKhej!EZ{jĀLUc"DL2zRo,5Ì'.2Lz9m߶,镛lUE;}4xߤJaGς!ǔ*w.uATki%5X [K[K,'>㫭7O#nEI.wdfFʊ>`_kQ݂IlJ݇uB` mom>xIlP'+lGoPƫ?k =_%LmNakK_cZMH?R֣sX9,,K+Γ3JJt?25^b/Vs0!b'`PinNyP+Ƚ4F'Q 'er|)"c3;͐΃ίM}Rն 5)նLtWM E~HUhi4Q{11_.{jDQvʊaD֬%~}Liw ;[jiPyzKBDg_GWx[t ;fз;dv8`MfɢoR,1G/C> ngQLhL%[3| #T|_tt\؟-?Tʏ+5+0P,TLI<]p>Y6wZη|K̞9j~`{,aNebMFmh_>(=ņ_XO>@Ns)Ҫ+$끹GeUvcN5.2 VՕeGjY͎^7jCŚf@6M? 1`qm,(L";kyŮrrkswMە#-q|߁aYwqa zMlųymer#V77؍ ft&@'ȑS8,޿E[`\*a{ETf^u@CwN./u]S[ziaaQnjC(-G evDLR4Xݖ0VVR#ŷQ5G QuS&=iglݹϑ:zJcF:M{6|&zbUW&-&@>= ӸY=49'_#Hf=:]x7#̪NГZ3wQu!q PA%>d{Il\dي-z޻󩙻lGM{}Nzť=GqIaLhh̤I Y?jNjO\뿪%Po[ފ#s^\uS!Z +ӋX /柀oA3L6|(>ՙ.:! IwA@`} [lY#}?w 6a($,asF°DLOV)4)!"%8TGNeX7p ag uQξ!7aEj;A >c.v|w˰zZ_T(!HSoϣHBiJ7 ј=gX[It ×ABv)+[ÅTjsTKTD#֭D2.{R۩gL;~O )g U'L:t{)iRq9|tázfX}I rňY啒@l)j]S=fW2|YؠɆeAK(y EgZ$/i"#ASS_ZiQ*rL'Υ;v4G-1"ilTs[u@`w>\t< *0*p0Nx;96,]A~?*X76^ghyk΃P;+"fi/l% H踗F>5 |Q{muMyZI."al|0#T):݀t\ ^c(ǹ̈F6sW3=_s:Y7PjVpG9fS&tqcɾgķdCjͮ'÷JB`Z)`H@ \GFvE _04V# XTnީň^<5NP9nsNj:}g@L2 sgdo9N>Y`*j7RM1^Ԡ<(,L Y9[Vjt?21ӟ/m1_R6&Ԃ>MN'=xZr3L.l(ےZ$i.rb{TiѝmhAzy/Q,jw]y#"ĭE,Z W_ΩW38gAFר:5F#sx'ngfgs+XQ>λB iDlLB; |M77hH3z}˦LY)4[ĬiTsO0BٖB4J?dkhG+P~]'e4Eti JRrDOTflqs)¡qARUkKs92 :N םTINim/y`QZF ɶP?%r0IÅb%''[?*"t:|քI#3 s x77f~=|ͱ=fǝF8֚ "lkԍŋ5w[OX-w6vY>,Q vYL 0;f+Ȯ"؁aUA6 Sr~w^V ~eb.lgocŔA[*.8yZ?ҩU2&MG.Ѫ@Е!Q*H%NDv4M=۾m̧:>85$G"|mgG1QSh?мVI%S2?=[MF.ސiygtP5[k2<|`A[2 >!`-Wگ5SC:.1іZ*߇rK]`DIt+z9&*ȜJ*"x"-#-w{\x|:eW':0 z^d ;%n^3W uM۪@f6n,~Bdi#uw$shk-kWiuDpQNV(Qy߸y>79؄ 1cUAF%lzqF.Vb!$f {NjTo̔xРQP(%ӏ%VNqpr]|/a -Wm5 lFf4YoErIbQ玵8d.:~(WGseֳwK^u6B \K=-@@МK8n -(6 J»?=I礅?ЂБ+"f zv$ ܼI?,c2$ 4Y$h?hE PhOc8՞<޲2XVfiVFH,^< l TQU<0(7 sE&7" &ҏۤ,U1dol4W]n_, ik,icVPy=c{%ZvG* `u)']梨t2Oh+1|ɝkqVwls2Mgt.9;Q*s ^t O 9w Q.+acV#߳PF^bYMMC Vwl \!n>mQzN2trOpi5ݨ:?|ֱ0f(e5~5h8ĐYL0=Eaӭׂܙo+L6 鸑.,AEʐԌ0sU!|~lEo Bg^8=Fp X-9 Ki_ꏫ|/wݎ`,ۤ1DY*ZvBo$~/-3:B&6Hmֺ73ղNsq{u8^k#I$9xKsˊ|R&C]6U}|m-C(ķ\:H(A|DZq(neӂ죥ɚptA`£]%_$;y{wmC$,;?^by= *6j'0oyXDQx/((zM_c\Ƨ#ρ=,Epo}fxʒrкMEǴȪVbɊFM=tO:Nr!5g !ql^!!UkflGT~)t UHm f:␄Py$ I5CCO r5țѪoW^R ;<fm/O[sVY/]4ϱ!԰_Rcz3sV3~1Z)崊hj~y¹@Do(ths/>ၶ{v@Z$(yU+i.VGM|y u%TǤ Pi=0Ld}?KHƓP_Oz9}<O0 ӬC},="Znbt|,0FB7cv2x'`zƤ+d@.V>*Ae5z[+XjݛHBF9 3h$ ۱糜7)<'86M(c2.W? h/,r!?<;.L ^%L#Exu?KԾds`A~Y;MO>O`#>sE/@vMJ@!'9xvO+o'kw}kAu';ƫkuh͞=]Z^d6f4MC}&zbל2@ʑr Uتe>%$vmDyS~7ҠpLN0YJ\tʳ`9@%%io3(%Q[ Cf%1qدѯULT51ld d&^VßJ^XZr@Q}#z-{1r]͖IЮ5RP ~"ý|Z@].~{#$Gs-HE$=; QŦs絖d 1$p6VLis*Zϛ[Tф"giPl'ݴ7fJB iNwtݝaOmE* "X);J2Ns|rE`m?cg89ch:1{g V/C=SUf 9[guw Ѧu͠Efň7#Η iĶF݆y*Cl$ M(t0οpT!BtD'ɶ^WNPxk?O< [RX94pV  ws~*^#P!Gc2fajޥJ~_SB1ձ|⑖8N,Iy,׉{Luw>X;ŠK+VCG6;ȠR?(i.C|@ 7H$,V=OM }t1%rעːq*rR&t1+fڋ|rg]]kOk_|Ϛk-|IpRH|ho XpL#>,3t1J8YE) X7%Z·H>ט  4RIrpTnN g^/X9 .^՝$797QWE׏sD[Pfa:B565E@Ѱ#i=\Y<\W}G-+EFb Xvdȼ!X-'$'<2 8m#i¯ɁwDN0VkȄ@Un@߅%56bKs6L#Ҙnj@P;AKIvLK qb=y"^Z%RpU-<}%L"Z(`([$bt2graW{7s<{o7G[XOzbLfNl/ ʿgm hfjpӲ{%ƚ @F'w>=]f12W)\&hpү`xЅ>}฾jp sN6awN62$q#<Ae\kYWpi?hU?Cб,Y)4> ĺ O*7 Mǃ}a|Fn#{ (9 Wb2ǝ\p``)vjr턴|\jRҋ泱4/L ka_3Vg&< .`;X>0"+S'ʥ_"xnDgtA0'.7p *^f dV2<º {ַij5(hStQ{G"l"WS>1Y,"T60B588uU_T$[˱w@- 5h 8kjS_MJwTW]bԄ(6=!8i5SIZ7eh>|uj[c:mڡ9UPl3Tm#r:z!HhkmP&bA2C/[~Q$#o9AQi8@"ŀNmp:Ϛºco2m,s0`%uFhk8Yh媀i3I-y' \?x٣cf1Q 3YFȘ \d#췺\ґK,;d^6K] W#[GXwZ u=Mm[H&}æPgS* e&Z~JzPg d/J):{@kr /a_\ eH jd&&s}yDo;&7,}f6gxI&)Xu5Nꧫ|FX@ /[E SU"%Ep GڽLzVlAiks I.1%F[hW/7-<6+v+ho/}F.0 7WJ@>ԎhoBkd!iY} )[I 7GVm:s<[1#(8N\=K.F6Aw.ő&?}o tv5t/)0 W\Z~l 6LM'u21ŭvxI`;=Reg'GHt$!)Z*kV\䩙4Y}Qc7P@ 0 G$9S4s8N\?+@eomsxeBWbh| v -ͼ-KrHt oS _q N0,a^ >=]GYOܧ}mx  h*xgYstC~nBtX;wCܩ}E. Yr=!\ RHi{G#cO>t_⻭]NUh"t)vM5R15$o8 g3zB`hJ07 Sş]?..!@Ś…;h# XoyV|xÆ!MNwhp@8pnsPZ8L=p&%9۹'"8d\kli!Gt28g/$PI/nbLٜP"ܖfg$aV_,`%tƱTF=ӕhv[9&86rFkmBO%N<3c5Î&Se*8IPPX^Æ!V, e~ꅆ^dْoQ#AHkUv$'7Ib F Gbjə[e0sM`=%|ŋɇ]dcu5t$=[ JYgm0:ՠ8P}o&=hA'eKl݇0BXJz;$t:"x3YguO]0=,sޮS" [Ԇ: 똽1z䥍@4V+!S4%)X:R)jA&?c}j=DQ_*1#\ O%NYFB)P]m|dZ{*0tu3Be,N_epX[* 0GeD143h\V$Mc[vczZ=-axFtEfӬ&Kr60W9aX 6$P0!`*k"o$F:\fyIrq`R$R}K#33 f6_C\e*xs T6Bmث7&̮X@!bQ(Uե1<o1Bx/8*<>[Ήu5gލ.y l<6YGmxxO1[D>#I>\ĝy4HcbSqKF äo9Ngi/љrqp$~ۨŷGDPc:?L(7]>  -23Wxymƃա7RS9SADO jt.LD ٜQι%V4k2T'v( (3H_Babn۠*M{}\cx9lGkÑ21+i!w}uZpKQddFqZ &tP㵍]1H#=y}CKPv}j|l>mObT5 eYvU (Cb޷9ȅ(=GS0(A.i=ds$95rw%B΄o5Jx]w\d;V޺͹i&qk*/GzS}i;لfRLm폔yq^ BT0#^.]mL߁Yʢ#FGvON4~[ʦ~Ҷ L#꬝dB"FB Yj-ׄ("geJѕ*7odCB+T;=7 p{SZnm<"&P`ferՆĭcd+ N^P,닲ho ߻ 3w;h.]xQv^M'9xW YZ