tomcat6-javadoc-0:6.0.24-115.el6_10$>x9w!g>8|?ld$ ( Z  ( # /0 F8  ݎX|(#8,y9y:)yG^HvI XY\]^!cb6d7Fe7Kf7Nl7Pt7huNpvex wfXx}`hCtomcat6-javadoc6.0.24115.el6_10Javadoc generated documentation for Apache TomcatJavadoc generated documentation for Apache Tomcat.^x86-01.bsys.centos.orgCentOSASL 2.0CentOS BuildSystem Documentationhttp://tomcat.apache.org/linuxnoarchM L fY o#0@;=9a*< a11 $pC$D p+egi:4Y>I(GW;ei,E(Or1hSB[&\BL< gi`#~ViQ]FFNYQ0NGG%NNHN5NCu'{uK\hkrmz.c1 D9!hUbqtJWaZ)a>d M2hC=.LIkE5gJim -'l*,A@?L.)K 0LU1-:b(ŭxHa7 ,2369?F:633^ 75@Bb~86@/BP]q* 5%cCCU\!*<?84O(u"F&my( `)2ZLWevK%)6$HJ p!"?:$0ӣj]+uJlL|HbUA '5=#>38z$eV!%$?1*[O0}:Cc?0Ho;R=r`e"~'*/bT5BN"F"FJMfB0T)xY;yz@gFn-<KC<Z3* R20XeU9(1}80b-f# 5""$RN6PbF"?_#/,=TUX"cS&!bd0vju%. >/&uN5u'.R,64]2Dl/D:,s+,MM.).2! 3G-O,'' F<4M;~.?H4DO69Sn6 .949$5972;H8)B(9MAR@:336O"]2?6H6$@&/,JQC3U&*/>H0mm>-x#U'(-&J=&ti8;4~#/*~`F]Xf(_?L2gl3-]1qO/. D'$c$ 5:,"OH((=2-6,82lQw KK&SvmFa:]%M"C+3;bpW?6<sMGrgwW"TBIkW?L~+uj# !t#A8b'D$0_7O}-#{t.(6(E:=6D;)K`.5'21^5$xSWBJ,XDg[b3ej!'D)) 5eW;O`.)*G]n)*J<yq!'dCYu%706#*|+*z#*2+D+3IuV8BV[VyMM0M,! M'321Yl:=0`,:xW.AXLLLVK[W_ 81-A8({, $Rz]BWBn@FFR7B@REBtBH(V2BCE^GBCIiBBhB}FEBEB=BwJBe$eFE|Zfg8WT9P;J5=r8u%9;} (~ج_T2 rA1,r6i'(&U0{3?4(.K_$hϣ2F62>5)'c%Au1g)&*FP-~7E65|'L$ "=_##$G=%t a [<+T9 %2B4!JǕՀ;6>B4 E'P%"6&\=J`[;NG'!((((H(~((W(m((~(G(C' N*L}8QeD0Md bT# jJdIE <v:(!q<t#'+X.)1AbEHjwlu1ZB:!'MeD-HfHXu%|74$GW|;:QA vQw"$\25qP8N| #5yc;J(8%6Y5 5Gt9#2<5?%Q<^/+?'4y-|''+80s&i)&h3H2U *# 5(a-N'3hi.6"186]MB9/6+BD $(&B/,sG)$?,B@:d2EU93Qo>eN_!Zaou[=C,x-9\72O0(b%xNRr'=4)  JCGCB3F$/@-zCBi.0 O1$(*E"4AGW9Nw !14>1GlR ?[G%k~Ƕ/K p)/G(i;So*9<=e^NdFD^]Y8%o/u${([>1^3fq1|O!DBj>Wn&N.+*.)*R 6n&<'e)(A)7\^9[1X-Fl>N^5FJ84;-!#BK/9<<EI;g)9ub' M %C7'p<C/. )*p@z:!6%C).:/<L$EpZ%C7-f6+a/:+4"6c;n:'{}5F&Ak"_6P4/NI62|*4\)6Ir|9j^e9E!A8"L"O*&"!XEBu.{hAxL 2 #)Q+A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^2ccb109a0efda557a7b5a5c3c58f0d21838f886a75469b3edee477893d4dd6fde5cd7b0f0b49c3d38c59d59e0cd9d679cedc897b0afc189119875b5f6e7c68a18198c41bd84b628c7657d9dd066ef5702bf4a65b7bffd3dff2ca5ff76a948ef577cb64fcf179abadea7f850a3ea0fd9b4b2ebd3288ef95574ebe659fe6d7a67f8f44b1b6d68f3516ca25dd448d22f04b84ab5bec41db7066b85318d432a3a7e8b855b02e3e4283c949c466520894668405370cfcf9c2bd2a00684a5e405d5d41c262af4e99f6c258d96b12a345074a2f7d4ac441ad5bc36fcdf397435ce4ab52c8355e48e047059b1e2f3a7773a1823cc75cf2358e05b5771b2ca7a6dc53a65b093fe381c329e24de205625d423bfe7ba930268e9d0fcd583001ab6c3f0dd06499c4bf05f46c61defc2ec12ff08b4bdb21d47b38cb3f9f68051f7118ecc379c87f8f484d5ead2765695a5869ccc40ffb1dbd04efc77a907869a9e039283118c5c22bac2c883ad6f7929bf1d5482c7f0640ea2df602f819470ab70e4e4027d684aedca7ef8725ddd488f5cba6ce78873b86372b9a94e66898705e85448ec8c7a65d61d07c06cc00acef49a84e5d1ee0b73f4e54620c0eec7a19223070a3abbaa378b9e2d37fedc7ad7f0fb0c7dff4eebb9d9adecfefd96ef584674f1b72d0da3acf4f78cc190b24477848d2e56ae7ee496af4d73fe94e4378d9fc659ca65d3bf5860e33412aa03cac56d2596b153c38b9b201e26d93fbbf6c8f143560286a0b6c23e67d8a4d0d81066353658f4be822cb90d1fcb900d94fb29b640678500f90390acd46ae03d059c629452fe6fd08ebea8babb5efacc73bf1cb984b14e543ba6ee0414ef4f1b9e79f50655512b238d2f250c9573c9f8a96da19c317b1cd6d606b2d839bdf63ab0a05866df91de1a6ba7ed1e2da6a1c69d86ee2f6012f97f4ded278bc808ea6dce188c794221c4f13ad1a85153dbf501e442345e99242f1f430280b29d44e9cfc0993d26e49a7685543b6dd4d2166b6ad2fe70ecb5222a283515fc5bf68eb3774d8c534a7da1ab20c8ef01b910bf2548efb1d8c94c89d1df7ca348185ec1133ae0cf56cc69da67203835ffa8c119f258186757d0f28fee34bc78e15ec89e355169c10e6396a110cb25d212fe5fa6edbb79d3e617e121e7900598045d271c7a09e7e7d8e675f1f1824539b2b31ac40de37888232c5aa5c7c8197dff03df0eccdbb80ca32816095d372516fb0ab2acba2918b2e785a1784c10faf3e6619c90151be5ccf1a6f117c3431202ff72f3f51a9a97ca357fe959fad5d1a442d687bbee7141b422439ecc45a32e93f5d0d893eeb18ed59d81aab0834edc194a1d936370bd558854dc146dc7cf98a70876ef9034cfcea03a5350dd6be3382d8425aba3f501ee30b044e8852d4af1211ed994d83b7fd3c582bb55a5ae2fe3c08c0193cd0df4ce988ac5749881e531434a6d1a785217c7870ec932894e144c277d21845d189e4b3893640721872fd7819afebabaefa631614936e006cb8b7a3393c5c24f1e6aea004416e50ac8552d1461006a01bb8ec8dda93fa02f004c9d70f5c12c95c8dff69d9c41b63c7e77438114aef6c2543c94ccb5b99aa2fe3e9daa9439d87c4edab88ca91ff46f433d1a4182897223456b8fae25e757de801aed9ff677b7ce902c13f8bf3c20a92111fab4175abdd4673fde2db21fe799b8779fb3a4fa1153c5349aeffc416f5e04fbd9a54c054b6479c0005e92eba1adaf8d43d2f367f30aaf3697e28d1875639669ffe528766504ce94ee04dbbe0fbb2ef87dbbfa093d49f1d4c7865b726b224302b205be11189afaf3a6ebc7f1ad33d93f2c552432751e6632655f3e71f8081039e598aec20fd161529f2d2bbe7ee9cbb5ddb1430deb058806d145f901829d06d1f79ead8aba30949951eae7e7d8b5d9f5062dac046c84ce6c0471ce9aaef4ee52099c99d02f7548bebf3719c038340ecb2be9dbc13a1a848197315ebd83846956f9b8cc3420412ac8be89fa1dfa467348d7107d0b35ffe1c92217a6f59a56bc315af0e0cd68f062a9457c434ea592d0117aa492130c1b92aa23073f131deb3a167e0f93752a32178d25406e107d3c35f627ae2c0c69934009d59821f40a741d139e2958dfb2cccb192a51c758df98efb54c2fa73e8aaebc83c3ca28e03b20c76748b63e40309c903c19fa064126ccb44538132700f524cef3123ec8ae8773bf73470a1b69c43adc86a4d55ce8f72164d1c0d541bbafdb65fdb7a98858deb3d7a3424501066462169f99c8320704db7ee3bbd03eba4b771d361669e8acd7193e2e15e96354aa83cc22031fab99048b5f0fe3a696bc0181785606de531bad854bb69316a8ca18894b81e9d8d16ac42e3911e740e0c9e0aba548e9e4377786703773503b4d7aff9a7cf8668fefe39c21a27eea943470cb4715a76d3402f9a606c0b038292dc1225584411194e772f63bf1d4044f371ee51d195b54741ae200b8f21a4b22a562d79649460782c018ea5ba67bd0ca5a8d12cec01cd66e08fdc65af973b6b5d36cca0aae809c907dda5ed0805e2e6d5e40add32aa100e350cf908766554eee9f36e97e405397491924e3a0aae4cb67c9fe34d61ec3af6ec5e8a41d83633b27c0451649d505ebed91fa1f9e507f4d17d4a52d73fbecc872f2e6a62de7e964f7c08f25b1cc9fb2bd6f3f6cf9446c374ce469985598506774690d29df43833a4bdb3446d26fe5f1558acbefb8634f8b443ce9b204bb9319fdc3c1738ed2b804df2271e8b8b1a8a67dca652a2b3c7ee78551ed52515de4c1850e9d1830b2740d5ce6e22d922d61186cf16b9eb972b15018d3caac2cfde9d31c4a5432bb311c13e359ea442502f9bb880dadd3d792382921bdbff350f6ea0bed70ecc33e92b49eef1764428c531fe49de9462d7d98b39cd7c144b9e27dab4ee31be5556b37f036ff0f61875a3c8f4b6a6552d2fdbec1056e61d9c4085525a59e197b42c18836e55bdea35d0cdce375300073f18d59807063b4f491a7dd5e8ea735b362c7ecdb199c24e80df1347e771a3d4c73ca579495e52662dd1e2a54a7e3beecdcfb3aa907bb95d6669a1bb3e21d709d29939c20e1a4ee39c62a3ece7ec8e29141c94b2e458c00b2e0dabf8b6f014cb8e9a4a777bb5d2f034c7198981016b70a43f7e8b0e5295edc55e647c2e25b95799ce3bcce5d33a2745d83a8104887bb74b27723ef5a54cf25bde6d8abf25d93036865a06a47473d54cda5231173c9d0d927e0d9953f594274cdcb52ee48b2baca55ef4e3ba5759d72a4d5e25c7efd3dbdef901ef3361d16ccc6183d97bb67265a922af8f860ac869c1d1c66ad21d8d0a362325ca81dbde21ebc25641bf1f664034cd7e261d30bac866705dfdb33936dfecd7aac9cd39e65c8e28f0c608cd5429c0ddb3448a479c8b84947fe2395f8aca0ff197397f78723ae7a60635a14d9d50feb62871bc836d3e4d7b1be9f5875b15334a1c31b5c3e34bf8ff05d7576037fa720b47bc4a2897a102a2982536305bdfe9a23e19e9b08e05e02f9b5432a66953f1bc0ef0cd9d429a591fa60684cb5e9b5fb23d9707cd1c1938ee5a7a837a585a2d000d36720466eb49085fdb28fa3677a884d6b91b3eccc4b4503113555fbb0a7dcaf2692adbf3d2cfb2f72dcd06dc87180c661c6a5d1acf1ff5186a1349b4e948132225d2cd7284d3701d20b966e516f8a7552f6ab31be4d974259bafff4a30d696b55c29b1cbe7076e5821cce4aa824b9c45d8c36b00ebb41c2409bf52b581bb21f526cada7ea9b8228dafbb4105b66820c2f2691cd3b3f7e1d50b37d86190cf00b610f0fe11e0cccc47dfc1e0994f90e49ff683546938b4470418242a9ef7c75bd5413065ded216fa8d28066113a68a71c0e209a279142040151f20b3debec235b065f12babdb7a20ca1c9bbd9c680a845dac865f413c6efe37de8473740d057daa777ac891db68e7c96dbe8f214e31908294293722526e1f2483e8e415e4889525903edc03dfe662506ee935ebb7fe36717fc73fe8641eee1d0e4b3d0190888c65c1134c94c3ffb5561891be5052ab9f3afa033877c65bb01c3cd8c2c0bb307b54f35a3d5575d89218f034393e9c753a6c1881aa4c44de256c87ce4d722f2f6766ea3c8fc85cefea0ca3359f38c919d116fd2afe2e721c86828df0dbfe0a5bef305e39e09ab6993d02a04646faf015d57e123d2f18f619f375cbd803fac0adcc224c8c5b5f3db7af127c91679f93afe0d48e93459a37ef6d089bec34d8271200ba231797173fed2968e68cba483958974d12afd63bcc2ad80692ec9a9d8abdc0795c9189d571d9e6e4ac2105b0916d64b9ecac319f3d6cc6839703976843a8fe70a0c3e17063fef77bbf7ea27ca67c1176318af7c5b4430e9ad027bd678ed62d70e4ad8a27d1ac30f4f6f5296f4477ab3c29afc28c575636f6b2f900d85fde3a9286486b63a0e91e03d5bbf973b47b16f62bf41df7491a9e146edaddd2766744612fb8e1a4b1dc83e170a50c5b007e6b343819f3753376428e243c98ac0d104e4ceb59c832ade4d00c8f1a147e55ea8f2770fa82bcad080ea918e2ea17f6602170325bbcc4e30b87311647f6f79639f345f2f822246a75b23f78fd107b33232ba84c554f6e1ace4ddf53a7283ecade380714c2a4fc87aba6c82e2c18b15b7e6a2a8ef3c307523ff623af89aec2f3ceb827f6a283c7d374b3b26ccd95dfbd8157a77aa5827402f77f6ee011a1fbe7773bda584291328bb6e6baef0dca0ffd3e476429a59a39e6f1c6fda38817d5dc2c977037c9fba96ef39ade6f128469180a6f1ac4a6e8d4f1fa8f2469f711bf4173d8af0397eb431d81f89cdd753a708e56e9675c239960553a8b1422ad261f17fd3f5128a5e282eb1f833c43ad28f7c717d4898f6f93be5e60007dcb1f50e750209f593cf86cc112f1abcae60055a49f74b7fa6264625f00616b0f50824cd3bb39a078779e85a9e0f1a1647b00e3934ac5e47179fb25874b42ee1eaf037f0aacb24db1d63e3ab5ce32a3dfac466dc2f32450fa23d390bab2d3d0119fb836827d415e79262779c0622433f6d2bdf7814359eb9edc7718a94f0104cd968d207609c58699874624db7a9db881af0ed6ac8978f8a7aced9f8233f544ae228ad65022bc12a459a2ea610049eeb5581178cef6ad16f6c5aa444c6b8bca607b9d98ec9ae06ce80d700a493dce137cadd3d2c40db2ab906ce79205fa06a51def2fbb0b0e79cf4540e89aeea09263fb17d35698e1ac8b083f93ef76ef0077e24563c985338a8013fe13b3b0ed39a601b9230c92fe7aad51030bedb43e31ad1329a90bb4f082a37f01d6724a7ae3ad836a1095ad46ad1f25b027f81a8d01ee24edbedf10ff23ff4cd5a7ecba4be0e58122e5b1f57fcb250e3ea20a12abde5294d793e84f267d79c4f3f056034725839c081bfaf7fcca07a9d2f4c987de6f3ee9d52c26a39b92a3eafafb50e9d717a9264bdc9090f55fb651142a72120e8f6cf3148905303feb8f66b78337614d339395432bb31b9c506a8d45b3c198cd09dfbcaf06944cb155b6cf05cf76d7d7c6d9b7017bc971c5b118af6c78d7f1dd5c2e2793fd0690d26f376998bb97983ab9542aed1673fc1c9f9983096bf96e147b1c928578816aabbcaf3b9364b8be0e10c50113b1847f7054cc302889503d4d855626abb18b65d702f0791deeff802df2dc026b9923315cfba4f7ee6270b4a46bc42cf8d7d18c850c0aad144cd044f0786426123cd10e70113f5b0586c2444a93d6045d907249d877ef5a2c71256ce08fcd924c9d79987898559c97b089e487f00df09ce773ab2ee7b553b7edca0d76e3304484eac51e94aef05992e4024faedaa8a21a99babdac9f0a3e6922e82c49258cb69905dd397a0dec9c830270477da0302e5701d9f558ed8d295182aadfde49056231bb99294b4e2765476f5104d34cf06b1e49525f1922dceed6e6ec34685979f8b413a5e091457870647274cf366108a1492d79938a7de6f7e4dcc8ae4c46177011c8c22ebbf64b05c829d203d85ae332c6272bc32180b1167f1565c60f42f83be6583d1e82532d06d34afc928283d526fd3fffb1764724811a5469182aa2af32cc5a85d5882f003f45b5c781e7215144f8f78d5507d697257ed5b08cb3ded60ddf46c9491e2a66757f360fcf3891063c37d5f3268b1b7b28f6038d95b04b2ca2457d08a756d02931e81568a8841619a80afdf957914cf961d9217fcc7a7b73fcd93d5a17d3d92d1a715b8769b347e1041da712a6011d87e982f953f59d9ecd290bcdd52c0790c596c50e8fbf51dff56a8f7b18b48837048b4996e4de99f73ec5c53ebcbfda3999c4c8c334d0178960812f34ac6fc5825a4a57acf855737ae1fb3534216e0eefadd45b02f2b85e5ca4f56dacdf4f3c567c5161fd064fc2c4549b9da3ce55d12c1008f20b081269f404c92510cad30c816a2f087a1996eb4cfe75705c0aec49a27ffb41d1f603312ef87942aa392c56bf9db727910547f1bd8719b843e7e6128d90ee089e732217faa15f4a89abb704c540872dc16f2a105c38dd7d7cf35b8b3253e6e7aca9a49c3037d007b2d7c035d773a618ce51f354035e63d3ff263e379d157450ae1576435d3017fcc85b4ef495bc638e2c1d3b5b8145909eda87bd252f37e14508152747131524a7412b6e707149dec55ac558b23d915162df4dac4922b1a8abe8a39e427cf4f7b124c5d4e76f5c15b2becd7746028cc44d28c9087680bbdf99966c60e69b506feea652007c96050f5d6acb650aba3b8478b1d81380f203ff78f9f00c1a00defc7ae1839f70a3535f320436a106dd252547e3c9ed1bd6503424716d9fcbe886bc53ac68e72e909b08805722da3d942cf1fef894c72dd7f3db086726af02ab69358d9e137bdba4b46ac0bae15f74d4301bf1923649f24d4fab00be890d4b9ad78efa15248f84c63c949f2f6cab59d130c0569e80b2d5e8abe4a9b5d1fd7e3c9ec9bb49067cc68f620bc81f20710941281df54602629f52b2eac2f308d04d8a847ff01646ef08c434a66db68dda160417baabeefd23a41ff39c97172ef6eeea45bae9ebf9a67ac50cc16f91c91cd80763d46dd8e6ee21e589fd7c839e672eca2813d3c8a30af6d106e2af47a0984a720de17a66fc97cf0329e4f213980d4917bfbd538ed92c722b4575af2eb82e8327ec4be4b880217deb3fc1805427c6c51b3e30dc5aed243fb6c01b7c2bd1c697ae09a5e26848a8cc58b35a363c4a9632d08f413df731a24539d62d73aeaa64844d346ecef31270faaf2b9af8da08511000f9c9c687b7723e3f4b1f3139b5ee786238e65ee12d35da78f86fc67df8b4d95bc0d03d43d16609a7c22ede6ce382427ec12d78db76d0aea9c208913ba8e8adc6ab9c92cc08f107d81b45225e653e487b8f19e3a2ec86bd7db6e462f2e1d94ca48d7dbf6683f789d449a3044a4314bf7cebaec06e73b5b97dcf5d549511433c5c5d002b223cf21c76a79f12e377452f9c9a3c789132d8dc82eb3084497b9fa048b5abac863d70029a38169279256ffe244180fda0493d895e600bd9a0f2be8175073d2b6724fff50f70a5b4ae100e9f384bd2eacded535bfe4e12dd56cbffdc7bdf516cb2adcdf99270e7e69268600e51f12fc55c9ad229ae089ebf3c3fa27fcb31c693bcef053a288f32b8d9d759b9423607541234217e5266241521d4c1fa0f1bfdff77d134d7cab270fa5c5ef26867fcd63f404e4025a79666968fb69447160e5cf66268df5185cca05470b970712e66aeedd92b104ed85b1c39f285c723cd42f522740deb78381b7266f2a91101e04be577727231ee480a11a5e13c2ebe6fdcc771ad46b0812f5cd341acdf317d3103f134b3e0e60aab63047f36dfe761d96f4def9c341a2542d2b110343f3672991ac6349ea43da48fc38866585f7e013b7890572308c75ca44e5843201033eca82ab251be302c514c980797b0c92babb3c855e8f378a030368d8418459dbe33905d0972b7b47519ff077404f921263481379df2e6d5dcb7ac448cdef6d8745b4711eb56bf8dc2a3d33533855e908e7ad772f3f9dd41ec1036c47f67e6b1d1e60a277fdebfe3ea436414f2568b2c06a8ef7ce166a46ed7593e0839bb376f6ef5d62ba89cc3f15d7f769e280f2d90572c7ea716ce66e07a6a38d8a134dd6626edb303b5c244378d702d35998671184aa7ad01e13ebaf2a961d62e72d562e982a256dad5e5534ddc02e9d3370df2bc5c16e4ebfbb9a92a72ddd74da5c1279d45d6c3b69dc831260cab6cd0755e36d0ed5949b47032ab54be002f41f530074b44e8e292cf51cecd82b49384a2e1829cda43714eb1b7ffd9b14e8c3042e7c4dc18ae4d5d613e5fc7c528b730d01e47c1ed07c245426fe039a6eddf1cb42cd61b2ec70dc3bf4a13af4fe736e14e0ccab2abb70cf39b6abcdd00b4792823889f3f4ef694ce038bf72f6f898342222b77b6cd72d362d1e15e720ffae0ff566201a8d86a5c0d570f635de1c46f57a8006c53419ae2dea8990dbc03c8e0beed3e3220d35ebb3406d9364ac031c33e0845c9cd225e943eb98d99144d07ed97af1f3f8e5464a79b1c1b1ae2db20dc696da3f26b7e4e55da872137200ccb7ff6e01bab9b0f778a67d0e0fc6a975cccd395b14481ba72c2f4a14198233bd03e5d0fc128091cfc6bf9f3423baf6c67e41893f20d24e8be3f149be5a022af8b070ce31a32feae36214f61fc372f71b3ebfcfc469b504ec02baa3d019864df7975be63f977a5736395c2a9086c3021191fefbc08b23c92937c479e5e1bc3dbc31c1ad33cc39c1f82de93c9226328a0229c3d83c60270e57cec28d9c009f20112c58f9cf5a61b0834e8aa33d20df1e39ff0ad735b782e46f2e2e9144a5b9f8acce54da6bd9f9f04b8d37804d5240c2c35c96fff3c15ff6bb4a143d84681484c82406c534b455ff556882e606190f0abd7b4d303d32ae6868e98189da728c0c2998572a6cc299cd5c09451d91684c117162385b49efdcac7aec32cd9bebb66d573589e6b7b37eb233e54e3de4b2f420c66e66df3b7e1ff38720bcd15c9338d80d448d5e64407f30a4a233be1fc75296853818b5c0f4c3baafbc962b1d5aa43e1149751eaf9976ec61613154d1b0c93d6ad54b25019addeb48b97b0e76e789896119f499de828899c94bf0c5392f562181c42c6d7cae245dcab84529e7c56edeff3df84515d5a6715463fb3001ea1372e283db2a26e4e57c2d150e05af4bc7fe9fe648d5ea3c4d1a5a130fc3df6d522f2811df0e053df284bcf757616823d9b2847a79ed93fccdea53181bfabcc591016a802bf9716d9e771b91fae1fe00c3e5f6515f6778cbefc5a6725ad9c78775194cdd082671f1ddfdbaab2d7e0b96b4e5d9ca6ca0ef52b15179eb5c2cdc6264c1595ccbdbca7daa0fb13d881c2230afd09b5fd58e1cc257532e3834e6185752ee730eca38eb9001b1ff7fea3bc90838a900bc54fa5f5ebd319625356f21f18ddb3ca6e04ef9f345e01f413771848561752b6457941961cf29cf2b6e0b017fc4d476c913c66316c3be9179bfbc3ec5e041471d1dfb60cc579600304b0981208c856b0ab5c94ae52e69382cbcde39d0f30a13a65877586a4fc787d3ef51995d9cdbb546b9924c641f065686cd2410c408f1ffe5fac08ce7acbc75e43a1b35baf6d00f4d0fb8ff504ab405994a7afea18b599708f75a5c6b2b553347f8bb85ac670aa48164b473e5b984889150bfc7261be7f69529f1bc70512ef7ba1e2dbb904e2543883e94d5329d57f78e0f2b3af6d83f5fdd4bc2a2bfcb9f1984be8fd83495bd41575f2c9cfb1e8f5fad20d13291f3ef10f7d3e053575e29445f8c75ec26130599474a7ca437a4c77fbc8ff86cdaec83dcabb7334db56bfb11c2bed76e6e9d888ed0ee481c653d5dbd32ff2f709f5b369e5758215ee25d8a7093e2c44971d7a6d1fa05e429916c6e80468b99d79a0b563b8da9381f999744e8dbf5f5f7ca479b56c19113426d42ef826940736752938e9fd9cbdc87ae82ac78c3078a0b0828391285908559fe027e0d71e5f3b495a6ced02f79df31c8aa180f50ba9650ed9c6126809ec09d8b26de6cc85e49aad774c24f164ce58a1ec173ff25f3af533b72f26fc37091b182774548592818142537eb3c18bed22681cc4a4d785619bac2e928b99b209626927bce3cca6763d6f46820dee3a895e39e110ba60bfb8e775b04f800cda1b1b5f1717393082495afa266f16af1954c39347fe8c2e23cab04855647571aa98c5368566f0aba28a3eda6ebf94695287bc0af5881a591795ddbe03eb5e78fee7a6f8d899b5c9fe5a94a50b8152eda57be9913febe9efb104e036ab4c17f95b5a818854986287f1695b9f02c08686385c9b555527b19b61d8b415874a9ce2f6a5f97f2b2f5e1414477ba52381568fa1cabf1b4bf6db629fa0d0c27acae4eb5ed138135856618681ea060a4df6b662e7b6d4d7f187221021fdf5f6b0f5c0f4b81a9903b50ce27bd294ba3c65b7fa07523de325f00f2c56bff07e6b7b6aa4a9ad484284d9c281f8dc529e4bf272b71edd0e2fda1b0f358b7ccf8e5d1906dc46cf1fd869d68b99fd9b0f4ae2ad2636c42c6d5df13f7f8a08d7322d791569f73e183e296a8ce565ed74713da13ee4fbb673006a9a739f50f080b5cd4fab5565be5946e020381039303e47bb3ddf785b11d3965532b2d543f4bbe2b0a1dcf0de96917e33e6ddd0f4d9693e6212915771b9baf9bf85b2087d1aa2f376ad336a50c1ab3f388c5331d02698b47577fdbc185a5831315307e4e73eca3398f18ba0b6f6230882a9cd401b87f3873370081660a3405c00a4227eaf21793b4e5577f121ddbafe493a704765f85f2b442e04ef96e99880d89868641a3494f67fb34dc4c2f0a0f7dc7c13ed08a9ffde4ca0658fb73af4f825d96745f69768fc3af79c3f02923fb740104aa2212c4ce75c85f2a39b279beef4c3e9cc03763a5082e17a81d32d4e86baa94a6d3fead828e848bc0205035345c3a8e3e0ef61ac81330976f78cf6315e92ef3178438a6e3fb528b5cdc411bc7d95d9b1d0b1772c6d5dd6e938d374965ddf0bba1ed807b9da056e776d1fe9a73344aff84d47e0d65d08c83e29d2445ebb78699b9e85eb2b8c4ba9ede6cc307e7d7e4790180726e90a168b1e173d8189097cc54405067fcf6131d825e9a8eb43824db01b4bc59e0fa32ecafba4db4fa62ab1f9c6f97d316d5a9216a964f07c8ab971a303791a9af49191109915f7daff86afbaadf46f94e3eef878061e2bf0d2fe90e2009f3e3e10db315ff9a2dd47400848c6429a4e04da4745d9bc30af474fb3905878c1c747cedebe065d35b141027f16d1fa1086f5c8f273db56146678eacf50bf23a31514e8098afe76eb73e423acd409bb9861bcf7733c6d69127fb7ccc86355b81b2ab594955ec2f69f6d0719e26432d83d1cf1542ea94611f8505e125d8520698d4c353c974fae34595ed45e38874516eb23b0e403eb8c7daea4d7469bc967e7202df1266290e4725a4f34f4e895e461162865b46b4a2523bce30523d09a24f8f0342d352589d8f51f89d47f80c46fab36cbc468c1448355882075f46bf15bc7a820d41a40c2d869528801e0c21bc19bfdf077b87dfdfe44160a47a51b9b2736436b87a3eefb65ee19631e41e21d1261bb4d7e8e913faeff3eca8e3363a495cdbdd417aa6dd6dc59533ddea0d01531912d3f60f8832764629b50cce6d181148c8289bd1e4648bb25580006f07a91ac6b0132007a46f2240a7c558ecc32e9a2b40fdc7e6bf9311a05717d53c2cf08a37bf29dec8d353b06dfb04fd8ccb1485b164b878af24253fefde317cc8d5fe5c3e47454f04b4046b80a7acb62a4d7717a92e855679adc38813452bae97957dc55a5a2e931b924c1f4c53aa41e51ff70f1338368ca1b8f934249e7c4226f1a462e9e2be1bf6881bcdd98a0a23b179617e744ae42800e3d36c0820f1cea1e821612d68a4eda7fc76f642fe72aeebb44c1277ca62a6c419b0afd7d48e704bc552cbebe4c30463050ab7b07c1bfd61953fad6b599eaf3aa91e2a3433bf6d42b1a00e6419be92e10bbf5a7407c0e34fd95cf79b22d1312a847a9b2ab12f1576e7b22450a3f9215e7e596241499b51c181bc423a6f3f83c1389a4b3084910aa58acf047203eeac496472029d9d40b756e414b0bfef5f4cd79ad31f0586e527ed3a8016b5b2428e0a8f53d9f724aba69ad60a2a23e0a6a516373d9e267e42a183efb66bb450c082355e9bedaff4e96c4d20dcc7c6032cb236f2b300a8baf509846c761d2ef6f50184a9062ba57623c5a46ccfd25aeaa74f311f01ee4a644909832c6a096a04b7a18c3505f263a20fb6e06655291dad14974bfd5dcb939cbb9fe0f2e9d57e5a73dd4bbd0d58611cbaa56d3a68be6f9bac8a78a06b6f089ca8c70ae97201015e2117a08adbe1c06a968dd95f353c9f0651c29cec3db58ff9a565d2d2fe29c3d82a91a260bbc17002b3bfddd716104e7304ffa911ef43a9d39912cfc818b4f7f0786cd8dca7af2e0687391ff440a26f0f19ce77b0dc31af4edb4b45212c581037d4088d5896fcf4d4b872fc7dc6b78bb87e2ff6441b9213571ca56821929be7636e15246406cf16a083ce07e763091ce8d6bc6da9013aeb1faccd1182710af19fd3ed74c360e0a467b3b9923d16e088438276ab3a49a9f41cd37ec05bd63479b0a6da248c092b9df4c03635bdb2358fc65adeeb92de3a37b61337dd66a77a55dce0b8b5b7182d99c00a6a9f1e17228676774efaa9ea010a3b724213c22cb508cd2f4c78de39ed814c4922e5e735dfe3e4879ddff8160206cdbe5345f3632bf205cb022c5af1b32121ca8ab6bc44ba620059f5913977281b941e67f186972b01d1c36e9fd7b0a5fa020218f00ca6ae718ef8c3617376df74be93efaf9fb9dd749bf95d995d6bec56e729e4ac83fc005190343d3e03bb12e6cdf3a9277075b50a37670433493b99a6447df1f4d54a993f2a52fc3e2e4e8e21d9f34e0c5561f9a999a92fdb59607ddbc7feee384c9491958c05f46a8ada6af45d6009334d31b2b3d69f7003e075bee04f4bb81d938e4b7923bb42a738efc441bc350bcac66ddff306037fd80fe402222a27aa0d7db14fa95622b6b20bc8abc8d82a0217f533291c8b7570d8d15ded21926ebef2c4c909263e4c02f0b60bf0f7e85974d89331be2de64e86442293b0e1fb94b471bfb17aa25bac5d5a08cbe500b3fee60abdab29dcc39beadc24c74a02d46b4ce040f6ee7b05be81c54dddf4074415a24dad8a32059f88abc05e561549fac9737f557d5047014cd3a589a8ce0460031f8f61c1533eb63227d8e8eeceee0c60f2b77a66139338d7d65ae98895e316a10870b7047c6d5b5ad7947312aeadd28a3eb5c4a12b148bc090a28010ea818fa709750bce1676ad4436656c3126511923e2f19c85c2b0a949d68b53fc25ba387b211081c98de93a88c512b244f818bb5be60adb633d4ac068d0008048ee798e2b418bb6ffdeb9697b76bfc851d48c6a802bb2e65ed86f6d7bd27d29259b421f65e67be05d01ae7dd6c124df1b3cb71f544a54147235137dd2884efc4e495da975504eb46fb681f67bd4e2465b2f2bc76040e3d8915be3e5a3862a990acb473e8634e3cf574b5d05906a60d046df0137bf4bed55159de8fc1826d27ac230ed156c26fc5c62950c8ccf408cc3918ed8c2a7ee8baac6a0ee4ed2de79812b8be9c78af63ea5deebccbe2c749c9dd8cc9b10b836dc2be0d94b1c5f3024492bd8199b154ed6b86abf873ccb3406c368be523555d052bcd9539e2f2438ffaa340c6759617a2414779fdb6694f9dfdb4f4eb274ea89e0f45e79175310c552ca02447d7794233ed174bf9c40815612e8f2f91efdd170cec1af88cb635578b15da866efa73725e4bd9a437a795f19558846bea5bfbf8545a5545872a6f971f88f8bcc606a034d4ceae43ad9ddf33d5c7b4c44bd2f889c51fc5e5d63685455b75b3f01e6b327836b69f5247fd5a3ded190d94ad62325e6f36f8e6844a95f7af568ba2534eaf795ddf412ba5d15167ed827ebcf4a557df56de15a8ef0814acd7256f2b1c96a04318abef53f47ee9834c14226091cb2c506c67b6d54741692361efdac544110d9a9c019803e21c166369c413f67b99acff443843bc165971f90e144c9483e8bd29d65d425b9a5f3448208b0580c5ca7f9b4b1a6a30438de74c3bacf8d7cf166a0bce3336a14134d00cdbd971c8af08cb816c4e14d726a05ac5783e8b288f920b17d9793cf1969e6dbf4ad7a0d887ed60660ffad5cc5ce19f34b90bcefa368ced1d068f1071cca83f8a71ae2a029a447b3ed3c403e491dc2cd7b861c96b93187fe0cd1d190a2c0b4ce973682e5af57e61ee0c86afd1590dc97a5197092832ee0dd940ba366f3904cba4706a39c099a25ffd226aff0f11f4dcea37a6dd53966a94ede098557eddbf1737447f77236d660aa2efec8b241d40ff4861c28055cc607529a786057972b3a3ba3ab8bdd57b520375ffe1ae99f831f0f9f6facadff3212b5b17cdce1aea6e8a4f868643659c1bb3021043e5e8e82449352078aa4a37e5f6dfbba1b1eae05abbffb14af10108b05ac3562fc8f9c3df13f1849cf4c87f588efc13655925e9cc0fcbfe40a2520e1e011e42b995e1cd58df95dac25205f46be1ff150b8e5df67e0d33a74e28b09854864e46da1fc40a18c3306e84ee24b8da851402d5737fbde015ab5829d9560a33e8d5a99f8cabcdc770b21ac9d700c5bdcee370f6b685d2b4f67ee08dba44b018c35d3db6592dd2a9204e10ea3f97c9b060a4288a9b7019efc8704fd28a1f92a019beddb5180cd8185e08bbbb7107a9e5dd938365074e4ab91b77d62b7c2e87b2dca5ee45bbdc8f068f737ffe868a47b8e89d9792b62e3eb83524ffbec9065035c64239ec97de7c0bc5adf089145ff6e7f97d7abb8e506d895e95327026bf196847a477aa4432314c7dc88f3f2bc7468ef78f8540bfc2bc143cee057fb565cef56a781197592a8e7a526446e53304f9187620061b2a19aa47e0908dae09ecba88e32cd5fce68a9fb141bda5668733c35fb37de035bbdf6a4e01d831671e0bfb0eec4484e2c922f111d6d316105dea9ba3cefe3f0a3f98e1d97209c492ed2dd2cefb77b553dd6a9e898098e60d30d11850118e6d956b9da6f1077ef4e4a444ebd344dc4c2423ddaa68e77bbd1df475df5a7172d3d37349996eeee3e55c3b8d473bd18f689b63d5dfdb13c9f82d8b96ef27e427ceab617761227e090ed05d2867eae945bfdf4e5e41fa44eb5a0b92be7d53e08420139c14042b4e8135518d32c1f69970c4a002eb8fdae17594f603209061a92a62aa3dfd2954bb220b1b0742e35df0b81afdfa1cd0adab80fbb8a5c21df291af8690b006de7f7b46d16261685e64fe00064931f34dbdc2e9273e90fc998bc6bb6e65917e79dd37a25662ed2eb9adb2feef525dce02eb12b2525e99efa6df699f55ce1c91e742ee42b9d84cbc7519908c42acded4adbc34a6405e6e50442020c796e26ad791880c71b7973cc527186fc73e52cca3436fe69d1dd75b330baadd3e61c211588d6830ed2aea056179ca158fe3b052e743b9dd2a67112297453adf35c3d0152b36e0b6ad2bbe5f642418a8b0c140ed7b5b71d6e68490369bfc18f492d2d4feff8883dc383304ef4e8bbd3b56c110d0043e7f5a054218a03d2f0e0de15d223ee94e58cd135798a5c6a3e696b50e143efe9ba7fa11aa5ef6d58919b669ad9bf9e5a24036ce0702d4aef1119e5e7605e54f9df5df41771518b80ef683669f93698f1d4e137a48aff48f586e2bc726ec7db1f99317d7451c3981b57ff027ac050cb03772ce9f568bf795e5e2c236e321c011cb051efa990ad74b6781f5888f03c870308abde6cbd79bc6cf7540602e5f533aa3a0bee3b9932ff24f9af5920347e550677795c5b4f1bc741f074db38390b5cd895f9ffbfc9ec66d4564fef61982cbbf2cf7e146e1ba3c306acbb976ec59ea0ee922bf3b6c1c9e7484be8fda7031d00c78dca27e8528c3d5cb111d52a2d7f04502b76680bbbaca9f2e21e7bbbb31fee4886ff16fceb0d8cba842f37dc3138ce2eb4ca0990091591ee89d8f5fd9511f07cee60422d15cae67d648aefa8cb220d73be5b75103ddf61746737fea874c834a9ef37cf338a1b1bb1ea189334a7a22dba4a247e9a596c8c70d88020bee4e144b764bee587148cd18f2257b05fa0fc27654d6710604ed6e76fc343834493af06e0f7a40f8e7db600309ee579166fcb1b5518f45237ff282aa92cd7555957c642898eb8d958671835e9eeb6dc618314633d2c913dcbc1f5fbe3739cc053d83a8cad7cfd2c2bd4f7a5533b17b47a1aabb3e757fd95fedaae85048685ffee4876cfbfea982ea1ca85a70ecdcb58d4d4bd365dd39066d19cdd1deb485b3b8d80525faf675098150b4369e268083365675019d044c7c8aef27593a8dad099d8d8fb89c971078fffc1ef456b9c5b258004b0c94bc50530260c9a7c96eee82a562d9a341c3d85844956519f9c4b0dbd849081dd7fa058b7d8165375fa9768c344c6630895908b0b22859bc9c87f2f3589368eb6c2ea92c1818ad89e844811b3c85928c1b51e9e98795e26921682c8b410eac670bbbfa0af2ed43c7c24b97c8d4adcebb8b71c6dbfe80eb5c594e4d37aff94c1d743fdf076f8f6e0e8ff60839412eeda0b9df784b7200bf18674bab43f372f1510ab044c9b57f2876f63b6c8643b8f1188843b8efa1b73fec3d7b4b9ad391d20d0e70a40763497db47cd4a67f7eb8213ae69579a7f40d8d04dc0c6492e2639fb4de78e8f1ef343f419b2d3a5ab1ddd3f72aef4458a9d9eab69890b6aecca2d9b6cf31c12cca4dd01fd4f5310ee07637fde97621aa97206a5dad6ea63eee5c4ce76c6dffacef49367017b7fbb68ad89523e5c8538fdc5e477315ed705aaadaa4d29906a16b381f7fab6dd02b25786a59fd1bad06fd930c7d8aba13c2f516999eb2dd4c2f514b4331717dbec7ceb425982d3128e89259de256de865436fc701dbceb0f7d10cfd751ed8f29f3de5325473d5aa4bdee294d2533602cbbfa3e612de162db8825e3d51db2097ae293fd7e41aba4fd96b8bdc16224afd63404f38217132726d0013ab4e14037c6cbc32f4a27057fd3cc51cdf594c18dc3dca8441c92f0dcbc7eb1a77e34732b08a0c10b7fc1b7a45a7f25fe340386ef79f8a44013d64ec4bda84cb4e96dcf71be73c4040ce02a65c8d25eb221877b56fe96fdb62a530f747f8ab47bc27cf05407282c84a33bdff0b5669ae4cbd44ce08fd43e735b931f4aadf03cff5f517d242ced8eff9bc4237c0a267adaa2ac5ff328e94be69ec9fc0d20f8772359f66017148027bae68069e253dd8d8becdb726eb591644e0c412e750d29e9a3ecc07dcf20132513a503658d79e93f54d2589357991cabab10e184bbf059c5c3a0f2041b6fa987909476a7d439d1f12527bc4977d5c91867f9cc4b6dc8366b3354bb87cd39221a339edf4be3aa783390c3decbf49456598bb7b74de6167d2e03557687d3dc3bb66ae065fd73ed53ebd3e36cfa9d35fd65e3bde59de2edb07eb172cf0901fe65beb6e4be39e43e28b2018e8241174bb6d6c5f34d95f4e4c353fb4a3f83b685d04c13896167aeaaa27516a25d880af322af3bff9931201e911ed69bcfeda8916af23911925f23fdda9cb7599dfd69f57b44f979caad0d39cecc685fc5637498a54aa5fc561e23db671497c041fbcaacb0e91d7849e12bfe7d974968cd20bb0eff7fccef8c26a236665d0e2b5398d56e552dc940af2360b61712ec3af96ef44deb491c51940e9cb43cd282159adb4b68bd89befd031f0c172151e429dee39905508c2772b81577c13bbb6ba45e6c4955f71374149cd3de9bc8e9c52fb7b8370e4248bd2be449f4d3bc55fca489e717e37dd588708233f9799caf9bf955267a26fc22765a137d86127c231702f7b334a6813e2b012ac2e6f2822747164f876757b12f4f63e863b5fc2c3cfefc8154288d306e6a8590eab59815367b77d2c19e7175f2e12b5e13818186ad3878b9de4aa6972b401c77776a8656176fdd913a3f733ca92b0079557f68a226f96d824cbea0c3d9c52300731b7b668283a546faebf241913a3d72822d6920e4ef705160f82b20d6ffef9e5a532ebb0e93b5845d829f82827a1065633315d1a2a677228d8498da58930ece510cf11f0e40b551547c4890172a8b8d9f567f2d07ae09a6e501ce2af232dc1b2c4f6fea18e564ce28afbcd858a28755e68219cdc2f4458489e49946e05ac307f9b68d6436ce6e277d5e65492a153baf08d77e16f06ecd214050fbf2428b3481e6829431a60ac02a5aca74d62c3af83c876fb58a86b41a95c534d06f159bcf46999b6ff4d187a1f2c927df006b4fad7e66952c43ffbf7ccf94f02a9e4f85802659d3dcfcceaf59500774c7ed2226acdf39eb66fda8a1fc7a3d6b00ef1954fd9658b8a1b2fb561e1c4e114052c162665aa3fcb0bff8e0e57507ea06bc30accd84759657250426f7bb666805adf040af660711874577344e3c6aed5321570b9c994f67fe86a8ec67c96741e552b487e953d4707542110d6a35c8e554c6f596484c26c8b95c7d666c45f8c418d348195d5c3f0e06ee8677132c4b679c10a3df3b922f4d2d76ebb679bde3128c03732b26af0d6469b02aa16f147446e27ca795639a2c31018275029b09531cae43b4ef891627a63658e5d1aeea07434ced6add2d8d7826b041ec5b404467d79624fbd30fdba06ac1fccf4d79a6f9d604678f7afa31b7b43fe22d18edabe69463a4e86087db37e91fc17f2fa83622ddeb0dd966a5754c0157e6b69ef8a16b4ce8d7ee7c27c58049b99eac4ca89cc8144239fe0b33cd6596ec344468bbbefc7cd3064d06ce1c31daeb2bae0c83af50d21055e992d01300dedeedbacf376ded6815e29516b49ecb37dce26286ab6fd4bb53c9ca1514a0c6ae560d9de98337213894f33d08f024c04a3a60354b55a0bd004fd835209920045e03217ce3e994c6ede15c65e93f0eb45d0c8605c89b2ceb943ce45c54ec393650851144fa3acdb7d4b238deb1c4a2770699c9aa4e2c7f8aa43ee2a29832045bce0e779899210ed86db595bfa37530900bf491af0a8ae75bc66be3fbe73202ccfb8fab5916daf5547c467ca23e4b0f483b009a480fdf8e9860a9fe0d91f2ef7c9fc202709fe834c04333f28fe70ce462ab32fddd409e6136d525802f32ea7a274f297b5da887e149eff5b322c8a0662d687a1ab65fdc28295ff7cc8b7c9cad39229cf613799aebd00b3222adf4c775fd195bce402162c21f8c4763c8e0ac8723bfe814796dfa54cb60db7e5258c58adf1f27b560e202d6bc90bd03acde58dd35afb3942ca1eddaafdcee97aefe4384ab6719c9279e6e565236a7fba076d76eab93b2deb48be3c771aac194da91fca2436cd8b0f49be415da7e112fa85329af2cf50833e4c190e28a8de2142b6c688a1e7e4b2f58421ff27b1cc0d948468c899a2f1a99cafd95820faf31153476b1be97e59ad8ce283898790d596b4553a424e460940f07968e9558df3ab558c032de4a034e3524a2a328b0ddb8cc46c3137b433820fbaba02b183cdc2d9776776d9d5db5419eed281d22501fc173b20c4cbdaa28b593aec56b65e93e8e6b6d1e14052cb8f223bef2b763a87df9e6187d2b3c74aac4bbe83aa550732ab350ae852e2f45c1354d93408a6cb035f947898fba280e1c827c5ae99b72607269f8463ebb366dcb4d59c6f55ae496d24ffa1ad2e7e35ad94f807fbe93ae12aebfb3f767c45cb6532d1873093af81e83a70e57dee390c1c168b47355780cd8072c1e27ac5f8e6411dfab18b3cafa372374d761f207dd3aa3f2a984bb80c36b00d1bdbbf07e7d31b0ebc9267222b8f4ce861a8ecae426443ca4f2a7732318b9581a8d9d22e4bec36e5bdace3be90f87887b7294bc39e3f3c32aa70fa6aeb3689172d54538044684e9445322a10099fe95fa61523fbf787f15269f980adfdcad503e0ca1593b6aadae22605d57e3ae59a361e53111ce44bb86a402f1a6e393d9a81e532e8477d6be650d8d2c3e078535420b49329bddca362b6f9ef702b7f43c0cb7e4af0ee4fb2775d0e113dfa1da32c56c4ee221663ac9420e7d37065fbd3129ab053fc694282614ec423311ba13c5abf19a64a80da50e33d26906d3e04a8ff28278a6d3647fa1a3cdca38f811ec9864b0a556762a62159e6505d4149133c27a6f1a4bb0d6bae0b317a808a6397208c36e416fdda613a3a447194ac91eeb03a23431118d26e27fa8e1d5bd203be53df543057a922f1a85486de067e0b6a208128d03bd6725ac25262fcc61ac8a44c074b39b5f5ea07f36bb06d9b97d4a54fffd7ec5c692c9338f7a3f52837c9ed1660a0047fa9d43cbc4aacc689f61a2f8f7080cd70caca52c2d77b205781933f2bf60cfcc96edb670e26ea302b09d8043178654b35f20d7effc00ba7fc05bbd2e57add6855550acf2dbb2a520fe625ef8d36c214aeeed184437d7ee8b4797317bbd96e6b4c0b39132212fdec2f175b429bc113b744e60949dd6f56bddaa6dfa69c22bceaaed6804d9541beb76971854556f122a73834dbc1a27a5ce3aa4b9f972b153d2a7b9302fc742055fdaeb5ce6e4309a831bb3e0e5d609d4227356f34c4701a2604414e40fffa1ae6933c4d00804cc12807ad1159aca362928c75d5c0721510e5e55d2d8661f34103ce7fd7066fd52edd8c6050f4cf7dee6bb45d0105444edcab09271e6ebca74f803ad76983eec2f956406440d934f85ae090bfbd4fe4ba34d8b6a5ea42c243719eee9ed7ac35d286272083195f3365f9eee7c066e5229e728fddf5e106d608dc33c60355878913e4208f97dd667e22f55fe2dcc30cc30c12eb68d0b4873c78a34d23794695fb807b9920d043f0a6366e1891d0ae0a8ea3819a0e41c4492241a08e983165b03b1d25ae75966d238076e57b018f7f1130ae1e18654096bdc05711e94a908982dc8cb4196caf20e85eeadfad85f4cb9b39bd08080e5280d09c74478dd310fef4f39a29f4e485f6ad43f23f55edd6e21e5f1dc40cc099a93b343829e2758584b1cdd2a0048e1e3ff31a631363e8d79913340d3eea1e75c289a8e232f89fdf5ff9d10752583ddffdfa22b191dd2568f9f4dbd67311a7a21384966df0d3c50466dc586ac32cdb585cdc60a091febb0af62814fe1c6c4e48de7c112e1e9dc189636eeac66ee210544b810c4982bd5a3048c36eb3c4e3476b5e066047272c172c4863bd61871b4a60b740089fcdf2b3e7c47281a5b54ada7893c45d54d1292a7edb0456cc2bd2d6b6e86474ee42555519b4c4359e87c72006aa2447fa3b6c8265b8386cf251a388cc7fb70de534d8707f9dae92539052ca2d894c79daf4ec9f371b5bce6c379c9b4cfe056ebef49e4fbe17277633ed99f0792fd26803647227ed181712c0a31d66cab1e5c3670f2d9accd5d1acd894392345a28639f3ac83a50595eb376ead5180c2f6f1be8596d36a02de07d4c0121b7ca6769866d61487e6f73f6a23bd46f76afd54f03246aec9c256965d2c65dd5e45e8cb11375b2000be2bc1f6cd5763c498ce0dda8ae802ff84352637d64621ecc8de4f71a980142c88e27afb2abe8d0eca636986dc658689820acb4ffef721f245f9bba663a968c61aa1d2a663ff6bde5833e927adb7fae3549fd6b212f614e34d1f3e043baee1d72519d67d816c60a981bb62ed69faa868d22c3900286e5cdd29b03f1ba7ee50c3b1d8d37626dab4ad132b5a37975e82d8904cdd8fd6409c0d64b414ab4b164cef2dd691349de6c955195b4e6b750109400ea2132e0afe0dd788b861e2725f4b5ad4f8541565816feec8318e62ab4aa7036df686e1bb6990153bd4ed5b356877bcf3513774fc8680650f371bf9c384036b12dffae2f36248bb435b9325c8cf4c26a77c118a37d8347c734e73361e527f9186976e17a906065cd6217e70d6134a10057b736f5ff608d03589042ec35cb58daf6c769d9ab1c7c6b9cf5144cd503a1f8ffb1c76a56b1dee0afe4fc2a9eabda84e02c45d41af67813d77df48b9bbbf02d3f965a6f581e062acda3b47ef86510c39277a5be587b138fe1544b9b00022a1869b53e1b4572a0acd5767d8d8eb7566c3737494056806af032dfec4e58d2925796f500ffc17abb7c6754e677cd4f16855b4e30208e15f6948ceda95318910c3ee92002dcfc2d23654caf0d393e474589fa12bf6d5025b425a1ab8f535c801167f5d958e5f1dbc3ea14bd06f0f53e341b33d034d752b2e8eb60ac19b8756d69346f4cea13421ccd2d9c5789fe49429ae99c6e6f22af855eee2246b3887b3fa4e3068a71eea50ed150a9d7dbef3fc3812208f5dd7050cc96f25f1eacd523cbce3fdd14b04c923f7db00f73ae61996aa1ead58e06dfdf6c643ff0dc5d9c307faff70099eab6181665a92ecc5745155bdc2d383bd722ab0f8df77a51e34638dafa317ea33b71add6fed60213deeac37bd2ae0aba505a4838c9d030687798e43ee43499100e16a8428fbffa22d6bd7c4c6ebe494fb27bab3340f42746762c9ad31af6eab4693a2290a0bc379bf63fa1ede30072acdca6193352a03d411c1f6474feb2a1f5b2e351a605606c060f421f73f2f275bde6a8ced51d3bb38d0a9188def3eba741550d798abe58248f39e76938ff4b41009451739f5c7ea35d0a6d42ed8eb807181bea2c5ad458faed14de3ae43ea3398139aa9551768d2543fe099a5b75143cee226e7c5777ee5e91ccc3b35046fa9c4e0e3dfffe50e9abfc9b7c760d52ee7829e90748ee5566f2d0f4cecf192559de7c00801c5161dd364a695c96344dc80db427c3c14664c0196cb8c468ab015252eb97dd71593d4b2f4590f3d75d3895348c9da1389d03258af4735765670a2f7dfc88233d072cf46356ff073e9bd93928331ff4a7e89529beaebed20dc8e820a695732a8c686066eb4481ba355f1ce9deacb4a22591364e5f3cffd3a9fdc3eb81579045b067d9abbf210dccfeddfb4d650abe86ef254b381f0e36753bbc3fe3d7cae405e40fc90bf21167d4603f55dadf1af4799269a650e5855049420fe5322d69b3e3e489c880d5cff23d997a70ee2b8a4b1ef2bca74518e9a66a809f8d6ff178565d830e38f8631b7799d5edc9b7643981fcd7f0f7d93f903ca8a60227c4cade9d1c9cacbf03ab5eb78d7b51af04b627e75858019a9a5f8b7e5df79bc6b43f327c2841b40db94cb3c1d3faaca5fac5291b8c88d037ee61bd956151af36879348503772c75733e311d89f706e81717572bd7c5e8011ee3c4eb6012eb81e8877f27c63550376ecc1883ddd41cf9f73b65d25500326d07dabaf9b4c9e11fb60c8789cf38795a8bcabdb8698e585c9315797a04d6fb1d02c2a27a595101fdc0bdd84d7e25384e68e9b29dbc2664742eb73e465fcd01eb4c34c4962442582ae657692b3a88af4175aaefe930b207a6bee81db324ba20db38e0c113dcf40e722ab6b5b61cf80aac12f68c3f6c0989579d46f961ab2be3811e14024025f84477cb93c12218fd9a463a93fb32a581f71e8f982830b6879daaccc16d1830b3b260bc69994cb2100204e61bd49e44331ae1758294f21c674f779922bde7d6316155819184e3106f6e0e43d31415820d5563dc7e5fefc402090a23aa02426b81e5a628c6efc1e7534dc835157df1293a08cd7d655b68cea5e300c45d6782e593164b8fdd3d8a3c5ad046b946785b80d8c8d0e03e89088642de4a63581b59ee63a49106bd99b0720f53f17d654f41e27bb159a1188a0e761f213401a36177f2581a3d709e89f02447d7c3b9bb4cf94dade2f26db5a9900aee03886345657577b1bf24aaa5a9b622407f66a0c5a8aa3a00d30858ae5db44b412c5eefd16d7f36cad26bbcaaeb63c31932c7022df52afb0dacda9d7494c13fcc1830d088be07131b20d205b182a57a3465ed31614cc0c3041257e8802e5a39017caecbbad1eb5898fd702539e7438b3bffa14e052722d0f93dfe76515ea78f4db8ff6e20899b7ebec5ea26afa3f36e6db93942fa3badf6bec4b35157685556cd61959e6b77a137624f33d2595c58ba0ec2461497f52a9f60b850b61aaa52b8ed687d9922b219fcd043524ff8dc2a438e65846635d024840cb96d8175ed71bbbf298778de69536b52da5c9a014ec37339364ee0abed64a47d6bcb74978d2602d8457c5d10ab2f9ef621cf8f5677a773d7830590d8bf82eace90cacfca22f5511bb3d55371ddd72706c3b72cc4331160a9b1268a2ba30d54e6240ee64e6bc52940da7bb9ddff6aaeb31663f697dba6c3eaf06225dc9a5682b76bd9337adb0858861e958c01a95928cc6f3bc0dca05c4d6c2e193a57c6555bb620902b43b78b0cc8ee58d5ef9f7b290f6bc803ae821d9a26b8da7ddae3350e84f1a42d74bbeea264073a354a752b406f474d76d07e7d01594f87d549438dc210a4f74fc1a7869f606aa27a334a15ea36a2d28027f27295e9740af12cd891fc79b0f12dfd399e0ee3b8d93e28eac85fdd494cfb1a4162803d0b75c6fbd25fc3cd2a8a3d8d4a517914dd5aa842692b94b58dfcd8bd1eef2f256c277244cbe8f33de6843dade550b4ec6e91011dc2aaf9930baba29b02fd90dbd4559992d0bd42e5bbfd416566fb61f04608eac4563316a8b0a7362eadf1cdf4a9281d177231b0be6c6e8ec1b4952d097e1b83d34f2df552c2a6213ec7431b47314569a65cfd832c62623d3228b5d5c4ba2487e817a6666eec31d6b3db626904d8d60ee794df9b2f4285c702ae4ce3d7f0b2ae9780f7a73d253facd6de66b00eed312516c79b117f40df89ede588b13449c9dffff561cfb9d8683e2281cfd72617fad9b3022778a0ae20d6ab711c92c4d1aefe1470973206ae9c6cc56a185b3cea3287b1c906d7d5b89e9a76cad9941243df199d8ebd1ce1cdabb1fbb0070fae7612cdb103b77aadacdede0ce27a588c6eaac50a69b1d43629d103385d6c2ee44459d58f6f4800ec209d57121dca3701e1c7995d4d080b5917ab2eea7304aef66048b57a563464c0445f5b39137a659eab651c32058d3925532ca9f31debe8aa456cc234b4d8f4c057c7fcb9cfddb35ff7bd911958a214ce898eedb73c354b218beab7581b063e2e7cf14534cef4207d9dea24f8ce11f399ae1061f86a05cb723e0019c81681692c1363d67f3c85cb0f9f36d9c1e4625347525b46ade13a468610e8b83c2105e1ef031148378d595b7a57ad4c918c77a9bc6658eacd39a417ccf83109496258e33de3ab7a5f9c775d181759ef5811d0f6a2092da3915707c1a76c0a5246f178516e8b6e9e9fe2e62d27047ed963c47901a75d398f2742f683361a565676673e136c1425c69f205624e6937ac2ea16146e1e7f7a758438a38051b1b69c089a85890a54ade0d6a10ce660afa3ae9f1b11389a43129f575db4f3235a406b5f5d38141fc624b3ab2cb3f242bbbee2d50aa9992b59b46b5722064e157ff99562485c33e2815f2cfc6ee63eb6b0c735dee5c8963b2c0b3d6b7047156b681751122c72bfd0f75df5ec229138ea564490b04d766d0857be17f0d0707d603bf6290fc7d0818e2082bbf34edd1f4dde90460b0b52b3e4dd242838b91dbc4f67bee15c7d1fddc4963837460e6506b03fd556e9ec1f7ac59bfa22da0e539d5e757c11eb615b9a720706866c614dd3b4d88f0d71f088a27a3ea9ee55d3ccb9b568696564a7ab3a52dd7414cf33d37fba07fe0627557c2870a4791bb54d73755f7f4ce5febb25c8f9a87a39facd180b19e87949ac7860c36c9a63a09606eccc61fd0547d5cdf9db7e3625d38cbb4de36709d2be409d0d6e034c5bdfa3a262ff9910015bc8ddbfff3643b7221361f7d9803df2e22fa7dbf84d427446159bea360f6a3ec37ceedd1b248e8454f8b3300aca13663dd97ed8674282a4b2e20890034db767ea4f15392941985a3c52434825041b38ccdacc8399a75b2daf78d0a4d3ae92cfa573851ca413d7b2d6707ad164443f412941ce0953b789f7445217e0e7bade4cb544c62ac4a033b803013b775919eb0d6fdfb50edfcb7fe439c93d825b895ea3afa342037d29d8ce49471a81f993b2ce0a2aed4e07df8a4e9dc264d791997bcfae33b5537bfa0ae9abcc4418918361ac77d6e8df6f831f8d07c1cf68e7bfcc876c882174582fa712cda9c43ae636baf9b9091bf2ec45cc1774d6dcd4fd6d5e0560c8991ed678a6617988b21aed90096dbb3fa6c732d573884b2d22c3bd1aedb98805f8c43891718c48ad9684e0eed663ffdbd019ef6b24db3d176c160f5a363b8001243a295f0d29801a435d698c77554237770f068dcc2742a4a654b35fb4157ba0831e3d534cda796a3132c3f901766ef224bf7425125e685ffda84f25b1f15888c72019352f8de08fd78572978cf14583ee5ba5ef52f2287a73aa87dad412864e84bd6fd39f1ce96ec60c00e9e1a8ae3600fe6fd6932e14c4322638ec3b9b2601fc7c9368a57342bf9e9e68c029496492754ca55a8c0bafa6cf5a8b4e8420161f837fe8e9218df9a59814432e39405fd8a58d390b3c9aa0635702e252bcd2f98b888038703b204d24f9cfe9e8768eec7cfea96ffe390e7b3aeaaf88715295bcb5511d0f571e72a3613f4db043e731694c490fa8fb12d9371d7a69a52a70fff29ded9cdb280efcb5b3b95a67e02fac019031a4cceb38c177c2510e3567fcc07e9dc1f724a4defe970cae886c3b15fba7ab535093aba9cfda9732931540f3da9b4ab725a16d224704d3ed5127268d8ec36d86cc47f92e1f9db4d99b50e41dee1628dc28c42ed547143010e33e816e53f38bc8801dbd7f77c3808fec19c40aa59949577941c0cb5f270c28a76d07cfe4528bce952d2f7ca0e4b491b91593e1a4a9861d5f8a16dfa8b5b0c661d9cc29d1f3acda24c95b7562106b98bb120d5782c2cfa093be3d592e4ca4b304e602803ab2938b18f6b3d72fccdaf65b83a5d7d1185505b73aee81c27c56d4838d2167f852dcad1e0ac9693bbc7aa3a928db5929174962f468c8f1ed4bfa9a34367bb7bd9f5e2773b9ca76fd873d07565d168282f382ead3720042ef7d99697dbdcb94f39c336786d37fa0afbd951cef001de3df7e14c3fec18f9aa6a0a0f87742923d0169abee4b22fb08e94290c7323e484c270481b1a24189ed8565b2efd198f8396dc27ee7a0a7329904817b78a3ba10bd0e5e1886252bd5d4b9dc8c5f77e617118ffa6254370de6948e8922c35345659c9bca4aa60ba34227d74da66d96056d33cb958e44a28a0482c9add60497dfa0d6fbeb124b47f42e4fe6d04d4d18468f8f24fdbb647ad92de14210948974c83f1e286e336cf22cee3dacf5f0b850e934e0346b6fe72f4fd953266c34a8a2ecf8b77898b6820ca3b3fb790d2f912601b66202d8f7c008d349a7f5821c5a4c3354df5c7a257b298ee2df8462feae58514a9789eb130527f671b8402b3737b11e5b086c5b4ce3e7c0d326e87b5b42bf6c0719ee31aca5c53e09cd99a11d4337c13282444b47067923c23539a7fe97c020af72a5ad8c7d3877d9b5ca26f32cf015c01c9c245d4e161f2f3b036cedb263d321d59c9b27d0a9f7af49fe24f3ccfa28d8cecad35273b8252bc771c9bbe7a1b8a9b2c9269ceeaa99dee0632302dd4dc1f1cd073141ecae5e16597e8d89d1eba7a2640b277619ded90623fa936163a02025a3a286de04ad8f2b03696dec537d92932fdd05dc05f9d21152eebe6b491e8f855a68268f5bb41de7eb0ec9f2f74191be0de17b463ab322a2ad80e9db61287b0ba3444b829047deb08df509686d17198fed4439ad2b2b65d797b9081a93311f3b46a4140ba3dc45b7c077173c5cf868f3ab7582ca6f2e0a0184c08ae0ad155a90f9ce0586bbce2cda8d8b94ce1a0c01c0aa29b912867ffaec277e274941b5ced01aca89f5b2f670708f709e532fed626543304b3e05b824cfd26585d55ec7aa12b7ba41950e33fcd9467e1722d494b77a22e6764c3e81816f928baa75588ca0ae4e31611890b7e8ba77cd60bd680a197b8803049586bca5986e44f4ea89f63cee8e5373db720fd6189dc3d9889c85eef5c6c075c6899b66385205a119675badde6be7f1c19d061d02856a076b721fece033d479586054dc00076a24ac955886238b427a57ab518d307afa9d2e2e2277fe075d974c91b76d4fe30330aa8893c783800e845b172ebf2aaebca178f6662b4c21d11337d1b03f659e6ea5cfef242306572f208d08980433a1fbf82d911a26d5f937bf437ca511679352cc48208cab179279c72a898d64252a49df285f5bccfcc0880aefdab53d520b596d5e77cdbdb78fe5bedb3369828ff509ac685031d6211013912e46b20f739ffa512be2fa1d8910c211fb042d7c1852056d5bc158ba8c222eb49fdec488975ef7e4f0e5e442279fbd4940462d611c6fc94384d11892df5b20e138e7a9537f0f3465e666d222badb5c39a46f4dd919f8d62b488c9601808cf47ccb615c545d158d43383499bf4f9c2d138839a7eddd9cd1152c8c26c6e4b8553f0ca8370a12886900ae81bc358b694f3c3c1ae70fbec1526c8ad596d10d6f72c6e5a988e051cd36e89ef92017aa4dd8596e2e75d12bf7575f64cc9dc04e0456e508a7ddef702aed5c0b8eeb5bf292ff71587c6fc0a8f959c2f53dc7ffafddf5544cff35f601de84f5f633a4dc6ee175ad94ea17b193e08639116abc673a3e495fd8293091f6e041ae9d704544871c9a5f1f18c9280e972400e27c505f6b7af80d2df601c7635fae6b2a7c298956447963033619b766466119ddea374d9f6d111df48f17b5ba19422db0c416dccb508dd3fae99b625de54eeb465e35e2e7d2a1fdb9c9fbc74ba74514085072ad2bba68c575c042c695f327f4b1a294fce633e15819e46c2b23d1c483ff3263deef3b41fa4bfc31e6e30eedab905c89bdd87669ea47441213f2b7a1ee35609d1486d6915942e21dc6b9d1985acc69a58d58d48c34885b0b19136c86d6328b8a986e75e92adfe870da63eec77f5ba9b715bdc01a9d4737f6e74502cce60a014d179942b07980b160e99cb0a9cb47a0f1747c7e1f4896d4a09e6eaa63b2b31202919f5eafb392a90ee20572064ab2fe300cc43362e7a6bda7ccc36ef93f770a7de9405335dc01df3f8267b8fc429e1a1276229f22a9faf176e6283ff7143d44e818777b4294069147592e250880d03c328c4ed6ae8c8e6e21a27109afceda694a17080c2c3da53870c34ccec867757c147d2040558fc61f95b496206207e85b3a032ff669695549e7ecbe3bec0653d004251c8ae954512093e5b90dec1b7d940fcd7d79fd0560576f91d332b0bfb6455f78319b8b2b887282c90651d958309b818dd1d74ed1462f79ca9b4306a2a943e21a96e512fda267fe5f0e1dfcce2062804b472adabe451062d0b5892ae7444f865462b94977031470aae92acb766a8dd8a34c8bbc2f10e1ef17588d87d6ea8243341c7eb44c7b8dff9eb1276a9b04a2d5d4b14cf8f00d5e8b3c507feb7dcb16936dda4decfb731695e888fdab65a4dd511a6f46617983a0c1403ddfe71a47a0a465023029428fa8ea98ee1467446bbf92114da67871987f1cc28886261567ceb4714dca857bdd6c2853267f1ddba91d92d918ea7fc26fafdacace3f93596c0fd38ea1ae8899600858113d97c5324a8583a18f251efa776a02e647ccec21abbad0b4931ef3386120611f3813d61d6813aab657d05ba5c4dbce2c8403495980e7b915a78b786b894205c9755eb9e2431ccf45db70d1b7c744c3863450081ca849795f778cb4fc9d8dfc34bb9d7045ef63c4e5eae9ed012c913da475a19fc6d1a6de4913b281d6d954cabf7f5576b53eb892f294a7d1c74d973186b8af67f802b43a34a9436277eafbde0ae927fc24686df36e630bd1f840b6dc5be12d49b0534758223bb7c8c34939f7b0b041117f20ce6cc3d758907cf57768bfee88f601be0786945880a2e834995d205f794231d5a8031482863ca45fff6bcef72230ece1c379bc7a0ff100b559e76bb6e7bab9e94d652cfefae46acadfd442668a8771ce1e1cc9f01ef346669e7427552f194eb903c625c7924f3b1e9e812a25db0c648eebefcdd6d9534b0b307139693ba6d73b331ed4b46fce55725d34f9f96f32c1310667e384f788497bc776de22a465c1de6ac67f1ec3ad7a16827f05ba75bbb0b81edbc2d7e3c84bc0d7cfa915befc95e49efededd2f8970ffc47854c0041c33755908cfc130f814bc021c461f8760566694478d3c2416081938102934b296bd6d6e43738d822bd327ee73758d594e8d295ff67cf538f6b10e2b1daaf3729189194c4d593cd42c54e05c66fb077dd6c9e9107cc8e72809a62a65b9efbb0795012106b0552a6989f3d0f23924a0666c825e0488ceb41645cccee48da14a8cbed4bbf5350462060857b473314e5af5bd24c060eb0b32f5336629727a3532f7655893ab9bd5fa97562c76c8dab948c949709b28209e5bbaf5196cd42ccac2efcecec8700b1fd1f949615dbb965e298476798af798057d0ec4c0b3a9c90f4860cb4eb891e49edff5c941105bfb9606e5c5ac60f5bf608957ee410c3260eb01daa0ba04c1a5900e59418a5f4b91c81a1f94fa65a2931ff166623746f876ef98ba8e49298472a4fd77684454415a403e65165b703c52588c0eeaf7a96c07e92a5c6ad68272a43689b0d7527aa7482ed58bfc6433f633fb6965c2e27b721b849892b11c4cc107879a51892e83ca5a76fdb74a9560a259bf6f865b97e691fbd18d20e144180f697ab1b04348b06ea0389dc6fa65adde41487c38d1aa0cbe66a64b90a422d5c0e0c66f4c63cf847681ceea162a2c4be4823b92b60f460b8f0c7ce053383c8a0d776cb69051e56659e3e817b40b3b651fed59e7528110041a395aff7c9df313791f33e3bdcbf112a5ea1b06790b3982e8ca0c1b15c94bec489f9ca673ac841f9dd2902ec3900345370fd3574c5ea2d6413176f842a04a2c0585e2a06c9d9909e93bf4d125a9f46afbb17810691164c329806aa0db07bd09ab201bd4b48ce5fcbe9bdb892f6bc11acc144271dee7bc98f8d7aeafbdaf416c308eae65862310de5d2f58c3d0654365a2be6ac5e0ffdc0bdc237d0a23ed94b07134a352e51f67b2e46d855c50102f337268af860a688a83ca0551b38df389ec05e6d9a2797596a61bc64beefe0ab45507aae983e52d9c19d893e7a857680714d9f5d159de9606fdcec95c1347e41badbeb305114e6fdb9126210fe5725e73b8a0a16b52daaf90f0ced5479866175e73aa2fe3b18291bb9280819b84dfe55de7f50bf8b66e1e15a9e896745f849b7ec51b4eed6b3992c80cdfef6a694c149d2d7b3921ba718e3590b1e33af69a025fb6ee1ada36557449cf9c00bbdc961676a405e0c9729f304498f2bbbae67ffe77a204097d05e8fb38135881894cb1fc45e8d711c0a2917e68078459e111ae11a1d6d528a00a950d294ef3e47951568302a39a885f5bcf45396cdef41be9a055733f358b12324212636f37716ab4ac17ccbc0413ef27f6423ab1dd2650886f782f91c7cace9c8d509345c881363ea868f88c6d1e126c7a4aa1b8a7483748b80732c6eab30ee67208f72e3802957cdc9818856e02d70cabc51f9791e552e11aa6c8b9d23e146e1a72ff25669fb2f29f8ff92293e7a253b328a4ecf7a005a7b8d882ae9904d36ad467dfe354159e8802862f122546448c7d5390049041ec6b6a0e6895219f2fc2428003f43e4915326ef310d23cb4750453844eaa23451d368e69a6cde425f824530236996d2c4b99a32cdc50a338a0110b97759055f7d7e3e4b0183497e47db7d5baf24495b509cb7b7397b5eec563d0ffde1f2c1fec10f3c94b023027c918bb0b246523395bf78eadfff78382e3e9d390c1c7eb3498805947a1035d65244814dd88b34c3ecfd7ca8086fba63e4988fdc0be2ba0e13edb719534cf512af29de05e03ccbc930f87ef34eb7fbf06f9ce6fdab0c5d379b4dfc0b9a8871c9706780cb452cc91d960df0fc45ff92d737eb1000890950f55543a46f84df2bd7df7ebe8bed3a879c1c846a2aa52affcd333e44ecea3b739355d34cf158c4f7ce71d4856037b02db6677b3308153a6eca1c9521d68edae0168996c089af98e9d6f7db7efd8d998eb6b7771f606cf32181989889d24aa46fddcc5e903be6a8698e0d3ec1a541449b123d1e2fbf8b5c4dadf7ad805b57e11cd4466edf5cce9563a60d60a54478c729d4b51e2e94fdd19bc715e758a04e435e735999eeca52897b122450359598c2bb23409cc778ef361c8d93eb95fff3956abefd22be966d55f85b6228da8514af4211a6a95ec10aa1837ac47f08d60ebdb5cea38590afb2de1af5d843dfc057734e69bbadcadb4c6b1078a4228fa73f307a7b686bb5b08773a44639049373d9cdfc595ace392e813177b7ff41bcb6829d19a9679ab0e415a7fab006ac057b8e26018f0163c5fc741d4f4cf500b2a0d5b7901650385df16720871eeafa9fe0c7c6308662cd038ecc721ce4cd7e126f747e4d73b87e76a706ff7f1edf059d0d23d71d7c68ad8949baa0feabe7e3773758416c83d74e8c87e06ef29478b412b551d1433a7d8d433665991dc7a47f91ffd6c917e14ed19ae123b78f0ef8d01867a607ffa34d12852aea2945f2199d101c85bb940c0688638eb0e0b5f172d0ea775f2f8fdb36b71cd90fcfdbf4e89fe64399373788645466146c1b8400ed23de3e0e2aca261899a216701e44fc83763e73b8a8b744cdae66ca7e501dbe418498a2c85350c16d1649ad989e846e7cc12848b60c5c415b15f2fb65c8670f985c60b0826f8568f0e9dda78da0687840d83d56a0154f085c279a96c998d5c795c3d3adedf4201422166d941778b5370b4c99f42a07b8523ed45e62137f969c9a0b66a26066bbcab18055a4ec1e5d63f4cce66ff07607782478316d2c45b583025fc10c31f70b095573bf6ec9ca34d1fce8134580956db15f78893112c9b67b449b6355e8784fec9047fcf2bfac315141786eba996b16da81d93120af8959c4add84e4b9ad09a98d88d6171b74d751f1be3eddab561eda378957cb6e5a0d88b1f6ef9f26b4fd72c335c4e946f72333852d5c7e04dc14f4dcb5c2acc5f92e7cc6f413c768d4370f8b3f7149cdbe04fc7070ecfd8dedb6fe68626711837583fc23fb9cfdc51332e8bff8186ea63ace6fbf107babcd555a51c4f15a051e8ee9f978821fc8ac0c4054402fd6c31b9a7335f2149c374d3105c1526991a55efc1f8a78fd6253b87126ffac77e5675ee79193c2545d84b99da06751584d2082d564b1940d4a945dc6cde334b617f9452e0006725fd93170bfc7a3c292e35ff6ebf45510e09f228a61a22c20a5e3775175a4a6cb29471d71ff5936ec4951af01c51a28867c05a4640df81bffbdff081e0dc5134bbd061cb8e61e5dd0cf5041e790caf933eb8c33b1798cbb1cd555f64d6efefa131cef5aaaeb40717175296b1b9500013f937302ca9b9b90b16ed6efdf052db5614e71453a6bbed3fe03bdfc0f1755c4bc7d9df4ce7a2fc847446d3f8445bc7a91a85df2e91450e52a77dffc1b6f3c077306418cf135c9ba630e7906ab2a08b031fde77d549620771bc666d0c98aa2e6c1d516effffdff75ba56fe884ed8597de75466543a4cccfb65b8e9266f13189f28f0042c0a2a240c690c5c670ea931023bb489d55bd93469cf27181cc686beddc0d4e77b9ac7c5de944fd8b047cec3d3edfc1aecef035c2891e23e2b50bcf73ef8a39677771a22f1310a5d8ff5880f1180add67c87226e8bc6e92b6cfebff13766b86da08e9857701c78ddb9821cf45ff2491431645d454e51ea17c4381cbae91d97b7f64f34f37ee6e89e635de2ac7c6bcf44a25af051463950182e26a05f2b9e50a674be56e31b8f975483a1496ef718bd5a4e77ee521a0be4ec12cb96d31b3a8a31fe641a91f189b296e179b1eb6a20b268b2350f1ea23ed980176ec9ce50a55b9683b56ac38a63a3dee182b06b14549d21df3451bbd3735d7e40c52ce8d3cc06f596d35c631e4807e229784045b740360aabd717e729134bc6af16f81d42079f3f1028f22b8f727af7b103be15c44af3ab0fc6c9b3adb5e466bae76791221ac0d76e38321e19c67c5fe357febd5684c784831e43ebc6b78c47c2c92ae4a13256da884e69a7a098509e919b85fbae5db374e38f55428c3fd6679c80f3e88cb529f8695f4f67b8a96af25923cb0f4f771f593b2cad7f3ea72998a8a3bfe3c59d4ba9da656a75e64ad408cea6c03169c4f04fae46b8c81c7f43c72aa820159c4646f4dde58d5ea8d3fb9bd1401e71e2aa2f4f48779c56b51033b4353a2146251e41d78076c5bcefa6c219f1cd1cb4a2229444a682dcfd965c88136c77f45587fad3d8b4de50066302b8c0bce3e6e1f0ca6a6a609f1a3e697a57d97e1aa17b8692b21519875ad3cfe6cc05c7b2232a253f64d9f3e29c0747a039f67ffa1275473b8379ddb7cd929aa2b865915d7ff26249fbd13a7b632c185477b9d688b766c9a606ef80f3938d268d13bbb34c91cb1b6f4f0dfcc74cc793df521fa73a348036e644b325a0948829c0d31ca1d7a38510a762cbe9d0615703348e0bb9e6e36a560f47b055b63a971091dc203f30be09e6f855b7757f564c29b8336ceaf83c4f2c8a27f6c449f94339e12b8cf71df818def568205a75e5968dea7858fe4b388a2bad3e9b90a89e4b0ec7df3b3a96a58bc874b553b3e4d1a5d43ad04515f2306b81c01c7bfce0fec1ca82848c578d7e994adcac43fd1f490390f03a634ec588c040331e827247ff3ea10640ca142b95b33c4610f3b24f599f754c9b37266162835f1af0a6f3a0ca19b8924eb624a15176847e2cc0f30560da37126eb597760e4e01ea9ad99c8a513df5b6f9b88f5a6de81d16ccfc041f3621b6598817be39b5f5c14b9db433858fcdce98c110cbb0be46279c048a187dd1454bdef6da0b47f5e86349a0e7e43aef565d0890b7ba401fc40ec62dbfb885149aa6950ce78b2ab670ba6a277037dc781ba4e9e56045b5d011449f930b8a08b6e8d69a0a54b4e87c4355cde84f4c80de2f4773624c6d0c72239b4202eb7d22b5c32e8b4d54f7c354ec737bb0a991a326da34c0d9b87e2d4d025c02dac648c4160c8718c004d7666c100702256603a27a80d34b2ff623946cdb19caeb1d2cc7f701949b5dae20841f0909ea018f40faf65fdf7a3be5a94022e85ba7eaa93fd1acf6ce459b903b19e9c7fd751c74fb3ecb11e55fbd8e2dff932582e2d8463283325e654a4411fb0f1bbbe554692bf9fdc67db9fd3f029bfac9595bb9f0fe1f1527e2dce466162d322cc1798e56c7a04434376928970d81d5cde13dbfee31316cfeb1ba712d3965b85d522f118080c994606c25c13b0ce1d6aa7fb6b2b150e9d916d2ffb03abe3d2761f9a3ecfc45f43dbf5770a8797d9f76ba2442d66229a5bf98e1f94f7b0974f8064e95970f837c70322497ed322201fd0f56102ca546c046224c69a974e6260889a2915904bf10c4b14b34816dc2a7e1607be24a01c57fb256a0eb949004de26ff8490146d0ddd4ebc0ae4e8116955afc84073045d81ba7eac244d108c08affd5c9a8ea759da9d4a9739e26c3e2cb9b1645942b87d5f7fa143bf35f734abe3f6c985705e4a1c4b032fc93245e2fa3b79c396c95d2597d0e9a9d23ec0e402283c9c924f5e3efe37356202c12979090d766838927176c336dab35c783fa4b67083291fc0e5b3a6762f93f5d0c3e77152b2ab214bc2c009c92fc984ce76d2853d171e7de63210fa072b6ff242423f5ab95a41b5d13b64a5b1f67579ab5230f0f44a60e0c57f85f42b790ce0b35dc17fbb4bdd08f077f2d9194d468a3b899b28449bca23627e0db142bb44450bb5355a104577ba281daae1e5543e03517c5318d8b31d43c0fb92b6f37f5ffe3b52efd294659dbe0c6fa95df60e4e08842a275220fd08443f258e512915add809d0bc3b5d0e1a4d1f30c4c5cf28b042e0c6491ed2264b82503227d495fec201def1709e5c98aef107282c386566f6d9e5817726fe4d7f551832e19875bda15684829e76f0288e9a941b61eb84811a2133ae155233f92171a5659360943570142dcc7e0accc426b6aa1715c391f469b4c86c947f8f09ee4b9551b7deb0f5cb55780c140812d81e24fe20c798cedd4e14252906d180d240c3adfb479b0af2d900c6c0e9420efa4236423cc451386e395a07274c453c9ae2820590f2555f953a2a344d544f0b1556e8518147127e6d8bcd9376b4f24f6831e155fffa1036ad61f6af2ef4874e235797e7d19e0652201d4514314bf8a807b0f37be6041b385629f1b83b9727d1fc5574ab422bea4f2e92739e755a932259e2603c0d31df01fce9ea5180548c8e9fa29df126cdb5fcf8ba7e43b6459329b98cc17fac98eb5d1b19531e25aad73a4c6df000248dd1f9cb2121e5a2340fce8feed6c46053d98af7c68c41b962afacef7b65ede765c28907c857fb83bea6d00d82685d820a2b29d88a0b09f079b23eb5a2abffe551a8d80aa53544d18d8f0645e6e7e44a60a5e52e2de4cf4f1412fadb6b1e519b266225f8b0ec9c5501f2b77d6f2cc344e661c07c8f19f8034cc5787f64e4da1f181b8428e3cc1cfb3a012cdda98b5b7ee2bc5efc0e020d88e9934d516571b0361f027af413ed940969af7bfc1916ba9256eefd38a87e779671e5515761879bf4a252e7cdeaeff820f01e0aa1b433139462c7de4b3296f895cc34078e736d0d902b6fef8c221a9e29539eb1557c1855524e8f35e0d4a17a48b9a9c029fdf28c13f5fbe4b237ab05b303b66a2039f746741ff45ce69bb9eab437b69ba025430925cbd8b41eb645727da48c46b5c6f08e00146e511594171525765288492552fd11abe136217a8e1843d1f5c9b55458840c906ff52978145d8bed79c5a5221682f17d9e2b46bb2b9f695e5afaa8df9344117d0f8242479d69ad316c4a836babd94b28effff02ada9d6b709a38410ce2749c0425eee42fbc5aafe5e0f113d85fed85036310069fc1b7608d971544c70d2eb8d8a7e1389d7db06b158fd44be4244dc10d57df323f42f4ed50f3f1f329989bec28e3332c9b18e639c347be9025011d9dcb0b2aee424dfd1ccaf4cb2894476a2339b8b563654329bc7fd2e89c595344ef5087827eb6f2e115e579fdc94c95d8e8785c0ab6d43a635ff1b02c8522d787c41419e3bb94647648a4ccc36402197bd92a7d38719d93054614c6c24acd5646ef6de56b4ea5da8f3ab891f9e9ff71a8f316b3b012bf6798768e168d90081cbee7d1f1247b34959a49ea48e5dad51570b7ad4b52434bee23eaad98caaca276535cd84646644641dcfd3cc79d06f1cb3774d7ae908ef4fea3ab37f4ff9f4e08a157309d678992dcf2e9eb59323e1a66cf50be2374cf80af481d6fd9dd2f303e0004ef2bc6e7dd340556da7c3ed2af8105b8e78c668d2f1b1e95cb5e4987836203bbfa72a7be17484c4c9d7f161948024ed306836e2b3ac0f34a7aa6a715b4d6b9f0198f7e3a3198cc39060ab3af301f0872e9c45dbc5f1a9bc2a53d4c7f6cebbf5d89b62465747c7231592fe507377a52f36a5941569f73eb05cf55bf90c9d85cab7b56a81ab4e5776b01d127d381bfdee3c9dbc8e11cadea76410561e968a44601c082ce0cdbf202823e83710110bf4d7629b31abe30c8d80c09793f432f858804cc62d2c0f86b18d2dd9018cc2639487f98ca00b38dbeb248161b2033df3bf8b67e90cd45636f7c2148ebb4bbc2118b35f6827f286a70fe13bf16da7ebc1dc8c23a9ae4c816231bfbd19b25232a176fe4ac955f7fc8b7bed57fa2d17d0bcd576aac6923900307f9c52a04a881b1cffaca913ac45cd97e032f71909149e77267c6f8c1dcfc6b934a7648526cdca1a2f7b67152bf4f74a58bf5876bb02f820694fde02691998c4204299a25a5dd3e9a5f78c452accf554dc17b15ce32cdf61061ce0599c24a57ab88c154ac187fd487af31008e16cdd45f2b50ea7bd216190a68c241cf0649195a1f7cd3a0c811a360c4afec2d4e3a788f5ad0bc09e0720bda88530a4b6d02127d4a9449423fbdb90b307055fb5eb1c6976f1c11ee0c96de2396c185e6d7a0eb91fb6e5b5a5cd3d622bba294a99b92dd02ed57ce0fc3cb95c6f429e7fb3c9442f1217848cfae3350f7e6e1694f050ed5f659cd2e23af4d6f54a64aed17c82f08fbf8c44664ac30eed4f0b7de49661e44fcfa79a39265fe5187107bb237d9ee2cd80e12c0928d609d0c57e35c81f4e0e4740680359040c8625fb0718d9b589d11b49ebcc728fc01499297338b13d391368a66bbf0fbb388762eae6b1487299fd82babc9505d4c9cf35a6d662fdaa030d7080530c8513bd49358a35735d56a20ff7968791406b875a5e0edb31404a367583d408b8dfabe671bd522c7461f6d96358e49cbc5cc063fdf435c0e283ba8a0364b556faeafdc56f01538bee46d177801141a6d993376a43b40c33d7c03a1af223338cedae1f4d2f49b8a76fa360c037f0c569a17108710ed8a537b08ace195422e0cf2206e5af7a925aff6aa8b8fc18776c8650f64ac7c87878b4899931199e06e47fc5ead2b8b8d155d8a6cf666ec1da55456fe8dd4463532e1417e4cb00480a48753f92ddeda63effe99adb9e9ab7f923f732f283fad81519a90e97a365c12cffd920a5e2e374b4acc339ef022594d43437bb54d2e4969b4f6d9e3fdb5b49eb837f7273c7d462508a279735e358ad3db10d2cb9545e8dc8b990edd07d55ab712eaaf8180c137bc4bb1c521f9e8d45e211985eb75f8f83c2a12224612b4fd1af7b17b9778044e92d0fd59cb8cdc8a9d6fb900dbaca5b8ad6d06390fd4a73df565e8d09ba084970e6ef1ad7c0c55f383c536bb2fddd87242814b61edacb6483d8948a5663bcb3da54b4b2c33f0a63557cf905ab6c0ad2827e47cb4844b3d9017fb0c157faa5087fa07ddefc22c282e602ce5a5ced0b3b93524ec15230eb633410e2e74b11c0b4f73524477078233fdc9b3864ad54e1ca4ea8fcf274195db72062129da88390065c32876d455ffc5023f5750e23e41b6b7b91b2ca140fa0d191e93b9c89aeba849fab620e2be76735efc6a2123d9fa0bb2e8677b4e50c8fc26c46bbb4144cd7aa6830c0d8f482f129e4ae3160d4aa967a0ca511d6062e32b6e01edd9564cc65af518041bb75d21b618a92271756a65d1da7c63216d787f390a9462a93c6ef541e209f91b4efb5ac6d5947b1b0676569e977c40b851231f823296c3d6c99e23bef3f49af14ce4acc741ffb60dad13d31595bfd966bd7abe0549a5fb40c5a8ca665fd8b8386432d5924884314fc34f6657015b21d54992194b2b7a6609747c93faaa0e7b8b757803b0ecc1679719259a46493735b222ac4b63bce9939917b50d6872f118f096abb4035c0eef89c6fbea3c8d04c26bc9677cb0c5197ff85917cea86bfb5f5451544cf99f1f8ed5406daba9ae41fd7d0b904606a47f629a9e2d0ef7209351d4772e96ecdb11741ef96c7a1e0bcf2c1d5cd1d5f9122abc07fb0e4f8a3bbabf48cee5cbe6e68132ad0b70368e53c96ba3b90bf8a78ab46f2231bdf4c65c7a39c325550450a0a4e8c0a2a33ad6ed9077c07ab22037962df71692ed13daafeab906406ac395b862b4e7bb018402b039e3e0a21b822a1c08edbec69a0d6e2ce8e1f72ccc8e9989452064df62a780be9896c0c98f5d640ef3ccea10d62fd38dd32993399f730ca880522985cb11c5bc459abdd66ec7fedc69c35b9549375b137b689fbc6d7eda3e77fd1951095107b2636530ddbccc853ad60afc4d16a63d2ec991c0b5523009d0dcacac36dfd49d0d4948cb2cc23896a5bf2943964eef40cf2e2c7040bf98adef3e8dc773339ca382c647f7a9f378df8ca6c0382113072f6ab053e6f9a77755a6b2859e4d5286aca3ce91eb8c0c8bef5b58513e912053acb3138436e1fadfc4fba4345eaf68a602d14cf4f14fe4fe3d8e9a9b0179571019cf19b0168c4b6a5ac88ab5de619116efba42751de87d468aaa02382a1c33771b35233def3ec67be7a83f91ca112288f3ee0a0dee0d1d9bea97ee60309da5b5ce1ee52bf9d90452f4a1194fc2fb7fdb0b6b77643d694b50312185eede13a829dc84290dfb86c04a1897d18336c049623641ea9abce4e5e430eba8faf93ea0842654df42711c11b6245a0d71342e436191b24461deaf2ce8e5e28d34209f2fa4f35d111be684e3942640b5d302301a501e1108535bf7630bdbb798692091e2f85847008b7dea35bce0361b3d312797c053050519a0805a3f3269ef99beef977bdc29100c30fd4db3343b4132ba2be02e262172c8eebfbdf640309a60883205b4354be4d9f85edd4cfb9c9a7c221d04cc906bce2c71aed278008d3f212dd64b46ea0dbe51299acb753dc2f261f2c7440d97779a00165327280406216cc11611d740cc70128e5fd41dcc768bca36643eb985be1abf8bab6061cfe098a36e9a45591f122c13645d559f6f3538d4d21924bb6446faf2eba0bd5959d410c937d8e30c1d4c1d2e5adb29ac9b475988c49a1e47d7d2706668f4642bb72096297fbe3a5a3982c18bf1ffcacc7384ec09caf4ad50c70aefbe3b296e41f8266d3ddd8a0e57535db5af457c90ce5015a90934a14e15fe8dea7e3e3f5dd9e9d2fc9c95725b11a78ef62314aea2ac21d300bf35072702264c3f22b0db7122407a9fa97df6ed4d743aad21dcd5d8a5888e762d5abe7109a65a64052fbe4e18bfb75d184b0efc994306bcf5b1501e9693b626d0cd87fb9ced59c6424d61781c08dd33d0d7e7994dce7336ef51d351bc1852fa36051265e7db3abf07a5f06b2c0c9c194b23ac5d7d255717f416aee8cca7af082a18b785cf26b2e2fef27536dbfffbb369646b8fe75b02b1f3ae47f2489cd4dafbac3a0c4d0d15ec1271df6a6b0fa3cc7454e232c37c5b52a5ad3b4365530a3038eda9b96af6fe082cd2f5667ce4f8fee2441d39eb3cf0274c597a21adbb80cfdbe825c80e73f822c31237339f907e64eb2744a4f68226523b000e5b5ef7810a625f96efbcbf24e6db2649d957135d1f1741667e77abb2f242ceb047ab4d0c4a0442b35478ca6ddb17dcb5fbefe1f7701cb9e016c88a97fd81e48fd27ba330e1ba328c0647890dce6464729feb6cbcb683e91a3011a31073ad84ca5bd595a92208cdb859be3d61ac0a462198d5437f4f2a96682abac3a121a7e54c901309899cc9f38bb8c18e6073f6464df5a97bb847136f041431f6728e57b05d7e13e11a35dd1a7abe4f923e62641774dfea78881b5374bb8cd93fce9774a20aa2ef6d4680c91783b6b2b068293d002ef7b765b0964e42ddbf01cb1d9c69ce7b7de9eca3abda51a6f24e7b2df766eb4b37e0ffc21a7875bc9d681a2312327026cf1ea7f92d1c2759f7b7cd33b118761d2a17776618434728d6493e1d1522e44461dcc453e85bcef0540053e6ec4cb2d27354fb95289c9d9c18e5c66f8f2fbca8b9b1e78a0a9b1aa3f1a3d6107d457f8c9af7c016108df2eb2765e308fb5075515881d8077a837bfd77ac9ff7dc3b12ed885ce5503408b8287eab954f172be480740c5cda4f79403a3d9ed34696f121e9651c0dcd4bf7fa5789ee19712406b7a4d2e7c33beb2a2366764432facf1cc82801584c9cbc2dcaff06fec353e95ed39c9fe4c673c975cacd5d93c16936009d8fab6fa83112777a1afa79462e50603024dcec322a7fe3ec6345527bb75197acd48076a60eb818d28d1b13c1ddb71f3a3743c9733c4a601fddec739a64d76313378451f54cee590d07950c8427982c9ffc861bd4c31be96f74236e474cded481bd5fef114bd18fcd1b62968bb46e54e8e97c4889358248e68f7ddc677f6a669b0b4d338683250ec427d40b477eb4716d58e8eaa2e30068276d7503b1da3f8bb8724711154cf36caa3d3b7d7f1d872105ebae8c2da71063035c1ee6a0735cc32637dc202e9d7b1467744250349cce1aa3812172fab90e5627a0223ca1e9233d2e000fd3aaf453f7671fdd9f48640e1656616d910137c1c68adc7c15995f64afb8bfc051837bc5b4fcc236395e6e7f83ee1dc282cb64b459ccb44c347af7e487efadac54afbfeb5e54bff0273224cb59dece45f637ec8dbfca43b736e5d67db40bf2776fe4c420eebd32ba3390c9e558ded290ace9961308e8a79b2ab1c45b41c527437d1ee9445e5071a62cb8c7b33548d4bad6ecbf843fd78e3a321760cfd4bee46dd1644b9804a3500fe18e56f94d53831665b268e1e52c89c7386d729c8bbe21658f75fa50eb3c317550a75e3cdc7aba5b9cb0cf3ba868d3fd8bc20f8ca04405a6844478a83314153c53193d6833e1a05450b17d0336b2b7525968f9570e5568a8a7ca75e0524f08f82ecbb1711502e9b939170b0bb3eb402568735fed17410f4bd9971e2f190777da3c02835c0dd22c3aad857519ff0d9c307f06a585a71d832ed8eadc3ddeaaf5685c4bde0a5c7278e7f16e6e5e2cded68ce47a5dc4caa9ca6bdfc6abebdd56a2d76ab38ecc709df8abea3216be2a96b7e50be884f852b4aa6dc630f45a8cf209fd8049e234ad41dc8fa590697f46ae366741e76d7529b61aa25ac6bcfbaf126fe52f8a73d341c35deaf5cd2ccec64e3763411385f36e168a06108e31fb0bfa627e0dad5978a2aeb82dcce9331acd13268e86cf2dcacb28d646725e8ff182a84faee3ef0c123d2e20723547b3df582cc181e76d4370d21cc3d6057987ae42217d3cbb0d1c5675473fc98a6f1100a75d42b280a4c01fa75b5c758661c6ffcddaade20219b6d3fb601fbe141c0cb44d199e85a61ef28fa4498261ddad8c87ee84d0559d1410781c7e04e08e7c1e1b0774b0e6f68b4b6fb60e7dce53aee4e077b4d98e81c17bc6b8c8f53109d7b68973e3b9803247d75971cef856f5e6778774b3344344554bc92a6f5b67422c35123e7a34904fd5a1a5f0229410cb92401edcdf4be4201167df1e4fab760a8f05359ae9321cb242e8efb85ce31bb1bce6132c7692230e1bb41448170b38827c7d39b07f045634be04e1009d0e9c0948fb2ba9f0f041290570f0e73c01a8285354e9b2d1f715bde4819ac50462dca1a28ed6c95c91a815efe30b3018e39d563456f1630624b637f6336a88928f1b14aaf7e86beae05d3b9f48e15d48901599e61768cf1482302e94f488020ff4a229c70155dee71d6d0143a7b048b885af5bf873b754d56cd1162ade37a9af2844b0e13897547c482450e778302884bffbab03be6fff82a815d57dc9f414115f1f895684e8dcc52d03ef2b18d67b7d0b09d1aa33d9977136bce3cd08827ebef9015892c927bd62d46894797a9766abae1af2405e24cbc86d008c1cae49e5ecc87cf8745c51712225862bc63158dd819a240f24e0ff3c48195ba976e31ba1b6ef006b1c0308116eb5e0a89da846734dc283440bdc66567afee07b7e8e273eef83a5ca2b80f03ce7dc009fb6e2356bdfa6f042fc4059a877417df2629f02bb9e24c4703e3b7aa11f73a0a4d5229a2fbd9beae408e86e16a08821ead9e82f96a6638bad74582677b952f9d6ed2de6538bc44f67da8348060c78b6f9fbcc4dd14dae9a8ab513a798830dd49acd5c56a9dadb48250048aeebcc3906a39426ac8a593ceeea057de0d91c314142f1c7c9da391ad61e647526300abcffaa8255a9e60b817b772f85ceac25c0ec9daf7f5475a65be695e98083e6ac5ffd185ac4189ccde7db447df8223fc8782822437e8c685a58a988accd32abfd1dd1ce524a56424e4284c5f58feb5caff21cc983809a3ca040d0243443ab25e09d2f3595da18366d3f0f0975dda01bef53431aeff260d6c87485fb7670872a2201821e2dc5416a9bdd82ac4081e80518674cacafca8b460b51074ea3b24a9b2ac3cb535317beac748d4bd7bd8f95c7df79140c23441248fee2d961091098fb4b540cf1a148ace9e93e8368e53103794b84e7c8c77dcd1e46051071ee70f5a5169f61903cdb4437ae82643ccb7d1cc8222590a09f9b822a97e9acba5871df5507ebafa63225486b8dab10ada83a4421811e57287f47e497e3e36d3c7f98ed24e184ec3e447119c1147e8d8eeaa98add24c1c961f0047c8cc94602c510eacdfd83b0998a67084cb7efff99ab79c485e5f5451b74e81f9669ad69b3094332d352a262bc09f79538f68f1eacf79f5b85d59813d76211fb220701bbcfb6f70c25457141b8fe49fb50153e92722a3b2783ed85315d80afcafe4e011ea44ff363aebb17813561947502328a23d00a864615ef77847a66e2e87acde52d2400658f0bfc760515b4953337b2b1c611d54776428c74c1d3aeac3b018ebc5565d197dbd166b5e3a64c2431a8a4e08057766eb88613467b4b5b2c395b5631ab384eca048504684cc6a3ee6519371374203fa89dcc7cb56689907d26759471a50e231c06f262afa21e7e87d459e656764dd2e97c699837b66334304c9109623e5b9517d28f40a92eb8fa247a6c06742421b0fc57134117dd63518d5a1bb02b29d2a3c61a1e89fea932672795b2d0928e23ebcbc0b12e6206870e4bf7db5671424b497c3c0d2c8bbd343fffba6a4a7ce3e2d409e11701c40707c95d6078c8d533a8e8edd1ddf632b1076d826821185d0abfe68c504614f3697c65afb1d9b0f8ec689fd70d54e2027d41e5708666b0ba6eeae01e88c2188c2adddbf21e765615bb64c452809c944ea4a15b574e6b53ef3e637e0907de37ed2668b500d1d823861a8ab90ae1d77468b7417da8ef8862258745e9e64de5c8593b962125c7a8563563728c22338649e53294cadf4b273864eb01ee22a434fde61c607ebf0429476c00259b0d0f61e28f9275191c66df6fa727a99d68ccc0fae726cc7b787c7bf286f24231a9ea238970d5d85d2a3e891a078093d499266e3748955b68329530c28ce1730009944e614c6d76734c704b43452b6a9934200d27606664970ad41c16b00ea1343d85e96ecd0b3ecf223946fcb3456bd5201d519ad126955afcd599bdc6fc4cedc03c27da1a504bba50400f8050c2ac040b2ebe0e22e5321a2a175b2b6c29c3ef4fce0750ea7c7dad30aceb36365edaf9416918a05e1810cb40c0b0a42274f4f03c126f255309a03731e11d7e7e09646b86c87290b1bbf6dc509a75050cc1b5b3ae7deaa46d5bc845fab9cf993b01f997c2c98004f52f9916d5a33faeaa75c5843bfdfa49774b334f82eeccd55066ce178a13d2fbde6c6ab6939537b78e258abdfcbbd65ef465c12a6b9f4ff2763d74a1880d7b01b538caa97ab07c1b5bdf31e57f24eb422a123c2d94141d37ce361d0b4c246205bc73160e583f23df59cfc80eedab64ddfa0d0c57073e7f12206b6d382a58abcff7d34f0676ad627626d552c7dfe141e9c0c7cabfb10b5c5d0cbeed3233df22bd7d160215a4d6386670e49e9ffef7b6bbd536cef2def2fb116f90eecda0fdb3b0a6f079e3421ac1652e8b703eacfff94e25e69e67dac04d956a815029ed71a947384226d0a92217595ad0958aa829f1a9c30f818094a586892dbeded40c089d96208fb42b4b8eb4ac8ab3c3738b9737590952403564a964535a9a12454c09291db002fc698776bf280511d79072d1a63bf80b4e0a32bf6eacca2a8c38700b74eb230f7361c17b48b67d30d4226a0180b89ed78845ad2effa564428fdbc736d32f74643854e26f1827bf1dfa7ec19b469c7ecd5984cac02f00ce14c94b12a789e7e12a09407a083b517d4d6fe670dba0e4b53714ca23de9423145eaf205dfe021cea5b79d3aff458f244e509e5efd69adba2447023ef230cf06c734fa19d22495b34e203e6dd6c76eb2fd76af0a1f22f5113980a3e413c0542eca0d5f8c3b0d2b393c50b6067255c7bc059af8a618fb7b288c59eae84e3dcc4757e31167ba12117128c0a07ec200fd90c0b8ff397134c4658f91d0d21953d220128f5e5df7af92776c51d28028b384386a7188e1d63c706ea4fcdd4836dac42d71d79af1fcc59eb7b4333d5bca25a4983071d6011e68b2550e0de230733f4550c8536705b976d4f1f15e514ceda0a84eb046629b2183c69eb98ceb82328e7652fc3feadde7a4813558b8dfd931ef9e8dc9e4d2b308a8fa308767b9ea788c502a2b950d48dc02ccca2a5b439df0c1bae4cb4477edeb17e0d58c0f524308c512035f477ce0a53467a10aff85d93baf9995ca66170fc1250fd10e6a4b43ee6bf10cb85f75e14232a746ec816b05d3bf4a8af8adb8d3eef065ab4d275374c30a21aeefc54cf15fc55762898e8bcfa90ecc46eece74128308a0a502b0ba29fcb9dd48ad0aa96a38d451361474e9b779d3ecf7a90daa187dbe80b2d12e428a47a543d1891b412a9bfe7c49788e44c5ed0b5f161b8818b00de4c2d5cfb8939701c146afcac39cf953a5fd841f0fbb319892c9f3c3121bcccf822f3ac87afb7068a9f459215a5c54d440e4b8834f0baf9b4e45f2e6a414cee7349718070ea2823dd71764e985e70522b0a304ef9324e7bffe01cf78e08b9354cc52403ee6bac5a342acb2490ced887866d3d38a2860e605e57540991981c5b1f8f360a1c2bc6fd2637d316fccfde8ae9dca1d34da863e29ace2fb4b9b48230cfb48d9d67394f8d88d0b794c1637f3c487dc8dd739dae9280ac6177d43f4d7577aefe70e54d2f5dab93e8da8040bbcc347152c2d6763e296d58bf0e4c53402e8df7520e1c7e7aac3e44f2733a1a9f18387a3d486834a0c279a3dbd4973085e162a6f9854e75a82dc8b39b17e0855d86d2c1dd45c5ea2072461557cd7fea4e770c6bf76d5f1148d49b22b53ab9baa522128f1cdbca31d493e2473fc898cb4d12e302946635ba76a6d27a4790743e829b19fec92c30838cc7d4c64adb841d9b1ce1c5bb31a4edc82c5a4f259b4dd0b6c86a054f7918ab9edfde8c235f46b37e5f0a667cfae773a8081fc149dea850193bfcbd9aa816e05e59099b0e0c8a682034ab27c70378b76852a945d2d66e94095a83a76083db5de078d8d9a26dfb62fe119bdd9460bd11d2b3201b55d5da32be342eaaff8e8c644220d15183a00d8282545beb8c70a6a55ec2a0910b818b8317aa37c13f62896cda5cfc2a6c328c3dfd2507e55202d35ed961b3ff96bc0c0508582f914402b4b989ae5df36b0ba274c2cceb3c0c429db6a6023a2ec4382d90fe8ead81963ec0a632e507b5a9f12e69f23234b0a210a3bc0a63d7b7a5a76d08377d886a892b976929c60fb013fcd5ddffe90187443c4495749d1116d1968120fc4d01f166d59a39f23534229fbf7ec129dfefd4952029568a22d903b035d7e0e55a419334a81e5f03d216f9abf236a91cccc506a79a8125d3ffed29e3280f8d351f5733748c19655383b4dc78e9a478fc424cf399f49b57ab15e4bc6fdcda269b7e88af973aa4b5fb2c8583f48e94ba3b6a213cc34d4d67986c2b174f8b959a9557edf97b06e33223419fe5dfe6de275f23cc8b0472440bb7fa4c4aa9b6555c6863adb2870cb7be392ef75ccb2886c547ffdc0e3f99fccf846e11798e722ec1bd943d787554619f3c14acf878d92189e7598454690b997cb12523c0ce7066c9713681481139a12340921b1d38f7d5ee19be3ea1e67aac998d9c67f9e83bc1ae56e1f4d3ed1ba8685f9fba72919038400c221f11107d283df8be106dfdfb75c1f0be01fbc22e5074b8a7a1002c9ba7fd393dfba0ef32ed0335a701944da4eeb827bb870f02b9e93e8054380562a6ec22a48b9273a10f3ab4ef8a47a84e9974209d339cf96f77a00978d829c8e8e2f99002f4439c45515a7c7873289737b0e341465dc3e91c5d781ebd21cc6204ec455524078f506aabf2f0ee60f0a592efa92d9fa82ffc70653ba2220344a531a0a9702a7028be3991d40be45f3d1bb66bd481c948d9bf5007eedce5a053833790d66bd7b2bbcbe2df645b170e8a1ff33b890ac7b280b1cabd9e13903801b5c530f905136bfb2a41b731e038c822552e6f6b22819da40c304d4fd689d4ebb000fd054de0172dc9e09521bd7406f631dc636d0becc65071b1750cec6dcdd48fa1b4d9a16fdf6f9c9bf4cffe359a1062953a230563a6cf980c8b0e5c11cc9fbce190ac9cf3e279c471db727468d8812d82f80e6cc6bb27c630752d03103727289050c9b6129628fefcb7594fdac396760c0fe961dfdc0948d967cfe2e844744389f2cf2a3526ca05dfa6acd04b8878b5a4b1bfbedf9dcc61a983032d62c47e8c99612208a8211a7a44ae7536b00ea203c4fa8dc0dd44d16944c5b42deaf276975aae84c416d16f8763960c2468b6fd36a2cb1f8e1472edd869d4f8df77c1c9f085108229296bbf60e41ec57a22583f9a1ee5b301f1d014e84239796dd8e644295fa5beee31dc5b6d0cefb53e7ce723a1bbb3a6681e2e8ef021c20444fa98848b5c54eda482078932551b43a54cfb61c4d748061dd455f3bcd26131f03358ca9347aa1ead65f9740bf1f8456ecada9f8e7deaa6a4f3357af3843ea781a58ef823aaaf3003d357716dcc65aa805aa607bc9415998b2c833538ae9704cbd6a70b4f3536ce2eb7c6635b2a5dac548bc339425a1994e74dbe5b49439ed982fdde9b28436fd0a8e58f1b9953c6a77ecaa5d8a99871a81b79bc2654cb4ee2aa9bc3483e645264a5711fada23be3451837d371412c61af04b02a59dc8cf8a1f7ac168733e30c36be3727f0fd65413eec96f7e4549ac77bd1ded72c2fbbb9a59c554bbe11ea72e9c69ffc661d42fa018bd72a199f58aa340f29321179085d6e1df54f0955798ed4d231ba8375d292f3a5c2cfed332c1d922cfbe19b67d6786a933969ae43d7d12839414ca0db5731301b0ce61378e75ceef53a3e2af5067d0c0f84575a2a5e5cfc676bf5e90f7b89c56ce4338eefbc0e1482f6def9968c3648108874b606fc11e721dadadecffbcba8facbf18735ea1589b3a5bb20b251b96f759c60fcc6ec98185423eb7c5a9c63114462843bdd4bc9ed0e1c14a43be0a6b9697b4683d20e673f42247a6c5597529a03512fad365d3e10a65c7e4f04ecc3917f6bdcc7324bc12cc27a0f91c247e20f9fe2728a0a1d6abde982826ead69726a363c6a58bbda6a3b7ce33a425554f5c40a14ad99636552126024a7a4df784c04bf1843116f58e9be977b846982812742980ced8fcef20af8e11b0067b3965c9cd67fcf27c75fd15a851a88e538a9f4ab181640dd4d54e587e939319e82a897c74797fbdf40d7be54de5fdada1919c624937bd91c7ab1a5f9c09dec61d28072e37c431fd959fc018eaee62ce35c73424c0229dece3440c9d1c6226ac8f6b0fc5dfaa887db84b219d42e60af923bce643dcfaeab1c872309518027ca9cc60f3aba85f1799f8fb9161e7e93d0b1f39a7291999f1564d91958a51d3939eed7fad2e81cce1fab596d3377e041c9f1d6176bc340865f181677f0bcd147fc6515e691cfcf25cda24a3ec39794fe7464ab5ea25d75ad087c3ca404a2b5a4cf40dd6866547d359a3071ede01debf8e721bbc190dab63eaaf6823ab5900116cc3f56fefdfd87c8d198a9fa2a952c3d7ce26baa1f7877c082e6721356c49e11c5e67b70144a8d9bd54159593e3de35199ce870cb2346a50357209e15637c9869d419934e52fe07d833a36f0c1e05cc6994360f2d6a8f89901ca8587c46e4ce167fe47f5f3197946fef571f7649ca1ae6d903067f103a38555d3895cab2bdc9c3e1bceca5e2ce1f9dee48e5ff0667190ebf9a2b0fa5f363e3eaccf8821af7747df2dfee89fd6091f6fbddd7a85d64cfa72a8e9ae4887e54b88939a90649e3acf9a3e722d298c649642196a83f2b0eef40970f545932bdf017ad7adce1c81dd714d6a718246660225ed7833c2e445d185104869f70679cfa2dae4745751c89556b27e615c3fa45b3f463dc8aa5c5fe098ec07322cc0f913b2f7a1d1771605e84a9e704ce29dbb7048beb9060ba88f47fa8cbe8a6d511ff813cd766a66928f6a6eabea1b61b0e19b3f53784bdb4e6ff5767a8b1ed2887a61d0f7b094ad17bbd532f5192a40f95137cf7f8209d6a1b0436a0e38bcfc5de51b5c519a28d48ee28ac9c29165e4d0a318f0da4c442f9f20410f2ab85fdc1d42b0a19934086dae741b950724e8c9ff2acf9dee5c80609a86b9dc4cb6abe99c5d2f9f716295dc9172db18d5d2f456f3f4dae633ef0837a0cf752c3809b0e241eddaa330f0dd0b93370625819394cfe9bb38a84c70d54a063beb93dad6d4e3360d73cab1ecebe0dff4d08ebcd3c946f6d14efd51bddbb7c0117ab6688b00adceb9db287cbedca0329f44753f5ff4880f0a7cb4055c48a1fc2be824e0d9882369e09133d416d4e00a120d1c46c4844884f8060ed04bdbbaab0d4f3d0f73a6aa2768c68a7cf72afe2c440d632e8a8330404662fedb370f750070ce8408231e4c41b27b2b6d28a87c741546ef0f40b81afba305131d4fadd0f24f1473dedda409f23f3c5add32a8ab3db6fd6c49c834b4f03ad229a395769e32a755ae853d5adedb5d85def659bab4b736b3f6c46f98ca86568b7357098e44cfce0788d05d5a2bdd6f58352185e78ce2478e909c6a40aec18a85ca29d5015ea8ff223ffc6f9a237dd93468f40356e3f1457a2661d13e2e2fd4b8653aaf56ddf4843f5831d062dd47531da7b7373ba70ecbfba115d27d3daebf5595cd3c05ce421de248f2b290ed60cef7761104027dc7c98914ac3c7ca76c30d636f8bbdf61d0fa828991b86d43a7b748e9890511ba8ab917a04596ac1e9632264f94742f5fd590197387b2c884e9123496fd49d3ced17b17bb38f886631e3c69db730d6e3a2b5b0a19f2a06fa152c0d74a393b9153d403607e1b963761940f8f26898fe6fe3035520b6659a4502d50e22b0abe80bf77859baea0b58141001521bc8f0753e82bc94e431065a1609300837a40d7c44166c3cf6c91373ace176c46d80487f667469bc268aae7543f2dd765402315048dc624eef8b76c650ee44ccabc4363f469ca6191239ca8e2fe2e37465d053330ccd3ce25a082afba45cf7cf78247673b50422383e9a1df1d6420e7e59d01c54bb5b8fb40158b438afdf2798577e4cd94acf0cf9511343c535c885170a88e96dc90695ffd37cc1920bf6ed878ba9f1a6b8a84e7f7795bb275429ecb67eef21c3917498b5515f5951b6a6679439da972972b26654abecd25bdd8aec2873928d08a57acf5667e46bef83ced7ed59f05f2549fdcd49c8f6173333821d58b4bfa1490dc35d639abe2b791e3210fd0a888e9178b5348b555789a36a6001b90375021b42a0f98aec54158dcb63bb81f7ad0949c1bfa908213bb734612f40a5ab17f2bc643aeb943239e9d0dabee80d5f587913903b5ccce5b46921101a056288dfb1d774f4b23ea9be8fd2c0d341a988e8501fb22ca3f4bc7f09341443e043e9cf84d657a0056999cf8b41e6af26fe815e4fc5fe9110e4cf6aad8294c78062effb3916713634ccfb2cbac056cbce74a1d726b2b19e425a5a0589202ecc553b27b3323c55283ef43ee95e0c8e57de4f1b911c310e1450c42c5531433c69386ec94e9d93b63f2387a4731e40bba88ae7fef15262e078f5731da2f73785ad9d302609a0b7d66555b853be79ca0b57bf3843b8a06378edcc076a357ee86a99053638fe3f109a9a268aa892ded44d43481061b84ba916600c3191ca944d13150d51dc8dbaf8291738387f2897f2ebd525c558c0afd0ac4425130467e43c89bcd814b1c45500e17ddaf33c8e89430f5bdede7b0fe70513b16d9786c8ec45c82e2596187d843579b2baaa629f3ff81fc49c9396acf0f202f2eed47c3da875c912fb473c5ce0578bbf886fce4493e9283ef67a05afab69801fd2caed5c9c610dde9b7f0530dd4cb88e327b03dced0640a883224e198916b102778a4cebc9187493b942ee437ecd32792d309e6de7a1c7037f77e0d5766d3fa4c12dc7ee9f3b9ab2dc2b8e4b4dd7087495b39cc655e45cd82ce1f6612abe8adfc5f780fa97fae2c604b3ab6497ecc75bcc80fbddb2339493b0c488a3f8b33af142a7c13ec2c97a35c49f99b6bb6a870bc7e8b8e331394488b9a244faa49699711461b77e385c51a7a1df8ad7584355f000fd3747f14ab75b8abd189627362404ed2488838c1ed0eb8c949f18aa984dbd1cadb9bd135cc2f66fe345183224f9924f70d0029a57b20909f5928757924ee991db2d310fabf8a8efe02378d86fe53114a632a17959866d88eede335dfa23b63f5314e97f81e056bfd645c3bec061968c1cd6bd639a2e01ab2179267b12aed0bd2ad22fc2e550b7a4d6f4246609301093b2d613473d6aebefd50619da655fdebaf9a357bceebfe76965ecf97ab78b0276e9962c7bd770463816d88e258d175e16a395b429a300766997a1d1520162b78f006b5215de6d3299018a06889e412271d77461c5b305aa433ce6415153338a0f8ef5fb70452755ae96e08c548061fc561146c50fcf210af036fe53c93b5cffc957e83eb8a73d4c03f0ac3a0f9f5a6b1125017105f1d48488cdeed0777d55463395fd85461aa5643f59d89c05267c39e509a428f52f4002b2d76bb53881a9ebd9f222185c1aea9caa102881b9f24de8cecff0176682625da98469d022ccd14bf5555710fb582177f091d928e0c86f60676073679cdf226c7080859c7ad050a6f52a8c4e771708ae1c0414440dd1e22db23b6e554dd82926d1fc64328242e4c3fd00fed4f16222622cd98f53d9776f4c2f356a62bff08173157413fae1b75c2dc66ee1704782a1636bde2ec1dd2ec53860e278bd5b979692a551b8f7a66db1d09812fd5b8573b57c93e6a442ef74aa8704502e470f2cd1a7d9d826430eb83d41f1464fb2c0e022da77f8a8d494eda607b980969731da815937fa501fe5ed556ba1c9eb5c7aa3f1d7421c15e5ecb67ab95cd3be3712ccf6c00cbe45f0dde01a1748f551aecb0188b4cf2077623bad563db1667c8888e0432c2530b51bb98b3471096064bee75180a9eceb08fbaba6dc0113fc09123574b2ae5baf281f89dd9cea2e5e7ef975378dfd5e97b218a6d010c514cb0028b817c0ccf5adca91d9505cbe484a34b77b3292aa6c10d1bca157971bddfeff7ad33b45a9549debcd10644f7ab09b1545255bbf394b880136a15178aba2ec232329006d3fd66053cc7e586e512788477abca395d6be004215b0c9c37000604066cc03a8ed1658c2e07c4f97e9acfb9f5052bb700a75b9927a6e2db9424e190eba9946878c4e2f5958c5e135a0beb40a936c077540d21fe59957159e0e97a7bd8ad91d1564a1d1476e0f596f322feaf055e37cb8ffe6971c6d4af4a4a90ec88ba00697afb719a3445eb8d45d51de9fc5f5853fc265739c0f854d04d85ad769e3dee6313f3683eec7f46f3b54a19e411ba19bf543700a9fd452b9e203bcb8b805323c71077f32d48b9efd2a91e8b5b3a7da120d732a294d31637bb6826342f57f5f6abc5ca4a3e07f91aa711f9085704e7b357ae0ee8dd7c4ada623a5d37294e5ece4896b935bbb73036bd24f9c14e8dba8dcef77cd4c6e2d23f58b51355e164f3211f283dbebfe9c49a32c2ea2868740fda4037cdf8212a880085ce34cc912a99c883f3147f437d3763c4674694e688605fce670005e9eb11547b3d34e4356d229ad9244a156480708dcba86505a48c713023395a22c226b3e6a1a954aaf62476af92d0aea54dead29818b604062bf7bf0c9c077df66b73cabd25a4879673c4642f7a3f3badc7a65ceab1f9acb87725ebe9b8b2f8297c12799cbbd3bf831316d85adc3d96db954cdb61f175ae46c38e0ab8f32d737f0366fa0d332ed680f17399fe4b5bcac7359b0f0e28b559e727c60fbff916ee0df5a6317a9e8347c0eb4687f34d1c3147506437449c01d8fd37243080bc2caccee978658b6ef1240b9d805018d1ac038f66f4efcfd694c89b6b5684cb218844889f92cd75de0035a682a8b0a4fdabefa030343de0fbff22c3754e3acdc15cc7c5e2f34e74a47c5c0b7e93c3c0b2096a912f2141bf81fa3d413e4d3d6439babf04d504a7fd13055ab42c81bfc0e11875db2227776c86f414b3f601818d96a070287257a2a2c2902606c1a4c2550010b198b43a80c9519d1df6b5e3d36df1fb2892fe5bdc88b09fcf15e545ba7f9f1fdd81d7633d6ccc2d79087c859275d2f9e7f022465d3c926269fd2af47747ffaad0257777f11f1c86d60301719cdd80165720eaf203579e07aa4754c5513a4df05888ce5047fc65110593e2fea1b69b8bb3bc151e65841c003a6f23a3862eaa1c7522d3b467f66a786b0fb04117505a8cae94a61cd038d2eaded423d6ed10b56380038065b6e44c575730cf9f50d30e9f322193bb52efecdbcb5eccdb1d2041a80a72366eccb17921ded9b4053ee353954ac195db57059296f2a480a4d52aa85efac90588c3d6c0ffeb8897c5e5d4545253cd3502d9cd2716be8bf9d501ae6f756e9f66442e86f91be9db13d2f06a7a088713511a258b413d98897594cec7b138db9ac3c45bbf800c6316ad96982bfe5a30d134e406cf7e7748326f6f1db82306d192c4d9969ce3fd6ab8be61a21c406766c41d73127aa8814a42c16f2efb4595e2bd6e9d6f63c8885de634e1a3a94b13b663cfbbd0f970daa9a1df2e3f3387f456e95c8468b691d552da60ba16d34022b6d9f07c22fe0f39bdee7613a71fee43c6ff30d8c42efab7c4115592d4cd845aefc4a01e484f7e3f20ee321e94423bc02d2f1398311233a0b9e3566ab4761585e4cfe806d32533ff53840da6e74a1769726f0fd061c27de51d1f2e9d97fcda45ad70f7f9867eb1a5a6b105f0151ae8e1cd1ee5ca6bace1b5ca7dec3f86a57c6b095a31b08b0979e5b1c3e74b92b888b89b8ff19f403e6020239ec23b6a00ec4a218bf43d403ecb21cf6d1b111a86dd2ae4456ea6591147984264456ce1efac04f6527e30abccf936c2bbc02d9d96d20b10f9e34918188a20c90ffe90c28c1a5f554bfe24c38885a4de04086bdd11c455ac50447743fe45249774d63ca3123f8af307a0c78aa25b7ee34fb2ce8d677548c9771568a93e9da5435cd457ea5ba5324cc148bbb6cda88fff114b5013189b5f2587e070a47380527083a65c3cc7e17962fd74535b6eb5cb709382e7a8ce72af7300cebaf19a615e47deea24d0f7afe2179c4603004e3459160c32f029ecbdbb15ac9c23552448c1c6f44e50b31f034bb2114d627267a3ed21e4ebb6c6fb127ba01da99fc85068c0807532ec176a6e1d16227af4ac11077f93f5abe31ab6331e006feff73701488a6544b0603a2d06c8f994e5e05e6e35e6f637f1c563ff4d7836bceb0c6ff32a7b2291592f41752ded171d47b6784df5c3315a22ad9f756a6ede63aae9c5048f773eeeaaab41ed9bce75dc66aafda363e934012e71d6b224b9bf197d90996fbec3d08ae1818e903ced14666eb32ff40c25d167f8820d31751d8faec816bcff247b13be2cbca701b8f6d4f1124b9907a564f370f773397a44ad6af1b906530d0ee9b68d3f714b1675a2dc9be5575f70ec28c9876ac56812d2b29a90063a7ddc61fe0070403a8afec7834642f679cf3119d4ab24e5b0f109d710a19aba7e51b0c7ea95cfca482f9fa1f0ea9b5449c614e4422cfd45b067f58d8d48a8b96bc39bfb9f46582110d20a60e942f32d19723a38e6d882fa53f729fc2faee714bd8be91c0505f70be4a7b339192229c1b5229fa60e8eafb6043eff099513133c634ab100d8faa5ce57d9eab4f037f955fe50cf39dd4b54054924aeb8f03eaa0f87e4a6a4f429d2e04ac6c495d1346ac918c04a72b89da5eafdd8ded0867f789d671d3c24175f7fa18e6ccbaf7b0411ef9e9f21243456ff8308ca1840791f229af714c62edd267d2d4cc1c642d18c1e7a29e49ee55317e6b2a1ddf31578cdb9abe90bc574261cec15259801f09d99a9fbef19a95e0c7ca6236d99540a0256a84d5232d2a1f0a5478ae9b1e9a3760089bf5abfb8abe4d193d485e2b2a7e633a8da118c05a8752e5b42415464c5a7039249696e788d5bf455fb2f623a18b59a6870c3f638e57bed15c1787b1f2e427ae60b8cd90becafb08979fd42d7f476f75c84f74d4214ef42870e1b53f4ee0766d0765dda80e4b40f9892cf872a117e71ff34b6481391c3e7c246a42690342e2899246fe3d3c63d56279ade91f33e01e87fd6e5d784452a20fcb4d35b50c048e117cee28cf63a39175ce6a6471f0c531b36389e478be89724bf28319cbfbdfaccb91a28ca6af05c2ed38c17788f4f53c475c1b98909f8e96d64ee574c70a20297f6a2045a753475587e74e9a36cb1dceca058de515c5b590e95ed84fc72ffd771d6396007d2aa68d3677e69d2c7a8b6f49136e031aae76f29c872ad55ea535ab2366eb669ba643c0f25ffc410550dd6fb36360a17f7cb118a6bd0e5269aceb4afe55d3733d4a2c466cf4f9e4c5d88ac401a9e4d4046aa6292dd0de38816cc0b7bbcc862348e31cff670f0415878f876618329ac38cea6c3dae4f7d143f0e57620419a7591d0f2d266b5f37515f7e71240cd58d300e310dd919ec6497a976718fbb8ad79ab8189df56ac0b2111a984b10c39090ee295f785527975e0d97a5a3ac3efea8b222e5d20eee26455f74a9e2f974af762ee0926b9376ab4ddbd6efdc8e46e767f8d74a72044c7cc2bb84cb83383f8c29f34ab64c91f4b7fdb4f116e3718e315bac184f47348c663936876ff3fe25f1c4e023d10dfef7f80bd108f880a40e92b6c5c9a38c81bcd467e281cba2c0f9531993d6b71c251e861874d93ce277b652776191e57e58e7a24f70fedb127a3a4f09fd0c17831e9b99680309714476eec3e8ab348c36c3493dea63027f21edfa9e049d18d21cadd8094ac5fd437e04a10911a8101c810ad3074221104b978bfd8440f85a40a3b5952cdff00c0ff35e1448fabdb3b947a96b9f49e5825b5eedbd4c65a5fccae9d5da987a047750c92f5550d1118eb131908f6e4a27e35a37f531e39f83ce2aa26804af61ed671215595656c8a047af7856777c3f9a144f87f89a69e56a0b06f10a038c18e95b3b140f7186f0573119d2f1d043ac6edf4414a0b606230f6672e2e3773c5c4b97c776fbcb57cef71c7031ea0cf9f2920de7abe307f2886094274031f86c7f7d703736fbe78581ee824d4009f12d38e3a2e00b7e0ccd538f52bb1dc98727d0911f90d36f872b0c76e8ac2bc47c2d2c6804672918ed8f5d1565778aefd9b42cab97315f9f4dc77a33540d7ee2b01d775510275a15b98518a65200a6e9fb51f46847bf108c409825d6373d48af3d0b62617c5302d48488fbc0c92026c805cd28072923a3e094c27325900f02dd64c24e8ca141060d4bf04fd50af1e56521d3c4db313d94374deaf5ccd194e7944cc511d91de1d423f978c21a809db1bff0395132dd7309e607ec2269a3e1f07de3e9c02ccdcee3fa89e1f83e8ba2ca8d6568218cdfdc24c6ab499e1f340fb261e1e14e11d34dbd16fdb12f4afcc3ce3045d51e82dd00f843a793ff27b823671328bb6dbaadc750c3d9fb7dbf45ec85aadcbfada378d721b835a55664da1992b105ff4986957b734ae59bd9f717ff6e1fb6b73cc8ef75adf5bc46ef81e51ceaefca20b9ff2453bba72c568c1a47a00f219c2b42da0afc15e520a60eec405e085570432e3ec35b26f368caf1a040ef7d260d6b76809371a7a942a894bad4f84d6ab58a9cd302a0e28bccb4e0af83629df31f56f3c9b6efa029c4c3ade406739a7f2d3889f372c10de6b025fd0522cf33db832d498e4da9988d68293648692a8c7800e2b766fb672a410b11295c58f11fc6366965e44fc2ae7cb728725fd62a3bb24b8397e69eed62c8281ffb8a022e0b63557cc9dadeb7f70531207859eba8ee4c1794c4053f69b11e1fddb5ef476ede959893745e30ac326416e80c75bc4392ad45d75d38e8eaa63028cfa38c3378387f065f0e36b2a48bb58655a4de1eeb2231f5911ee01b241bd93b04f1fe9a762d8648638fc87eedeeffc181785de42fe8fb9d0573ecbdfea04fdeeab955584f7144d9197ee11f0efff1afc7ce36ffbe157ae680e45c24e6f5afe967445379e219805e723111842697d18979df222fcb3b53756f396b08f708f141fc1a072a16cd1f1fea2b5b90f0e76ee6985a1cbf218a7e2af65cd30dd5e003785bcdfcc55207a43908916c2db627af5b8b32b0e3235dccadef76ad4e0ccc33f05da6bce58784c9c398438edb1b93695e89b1526dd76e8c444eaba384ad31bcda4762fcda727ef39f620b7f8ef786f465795ffb9c4480e502c53e6ea2f52fb052363ebef7eeb07376a2fa5ddff7877bbe53bbee78870ba359f852edbc4148953a71f00b1febaa478c70ec30e12b0eda3593c4e5a041263b2be68aea7c65474742e9e539bf6613953993baa34e530a0a978729261fc48873f41b7a12ed9935be585d0c28c39086563068fa4101cf0321679f1ec1f03afa58d8f8e60bd27c443acf32bab2eec71344af54452741c92ba637c174d7376687c276ee9f5c31db8f9e30bac81cc3c28686951f86172f5c6e86cbdd8121ac54b42958d71816e8158d6a787974c9e68252582cd5e1aba74a6cc8af7aea52f2d8e46b308d168880397b53ca5d30ad3cddb68e48c525a07a9fb85521b6dce8d2e5bd315a190b1a0fc256a5a4004e4369af504190d1b45fbe84105e4579a15bd87ef170616d4e73c6251a85cce775f3e4fc0594dabbd4e9eb6539a1ca08dd3234e198b6b9717f49201a5f84e21a938b274558f1e2565cc1b23b766a0c626134a5279152f1547b68d1827fdd422d01b1294f893a2f650fc18960189be6cf86166574eee647d46bc565dbd7ba07a207be55cc3fac3c264a5af4d425a681adcfee02805bfe5d5d3c9ee50f6eb00a605aa52a84a77b7d706f3e6df797de3642667142720481ef15d0656315c169e6df3636888940bc0653bb01d508866182b45a3bff9c5ab0c54a2f6446348e4da49697ffad0d781b09075912c3ed4658f217cd35d9b1cc2ad552d1b4ffc9bd80b79759ab9e589a0273f0285769409f22b5eb1543819646b6f174156de780b8fd8e7719fac96d8df17e2c003aedff737c62f9a87545812b87d24115211d24a5fb02989a8f84611b09e93a40a40b43dda82717f043c951a7bbcbdb593a38de942d4412c8a2aedaf55dd5b5b2c7cd3ca9ec9f07917e25e6654a3944591b371d5309c15fb1435de40967c8a236c0e46009dcfbeb4b3bf97509e7cd1cde6c602b776d2ef62726f4f40648bfa45d9323d23b5bc5b78e68fa43ec1d8a6ad6b2a6fb47630a7c252c155f41667aa1797a7f4411850d523da8c59ec89c5244c405f28ed5b079aa2089f798d7209385a9ef9520b5d427c2bb738157bd3f7f95adcfd8f4c0138dda011f16c16c001f826c69b529a5bb451d3749c898d5bf757de37eafeb6583d14ca2b972eda42e6abdd9685c20bb9b4dce30393ec124d0ce58e742d5354203df5839ce937d9c8b8cc28c8576e64c5e11445d394588bbdac1996cafbe852a16ad978f6ca18c867ee4cf7e78df9d9a825178a20b4a0959d86616d7479080da6c9475ec152b108cb017a1f71b3b6f41693ac37d6b3bbb504a64c501350376e2a0973abec60a7541c4e4f409c1733e9a73403dea9b0da849775f6362defd6e4f31343a71ce28f57ebf697588dfeb0adc14d5e13bfc5fff7d510f10dfadffbe0a054918d66616e1679df691608880b07fea77ae46fa824a1e3d578e4884fda317713f1e2ff869325b47b371a0303603f157c8d5d92599ed22a32b29816157f907b7478112c91c012b60fd6707add296ceb97184ee703a5d503d43ce37a4474c751eea22ac3e0f62d2c3525f91b0439ddab6c8509d418d423bd20756b30d634536118f1ba3483c605456fefb8a0eea9376b18c5bcd48bb0d7dcb87918a6c1a657f94d0b1dd1a569921d81ed37e08dfe52f8af90873a0339771cb4a3ea63e99a18454f4949e60b8b2d391efee9f2ea568c864159739e2b0a77058a56fdcbb7a3003295a6451434757dfaa270fa8baa74cf502c8feec3c7b0d7f22a7b354278da36fb3550b0a6ab7160f46ef33e0dfef6566fc953592882fd93e47432cff9ce78522a6261ead0b66abdc9e608ff74b18a44c1d0ba860837d3f12eab192a8308415a4b9f6023eaaf8ec8221d7e87560dcf32596e6622070fc495c026c275a1695cd20ee8cdbaeeef78fbf6ae09e7d5fe7f4a423fd6356632d72a701bf3db7c2d8f0145eccd5b5aae345ccced05550d8d06852895e2f865dcab8670d8b108749b639594ce1ab199c11c3ad1c9787e22dcc6bbcc9cd6dbb9d7bc631cb7575fd384130f505abe8fb6a83479e2c612c6b0b67cbadd3bda1fd32994e57a9672999103a0e814b4485218882776e82ca86defb3d352ec2f8b02be01c86434acb49442abf71acbcc27f4fc31536e02f2102143e9d61c9b1206628b3f2b1fa7a2233a227c78be9c282dd074a77c2472f14beae35e5c785b4c97f44a162753d1370ec9721166e1603da2974af13495bbdc737354c87d5182576379ad873993195f3fb3fe735d94857d7b4391304877ecd37de185bc5628026f8515ecc93d94659f2eadb815b434a5c5023090ba65a916f86c78d3beb848817349f29321fa1cd6d1d997fc0553c49fd82611edfc747a7ff1c7287ffcfeb7458bd4b3eab16dddcae251945dd99bcdf812bddf424249f3ae3f8f439940cc03815e9af89d8b4ca7a380fa252c339ef58c8480f29db89eb8d2823015b7da31d1a9fabeff6dcb6831594b03357ca8ad113d8b443d70a5f182080fd8f2d970f00a7af368148674d1a8d1d25ab3e3b5a137925bf326d34238501514a2d07b7eef7f6dc74bda2f0c683f9aa9894bc434522c5cc95fdb1bf7c487a705670a329bc14a9dda21d2ef9006d6ead0350aff5d2ddef349edcd1a53f2e65d9cf3b3ad11330bd62d2e189154a1e8395fa4e9efd257ec0f2edcdacf3013cd4832cdcce24ce8a30b2f2183760c5085d46882353b9aa57d1d8f4184c03dc898aed3bac14d0233687e7911c3363bb7745a9cd493f0f90edc6399cedb14b2e88ca63c4e50abb49ada1e28e5381c48fde419f7612e3e7520c194538a71c512ae5b7290cbe9184c83b8f93064be37b242a2268436a28fa09627baa14a52317425c842a97a0acc5062d70cf4af0545457b67955f5c2564e867e762a32614c038bffe6531289f7447a41254cc47bcd14a211f984ca8f29fd2517d2bfb09889fb253c9bbb6e78444b9573065bec542a8055cec5f448cf2a6ed314a0a13736d0f180d50287baef22e6580d793203f24338e3a7223b8c300f3afad0b8a5d0e0767eba78a84b0bc0737f1c40165533e2a85ee502329b06beb6d5888dbaed9b296584c778b4e0a80efc411bfa1fd4e0faefd12c17e51e537c5eb7cdb0281ffdd1ea929a026c003aedf59c6fd3f09f9a9e468c7d3a6de1f394bd64bcb9a8a614a797b8217d4de28eb3a4b7821084b126ac02f493f070a5ca4407a681bdfd883f29302a5a6fd258fd386dd3bb5be9d9e538befd9c1b977086b0437e247880f30f7d52944501194cc83075a2b1047f4e78e8905e84ac7932e4f5d6a4568193c7f80d94a88f417e4213420289680e6e06987d1205940c9d9d17d255b2098d83d61790cdd8dba5714d9420678ca06cadfc988ad49d1fee9bcdbf6a8bac9a533b33a2f0e4bf017c78e9e7b755ee640bbe8e057a90590ad3357e33f901218643e1b1163b4356b61a33f79a234f907358d21b64ccbc878a5160d40fe339b6fa961fee832646668205f906db59d3845a10272e0e24a51d177f922bb6e7bb000f498e5870c956c3213ce18297fbec4fb4702084aed73f1280c3286c38f02cdbd6a78f5e358cbcdc5be29a5a88700fd44568d99e458d27f6eec8e6848871656aa5b4e304e3f40edb991dc3a4c8ae181b839affde933331c1abe0e69b448b3727d8507dd9166cba67560220799d5568e162b9c2bda269c67d1b5d4b1335e5527422c2df66ea7918abe936ddab419a6595eef66c4e171460ea7d43d89f3a0c0bd70889677dded50fc57rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottomcat6-6.0.24-115.el6_10.src.rpmtomcat6-javadoc    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.8.0^ϧ^oj@^g@^b;@ZN@X@XX@W:WW@V@VVwVwVn@Vn@Vii@VhV2 @UUUUUT@T@T@T@T@T@TfT&@T@TS/SS@S"@S @SB@R0[@R/ R(r@R%@RC@R6Q@Q@Q@Q@P@P @PPj@OOtNO_6OOdOKONNi@N[@M@MMVMVMVM'M@M>MM~@MwkMp@M] M] MQ0@Ls@LL*@Le3LYV@L;L,@L)@L!@K$@K$@K/KKK\K\K\K@K0J@JlE@IW@I2I5#@I5#@IHO@HO@Hf@HH}@H@HuG@GGG@G߮G]@G.@G@GD@GR@F@Coty Sutherland 0:6.0.24-115Coty Sutherland 0:6.0.24-114Coty Sutherland 0:6.0.24-113Coty Sutherland 0:6.0.24-112Coty Sutherland 0:6.0.24-111Tomas Hoger 0:6.0.24-105Coty Sutherland 0:6.0.24-105Coty Sutherland 0:6.0.24-100Coty Sutherland 0:6.0.24-98Coty Sutherland 0:6.0.24-97Coty Sutherland 0:6.0.24-96Coty Sutherland 0:6.0.24-95Coty Sutherland 0:6.0.24-92Coty Sutherland 0:6.0.24-91Coty Sutherland 0:6.0.24-91Coty Sutherland 0:6.0.24-91Coty Sutherland 0:6.0.24-91Coty Sutherland 0:6.0.24-91Coty Sutherland 0:6.0.24-91Coty Sutherland 0:6.0.24-91David Knox 0:6.0.24-90David Knox 0:6.0.24-89David Knox 0:6.0.24-88David Knox 0:6.0.24-87David Knox 0:6.0.24-86David Knox 0:6.0.24-85David Knox 0:6.0.24-84David Knox 0:6.0.24-83David Knox 0:6.0.24-82David Knox 0:6.0.24-81David Knox 0:6.0.24-80David Knox 0:6.0.24-79David Knox 0:6.0.24-69David Knox 0:6.0.24-68David Knox 0:6.0.24-67David Knox 0:6.0.24-66David Knox 0:6,0.24-65David Knox 0:6.0.24-64David Knox 0:6.0.24-63David Knox 0:6.0.24-62David Knox 0:6.0.24-61David Knox 0:6.0.24-60David Knox 0:6.0.24-59David Knox 0:6.0.24-58David Knox 0:6.0.24-54David Knox 0:6.0.24-53David Knox 0:6.0.24-52David Knox 0:6.0.24-51David Knox 0:6.0.24-50David Knox 0:6.0.24-49David Knox 0:6.0.24-48David Knox 0:6.0.24-47David Knox 0:6.0.24-46David Knox 0:6.0.24-45David Knox 0:6.0.24-44David Knox 0:6.0.24-43David Knox 0:6.0.24-42David Knox 0:6.0.24-41David Knox 0:6.0.24-39David Knox 0:6.0.24-38David Knox 0:6.0.24-37David Knox 0:6.0.24-36David Knox 0:6.0.24-35David Knox 0:6.0.24-34David Knox 0:6.0.24-33David Knox 0:6.0.24-32David Knox 0:6.0.24-31David Knox 0:6.0.24-30David Knox 0:6.0.24-29David Knox 0:6.0.24-28David Knox 0:6.0.24-27David Knox 0:6.0.24-26David Knox 0:6.0.24-25David Knox 0:6.0.24-23David Knox 0:6.0.24-21David Knox 0:6.0.24-20David Knox 0:6.0.24-19David Knox 0:6.0.24-18David Knox 0:6.0.24-17David Knox 0:6.0.24-16David Knox 0:6.0.24-15David Knox 0:6.0.24-14David Knox 0:6.0.24-13David Knox 0:6.0.24-12David Knox 0:6.0.24-11David Knox 0:6.0.24-10David Knox 0:6.0.24-9David Knox 0:6.0.24-8David Knox 0:6.0.24-7David Knox 0:6.0.24-6David Knox 0:6.0.24-5david knox 0:6.0.24-4David Knox 0:6.0.24-3David Knox 0:6.0.24-2Alexander Kurtakov 0:6.0.24-1Alexander Kurtakov 0:6.0.20-2Alexander Kurtakov 0:6.0.20-1Fedora Release Engineering - 0:6.0.18-10.2Alexander Kurtakov 0:6.0.18-9.2Fedora Release Engineering - 0:6.0.18-9.1David Walluck 0:6.0.18-8.1David Walluck 0:6.0.18-8David Walluck 0:6.0.18-7David Walluck 0:6.0.18-6David Walluck 0:6.0.18-5David Walluck 0:6.0.18-4David Walluck 0:6.0.18-3David Walluck 0:6.0.18-2David Walluck 0:6.0.18-1Tom "spot" Callaway - 0:6.0.16-1.8David Walluck 0:6.0.16-1jpp.7.fc9David Walluck 0:6.0.16-1jpp.6.fc9David Walluck 0:6.0.16-1jpp.6.fc9David Walluck 0:6.0.16-1jpp.5.fc9David Walluck 0:6.0.16-1jpp.4.fc9David Walluck 0:6.0.16-1jpp.3.fc9David Walluck 0:6.0.16-1jpp.2.fc9David Walluck 0:6.0.16-1jpp.1.fc9Jason Corley - 0:6.0.16-1jppJason Corley - 0:6.0.14-2jppJason Corley 0:6.0.14-1jpp- Resolves: CVE-2020-9484 tomcat6: tomcat: Apache Tomcat Remote Code Execution via session persistence- Related: rhbz#1806803 Update patch to remove secret attribute renaming- Related: rhbz#1806803 Add IIS attributes to filter pattern and update secret logic- Resolves: rhbz#1806803 CVE-2020-1938 tomcat6: tomcat: Apache Tomcat AJP File Read/Inclusion Vulnerability* Sync with 6.9 - Resolves: rhbz#1498342 CVE-2017-12615 CVE-2017-12617 tomcat6: various flaws - Resolves: rhbz#1461291 CVE-2017-5664 tomcat6: tomcat: Security constrained bypass in error page mechanism - Resolves: rhbz#1441479 CVE-2017-5647 tomcat6: tomcat: Incorrect handling of pipelined requests when send file was used - Resolves: rhbz#1415824 The tomcat6 build is incompatible with the ECJ update- Sync with 6.8 - add CVE-2016-6816 follow-up patches and revert unreleased fixes. - Related: rhbz#1397484 CVE-2016-6816 Adding system property from asfbz-60594 to allow use of some un-encoded characters - Related: rhbz#1397484 CVE-2016-6816 Resolving a security regression (2017-6056) caused by CVE-2016-6816 - Reverts: rhbz#1415824 The tomcat6 build is incompatible with the ECJ update - Reverts: rhbz#1347778 The security manager doesn't work correctly- Related: rhbz#1415824 build. reverting ExcludeArch to fix composes- Resolves: rhbz#1413588 CVE-2016-8745 tomcat6: tomcat: information disclosure due to incorrect Processor sharing - Resolves: rhbz#1402665 CVE-2016-6816 tomcat6: tomcat: HTTP Request smuggling vulnerability due to permitting invalid character in HTTP requests - Resolves: rhbz#1415824 The tomcat6 build is incompatible with the ECJ update- Resolves: rhbz#1362211 CVE-2016-5388 Tomcat: CGI sets environmental variable based on user supplied Proxy request header - Resolves: rhbz#1368120 CVE-2016-6325 tomcat6: tomcat: tomcat writable config files allow privilege escalation- Resolves: rhbz#1367052 CVE-2015-5174 tomcat6: tomcat: URL Normalization issue - Resolves: rhbz#1367057 CVE-2016-0706 tomcat6: tomcat: directory disclosure - Resolves: rhbz#1367059 CVE-2016-0714 Security Manager bypass via persistence mechanisms - Resolves: rhbz#1367055 CVE-2015-5345 Directory disclosure- Resolves: rhbz#1327238 rpm -V tomcat6 fails due on /var/log/tomcat6/catalina.out - Resolves: rhbz#1347778 The security manager doesn't work correctly- Related: rhbz#1084426 Reverting to prevent Satellite installation issues mentioned in rhbz-1302761- Resolves: rhbz#1293290 CVE-2014-7810 tomcat6 security manager bypass via EL expressions- Resolves: rhbz#886653 Tomcat6 files should be owned by user / group tomcat- Resolves: rhbz#1155509 tomcat6 packages are arch dependent- Resolves: rhbz#1264559 Correct behaviour of ResourceBundleELResolver.- Resolves: rhbz#1268352 Resolving NIO connector memory leak.- Resolves: rhbz#1134600 Resolve STRICT_SERVLET_COMPLIANCE issues.- Resolves: rhbz#1072484 Resolve fix translation problem affecting IBM JDK.- Resolves: rhbz#1221877 Add support for disableURLRewriting.- Related: rhbz#1042811 left over test value in the conf- Resolves: rhbz#1042811 tomcat6 service restarts will cause a - duplicated command-line arguments- Related: rhbz#1022061 changed in init file. Remove test - in function stop for result after initial command to - stop.- Resolves: rhbz#1128396 NPE in chunked encoding. - Regenerated patches for 4322 and 0227- Resolves: rhbz#1068689 Add option to disable log rotation - in FileHandler- Resolves: CVE-2014-0227 Limited DoS in chunked transfer- Resolves: rhbz#1022061 Tomcat init script needs to be adjusted to kill tomcat - if stop is unsuccessful- Resolves: rhbz#1054817 Mark Tomcat Manager web.xml as - config in spec- Resolves: rhbz#1031327 Backport apache 50072 blank responses- Resolves: rhbz#1183252 Tomcat breaks in serving large files - greater than 1.7 mb and under high load and high threading- Related: CVE-2013-4590 - remove xml schema names javaee_5, - javaee_web_services_1_2, and javaee_web_services_1_2_client - from descriptor.DigesterFactory initialization. These - schema definitions are not relevant to 6.0.24 as the version - of their spec did not exist at the time. - Resolves: rhbz#1140855 - request parameter truncated- Related: rhbz#1140301 - have to bump the nvr to be greater - than 6.5.z- Resolves: rhbz#1140301 - reverse changes of 845786. - Rebuilding for compose.- Resolves: CVE-2013-4590 - Resolves: CVE-2014-0119- Related: CVE-2014-0075 incomplete- Related: CVE-2014-0050 - Related: CVE-2013-4322- Resolves: CVE-2014-0099 - Resolves: CVE-2014-0096 - Resolves: CVE-2014-0075- Resolves: CVE-2014-0050- Resolves: CVE-2013-4322 CVE-2013-4286. Branched from - rhel-6.5- Related: rhbz 915447 Introduced a space char in TOMCAT_GROUP- Related: rhbz 915447 Typo in conf and sysconf- Related: rhbz 915447 can't start with group other than tomcat - changes in init script. Added TOMCAT_GROUP to sysconfig and - tomcat6.conf. Also changed default to the group that user - tomcat belongs.- Related: CVE-2012-3439 Digest Authentication. Fixed typo - in the patch file.- Resolves: CVE-2012-3439 - Resolves: CVE-2012-4534 - Resolves: CVE-2012-3546 - Increment build number to exceed 6_4 build number. Demanded - by rpmdiff- Resolves: rhbz 845786 webapps-docs contained empty files. - Build will fail of architectures ppc s390x ppc64. Use - target rhel-6.5-noarch-candidate - Resolves: rhbz 915447 can't start with group other than tomcat - changes in init script - Resolves: rhbz 950647 Error in checkpidfile of init script - Resolves: rhbz 977685 Full implementation of juli and juli - adapters. Jars placed in new extras directory - Resolves: 960225 Status script does not return proper PID- Resolves: CVE-2013-2067 session fixation- Related: rhbz#955977 CVE-2013-1976- Related: rhbz#955977 CVE-2013-1976 Changed location of - TOMCAT_LOG to /var/log where only root can write to it. Touching - TOMCAT_LOG is no longer necessary- Resolves: rhbz#955977 CVE-2013-1976 Improper TOMCAT_LOG management in - init script- Related: rhbz 576540 - Javadoc is not being generated correctly by the build- Resolves: rhbz 576540 - regression init script in the - wrong place. Changed _initrddir definition herein to point to the - right place.- Resolves: rhbz 857066 apache bz 48843 ArrayIndexOutofBounds- Resolves: rhbz 847288 classloader deadlock compiler JSPs - Resolves: rhbz 785954 HTML filtering needed - Resolves: rhbz 798617 init gives incorrect status- Resolves: rhbz 757632 regression- Resolves: CVE-2012-0022 regression. Change made to patch.- Resolves: rhbz# 802396. Changes made to init script.- Resolves cve-2012-0022 (2011-4858) rhbz 783728- Resolves: rhbz 782400 - remove redhat-lsb dependency - Resolves: rhbz 726169 (783407) - Unable to compile class for JSP - Resolves: rhbz 783567 - tag attributes parsing throws exception- Resolves: rhbz 757632 - version arg results in CNFException - changes made to initscript.- resolves: rhbz 748813 NPE w/no data in chunked POST request - Not included in 6.2. Slated for 6.3- resolves: cve-2011-3190 rhbz 738504 - resolves: cve-2011-2204 rhbz 738504 - resolves: cve-2011-2526 rhbz 738504 - resolves: cve-2011-1184 rhbz 738504 - resolves: rhbz 698624 - revisited- resolves: rhbz 726169 - jsp1.1 regression exception - Not included in 6.2 slated for 6.3- resolves: rhbz 687968 - tomcat6 broken when LANG="fr_FR"- resolves: rhbz 701759 - hardcoded catalina.out - Not included in 6.2 slated for 6.3- resolves: rhbz 695284 - multiple instances logging fiasco- Resolves: rhbz 698624 - inet4address can't be cast to String- Resolves: rhbz 656403 - cve-2010-4172 jsp syntax error- Resolves: rhbz#697504 initscript logging location- Resolves: rhbz#656403, rhbz#675926, rhbz#676011 - CVE-2010-4172, CVE-2010-3718, CVE-2011-0013, CVE-2010-4476, - CVE-2011-0534- Resovles rhbz#695284 - wrapper logs to different locations - CVE-2010-4172, CVE-2011-0013, CVE-2010-3718 commented out - until needed.- naming-factory-dbcp missing fix in tomcat6.conf - Add Obsoletes for log4j- Add log4j to package lib. Corrected typo in log4 Provides - epock versus epoch- Installed permissions do not allow tomcat to start - incrementing NVR so yum won't get confused with the zstream- Resolves: rhbz 678671 - useradd sets shell to nologin - dangling symlink for log4j. Added it as R: and R(post)- Resolves: 678671 - tomcat user requires login shell- Resolves: rhbz#636997 Additionally created instances of tomcat - are broken- Resolves: CVE-2011-0534 rhbz# 675926- Resolves: rhbz# 661244 missing tomcat6-juli link - Fixed symlinks to commons-collections and log4j in libdir - Removed log4j package- Replacing commons-xxxx-tomcat5 with jakarta-commons-xxxx- Resolves: rhbz#636997 - Additionally created instances of tomcat are - broken- Resolves: rhbz#617501 CVE-2010-2227- Added 2227 patch- fixed servlet-api typo- Resolves: rhbz#584699. A respin was required to fix post and - postun for el. Updated EL-spec to 2.1 from 1.0. Tomcat6 uses - elspec 2.1- Resolves: rhbz#584699 initscript collected problems LSB - compliant. Not complete yet. Return values are correct and - usage function has been implemented.- Resolves: rhbz#606822 CVE-2010-1157- Resolves: rhbz#582037 Revert to Java 1.5. Also fixed Error - deploying web application.- Resolves: rhbz#584699 - and two other bugs along with - various spec flaws fixed.- Build and run using gcj 1.5. Spec refactored. JSP examples - are working.- Patched spec file to avoid sinjdoc issue- Adding patch for setPerformancePrefernces- increment build number- Removed prerun lib and post WEB-INF/lib. Moved build-jar-repos to - after the installs. Added Requires and BuildRequires for jakarta- - commons-{dbcp,pool,collections}-tomcat5 and ecj. Changed define macro to - global.- Revert: Revert JDK/Java Requires and BuildRequires to version 1.5 versus 1.6- Update to 6.0.24.- Drop file requires on /usr/share/java/ecj.jar.- Update to 6.0.20. Fixes CVE-2009-0033,CVE-2009-0580.- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild- Add OSGi manifest for servlet-api.- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild- build for Fedora- fix directory ownership- add Requires for update-alternatives- use lsb_release instead of lsb-release to get the distributor- fix initscript messages on Mandriva Linux - fix help message in initscript- redefine %_initrddir for FHS-compliance - make initscript LSB-complaint- fix status in initscript- remove initscripts and /sbin/service requirement - call initscript directly without using /sbin/service - require /sbin/chkconfig instead of chkconfig - remove chkconfig requirement from packages that don't require it- 6.0.18 - Resolves: CVE-2008-1232, CVE-2008-1947, CVE-2008-2370, CVE-2008-2938 - fix definition of java.security.policy with d%{name} start-security - don't pass $CATALINA_OPTS with d%{name} stop - redefine tempdir and workdir for tmpwatch workaround - change eclipse-ecj references to ecj- drop repotag- version jsp and servlet Provides with their spec versions - remove Obsoletes/Provides for servletapi6 package as it can co-exist - check for java-functions existence in wrapper script - move d%{name} to %{name} and create symlink for d%{name} - improve status function in initscript - change license to ASL 2.0 again as per Fedora guidelines- remove Requires: tomcat-native - put back original JPackage Group (except javadoc) and License tags - add Provides for jsp and servlet - use ant macro - build and install sample webapp - call /sbin/service to stop service on uninstall - remove references to $RPM_BUILD_DIR - use copy instead of move to fix short-circuit install build - remove prebuilt sample.war - remove Thumbs.db files - add Requires: java >= 0:1.6.0- remove Requires: tomcat-native - put back original JPackage Group (except javadoc) and License tags - add Provides for jsp and servlet - use ant macro - build and install sample webapp - call /sbin/service to stop service on uninstall - remove references to $RPM_BUILD_DIR - use copy instead of move to fix short-circuit install build - remove prebuilt sample.war - remove Thumbs.db files - add Requires: java >= 0:1.6.0- explicitly unset CLASSPATH - explicitly set OPT_JAR_LIST to include ant/ant-trax- remove BuildRequires: sed - remove specific references to icedtea- add digest and tool-wrapper scripts - Requires: tomcat-native- use %{_var} for appdir instead of /srv - use ${JAVACMD} for java executable in wrapper script - use built-in status function in initscript where possible - add missing require on procps for status function - fix java.library.path setting in %{_sysconfdir}/sysconfig/%{name} - add patch to document webapps in %{_sysconfdir}/%{name}/tomcat-users.xml - remove %{appdir}/ROOT/admin - move %{_bindir}/d%{name} to %{_sbindir}/d%{name}- use %{_initrddir} macro instead of %{_sysconfdir}/init.d (rhbz #153187) - fix java.library.path setting in %{name}.conf (rhbz #253605) - fix incorrect initscript output (rhbz #380921) - update initscript (rhbz #247077) - add logrotate support - fix strange-permission - fix %prep - replace /var with %{_var} - replace %{_localstatedir} with %{_var} - use %{logdir} where possible - call build-jar-repository with full path in scriptlets - remove file-based requires - build with icedtea and set as the default JAVA_HOME in %{name}.conf - fix non-standard-group - change ecj references to eclipse-ecj - change Apache Software License 2.0 to ASL 2.0 for rpmlint- update to 6.0.16- add /etc/tomcat6/Catalina/localhost (Alexander Kurtakov)- first JPackage release  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0:6.0.24-115.el6_10       !!!!!!!!!!!!!"""""""""""############$$$$$$$$$%%%%%%#&&&&&&&&###'''''''(((((((((((()))))))))))))))))))))))))))))))))*********************************************************+++++++++++++,,,,,,,,,,,,,,,+-------------------------.............---+//////+++000000111111111111111100002222222222222222222222222222222222222222222222222203333334444444555555555555555555555555555555566666477777777777777774444888888888888888888884999994:::::::4;<<<=================<<<4>>>>4???????????????@AAAAA@BBBBBBBBBBBBBBBBBBBBBB@CCCCCCCCCCCCC@DDDDDDDD@EEEEEFFFFFFFGGGGGGFFFHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIJJJJJHKKKKHHHHLLLLLLLLLLLLLLLLLLLLLMMMMLLLNNOOOONPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPNNNNQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRQSSSSSSSSSSQTTTTTTTTQUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWVXXXXXXXXXXVVVVYYYYQZZZZQ[[[[[[[[[[[[[[\\\\\\\\\\[[[Q]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^]]]QQQQ____Q`````Qaaaaaaaaabbbbtomcat6allclasses-frame.htmlallclasses-noframe.htmlconstant-values.htmldeprecated-list.htmlhelp-doc.htmlindex-all.htmlindex.htmlorgapacheAnnotationProcessor.htmlPeriodicEventListener.htmlcatalinaAuthenticator.htmlCluster.htmlCometEvent.EventSubType.htmlCometEvent.EventType.htmlCometEvent.htmlCometFilter.htmlCometFilterChain.htmlCometProcessor.htmlContained.htmlContainer.htmlContainerEvent.htmlContainerListener.htmlContainerServlet.htmlContext.htmlEngine.htmlExecutor.htmlGlobals.htmlGroup.htmlHost.htmlInstanceEvent.htmlInstanceListener.htmlLifecycle.htmlLifecycleEvent.htmlLifecycleException.htmlLifecycleListener.htmlLoader.htmlManager.htmlPipeline.htmlRealm.htmlRole.htmlServer.htmlServerFactory.htmlService.htmlSession.htmlSessionEvent.htmlSessionListener.htmlStore.htmlUser.htmlUserDatabase.htmlValve.htmlWrapper.htmlantAbstractCatalinaTask.htmlBaseRedirectorHelperTask.htmlDeployTask.htmlInstallTask.htmlJKStatusUpdateTask.htmlJMXGetTask.htmlJMXQueryTask.htmlJMXSetTask.htmlListTask.htmlReloadTask.htmlRemoveTask.htmlResourcesTask.htmlRolesTask.htmlServerinfoTask.htmlSessionsTask.htmlStartTask.htmlStopTask.htmlUndeployTask.htmlValidatorTask.htmljmxArg.htmlJMXAccessorCondition.htmlJMXAccessorCreateTask.htmlJMXAccessorEqualsCondition.htmlJMXAccessorGetTask.htmlJMXAccessorInvokeTask.htmlJMXAccessorQueryTask.htmlJMXAccessorSetTask.htmlJMXAccessorTask.htmlJMXAccessorUnregisterTask.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlauthenticatorAuthenticatorBase.htmlBasicAuthenticator.htmlConstants.htmlDigestAuthenticator.htmlFormAuthenticator.htmlNonLoginAuthenticator.htmlSSLAuthenticator.htmlSavedRequest.htmlSingleSignOn.htmlSingleSignOnEntry.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlconnectorClientAbortException.htmlCometEventImpl.htmlConnector.htmlConstants.htmlCoyoteAdapter.htmlCoyoteInputStream.htmlCoyoteOutputStream.htmlCoyotePrincipal.htmlCoyoteReader.htmlCoyoteWriter.htmlInputBuffer.htmlMapperListener.htmlOutputBuffer.htmlRequest.htmlRequestFacade.htmlResponse.htmlResponseFacade.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlcoreApplicationContext.htmlApplicationContextFacade.htmlApplicationFilterConfig.htmlApplicationFilterFactory.htmlAprLifecycleListener.htmlConstants.htmlContainerBase.ContainerBackgroundProcessor.htmlContainerBase.PrivilegedAddChild.htmlContainerBase.htmlDummyRequest.htmlDummyResponse.htmlJasperListener.htmlJreMemoryLeakPreventionListener.htmlNamingContextListener.htmlStandardContext.htmlStandardEngine.htmlStandardHost.htmlStandardPipeline.htmlStandardServer.htmlStandardService.htmlStandardThreadExecutor.htmlStandardWrapper.htmlStandardWrapperFacade.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmldeployApplicationParameter.htmlContextEjb.htmlContextEnvironment.htmlContextHandler.htmlContextLocalEjb.htmlContextResource.htmlContextResourceEnvRef.htmlContextResourceLink.htmlContextService.htmlContextTransaction.htmlErrorPage.htmlFilterDef.htmlFilterMap.htmlLoginConfig.htmlMessageDestination.htmlMessageDestinationRef.htmlNamingResources.htmlResourceBase.htmlSecurityCollection.htmlSecurityConstraint.htmlSecurityRoleRef.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlhaCatalinaCluster.htmlClusterDeployer.htmlClusterListener.htmlClusterManager.htmlClusterMessage.htmlClusterMessageBase.htmlClusterRuleSet.htmlClusterSession.htmlClusterValve.htmlConstants.htmlauthenticatorClusterSingleSignOn.htmlClusterSingleSignOnListener.htmlSingleSignOnMessage.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlcontextReplicatedContext.MultiEnumeration.htmlReplicatedContext.ReplApplContext.htmlReplicatedContext.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmldeployFarmWarDeployer.htmlFileChangeListener.htmlFileMessage.htmlFileMessageFactory.htmlUndeployMessage.htmlWarWatcher.WarFilter.htmlWarWatcher.WarInfo.htmlWarWatcher.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlsessionBackupManager.htmlClusterManagerBase.htmlClusterSessionListener.htmlConstants.htmlDeltaManager.htmlDeltaRequest.htmlDeltaSession.htmlJvmRouteBinderValve.htmlJvmRouteSessionIDBinderListener.htmlReplicatedSession.htmlSerializablePrincipal.htmlSessionIDMessage.htmlSessionMessage.htmlSessionMessageImpl.htmlSimpleTcpReplicationManager.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmltcpConstants.htmlReplicationValve.htmlSendMessageData.htmlSimpleTcpCluster.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlutilIDynamicProperty.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlloaderConstants.htmlJdbcLeakPrevention.htmlReloader.htmlResourceEntry.htmlStandardClassLoader.htmlStandardClassLoaderMBean.htmlVirtualWebappLoader.htmlWebappLoader.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlmanagerConstants.htmlHTMLManagerServlet.htmlJMXProxyServlet.htmlJspHelper.htmlManagerServlet.htmlStatusManagerServlet.htmlStatusTransformer.htmlhostConstants.htmlHTMLHostManagerServlet.htmlHostManagerServlet.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlutilBaseSessionComparator.htmlReverseComparator.htmlSessionUtils.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlmbeansClassNameMBean.htmlConnectorMBean.htmlConstants.htmlContextEnvironmentMBean.htmlContextResourceLinkMBean.htmlContextResourceMBean.htmlDefaultContextMBean.htmlGlobalResourcesLifecycleListener.htmlGroupMBean.htmlJmxRemoteLifecycleListener.RmiClientLocalhostSocketFactory.htmlJmxRemoteLifecycleListener.htmlMBeanFactory.htmlMBeanUtils.htmlMemoryUserDatabaseMBean.htmlNamingResourcesMBean.htmlRoleMBean.htmlServerLifecycleListener.htmlStandardContextMBean.htmlStandardEngineMBean.htmlStandardHostMBean.htmlStandardServerMBean.htmlStandardServiceMBean.htmlUserMBean.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlrealmCombinedRealm.htmlConstants.htmlDataSourceRealm.htmlGenericPrincipal.htmlJAASCallbackHandler.htmlJAASMemoryLoginModule.htmlJAASRealm.htmlJDBCRealm.htmlJNDIRealm.htmlLockOutRealm.LockRecord.htmlLockOutRealm.htmlMemoryRealm.htmlMemoryRuleSet.htmlRealmBase.AllRolesMode.htmlRealmBase.htmlUserDatabaseRealm.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlsecuritySecurityClassLoad.htmlSecurityConfig.htmlSecurityUtil.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlservletsCGIServlet.CGIEnvironment.htmlCGIServlet.CGIRunner.htmlCGIServlet.HTTPHeaderInputStream.htmlCGIServlet.htmlConstants.htmlDefaultServlet.Range.htmlDefaultServlet.htmlInvokerServlet.htmlWebdavServlet.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlsessionConstants.htmlFileStore.htmlJDBCStore.htmlManagerBase.SessionTiming.htmlManagerBase.htmlPersistentManager.htmlPersistentManagerBase.htmlStandardManager.htmlStandardSession.htmlStandardSessionFacade.htmlStoreBase.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlssiByteArrayServletOutputStream.htmlExpressionParseTree.htmlExpressionTokenizer.htmlResponseIncludeWrapper.htmlSSICommand.htmlSSIConditional.htmlSSIConfig.htmlSSIEcho.htmlSSIExec.htmlSSIExternalResolver.htmlSSIFilter.htmlSSIFlastmod.htmlSSIFsize.htmlSSIInclude.htmlSSIMediator.htmlSSIPrintenv.htmlSSIProcessor.htmlSSIServlet.htmlSSIServletExternalResolver.ServletContextAndPath.htmlSSIServletExternalResolver.htmlSSIServletRequestUtil.htmlSSISet.htmlSSIStopProcessingException.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlstartupBootstrap.htmlCatalina.CatalinaShutdownHook.htmlCatalina.htmlCatalinaProperties.htmlClassLoaderFactory.htmlClusterRuleSetFactory.DefaultClusterRuleSet.htmlClusterRuleSetFactory.htmlConnectorCreateRule.htmlConstants.htmlContextConfig.ContextErrorHandler.htmlContextConfig.htmlContextRuleSet.htmlCopyParentClassLoaderRule.htmlDigesterFactory.htmlEmbedded.htmlEngineConfig.htmlEngineRuleSet.htmlExpandWar.htmlHomesUserDatabase.htmlHostConfig.DeployedApplication.htmlHostConfig.htmlHostRuleSet.htmlLifecycleListenerRule.htmlNamingRuleSet.htmlPasswdUserDatabase.htmlRealmRuleSet.htmlSetAllPropertiesRule.htmlSetContextPropertiesRule.htmlSetNextNamingRule.htmlTldConfig.htmlTldRuleSet.htmlTool.htmlUserConfig.htmlUserDatabase.htmlWebAnnotationSet.htmlWebRuleSet.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmltribesByteMessage.htmlChannel.htmlChannelException.FaultyMember.htmlChannelException.htmlChannelInterceptor.InterceptorEvent.htmlChannelInterceptor.htmlChannelListener.htmlChannelMessage.htmlChannelReceiver.htmlChannelSender.htmlConstants.htmlErrorHandler.htmlHeartbeat.htmlManagedChannel.htmlMember.htmlMembershipListener.htmlMembershipService.htmlMessageListener.htmlRemoteProcessException.htmlUniqueId.htmlgroupAbsoluteOrder.AbsoluteComparator.htmlAbsoluteOrder.htmlChannelCoordinator.htmlChannelInterceptorBase.htmlGroupChannel.HeartbeatThread.htmlGroupChannel.InterceptorIterator.htmlGroupChannel.htmlInterceptorPayload.htmlResponse.htmlRpcCallback.htmlRpcChannel.RpcCollector.htmlRpcChannel.RpcCollectorKey.htmlRpcChannel.htmlRpcMessage.NoRpcChannelReply.htmlRpcMessage.htmlinterceptorsDomainFilterInterceptor.htmlFragmentationInterceptor.FragCollection.htmlFragmentationInterceptor.FragKey.htmlFragmentationInterceptor.htmlGzipInterceptor.htmlMessageDispatch15Interceptor.htmlMessageDispatchInterceptor.htmlNonBlockingCoordinator.CoordinationEvent.htmlNonBlockingCoordinator.CoordinationMessage.htmlNonBlockingCoordinator.htmlOrderInterceptor.Counter.htmlOrderInterceptor.MessageOrder.htmlOrderInterceptor.htmlSimpleCoordinator.htmlStaticMembershipInterceptor.htmlTcpFailureDetector.htmlTcpPingInterceptor.PingThread.htmlTcpPingInterceptor.htmlThroughputInterceptor.htmlTwoPhaseCommitInterceptor.MapEntry.htmlTwoPhaseCommitInterceptor.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlioBufferPool.BufferPoolAPI.htmlBufferPool.htmlChannelData.htmlDirectByteArrayOutputStream.htmlListenCallback.htmlObjectReader.htmlReplicationStream.htmlXByteBuffer.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlmembershipConstants.htmlMcastService.htmlMcastServiceImpl.ReceiverThread.htmlMcastServiceImpl.RecoveryThread.htmlMcastServiceImpl.SenderThread.htmlMcastServiceImpl.htmlMemberImpl.htmlMembership.MbrEntry.htmlMembership.htmlStaticMember.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmltipisAbstractReplicatedMap.MapEntry.htmlAbstractReplicatedMap.MapMessage.htmlAbstractReplicatedMap.MapOwner.htmlAbstractReplicatedMap.htmlLazyReplicatedMap.htmlReplicatedMap.htmlReplicatedMapEntry.htmlStreamable.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmltransportAbstractRxTask.htmlAbstractSender.htmlConstants.htmlDataSender.htmlMultiPointSender.htmlPooledSender.htmlReceiverBase.htmlReplicationTransmitter.htmlRxTaskPool.TaskCreator.htmlRxTaskPool.htmlSenderState.htmlbioBioReceiver.htmlBioReplicationTask.htmlBioSender.htmlMultipointBioSender.htmlPooledMultiSender.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlutilFastQueue.htmlLinkObject.htmlSingleRemoveSynchronizedAddLock.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlnioNioReceiver.htmlNioReplicationTask.htmlNioSender.htmlParallelNioSender.htmlPooledParallelSender.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlutilArrays.htmlLogs.htmlStringManager.htmlUUIDGenerator.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlusersAbstractGroup.htmlAbstractRole.htmlAbstractUser.htmlConstants.htmlMemoryGroup.htmlMemoryRole.htmlMemoryUser.htmlMemoryUserDatabase.htmlMemoryUserDatabaseFactory.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlutilBase64.htmlCharsetMapper.htmlCustomObjectInputStream.htmlDOMWriter.htmlDateTool.htmlDefaultAnnotationProcessor.htmlEnumerator.htmlExtension.htmlExtensionValidator.htmlFastDateFormat.htmlHexUtils.htmlIOTools.htmlInstanceSupport.htmlLifecycleSupport.htmlMD5Encoder.htmlMIME2Java.htmlManifestResource.htmlParameterMap.htmlQueue.htmlRequestUtil.htmlResourceSet.htmlSchemaResolver.htmlServerInfo.htmlStrftime.htmlStringManager.htmlStringParser.htmlTomcatCSS.htmlURL.htmlURLEncoder.htmlXMLWriter.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlvalvesAccessLogValve.AccessLogElement.htmlAccessLogValve.ByteSentElement.htmlAccessLogValve.CookieElement.htmlAccessLogValve.DateAndTimeElement.htmlAccessLogValve.ElapsedTimeElement.htmlAccessLogValve.HeaderElement.htmlAccessLogValve.HostElement.htmlAccessLogValve.HttpStatusCodeElement.htmlAccessLogValve.LocalAddrElement.htmlAccessLogValve.LocalPortElement.htmlAccessLogValve.LocalServerNameElement.htmlAccessLogValve.LogicalUserNameElement.htmlAccessLogValve.MethodElement.htmlAccessLogValve.ProtocolElement.htmlAccessLogValve.QueryElement.htmlAccessLogValve.RemoteAddrElement.htmlAccessLogValve.RequestAttributeElement.htmlAccessLogValve.RequestElement.htmlAccessLogValve.RequestURIElement.htmlAccessLogValve.ResponseHeaderElement.htmlAccessLogValve.SessionAttributeElement.htmlAccessLogValve.SessionIdElement.htmlAccessLogValve.StringElement.htmlAccessLogValve.ThreadNameElement.htmlAccessLogValve.UserElement.htmlAccessLogValve.htmlCometConnectionManagerValve.htmlConstants.AccessLog.htmlConstants.htmlErrorReportValve.htmlExtendedAccessLogValve.CookieElement.htmlExtendedAccessLogValve.DateElement.htmlExtendedAccessLogValve.PatternTokenizer.htmlExtendedAccessLogValve.RequestAttributeElement.htmlExtendedAccessLogValve.RequestHeaderElement.htmlExtendedAccessLogValve.RequestParameterElement.htmlExtendedAccessLogValve.ResponseAllHeaderElement.htmlExtendedAccessLogValve.ResponseHeaderElement.htmlExtendedAccessLogValve.ServletContextElement.htmlExtendedAccessLogValve.SessionAttributeElement.htmlExtendedAccessLogValve.TimeElement.htmlExtendedAccessLogValve.htmlFastCommonAccessLogValve.htmlJDBCAccessLogValve.htmlPersistentValve.htmlRemoteAddrValve.htmlRemoteHostValve.htmlRemoteIpValve.htmlRequestDumperValve.htmlRequestFilterValve.htmlSSLValve.htmlSemaphoreValve.htmlValveBase.htmlWebdavFixValve.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlcoyoteActionCode.htmlActionHook.htmlAdapter.htmlConstants.htmlInputBuffer.htmlOutputBuffer.htmlProcessor.htmlProtocolHandler.htmlRequest.htmlRequestGroupInfo.htmlRequestInfo.htmlResponse.htmlajpAjpAprProcessor.SocketInputBuffer.htmlAjpAprProcessor.SocketOutputBuffer.htmlAjpAprProcessor.htmlAjpAprProtocol.AjpConnectionHandler.htmlAjpAprProtocol.htmlAjpMessage.htmlAjpProcessor.SocketInputBuffer.htmlAjpProcessor.SocketOutputBuffer.htmlAjpProcessor.htmlAjpProtocol.AjpConnectionHandler.htmlAjpProtocol.htmlConstants.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlhttp11AbstractInputBuffer.htmlConstants.htmlHttp11AprProcessor.htmlHttp11AprProtocol.htmlHttp11NioProcessor.htmlHttp11NioProtocol.htmlHttp11Processor.htmlHttp11Protocol.Http11ConnectionHandler.htmlHttp11Protocol.htmlInputFilter.htmlInternalAprInputBuffer.SocketInputBuffer.htmlInternalAprInputBuffer.htmlInternalAprOutputBuffer.SocketOutputBuffer.htmlInternalAprOutputBuffer.htmlInternalInputBuffer.InputStreamInputBuffer.htmlInternalInputBuffer.htmlInternalNioInputBuffer.HeaderParseData.htmlInternalNioInputBuffer.SocketInputBuffer.htmlInternalNioInputBuffer.htmlInternalNioOutputBuffer.SocketOutputBuffer.htmlInternalNioOutputBuffer.htmlInternalOutputBuffer.OutputStreamOutputBuffer.htmlInternalOutputBuffer.htmlOutputFilter.htmlfiltersBufferedInputFilter.htmlChunkedInputFilter.htmlChunkedOutputFilter.htmlGzipOutputFilter.FakeOutputStream.htmlGzipOutputFilter.htmlIdentityInputFilter.htmlIdentityOutputFilter.htmlSavedRequestInputFilter.htmlVoidInputFilter.htmlVoidOutputFilter.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlmemoryMemoryProtocolHandler.ByteChunkInputBuffer.htmlMemoryProtocolHandler.ByteChunkOutputBuffer.htmlMemoryProtocolHandler.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlelExpressionFactoryImpl.htmlMethodExpressionImpl.htmlMethodExpressionLiteral.htmlValueExpressionImpl.htmlValueExpressionLiteral.htmllangELArithmetic.BigDecimalDelegate.htmlELArithmetic.BigIntegerDelegate.htmlELArithmetic.DoubleDelegate.htmlELArithmetic.LongDelegate.htmlELArithmetic.htmlELSupport.htmlEvaluationContext.htmlExpressionBuilder.htmlFunctionMapperFactory.htmlFunctionMapperImpl.Function.htmlFunctionMapperImpl.htmlVariableMapperFactory.htmlVariableMapperImpl.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlparserArithmeticNode.htmlAstAnd.htmlAstBracketSuffix.htmlAstChoice.htmlAstCompositeExpression.htmlAstDeferredExpression.htmlAstDiv.htmlAstDotSuffix.htmlAstDynamicExpression.htmlAstEmpty.htmlAstEqual.htmlAstFalse.htmlAstFloatingPoint.htmlAstFunction.htmlAstGreaterThan.htmlAstGreaterThanEqual.htmlAstIdentifier.htmlAstInteger.htmlAstLessThan.htmlAstLessThanEqual.htmlAstLiteralExpression.htmlAstMinus.htmlAstMod.htmlAstMult.htmlAstNegative.htmlAstNot.htmlAstNotEqual.htmlAstNull.htmlAstOr.htmlAstPlus.htmlAstString.htmlAstTrue.htmlAstValue.Target.htmlAstValue.htmlBooleanNode.htmlELParser.htmlELParserConstants.htmlELParserTokenManager.htmlELParserTreeConstants.htmlJJTELParserState.htmlNode.htmlNodeVisitor.htmlParseException.htmlSimpleCharStream.htmlSimpleNode.htmlToken.htmlTokenMgrError.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlutilConcurrentCache.htmlMessageFactory.htmlReflectionUtil.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmljasperConstants.htmlEmbeddedServletOptions.htmlJasperException.htmlJspC.htmlJspCompilationContext.htmlOptions.htmlcompilerAntCompiler.JasperAntLogger.htmlAntCompiler.SystemLogHandler.htmlAntCompiler.htmlAttributeParser.htmlBeanRepository.htmlCompiler.htmlELFunctionMapper.htmlELParser.htmlErrorDispatcher.htmlErrorHandler.htmlJDTCompiler.htmlJavacErrorDetail.htmlJspConfig.JspProperty.htmlJspConfig.htmlJspRuntimeContext.htmlJspUtil.ValidAttribute.htmlJspUtil.htmlLocalizer.htmlServletWriter.htmlSmapGenerator.htmlSmapStratum.LineInfo.htmlSmapStratum.htmlSmapUtil.htmlTagConstants.htmlTagPluginManager.htmlTextOptimizer.htmlTldLocationsCache.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmltagpluginTagPlugin.htmlTagPluginContext.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlelELContextImpl.htmlELContextWrapper.htmlELResolverImpl.htmlExpressionEvaluatorImpl.htmlExpressionImpl.htmlFunctionMapperImpl.htmlJspELException.htmlJspMethodExpression.htmlJspMethodNotFoundException.htmlJspPropertyNotFoundException.htmlJspPropertyNotWritableException.htmlJspValueExpression.htmlVariableResolverImpl.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlruntimeAnnotationHelper.htmlBodyContentImpl.htmlHttpJspBase.htmlJspApplicationContextImpl.htmlJspContextWrapper.htmlJspFactoryImpl.PageContextPool.htmlJspFactoryImpl.htmlJspFragmentHelper.htmlJspRuntimeLibrary.PrivilegedIntrospectHelper.htmlJspRuntimeLibrary.htmlJspSourceDependent.htmlJspWriterImpl.htmlPageContextImpl.htmlPerThreadTagHandlerPool.htmlProtectedFunctionMapper.htmlServletResponseWrapperInclude.htmlTagHandlerPool.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlsecuritySecurityClassLoad.htmlSecurityUtil.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlservletJasperLoader.htmlJspCServletContext.htmlJspServlet.htmlJspServletWrapper.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmltagpluginsjstlUtil.ImportResponseWrapper.htmlUtil.htmlcoreCatch.htmlChoose.htmlForEach.htmlForTokens.htmlIf.htmlImport.htmlOtherwise.htmlOut.htmlParam.htmlRedirect.htmlRemove.htmlSet.htmlUrl.htmlWhen.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlutilEnumerator.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlxmlparserASCIIReader.htmlEncodingMap.htmlParserUtils.htmlSymbolTable.Entry.htmlSymbolTable.htmlTreeNode.htmlUCSReader.htmlUTF8Reader.htmlXMLChar.htmlXMLEncodingDetector.htmlXMLString.htmlXMLStringBuffer.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmljkaprAprImpl.htmlTomcatStarter.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlcommonAjpConstants.htmlChannelJni.htmlChannelNioSocket.Poller.htmlChannelNioSocket.SocketConnection.htmlChannelNioSocket.SocketInputStream.htmlChannelNioSocket.SocketOutputStream.htmlChannelNioSocket.htmlChannelShm.htmlChannelSocket.htmlChannelUn.htmlHandlerDispatch.htmlHandlerRequest.htmlJkInputStream.htmlJkMX.htmlJniHandler.htmlMsgAjp.htmlShm.htmlShm14.htmlWorkerDummy.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlconfigApacheConfig.htmlBaseJkConfig.htmlGeneratorApache2.htmlGeneratorJk1.htmlGeneratorJk2.htmlIISConfig.htmlNSConfig.htmlWebXml2Jk.MappingGenerator.htmlWebXml2Jk.NullResolver.htmlWebXml2Jk.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlcoreJkChannel.htmlJkHandler.htmlMsg.htmlMsgContext.htmlWorkerEnv.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlserverJkCoyoteHandler.htmlJkMain.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmljuliClassLoaderLogManager.ClassLoaderLogInfo.htmlClassLoaderLogManager.LogNode.htmlClassLoaderLogManager.RootLogger.htmlClassLoaderLogManager.htmlFileHandler.htmlJdkLoggerFormatter.htmlloggingLog.htmlLogConfigurationException.htmlLogFactory.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlnamingConstants.htmlContextAccessController.htmlContextBindings.htmlEjbRef.htmlHandlerRef.htmlJndiPermission.htmlNameParserImpl.htmlNamingContext.htmlNamingContextBindingsEnumeration.htmlNamingContextEnumeration.htmlNamingEntry.htmlNamingService.htmlNamingServiceMBean.htmlResourceEnvRef.htmlResourceLinkRef.htmlResourceRef.htmlSelectorContext.htmlServiceRef.htmlStringManager.htmlTransactionRef.htmlfactoryBeanFactory.htmlConstants.htmlEjbFactory.htmlMailSessionFactory.htmlOpenEjbFactory.htmlResourceEnvFactory.htmlResourceFactory.htmlResourceLinkFactory.htmlSendMailFactory.htmlTransactionFactory.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlwebservicesServiceProxy.htmlServiceRefFactory.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmljavajavaURLContextFactory.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlresourcesBaseDirContext.htmlCacheEntry.htmlConstants.htmlDirContextURLConnection.htmlDirContextURLStreamHandler.htmlDirContextURLStreamHandlerFactory.htmlFileDirContext.FileResource.htmlFileDirContext.FileResourceAttributes.htmlFileDirContext.htmlImmutableNameNotFoundException.htmlJrePlatform.htmlProxyDirContext.htmlRecyclableNamingEnumeration.htmlResource.htmlResourceAttributes.htmlResourceCache.htmlVirtualDirContext.htmlWARDirContext.Entry.htmlWARDirContext.WARResource.htmlWARDirContext.htmljndiHandler.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmltomcatApr.htmlbuildutilTxt2Html.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmljniAddress.htmlBIOCallback.htmlDirectory.htmlError.htmlFile.htmlFileInfo.htmlGlobal.htmlLibrary.htmlLocal.htmlLock.htmlMmap.htmlMulticast.htmlOS.htmlPasswordCallback.htmlPoll.htmlPool.htmlPoolCallback.htmlProc.htmlProcErrorCallback.htmlProcattr.htmlRegistry.htmlSSL.htmlSSLContext.htmlSSLSocket.htmlShm.htmlSockaddr.htmlSocket.htmlStatus.htmlStdlib.htmlTime.htmlUser.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlutilDomUtil.NullResolver.htmlDomUtil.htmlIntrospectionUtils.AttributeHolder.htmlIntrospectionUtils.PropertySource.htmlIntrospectionUtils.htmlMutableInteger.htmlbufAscii.htmlB2CConverter.htmlBase64.htmlByteChunk.ByteInputChannel.htmlByteChunk.ByteOutputChannel.htmlByteChunk.htmlC2BConverter.htmlCharChunk.CharInputChannel.htmlCharChunk.CharOutputChannel.htmlCharChunk.htmlDateTool.htmlHexUtils.htmlMessageBytes.MessageBytesFactory.htmlMessageBytes.htmlStringCache.ByteEntry.htmlStringCache.CharEntry.htmlStringCache.htmlTimeStamp.htmlUDecoder.htmlUEncoder.htmlUTF8Decoder.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlcollectionsEmptyEnumeration.htmlLRUCache.htmlMultiMap.htmlMultiMapNamesEnumeration.htmlQueue.htmlSimpleHashtable.htmlSimplePool.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmldescriptorConstants.htmlDigesterFactory.htmlLocalResolver.htmlXmlErrorHandler.htmlXmlIdentifiers.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmldigesterAbstractObjectCreationFactory.htmlAbstractRulesImpl.htmlArrayStack.htmlCallMethodRule.htmlCallParamRule.htmlDigester.htmlFactoryCreateRule.htmlGenericParser.htmlNodeCreateRule.htmlObjectCreateRule.htmlObjectCreationFactory.htmlObjectParamRule.htmlParserFeatureSetterFactory.htmlPathCallParamRule.htmlRule.htmlRuleSet.htmlRuleSetBase.htmlRules.htmlRulesBase.htmlSetNextRule.htmlSetPropertiesRule.htmlSetPropertyRule.htmlSetRootRule.htmlSetTopRule.htmlWithDefaultsRulesWrapper.htmlXercesParser.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlhttpAcceptLanguage.htmlBaseRequest.htmlContentType.htmlCookies.htmlFastHttpDateFormat.htmlHttpMessages.htmlMimeHeaders.htmlMimeMap.htmlParameters.htmlServerCookie.htmlfileuploadDefaultFileItem.htmlDefaultFileItemFactory.htmlDeferredFileOutputStream.htmlDiskFileUpload.htmlFileItem.htmlFileItemFactory.htmlFileUpload.htmlFileUploadBase.InvalidContentTypeException.htmlFileUploadBase.SizeLimitExceededException.htmlFileUploadBase.UnknownSizeException.htmlFileUploadBase.htmlFileUploadException.htmlMultipartStream.IllegalBoundaryException.htmlMultipartStream.MalformedStreamException.htmlMultipartStream.htmlThresholdingOutputStream.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlmapperMapper.Context.htmlMapper.ContextList.htmlMapper.Host.htmlMapper.MapElement.htmlMapper.Wrapper.htmlMapper.htmlMappingData.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlparserHttpParser.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmllogSystemLogHandler.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlmodelerAttributeInfo.htmlBaseAttributeFilter.htmlBaseModelMBean.htmlBaseNotificationBroadcaster.htmlConstructorInfo.htmlFeatureInfo.htmlFixedNotificationFilter.htmlManagedBean.htmlNotificationInfo.htmlOperationInfo.htmlParameterInfo.htmlRegistry.htmlRegistryMBean.htmlmodulesMbeansDescriptorsDOMSource.htmlMbeansDescriptorsDigesterSource.htmlMbeansDescriptorsIntrospectionSource.htmlMbeansDescriptorsSerSource.htmlMbeansSource.htmlMbeansSourceMBean.htmlModelerSource.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlnetAprEndpoint.Acceptor.htmlAprEndpoint.Handler.SocketState.htmlAprEndpoint.Handler.htmlAprEndpoint.Poller.htmlAprEndpoint.Sendfile.htmlAprEndpoint.SendfileData.htmlAprEndpoint.SocketEventProcessor.htmlAprEndpoint.SocketProcessor.htmlAprEndpoint.SocketWithOptionsProcessor.htmlAprEndpoint.Worker.htmlAprEndpoint.WorkerStack.htmlAprEndpoint.htmlBaseEndpoint.htmlJIoEndpoint.Acceptor.htmlJIoEndpoint.Handler.htmlJIoEndpoint.SocketProcessor.htmlJIoEndpoint.Worker.htmlJIoEndpoint.WorkerStack.htmlJIoEndpoint.htmlNioBlockingSelector.BlockPoller.htmlNioBlockingSelector.KeyReference.htmlNioBlockingSelector.htmlNioChannel.htmlNioEndpoint.Acceptor.htmlNioEndpoint.Handler.SocketState.htmlNioEndpoint.Handler.htmlNioEndpoint.KeyAttachment.htmlNioEndpoint.NioBufferHandler.htmlNioEndpoint.Poller.htmlNioEndpoint.PollerEvent.htmlNioEndpoint.SendfileData.htmlNioEndpoint.SocketProcessor.htmlNioEndpoint.TaskQueue.htmlNioEndpoint.Worker.htmlNioEndpoint.WorkerStack.htmlNioEndpoint.htmlNioSelectorPool.htmlPoolTcpEndpoint.htmlSSLImplementation.htmlSSLSupport.CipherData.htmlSSLSupport.htmlSecureNioChannel.ApplicationBufferHandler.htmlSecureNioChannel.htmlSendfileKeepAliveState.htmlSendfileState.htmlServerSocketFactory.htmlSocketProperties.htmlSocketStatus.htmlTcpConnection.htmlTcpConnectionHandler.htmlURL.htmljsseJSSEFactory.htmlJSSEImplementation.htmlJSSEKeyManager.htmlJSSESocketFactory.htmlNioX509KeyManager.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlresStringManager.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlsecurityPrivilegedGetTccl.htmlPrivilegedSetTccl.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmlthreadsThreadPool.ControlRunnable.htmlThreadPool.MonitorRunnable.htmlThreadPool.ThreadPoolListener.htmlThreadPool.htmlThreadPoolRunnable.htmlThreadWithAttributes.htmlpackage-frame.htmlpackage-summary.htmlpackage-tree.htmloverview-frame.htmloverview-summary.htmloverview-tree.htmlpackage-listresourcesbackground.giftab.giftitlebar.giftitlebar_end.gifserialized-form.htmlstylesheet.css/usr/share/javadoc//usr/share/javadoc/tomcat6//usr/share/javadoc/tomcat6/org//usr/share/javadoc/tomcat6/org/apache//usr/share/javadoc/tomcat6/org/apache/catalina//usr/share/javadoc/tomcat6/org/apache/catalina/ant//usr/share/javadoc/tomcat6/org/apache/catalina/ant/jmx//usr/share/javadoc/tomcat6/org/apache/catalina/authenticator//usr/share/javadoc/tomcat6/org/apache/catalina/connector//usr/share/javadoc/tomcat6/org/apache/catalina/core//usr/share/javadoc/tomcat6/org/apache/catalina/deploy//usr/share/javadoc/tomcat6/org/apache/catalina/ha//usr/share/javadoc/tomcat6/org/apache/catalina/ha/authenticator//usr/share/javadoc/tomcat6/org/apache/catalina/ha/context//usr/share/javadoc/tomcat6/org/apache/catalina/ha/deploy//usr/share/javadoc/tomcat6/org/apache/catalina/ha/session//usr/share/javadoc/tomcat6/org/apache/catalina/ha/tcp//usr/share/javadoc/tomcat6/org/apache/catalina/ha/util//usr/share/javadoc/tomcat6/org/apache/catalina/loader//usr/share/javadoc/tomcat6/org/apache/catalina/manager//usr/share/javadoc/tomcat6/org/apache/catalina/manager/host//usr/share/javadoc/tomcat6/org/apache/catalina/manager/util//usr/share/javadoc/tomcat6/org/apache/catalina/mbeans//usr/share/javadoc/tomcat6/org/apache/catalina/realm//usr/share/javadoc/tomcat6/org/apache/catalina/security//usr/share/javadoc/tomcat6/org/apache/catalina/servlets//usr/share/javadoc/tomcat6/org/apache/catalina/session//usr/share/javadoc/tomcat6/org/apache/catalina/ssi//usr/share/javadoc/tomcat6/org/apache/catalina/startup//usr/share/javadoc/tomcat6/org/apache/catalina/tribes//usr/share/javadoc/tomcat6/org/apache/catalina/tribes/group//usr/share/javadoc/tomcat6/org/apache/catalina/tribes/group/interceptors//usr/share/javadoc/tomcat6/org/apache/catalina/tribes/io//usr/share/javadoc/tomcat6/org/apache/catalina/tribes/membership//usr/share/javadoc/tomcat6/org/apache/catalina/tribes/tipis//usr/share/javadoc/tomcat6/org/apache/catalina/tribes/transport//usr/share/javadoc/tomcat6/org/apache/catalina/tribes/transport/bio//usr/share/javadoc/tomcat6/org/apache/catalina/tribes/transport/bio/util//usr/share/javadoc/tomcat6/org/apache/catalina/tribes/transport/nio//usr/share/javadoc/tomcat6/org/apache/catalina/tribes/util//usr/share/javadoc/tomcat6/org/apache/catalina/users//usr/share/javadoc/tomcat6/org/apache/catalina/util//usr/share/javadoc/tomcat6/org/apache/catalina/valves//usr/share/javadoc/tomcat6/org/apache/coyote//usr/share/javadoc/tomcat6/org/apache/coyote/ajp//usr/share/javadoc/tomcat6/org/apache/coyote/http11//usr/share/javadoc/tomcat6/org/apache/coyote/http11/filters//usr/share/javadoc/tomcat6/org/apache/coyote/memory//usr/share/javadoc/tomcat6/org/apache/el//usr/share/javadoc/tomcat6/org/apache/el/lang//usr/share/javadoc/tomcat6/org/apache/el/parser//usr/share/javadoc/tomcat6/org/apache/el/util//usr/share/javadoc/tomcat6/org/apache/jasper//usr/share/javadoc/tomcat6/org/apache/jasper/compiler//usr/share/javadoc/tomcat6/org/apache/jasper/compiler/tagplugin//usr/share/javadoc/tomcat6/org/apache/jasper/el//usr/share/javadoc/tomcat6/org/apache/jasper/runtime//usr/share/javadoc/tomcat6/org/apache/jasper/security//usr/share/javadoc/tomcat6/org/apache/jasper/servlet//usr/share/javadoc/tomcat6/org/apache/jasper/tagplugins//usr/share/javadoc/tomcat6/org/apache/jasper/tagplugins/jstl//usr/share/javadoc/tomcat6/org/apache/jasper/tagplugins/jstl/core//usr/share/javadoc/tomcat6/org/apache/jasper/util//usr/share/javadoc/tomcat6/org/apache/jasper/xmlparser//usr/share/javadoc/tomcat6/org/apache/jk//usr/share/javadoc/tomcat6/org/apache/jk/apr//usr/share/javadoc/tomcat6/org/apache/jk/common//usr/share/javadoc/tomcat6/org/apache/jk/config//usr/share/javadoc/tomcat6/org/apache/jk/core//usr/share/javadoc/tomcat6/org/apache/jk/server//usr/share/javadoc/tomcat6/org/apache/juli//usr/share/javadoc/tomcat6/org/apache/juli/logging//usr/share/javadoc/tomcat6/org/apache/naming//usr/share/javadoc/tomcat6/org/apache/naming/factory//usr/share/javadoc/tomcat6/org/apache/naming/factory/webservices//usr/share/javadoc/tomcat6/org/apache/naming/java//usr/share/javadoc/tomcat6/org/apache/naming/resources//usr/share/javadoc/tomcat6/org/apache/naming/resources/jndi//usr/share/javadoc/tomcat6/org/apache/tomcat//usr/share/javadoc/tomcat6/org/apache/tomcat/buildutil//usr/share/javadoc/tomcat6/org/apache/tomcat/jni//usr/share/javadoc/tomcat6/org/apache/tomcat/util//usr/share/javadoc/tomcat6/org/apache/tomcat/util/buf//usr/share/javadoc/tomcat6/org/apache/tomcat/util/collections//usr/share/javadoc/tomcat6/org/apache/tomcat/util/descriptor//usr/share/javadoc/tomcat6/org/apache/tomcat/util/digester//usr/share/javadoc/tomcat6/org/apache/tomcat/util/http//usr/share/javadoc/tomcat6/org/apache/tomcat/util/http/fileupload//usr/share/javadoc/tomcat6/org/apache/tomcat/util/http/mapper//usr/share/javadoc/tomcat6/org/apache/tomcat/util/http/parser//usr/share/javadoc/tomcat6/org/apache/tomcat/util/log//usr/share/javadoc/tomcat6/org/apache/tomcat/util/modeler//usr/share/javadoc/tomcat6/org/apache/tomcat/util/modeler/modules//usr/share/javadoc/tomcat6/org/apache/tomcat/util/net//usr/share/javadoc/tomcat6/org/apache/tomcat/util/net/jsse//usr/share/javadoc/tomcat6/org/apache/tomcat/util/res//usr/share/javadoc/tomcat6/org/apache/tomcat/util/security//usr/share/javadoc/tomcat6/org/apache/tomcat/util/threads//usr/share/javadoc/tomcat6/resources/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=genericdrpmxz2noarch-redhat-linux-gnuASCII textASCII text, with very long linesGIF image data, version 89a, 1700 x 40GIF image data, version 89a, 19 x 40GIF image data, version 89a, 3 x 30GIF image data, version 89a, 50 x 112HTML document textdirectory?7zXZ !#,kB]"k%3EoUK]}/eywyѥ>ʕVUvClm?oG .Ҿ}%sK .MzʔCҷsn/,pubH$ iڝ_fX{mެ&MRIvuK=&JFa6I0]\G_r—vEC n"X" q$1pW*̥x-N@imㄲ\&r3<~:qA:v t>wX~}?6[L8ĽQ~:ݦ-~4JP(x$7z\ֻXW' #K'"ԁG?%[#pYwL~bxE#P3؜(fe2 W'RP R)yO3oW +|3쵾M?T>=(5i!.kˢ>"\{T,2-I93v +f3߫ o_H/zCl.=8AdNrgvH`h'yxCEH:C|ޘn4ML=l `̱83K$ZVm)=~(!!s|(c0lMOokqT@ԟJޙV $A[Eٌ#Q{Pʶ|2 V_;J1P|Ք3S2ҝD7\7;x@|Ƕgl/MSo R1-$x2X; <3o 8$^yˆ8Ԑ+/'WKncdB xjvLPMN7"ޫc?(yuQJd 1h3vV,`&?cޙa&P>aMq@-ץè7X4f5|:j{ӌ4Sv5H$ZzjTm "oqiT)I52ž&q~g2cސk,%UɀS8ұ=N8jf ' ! DMx5c ѝ%K=5`#P S!4鸏Z# a$豕{IMHR9eU(zNXArK.[QY|)إnNgH%C%3½̈́vSzCixa{0W6\ x_Y[g]G)_@LXƏdT+>H:>\nvH#qJ pk vt`uc ^+blqV vaQ1{6 ҟ ǽK)K {mX`1=ǥ8%πm4u0j%)l!LGsjЧy>zy2@MQvhidCvP+ҹ0.wwoxI Ey??ҙ%9)yhSuTfyMWףl<(;ŝȈTZy@D+05Z66=lUw +L!; 4nX:vC$r%TF_ЅS!$N;f@5#WeTҺ9rB#r_kS_,ftth[V|6*Mn:ao4gNgEIŘ)'Νw\9BD:ߧQ!,I pf;UXmMDME`o>ʚš`&cs.Տ}\W'wt/Ի.t\4$۪vȽW5≷z:ǀgio Np#рMDXh|mBr *VU?!H*oCǕfjZg;:M`CXS9ebk\g g!kN'6qMPh=o'HK)-7B>Wa&z4l)녈\"Es$1}/##T1VR,A\\ "gf~ڣXFI&=S JzB^2 8Ǿțe>{<.Ga ijq6`w%j z/::CjcPG39m/oD`rﮣX9Uou3ZT\z8L(5uo=dO!Qʞ1$\S0ѩ'R<򤛖)_,I,2##P>3X5\7toݻ~Ƞ!0-9LۖqMrsn;9DZ|tr$ ^m(HV6;,/he;V{?ij:O ͎_*XnUƶ:i~?ƻk\.,|goj`ʁlވH&lz j97|x>6+)~ 'U ēqPg$z ?bm9{s1`nKxlZ]@> kr Z1M8&3D2MZ'ir4<'1?5ŴA0;1^lI5hK*+8tk^a&@2̥Ƥ[ ZoNE)H@r }*R졛`wʙwڡ[+Y`vvZ"aZ,j mB{˵LH7_#ex0]RZvd܎`mբQ9Lyj;s \4j̞DoWӊ:IX\G@pReg'1lL1ezh^ c H5ݻo4r?'p$x(_N9>~`z)=[RSoVނ@2;QUzp$ŗBGKʺԛA1Qh,bj9?n-iB4Ȟk,_EK]3e. ccqPSSTa{Sы=7GM D Z<;蝧gBIɁv$ӱД\(IEՠ^`0/'V,Ԙ">DYjVs`q TM$vxN+fA7OdG٠c2!_HtHYTsRw@V@ vsdi>[HƮkiR/%F%+բHa<±PϪ/i" q `Bi d7sZl@wӟy`F7ħ)uo)MJ"龏}`)8JtHq~fsJƳ{_,ؕFr!>:d~?`W$?& ӶdUH8Wp 2U;p}{OmŌa㴣ώ!} S(*zЉQ/K^|E0, - 2j^k&(#3;<HB2 < [}ZI&'BS"1| *W>;@qMZI'ޥ"*Hn=T}` Ȇ:6R1msIC4Y,-pY$!Tji+˪ GK;nqsoM!z D!rWӓEPOKQ2$&ڤF"2R(%ATun]]2O3nR]ldt2 t`}/_#@վ4߫8H 5l}V53`CU=sK(怜ȴa;sq=e<Eߊն4W>)%g9Fi>JC6޻)N@3r㾭Il\#jµI Q=D|nj/ Ƌ?6 c׀^}禖І`F SNA4>׹K (EAP"3v<[(*BesU{Uc Z+ 3`ؘΧsy™.x'3i!I+kv iXY`Zb թۣnDǨaYX` 0)֘dmU 6mqjugc0LvGDޏ`jbZC>d)؄C[4-2uЂPƮF[5Seɰ>=ʥj-z{9,Ulq#76qnbpI850]Dhgqb |Mj T jޠo|Iw$8rK-w!1V]1 ҧvJpjLtr\C\)}Qo)ݜ_"^*L6Dvћn^^1{Jc,'Q3 u?KD}«T|,g:jkmq![@tޥU'wӨz<r@ޑb%CV~6R?)Gd:&xl(H" y$ ƺbxҲv0ެ}5z[e7/sU?i&nު`6#IFk Ca+nQ?M#RKݶLDѭd<9f.vCr `}hc.t|eҡ ?$gQF<7)xzV7i mOA_GXFA0D\,5M-_ ~ "@2"ADXڒYpKXqɟt(\pBm•|jMcT'oT c? j<7w$k=T 5 AZO)Ż -4p ELwy4%`90٩#IO}# ųUd5\wADIFU-5TV< Ԑ)\"=Yr-m_-ibB+-ɼRXlZ'š,i.p;3.!2.z!d.TUàfcQ "bvVHx9nV(F\:nq ^ک ǍbN ~6>a a=qZC }ɗ6"q'' 8gNH&u"?L³k5F@ Cq eb0V(9vvP5(x͋Aie¨JY$IuF8%ɅCK45(WJ׻ K`*ςP^t9w>eL- ]̐f#K 6[j)N0Q4MCٕOe<rbFSYwgƕo$A"pikf9?08Q3uNϦW_-B-. /]hr bpO2KXgڸﲹPAϕ[.1Nͭ ((8h Z[]MaΰT-3C`-,&^y B):xo ۂ LSGCH^&bm"A 94UQ=4ho =te UK@ꄓVUr : [ 3WVKSO_nRf[[Z#R^TgvZFsP^@$v';tæfqWRi`h9[ &!?@Уzx|2/L(wdM¬肶; $%$S2QxY  `}0a$mEo lCWbȴƪ;ڷm\drѿa w إ &B%D~7A``\PsZ~'&Z:RhaL#pXt*O=<by⳽o5nўX%ʙaSuF^Pڕ`Gs EYyL&6(VOE7QaUTh>230UHqG;++(z,5ekõ%09 +O%w$O%13 }2y ^L%̈́ P>zȈ al샊xhOTSfmlW+d`V/|<4):[v9 sb"_ft!R0 I 꺼F֨ֈz5 W+5~<s 2EҌܢn*:Mgfٸ=uŒ$>Jf'%=D0Vp~NϭV?ݾ>?V]q&zߓ iZikbBە_PJR_rIMznH7>܀Q":N*A($h^~ z^/V2R~B/* zv$Ȣ0/ 4v{JBb쏐 mqMeH:{FlTLwpBq1SlHtkp&o>߉#gMT{}) 2)8> 9h\YPsƈ0$jz/@xan ;&?)qq8 ]=v剧#S{«S27,Lr~ۅg^Ocӄ ?yL#ݓo& ]DTpԃ] 3a^b\=)g|J Kհjܨ3S5b z\݃`ZN/^p,U '`^eՐm1{㝧7ce.tm꟪]=!7ʮN |7Yx} cY|!E2L0r ,;wp~y>fQ)m ZI+?8r?08A mGm) [sLygȨ\O-8gbث2&N!pgY q探V!.Yjm:"1K>o@I-c)_}L>Dd,l&uP'D|T4DhYnjM7qclzjuzb(jW#M`I Jt?B"BYJ}p-'J=mCB{TقÓs} X,)˭$7K*4I*EO;:kL; 2D LKiL4abֵ=i6NmfM& fWs+=R@fVecFz5\٩跞vM-U"`w&dU*PUʿ18ZSqbn[6N4g%RmbM#T8hJ18#jg`SLpbǪpXRG԰FaDqӎn_&rO@prKD,7/S.FX;!j8%ロA gyRq%DrPUcbd!USmbjdw[Oc$`X;7lIm=WҼtʋ A+T{9⋢7 WDjBd)-e3T[n{H=+Rr$0h0i6eMD`>: Tci&d=6/'Nў$d57!u,šDЧG)0) z8^bw^<ƊGj5CE"F!`yj}IAn\,:A9*;e鉌/f9NNDtXD.$s Y'1.{Xd"y!y;]pMnpX=l뤜m&=Ҧ(b%1$Vl. \Rpcʐ PUcqvs-*HG Iig\)iT0򋈏`器jg$lgyM4E !sTuܝlhP ~ u2G!3!]gUpoӍwt.&kꢆSُēw}9U> 7_N1GUe# Mn$IEb~hĊ{!}6[^>о% 2qfȂUua] g ڠs5F?O jt.\C**m?t}D}ԭ 0aSgU:u'rEwD=~Jш/lwH그#aHVQ†~ymW|Zxlc75UZUA5Hiܴ@8Q>rrKZbfXQXyn~˜~Ƅ?DPoظDR XRT)I?<]m,J8KQ`N?HE$`Bb(T:>͔y"ȡړ(Qso3%,yYE0ѸMa<}ᛨ6z k05*jF#-&*? {\HtzM3WT}ΕcÜˌ±?j;J$WvPBH/FJQuHv#dꑢUrᇠ]L䪱|ShHb~KKy(#^ ' 4dlV3ivy1yV缟l=@lc^e)5HZw?"v2(R]7J4oA\Ͻ}Ě i,HZb{'EYoV,o"*cFq[{zCʪUIMbد ߕoSXGn=@FgkĽNWn絍;c!pܳH]r- '<ڕ~b%6_.#H=|yAV\i`s .2:\RŖ q֑]&nC.m f)] .lkxȉ*gA[ZXe敆, 0cw{@ZM5L.8=,9\xo bSZ;I{;C 7BP&vrטSA;Qt7@IC*V &[Pa96fAe@e4ԽnpUi=ve6`Qs$f.lc%/#PZ Hd 4S-/JFT)sIǰ6#Yv ]:y]WeC*ILkV SV@?q/[EgOeS]p@%e)٧\G⢐?F~|p  { ǞɼR;fH[X9zy>Ouʳ&PuRRN7 A-RwN6cxn| Yܗ԰o4$D}fS ǬE7mub\h]E4Ǿ::[<)BxA%SAe0u&czqL<)6Nn%Ipę$Fv^֜<֘wӜZ2m{L6Z6H]+(pU wIKWqΔX8Aa҃}Oq^\pzZ^NĻ0er99b _*{fy3>O4,Ek$ ED}9;z]?`b,0ǡLs⯗! S>Ҋ`$XG"FAҤҷ{P& ߠ4W@`ZF!!RkKX˘r1DŒ-D̛!` a)rCM镝y!6D,OY#))Pai/A Cu` $}ηQs~1aϲ!k'PY{@M~xewγSK?ZEPECzN(SI8o>^ h h w(^ xߏǎϭǝmtn;NTRb$KOXdDRcЭ QDFLɱNxby&%5d}p Z]bL ){fN@J ~j/C!i@o` _ܶ_Xɺ55y{mM|I\o^W~NpCX 2δJ-=Mt@P?_]|o`_ NOm] }r?$o35jU?8Ck ؜P~y`JFD|H1RlE z x0Ysp΂YsiKOᴢk7jmyقo++ІlF 7nij/H o飡説ƛP y `:ÌS8n.8iҭy֐{?Q&wy E'5[5ek"(} ' Ly+8rQӸ().e#5txELCoUeԩ¢F|AV9b5OtLTQb 6PrYϬf1BWo]T ?J x}>F]a%v>[qn q'(sܤn7DvXu"w,^W2DR1 _.~PT5׃ 5Dfٯj;fM1{**)~9@ Vha.1UԚ&)"'!&ӇqT ))+ j_n5P\6BT]aC%j15I6K X|4-sm4ljQT# ^>!z2~MXvNVkcBM!&mY\0j7o<s gH:)W9'lS32{8.@5>FR[,⍟bQ-3_qS+!e#p}&ٲ߹tOmױn$.G-1 yjT(և(]V uF@TqF*-vF|ubZ $)OH}%-Bbڏ9Y涘gi t<]|ܢNEKB/'3)ob7$,tZ2]Tbt W. bbi R8bI#>?ԈjՎ17pB'4n-f?w87u+C0G)s< %I2z-Zmgv,s)We0&A@`3g VQT$+N d$ b+qkHEX*Y A+=4LyQH_ jmhEn7/r d|sϷj#,[)Fv2HcDގ1(U63aVBVu[7JA4FN7=4ϙހLƘ+L(}+~w}UvIy2hd8BjHr)r. k˹o$ )sC \ؾ"&׆Q֓8;fέ`  J"ɂŠ hIr%] =Xv⾁Ou*M4Ah+Fcm+#p˯Νَ,IC@F/,}YUo-6~b\%ܺ^ZJd^q;ΔgI]7 QJjп~G\-TYJ + 0ԐB -Tf w)ePU%Dp'H%Я 3pܟl?/}b8 2NF'na{O;?Oā-B; .íߴr4Z>ŚUCbVݐ8kndlF4݁g@A*f~^68@= [(Ryy01j~4 !F6 eL̇5ԯCq)lYdz3m Ԗ\(nGzf}=lB㞖]Ԩl+כ@ NqiFDT. ""RkAgNjrI7sћ!RIDёS$2 ]!rS!wB+H=wc٦57xh mņf6zєy y넣y1' ӓ$-Ȟ|tG [@x'.faCŻ-"'ɰhUV'`㽽\v;$~Svr*3ngd s=dd;|+51'RH@s9yWIy#,5ˤ;7m_$}yFpRdTUk|; ~OrpRSBmx4}bh-{OmdKJ+̇c¥i08ڮG 0LB3QvWPՒ:;_Aٟ菧]uRkP&J+kqeL쬬E&#~C S%!u94JǸyd [#u8 7 o`AZ[ոOd(nVDQX(gb_SGfQ%EɆ!$ r GClǎ$dմl0>=5Ӕ;lz?+oV );_G86s{6C[MՋTWM5ͬlKT3ƣٕ`s*SVqQHS+p#7(Ʀ_Uuͧ9. xa bu%2+UfY4]><1x.WDŽd%Nu[p HoSJQ fѯXAӿ*Ni0YܸuZ<í""RVq 3hcZ6s] "8Q9t 6m)5m,1r;mH@iW 1U.ʣz96cL?")݈kk7#c1 ՉQW 6t}IɦTO(D!⡟$pFշZ^˕7:RoϬ-V}qh00}y%Q1f7Uڔ:cvDAROư [W]>W3NdN. Ut,Oؔ@{/+cL[5 X16Gǂ cJ(4cEpx7lhTd*7TW҅ۍJo6fj'y"rtijݭep.x 46~S :zS82^p6 Ngtb؜꾘cȧ'vg@ݹ}'c]F׼\U;/ MDi\ >JƒB;Z=_CpL\au߆@òt1%yjT`H%}$I v Wtcv݁u=Nk:eseMԲڸE1,Gۿ鲽3*ZV;KhK3å`f}5q|eЧŔVYJFH97')/ k++áʾQp*rT LcB {4_X}UJpox+.ȼ 8jnrθPj>FͼJdۛb>5GQ,f}/sFF,i_ %|!\.D9)PNGMV 7ë?iZ/a3y} fVN{cyKfX,w?Prĵv=[5c)Weh`Xpgdڬc1|AΈT{6aq|`= ˓[(EIY̙ 79yńAS+ YZ