tomcat11-doc-11.0.18-150600.13.15.1<>,ip9|~Vr{-HSc 2uLeSPP4Q#_9>Jm6Wg2TIu0ZQ*\q(XqhI%\c<^D;`qhU.ywRSEpvU=a<$IQ2ZA?d & X 06@"!" 2 " BP" b" S:" [\"{""8`"((8 9 : FZGZ"Hz"I,"XPYX\x"]"^|Tbcd&e+f.l0uD"v w "xܨ"y0z4DHNCtomcat11-doc11.0.18150600.13.15.1Javadoc generated documentation for Apache TomcatJavadoc generated documentation files for Apache Tomcat.ih03-ch2a'RSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Documentation/HTMLhttps://tomcat.apache.orglinuxnoarch M6z ft'$X-J 1:|:=F "?(% O7 V=PQ>=(WdAC"J|75sC74,XU#"D"tkJ25IO*J-X*0c}rzL`+TEmCHQC^DHHCIIC5bk/f8Wi|{:oFN4`h$nn<ILы7rRE,zw$t2H'}UBX7N\ 0!_j]! 9*J? &RmB~AԔS2-J>Jl%0E{SO^+m-lRd@P$*1-+Ⱥ<<_F/S]^HENB<~ysZzS OMEFX+ZtTPu35?Z!A666#6#_O TXH;;q&G >LxbF_&u @,b=/Y{G<EoHS.c-DU;U=$+B<7&.$J|H8]W\ U RvK0JH"($Y C 9<bXGn`%*%~%`7c*.',+2)1nrLu}bȺB3rWA%77O7,-*SA+Lo,Ec M|F"[L[ZPhY8:C'>feD,/ b*@hM "7=D:1h$;yt3Bf=:%}A0v='(\cCQ`8}ENB2f _ASGJId>)ce+&'|JQs'!A+7 =2"W0`b'65D<Ja5*:5 5$oT=-6W183:rTV+FJK4HGJ1W'!+>C;LE989E:EH8q9T9Eu9^h9PoAJ5ej9%9l9.9%C+wF(Fp0"5z,KJ@$4+y:jJJr0TDS!;si$:T DA>Ps94(!I@= Zi2Rt_S!~hs}z "q9>g2-:cLn:/=a{|fllllMTGH5c[=3;0K5{i-/(AY'KAE, 't840Z>e2/962::*9Qq-l8+$+2F?5QEXJPQ)S/Q,[QSwXQXQ7Q,juS7`Q QQs@\X}YS!X\Q6i6Y=XQ=bc^BFDbIl&D5 2E<.&+'Hi/Px#h2h Tml^1C233L"!=841 z+3s&yV%`aGk]!\mLPa-|+Y=u}m:=3iv4Y2`-.. .--.:'-. ---- m1jSjx\_80~GR0:c(uQz32 {?^D 'R?MndrN0Z8XG.EOk )OCkIf:#TEU%GuS7@>CEX??C&HR(#B4g`4u3i"/E'd1Xo9.+;=x9&TK(;:=+ Z4uAqI2B$ER Z.k L\-%B9`eNu<J6uS = %] Y/jP[2ÈVbXVaO3+30(<=3$kF|ht8@`^X,B,<|'8w6{No;!.3iO=>U>_A6')??v.a :i2Oe|Z:a9gb ;':d\ jZXVz;USmFMQ,[OmCw5recriqH:0!DJm&s8m^0v+K'xeRu3.b4@K+^9G=-Rm9%i $7oCM61+&)1.H2-':''''LR(Bid)U. @I12 | {0}g2 U1/20L%wDR_J*K%R84u4ueC+l_F&4r1DF>/.-5-;s<;5S)Ip%0%20KL4$v=%\P&)K;r/X{]6^Lc?3p;LNsMTJWt)T^YBLFSsP*>CeVM T,D h*h;3O-8CEwklKo3Yob.u%C;o7XK/;/+,?G9M8.VO5w(}Sk:ny?-G8U7o6gZ]y$1f'YJ63 CB3 <hs?5zg5-+X)qu Gߒj <|hRC??;B6X)e*P+0IS" PnS<+![-#871@+1I.~#XUJ\9oj\-CG+>$BA:7J-!HF2Im2J.KQTT~UWYds3"<B%E"V<-MRW6OrJnB0`PL0q\YBh$4:ʘf:* 4(i?UEĄ[[ʳEpU-2J6HPUB\&N!LwPEG:N\7<*zSxU20P}۝-i'RPOU~5{I1A큤AAA큤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큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤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큤A큤A큤A큤A큤A큤A큤A큤A큤A큤iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii868776738cd6e1fae10deaafa28e84723b2549cf23b741003ebc9eac727fcb80feeccca147d9972cb8317909f0b35dde964741ad258b9d60f4fb31ce5cfdbb3646e04b5656eea98fce8259190e7c0444ea3a721319acd704327af73dcca7b3420e093e55f4d11665380811f1c08d8054abc9bd4ca500c84783135f4ec4d489044a72245389b7b7db951c167d0159e74b99264512bad48be008a98567b03a327b6dea150c881f30a1aa201327304b5be99be1cb7598f24a60292fc6bb48db39b3078e2e8790760156e52166663c10a5d87b8b1b00badbb0ccdc495a0fdce3c0e9a0bda9e7e2f1d3b578d5518cecdadcafb9e960f631b31f583651ea78ac8e58a807f10697490cbe60e1f453f4a68b5e417d297c2f2dd51f3cbe793e54c3c5764d7f6f45f73efdc6f0ef1e557f181cc62767be41a7868bcdd243975eb1ad4baf79814a05983e3267d591c7e62b314eb8eb0504eee844c8a70d494f6edbaa0f4f18ff841a72bda5d54f345a764833c61ef92b64e94a396924dcee673524dacf407fa846521ee301cc7eb4ab9817e77c3a0bc48cce422d3240f20304f6a4b4e9acf1707a9f03206b912ce0c6612ef421b22638e4cce44f6310e214abfe17cfec388bc64e8fba883761a385124331b816daef06b22486158d021de7cc5dec6cf5baeabf0926c8bb4156bae51d3fbf7824651b642952251dd6c2a417ecb31056c7358a2de4a8f30d2fe8ffce87070d5705bb2232059ebf589aad599e99b9e023c540d0a4ece729e53d23c7f8668fcd9eb7722cb975d5f129ad3d98191027678c6874513ea34a0b0d33d090be66ab064f09bf59079f20dfe5b8c0a83c20cdd59e08f09d3bb5a51a32a2dd3c9f4c82b701fd9f558c76c6ac668f24130d690163092f4bdd13ebce141a706df682f0d89c97bfc929fa87613cd75deb2ccbfdc95cf55c4ec4af62cf6572eff1299155f603d3caf714c51a86a857af3fa6ead3d3c80bf63ec117defd4352a6dff8ec8671c2549ec7c40ce5a392e9a7589d384d0fca52bf4e87f13b2ca40824279c716305ed29b7a00de63f650769b22915c4a538c97f8087e3b2be956fba359e888a49ceed9eb48f11850ca6f4d47a3cc757fbcf92a046827c4501a17d6fabc229f4dde510440d70d50fe3074fde85fb77ce528a128c5c25b4a507a11f5a52afd3eee8423b82ec0ab82ddb6312f80a7fc65ce51303545185f7cc8e94d14812301a32bb35fc87dc920adb25bf9bf9258ad31a48d1fe493cf454ff7fdcf8942c52c56cb3684e94e96559607738a8d7713178de5c60012147b1d8a7134fa4ec90a3b51fb1767024ee68ff40a965625bbcda8526515f750f5f241f04f5585577031d0047e9881da4fa19ce2be8fccccb269f6ceefd132ab68602f8357229aa02ebedd50720af29b5b709a4ef854230d236f3231fc07d54d84272b42ea951631a7275b14dd45ca11f37db51dae304f96c2b4b50bb0ee541b5a874255975285a5df5bbf556a9b1b6befd58a2774f8bb797daf5c7dda6d890c915c6687aa853eb43cc4b5640903dc0ff8ae57e4d72caa34288634296355ca86a5aec5047a98d2940ec3e9be05870e87c3104689fed43eed0859366d7aa6b164ad24f2f4c4cda645211895319f5610056f539b7f9751bb00d5c05f1e444f199182f70cb8ac334456965ce68c710ca9221b1bb259ddecf21c65feebc97ed9aa7f634c67d6731517b020efbfc4c122d8c08dc3a02969f03a26f77bc903411e2ab3b863aca39913130be522634e4969ee5d48f6480ddfc7dfe4d17d6c315bb02cac00011074d33cf3ae5c1f93d48fa1b0d8afad7827a2d8a06f0e4dfb4f0d9ae73b7e519807405a3fad66d5b43ea29e8b095ace81a180189be7659dabe0ccac5419a750f32ba1717913ff90f88fa0e6f8dc0a9da9373f24ec44a0c9cea861cf47e997478619d20a29dc2a12b533c36d4e87de875e118f51c87ac30d0a992512e989478a10ff80ecbbeef711cdbb98764c2a8b60d38a2acaf7d8ea3ea5c575b175efddc21b95e4616c31f617742a7420ef2c01ee6b49b990e7d7eb38edb6057a5e810b7b725da4e38ffb68d52a3b9e29514c07f4d25fdd54d70f93329172e46712878a2691d5a1cbcf04ee94fca6b7a0604b5228b270f56f3b847c3fbfdfd0dfbff9961a0226aef17db5fecdae1555a8494eea99185ce849ad8bddf6b26a0b0130820f4db5466c769c9d7ad33715b5471ec654b285e6f28efb8dc7163d6110c6b0889580fab92b733e86f30b7b4f2a3a9f08c7a390e62e2b065a9dd78cdb0db35a4d2393aa694d110a1684154cc5323b4ca063c845a2340252a7c25879322431c3addaadc8ba8e4e008b91e1ad6bd6398aaab04768876020919786f6ce7cd8867ef68d2d7714b76cf0ae6e74192dda221eba599ea61121fb25f99adeca814312b98c48b0b7d61d56d318981a9bf01b8dcc1fa84fa23348bd17257570241a24af0b36a05054ea74c7725e179de192e4b2625f56055bf5e8da7efdb6f393fa96b66f9fc46193f8b2453e4cc8c8075a943a85d227dbadfd3849f0e1ca3eefdfeed79fa24803b3f46fe255f4bcffd691314f952faebe241f9aeb5a2c30952e57fdba43aee30cd7d5b379c5d73d4415e3996d1b411f646e75affefabd0ea7abd99925f31c13bfeb2118ad93e404bffacbd269a767484f611afd30583905c961b5aec2d46af3ceb19ca1e581dfccc578f7881340cb5b49473865e65db364833cf8925c042f2edf2031b757fea545adb4fc6d1f85ab2c2676fdc16170cfa521d7eceadbd466024559563c51339bb2e126e159160eb453c464f9d96d0397825ca4b61f8706905ffaa910d339fcae57e7fe531a7dc80c55a7b9ca7e508ed320c925f1b33f2a8d184fb073831de099f8b420a7525f8fe6daf1b01359460ecc76feee131917a847add1ed908f7504fe378f67e5ed5215cb2c0d7e629030f207a4af4ff53b446fbb5036558f9de07db1a12884dcb8bc0bf47323d72d013f4ff59d38161c7cf2a596e9f81a386d04944d02d9622cf41b6e023421c1fb210ec67ac5cd2c2bfee3ff0e67087d07255606b630f90a8d514e6eb32820bb77bb32486cca2efc787e35dd6553ed2b3a590e4c9ff3af143611ca2dee89d5b5ea05b4ef37cf3ead374d7bd7ee8f36ea96411d641871d1ceb9c587d1a97ca5a64744dec18dc4796815238e81145a6acaa76fc1c749239acf83fe63add0f17846ba77428a6f86a3687d627386f43fe4a7def1e0504ee1550f004546c0cffaa11e042e18926f64d924ca78108f07a03aeb2a2a3c2f888250e5fe573334092897102e65799b0eedf133c00f2baf4778577d5292ad125ed41566a177db2e9edd3395b1aed729431ce49afd0de88b2e5bd0bf3ded471d6d24ecbdd5f435026caa1c03847c744c31dd50bdb630ab7474411cc0a90e2fd4fc5629533408501f4a73a92811bb84bf0b184b9c14e5a2a474e0bbad1721d87ebb01ea511015e968ec2817ad95161df6991a25c63ee875e345441a14ddf782c961baa255840d05a982078f3ab60666be12a711836566df5cab4ec64b8c1dafa5340419ce7e1ad39125538a2fea14502a48d8da4e456b8143b3202a6ea6de5ef8395c6454bd78018b405d90580fc48a72396f106f34f6b491c06a3237db94fdb44361a21ce875ce5099f41c8ff0c28446aa1397dfabc08d253c80e0e2198673995cf12a0116c6c5e1846cce792d47e486a60c3e07d189f2edb64e286c454a429c036752c4c4567a5ca401f63f8e402a9993c8b1b3bd6d3c74c6e8bc3ee5993998f144de4b23fdefae841b7e6deb345a1e6aabe96fbd194164ee94ed77c1bc532fe6873cca9eeb68a8e1f54b3967ea1758e737ce28dcc07a31efcec3ec259bb4d2ca5aee3d69276b6d5897518cba95a776e0726c1c1bcc2c0803a3266219375d9069f9a1f4749294a75699a823712d848f5d299ba2497476e3fff95277ffb5a6bb51cc76708bd7c00176a0b50225c1c5bf0c7e465342b38ccabeaaa21fba84661d6a2e03d74a4a7854c6884fef512b34c547c85d5f05c6027cdbd55b1042b1deacadfa8740f65b03ef3caef55c8c5fd3a3a0bb5181758393907db8deec350dbedc75363b73afd4ee933836e7fac5d86d0ad4b9045b9d4112fbdf2cd9a106c7513eff0c58962d6660cdb96e82e3fa03bdc2572df1f68a131accbfe7fd46a807853e483764770feaaf45a4a12b7f546d7d5ecdd85d449cd0ca6059eafde6ac0dbd8d81682131fa944dc7e4fb2a79b17f185de18558081487bcaed76f210aa85f0beed3da784fe310003a005317fbfb5280b6c28ac17e6adb2ff295d40742c064eee675dc21a4dcb87850d4496a681ea3c60680af649ba4f50ca06c2151e0ad060e2b3ed342a19d51db8dff00fe22051850052657b04aa37b7ab83a8d9d0148b20d3ce489edfede4fa620bcc229d640bddd8459536837fe5f4c04a291a7082d7513ee07c294258ab309980e2b1c977881b76ce3a88b15f6a875d11eed511b83188ab61ceb498b561cf4a5597fa5ed0b631f71e86a41936f417f5285b0c999453b768fcad943ba008aba179440a59cce73340948a0e933f776f28b398eae56c87eb2414d841bee9376e760b78a6cb17424e25ed07c1e3c0e2311070fe615cd7970eb1a8f497feeb2151e2dbe2a28a5edc643b43cd5b360693f3a841ecca4b0fcbcf3b3233c8ac9be1f89f8df400e57a92370694b5a5364ae80f2ade9d99d529eb2a925f1d8f0a6ef7d63b6ba6cfcd2d24632009c3ff57d77e3e715446285f4781a54ed90812ebafba62f8fb0c6658850bf87cf2e0f396f9ba0d0cb758fecbf5c4f4a326c13f206f57b6ed9cf713113c9835f2f7aa7c9c8f803ba77e0bcad6eb49b0936585a19f8b94126483a26b12aad91d7be255ca45ca512c0905545a2a62d68f7d6dd47c412c5493c0c4d341a132728d719551c88d3209c83156332bf71df0168e8e65f94314eb74efd36ffe18a3555e883bcb1d1fde1e5eb150af62ef657e94fe5ea41cb5b4894e1f6d489fb47d8fe0d17417dfb2a364ee88fd5cf6e380ad48550f2c80f870baaedd0ce96af8209dea72d4822e8ea06576c6799c8446f68a2ec08e99f138d0fd5d847845b5c5e9fe09917b838d2aa6215039fec3977b901e94987a11ad5bee41bf07d373e1a872a05ad4695c5e75d4595ff7b59a603347513f324a03412647ebfebcf1f92bc71b30f8096481b4119acbf6b9b76a5950aeb1680bf0e9ff846fdf71ddff9b6a43621e761c241cfffd6d14f82a1dd15c882964b9355012bd0efb01b385aa7973fa449481a89038b3e2440fd5f8cacb6238b8e36b2f4aecf5eb0e54bf7c3e69761c5cadcc3d6195b5c5b26c813d4db3fcfd43b4a830cbcbf00ccd9cb32f841309a0b737e580d458d1f825aa9b43466508447741fb29f422a3143a7f4f28cc65b131cdc38bd850e183c246f60258136ebdb441d7d41d40155b8ec27709b3114fbabbacd9cbbc77bbd9300d9731f4ed9fc1d8dc21f7ccfe827dc93006c93f8b1d3dc97f743928492c43d0febd201ab4cba00bb945b556532a49ad720b467f137196696e8c9704292a6d465ba92c6bd2636a7011b5f24413d3eaf79e89ad9da06425665b3dc4926ab59b2bc43bb11e8e580e535f2a5489d78a457a9bada75c3274c992c23735c4dd699735a02199d8fee24507a2583b4d67ac335f4aa568efb3777c8289f0a0d397b9681b73f79d15e39c3cd214dfe6bc15388ae3c2eb20bfce30e96c6027e43740d0fb88dc85da5b386046471ca6087185a9e2404af1dc0560ff01ec6bff559f993a9c631db27c38378c49c51eb5a42e3cc9353a523f8789431c4567bde93db1329cf2be0da5f59e049f2ede10be0f6814c94e502e4ab1edd0b1cd0edf020197129938670df37b73fc8f60647dc45588dd36d0d707fcf88e237d5358bde1ba62daa6f4f7ee691b78418d19be7d4a2b3abcd6145cb318cb4e4d0319d80ca3d2c7b927d30b63b1e68781cf15e6aeaf4fdd4c274966e4beb23065c7392ccd87960ed11819f6dedd38071bbf3496d4abadde498f437fbb5dc858aa372071ba8e8baccc9888c5fafea96de3b79ab227766f2cc03639f18a172ca2412692bc252a5e362c8daa150e92ca43aea7d3c04f14bda8a25106ddb2199f661e40db0e7104746f5cd8065771cb34aa01348bf64e17d33b3402e035374025b556484ab11e19b9705382722372d3fad4e43489e5e9707c4b2e351af51206e71470501062a0d84be9acfcecb314bc78902f0ddc7b4da798f1bc2e4afe82108af9a01e39f6e03330e90b55a0a5e4e5d51ab82fa44f2cb0baeb521e01baab0c48f05e76acdf55e6e682e9c9a441e4f98d15dc76f8b0eb10f0621d18dc44b79f7937c7d80dc1b0d692475641bdb83617e55f9cbb5b842bf53d234daf436f3558cc051f72f706b6b1f79b78d5adc296b9acebc848c67af421849ca4f0136db2b66cfef18db353b289834bfac8093188d8c1b0ce6f82c593580782d1159a6530505382174dbadfcb6e569ce786f86088f90a81644048473b943c910b4daa4b2c7655974fabc2abbaf0551b8b7877e0e45ebc65d2782eef51783e4f2a649249f6b80db1cf2e085bbc1fdf5bd417c34e992141bb962c0476e1a5f418f58a953eb445c9b689df913f2bd3c60f4e9c6eebc22618cf3a42e517b4cd4bb5385b6b5e9b239e0b07156251db0f9a3cfdbf83405af01f66d3b715a7067a6c29d069b21b6b08fe1cc73c576f41442cacfd04704a6d541315b73ef9430672bbe1d39e7bbc162f6137b7695c84138c6d21579a1b437eba867ee50da11303724380945acab278353558aaadc949e7d067f3231abcfba02ac3de9285207025a98af446cca79d863f1910444bd9ad6e1807901fb81626428edd6d8877de6fb8a742dd726a38b95af538451a4d6ed56a385b55509367e0d8be85bf7b5f32cf89defd2212e8e0fbc106d817263f02917fb29dc6445c3aab653f183419bbd1589c00f25d8bcf6d6aa1f94aad77c97d271891ac999c136cafebe9cddb9b170ccdf1c24343f3d9bc5e7d7be4848c769401958c81537d21f03491ab181eb99c660b0d79cd4e9dfdad8128e7e5bb20ce6cd0f9d80f7eda827fca3ecb0d21c9a1292220cd7640ae8d1d4762f2794cf6701eafbc13eeb04a5d53c96c7caeb17695f8c1a72a1e1d071dc99e038960964038e51e57de0a281ecba7a6a3f2915a1ca6200345a2b7cb73f694b318bb96fb026f917fda79ff8d761394a96ef00957e4fa395a600fdf0bd43ef77dbc904dd34593c1fe5d5723a0c7f802e619d65867e5ecf212b7490691bea8a9b99cd795f4bb7e608b132518e8c2f38d3e4451bfdf8f014421d76c25391666c79f4542025242e5eb402ae36f23849973152c5847ab81e0c2f8d52e2bcdc37bb09f1e04664b9426de07b3c5dce8459a9914f6742cfd8468ee891ac8181a06f44a3ea83cca17fd060723c545fa8603dc16e09cc384292690a6c62366a188b30f7117060e8a134044b4d7b957894dd76029ce7ecbb662097433d9d9fb2178608f08fbae24feb35c55521260873b96f1870ad011d3e9c6c907ef98f27fee57901f670acd56ebafe2cc7a627e47209af3ed207e17773eb3c29f0217a22fb28a9b881005a92d7bc736f4ca951bada3f7ba1923205c368a53dfafcb78eb20a13140087ea3b3c9ee9747ec155b29f4fd10c579f918167cca9cc278484fc22be5d026a204bd5fdfff78e12e9e76bc7f549d1a3d1ecaf0d8905fd357812c3d65b17d5662c66f1b4848225962c63298b48434d6cce8c012605eddd2e0cd024a6fddd71119403d9313c9da1e6a2be5628e897300b0cb497e6b705eccc7b7d83ec18346a5fad0ed3b5713df00ba75458359faf4120b0a61cbf81fdbd85055c4f7e1a6972667dff33f34eab402a70bf0dfae0f47340ca8de912809e1274daf47dd91bec696d7fbe3a90d35bd3269bda6d31dc7943c5a62d0f331f102d38fe27b643223f61bc0b45c4fbef9791d3d09362e46ba5ac8cd29ff035126d7bd734ee22b7b810aa59225cb9dd067ae63941ef09d470d24c25fc8078714cb01401cc3219103ea4777d468f48da0292469a8203fdb102823d0f3ffdc9e2f8eef6c7d24a9310917a4267eb38d3f637918d840febc719f981bb873c08055e81e6e6dacbd0c0373139d56791860a9cc682a6e281334468954f33efd9fc72183584c71155475ff895be2c0efdca7306a4664a1009bcc402f73596760642ec7add7a47d9f9fe560163ebb4d346828c24c3905559289fe2584eb8efb5cbd7261dd644635d5fa74413fc5e078244c9c255bcba330d3eeeb7ce4fabf9167084956b6e7b06f7c9dd168812bed65e9306920a7053197a223476361a3e29eeee8a8121d9808fb5cb5baffa351ae49479eabfcb3f5d4ddb1b2ffc11a5d46ef04cc0bff5ccd5b0716acf55d47137876286f1b58de68c462ef07e647eeb4efa150726ff6f5c34a668b004beb05cad2381911a11ccaf9bbcd342ce81c8d42b498ad49b93553614ae1ec872012ec4db52a5ad11f0450e1a17e9030d009e5bfc97104fad04b0a54da1ba397c8011ec7881e84718fbc25f08c0b91f1624fe765a2e7c78f9708de62966f3ab8ac532da20246708abfbf4c26dd43f426cd3630f5d8f855e00cbac4ed781574bac476990c346f83cbe14fdb9b00b4dc64bea46b1992e0a0331483526f793718782b7df099f9a7c143aea8048285247ea17ef1caedde1e6ceda15c70a9c87ae92f090e92a1772a6893c28035d7bacd4a7d381147cbbe707b84d89172bfd5134a2908b50d72f543103331e036dec292f51bf0d3a029ab1a9533b31a23d1ca9bbccfbaac1bcb716ef605e682331ef7d79eadbd4626a393f3bfbe4aa3866f4a92702e337ce5bd1a29f398d5c85ba17a284288e5cf61785cc1d167031d2fc15d1b1625c35fc1211b5163fbfa851a4fbada28f484928759520dd493fd23539f547060b86bb16fe03d7679bf746bfd5bc71a55e3d1ead213b518bb8e325a5c87c72030143467230cbcac43ab20f131c87cc6d9a292f9733192489c237151a0691e48bc94e04004442bed43aa92cb1914a387669831020b9a2f51ec500cf4c190c2c2fc063559024a57ff7c7d65c8c323c48e4a26890ed7ec5686cc1d56ec5b3aeea6afde2835f700c0b4853f27f6af6e9c5270f34e6aed637712bf69721f9483ae2978af71b2348d5779463d5b777742ba32050cc9c576e39adff1d293d1ff0f03a1e25bbc498a07888e62b1051e535306cabe409ddff440a2b2709d83933a4407c8263de2f1139ede0ae415ec2f3fb5ef12734db15ff8a91f183f8703c51da8e05ce273f29bd150b5ca81cd063109062c7d4f72fb85d5b1825d2c1061dbdfc639672808e28dd52adce5b023fe60334cb0bc580086cf438b885c3f9e6026a79c334c6f6e5855b06d9f3339de721907b2907fc9e1d9976c673fded86be06ba9871f0c5a66c17c721767b55a9cd4991a2e8e66508911bd85a64536244cdea52498cc8c6bc0c618b3ee5566ab981a303179a99fc5bec5d57334c0bcea65cc909980c88b520fe878ba2fbadad1cab1591b1936e681e951fce08c2101dc344e9173b8747f6338d7286f0b9d4ec15aa32363d65edf11fda263865fda0d9c46c91467a0bf4afbc83cbf2add2b02bb16a0e0d991d91ee5dbc38277ec8ba890d6b41969f16aad510b57c63c2a969497a985ae641703997d19af4dc3f62f99718db2f62aea7466809988c0d01c8e19f8433650a4fe3c9411dbb06c6c132583a8f41356e7cc56dd8b22a81343fb65be77416bd6d550ce9b9dbeaa234b73cf11c963bd4ccc5a0a91d451a6a5eb51c9259cd3d88c5dca29bf7f6fb51bde8afa57daa18f5c36d14f91fcd88ba687491a5112f3e02aa45b52858f944105d9af04ccd2011e68a9a80915ee4d1fea47ffc468ce7731f9e4b2a412211e252efc9a4f0a5677a7e890c5aff762e47f566f263edf112b21e999206440d570443ede2e81fd454d67fbf1ef7d9940830ab6c8a9d372b83c785f1d2e66ea2914e80e3780f8d136b36dc400aa311e9b59eaa5bc8393c3e934341ed9ff23f4b67eb0e40fd321c842d3a0aff90a92621e0a7eed9ab9d4617f1a41658742dd72c9866fd7cec38cde47f71e9224fb35a8165ef4158b48de3ffd9f02870ed351e505ee6ab66fa832a458cae723774667d408babc835bc7999ba21f3dbdb67e6c227c22f1d8f2bc96770c29e63fc3ef034f5cb687e12ad6fcb137c70d29113f4bfdf6aad1e35609fdd9d00c45bd030e0b8a06feaa814abe65bef395ecab13af2cf73a292c110927828494c5eec2d94e98ff21d7239a5c4404bd0395ee005cc959f4a8e87b226d5838467b5ac019243c1d80a75e352d45455ed37f62fbcd826d6087933ffcb98079d6103a1f6c51d3892889b7401dbcb60096f26dc8b0f5f2136c57855df63c6088cefe0ed373d2cb25d010a246f14cf7e3bac2a89de0927a10a8776182fe75014eec3bbc67988a990fd30218ee0a3ba7f309fde2b3af844a15a5105ac02579a739f2da84c711b978bff785d6b224442faabcae25daab852c60c09d37c0cd0bccdf0c25d9631c3c97c5110ee94b0604becd58dceddcdaad66b4acb49b3bb003ddd7e42b8306a666042b631f7305a0ac71970b57f57eed4d660a8981f796e449d3faaeee4b30816f0d17dd69c2299fe46d7a71e83f64f92194541958aa0f579752a874f53c4738004f983bc69ff8254c8226697b32d324dc65109583875c63ff3349b8b1571efca8198399d63b05a75f309b752a0f092e3fefb3b9f55ece17b3cf2af76b5457f3f8e2afe1a03baee0102415878eadb31e6bbed084ee3e7bcf5c67ca329ea8d5ef11f4e9182b3c6e81a458b575c593fe2e628c566897cb391777e7967d0b8161e09dd528dc9676a626050a165d0d328233c2de3758b5015bae6a502e18768a7cd041fe70d0be962b5d133c68c64e061643c76c383eebbd58c15e3abc12368740d62e1c8baf5500684e32d9985329a647e89355a859793df4205985f147d911d789cba6737eb1eb64023ef4e3b6fe810206a47a4ba39249b3745771b3acc3ec24fb534b1a8678fb4b67c6e1a27393f10c7a37f27c437490bd4d450d00ef8c6048eb75d5f15ff72f428350e7da53c3d607bd8cb43c232758275b1edd003c26f6887c681a2b07bfd8af155c0b9ea89da36936fed143e3b61708b3db39c6752a4208aab9acfc57e7a1a5ba421681facdf8cb3bf12e26e23d7e9bd5cffedead0a9fa18b81bc569e829b33e9656041912d40c9de7d4419da36a81be67302d34213855f300e23501ce86a1dc3b4b2744264faccd722af30d8dec6d7e4afae29c4836ceb789fe04296e56d2da0de468233af056562547d6f8c66be39d84e7b8166a9f9f03d00070e54dff386d5573517a5901c5c1c55285f55a1b876503b0da1e7a610c638873d1073df511eb986210133a3f5d65d930d01386447ca791209037f31538be4f5b5806ba5ddcaea7e1fca45163a144d7deb44c052eff993b1deebe8198a0b0353d30c8d72a8290ed3fb554735eaeb0e5bab90792ca5dd0ef3c3679ef71d477bd49274e316754db1366ffc72f0ab9bc83b645a58d31f4d0265ba801ec4993b0c7a14e40ca6aa7da6686eb54c28ecaab63efc674124bd4df524f69f3e7f2e8fbd754ab3acd91041d8e3986ae81f3bf825e98a0401081d046e756cf5f6b3677f9eb4ee7a2ecffaa42843df566e0f910c329687ce871a3f125f5f7df905b180464e6bd1723005b00b4495960a9b0a46dc4cd802966493a440806f9e64850683a1e299600826fa121c9c43499e49fbaaaef5fa4f36f65235bccb0522ff45a11048cf667ff2727d4dfab8ae8a25dea8d0fbb12d434b2b3fb8f12a57fd345e0e3f6f6338a7c9256789365b658d91641fbc7e8c55563dd6358a38e69eb88271174905fa6533a2b267b265fd801ce68a68d95caf6941a7deb6429a0514cd8d298b09ebd49cae62c1df533e513680cfaa0005943f9e7af7c7b08475bbc01b89c4b90c9950e2a841ffb03fc698bcdfde3bba38ea822998398073923a646882b78d6f536341f2a63f5e542bf72163af902f9fea87890469a80b5fc40b18bc7a7e641efd7a53344c5131fed86a93ef1cc360d83cb107d602ab5bb01acfdc128c777bc9cf4c28ff8cae89859467918f2d2d972cd20845b84b76cc22aa19487de1382eb053141ce2715e8f85c91e7537e2c55f054fa88254120b7af68583d016a3a813d380c5a36c372986447ce41caffd19b549f82f13249c0af485a614d7ffbdd5c453fce2d24cb058eb68ddd400d7385e2be7ed1be13f6c1f0a43db88211da1c7ff7715426dbd9e99656f4bb80488b677ff2170b875ee3d799188b91300e9ce55375d85d17d20a2d2922d42292eeefa5ec7d0642f30d6e536a1bcadbf34f21b7815dfb13b996065584f0748799b9d0fdbe192183efc8b01fa9888a02fc08101172c4a13b23f2001f97282138ce5b0f94fa1c419808804c3af2f25efba7dc7ad5fbacba765dc5bcd84f84f929ae900dab81001553b2fb21269fb0ab309a2203d35ec63323b61eb093d73379bfe2a372c2aea5822c14b7aba037c8861fdbb4d8dadc4da89279c963c610b754a0efa69bb5282aed129de6f96d5d7c42df0fbd3b1ecf1dc0ff6a88b022902ffd3321c295f8ee68e9298fa8ed1a73da5b3220a40192cf57dcc5df25985796b30b399cdfe6b77f9c9cc3ebdfabe469da14a2a53eae4db3d498fc13a9ac456020ffefb991908986cc6e8d5029fab38a853385052348751347c66bf9a2cd8a6ab73dbe0441b483b538ed8a3cfcea5726f8270ff0ef03066ad2242bfb4eea60ae3aedf54d44a80231f116266ff4a4c3945ec86a0c0e2f56c7ee5db0c375a12ff40596f529d8127a28f3c9cc1abdaf859344b37a2e5ea14e941d1577f68cdd8fa18014f066274d4054cdb0889e163e87cfc2301d188e88ec0193a610c91e26697626f097b09f6c6706ffb42e2e4bf8d6740d853a76a1c61a5b7a665c4e096b05af8ba01594d8d329cee81c7583b2660c9e7b6805890accaa867d60ea20f6bf9ca468bb5296abc5281a802bf62894f638748667656cb6dadec8a5b4b92fdfdcc7db958be52579bd0cdf0d10e46b4622c0fc029142f1eebf7387be9f9da20673791bebedfe70abb66a4bc791b547f8155d2994254fc5997abdb80295a294414638271301b1d39e670b6e6845336988d45021594a73d6395216a76a4ccbf85cf528bb6313471278bef3942c34ef66da48cf80976e1236467d6fb0a95d9bd9ed0cee560fffa0396ee539c52ae4be5718325a9dbb28ec458678743eccf4108810fdaeaaf56cb60ac1313820a158b66d984b247ba83b169d9cbe35190766fddded359ce16c90293bed5a6825028283c02f18dd762de5a2351a01cecd5ae4105e2e9bb32355827c8169e07585641ccdd151035e6020ea83b2d3f735201c10069726ea7e3f30c46691f3c49be734f39695b30d824f535a26bfbb5f14f0d46ce8aae64acb98f46881d9a755de3b3ed1c0a3a0ac3d04d95e379d7ad9ad474e3b35face4c99760fb1ac0ce7afe8fa6021a0eb108bc9863339130f6286d1a3261f3112701870347212f714eecd3c0a6e3f8fd36929421017e6b9ab440c5d0d4ca526e6428d69cb8f85e6f776e2311d5590e0f8cab769e3ca8e6614f4888b8c7bc9c603255fcfddd6962eacf48aea307a85eed992b7177498930533a41e24a6b98b9485a50ffaaab2fa7838f3ebb0c4ec6d81ab5864f0e0870ad327f6cad36979a70b9ed46f37c29fa460837ed55486698de3ab877f89af4316f07cfc8d66dc3b614d7c6c16c086b97827b129f5541b67514a3f032314f881dc911d640da26749281988dfdcd39762beacb1f9ce4fab796892e93953b31ee11de2d10b248adb2670d4dd3cd41a052b584013c5bff8986d87c0ad65873f7c03012553dc8fb235a8e5135168fb2a465b88d23e2057cffdaaba72fa70f8458b9157b461bf259db08cdaffa0b3d1dee513647ab92e243d4830f54bee07f43e5d21d92a0b3c790fcfbde7991c006ed771eff50b0e879efeef830ba30d504d846065617ce55e1a4f2e947a38bb5c034a5fb29a96aa1dd4954f685207cc4d2aa2b94f5aa04d3e1341dc2a6df713b4652541cb4f266cc95e8bb8a55aab476fca0aed15f45d39f579f0355fb256c267040658b7aac97c8bcdbad44ceb1e50d05453bf25dd80983311e8dd5b1b6817c26945bd2e6d2902429fb3633fd79782b0fab2537897bc68a1cb0202ccb28287404418edc187099a1e912e9751c669c55ca6b4f369d5a760cdea35be365d1293006d12464ecbae86f38db936ea7f16e5254eb46f3d1129b433e4deaaf89d56f93eebfba39caa9a03bd734be8afcfd1bb8b19fc5498f203b2be507cf8ba84dd3acedc5aab3b3a8f785c6fedfed35ecab0e24223a1b42ace60163cbd563ff95fa7fb69e0b39d5f90cc21e0ff92bdf3d020bf98c6928973b8115dadd5160bdc2b39659339a36aae85637acb1e051754fb1ad88f33a5e11bf15cb79ea33a3fca036349d466096c8248f3bdcec9ea1ecd8b49bcc60862ac8cdb6690db84bb88bb435fa8dd196f440c9c0feaac2fa0f0e9cb1cd95d3c6f2129dbac79afd7ea03813648973ee59369c70b91752950e73bb5676a632332fbd044187373642781cb6b894e4158da8618508fe968b16ba52ac03170e8a045be568c88e3ed58b8265ceb99178b237b846a24b92403067393e6ce4e5adbce67d3e66d9169ba77f739e5fc518f47d30cf402cccb82e7de94fb2a8b4981cfa0fea1573849300e0fce7c06fa9c0a74bee660a75fc1f0c332af24875766599272b599db7bcc83a6b43cf7a95fec809876a204ed131f1daf2b5b9598a5e84dd56519244fa0f86520bb6b0a2c558a4de4b9990390c4dc249ba76ef73b5a88db950a2e99ca3d1b68278710e8c83e544db2250442190fac114563dfd1213e57b7eec4be9ec9db8ca879e866fbc6d0dc553d0d86ac6840a192101e2a083351ba2d79847fad99ed51091bbfb4c1ce28a70d3a664ddaedbaca7586bde62fa5c2730353a22a866114942a529c0a0a806312125e30ab732fa603458c4599502854afa774c40b20202296d63ff73421f25c9822fa54bed1934f9401713d62321741d0bf296dd510c2cc9585127c329e216a0aec2fae71d955a82e46e8c791048000000ab46694c194e2776beb3ff84554ef2cea650082b8fffb36c618220b214c159f9177a2ed2c27d627bd091c97948d8eedd60540acb28e07bccadc66b892aa358673daaaf56b47d2486606d5ec3d97555d0f0fc4cd990821d340eac58c620860b334188d5f83837edab360791da55852080a1d6f114b2b7cd8177a432957f295746bdae35afe3519b3d125c9ebfc60cccdb2f47a83a4252cc3e13dc235465856d27ddc4eec362e5ae7ab67f66b36eed9e3600a0896f418d705645075ca065a5feb0b1e1db84402a353f91fd3d9dbc83e047ac6da1a26b71cc667a802be21926b8a0e5dc5ac3b439c87f6e7b148845b37b63ffcb2e43207012a25e0d7e27959ef0a61ade502a64d070f870cb903c18e03121b080b959cbeee88dbd329a1c45f97a337146b01023720a10206eab819186d58700d8cd7cbbac1e9ea7e0637e781a143f609f24cbc8e96c04c2811d7c16576373a700e5dbc1745e6148f53417e85f02ec3e804abd3f456572601b1f207c4039c485bf428dd5b0c45c1ccff0650a47fa3e62cdb1764cf04d1f932dca5f4cb77aced2fafccc2d9742409d6bcd3ee6d5943e9e41672511de0ceeea1cb476016ef9e22fb2b86583eb19a524f8913aa02c0b7c6be325e889adfc8f752bade255a0fd6b405fc8d7159c241033e5c151b82ffb47c915bd7a53093dfaf14ce79d00db36830b16342d125b756cacb918d500cf478e76c9e49e69220022ea4feb09a882ba3bc67ccbddb074d26d46e767f774b1a8176bdcdf088f7dd53ab9a60be8bafd99cb42f02297ef7f294df274de7c7e118a2c22e6caaec67505e8b38e755e8ee0bc5dad2ea11b095b1067f75b95ec4a3b279f2105bb8067536a36d043ef26da7c10919b74887f876c6bb5f287b171accec68c1c17ebf8619c5b2627d83f33262e5e937fd51f25c4a4ed689601a7d729e21db4153ff8a1e9ab1a3063fecb32a8abb287f4169b488430a21c0b4a4d09c892316bc270a046c82ea21e628e335a1e7b7a5de5b76fe56ee4ba134c36726abcc4a241612b8f140db5b26529d2be3abb10863cbe6ae4c13749a6d57375cbe35ec00673c18045556972141e9c17590278bc62aa7312d0d069fb25fe7841ec328ae649b47e52851550f660bf34f972910818fd1116bb061ad025e31034994f51324eed82c037642b1debba5bc5c72ba7fcc412a396002d94878b1d13295727724bdbd84a6213b59fe866acce23bec400bc6fd35d642fde330fd36e2214498673be41e10bfa506c132d2396e3d9d65c0ee9fbfe615ed0a7601005183df92012578be6ba04f043b97855a1391883195a0904ad93b4618d37a0424fe87956c1cb5796681d43ba2997699e20d680a0ff1c7ec13bd15f7510cb744506eb518738901202f63b30ca4e910bb3eb183b3cb4af210bd135743e0df00164e6bf6b803d630ace0bde405bc54e01e4abc567ada5c730d4f4b7f822f3d5acb10012e015970b46321bb813da98c391d0bfb76738820c671b83da16b8bcea4e5774d7c70df60071b86fe8ebc066f39b2ac2eaedc117b9f5e319fcb502dcffb8cd2d310c87c9f4ea9372c5bbd554299ddce1f4d8aaefeac36db25fe7ec43aef1dacf9ee2aa98e8824dad5f289f6fc7c5b5908056328498eaf11ef57835b7a084159ec217eeb0ef04ec11bc3c7c449fdb2f1bb948625a75e3b247120c40a1789c1ea2f6ff348b88ee87ad57e53c79b2e04e8acab324d8ace1ecfc83226f5c1c18448050c18a21f216ed35933aba02bff06b8aa50410356b1d3affe7e9ee8c38228b7f4268643cd8c12a53775545770b169b1fabef3639bb2e34deeac8a0b5e4bfac22c8690882b36b43f8a5e2dad36f467ea134c102e2448d92d2a9498494fbe9b4d1d3189e1bd6f10bb78ddabd486e4caaf6960faac878fcc4fbb285f1499f6179a97cf5ca3008ef360a641ad71535efab2fd8d61ab022190034885e169b1fdf0142b0a3ccc3006a10bcf7e0f812e93bcc9e77e86df7663df52015fc296e5e7b79577dfa497963fba308d632327b4fe21ab58dcd50b7a06dab81ab1b1060aafcdc45b91b3e8f6268358acde0b59ec3c976409e2d04dce8cb8448bc37505fd28c3b8ece2a961fc420fc491287e376d839de6a2b939b91ce94872069d42fba81d813e5206f3d9acd80fbb300b48bc8c73afb883e4d4a14989389a2dba43f03a511392f83396042838753f7c23ed0fccbcb52563122910e2f730621849be75f84711af63ffeba7cf216582ad4aeb6f6b8763ff407e9de8b92d48bb1a46b1bdda3671fce0d855d4684562d5c00bb80337c0ea1046d296910c08b5ad2d74703f44ab757d56e7d6e9a7251eab47d00d3c1bb29caa55635e4145687b055f6344724d7e7b56fdf7d9da31367abdb69bc0586fb27d8e8fc5997587f6a3356dbaf94bbcab5fb8386e6c28f042761a7ae6295c2e7f7718bbf6dcf30e96eee543193cdbc8dd2b774aa102432e19eed74fac8ae817fdacad6f7ff8e62b0f74aea2c89e2a550e0e948d661ae3d30f72ed31d73681faa73171de684a7d498c13e048f8cf09d39cd912beda94f980277f1110ee092e029c20f761f0d96c209a7eab3a3b3dd696619d23f5e39edbe0b924cd136b6132ec14fb9a688421f83e491635fc7a493d521940d1f429dad1332b7517474c08a95e97978ba6a1023ca3ccf6d409cd60b69a617522262fb72d6db038589a44e08fd13850630e0dced2ed0b7ad1cd8df052e1600ec2b162f174ebbc5a0861502743bd513fb7a1969e2a961491dc08858744b9df890f6e67edddc80740e7c3b4a94225c9e95d420986a2793fee42a102174dfe8bfd9864d59d5fb6ca896dca682d9ac581ebcb7d9c34a2fc43ed6ce1cef07910a7fe3ec30ac758dcb9fe64e0ddb0c97cbb6bf8e12ffe0ce561c6869b40e7bc3436be3ab2eecb356681fa17a6f3d0d12f9964016c4405f29e76400fe02714acbcc92f807db992d485e227ea09e7d37be9c355b81b359fd6e8295fc4c29238c3a6090a791060f72ce8e205a32412d7151b2a21b4fd54e3308fa25672140262dbbe75b052b145ae3ae77c1b86719d9a554696cd92af0835c26abcdba574ca09e88157c07596282eda5eb059382a023c8f0d1a5c4a266ee3213fac1d93d18fdba22f7665d80809ac3fc8f85d493b30d72d6a9b1d6ca65c680576d61ee6cdfc0a24fdaa5459d53ed0a8febeb88e061311f3bc0d1e669af518f79ce67fcfb6b13f129da2fff86a465457b23207a103a29fedec89680439c01ecd8d15544e33a8a9934fcc2df65217cb71f1a17d5026c2c7698239a4b928e9d8bf1f70a022b226c81cd50c4a06b1793dc903d94487370b80719611be1c54232e4ded3c2900d1a62d56597e9670b3cfa6b2a3f807461703ffb551b2db9b2d09c5c6876627334619ddf66ffb617a699ac5322aa41296c3eb7b3ebf3a7e06d64e9dc846e051aca5ef4f761a5cc66f4a79667f9116961a15df854a1e241704aaebc238170b4040bb6b256584c7fc4be9daa78c0868813947e3202330d303636c95a46d78d1be5418c0704562bbe3c9e440dd4cb367761a267b321972958c40768155ca9ea763aa9b5f20395857465427d7ba066a150cae66a6b1621164b1620e0b1ea2ff67bf51cd56c0e9c60355d104e1bf236d1dcec79e12cc6a1813e11a747442d12e67f226790367bd2923dd34c435761eac78b48d164d6b82cf876d8b29bb5e43625097b132c3e84c11956ea74e274bd4f950b13b10a6d8acba229d9261a5ff06945e1f690dee965a13fe8d121c25fc751dc82cf6a392b788e909348ec01f91fe013dd4c391ffc33f7e3ee6366d99afa9a66a93b20d911656206fcf7c3e89c88efbbb017ef39f5da6b10a42d171233c5a536a1ae0c1753aae5a551da06a2bcd5e28b65948e83d8156ab8ff00fbb5675e373486e226fa78756d9aab85d730f3bd0d4c0a0d26252456d1225c0e04492cb01cace968bc9a1d1130c23e6d14b1c412eecdd3d11054e20361de7cfcd59cb4ef44273bf13251da04abf5367c01883ac463893a269ccf943e57a04110ff9ed97e41542f37d9d35e892258ff3fbaef77d63bdd04f431783250068315452cbe92e2f16600de06987bdcb4a8912eb65818af136720724ac5b46ee932bef60e654c1430697a8454fd892713ce59846d91ea64427e75c6a5daa0b749ac6d96497219606754c11594cdba08a0ee66e8e64f9f4bea0a416a305041695d711ca847ba0306fcf50cbc945efb49136f967c275e63d10045a81dc4d491cadf83ce336b192ad23f773ca1094306d1f50467f88da6e7922188f94955d9f8ee2deeb36ee7ed034a3c99c11a6d4a03861254689a2ac5ed228216d5e8325b2e2dfa74592499c8452a1d6bde0b983258cf77f19ee9da87e7116c5f9fcb3300c3b99c5029a9b3a22c2d43e7b976eb4590f11a93f4a1bd0eb67149827f39f821efd10bb0d9beaaef4960961f7390571cd778a27840e72b75d5b64251ad1b2d7303fff4e48ef50ba1bd16b3c7e30fba7a0197762ee3b32a2e3ab76954ceb96911c22d84134164098c1f65cd2686fb065a4355c025dbbc86cc983f095e5de55d4c28adae41206cd4d186634d94c3d3e9192b0adf978e8acc5322e2c7ad23a28a41513ddbf91407ed45ede5b3d4e612b17dddeb13380cedec00cd623005da50979c13e222ce72c7f16acbf26fe7b3784bcf2aed53da6c9937b44845e5f16d50bccdfe9c401e4255c6d0383372b7c106f8f39c6a20afa0a1dc00d88125ed1590e905009bc450af0385d92a0e2dd7a6eaa47735208a7f233efd37215872bdec7cdb1d25df05d8ae6c3e1fcc24ec93720f465d907b701a406d63436339b7300299a1521288cf8fbb75eaaca65952fff51b118a87eca4f50db6ec9da55e5b61f1c784105b4d76093608e6835ee36a798b9c410937f768c1ed0ada04dbea885c27cc127799586ec5a8946c1eb1542b6ec298a4a9bd8b2dc055f790e45094fbb9986dfaeed33394eec5d97ab964f997157008533b0f9f8660f430b23ca95062e9a4145606d3545256cbdd7b7f0d0dcedf33d9121e7384e8076897c2e3707556bd796bc4b66511eb99b7e144ddd7a2a7467500025a23616b67441fdf1961c00a9bee6daa573c4632f3bec46d7619553203a091ba250403bcef70e97910ab011a80525e3c8485f224044dd06513007513ebc13e321d5f9433e10677b70830b58056c6225177b5fe726999e76087f3012e618c79ccf931069a1a1a6cfb648ef092019cf597b1aab8678054064afa9d7c7aeafe8250d1ac2045f76a3dc6f3a224559a2d90ac3f9e68e2f8a68cf24a5a968cf2b75d281e14a7e89b6fb7bbd5be59b90ffb31e61b1ecf47282915baa207b65524d1a7fdfec7b0664be0c4b788941e59f9da10891fe79dfc8f408a56302964fb00231c86ed3807b44e1953a1ac1afdaec82698a5d5bd487940477cd671ed7fefa7b5d5be0f938d578a90f36f475eb3b1b07fb3d6c7728699ae38f7b640500af5086bb7b8c64d31f13bd97bac111e5c024739e87abe6c636e9723c857cad512649e8b268679bdfa3e915be5f113d58eac461d2c61a853d8b24ee6b3c8f9fc2ed3eb67a1fdffdefcea584b6d5ac47969e6caf88918da12f4df23a473a694bfe547be7f1b62f909b84e1bb7142f146bbbe4993428c24510f388a5843628b1e9873772fe49ed596e3888e98fab01fa659226062cecbef11a505c7b4945db52cb11a8edef318a2c0930ec4909f5d8bcbc27f020738935d508e757083787dcc09cb33eb9e65d465e633b264ccb55ff7c2558552422d0c3ca8aed105d253c57e60f0c42636665918eacec046f78a500859abbd0441509e20966f906e800fe2d073c5fbbfbd4e49b0e18109747841192d1abbb99c400cecaaa40aadebcbf3bd992a22cfd4b028984c8c15475548b8ef09a39941c4465b091a0b8daaf005010f271b58f257a96ba547cf857f2f7f986bae17ed688a792b1d54cd2e0f1c132da5934efe458ddf976ca7a57b0941dc6efba1fd12385a93ad3d4d9875ddc2fa46b5b476e3b4a16cf9991661fefbc1c4ff77f92efa8c04f648c5ac361adc9975e81b30bd67b13af08e0b26cfeb21acf5b56d12a3d7d632b25caf1cb4737bcc9fe5850532591ccad36f52f9caf340f72b3d09f1491c62e14a49c505b3e1695c6bb22fb54f7eb57fc168f1e29cb7cb0761f2e088f94770bac30f069c164d6af4899d741e696d73190f36666f378d4e496e571368d6f0c07bc33a5610a57510020b12c8b765d125d40863b8ab9ce05ea3cbdeb760b1545874cab8d488844a4395953cdc7fd1038e7fb6780c07502d32e385ad83badfad3ff5bba201fae0aeebfd91c998f55561a45ffbb556f3ee4bcff6ef2f621ba6dace3ca2b132ef6669eeb2c01640966ee3074ae35f50332ea1e2aade01f9d2e8dfe5187a37f068a1c61f3c1b6ede916010c66fefcd109d7b9d3116c4f150405ca90079655501e55ce69f93eb2b6eb26f8053602f6535c0c27e20f123394991000c8cc05c0b86f1bb7549b1d1638976afbcc380ca8af67b8c1c2727f6aa021126fcb643e45a92ca5095a59b30956eb6540e1a2e08fb11fe7d8af251fb946f16b514be8630504bd1414dc377052a8299831f43ef3914cbd608e20497b307090ff7d2f598a695f01123921222713a7af8933eb95338726b0807e77f0949b56016438f132db2b5c08df9a0cb3dceffac2bfb037115a5f338ff2d0fee17b9fdfadb2d7463c6e207b331440832e0be487006ba0e1b4f151b77a892a27fcae8a03bd96d392168d704b4a2844982ff5a8279b1dd438fc5dec5967e442ec9e1d6dbed5e947854c1058be2c4cd3570168908eeee8e1e955ec63597edb174c19624b69183bbe240ed236aa6f8be2acd1972692b711403f348298534627297bc323b361eba8441d52b980b94767787ded2ef6bda55da3d9234c161af3ebddf3e33f5b32518b3a59c705769d33fe622a194c443c53e7df10d9c250436851e22788db1f62ff9cdbe52ab32a54ad7675d66b87759ed48f0badcef7ee6a7b4c6ae4abeaa2bab5727070225561bc57dbf1744524ae32697bf79075582cf1a4abc425e2f640f2d3af90cdb441c8a87cfb2cb145640ba1f276d752b4d735216c273948072d4da6e87c5fd1bcd1b5b92be753ea54e7400d22d21bd55fb622f2a6282f4ffa2635f8c347b44b0e518a8a981ee87413689e6050b3fce126b0260c5ff240baba028ebc5d6c9a60e104ccf9166f27f7546ef95b8b9df729331d1836bebda08139d3c69a60a089697b97e268643dbcfcacd5981d5f9a78c194b2fbd3fbd16e556dc7be1e02383f01f6698e01d89cb81b8acda4a0f217f281e83cdcdbc78a7042ea968152a2462fad8f646412ec8f1cd7c85fbc9615b858ae67789069f009cbd2854d33176dd0ea7577767298373eec34b687030ed05ae577d2dfad43f68107f2b8bd9742aac1369eda87fdcad318f5a6b114072e797fd83a44fc7a893e72d29e06047077acc91dbca1b258ede4bec9ee837a28caad1936bea159835670af8bdcd531eb3a7b2fb5d70680555353def4f6efa1c3c449540de9ac58d8303ee98a213f0987dc8947656c284a04e6c48d2e27dc552c3b8dbeafc320b5293354c0df07266c9381872e6f51f6c594c4d27139dbed9d4d343ff4734caecb68caefa5c4ae76e050ddd3073bb3b347382480d77335154ff097e95bb0e7bd6b0f91fe0598351e62345aae820bb7c239baad3eda2842097c2f547ff34a915fa04c934b2d2d7469769880d64a2e04d0eac86339f33a7856f1fca2dc6f271ff00a4896364534a64188b629a8de7a20b33241526175221afa98b9d59161bce135093dff9b2a4ae14e217fc0ab91d29f03202fbaa08676b80687769ef2dbf102e9ef5e265772bf8fd55e07648c607edb8296e3fcc50d0825f208443d1290d883064ae32f805e42bd036139a7b8b8a36c552d7b668cb36431f44353262ffe92aebf018c65be81dda826691ccc357584cc6f2aa3f02acbbe0716e6dfab380f5e701ac8b7b4c2ca3c1e579dab51c4320b36817130d997fd941ede6debbd4ef498bff060e7afb4108c156c1df619ad1823b47c0695b4ef84e36fb1bbda88b9f54ee09bba7c6438b536f613a0d0431b74721b1a498c33dab266d91064d38082a79d1d03c9cdf628f5b74db6acb0568b71cf8f5d391c6be7b6c4762a2ef387bdc26f2b227c99aa2aee83de7b798d6c0f0b89d5647e0262c8f912985dc880426e101e68d804f18de73003e8ac8b5e70d9ea4b81747daa63ef486ae65cae04eae27878c7e78a05ea7e5bc6ab4cc9f1dc08fa6fcc998f20c026b7442fe74474e1ba0a43a1ea2ddc7c16c2ef3d1acb4d46e5fffe5bed1e4480260c33e5a4335af6f78af6c87e9042cf36d09250c60c58ba9267be11022dd296b6797f7680fedf5c0cdc7979f5bb1d3fb0fae2246637cd5842ea5c601d88b12f6a6777cfb3cb6e8b7e666b27ce712cc49d26d7c8d2ce5d12607977cde3a6a677edcc92bed1566f19a169acbe03509f9beb5c7631a8c99b0c58e825638d66c74dd219b19a261c3ee284f47698c23b1b70e0ce11a8e871603a8344b08aa9d415c4818a75d0b2eb2fd0e0863a043be3398900b81553667ebdf4b6c5b2eea9fc44ca0f8522d3b40b9d2b321daa9d03d8651f76dab49c5905d2b97c51de62acd2c92f7ac504fd6fcf515cd73515673d7a7a430fb43237b792f13b2fd3918498a978cee63f267827efe75811f10e917c6ce502608dc5c6ff220ac627b54fa825f44a945c63935034c41e32524cb1418972af339ebc12f774c0b3ed5dc167c9227745b287662b02c847d430c77bdd0dab2a990618fff7346218c00fe4cbfbc507f9552488af847c965ae2aa7c97581548918eb8ed7d86cf961982f7b9ed80d9bd445ea24fefe52b4f2a4556199b9038bea418b4678fbf1231d6186a6101112129e92f88f3e9289434fb481da9a9803f4bca0f0cfeb6a84ea61bd4d4ff869a1267b8287052f1707f0d571ecd5be184b7419d31148f1833c1037113f34140c056cf9b0b6ec7c59c0eb428ccab9144c99931080821ad8f5b0947719baf47fb36ae24a10e6e3adabf6c5c3fbba7476b52e3dfc5f2a041cb7595cbfd744442c97e80327d4bdd8a70338d1189499d569f7746030037f70b124cbb2b45c1d404db4f39906529d05ad19f0c879bc54d3cbad1056cb0722740640e8baae62a82bd841eec91e1d41254c2dfff3a3b48eaa72be89707dcdcbb8039b90c15a0ecc51e57328628595f1e37160c2bb22036bc8eb4c74ab5499d5674e3446b25992645cbbce6a8d8da6a4cbecd4b428cdc408befec0b5c283ee17c49ac9d71cdeb2066e5d2bef5b6536a843100300f7e4fb178c710f99dbb4a5a160a6eeb9e3ceb875e94b1a2e9ff9e05c8a72161a9bbad407594c9fd8b9cdd05f8f539c51505c9ff0385a5d3c817461daf22d52111eeee0cffdd86b9c090af8d3ca2eee6359c0348d7cc36208cd90a4e7bfa82ae63bbeae521d9b433d680bb5b8c24accface62a39adcbd96d5cb07013eec778f6a98242a8f848ff8afcbfaad9f24cde0e85cb317b3b3906296ea8626ed32e1ccfbbcb34e14e7860c889c14ceaf2ef2445ccdc66a036cde3b0857c01b014ceca17099658fdc74f47e7e2ac3a84bb999202c78644f6a7ed77fc333efc8dca3dee2ad2161684d0b4928299c9f424b7fabdb99d109cf6f6c6819a3b0a8d3aeadb6ed508f12d0b67a30303628ee8f9dbc50fb772af74188f8918b277767f1ba61d57c9c7288b9a0f6176b8e4c2726f88a500dc42ca9a61e626de189d370bd615bfb4a2ca8cf581ab2561a5df845e6ca634f9a4f2545e2d609a56cc4634974fe7e15439903f264ebe0fd46c307c15006e21969720d6f31de9cafc9512f1d979fa4caba523198b9161d0dd25561b7fd4bb84a27eda2b98000b9cefdd0242fd2e87dbabcf71f3f09367f2b1bfb08b346d1adbc83fed65178c76d76f84ff290b68bd9a9462adb35720d176b94b960e15676d3b7d0bc0646f75770d94120250400d825e6920e63828d0009841abe77000bd535297336ed7272f581766c27f3caabcf6cbb0e07444762c4dd4679487d4fc2df9895324a45a0e7ff5e0c12a6d88ea75612fb41614a5554ef7a7aaf3b370a4d6d2c5980c19670b995e693875ea623f7ab90ff7620026333159c5c52780be6f9ec58060633fe2786fdef13dc318d776944c5ac27e19b4ba2b43cd1d69ae4675e79468bccc496a527f9809315024ce3fcfb02dcf2949ab50e17cea32e6dd9e8d41b8c9a7d686c9882c64821ff676b10455d4b35ef065db635599963d3837fcb4ecadb65a2492fcf8ccaca6e1027d314eab41d7338a5ad6c6409a5ccdac948c910922235eb967b9b31152df25afef1bef09eb3837e8585007793ad8c8cbc2f621ab7349478fdd5febc401dd802575f415fe63eebff16c3330e88a478f46352bee027a81cae673523a6bd7fe19fc9c06b634216f30ca9aa428c0f84209637730bbed1c8d9a6205031eff54c34758256253688224245dbc859ad949fa293d6ea0a844f7d64f76d93565e4afa92798e71a8d37cc1a04dd2d6faa416c62035446a51e1f4d11ab00a13269968b4e70487b86c4d098c9e28cf61840dab54e6c9b35313d2dfad8978fc05f1d45a1facfcef6c7a4c6336639eac8c49756f971c396ee8e9b97508c610b154bf9576d730ca6edba35a8b744289c4372bf0bd6e0042fddac147d6299c8b5263b1bbfdfb015dfa015d80e7e57c0a2a135c446e970027b4931d4bd37d56dd70e63731bacd25e26672b05bd7930f90617b14e2aa17cd691169a3a2e378a2ff944822e247fb20690ca78a753f41d2f0b20b1fc74dd8c44a4cdc956c55cb910cc94a80f14fc2104391898e0ce39cf787486fc18275763253b8948fefa76eae97ba953ab9a259383c4d77faf6aef3109ac6a8801ae4441ff97fc84612dd99cf6f1db9b51b68eb426a2859abf6dd85d645061dab1b9ae226250a21ace0f865510e56df5937cee80c7fd6d2e7479070c7ea0ab9aa63c367fd021e94b4b03a2b2b74dfcd83317c29766a17bde805a46ae63485293f9d7aed3207310804bd29ff7fece6df4e3601e8e84120f975e113d23fd3fe0ffc0f094d93cd50c34e60337971c80e900542b09c6325add160b0883e267a8d079982fe282ec7f08bc9a294ccfd13e9bb1d6998ac76b3b572a2f8a56ea844958d5327fd2b32358709461f4d6565dbceec56ef7b5db4fda1392fae7660e10048a6074de68d3af878f3eab3320d26020c13662545b9e921e70e767601072e28cac23cc8985e79f62702d16822df95d0363dc490c2467b15d540008a47d48dd15cd13df6eafc751c9c8c574925f45e4536e77dd3b9139093866cbc4a0e890faacd52ea2792c58110468f84d21a46110a821b3a047efe4ecfb0d689fe5e933c5b7662ffee6920b8a63d7ff568ea885f2aeefba730900e0f0b786c9a4e35c0d275f4b0a62f3809639113eafdbb977fad4578743d9377be1c2f2a624deb6578e1678df9ccd09cdee12321faaa2067b83f4766762db67bfcff564c8c5a4e6e089ecf19fa3ffd00cc927f06dff0abd9ca30acbb5c6ed5fa40f2078b710c94dd3bce6af20cb41a11c49e6060f4d63c0d0db8ddd0ead402ad6acca282699a11ef0ad221805c574669b53df95f7ffcaef543becd34c1d59fd12cf7261eb54d40349bcb5fa249019216f3110a57f9d9eb68b35ffd4e1c936beb5df2d803f303cd87ef9519d82b427357db8ca247bee2d378a9f66dc659e2e6a0702f3c6428d9b3a60f10e47fc1a423facedeed63e16102589d4f59e4ffbd40617fb9b49a361d3ad7dce44e74e2bcffeaaadc3354fe34a81b9f2e40aeabc844ef31257cbc093381279357be360de291ce7bd4ce6641351d4702472c3548aab5f279fbd7c6ff21750dfbfae51d8a36c0b674916335ca3b128e84a48b30d69d27d5978cad856b4ed306ed4939f29eb87407a4767813d2e3a7f2869fb6ebd32d4242f0c8be0d5d9fdc637c1edd915148635ba4171cf5303335211664870de3ecaeee3952947e6b1b316759e3c83d53901fdce8770a4a1aeb2c00c6496759f7237d910e63e4acb5ff0b38638b93d170f7e61f6aabaeb4893c5c1d08c16d4ce6c6d940b0b19d17945bcaea55e397554b6ec43ede07eaaf3e761dc62670213e4163f08f6c7dfac0f93b7d7fab26abf9428c0a4cf5210c66979e90cad14bef82b00b89d18147c87cb5f6a5a105f6f773116eb3039771dfafa99ad0463299bc5f9d4172f3157446cfc60344d2d8f1a072e033235912089e30eb6410883458d3dd81224c622217c18fbbf98d86203b62adc309be91a21990d22ef2b53f7fb49678b2cfc13a57c750b75a9cf40047d5566b7f4d78c0a2a557793268bc2453eb21aa4c256e7fa409bf388c847896f39add882cb2c35383fe278a19187e0e8816d7425b3669c16407f47b5285011ed2b81b8c898a49a1168e3a47c53c5eb21b7bafc9f140e46e2819c52c40c6d61dda7ca889536e703b2b7161354d1de689ea48dc5f36b2ac9f251a95cc4eef07535647278035d484e1b86951041f127fbce3e10bf0e8b98be5c59c46aa782e3dfd2e3626f1816207eb7e14cf46dd9dd9181c89b314bbd3bc1679c9fb1ab42b5d6bed4d3e0fde4b689931b08e45543c302b782cd207d4df6185b744676a7433f1ce287f30fecfc1d676c378e89cea4e47fbd7becbcb0e4eeed94e49c806c024efa8cf5183cec2418b567d1c188958a4df7e3023ca1b84ac447f9534350863cc55b9c2df74163f6cb82a70f824d77d141e18d6b2bace4197e3993c79d1fa200b4ccc585b0d35a08a7303240b2583ffc898c84f92033b6aa2470ef553cdbcbdc65884c63e2bcaf25e975bcd93125bbe401cc01a7d50b9f3f31fe7fe3ce134d33cb23973b74ae80ec7120ac04930f4f3b5a7439778e0aacf287524fd51acfa03856065dd65205c90345aa9d3eced81d8a341bf7ce4c2e29e0ddadec09784421fde8fa834bd5edb31eacc2a9ffaae6c6cefb1b884432b0e392de3d3ce33e1bbf64d2e47610b8f0418e72c2257f339cc4a260c73375f8d65df034b64d82be0dd131ac9133c3fd69c7c2d0c03389863d185a65911661a07e7a9a2523678bf53bb3c01eff970a806193bc9a0fff8c55022626cf5c1430f7a25998553ca6611c38fa952239a8a2a141e8a40fee7db11ce5075ac0e807d023c3b85cbac15b80133741ba8e2aeca9e3d3bbd6635856a35fa78505a8c8ceb9d1ba40501ed562799d11cfadec0cc95244b27d7d8723bca9eeaecd179fe3be09fd2936b5ff08fc70065ceefa0361032b3662ae8d2e9f7cccfad04170ec1d48ee8a4965bc5538cb8a0ee64b75e7df3b5951fbdbe93b46bca2002bd1ac7e5402a86e9cb0d7caa091f961d9deb215153805504e1debda1a1d7229277d80fcf69ababe4cdda2c9661df2d6387de47d32a62ad859b77df02ed0df0679c5aecac6128fe9e0affc550e760150abc40f0e2f4bf1b2ddc52f72681a38e7dc0737713c18926675199c0442f8cec9354af879ab316fa46829b1cb0ce33b60058eb51a8496247eddc1b9dea417b9485c86dd741df33b4e999179c02514dfa14dba60221408e1a17a38b548cb71da52f42abed097a4df2253dfb0e8cae996160b99ea29e7167e67a916cd75aaf83611fe78091476e57f081c8929f4008740da1e8b88d39dcda851d41fd7c8dd78e997c36a13a183712605593b7298f76dbeaba803a2de13ee406d6edf2f036817aef5fb535fc9eaa5def14aac890b8d60f322cdae90d6cb36ef16995c2760e1985626b8bbd8dc70e5708e1893bebc58740f186e35abb3a538536ccca44cef33447d63e00ebcfd3b487b5fc7168ee7a4cc512d28961892f7b6b57d2ab44938e18fcabe60346173fd0adb6b12d4f78e216d43e50df77bec1aa766709d0b01403eaf852b29b4f26da86d2b776a24c89b6ce2d5daf125b549b21f59e77dd1f3df00d362446b7ab62aaf455c61db9f20370543b672e2bcef643799d310634608ee45b5a7021b1d77a99a6f96232d7f30cfcf6cc341a2c7ec4bb487c546c07afaab073eb74a9d5abfcb0e7561a25e29ed39a3a19cdc7081e91070f29ac2f89fe82b7706868730d4c2d62232dc0e416c9e34b5fb3e39850450a6c02c860612f9237de2d1e17f640566dcf230fc771e03ff86662a6c558203a69dbb690690d4d3b0af7b672cfc76b116c5c40d63cab35e0459f4fe9b328166914dac09d9899815ed51e395ba17fd1698d25e89f05cd4b401f7e3f617eb258a6267c5faf74d06406c99ea65c0dc4af23585626d7377d16b4605055fb4751f0e75981dd6cad66d79c92495c2be4c357ee2daa2f7962f577387b7f48fb599f06ab3948ca52c18ef0dcbff5b1e7e88c3746833838bc4e772b4374a3f4d90e3b1654d9dd20bbbd4db668e08c98492c4e208388cd6fd8a3277bac8a6304b08390e22dc63a1b2b6e09d9d37fc19305c525666708624ba159601339139c80c6e1d53e4c0c8ee6f67889360892d52427e68e904ddd1bfbef1853e04ac250a10fc78b861272d24ec634cd96c51b803d18fad110a331514c280efe68f29d60ce54325c49e5b8eb17cf22510d4bda75a6abd7f87991b4bc02e04bc95b144079816318b97df0aa04bae32a64e770e617d2f9144760323bf13e1ec69d2ed2cc715dd1c08365f830680736c8ab91488c1ce69c6325e77c9b99478e03f6bc4e62015bc429d5ffaf84bbea84050b4e595b4acb1b36bb53c5d4ea8e3d4ff6961a960c7056778c5110b69e14df9b382ff49bb57195ae2f1d7f8f4c7d244e79373077170c6951427053bbd10680357ec49a88c51272050c64344b7519e8f24c463c77e2061a5b02911a49f3f2cdaf2faf448dbf517e3dd5c599bacf12952a2be088b90a535f7985a87764399ad3749d0edd85e02af06896da2bb0ece67c7363afd68495fddc36ec606212819d1f2ec96c84ee74b3941ac88ed977817035b3d576fd7791411a58c13743d5dc684bd268d6e33caa3b1d1706487f0677e5f0cebed153fbc8803891752f0a9c9728a4b5a170883817b783dac3f0a1b76ae77a4d1e20417ae47edae75b2cac48b64dca6209ebaedf6d7a20c196644ab732e1d5a885c1d4c618810aae6555cc1cc7ec6851b6867e2426d06536fd6f7045ebf8656f1fe775993024f9831fb52dfc40d9a1337d07e37bd6888b21f9142170a726c315407d2df0b3b7d482769eea657f490994ff8d80eb1188b776815e3c35abdda27817795a0631f5412d78874290bc0602f331e49a9f6544eda5bdc06eb41f54bbc819ad758d6c8d452d7e33ce2618ddd14240065ed2268a9839f3f2567969c03c53e9da79c681084892bd90cdc096e00f0cbdf59828476d5079fe33f131a977928dc0a481309835adbb12c2cc6a66c15c241405215e4258ef6d36addadb242713757acbae419b5cc0e4751b8995a960a0dc48dafdc9fc35f1031893fb5bd6d55fe28a109e1b96385e7dbd786e886eb4d2401ff682d568a117fc2c80e0480085a70dcf33718db8644db725eb3165a29e3c8bea32d70f7911ced94a53364b4a69696c2f6d6f62f54cab880f1d9770d5d1944e7e03f4b5bdc95f8dea373ea8650fdd4d7dcaf91ff3d65638b3dcdf71943c986d96d9e2a9a014446439cb5187fd5895abc38bee1ce47e2a650dc4dccf0ef5dec63e3c3ba92095ef0f2467f780c404ec5f8d6dc9870e5af33c4860ab5be2165aa07612842743b48431fb4a83554fe183d170127a4897547e3a67565ec05ef1cdb7a0e9549c5455d9c8ba6ab8feb00a02c7661981e7776a3051d7f09a414bc1f59166d952e392b040eff4a71d8ea64d397d30551ec7c1d639c5ffd11530466cc7b3919d2dfbbe77c62cb41473d78a57d63fa2ce1b9ec67960b4c6e0df2e79ae87cc3df09533755e6fa747e71e7518e71823b86acead31c2cacc43d2b7cbd2159f40a4107d16704412dce701f60eb1b8952029af69b06d7e988b957cfb93de7178b17fec6eddf3f4e73317e48fd9e550a95c66bcba5e7d460584ff631d455d5117cc8f52e9369778c7e25adb2807c84a42663d772d964f114d37dd66f1fe72ae0ff09680738caf68bf638febf338c972a3807609c94998f247b9f9dd96a9b0ada2b415c865e545ce9c30e0d5a272645fb46e389df0748244831190b41ce123cdb49b7a609353a067a06cdcb8d4792dc4fec82b2b5ad6c89ce1c144a4679717f37e959d3b86fd33f05813c53720e720695943d731662e03d16065bfafb5d0e4220f9c71bf74a7526f14cb8380394b3ca674460ed4f804fc69882e54c1703330de8db0243c2ded3ecaa51f8b4140dacc5a3d68e0e5d31e4e27903071a8f1f3ba094b31183a0e4a34173fe2fad25225ebce34925a5e645fe222ec5872897bafa43109b0e3095e9af24853c5d5d136e1e2be69dc6a4e660b71afa10aa85289fe40d3cf4224567f2cf06a6f768fad4c7581f2f9e1219e78501590e8f26b1652bb1c3448322bb1e9d2b5ce4a238d07f4ddd800c0fe7c123ca30c9319d0557f2ff9095690860304d428213f6d50a29ecd6e15437e1cc1ff09508f45ab9165941a27467b7a1fb250ad1125a68f96ba7db53da4ea66344ea380f1d0468f94290ef8ee4ed5f3492cffc34ba87dcb223cafde59d201da5eeb3b23aed5971912a39be869dbb50b2a4c8dac171dc5ef82cc876e2c0ea299adebfc7fa1443d860003731422641a48674de13f7b255081f1e92acaad103942646b097806e3c5908ecab2828e23ddd21b290ae4ff9db63808963ec4109a3f9bf350094eaecd549e3351d6cd02b6dadd9ddc4d9153603c186ec805366059be20f694e243b9be8463dd48538ad60aff8e31ca1113e2e0c512bcbc9f7e05fb9540db3f444cb7e03d2d7a3d2441ea6023da19aece24b8be56cd434397813ae002b57ca3374eea0ddaf2e9bb6998ecd1af616cdd179c68197d908b5a58f90fcb9dc7cdb6a1cf1f41ff462f153ace12642ca409001542e3c0ff2d07abcf5aa9c548251597e63ef6959790f98327cf16e187b86d8f6098d899abc3b675ba68b38661f9aafa63c0e83942961f3f88b83534965d7b64988b5bbfdfad997f5f40ef789ff874fce4444908515aa956eb02efbced0f7534cfed596897ca5991bdb9d055fe7130b9e9da4730dd121e0f2489af3043f54d4c929c584547ffe9a146cb0a0085fd872cfe22b1d2f7a9c862a9f032edd7df0d3254a18f3597078cab774ecdaca39f775ef543b80d970d62092d450b00a379661d8b585bc5409c0c57da1197ece3fe7278f65b137b182d5b3256bbc4fb416102bbc99ba828c3a74127dd45043293622761162e6a57d98f5f1b15a8658a5f20222dc8b7d648d456371932872aa65828517283c9ec87e57e29aba00697905aeea64d8e480ada191e59e0a8e0574a115fddf22d90b4f22db00509eea8cec96c523f3248909ae4d2c814a827a67d7c901b1a83bc2347528b4b22e1bcba51ed2b016989597c2ab02ec7d4005a016ee15eb380b296fe52d3453b9cd197e83921a2148f511d3a381c9cf67319732f69b1136c984ec94b8b0dcb8888e4ad7e1485ffa1d98092634945fec35cbfb8213fdb047828d7d0e16c5b7cd2744d55381b2cd6b2ff699c89b5f3517e2d279ee5d125c32f6fcbd0752b5336b8bff81ca576fc9b14f2438d79c643dae8a6ae52d9dd60bb52fb93eda1b318bfbe3dc024f9859419bba4e8f32c9ead5a1652bd108754e44a81143260ed74da074b6704cb1cf3dffead81def57dfdc21950e64d16377fdf0094cf887856225fe04b2ffbde343f81504cf6a3b1a88f8c498cf59a132f8d327d96c0eedae6b872b71909b896c926976f2e9275246a6353532ad9e8ec56743fe5f7f6977b4587b1593a373767b910d661fc25c6cac483ae503d0bfe8ab990eff8ee2de7cad3942f9d8db229c9896421ab1668e32d6f1d843647d48121aa243609cbce9d504cccc2233943c74303cdbc0942300bd0d7606e63733a23d3b60c84e3c325656e3f25e2df8ed39e301d1fd287295bb346ea88abd99e8481a702531fe6f619951be73a82d2cbb134c55951e27a0a20b036d2ed6f9b803581b4ac6410e4d6185fb6ce5172232da1a0787b0e4cddfbc754fa5ba11dea76d68777ff48209a79e2561facd3d701a38f9b65940348888af9eb39716c985054b6eba637007089c011ff5d1d25b9c389cfadc60b03a09d9571103c95f2e26d3d61a5f8ac22c010ad1463927ccce037a30e3f121f2addec80b042854edd445459efed79313833ff166162b754cac803e16ea473fbff097d0d8c0581842cc057f035d9941d845b4130b88c98d51adb27e819e0920b724589eb8b0f0ea9ddc38319ca8ecd2e79d63d06f23fae536da103b426eede183531a4a8ab7f58740c3d8751daf6b9570b46d5902e5985bcfa1897d3dd8c4d5af45d52da06b5b16e70bf2f804e5c40a98ebd268ec0fa2367f909e174597afa149426cdef9b401a1294c0776cd8deb7609912f2967976620a3b87476528a28c6e1a8f2a06197cd9b12f9cabd83a43c2ba6f92f52592da17ef891b2f4701653402a702c27c9ac43d6480f636c694666e11d8b77543ad32a12ab89e721fb8002a7c75bf49905be16225ed092a044032982daf9f6a726319b64b9dbf1f4e1b309507f0ecc38b5fb3cac4fd6adad944c5fe4712db6e714b7e579649664bb7234389420e7a37882e9f3ddde93555f6a681d3a8bc4dba822df913cfc7c95a6d8a689e140db94cc0a270e75a3a5a7ba4aca08aa4a345d92a73fcddcc77f52d1f3835a1785054ca704e561bcbde7f5b6d65e4be4da473d719630865568c5951f1516fc39f4b475c5e4b2c220e5ac0adaba24eb48211d6c13da5b1e5b68a92e5a819c7d94e948c6b6795683d9bc4f91da70176207867180911af5a96020b740ae101d9fec5d838d970503c95009354782819f562c4fbdb71b0a7c4e4c209782e0d8abe6cb0dbfd1f114a610984f629e526958bb48cab9a19db1ae8bd5c2a43c25e951fb6a2fff48184fd08bf6cae1b0272c373f9e43062afd9fa20f3ddc72ac262ad87142601abd6ee76ecbca67c2f0e143bfd8ec72e3c461ff2f8863cc7d843b804de62c0a63177e6879adf63898cbac22ad9156c355834d1e0a1b6441b86f5c205fa6b0ecc5b317db69ccf2e4667fc2b30e428f3e7e5aae5f317dfda67efff5936eb0e0c28ef7e711971ad1f5feede6069095699e69e96f59dd6a8b83c250e12fd9e5dcb5cc85b3c479bca6f81dd71f01e3a07d875ff9c05bb9f6ca449b5b9251627bbdefd26d264875492f05ae36ef72b9ba3190932f33b909f0d4ac2e7d97012bf0daf29c4929241193042dc17ca14eb18c9452b9a55be38d7791df7995640bfe97028a969c1d1b7b3ed991f1874751d73d6bf654f6a9ce182be1120ded2c8eef39676cbfcd8064ad7f437eb4431bb5cd146a437d31848110530defaccfd1f9564f711e833910100ac9099e437f59c6928d2d8aee4110490a56e015ebdc9c58362dd76813233e5263359e8d388751be34fb83c76a4c582246022a854eef90f9ec2efec1fb2f52bfc98523e8d4c8c3b126c86f6e21996e2e48ab0e9584856b367e8997146eef09eade81afac79a39f6dee5f6bde39330b04e75b1b88f8b6e76f291e3b6f89610b75b8c38004922f985b7d445b95d36aeaeef564827909da56ceb705f3e98a99a03f71b22f2692c72954cb73d5aab60e1bf47012cb37b5e83e5aacf8452971e77e5e5904fee063483965ffd0145ee4936ec1306bdef1e7d1ac82ee7dba63fd94d38a138f6977fffeebf9559ea0541c78095a7258001511e8ef017f042203fca7ee97f25f2918f0d4fff82c92d95ce7bb8e36c8f8c756656be4b661bdf3af393224543808c1722af792e509e05c519709c233ebc56eac301d6f5276b55d62706f49cfc5739c473d0d14e8174d3dc62d0476d1c04c5c2026f82f06f2a206ffbaf87a4789a9eb51580c4572dcefb9705a004b9eba9949aced7020e984e71c03db81ea538c7342f18eaf967b06131409e080539299a2e10e1943ed6e730360b741af9842f7f27de0f5667bc495ebc08dfe5e1d3c5ef99c31266366776aba19b06a0c234d4a8dd8ca85f783dc374d2ab729d0bf25772a2d2bb8a41562370bde3660531324fcbdff90a5d8d5b04a3fc789bf47c3b1de9e13e9fc107c4293f1e2d304dcadf2e0fa7ec81ebc5b04a2702b0efd61807e2fec986f46d9db44ab058a11586feb633772b3d6514fc074675d8c8a993dd0888e00ea4edb26a5f42d6feff8f981ba7cf64428f80c719dc8e0506d55756e700a91f658564530619ac2a2737b1837efd80850a22896cbb73f529116b46fb3aa88343fd754c1eae13676135b1f7821be788ba6a6f3024f6c5c4db20e26eccbb9967683df21eb492c60c4d5b6241bbc660a6459558274d23362883315b524c820ee8bdba274bc9cb7baa77cb398608b92d48c9bfa11e2d376cb255e714efd9bb38e38b236655bdcc4195f3f19100a7f118e46e5b2d891f6bba42b98597aecd056613121ac19c834c744ce92463862fc1dd2b513660eacafe868045a80c860c22c20fe0003e3a49c1059f5fcba00f67a5adc822457aca1a7f976b765c9e9c71900c48cf763b166c3c1f8c3fe549caf7500a1e7bab61aa150d2c09db062e79fe622af33efc5ccccb0d8076413ff75923cec01be3a2352387cf0f01b564453ce36d6eed4fdad3055f40a20bd2950fdfed34cb6a47665e7bda75dade49779acca079b65b5fae7130453bdbeebcdf861f0713db74e6b3ecbc0de0f5f340826a137914e7f37cc7ef2675ded505c9aea30926c1a132079cfc5b69f355675ee6e4fb6a985424479fc535343fff51d509a70e64036bebdb3f0f7e4f454e7dde2b002d10d3d3091dbdfe95e822cad21d34af433c1a064c75ec13d9b456fe3ece1b8018cb60d9238d40c4602a5e082d54fef260b703e3441b23d0b34336468cb3b2c94ee408d22747ad8716e3b0bf783c57d746b8f3d81e80fd7543750edc850e66f110b49a1ec3587b355a95203aa89c238d1ccbe66bef534ec94260c69f13679faade07dd8ca41080f11fbb9f43e335435a00d1f71208d89a08617d823ffb5db1563af0882bc47ee923169d9d1deffe34b7fe03a3523aa3aac234ee964c135c7c8406400fdd157198d773b097dc679338edcabf15c2b495c789b64056e9ec2be83eab03343f5bcf35b724e21f9cabc460dc0283e3229cb161e91bea72dd028f0e32bdbfff4a1ddd9dd033875282ec77da589b7e65575a882cb0c15de6b3cefd00bd54da26d584e0432263f79fb211885f7bcd7309ac142d1f7e8b851e274741e078c6a163fdc840a1af724c870fcf56890daa264d040e1fcdddaebcdbbc018419b534d77595923e441c1d66a7b425f8701194e8629379cedc9aebc39f8189fd58165f052c594768b5a2fc115396c3718948b96a43bd208d2ceded31dbd99294b24457c54bb8fe66e30e7d605d6fbf5b43046a6c8d43536e63a95b09fece8a02e71933359ebdc7a3ac0b648e34bc36fee77e9a59e4eca6d880b0c8683c20761fcb4e17fc36ee2f5e37d5a0b6d4952e2cad7337d7181d0587e698b9dabe13d7a3b63de836b2ef697b4bfe5af1f006c9d8f6c1cdc7f1804902b7eb993ec1771ef6f37996ec22a84daa11c15967658b03a05ba53c7eb45c75e6a3ecf5892524fb2d9fd4e52531c38c7a09fb2d17082499ce841f73b8553570f5d11765ef77f2ac7cbe535dbafd2a51259e6da2ba664205d496338a7147730dc846ea0fe9ad062683b2761b0e6b6778a658f0bf67f05bed6f626cdd8d62a94f7fc6bddfb3ffef17b0b2fa96c3389cc34790bd9e494ec5b0ccbb488653c76197acc387cb6c6ac0cba455f9be97793226a4b6e84cfb481f8663cf065f9b0ce46ce1ca9e70a9217a871b5b0c6fddc45c3a9fb249cc86d50b6339f094729964dbec20852267131e02b2716216de0f9e969e18c1272e2fc47fad0ac38a3a7ccbf2395e31b423ee2509001fb82231bd2027e7161953cc688346c61fcd67ecc91ac3c0456640fc04a7e7e690f7aef036a8ac1c5dc68f840417ab6fa55c3de349664950e9a424b07732757a598b540b1a3848f3cb18697fb20f8b12dc0605d44d30bb55d17b1013a1f621cdfaf63c8018102fd875f1c51771e05c9547909664efef27f0fec6f246c52482e65962988a1da67902b4b67cfd27bd47b413191fb89e476c6655ddb20aa0dcae14d9cbfd31b63f0f6b66494f7b0498c37675e83d5729c9b12e23c04281b8e24c1d0ececc2fbdc599d6e16bd521a82930ca45aa69ad5f58bf2c0cc31f7893a70c17245f04c4c593f3d10f77e2a01532f13cd593cebc3139bfc2d976e8f90121eacc2e3bc6a51c0102fb785e31067ab1e2e33144bc2202adc9539210d33341e5094ab1d35a4348735689129f7d3c2f2776c1b4fcd41e82c160a429b001bc391482779cca025215f3d2dcd9a24eb350c647e560cfec976a5c37198677053bc35dc4f889a6142f1d15de8426791e8938a2b702e5afcb2e156a9155b3830d54b778bcffc94c58f0ff8d28933422739cfaf59a2a46d7e8b50b8846dce32b16d7421f9c6d9cd9c0735b566d2dfe04c883e419d7684598fc8e568f9aabedf3fb92dbf1aa64cbbcbfe061792b120c557c5de7832da7d81a6f03188f6054fb999fb49e290bd400cd0c8642657015f8b74ab24453fa17fb2dd137eb9bc00a81ff2daeda36fbb19df7595c8fe88ad519951b0159f18399ef24cc7b0787baeae575107d31a841fbd04ea2fc2acd3fefd46d60538fa0b4c740d856000291f861a7f46595ca0d186ee66a4019c278f08fe96a68469b976aae71f2c9cd056ce409509a1bd1c7b29eb0d28305bea356d0241bb7e032bf94b790f0a72c9046a0e09b7c9b9a029ac38153d32774974a2b786ed50de53b5e669090d46fd59510e6f17d582c4e623e3f7e7b004afd548fc7abc62427b12a5ca54773d06eabaccdb615b51b5a50a861ee71e220fc99e40aff67390b07dd92c987fd71134694dce0b32f7495a87d6dfd321bc8294224bb3df7f12daf62452fcf2d5ee7893ab525812ccbdb5905002384988ed0943625adfb11a1460f3b7d972c72c405215683bfb8a0d2fad0c04da0d96724543fba11f16d634de0598243448badc1ee663131d0b5e1123075fba4fcc3099c78a14e82371beab6814cef4f3c37b8deeb37e26460ef696864fd675c73f4b5e36db1329c886efbe0201e88c275bb1714fcd69e4d9ba4d8efb573fe1052ed3d8f8cd881850d272e9ffea11443b0a027d39485d145673d05d08ed009f0b60b4745174644f97fd54664d52d1f6693098b3f4bb02b67002ecafb328a8bafb440766faa88ab9eaa6740daa40f4ba6bef50273476a4842abcae78bba046af855eb5f55005219d575509726fe8a4ed42f8332ca3a3b9d068d7e8f57e5d29811980d93037bd8ffa5b6966e34d05ee95197d07b10f45d06fd87c714fc631c2356f30792653864d7ea9399f71235ee410a6c88f2ff7300f5bf409badc4692de4a4b88dfe3f539caf7e5be5ef27310fb7142152707c4de52fd3f0a8eb0ad7e6c0a54532b81f4bea4b703271c14db03ee48b5576f6ba2d693ac04bc7208d7820a9717ccd3f3415a7a3979dd5c66df0c105baee96d289843691473dec98d165aad08868cd482e014bd29081215c672f9ca493c97d53142da4069a4bcd9fde509b0f330ba6a7938b8fbf83784e800a1e87b4b6c8d08ace21df5f297deaa275f98edf1dbb1e27b340f1050146a70a38af35c5e047f2cf5e3597d379c8ebc2070c5156358a90c6856c36e92a0eac6bfbf44f64c463ea3de01b99a1b0d094253edd602554aec5b1a3e88ea1a96881a9466e7b9a228feb7866029f12250bbdc81c14267a4a8342ed5b5e037a5168bfcfd8f6b99e7331e55381bcd35485f1c8e5ca620e726ca8fec8a9977ff49b33bfa0a1392ad7f9438c1a1db1cce753a599ce5faa6e99774db30f7242ef03c070f1b9a43f59938916f29fcce92e5944dfbe26056beee0166a51773a8349c12cd8eb70d200cfaeee559145d39620eb0ee48e3b84f5c4da54ad69c25a8fce61c91c3e2f14442bd31eddc6662f1669664dafd490ead6b5bde09ca07875b0cd10ae5a993db047788b625a2e6b61b99dd41e96b9c34c081b375a59243035a5529988bed458f2cc8a9bab7abca8d5f0ddf7a2ac18643642bc6939da63f0656535f3196f5a20ee2c0692e67c5a3c93cdd39cd3bf15546875dd37a4c789624773bb4d314ecb9cc2fe8d8f072c6ff6de7f876bdf96a3ed1754a17b2b7c756090cb674e4cf3269faa4d2fb8b3b8188f10c65393c80831103072492a8120efe2da5715e951b219062040eacd16099a4f00be49cfb08c558d1a8130e6f7eadb927aee73f946d5fd862267d940b647c43f125dcf68b45c2f740e3899f9ef3c49e35f78a09873ced27fe2a80ea1b2db78b0ac6a76c1133573c56e5ac3a9c7ef19235bafcd201bc815dd4ebb7c791653d05437e0c6465f656a796091d6ca8e6078793891f79a41f934e63d297088001ef19e7a27ba5a1df9a5d2f7bc369882a6b8c29c56dd09c6208fd949cd1e15357a25983bf3cd6a0ba66496cd0d901c9d37176bb65aae420ac27f0eec2b26fb2f92ef3c46652662ab1a15eda9cf5cb9a82a43f09b822502fbd15d97ad6cb758d65039e7657bee879b081cfed9d570e57e470fb681bf1cfd6979747d8f5c2229f72419bbe81ae0e9997beba53d32f98d1e0adbe2b3eea9c9beb98abf038334e57b7a3fd57162f7b3a0f775c66d02b9121cdf8673798afeed56d935cf2b0ddce129fc667e11b075b4e8ede61f64b80333ed259be874b97885cbe9d5db9d0e7ab3c434c3aa305f074f96b406df9602b9ea7b3f5e12b602915c812166344ea76eebe734fae258c6deb943e13c815d240240517e0a734cdd6f082451176c6f6f97ee5b0ce5dc3c4f02d8a305c74d1c10de6d9ea6564a7c5f65455f3f830c1b08ca2006bb42119d165187b3a89af30c1c08d09dbc1af50e9f3db6b35b8a94cf81f3ade320f40563c69d5ca4f6abb5ea5ff081941613e401f7e64a539964537ad0e0b3a13be9fd72aa8ebd319a76d3714b5ea79503a2f5f9e65297a2c453da305da83e07f11884d19f7c259afbfcd017707a51ae53ecc4a6346c101bda3e55a4839f0fca0c208074accd33f36311e81cca8425023d2f7e14d6d254f6c2b01adcf851b56da944c9ac4a906cf3165d4f40ff42704c06ca32aeedf87c43048e5aba7913bcf42ba033ff1be3603a6d4fc0bd8f0cbe828ea76d514ac9d459f543cbebbe14f5a5529579a2ddad7ff3949f31090a10e7fd327f99fe065b2b294cf642cee248160ce58f3e0c1294d603ad79e6f5bad15899aa4dad1636b97f8339f982fcc01299954b505c6ae80f04aa92005f73b444715d180317e75a3683eecc72cdbbd95112f88c524def54f20e2d7e1132772c09ed3aa66fd4b90b962f81861c8c603a6eb382259c429084f4092180c68ce4f21a44faaf7c076afc0591aceb0e914f0a1bff51355ed22acfe1bc2092f2580496d0d8621c6678e206b7d20057a5236dd0eda8ab4f4f83e21f6e39b2ff73344ecc3c9989c00882925d22a4128b058970c4204425667f656bb8899c22fcf310d9689aec4e0b58db26d4599fa2b748d7d0465a9a3cb371ac0197e3a5def8d8bd3db63d5864a43ddade8ababa69e5f210428e967e9a1321d1ff3a5d07bad66138b4b0745e661c14e265b4c609db445afdd2780500af44d43c0c8d24e71731342bd03c1be72ccd54af5fe08c882f7d99740f56034fcc5f177e05077eec1caf0e68b9eb6e23efc52be8118a41a5a29b69abfff602b082d87e8752fc9ac87052486b866de3699df76f7eafc65dba1da9fdd7fbec42ba6cbfdff8637fa971605ac26c4e5d18008f05e5dfa7948dfc7fb3ca8ac1566ed52b127ac21742ed6aa05d48022f74314db18600b862129246e6e407231bbc6db00258ca3472728d1e158eed4e3de88e43b24cf069a7e5173c92725d9a5c1e60c67002c6c0b80d3a270553278f09b79a2739276d6449bfc555e7f6767e1a0b63be8e564ee5935b08afc46917fdb12e73054c991e56f404e45d95718261d9e6c9339f3aaf888b25ce1c187f61a126f6b6ca8e41910c5770d3bd74a1725af873e7ef3b3a928e32016fc694ad708b989ce6f0abb861a5319e14777e82dfd1d2965ea681ab4f62fc771b4671a5a09fb41eeaf89d792bb32e15b65927cfd15910bea002796047d8b52ebbc137954899ad2efff1db7687a392bf455935408d9765521eacf88e67cee574d578af5a9e8fe77c90cd0cf1012b5069ac70534abbfd725801da646ec6fb11a01bb2231d36a2d1a4a7a87b60e53cf9bf1b385a158d1bb94010563a8f4f0028aa32fcbd90386eda3c15aaf80eb0936033cefa1547671f4210082f5ed64d8facf48f7cd7ed247a6d2a8ddc3c74c2773d499df2f570c775f27b468a9cd75333a24f8fb784c15f5ed85bb1a277a33968d55710f62a53aa64d702713d3e832666560810f6b89d927d4c7fd65d3b22df58cbfb4067dcdd20fc804841ad901187bb9398c46099077d9cd3acbaa592ac41da3e5a0692c17534969b1bccfe704c3b47a97f61725a44e2dc678e455ba67a5c556686dce1bef919513a1ac05971e7b3ef5f079c9d3f447ab931ee5c432905d6ec9ef5f27e3fcba0c6c2b2de55e0c5fd24269f599ab3621e1ad44a8babb5f20d8d4406f1b041279877453ffb7b5f1cff0065fbc10c0f7f997fea264155c411ac10036e67dc96160bdaf435f570918584c144dea08081179371c38a93c3f8a98893f645fef06a0b0940e0e299e8ca1e241dd76bb1b603959ade098bd9e14d7d346a40bbb59e6adc3f40950d5c81fc22b86b9dfc0a6b91abd27e51f17bf0341e833ac4c8e54d5192c6c6145a1870ec0ed33e3e2a9209e1503e8febe7de43206cd154a3fe92886c2178692052a8d91f0b5bbb5b6af191444ba02e3fe800f6f076c48ac4e786939690ef3be89b91503914badd6aa26092ec9e46c582d475baf87dd861f364f27887f556832a09483cc5d922d9d42019e44fd0359116eeff9deb19342bd17b095f8e9246838e3ed3c6e6b049fdfa1067d8de4cd7ddad925c527fe0e803bc3b8084a8fbdf97d105e20235a98c7b93f82c81a50d43cf2497baaca005c4af86a65a014880f601581cf9beef7e08a3fb138f112514091181b3787868f061ca21181ffc5b6c5bd2164df7ce629960f79f8075c7b344c3a21b4d56c211f529250ab2f64266b4c44a8bc5533b7a82e2cde42ac76458d62235b27371c8fddae13fac6887b492afef8bf20f261120b4f5dac363866d4955df3a236df97ce1ef70a01338908eebc9f7663eea9181949bead2b66525f383f4b0882b8c305db3f276a02f204d230fd91b4f0f511a3b4ad98175a8962fda166016681d16258c2b7cb99822ad9e8896b294ddc71ccf58791e6ac1f822eb1f4190d242a2c68ce2680eabc66ef28dad36a96cc4b44ddd1245458565dda58cb7192d24dc832338a1cafa35e1bf01791963572f9216e33ae06d78e6de85d1cda9813ccbecc5193baee591449bf30ad9126d7f9012d7dbb943415bacaf6f00dabe5ca7cd4eba2918999b1109347aa2a90c5e61e555d0d1e64514dca8d9ba6d9873ce1400456645cb723a614c9123712eda1b5ced4736db7cf78f9e688035c48bf3245d7a531dc18cac1b13f6bc3e2808e5ebaaa676ff2b008d3f04ebd7204c205ec63bb4ca9e1f39f13ee9785b2287a0ee5467028e93710c35e58a1e40516708eaeee649f59e454c6e682e4b0ee410cecd9dc876e7607a96a40f1718bf953d2b532c53d582725396785a056d553d060f4d030a81b8ce5b8933d24ed0ef9b474f06701fa9daedae71975794e2c9f122142fbe77922ffb71455654cb040ab6d6749d9daf31a409d6f356113d0b155ead0684339b549fa7dc49f8de27be3dfdc71367afbe600b91bb5d4064a6104017186f376cba83e071df01649631874a3bf198cc75b3d83218d865a008c2947654ba391fbbd542a3dc13b2780dc6719aa94456b989e4707046ec585fce2dd49e573d20c3e09f805f028a50c0a1be69e8cd895ecf70c15298abee344010f98419dea46e4b542c7ae96c67c90a7b27ab7a395cff3bb1ccbaf141a035d7dc53841aede0acdc220f25e7653a8fd8b998d8bbd0b939c83efd299ad820fb5cd24cd29debbc57ea2d935337d89e01aefb5bbd5c766e94bdced5f9714a4096ad8767d8ea3dcbe338d3d4cb4b2fb9d89521a6d5f18c0cbae26d6203a01f75c8639045985aad6c0e93987473e41c7ce9ff43f5464acf8a0631619ef53486938866a602ce4a3a9e8c914dbcf2aaa76ac4052ed99bb7b14444407c3a938e763bc42669d684de22ebbe2879cd298258304aa73f57a5473f4ee59016a723458ef8d47f57810f931164a7fa899e4c8846d650d7244ca31be28f51c61d8d84f8f6e8136f9334910806e1950c09b62ab5679d0a5e56eebc38f67461c05a6bf9058c9aaba29dce7c4afe388eeaf77028c4347d414be650b0a9ee19055a89f0c8ac14271cc8454b880ca39b8996258df6514b74f5de81a7abc5b633445382d813554728da0a75ab4c2dbcebd3cb80772c624b189f8865114cf1b6defc9ac54394de87990d9dbb7d37edc62a53ba2b8f8464b99884f64daf6a8b2d293f64a0cd2a4db127c6debeebb40d0f08593e9179577ff037f5a839d51a409a1d71eb344368c049155cd817fa61bfbd27f1a6a95909522ef02a95b07ef604d22c8e53cb5ce130d5f3f50a55cbb944c858d28c199099aea2214c1b652affcebaa8a97b9eb2516b806c275efa4803b6eb8a1b5c2e830662948fd431bd9e04a27e9c2dea2b5fd5362250f4b5214e8aaeb200d0704de91ab08c35670bb10ed7bd0480af5906f0358c028dc485d4a0e364757940f3c3dce05a161e55db200beba054358dc37e9d05acf795025cee3475bcd3402aa00f611c0534520c522b08a1114ebf59fd3b8c5b90efdcbc405e44eb900f9b89a603f21c629074ec7031f6eedd34da524229d7c8c35a455c27b9a5afd490d257da59313bfea105f8f17a85356d185f3fed127fb0630167e0bec277ae521f117c5849a013c6d9019d32389938937a0f5d1476316c2e158aadd7498904b9e7069696e0e1219196c52ee9587bce185d24cdbe886ec44d9370978980f88e350dde23653b756cd74d72f949c39653e43385fca6c2c11c821a9327dadf309b0fc465fb496ebaa1c8ee11cedf45268ef0cc2ceb5d76317d71403451392f5173fc2477c49ab916381336bacc870de1c29d4101e178ea178c27ce18fac0fa3eee711a2f3084f50c2b0264294c4c55004ed8c3c9b39dd4c3be36e33eb2357ef6bb7d6360afd55427a1cca1c88e74dfb15953b8a722188d23491d50ce28c1a6e858ea4e5bc289eeafea073120e453e06495adddd5f18ce1cb7596d8e2361863189c5b872924a48515e7593d1874d9905646e29ff22a7e990cddfd7e2b6f48810c8645c90d080c2944a590507dcaf11e55f064dd714c8b7adb0e9c9bf92dd19a23dcf09fed3cd32fe7eb37956eeef582c1a8edefbe5b834258981253bb00f878157aacd6206503db7b623d615199692a5611b85a0c21bbbf6b9374f11e1724c81d08995cbba4148957a79f26b3b544946f65f7c3082d74b80dfd7ec32adf46c7d26dce3c24e2ba3cc9e6519fa38d8c6f0e936b9fe9f43f2ea017cd04c650a9d11f5409a7d10ced5d77d8a86d632f7de72414b7275f3648d24e497a05264086ae8711004f8faa9996ba6c6a757045146b1ba8284b41b7bff5ace288efcc7889d0aaa9ff198456704f5f3b983c4b1372c00ad566a0c94e2b9b47c11b0c7f6334d60ba7638c5ec6b2d06786f9f2be6117aadae8073ba147dce922be2e072b66980aacb68b57a923f4458534e612ea8a531a0a9cb3013c3356b81445cfce8fa17fe339c932e61222c0e27de16286baf5872066a95992cf8600cd2a5754f32a08dfa27ff7a2c553b23b217a281df40cffbe9906192f94e0323d9ffd596996815c3d80d01d170a34c827d47348764c77034c78cbc99182adc426558dc1075e1940cbbf7093c271f1a9f2f0974e963ad4b1c2977f07c0ee505a1e70d3ba402eacbc45814ecf3f474d0c651d64d7511937664f119c3a9a810a6545271f6c0091b8b82c14619e4a9e5f61246a51f6798884b91ed8a439eeae13625392b92dce662f280552e5beea7b3a540831c3b4720be136fe379e2e1ac40abbbcba8b1b132d319a9107b9ebbdd92a5e421f023de063a2a9d0b31775d5862eb84137cbbc3761a934cbffc4531e0918b55ce25d32a503807bfb6ea67849e10936df811f836950ae36aeadb5f1c0d5828e3853c01ec354f680cac44da53fcda847895a661d2866d6495f448d94bb9ea951e3b66af9481dfdc73d1ccb2eaa69c8a61690c57386aa2373c8b75f9e48450353a0f1a0fb96a4aa61046a18c484578903709b2a46be84426e9ebab4f479bfe8b79cd4c013bcb282b9a902ed42af530f80bfcd07a3a25cbdf357bef609441481bc0da65cd0c2daa5c894809465ad89e6463fe6d654f1163cdf032574cf3d159a2de43882a3d3add24d37f33c5499ab96e223928bf733112b245290d46434d89849e28a4a6fd8784a94ec88fc5cd85f14092e2cae8b9078affb0104a7f9ba693a2a11b26bbef1592d82c0ff2371748fc619865118352d66165753d8442d2a746daccb07ebcadd3b625bdb4f202aea6c9220f8ba6ff7302d198e1b9d435765381cd2d92b6d2623c8c6b52c26782f41cd486bed8ac83eb3796c4cb03337af8e2122fd19f9a968e0310d906bd07d329cdb2126fa330d045582389df75df032d1c6f0df81aa6d90b5bdb2ac1959215f6ea7009dea3263f4dcd540af5f40ec06e7703e2e7573c4fc8a74188f74cddf4a61cef62f18014655dc14ca2a9d1c80e53a2c2295e963b26e28ebb627cbba9bb88d896fab2bc2194b23d8af4c2283b1149e8559c6db83b5a9f57080cdec08284c956689dd21d807a24a57dbeb8bc06123d5be3e81039808985afd645cc30508044ed5d0ccfba49cc7f7b25737530d0fbee81a833ccb981c01bc5d4a4ee1e05699a9980d13a096a207ff1ccadd56b0bc9e819b4e44fb4edc17571604ccdf6aa0392f044030477e26b4c3b8aabdcb6283a70359245e82f67977bb2120e59e34e2b8d7056ca9e1476f2720f26a943b7e3b13bdf9c24ed6019167c3bd4ea588880edfa4525e6687cc55bb53795af43a300f795ad2373bc6714a39dea5bf8a0ac5f5b7fac6a2e7e30622bdeb8696d632899a4dd4387d315363e5b5c696b60e0f5f3c0bcb5154a7e8c694cd75a7c4cc8dab6231cdbc9a8771ed4178b5ef55303df3f217a4011c6b24548e2e3a5ad28649176501291a2f78b2a11f50bc1ef740a7ed4d87657caf562f14096800d3cf62addc212b605c699b41d4f2ba978de401a6c719b8ac01363e697e598b21238816623877f0460eaaf7fb7eb33307436338ce99e67ef16f80a742211261231bb7397e3c8387551b71b740c75f0ac6ab358c2ed6fe560a325a7fbe0672c40dfd95da388664ef2986cff7ca8eab6b0611913ff52b5f9bef43c8201b1fdfe59871a443fca815d5ab8f26e0991e91fe132425fba6a5047ab934120de25b2eacbe0329549d69660d2b530874aee5cb96e36253b6b6ceb936baadb034c0a811bf4add16a6d85425ff0ff4cea42f474049be8f75633b15983713cfb9e4c03958ea0479f9bf2722ed9d3cde3989a383ada9b38793fa887ffa7f845237dc4af549400d4f49a7cd8aa54efbe161656e56f9eab22677a70a0c74de5ce09178581e0d851010389afc351d0ddcd19c7f55cd4a2e0680c8739709fc76ab05f139a6cee4dc7a495822b4e3d8e5ed314e7f1ff40870729f206bc64e1c74c8cacced7ebd524c056ece4e2187967382fe8e54baf559c83661a3975ceeb85853038d3bcb0a09e8f23957f23fcefff170a86a91bee6375d37ceecbee3f66489bab2bd42542e16e3f970036b93d3d5c38d04277440d3be16ce9bebc577784c5756233cbc98710ee1257451a0bdbdf79b8d675ae13c3460c005c4701f9b1407339a9cc86ea09afce8e1b5204887b1d66b1bdd327d8cca7330cd860beda25e6d72c5f1f9af556ccace2e85e13a0a714330794fac1db801a93c2d9b5e55e11f04d056e2817d3d12ac4a957be8e36a0e25658e305bfac4fe14053fdd5a1af422af8a195b3c3dc29622b791b57c1853f0de670aa6edd14e54b61e89d2f351d6c29ab9f895d5eacee7c0075d76bdf3c7a7fc58e28589687c4b3b7bb08fa0021a4e16062db2a0b4c5226cb3066b31f609f23b46bbd4befa3bff4f54c6402ed054090291f2ac3035e8601b788831d1c4e1761eab002b625bb68d5f4789d4c5e3788d995254b12c0d7d53fc4e97a122347a784904221409c90bbbf189deb6ffa507831df5aa75e3c7f35386fcae177177e6d7f3ead8e04b09c2da78d3bb9fe73e3fb061e00e24561d37c66570ef1563d6cb798d2c1b1a42b9be60e070b83760ce6738b5408c3127ac399cb040bd4da2c3d173202a13c79fc9349c9e9788d36aa090b866cce69c29ed5f79116d464ad1b9c752c8a8a796bce04dd3d90727eec6238af781f0e51641b7c0329735963c7f78b6a620c2761b3c41ed6f8e9d9aff7fb61534f37f9183819bf0e7d8049781485f0ba85d93a5c61d0a83c9b4e2ce6ad7651416f15d659d0599246387635c0509cc8ddb29b171bb5da9a80eccbd65a0725393e0a91436a2495d7fff4620758684031e1db2cc984112c4ec63e5ed9555c7d49f0d05526807cf39c5fc2a3fddca5aad19ab87d7e9bdb50ad8137f246c8fc0681765c9cc47c4b8fa3f3e9fa0ff8d7bf34da3c2f07f5612833c783620efc931104175697ce8949382ad424d0416696c46e28f2f8efad02803f63775158d780ac1d52f6356a409a9bd2768e3a12323668fee6813ff6f1d4d9edcad1c6ac27d013aa249d614edc423fb23f7937ddbf9564e5faed6a09766a21d8366932babbbc8cd7a74e3eb22d9695eccfb5e10a56bd8dc464925d0bc225e3f88351b72022e661f3ff0aae84464ba9364625ffeecfaa606b697bb9b05ea98dd05372fcf54dabb37c9e1317ca5c24f6e4b42d1c72cbe278c405b9a7f5442d41e98c736eccddc05e2ddb5367f8e4ead5ff8c48d39264dce0f253bb4a8c4ef2ee19085b90a7cbfda2a19914d335a8bb5305fd6ece123626a6324b99e1d97a7cc972c82cc21061f10f3aaa1cb094de959c6f59998c0b53ff86885c5b6f5db7995af35f966ec8c7ae4a3b0f12412f4510c1fcdfe06f300de4075219e4bde19d74f4d657d7c61d5068758719a4f4a32d3a49db96e610ef2625d04def06c69367c21d2b005e8ff0ded33b6b116affe95e8458a9923e3f8505b912616ab9caea316212aac1e4e4d5ef01cccb2fbcf998e206aa953ba31e33e299ccb5835649afd5a2b417c9024f5cf6c440639303a76d4e3d6df549a55c4c596da2ecf48d4c165a2b1d28d51a86f52887a6121eee3cdab8e07d23dc693af21356e59023e3e79ccce716a14c707c6f1af6510120cfc54bb7eafd7c8be5648bbf8403487a7a363fc87b268f3211d846a26b48bd94a73bb76940997c471ea7b0cdbe5421ac2a85715ebda83ae8250d0c038e2aa38280343ce8e57f0ffb2d54c61ff344a1d2619f2abbb1ae0a029e6e52aa6b8aac0dbe861da69de10eb529f61b91e468049effe90340b0d3cd411a1850bfcfb5b3acd1043a552d2274c1fde9fe28e9433eae15638b651e4b92d69188ef354509a718afb8d9fa7a884c6f709ce661bd9718270afaa23300a7732df8342b9fa8be7f0ca234b7c0f1caaf77954f86fd63b39918aeeca479afce3e6dd5db05c793033b93992482e2ad49090d1c36463356e225203cbf7a3c683824282a595058b928ce80261418513953671455c798022622d2ccc48972f48d1fe92b113e5815b0b8b891243788813dab109ce75d100a4b544e7272e63d1b95f0dd7f98952bf31434f710a2f3899878dea08150e39862d66cb085eedc0514d14102b10af7bf8f5a3797d7bcb1c62865ac84934eec07b84df0822f93a651ccd887fe49fa48671c3d2124b55d4bfc861968d9c9d184cb43fdfaf763dc9743bec42870aa3e107be5c3485466143e04d18696f6ea4d4753bc8fef2e3f2bf1de267b07b8a00c3950c3867a3d7c952ca474ed51f8c76d24231021729e98ba16db5d2535e44358b12b8c5ec98efbede1b4d43245c06ebc169fd3ff095a646df50d5da0b4d8cd5e7f27b8017dab32691a48ef9a680af2f3cab9cf06dfb864825c445075c37f3c3c6772b60709c1778aac60073c0c7dd45bbf0e15fa8764926f41bf4275ccb6eda3d8a8aa072186325d9629cf3d0262d133907be566109827bb6913bf517e63aa137ef794cba007598ebe8c5431020a6d988dbb8e563771856bd8380f1e4d603285f15f722a41a6d95fd10406ed4413895893257f504e9254e0af061cce1b8a532875960981a021d7122e73189eb0285178777fe2844d15d71fedc3673b587e206eed90b1b3176b45bbada024dc64b571f88aaa8d434cba4fb79d3ac2a04dbde37e6a954d11f0a326c68d6f3b2a1ddffd18808f09c9ce22f15799b44b21b27f4ab68df2cdd93bcc3c29dfdc7e6e4cfea1399fa2647a211be27ca69311107791e0271058324a829294b8586f314d911c9bafa017a91127b886e180ad11661690acfe5c2be7dbf814834cc38e71f224461052460a5e128083f9879a18fcd435f498527f784d368980975c7c9c7836bf1720b40e3a0d9d3cedc3fafced1b2e0133d1e531bb534d10d7a0b99afcff25de6474ee79900c7a82563b86637c0eee4c52fb780d1048f781332b8e59608e7e09fdc6ef6d58664b670bfcb5550a1578fde56c9a381796c455e71911baa7227feed3686b47f77e4b11ca2ec153460d434fab82267e9e4ccf117ddf4195168a7505e43060659fbe4c87da2647975d9011ba81951cb4be31bcc2be76c5e3431d4f7ac7c2514dd21143f4d52c8214581cb0bdb3801ad0367274b26d1a247919496ad82bdbd6fd8bb81890a319f78e4435d9ba5ff4b2a639f23661437e93c0bda6bbefbdca9aa6ba1db34fb3cfa72d125b50fab084bf447ce329048aebbc9b6d1f9ab98c3515e92e25f6c34431c854732ca99ee6d26728ee368de7d8057dc1b1d6cd3b8e173797426b3d1817732e31bdb8e06879df4d7e687c3d3f9044a1147febf73131bc0054c4a20143691e307b2e5f6b6eab9e8bc9e61d9d9f99816e1a5176449fddbf25b4ae498c9fcceb45f2d266fba05387baa7aa39eecc9133d9c27c2e622befb7d4676e6717f47ac77025e6a0b9fd164635bc9ff918ec329fddc240c5b8973f409c0399599b1f74fa83d3f37d244dc8d2d58ccb116bc8f526d2430bf13004fc60afa9db825b55129eedeac1e3824ffa9d8cfad1730ad5256605f6b1588a0fb78995becd947a7f472d87542c2d9d12a03bb9b710ad4b798a91ffac422164fce3c1f8041f1b37ad05ef5733e1d4997ae688fbc03c69aba86901ca26f700d73fbd121eeeb1e6347126d9bab72c40ebbd312946b08e32c85a890119030b99ffe86ccc233e96209d1371f8a952c34fea566936a273290c5bd88cef63a1356f531f5f09e9496e953565e0a37483926028b468eb98cad72bf3b14b1bed2c8d9b43f7d4f204c0193133c60b452044aa003ecabe2df88369270b71a0a45f49db06bf524c5ee0d79117685be10d203aefb8256f86a429ebe4229aa09febf7ecc72856ffa338f7d03ad29ac6d96a39eb407b08b712beee938916f0194508660b5b02e04bd85063a92f890b706efdf484b37895cd1a97599563813b92530891bb35194af0638fa04c9675a839da5ee332617f74c6d44994d37c2133b24fa7f773332f1622c5613d79cb853787db428e91dad5b40e3b9e027514ceed5184bf307e51c36e279074884c97c032ce1d36924641390e1be92cfce9d1f21bf062d3bb2a94906a7f4fe112d41cabdbabadc2469728b6e8ce5e719d845441eadc8c75d54c78fd8e2ed71598cfe1d1088556893862457a7adc91137b22d9c0a1a5477264f7921aa25b256b06f74069114f0092e5590c7ff32bcdda0acd43f44a11d8b24b1163d966fbfb3c8eda9f075ef8cbcb510bace7ea11171afee8da5b94c496c02d6cf4ab0e7c8ca902e1d9af7950aed39f5d9622cc4c39db98f66c26e986546d5137f965f2b69af35dbad5addf49b94bcf8df6549924006f7a6ad00d2e09babd4eb34993d77b14389abe76124c3ac5e3267297cb27211c0990cb2b1f8ca7f6bd3735b2f60a36f192f50fedb43d5d57b24c0eaf0ee0c87f5161c7950543d96d662f995b5e435ac5fb1f5a3a56a0965ada3413989a87fe7affac943ee63c2752da4652a865447a3e5c21f3db5c15eec7e0f0debe1a9a302a4197302d1bebcb93db58687eadc77457fc59faa1c0ff74412f413bd2840187cba48e4c1e25901e3639e45d3fb23c82cc529c001888fef980de6bf655990ef6433eda841fed14d975b0c3c9bf60b09f9e9a52d9530a8a58be456c15271d4d36525edaeeb46ad15d7746a1520dc1c197d3f977ee1ecc62d91a45f49624c27fb2ca9cd4414797af6b82235312e3e7d872bf798fdbc3724e21039e4932c2b5bf9d6df643704ff6e400199c4befee82d609a65efede1f3feed024b2cc2dc5c4eea73b7ee9a7b045231a50c1e1c5220f5a1d443ce0835162a2a8ea876ed039fbe8710e9f4441c81324b85e21dd0a630ceebc0093c3fe2c46af01e63ead57f3d430d25addbdf21a0a9ccb3f3a4f4b79a451780addb0f5d9bac79696998661c3c7a5cebc9e9cb5dc128c54eb941d6abfb77e5c0d3f7e3f1e85d9401a2fa18726d83d25c2ef0d2a6d0697f91c3dacc3b2280b68f5326b33a737aaf116e5497a175eff69af3bcf3c4f267b0be5aa02d93df69c86512c9708ad1b3dc7a359b0192c6210668c2b0ea356584567c6cfdbf7a44f575bea0ae77699ecf1285152d6d0cacb7d4bb635697881287253d841c30ea51cca30d0d96f70226cb1c892234f886167555fecdad18e60d831d7fd6474d5438b544f76d3fcd4e04517b34d8977aeb5bb2597ddcef6afe51d5fdbb9179c5419aee3f66147b66960133e037bc17dc56a6f0515cf154c00fa8e7ccdfbcd3f90e63f4a7a9e8a5c432380ffbf3370d5a3a80f14541d906bf1d7d9f02daa4db79bd1473867e6e4a36c22ae79cd9e5b37786d94f1d74cd1d42e58b71781c57dd27b06fdac076e7e7d252a19f22bb060c04c061191dd5593a2481e248b84880735ea29d0a8182742620482a9cde3f19dbe4a20a17bf401a7dcbd506c862950553a3330123dfcb59af7d4050a137f6676b10e8f01061ea3861b047725e012aa0b5277a4b6913da4e751f6a0855b384035ea840c8a906e25a0c031768b8e8effb6e217ee9938aa96b9243481764f70f0b01077d0a21a931e2cc270887c225e92c9d28cd1a1063d906ee9e44c7cc1f59d89bcf0986bf77a3cf4b3ca262a293d9a32e7b757bd0d16cbbd3c4a11d8d9a06c08b776c6d169a3b0f997875a87c93913fdc0647f0ca984427aa27b1bf0033d9ba795e46b1c1e7ee054827a7ef8624aca7c3509c6e9f85b6e5f0c15b7a9374754a703f661a855faec2268343f8bdb6944aad408617c32ba6e46e7ba6cb3fba96689fbba84cee883cbce87bfcb99794a50b02ec5fbd52dbe61a7014002edde65ed8a568fdc1acd571d8cfeea337b9f827a11cf66a0ffbe5818cafc661b20c8a051b004001649a3d92b58d43bad6204dec732203bfc64880f2f686904b015d3bf6fdb95d295365054aa188a9510ef6cbc0bfbfd43b4114f73bf5fe79375e2c0eadaf2d1c6dd4268e733fae5100d4c744512c089ce47a4f369c3b73e3a61891fe4c62e65a19158a93e34b8eb75991e2d0a3d2cc4165fe309da84df9179fa9a1a8829a4ca0f86cab70e56bacd62501482c4b5adc038abb8e7d1677bacbc2fa1322aebea9aaf0943c2025ae85a0bbdc131e48965b5b0494ff5a36d4a056d81df319b1a97222efa56ce0ab232ac7902ba9a8e45dbb3659488d8b8fefacc464cbcf2fd50b5de3f390d3de6d4687f7668c82c42baf4de986a9407a333ba7d8fbcc0336b1815723ec7f76bd92e349ccb3aee076451ab4e02206ca36d5250742cbec0662988b5ae77d99798502cfef61cb118fadf377b132f1c7051b628318bdf9247f20cb9498b291bf1130762d33561c487846a1729d5d4a388cef00669a04689663f2598995ab8bfd6b631e3c872c234f9bce53a25fba4c09e0125d251d7548955d7c1b6a6a3e03e830cc9d371b574331e05a8f228daa18b846e9bf1050a71cff40c5abc72ca14dee7e233dc84d971ce942ac65048e75274550938e28958e006f8b34678194540765d8f1f53814d0c2e1bbca0b16ba0ec2383f3d02899e6f82f96876995e2004cd1a926ce514a2c9a802e04b94eab516c299c3b59e2d26712cc8b1baeb5298a6751f0f4c6985c7c26536b6f95e8dd321fa658f4ec04db79ee7d61ad1539ce63d77e1f65b0abe294db44cbd0a2d687a52117e05e624bd8b860d808f187327ef2098b1454b99db42151def008363b774b6704113e53e595c488b01f3a9558ae16208cca0c3279826a59f62391cb6c3003f5dd9f318cc09a32c353576439124d8f0e22cd0a3a82c92d5a0fc83a9aa072b003e0d04608a97d6ecf9cbfd247166c9f30587020c537fdf3f58468011f4456c3a92c96fb097047bfe19666e986061a37057940e5d110117575cbb513e553be6b0fea938704dc1b3af086e899a1eaddd7ce3bbb48d0182ccaa84e5a472b2af3c68a54a3de182db11f135ad5c3ce6fe73b4e96175873440e3d1dc9853d0aaad982998f46e97fde41204e23329bb9ddccf1af0089157827f0872cd9aa07912139d9cf9842d3b50ef3f678e30993e96cccc6ff13265469672cad52b859f5f4c0b7124ca2f1f56357ce6caf332b0c22c18e2aa839c224557136e0d484ac8c16834f150eefaa5311004f000e2daa0da6c942f59c63a87a0662c039d34e0d13ed33741ac8b3cf536f04c71a608a86095ff178c77b6a10a188819208e168374aa28095e197dd4c99c944ad669030b3df7708e3fe2bb8af713e6ae2ae241c3782cbb0395423f998a884edfe85b44dd3c780f15006e40a0e03aae12228abf26103bec0cfb873784d9cdbcb1b961cbde059838c8f96aca98b6dae0a0ea44d9f44369ab4d915a872c09c84a2e600cfa9fac5c62bb9ddaa8a58ee552344e8d11b399254e20f9c4fab22dcf026de81a62ea0b73ed598f9f45ee19b1971fb6fcc3f3ef15a83652080c473ca8ed6f08230fc8899f04a61c18b61f3a92bf495d6a30b9b0a1b9e77a94588a691b615253fa9ff7a5721b04e301dc306147bc31b871f4b90d41ad61ea6153ed0aef12ccb11bb95bab5eb10f1d6693f5a3dd2dba1b1b2d9afddd03735ae17cfc504decf385424491320c899673b3a5b075caabaa19f913a59d56c7898f62d41d185a060e0e62336c12c299c68f6b876b7ac2f476cdbc5afe792133dac784d9edccf8af487ac318caa3729f59be4ef15d6f5a409f06030a298abc1289fd3b7c575cc461f14aea042f78e27a78f57e00fb6ee466686d4470beb668b67654367a5fdab6d4fac96c15f76c9acafc4001cc8a487a651083895697a01a6dd6a0d66a8780dec6d44ca62539354f411787260ccdec2178d58fadc29a3c66e9690cbe815458e0e76806500bc5cdb35606e40459e38f3a82b0aae15ec9c9fbab550ca3180f2393be2730769569f2d06e8b7256bf21d96a23f8a757c208742118651ebb43153214352187f4808f654f60d97938173bf182525a8c8d95e8a8a1e59133df40cd557422e589f2063200871d516e7d464bfa0d9484c267056c1d71813ca95bd57ee110f84c4968ec05c8ddbc786df38f1cb959f9779a46318995e2f269f3e6bc5d686d1e08f39d481ed8224a8250495aa6629dfc3096ceab1949a7e565f6a5d3eef71efe89c277225f872c0dfd3ddd8df7edb4792d72d20ff61e34fee671ba4261cccac7e2c6190223a1a678268e99b7c5e7aa747151dc87b1fd42a4f912b215bb2c114cb48935a7f0777b8cb78d12a1e891d9e0ca9fcdd13da05c0b7e4d181a664154a3d20b5d50b5989c10117bfa78e8faec90b442a8eb9597686ce6d9b34ec76914c0d6e4ed3d7cbd8090d3a72fc957ab4cd75e109cd062bd1749a3f53ee577ab15b9d79cd4d57053b6e26ce012c1de4d0fac687d3bfd15bb33810ca8f005cc830f9beadace9be532326a6e6d46eb5ec5d4dac43c87e95867ff7870a2b95983b7a5ca81d2f48d9c4e18574af49d21be7d1d7e6e03d812a599c1f5400a1adafedc5feebb4bdc0e2e88800667162cea660966e7b814e5d5757ab301dee8983723dac7c3ad83e40f62d6bd81dc041072d76302319850abce50982759f0b865e9943c1bd4cb6714416f2150b95ba4a47fa9a094bf67d1f41d9fe051cd9b1191f490aed2831101da5d2817cd02f5282d87b6057749ed9d1b09a1a29ab8fc3650eba62b100a4e3b2a183958ff26dcac7b97f6967ae6bceab0dcfb75a032adf056c6015696641a4bfeab31e68017f3eafe2088bca4617fcfba0bfbb58c3cd486404b663f15139b2b6d8c277dc8593e5c5184a3b6d942e77b4b6b5457019ec79b819a383780e491c1703adc4442c2f4d4646aad2b186c93290184f4b9892a68b82b8907bb8f74d99ea7012119f9c0bc47c9b43a2199e9d8a566714bca4403e784794c990836697e03b99cc792bdeb4bb38e2ac53fd7966bd851856c7f2127b61ea2300d5d7da0617247c2a0047379f9258dc2c7f457b0514102f5d3d06e4e183486d3bbc042dfc9ad09e24c984f13c5baa16b287fe78f762a36f284ce044fc54baf51e3d9c4a392dbc654aab4896fab492b867b1bb5f1f71f4609dcbeb6072dba574df5500067459d750750ff2bde2d77e0d577426727e726346a50cfd55c19aa3e6d82cd0d0b0c839b56d1bf1bce04037772446069a9bfed274acaf5d086ff5b8f6592d08e7a8fb99f2574c8b803622601b74dffde638a9e81ccee1ff313a6ce2dcf6aeb9098fdef0952c4cff51586bbc38ba5e16b4a078dc7271220fa7833508bc6d61918e1d1af143746e7a4fe965103c54ae05269f6171eec905f98415a59d27fc4990834a149e1fcea04ef10d3c9568b446635e30317dc4a97726e17807b7df38a61f8033f2fac0e2586905855ecd042bacfe5bab10eb4127cf8a06a569372ceaa7f3be081ca7a26555ace065772ba3e398347b0c87e229354f14b55183b89dd766c3418302fdba682a7924a53ad20dd630cfc594a832c04af6a2adb9a9894d70cc223d26acdb0e829fe5462b3d0d3693e47caf9e42630ada39c85bf30364f25b274bd5f9498650d98713860ad7e4986408468a8962eb2a98f5ed9b10e6857324045020202d66cf3868558fbee758852674bc8ca79e52a946e71628540a782febc78b0d29520c3342530aacd4761bdaaf694d6e3454d69f066a7387bc2b3b0a80489a9f508142d5611d14ba606d0abcb013e85f46fe11a5e78971b2e1de09698479bf60cdfba8b720c9101c20b4449b8becef650921447078cf8dbd52f2c174ef8ab2444ea5be995bdc6c561f2c979dfc43b8054f84874966b1af17f90354fca14dcf62454ce03036aaf2695e30ed17c9151f70bb9b82093e08c58d4287ffbc514663bd9770e5ebc7b9e5ccb75de87da613858b7d5edf706520e98b0fe3658a2e7b15e96693eeed7e482e1f17dd034aaace70313d7c11b59dc8d52ec42ea8045b9d390fad6c13060631f830c61442f45e69c9bca5cd7695710b8518b5e23d19f34f8c922dbd85229883c50d308be8587cd482d6ad3d8fc86f37741a048757f4bbba5991cac022eb430761f9539cd9284581fadbceb409db64fcb34da46ee9e45d68ada5ccd99b0ef721d2ebdd55a0c7cd185c76bea9f7d5108d637a41d684d3658c616e63d4695faa7d419368ffb49aac7bc2ada84aeba26745a16e441090cfae4435c6b5d81182105de189154ae13077d4cc37bff3a37347aa9579371c66007ec7ba34903311d404e378eae8b8b01cb6efc1f236f4f6ced5f70d9d2b37819d5d9d9a0b412d499f705e6eaeb227267f16d911d4a7523e1319697d7a764f87049225d67e50b17413256e2a1c2b3645307648e6fd8f7710b471352698be8c2bf4dc081f6835863c2eabbefbfd35829e6ce5623b1422837aa06b4135b63ca4b4505ff9bf14ccc61282ee7d3249c7d6a2b2721e193f8dd026250d6d8a5e46b882494f5becbbf51e12315353212e5e3ddf714367b68af6cfbf97cdd9fcc5ea424b3f16693d78351abd0d2e194a01a1f4f797c1a64940875c4ae43e0375a02d40c49a4ed3953523d68e17b7f739c196dddf42bb5ea9a376699e3e8a4c8083d634c0e9dbb7653d1cf87b6e924b2c1f98101c47db80ccc652c224bdca106467bd694852eaf88a3683e8d2bac00dca27dc88fc332227621e57a6504b4fb57c6174165018f500b82ac8e2b66b47f84a348b36cecabe9043e6c42e762b3a9741517a7fe254f94bfd00fd9d03e6e5cec817c8f763c5caed801281318b245c45f3560352f7af7adfe6fc7f6747903847eb471bfcd9d6e84833c8a5ef32a201a5f3b79a958e5924f2734f6d32c518793d1e2f7e473b38fb0261afeb78f0abd2da9ea0d370df3863c98b9633b4233cce4c8c6c2cd885ad41f264c21a17762af9e5203ddbe43a27851ef970889356e6176c58c118cd7740b9e0c90842c04f20fe9f259dbc235196fc332ce0fd89577233f9918ea4664937e44066f91e2ea2ef264fd7aa5acd1ef3531568f9b93e84c63cae4ec1429d9a361b7642030dc55dc26bd8fc6d3e0e62181ab44588860cc6a1a0043f776b8bcc148510aa398e0b2a59ad4237b99b8ab338a0e9bbe99241464d6fc39bfa07f2a088ce297296c4d92df3a452825e641b80bafa6c7f84354ad13085902473b96836cf153843b0fdb45db4e3c1718447a30b30c4fe19df12d5eefe281c7a6a808e0e2811ae3e1c50515a7790b86dcf267b4907a85e626515486c43e354282b578895e6047e6f5f89940cdeee9b94957f67289651df38838180ce90c7941961daac74f192c2d0fdf8c5fe923e2a616bafe8291af44b820dcb5c12373c187792f1f48ea0b1711af9527b4aae4376a360b346ca30af87bd3e6bf566699e9776d540c3b868d06d4ffaddf59e5e04a28527299281a37c4f6a9e0385499f01fe2e35ecc55eafc9cc006f89e57ed6666740923290a5395aa378c16f6c0f529089f2208e2951873f5b6449ebacf573efad312716f61c4656f1ccb6c50f577fd277adf9779ba5c62b57d714241ca816536cf8bcfbb3a7f780916a5d5a5038cf1e7df23c1e248c5d9635b69066d000827fec285d71ad11726c9d828b4d85441f292b549fc52b12e56cb9510cb85bd108fccca7101a7456dcb24085353f57c7e31be40fe39272845d7d65bd243cd0941d0deb34413f0e48d39014d92a9a7a78c607e28a27b1d59b53cbb6ce0c909199df5e18963f994545821b13ec56509a1a7d1a93a8cc742c7bc677f7c89b6c919ae4951cdd35f07a4c7883fa6089ee58f00595eae708103b538147f91870e8d879cbaf8908d816398c6c37bf84c6a3624c05e46b984fbffd6f690c4868fb613aece50c4d686513d228ae197dbbd6fe8803e24179381e27325e746fbdf4eebe5a66979729c05f498834962a27cc630211b7566d33af4d64991e872149d173733a7ce9ceed3507a2ef98e296302cd6413a3092b1a47ed15f337ef07edb214efb035797a69bc0c42c105f76819201ebd77ef7ebf0a794bdeec340741c1e83da55d6f532ebd214121c329fe11ff0181f7757951ba32594b45691c629f7fe5e5dd3716ebda89cf6e88475b9bf77e67dc181a6308cf2f1756411cf990173effb56a0285149b56546d0f2db66bb660b82b6e080244a6bf4a9ab310f002069942a297a46916cf20566ae67238409a8fcdd1df61dfed4be447af81851bf6b91e25289c8e9e8405cc6dce36a5216b158001ce79d85ba7a1b93916119f165efbab5e90c04e27f7e014b5281a42e4b29920197b92ad86314db66629b918b2a9ec41acf53eaf0df7c8f19fcfcef69ed20c2b80881ec8bf8bd29d8f0518c5d22ad2b8df088f88616254fe9f8dce1b5c9ab47b85c8866ea68c29df74b73718fb5043e03507133fa5b3e1da93bf9219c3592748a968f124d5e94f0e64114516e50c025267e78e9174c6ae57e298afe2519037a6b299bfd79649b3a5a2ef407b700797974c801be8e1780bc26d21d250c06bc1eb082e28ebeae8ee5e1dddd5c54afbb013fd48f67c6019637025b9213ca44223f342fd4e35488f1bd329f1c854c37d7acb5d7810794b5b2f3a20583c38ad709a12b6c73029a4916bb5f6410e07833852037f9f94d62d872d7d24bbd51a33984be70671a79b974620dbb607c2aa4b7db1e0c057e3ca3d1806002a217c999e9767869d71968638a5a48d859db15b5370ea97bcba5b9d37612a06d4ebfdf0a0fde6f9f867b3323bd0a3345223a526fdf3629877adae63b8312c5331f9a352da4bebd93bf5a943f660297089a114634b4e35795fa1f5ac32af677d26e27ffe7a275aff071904beffa0eacfd6d32f7d61d43808d9d1db2c144d632b0b600e4dff530bea87ce11b14419aed22f9b947486404493cf8a5e69d3403b833239ce7d362f11d5bd61c0064ac6915dbe68f59f035d86b7096dac51206e2cee00e4748ae2eb7ea3a45abae32cf1fb68217bf510910cf3adfad0a1924ebd73aff83f94487fedf5108cd8f60b36dbdc3f7b1dcd181cf2722a788863632de57fd4e961265b24c36d147363a305cd8f45a3d5778a57f2f4e3e3378656d60a3ffa1a9b9de364e70a2eb575482d5a347a3b4af237065ea9b4f4cf3c54f095c83bba2c8c8227a9bd81c37575d7bd41e9efbd6c972665abc0f55ee8ebaa404a7ef5ee5841f1a992b00cd7e030a51338406b848ae3935757e24b3780d0fe60902dda9243adc0151d67ba2e33c47a6a81119d67721a4cac3e78e4824dd4415e8c1ba7609d2b8659e3fe9ca509fd044af2b6ecb3d7c3f057e31dff97dc0fd4cf974bf162302ef7cf7ff6632a89c6cd368e7f08910d305da7ddb58e63446b14ba61b81428fd8b3fdf39036393db73ce01a3ce533507ffbd279a150388ca6b4a7b6111964b6c24916fd25a8894b08f88f8d169f7e5579126c2b4fea81f8ef030af8b77408db172d9e57bdc3855f2902b423fc504fa06cae09a134d04f410d0e10413d3f4c8d9732dbf3106486640078f29f5b4993ad977068b336a6e35aff4ad770913171e36042f49f2b24bd8075c8ed2ce8d4aaed41ebc9844a11321530046fb14bdbecf62a8901ccd4598df0fb257192a951f73371b37c55d07b2e0467de510704026e1be331954920accc18db0c6044eb2db4cf6db02d8f9a422a99535e08a9e87f246d240c7abe0f2e0e80c12721176ee9cc857171fe4557a9045d6770dfe82a6820d850d443d0b21299c20223acc3052a41a54cc5eac79108e01748826e9754d641519d13f7b3e047812f0e299503c1359a3e10d9ecb3378ec2c2a49283f96dd2a0f00aac616653de263ad2e1a5340e4987a628adc783db837a9aa32245832891318bc009979d29e3fb0647c905112903799d9f120bf7bb89e7a645d94f9bbc33cdd6da97cc71d08b9c0d37f4f2e500d64b085a658021f218e913dbeb63646bc7170984af1297382ffcb2255e19420e99a75e4ba2f39587bb097ebae1120ec760aa8be0a76c67a1a1cd0166ea602746bcb935f83f3e982419c357faae5495d5d96d72f7dca1631bb4775688ed7e8a0e0d2fb6014c58e3bc28a498f8a38338db312b53c6b28028a4318cf4a027e3c3df7066c9e447210cbab1a46319f3f4e258d349f70b541c438c31c99f732b99fda6dfee6edff5a59d26f3b33acdbea0694839f7c2e64583bbc91f95abfefa510a4bc732b4f03071774ba5b7d4a5c40fd0499a2140dae66cca3969b7f9165e6815a4810711a7c0b5a6a29dfc28620aa7d4799cb800796081e74e3218071a1b5269fd210546b5c7387b1ee3fd410693481a63064263452a687970e8ddf82214cb9900b30a39d4c7f110606059564639f3dd2982def6916c0db43e6a34920f98620135f19b43d88b1e533a14f8c5e6c92abfa049ef52693ed71bf324c37f03d24d0695250066ade2cfe28f8e9288295c96b86d20f4ddc8be2dd10d27d2fab746e834c98f57a3fbaae8ff468a92772e99a813cc1d3faa92f01a73d172d46f26c638273c51d27223d00ac08d5928aab5ca147bf55de4d55faf5b961d303417781cf0d21768aa02020ba8b4b64ba25199ee6656f83796fa89e9839f6a5946d252a1d012996c4b2f345645e921692c0c6b6be703aa3c8b04fabb105515595ea40fcfb12654f4309fb30c1f044f73ffd4d8f952e177ef273701c60963ebcdaba05b2827bb0c51af2e7e2dd6f8b6412f405ce9ce4d7f48eb05f5f9dc0bc8b4264a858b37ecc8ac232ace79207c49911eaaf1970c9da4d9a83e3ca3549e38dd1fc0b4f39ad940941b8928b4c8ae0a6ea8ac73e04719efaff87487978426ba9f9b9263a146ccb26f5537c485b8c4ac27bcb637da05a4c2d0f7b0367090d5df91dc9550761a2686cdaa362b087ff1dad9bef99bebf828bd9ba3af992771d2d3d6da11614cd7c11f4e3023eeb96e4d4d009e7773b6e1e775adf62e11db07193eb6580d138264c4977e241f463e3fbd71615adbf93214d952c049de469fdcad3b3ea6be420738d2262fb895271f8d3b3e20254c2630a5894aa33119d2b40910a90990f1b80f12cde894a3a18b01e8460ea2142094ff11c3930da2d710fe5206a27e85d79222e5623f4bc3ff6004f106e8fd8436400505193c75873f8836938e86f1c6573c778a8cda4f744d3c6af50c34ad0affa07d00c16f01012acf1aa6b85da1abe5407baf9eb1c1ce6f1fb7cff63641038f293d494e4af4eab9af0f6d14d7c990a449e9839820734d2fcf20fdcae2ece81c4c8730de2cf0bffd08e2a81b62f0eaccabf7f7c5f84f84d8022b3bfe19902f1403abb275ce9ce79bc2e480c4d702315a70aaa1a2f0435fc2699be7d45c406fb51ac050bbaad4812a0dd2c5c8786d2c181e29d4c1590e668690d0a36857f8227ccea7bb0ff1dd35a77e91908ee457a87234c7edbf228db006d0759add237a23054d6dcc48371794c551ce3c13e175a94393f3faf9feed4c4dcdd19f11e308588fa01103bb8ee4bd5b4ed04cb5b049c22b4b3bbbfebeff48368ab1a15d56e29efd21bc4cb6642e59bf6818180a796459842449f917fa6c081d6f1c53c0cf5e86d68fd67bd9402da655cd2ecd681ee0d79dc338e6a0c3e6da19b54fbf8969169de8ec58047c268597f54a50c0c69a0251740bbfdaad6f2bd43b47663c51a82e23fb8e7bc844ff3a5a128d8e9583324b824c830ceb71f3575e34914b108feb0c6101d6d3b3fc8f6f1ba514d1c6ea1217a46aeaf0d51ed0da9b7782722881cbcefade97fac75889929111dcdf34b81b2c21afd4c609350bc885e289bf76638abd788488ae676a08ad45c8c5c9511d7c159e2d227feb26a3b811d53017650c5b81dcfb4ee71accb752e6736f5f4e04ff988df4d933c5a72d503977958c7aa514d70ca51808d40ce4abf536ef5fa6bba34a2389f77a4a38ec0dfaa8675f89e6ea34baacd7e9f8d6f06ffacad503771039254e88dbf1abb123c573bf3c061d14d4b9d4cdf7d33f374ca0f114103a20a18134ceb87aff9102947d27e9c863c9f001a36942dc29090f6c83fc22f935987f6a0c840e60e93f2b0969e9048b4ccadccd08c5ace2235df1b88267853358781942a35da162d7d19736cbc47d429850db0bae7de309fe685ed7c1511c1b645ec8eeeee88b2dc9e5be5163274346a8dd70bade1e240b6c48c0cd3fcedb173bd89d798684e1d06bad2356e852812ddf4366521b0db3f9e21f0ec47d85e31ab5a591ccbe5ee26ed1ebe638a0ca76568ed899850ea812542dec9a2538623d9c6d7bea356df10e0ee299519796cff5b2474c8cdae951b53d6ea95aee4d673c78f7eb8fae1d00b33f618608bb814cf4f7577ddba9587f11fe1a4a952356fc50da8ff3d001ae267aa37522703f5a0920f02b952619df56f41a8c19b995fcbf2b72dac4a19beffea47ec7ee7373d75eb6596656b69d83ea65c18a5d20c9fc26a4fe4f85cbf632f9295751dd99bc66afee58034a0c312355382956185c822340db7abfe96eeeaaba00805c837eced1f1329d63c811677bd2b3c97f756748eaed9c72c34fc227473f824edb4ed8fab9236726b9145edb2edae20ad1d859369c656cd153f7919620e8a540fde4fbc6195e1b2aa574f7701bfc1f62d8c68520e79d40fe6947f83c5f590c230a0b9fc53c7fabe8491ffda41e7c522f187b4134814dddb42f9ad7dba591271d837ae012aa3338aeb92cbecce6d8235e9d58769e9e824b6b281b7809e323fa91d9dc8dd3d50b6a2e7db0331ece4c721fe5bb157dd7eac2700d46348b9b3041c9c9fd6562756d132946963f7eb5d851b63bfc312b320d22025096b650dfb12db155f5a711e6ead9783bbd7021e21f138a392a4b5f2da17ca8afdf7a0f68e64cb409910fad769ec4d269ff212710189ea67e49e45416f234307b867fea0613aa0f5239c688b5cbd6bef84f0a7acf4b3d59006cb9f1f50dfb5b18258bf1bca33bb3d0e61d4de46293067727f8d579a6f6ee40ea53e41ebbb46cbbab2ab5c36653276cea3ab35142acf8aa81b74fc929e88a0c07296a260fab4a2f58d4779150fcd28973019e974483422cec6dd5d7d9c3e9603def8ba4f6c2bac6cf4bf221811ec8172f01106d3197bbd9198d0ad3704bfaf9828b5746009abf61556ceb587e84fbd3703036079b37d9cd86e4f8775b6d47cd327dbf62f358c87eca1ae8afe149db7d23f6e42d1f99978ac747495f926eb876a425dc506df173a912da9b322232bb68511154fc40a6048d88abf1c602b634d4d3d78452975ebeab11e080c70f1f22105c6ffd24112c80216bead25ec67e8f51a8be03ac699da9713c73a2af3caf953710845adc187e27817cbd24db0890c50b9f03b3a4856ac31ae6a0501145208a007b48dfd6d6c92d428fafa2ac22a9f480fb11b7b30c3163f7dba0ab442a5e96a8be24b5b4d59a163e30dae06572b4ffd6eef62c6565f73a6fe0b077bf4e99a76cbd2fe10c8836c545091375da2b74711e6bb0d182749ac7cb4cab64694238e0369a7122ec9f0b4801bd854f27d482c33bce2de12567397c3414d796c482b0977efb146d48c63152b2d349dcab7b73dd701887154c61b3a9a470ea91d39c4573ba410854275528a25e4f6ad7f05d9dea76ffd3230d9e29cc1578f135deec69489a33d42bbc30adc59ca0f9c81fc0f745492c594eb3217dd1cac89abb989c6977388d2dd10b93849fb574543b94de4199ea4f9e76dc9e8af506fdad967d2517ebefe728c141bc7753fe257c944d4b9aea2f5ddf40c174e9730d55c4201cdea0377d82d03d4b5d424a8d11c8dfe496fefafb8834bcc75bedf85ea55b4d606b917b0e3d5ca21f7eb369fd5e2f2ad29f370e530cf3a57efe3e7b07217eeb93b6d948cdc925e7873e81bd5ee7e7a4becafbae8f2887dd6b198018733a2b7cd94909137fd27598d62fa4622b7ea2cef139ddd2dc91374dacadd653f2e57622952c2d76a85b4f2ef3869e5370b14ed70568771a00714a41136c633fb46482f734260029cc405a233437341c5cdedc7e5ecfabd028ac550e4faed8a2d38cb82eaf07543077f2c181f1da463fbda00490e75c6146500ed8d9cb0ba5f05f59ad00c67d017d37c9213f09f7f782bf7aa08df9249bf5944fdfc19fc6c086c20d935a0b7c3b6af17862638a64c77fdc6038f16a1e641c914d2d708bfd3ff05727d722f0456c013ce6789f2ff6a16177867dde9300753c6b05f9c77ebdf826f1a06f6172bb0cf58b5e6ed08283c699e43402ef53d7696ae7de096ff2ef15df53e141917839eb207227573945596142a49bd2287a40a960c6f3010a9b3c42a95b6f101af0aabec0d0e9276cc047e29a965bf2254102ac77dda4aa64539aea17f22bddf1cac6b5a63541bf3ccdefede29a49fa2a53e1c3e3b4c0b40c6cd0e0efe9c2a9b8b0a3e54ea165b9c1375d192feeb5b1ce1747be10856350c7b9cb67745c7871eb64cc036d267500a8ea015d2d93769a29a976bba26095df7bcfcb7fa1d0d065599959f896be9fbf43bb8bcac959378e387fe97e38d0b87cbd467f36a6ef5ec7ed7acb577338d5734af04da8917f3867465c08c39e63838cadd20d2a689785c90f8e6d137dafda043b55f78b3f38cf5cf13cbb93f717aaa35a765c1fc2fbeefe53128b133af45890da7fb84ab662253525b5dbc40c3acdb3701d12798d602e61622b61dba642cc8de12ae261f7d35e7fe38acabe1da0417f2b148e7026f4d979d27cf878cb535e2364179fa632ba1af45008f639ca31a75b24a38dec5b08353810c0e37cb2dc97e6a33ce5ecbadf97de2e1def72cfa4d9d6b342c8ab4b70465ccc81ea4f0c9a2aab130ede34345982171ffdc656c6aaeac9340a5f3be179a18f89a647d9b10436a1698a846a0dc580afe7b08fd1e24746c239be3f21da57f789dbdb9747363ff5889d0554329258537d3af7a100ab64db19241df0fc987bcaaa71e325f202b996e1963794859fa4160145d7237ea16262144ba071d2f0eaeb84ee06e7666951a283fbb6ed0feb647c066ae288c0ba740faa5662138a39ab43b6a9c48702c1c91ec8545757c835d7351ee7c5082067346de49e1a3821959e8d42e526dcfce42b4b6ae55e960101ebe48e07bbe635ab637472208f676624e0176e4f965ed8f3ebba62ffa3fb615a2e82b2d0427d22379df851b35810be4947b2f7880f7c04ba5fcb837c38aeeb47133aba7076fb3f67aa9a1c4968995a9c10e8552fb58195d255e7a7e601dac77231179994ba1d8501e7d87e4d3acd40d3b78bce09fc3e738d583bae937f32903ad4936aed6fc7b9aa2cff9e2b74d9eb0fe610f2f3a5f82521c02394760389855f694512b6c095c78c8542820a8a8db08fb009fff9ac5e8d0577ade29057381ce9728b809ec0ccd38508f5cf3491df36334243a96eaf1c852de1fc1305eb1ed4cf384b33fd676f15eb2eeec904ae032a04497a8094b6f8a4de13102c21d1a84fecc0d67cdf6be685489326a0184065bf693fb02661195bdcd612110c2b47d80a1b18c13b261e7ce9bec69c5e6ff4e32147be1b917e3ec3ce39a6d60b71bdc47e0a3fa8f3c22ad67c69e8cf6fc596e01e434cf2b55c366fb7700958df9c66dbf084348905636da6b00f97576d72453c476a629db01971e2d2683b05a0de1db40c27566f5ac9a79b2a618d28553d057e4f530631faf7b6af8937c2dba12f2ac73439b235819f128c6318ea1b3831c6bc56177cef98cb6f581ebce861e5c088589fa54c4edd2c3137d61fbd6debac11abd88b58f7876796b22b9d025be961b7b7a9ba773ec2aad8462601d92ceaeefdfc1f019549fdef25bb1fed6e8db6167ff0c9945d6642411f110b046d17cda3660dd1c9390676728af7672ea4f3399816d9ba0c2b735758fcdb786c72b2f33abb83c1d0be9222c8575907af9190299fec7e94c8da58b8da6b1d8d377f90a465da6d20c8692034542329f332c8a334308ec67ac6b30eeb4ac2a462ca62397f2493380f7c60d5b8805a837649ec200a11529a77ef0ba8e835cec8ef8585e20fc0aef74f8f4c4f81426179480c04b6c01eb579bb7e81b4ba0bd8fc904c3d8802f911d287b36811663575a8916c20478d586c1eeeca3eddb6446a2cb4b31b4b8d2743e35e4646af64efcaff517a3b5786d3786cca3cda2b074f352533ba1dad9add4236baba396ecc0d774aba42c26f794c7629506cab45bbacd38e30318bc672c8dd9ce8074c17bbd2c7cd1030a5b04f0a6557a851a2d43af62b7556b4eea73038bdbb8a4fceb7dd5993c3f35019f2211f4abcd387d1c0a2290c52934da6a6616f0eb5d2426ecaaa1cffebee169a88881b6b439fead5de2f93158f3f03909c0303e8c241044db835847c0afa6727fe172c70681b7a1a34be1792f2b5d31acd071be579e5c63705873bd5ce261ee92b076c979692b4e708711b84fb7d6930e3633023b7274155b6d22db0028a6a7675fbe448ade1211a24b8e00a906cbffe6be76ede2e3685ecb0378849644ad8d593c4bcd9c39af306cf87c629a0cb6e0fa557b8f757881a7f9416144230f28c0882dcc365ecb1952bc1c1f497128dc44b6bf04972b1f8dfa194acaa5f3f6bac2d24f830b2d5284291d872b6ce38133d8fd119d9dfece9d4dfc2d52a9e681c2637d332c73c74fbf254b2833b22264905ee27bbb92393bd11dee2eee1f7aa01e45ffa804780a5d47356aca6aa3b4dcf0b56acb8b6094bc7a17a4950c585385523d3533e38130fbf334c86596c9d007517a0f2c85db30c2e4211d9a894bd48af819f9a625a477b8cd6cb95d590f3c4f8d92658bbc48474e76da8115be4fe4fa6d86e7e9f5aa7be9d23ae5f9e2c32276c4bddd6a44467844e6c16fd6f1d92f79b04fc843c6eb78b5a0c922c8e83105319a9ab0cfdc003865dac70abfbd37da23887484b3aa5a526f081e5974e19430eca08b34c7b1eaba47add3791d6e2d86cba15837f16f5f9d1f5707f9a3e4e6005ae31717aae69994578881ba6e75afb4cbdf4abc65334fa95fbc5f41067671b6e30a1d91b44861b8dc22df1a5a2b068a656d8de9ac398469168f042920251a5eb19682f6f012b8d11d717df6acafb15cfdbb6b1d773048e8f2de996d60619ad948ed83d730cb8671d8d89c69f003eec0bffd103e77ab41b8451e2d4811dadb3c1f70728ce95a2f649da4b71f4c95b66cef752a8177c7a24e611510bfe74baafd4ad0dadebdfa4759855dd9e36f1393e5b6f57fff094000eb9f97c1b2721cae9a69da59325f07eba13bef993315806e4318609b9e642debabddf6a75814451a3052b8766abfcb402883355cb6c5c88d2efca61c45454c8603998d7eb6bdf0e3ebcd1354d2cce13e56d6e8f5d29a7ad722e93485d1fcb0129b8636d7402fbe0ae791d2f4ca2bf40a7ad49c31af3c8d2d71038de27d1711984c624c64456b099921c385370d7c24ccd30a1be0e8b3d25ef0d924b5f670ec436699becdb28fc41ba950b794a4b6c6aa8e4944154a86870d103ab2d016288a50a8856aac054ac91c57b7dcbd629eabcc3bb7e47eafa91a67cb7c8b765eea94f12e86e5f21eddaa3a7ea092cf029fdd733d78fc2f42424a60cfa2e78ff02fde028c09be0776e82fbe3f92343a90a56e1c65be65f052dc3dc16ab15145325eb327a14ddcb5b3329b934d661a68253535e176a038c2d0402c834d98d60b32b69ba6a0e5aff01437e3675ccc85c025b638d6f72eb44729214478e7b87015e3cc39ec47bba0f6a259aaee00848620b8178919be0d0ea804f8ae9653021767b47c4b333869b4614c801bad49a97192c63add9dde67b794d2f03577ef23133872d2bd90f675e0244a9bcaec04fd2d7b7db7e8f8b38b1e6d930c543cc36c4d9cb1d8f5f73c2814c7cac03e1ce7d7dc0fa271b538f26db3cf20133270deb8ddff4ac4524780af78a1ab47e1664ca74c9224cab21f427982a770b43bc1c2b13570276c3f18ab8438a93186764084c307e8cdd88afd9831eff89f892ac1a5d6a1c379d678b4b05169c5dd8145ed41861e2da436a110db0967df8c2475dc6e339461e71ebb09b1deb22e2125429fcd48a0271ea8ef211b07cdc2a92c0206efeacae3ad0ff2e75c6d71fc4f6aa535508118d764e52108d1a64efdb0103acd18cd78495beffed11f2e47d966bab64bb4be569167cb8ecf124a8a5af367f319ddfba1e1694372cb76a8f74451ee85cf5d0b7789d312b0e17a3511a0e3e740693cfd357d696563188a99b9082f1163d35d53badcf4ce27ed74fd592f891da4cc7374f2308e46d4caf477c06dd85f2de6fff14adf41034a30f1555cfb219f841ee07f0306e5491b06f470364dfc7e347ec9be57ed2d2fdd9a86c5ce74e71c1750585097215242b7e2d8e533a217062cbed68c01f209737dba73def43b67d5013a64d4e39ec1d3cf79ad8b4766335b244238213e2524b46c71087abf1271d43c0e12b0965807111b8d8826d2e3be976cc248e1d5a18c4c23c75e951afcf4f4a94a9752c420795de42214b9b0993edbcdd2006f3082b319026cd57c3282e818ebfb969cfff82e8b62632cbe51293af149a55fb4958aab8ae7eb9fc706301f789f1dd346a87030281ca239bfb7fc088e6cf1b6c2a5578881a641621fe1128843d812b24ef9c93b8ba2b298cd54763b99582367287ada316db2d9c6cb84908fa69505db6cadfb21667ada4a19989f2853dd440e5b0728725d0e0e3e7b8aa6b5eedd55c383f377cbf68210023ac34f76512c4230d0f86b63ac0cb0ab383a5bab97ce87203f9f5a232774ff6e8d16966ee3014cc0b68b52717438f951f18dcd5d1d055f2b83fa0f9f5706ba358c1920d19739b31877ad2a73e6f4d27c33b00cd6c9ce892dbfcaf02d97385663041fc1a4718763b408c3d74ffa792ac9ffbf624f5533e9f69cce5e7d28309b5caf19ec9847017fb4596a129b1ceb3ef8b5e521353c0f63d0ad4a538ddf52c11b0562412f8139cccb0e7f01d28900de6d4917c94412a33a5b9e61c3eaab1deccdf4035da2d251f49de8032ab65951d411742e54412ea44256e963be41422ec4981b40c566d0443c82413c411e55d124fcb84cc2fc45b52fd9953e6c673d644a0f41e2623417e9d78d0ee9da9fbc5d6c7ea262e0c709e2b9bb980e90310d4ac98c0827287e25a703814f2456252676a249505a53cf4b07900afbed2277a0ea2ff6afde05ae3bc2dbe0aa6ae35b5fd3217099eabec4650940fa537eca3ab033802bf37c59a55bff419f4b77618950f6faccf01a7e1afae1843200c546445810a6d41c99e36c3202bfb73d232c6283a849fd3245759c3885d3878dfb618a8488fcc43e31978a26cf17e2dc506048c759784ef53afbd4da671a8c1cd642364c07400f792974507d2f5dd6fcc833e093c11fad86ca7b85e7f09109c3dea850f6579b81375d59235f57d5eb99dac1da7f8ee89b0a4878c5275f4c4523688509e6884efb51ec9845fa9ecc51bc8d6bfaae00b2be0549a3986ff05c8179e60dc33514478e652d2f60797184e5846dbfd1c8749abe6988a404b20c38e1d4dc07fc3242a0ca064fd6f69f32c82fa4c314b73a6261f5d87cffccb0ecf222dca5fc9eba2548998c1ffc50fb826097fdf8ee86c5622f2465033e70c2e997ecf112f808d0cbb6b59a48320ab368ae770494a0425c1d83591a2b214244e05a7c730b192ee27a78448fec86646f423aaacad9ed8335d7d63767a044b16704f55f6fb87fe8f51572468d71a5014bfe12777e9d9912b2f69ad3bf2b844cc1588332e16b0faf6752cb65a870d7319225ff99242a789d2592c96ba40ccb1e3fcfafbeb39c9001d62fb78a2cbebace943a5bcc1ecdc4026f3207162db82da30b946398e678b0088b3109d48a3fd27c0cd0cddc0093aa461e8d7a4f11020ba572c6b31a0dbddfd9048061b71b1303549813aa4b5fdb7c04f2f098c51ae48ee47551d95d357fd323cd57faca2ee7ac8b68929e66b6ece8eef17d99f900859ae684f51f57a7d72696678ca8e354a4d58daef95e9ee01d4abefaea06a9d3d8ca66023103dbe53761b6e4eafbdc7b1d9dc872cc6c3d739c65dbb73e29cf8f9e3b9f20f8ad3b89c6408dded0171a294b3933c3514d770849336387b3b25985ac220fcba28de31f40fcbaec54f581e0f01805a4444a8368ffe4f26d5f0779e2f3479a076284de3716d2c3c4cd7c4303c8e58822598b7f0619f4211a78ac1b9736e89bfc7bf5e2074a6cb6e588e3a0484dbbf160ae8f0d4addd1af34a43244a7cfebd84a08842fee5215932aadefab31643d4973f20c7903940e2648b71212a4dcfdc812e5db9d2187a3cba40077d841a99c634e54185d6a12171868747e0efd004b53556202323051e0e53d8727b6a51b99d0ffdac77c3702c512102d1f0fa6677e2788ea97a9e59ea203d6a712abbc9d7e9e94bb244c6d79b6085f13677b257d35ed9764b706e62498e1a2789679173e94ca0a69c26a70f2592d2b37376eed2775351c1b6fd19dc7dfe226f234cae620a9f407b550c04dbcb02a05101a21e6668392e6592a1f7dc71b1affdde7656a61b0cf04a70dfa4ab6fdf5ce170ed55efa5da870a5e6c012296dffc4ffa1aefb0f3efa8871f65b3f467a58ea27a2b565d1c13960a422a98a1493feb59d5b9f05b8c09f185fb9019c12c229dd5e467baa4f1fe6785412a7a1bca1a7df06398f520315d430deb58f326a96f72fa481588e4357d4917e291dc5c0bf2ced3dc0093c36cd3a076838d4812ea772c4efb1ac0b2b99ed73369ab1cbe6ef69c93a4a2b2dbb2588403ae52a7c27f6b8c997ca53afbadd027eeb0a0ff5a91d5625a4fbec2aa99d2d0eb911b61d91a53528f080a9e4f11421a2ac73c7553866e4a7ff0732c0a890e49a896e276d5198df4432df74bf80b10a30ff718eee8d548ee2c6dcbb269e2a0acc86a23882e5fe3adf283b44a82196759edc006ab69c496daa9724b1b6a8132e1462de45daa0ca384e29fc48251f06155d530d32c62417be141abdfcae45223bc63f94cd263df78d9edd8959e91181af0ce029bd7d6bd0df6c52ebf879f676c9f245f2afce420245a133636a7f7590fa167c3299b9176bd3956dd3d32dfa6cb0c35f9a422c9b363fe7f220a6e3e086011c5913cc753d4368c6318f85718db91087d28613a2c00e874b54cb94ccc98351673c4a01a117a7281e33346f5e560039e33c297c2e1e672e4d1c47a305220e3e8e1088129cdd2aa852aca6d149af12a41dd79ee5d4a0fcaba603fc21a9f04a04060d17bf982f3815ae23ff743df29a2751de7a39101cbe146b8754fc38249b6435fcaaafc8ccf67fd5f174d6eb92b9802b667cb913601f20df797f64da00a0137b9707661cbe38a4c2d2751ee5d4fdcb650fccc61981113e6cac102486267cdedac3e307b931797a7a2bee954b26d86ce8367670f040ff55759443acce923ec842c148b8346449656d4ff5fe1736e621f4f2cab713be0571f1cf8a4e04aeb0100ea981d0eecf9599262cf8ed359f3ad0ff085a638ec3322f36c9b0fa46d6cd57911451b1cb2b5d2b6cabb7595697b1da42d9dd18f8a70b12030a74326ae1720dfc48f068d73da051badebb3cf9ebdabe184f88288abb4ee7bcde9fd79d209cce22217960444ce70e854cab27cd17b1461a130cf6bdda74449edfca3ba9a0da2c6b85274efe9c97eb2c958911b63e33549312d9ced558a9c276ffba48fbb059195e285a4b43141d6deef350b489eb3ac17964ced04cdf03e2cd49ae3114cbbde042f49b31a4c72d94f9214d9b2fd9106d353502ebfd890ed2877cd67a664759695998172009c7ab16cec57f374f7bde7d5655881866a7b8ad0bd020bff51447cc9901ae7630009edd9c829d2982de4aa03b4339f367aed0c24e4f833facc3c74c238ddd2c466eaf1988eeb7f4f4e718bd1c552759c13af1fa1bbc476deda0b317f00c866ce5000e8363b72ebc4e28f46aadf05cc4d384c842838083d611136e7c4dccc972ae9d0a9d4174f98c0df4c458de6e05bc79e73a37666875d9150c25b8a10d83031d2b6c5d5c8e31be65a7b21b5350f9c242a26eb8ae6684221946a9787b56c4c93a1531030392233b78b9b8d505a69cbae51f0973de1d9c175edd7459ead5ec4776acd7e222cb7ae258b991ba763cc8f42d4e861648d55651355a42f5e1959fa8a06528f0355977d765aacaeda555b17c898fae3564af40c56fda2c994bdb999aa2753cad60b6cf15e1c55e947099ddcbad94aa1fd253abd75c3df4251e8e1e912f290657de307836f1254849cbd8e19a58270e97159d28a9c494bb21bed6de585760ed2b9df2bd16647ec86744b6e324844757b9e9de81452cfa96b52a67b2d95a6631466e1cfb1fbfab85d4111490401e80820d0f04504251559d314575ac1f999618bbbefd1ba99bf32a66262d1cda39c9beb656527e3344a4f56dc1f9f00ae9e63a779b86154d35c6bec4bf6aae59006555e7e7705da85e4d2755765d41417ed59be0c2f48c17509b0826b312528eeba800b4a675cb0e05851699435506056a67d2c49da5fb650c45976e4bbe5a53772802e2b8ad42f013ed6b9b0d8b46a59a144d47628884e4a3d6de1feeb25deb38a9af39e2d8548937e5d0adccfc9634697e2571a86c49034cc540c97e3542a250b3961acbe4e3043c60e1da53b8529a686f90af354d35eb505e2aa802bf6f7904d5fe3c5c977f6e389986d18db8d397ca9f40e4d0cdfd89e71349ead97c202f4af25eec95ea2f77178f88c75c9c95d5727fbdd16af0c532fcc4864e14fea851bec106976a6106888ded0b631628a5c904dde269f9472f3e835be2dd0b5e4656a1121651d751b512aad348248590ac86533050984af3d622adb9c77afcc7667d64798affe0bf53104bf2bc23d865966656e30b2324ec558285c5fda17c02965efca970caedaf6a939b78a498da70ec738e186ecc3fb6c56e862ea501c147eb19e795e901bb63b1853dcaf6b63007d18398303f3c0d9c4438378fcb9ccf23bedc38f0a1bc0244d6945f95d71d02fdb17724d42e6f404d715488cae04e20d07ce483dfa616dddc54e3200b5695171732a7ca8c2dddb4dff5359477af66616344ceba4d452c4837871ffd17474c676cb086daedb14c77bd4e37153b3aba0ff8590a73060204f93c50e4ecc123092c7a63f2f832f86977accfb60139bb9ae9afc3210fe3c53b26252d2d04b2ebca9d07ed5fce6267c979c13c049b39f7dc295c1b962f55539d7551b4f27af79726c29ecb40e437c1e21adffefce6ee382c46e6130caba320424614ba11a945f0562828344bd84e202ca6805565d04fcc222530a3b1a74f33bb93741034a4edec91d9d1a2a93876ea096ebdb0578dc8ec7d000b4e6482a04470a14e1e1ede4cac37e6049e644dbb4ae43e7b8c2c7aa7866a392f589df3fa09101231a8ce147ab1046474c3d92f818bad2b9adc5c0bb958cb3599e3e644c493f3068392f76bd7537521117ea5b47be3c9788909ed8a9d1439fc58f9e602d6a3d6b499b7bcd6e7aa833f661a80fe5f426cc51b31992ded76c88641315a346739cfd8001f87328033c372863cd044abd5d41e4f0cbdbc459b668570f2d22519d32c8b0906bdd952ea32d5755958c8ec5e4e110c5b8702b99bc9de30f129d448664751b97adc9e5aa36b9c8b8cce8971f80adb95e1ae043178a926542774dc7f6e745ee983b01ccf09f79bc53ffea7d0faa244998444c462def6c50d99c259ca9502124be883b531efcea3a1460e9f66ca7e6363dca119705719286765dd822fcf341f34bac22ba86664859a78561043a7304d373e02df7eece50a2d5124722cf11b4b86e71542c583b83e5c2f2dd56572cd2f24a1f00c003a6600d6941c6be8a97cceaaf70e072db196181bd765a360efbcca6434e0cb58040776fb19499503988c94b3aa1ed1d219cd88406139b0b7d0c47653b180735c05d101c748608924c744b364267b8d5473cb63a56d392805f55b683284908cd61ddd74633ebde772ec5e06f5d5cf224fb68dd149ca4c10cf35480dde22bb8995224983272bb4e60e97eb51e7a12ce9bd70c88f255604a96da8ad519963337f0302fe3f114df34bbc888028a0770a8bc13017e4d19051fea5e2b1616cfa2eb1bcc337290af48d22efe2fb65eaeab886e7bf60546b36ad926b148b41dc6bf71b318203c4f7670f9f68d4a971532aad09afaf09b53fae6b43685296df02a1110ccc7fe51c78625fc52084bf4629e147a8c9307d984b830ada579dba6b971ec86dcef67eaaf20baf2cfde314a8dae8cc48cf997ffc4c3163e1dedeeb6333cdf2f55257aea0483fd0ecde1c42e08d3be2b334eb1068c300d1f50afa4b01017e38c6f45141a8e11f04bdb9af13756d2a661099053da52a4e5f47ef391b3859adfd57e7eca5685f0b5e72d8f4d065b7439378568bc7d89489f87666ea44075f29b531a4040b65260e64e76f1d0d3ad11c8a2b4c4ed25c6d256352bdc000e333b8a6bb4be227d2a2c6b3905f58964962193a5431e8d55d50201cbb5fdf9ac80f245f1b069792e85354b62127edf6df3fd07e7bbfbcc1ea9afb31e83c6f88e045fa069a6bc5d1b6f7fdac1a88d42de19e881562bba9ff8eb8d1679f2ae0b7ee405e46be7cd29b155f2958a94918538c505fd60a7ad2aa058572194121358e12491cc61d71df8c1257f928ece98b5a4e37bf8261d840cd74d1fd3bb2d6375376b4b3c6a4494217b0c338a0ab906d5699d12570e8dad4f2db613131077e0e78b05beb7eb2fcd1589be6870bd9ba08847f146a59c28089c439f92e063a9a3f2ed762d0bf43c2812bebb106be3097672f6d0bf96502a8d94e9e848916df0b52698d84e5334308b301456f65305d2f944d5cc4b153dc2b04a56cc6501f091a7f760cdb082ee11097d88c314e78aca2f40a731233c7d0851fdb8d752b698d7991981227e8f6e4a540c36287e40b9b7c38ae60ac5cfa232984f96f742492a4d02ef2db920b01f08ed288bd4793f2899f54a3458a363a59fc6f084eccf4cc77c2b7b2ce1aa288ddee587077eadfb3be915b88a3467089bf8728a48a25f97cf34f1ec41d6ae9bd3ed5c04344635b92fc7ac61f3b89f43041296a8cb32c421e20c8dd862769ae74eb21b3fa97714102fbe174544aed6731517c6c4577c002eb89bd7a84abd00f75c8a9c4a38ef4283b5a96dea4399ff2504490cf94553bbf279f5680912cd9df7adc100e87533252e12816489643b90c9c5109c2ace6219cca2300d3228fe1299110609baafa909d3c040a0de96b2d73ec92c2e7b964e5d73d6361ca73fab2b6444fdc52905e4c72ab77fb2e6c0735a106577a05332eb431c8cff5db5f5faab938af979d4a3b5138017134aa769068eee183e57875f230c2eb755bdab076c333d71581994835eed0d73d63db79ddd51c44203e851c9ded0d25b52eeadabe7a459c824871b1f44dcb9bfb1679ad7926b22a85f6341dca50d19268c410ee1a67e957ad672e67a2c22204fd92c71a25bc218b8e89cacb76a649567e99185dcb68f5c8e8411d2853cac43cedef3d573e8d81ef5aeef01b32ba97cec01d7f538853317e7412b7d47b79caa8651d7a9fa8e84627950625b6b0a38dc89ed5fec9bc5bbf13354583fe11513583036b5c5e47172d78d9dc478279ecd26fc37a6cb84ec6062a0d04f93552182004aa7ca45619d25a1ec798ad4a99eb7a70d87250e0e59d7261f69610f05aad37c4e9d25fe386ab9bdda9ae42fb8d0e5ed44e9c1370f73badbf8a11b7f9a73e5bbee28232975ea97cb046115e90a00cdd22686dbda360b09ff3b6c59bf2dd52754d636624426bd932dcf24d1e59b82d0bed749ef1f0f215b56957e0656c70f7e90a89fa3148f1874450fbdf33be1b1faff1628e94034a365476d58379be91dde06d08fda19d53f70dffa49e6d1ba124ac37d9f1eceaf32103302ea6f9bf8c9f236e6fa5b706184bcf5731c17fdd199cf3c7ac97a1a6d336ae665a112370aa7f23a35f77883f4b6b0ae58b8e782abd135af86dac729200dc55aa087536bfb6ecdc6d9c4ce40c7de35524a431035a8588c2fec73443bf4cd1db2da7f515393ca6e2f6e70aac9b4cd218ce1b2d527c1551fc5559d74572fefc324cea71810cd38355d9a6a3115bd68c76848af59608ceadb98269da89a02521d887702c08258a7c128bdbd6acefa5798ed0cf575ace0c336cd206dc31ad6970ee401dba9724ee9368af64b7935c319f28355f7169951bad1c096215227cf51ef5b76ce94f6e86f5b58fba1129ca539c533f2e0550e48196ac3fe55119220649cce350e01a45b2fd4bac375a6321bbe0598a14e79b2e252be254a99a78dbf5c32595241bed644335e6c6a5936edc0b175f3b6138a5ee096f89614e3474639504448d6b0640f30d08c842dc835244ded922381ad48a75b2f2d4349d353a701366c65579bf8761784ac572bea4a64164ecdf4b8cf9d04061775fc829650a503c88070e0d2971d2714dd031b011d2ec4cf3b1f879f2403b3cd45f1694a207466034da1e9e34f8d94fb9545909c3555001f65e75eec38b598a9b83567b37ae9a6d35be7aecc82235be955dc7dc5d6b09b9af20b0456807643c3b1cf4be7ecb0ca505b3d88f64b6030cd6bbe34ad4a990c65a6d20d8c4a30517d5c83e1ea8764ac4205b187474e8aeb09ec08c523154f36199fe1c0c489fbd03f673cf689ddbd454a9b5cf9878c5106ea42d1a787039399ba260ed46f9a2408b291bd9ffd687a702a6aa6fe245df76833c07de04a31cee74e94de207f5aba1b3c0eda9ffa0d523a47986a0215799fa518c5ab708323d632529481ae801dbe284453c540ec7b8c30d6c82ff82133bfd17352d52b6ee529bc52a9fdab043a5dc0ad570147445cc98cd6b154e14e1e8433573046ae0a6a3dc4393bd9f33a3799b670887782591718abdd5a49c1a91dcdf417dae7ae5f012c1f63cef31bb220177214a7eaa99b6d9a0dce5ab6a75431ab40a03b5856442f829885ae29a8dedcf1cbf6c7abf252d321ac4453b6a1a09b6d5a90e3dba310d2e06c5294a2dd31b0450f76e74ac521cc4d24ffa2df5e23f4c56dc722d43d94e6f292a42c955380e722db77c405d1b252eab92d686bf0fce7afc5cbecef9861b052a6b852a353a7d92b802319c617d8c6f8b64c7bf649c93f32e07528c1fcf729c4065d9b49906fffdc76ca81a7a1bd38d3d522b4c5630e4b20664c30bb29b28184d3dacbe9f5932ff3be21714db4fbde33336c6df4b82fb597ab764b410306a4b350670666221f4d2f9872a7f65b46ec88dd5e09b849d9456ca7c2e103a2bc18d373d7d96eabb375f8742ec0d3d36fc19e5fafb94976b43c77795497f64ef5d77f07b0a870f3bb7acda64e44469541fce2d5e8364d034ce874063cd98d9230392111e4b0ed3c3cc2329d8f06d4ac806dc3fd47f488c37cf88e938ed090be9a3bd3063e5cf20bf1cecb0723ac4e81ca3f936d446681fbe066ceeefc48a53117026522a057f734e1e0943f2aca9b667d40b1ba930be0c3715ee67cf4449102b6e13b93de3f07a0a9162d9909ccfa76233141cb101604c36760bbf493786bdd3a9855bd55e19702c04dfc2d516f8fae68384a6e0ef5f3c86c63e76cc71f53d4a07f56bc711022cdf98676a4077721748dcccb18c727baa324877b68edb6d9d1cef5e6e72c9328688e532a40b4434c91130948da52f0d9cc4f8c6ca0fe4f2ca150678c0d26511c073f10541dffa5032b5f22ef0581ad8e5a3c0d45497364ad43af071951edbfba22a4afcef2bf025e12ec40447a78fc4257ad1f8f5d57058009dac658c14b58d9813360fe1ca8158c63e141cc8348cb707b1603770337042c8cd5db168bdbdc1f2fbf55a5e2e60bd89cc2c4c234faf536f3b0d4c2e7150eab3c6b2bc73a9adde153fd1122995afa536ddcc7ff10ff448f74466a9024688b203df7f8877c8d549200a5be0de84cfd0214395dee88fd400c3de16e8a8b681da75d48d9394b432db9d3954bbcc5d96955b1c514f68038d6e9238697e6f1c12b2cc5a52241e51274f998d494f48f07375159e3570509d948f5e28025a35db2ea25beb7f823f340eec57887d46136a8ecaa5a1cd452ad2a5a5e28d9daebfdce694f44683eb9ff0f0ed0c3a10a9b9a335bcafaf55bafef8acbe10ef210326de89c81492ec29b916669afcb96d3f05d8cb6e8fae75f2120949d0298956527a3fd59ab21cce7ef8d00c4dce5c569486ea9265fea6042d63c8d60fd71c0152130ce82500ebde8289a20a0211dc36f49fce57068f884b281d40951c863592e5cda2d911d6d71604bbfb7602437526d131b5b281d53b477be53a73a9f6f09596f64d464a010d6586cb5a6ac35fb5cb21f4acb2f37d96d7dbdec881c04a237efa9a401c1b37d336940139eb6e15a46e5bd6d76253e1cde5f8b5572a83fe0efca2b82ec666d047773fb55c0de901564fc65809c963dbd63c5ac76fbe34bde85a23984ff9aaabd656040917291cdcf59c3b8b2674fcba333b94c61add53ba9bebc9164269b84ff9f9c7e62a042aabe12c02cea3ddf3f3036dd09892586c79bed150de92e3c18b9d5fc8218bdc8e142ff26818dd646949e688e0e190f4e35bef08462dba5b1a37c4d2c7b83a3471a59ddb80f12d22e3dcedefdce4a9d5cddf2fe25007338306da3b1b8d0b019318375131a52168fcbe748d35a14c2aaf04d55c0b32b033fa6ca9074cb5a59c90beb3cfc974fd8c0a5ae6030de86bb794e064ece8d3669534d1e43d074183315381a5f5b9a0647dd09f1a0a7a71b8e5e3e38f3d59d50c8d6ef58e193ea19891d2df29987957ad53e9075a79c71848eeacca052583583a6250dbbc7c7640f26f95363c5847c3b4201df03d470c368e8e9226883ec4cb5bb8f70b7b8fb3e322a54955abebd577d790da8c4a7991276b148c761d73845568d33482577bef382656cf7649afb936073b58b715a4e5dc126c98a740aa004d558bd498fc54586dbef023e71a07d6e23662817bd8ed74d24e4bc69c078625ca1624f92972d494b13fcb12ad59fb3b1d878a046bbbf2a7c5de52dd1038636b4cc4422e3572db672e7cb33be54aa5800d4ad293e0fc2d0e7a129a1071157f4ef79a75ad8b86808656548678c86f50b1b400f147e86ceee5b656e3936aac2f3bacdf56b61a7d1daadfb5e8ef470e46e1742508e83df7e41b99a30e39fd41a81f8ec954e97f745974ccf079682f266d16c597ccbc63a0ed654af192e9e446a72fa8da913cdc7f79292e1b77807c968eb2c44420aefbbcd6afa7ec281d676bb6fe32529ca9550f49d3be9fe1a8584a20980bcaae92f3300514c116460e7ae5349d180ae790ccc251b1a80f09554226790c28d1480e23949091b139a6c8e9aeac0c56c83e70ddc8a2d7ad476ad353354c0658ea8b66e07aedee74752b84310d8425cb7dee0101fcead8178f10046ebb09705c1f94b01ad353e5c2c132cf8bcbebc65ab4287f36a571d6796583cab43c1ab3cf89c4d16d7db2326aca5e5e31ea78817a22d3169c24e878b4a8b21293966705733b890f6e1edb95d629626d8b436bd5cefa7dd006f0a79e211b35b449bd766eba96e9400b5c3886029596fca41681618fe12fe5b40d6c9567ef9ef617bd22cd85db56357953a0d8c8330bc2041fffcbc2f5e6770bbf28d02a12d97ec5f6022a1948b71a279f5b86dfa20544b6e077d00ac3fde79328c868be57a14dafb8ff191b594f62b1a8264231d37ce1d8983202d1efb8a8d42ab1be61862cdefe3c471320df5bdafd517f790a5aaffa395a4b12af60fad35cf29dc955d485faf23d81c5e2b887437a1fa8a356f05aa95599fe684b932c762b12b3cf033a404cb48593d34a5dfbaccde39b0bc44fb06a58e506fa5db07c9fd5befcf042ba05637bda5cf6eea6bf4a1a5b4a87c1034c2638a2a5f596f69b57286cad5357aa73f8550bbc373abc48142cbbb6ea14663cb598e963ce32a3ebc0920da4bcdfa8e037b54df39d53e80589a218dcc22039e43118d253269cfdc87ae4a70fba075ce40dcec71cbf4ae1e6cf99a95cf4580174ace31e1081fb4e41a232eafc279b5127a15042c24ae52db21c16f773fdb728ed38e6f03cd7c0f81bf7254c5936c1392e8bed3938cdbeb12c726790b48155b6f46c49f9b6b039e172f69a88b9240f6a91b27cfa99256768ebccb3faaf5d2128076569f1aee3c3435816e994d81774a4ff6aaeb9afc81e78642625079d8b647ffc85c755c5e5eb761575890e9cedf6e75e7ad74394df0bdcb2dc462bd24db3a24b0acf95df3473b3829e0e544eb043504e4e7899b76c17d67e5fa2324210c8385eeeba2afcb74ce98b173bba578170e6225099bf6db8f216d43ed3bee3bf77c24fe0d4224d5c9026bf6b913dadef6b61282f2b8192315331b81bfec84670d7e96bcbc7c2725a82b912b6b911b9dc4a8c778f0b0b7b2ecc672e89562d2e7040f528f3a7ebee9f0baa147e517f6c11fcd8fe8ec572de2df9a90ad4a6cce14f25b55755bf3b5b23e654538baaf561b5895fa0da96949314df13df762ac9f7b16d6bdce05940a344e567049c7871e674132fd08e27def64c7d67e01a3a26a611cdd363c3243335ba311ec2af03a824b56e1ea50987f45df2cf7ef917d5816ad28fb02b8b5740d146520466a876f8148b72425fbc1cc35ad8299a558e23e2cde6dfefde9e44007db0872c980da192a2d6c99c3c7d153f40337279dbf4eeeacdaf8e88200ee470bf5d694c802d2701c389e57b3267756d6a3aaf6715e79f3974ae59d6e4f5da3c2b28a1fd638196ef92ce5e6412a9a816ef8e8559e93630a8083ce82cdf219eb121f448fa6a7a332ace7cbc09a558bc716bb2db9467f179521b2cac0d69f0b0db4fbfc57c68e682f1e2901d42789b1ff660993a28c4f563a0caa0e0c3421eada33d15d816e42f4e8670c1986bed14e39f54f8459dd374301b963fc80b5e566b290deb9715211c1b2f7d5940c59d114c991e141f9e654529e489a9df13e36fcd353b40e9edcf7737c5322b914c536a569b72a55e0171ce13049e3d22f12b05fa2584528bd455b1a982cfd22e79e961c65230dea66b94c0d373609e71e0e3ce860687d27cb32876e56d817c20c2c297dd93c5342f521f3b63d59c34989fe1a2ffb36aaf6bb9caf4081b956dce9c7d280e30ffe392fd466f1ff2a1fe62effc086a682cf8b8fcd991f3778677abbff28f52b2c3feffc33f1b81f7d3c1888ea2cadd614004e4fdacfaa245b3b906ee4df111f6ddb53b9d24e8e1a075f2e02c41a2ea9a2b68ff491d4829a043084dc51c32eff86dc562d28b81af613659fecf3150700c0bdf6a762d6c6a69ee7c595865b6136dd18ee561c425926c9cb34be10a4cd75ba9d65a9b406dcbeb6fe2f14372b15495c3e8a81603bf302d57be0e1f64bd2e8d016e98c92255f9bdd8748d2d5de4e5e75a9b8aefb2bf1c48fa4c30173f1d0e6940e9af063ee74c9d4f5ed6a862321f375503c3887928ff19e4345cf8892bc14273ac06b05d4fbadc0df3c2eceff293f96a8891edfc3e8bd269124fbc99671593010e75134f764883e84a95cadd1198cc05b4dfae168136302c88cf1c99a1d765c815663de87332479ca49b036db37a4cc7ab2d7286cc1fe426b4708d28cf17014d738d8dbf91ad2d2c1071eea9997bfe5c377c7bceb7bfbc9b4be15fd80c991accbecdc241c52a6bfef9d24ca1604d678de1885ac1cf38a0a10ed3ad6c66cfcc964d50838d0edf679888ba05e3553da225aac9c6bdd19b85be62e44801d553a2e85163e56aa2c3d38a7f049b12b0b003c2faa78fa9af34202a3d82588d295897242651a7cd24a04ed5ed77855fbd8ad298806a34b6954d42fb6c3f0ff91515e72158967772bf077939db7add64cc36cc4fc53e725144a1ed75ffabe01e2f6be7457df6da0f3eb9975224d06b3b8cacdac984cbc5a48fe55c803464c76fe573bcf07262754a750fcc9800b1bc742ea7ced6679727d3b58da253d351f6cdc74820d0c10201cc583c336d7741e5f3c4fdafcb22e4738ab019e61dc6de45c074fb930c5c98f434fac939547e0bdb93503d576831aad6d234fb617a9b859bc520e04dc6aa4265aee32cb46b03b9211499fb3cba3ddcedb1063e21e308d174e089ecc93b28e6d7f6368c03dc7e22c71132d3f7239cfe53a155141eab1b3dc9aa8e4a0b6ef24e02af15bd735636de718015a65e6836af64d37c171e784f9c689f87a8ee4f4bdf37972f3384b1df65fda5cca345a31d8aaf36b77a40f65b52aed0dd194d65af1101a46cfad21cacba4a96f62621dd877ee0c4b08fb20bafb1bd3b8e613063fc03445d2897a14a165ffe5ed04b07c571f1213bca1e2378484095150635ffd1e70c88b8f43a6c2c4da29209995ec8ee48a1a3d59cf26914ac53d9b416ff0ad2f0361104cba8efbd880cdbbefca9371e590ce179f05d39a4d81a190d56729a53d9e39bd71322c2c8ef9373432838f8580250e9bc50493a1829a2af7898a3cbb097192ad6018dff88bed7dc25c68191ae3a9a12fc891efb4f68e0e51bf4522f7bcdfb1eacb7277bd6824b189a48656f405d64f35f50ce23bef14f3ce94f5d28ff8f9ac8a432e782b06361856ef596a64325a6ea7b1526c55c923944bed7160b64730aa657bc6b59c8fd1009b609e433638b9a9f07abd9e0e4c34b05fa4e2544f0c72b5391868e72539f5a75255728006d5ea7f5bea455c7d530627cea43ee5e123cffb7df5083fa88806033e08e6f0ebc02f69fe77371c89de7a72b9bd793e4adc5f6abbf06847d98062216bc8904e4e61edc6db19652ef3aeb58cd3fae0521c396002923fea04a8d8d1b0c1c9f0fc64e521966776d90c54fa06eaea874f25637b6a00aac1d792742123146b850d55b921ca9bb6930a653531b0c9a83d815057b920400a29e0b948244cc9ed64687918490bf53c53655782c515ada88d4e3dfd11b561f42c3cfce16ba2d05538791dec51fa33b3af93f4156e39bef7e438a165373c21954a5f0c9fe0d56134f81147e0b6626e046f53c72643364e3764b32a2c6c3e22920b28b0ffcdf22b6bd34e59b578259fb40abd83455e9e23ef7b46d927904d69da210577fc0e80b132bbe6e184a306d0eba5178616a8f315edb74109decdebfa663a25b844d183265757ed9262866c02d95ada08b4f1b239718725b2e1db543cae5bd2710a2c35174220a4403b8c02f8991642509e0b477246bd84fed0cdd6a92fb8fa6f8a52a507c513f4fb82afbf181ef7e5d3c6302de52378e7efe6c0ac7e8bf8d4122d2d4e5a226764a21d36e329c1f1973d4a2453b64a078a7e88a5cfc62c2e8be4b85cfd4f852beb874212531d3e680a8de8efff13ddb5feacf35a19735ccc36c415d391e3bf37bfd1cd21865af017809166cc999477dfa72f147eec608b5501d0922b2b1d4c913e1525ad8cee73ab6cde7c3206c90f2cdbd2bee463487adf7f3dc2a094e134f7380dd5a00e98b2ba54a92cc3037dbe5d8d9dd4682f73c08ed1e429bb0be0c258a43e723e83d8e894d1ea4f41a05448da52d28842d29992e3b551cfb355dcaaab35f6238f334fd6fb8c1cf2c1e3f5583fc6cb4ce1e08c6a183490faa6e839e23f7dcda38f5340ed4e502cd4b7bce4d457e8a4de2b6a87e482f5f9f75019ba292cc4ca0486ec5df815556b43a6e94742efca371e628fdd812d0e5477a9f301bc4ec7ee4646c9384099e1d8ceb9eb029572a646a51586799b351b491ec95646c6909a132a1a74d729ee37421d269992e29557a48d336928aecb7b6b3c6490426c1044c1e737d936043e5f4783583220af1973f6967aa6343be1e149e22276de78830847be9bbe4a2b42de35aea3a6971dd44a4cc5bf80c372a6c4e8a4b85a094bcf8d65631e50ca3a029931bb42d09ac1f0485042acd85ebd7efcee241c114378d4dee627b0798e20bf42955b787f8d883b20971cde9b6f97e335371eeea42e4dc78905a2adb8a7c08bd6325204edfef29dd2c87410d2ca54a3d9beb573a8354ff060869430b050248dbd8eb7ecaa0cae0da7ba43217def96a4a8eb7b00fb4db25035a4a52e531f95a35ef8847f1d34f7aa7a3bb195264b189f1b8501ece71dd844d6367be21f140646fe168a1cca7a29bf10f70c878a278aaf03363e4f9bbd0c4cb4e8c21fcb21618849492e7d33912eca9a19179abcf6a8b8a7f6d1aa1b357fcbb70a86705c2133bb5b4a75b938707bbf498c18762e91b3555c563665295678f14bb72d7a27d7eadb2aa7996d7596c1dafe9f52cbcd46e52442d1993fb99f05b473317a91bab105908c56cddd94246f87397883608fa87856d4c2edb71518d2e7e4c99c602f1e60e062e76bce6349eee6f5062c2f34c41141281d9d0f76c6ef80e7af9632eaf222161d3f8c05c11111e624b7687a6c4713a6575ed1849791f27f1639bdb8b77d995ed630c6bf4d38d51c22afa3029d92d0ea35cd7225725461afa74ca819c7ebae94bb7d22af1198ac38f6cba253ad25972bfb30345ce96a636b4f0cd2ea1eb73a62c7f500c53c67f2ecaa8ddedf024a55becc24a4298e3aeb8178da7351bd9e0e1255cde06c04669a78347c8365a78d48a97b9f5e19dd281adeffcec4370a7ce90c307f306ce34cfa225d3bae642f51b5777054f4b645d314a62540a28bf7a2960907a3e98e6e12e092025d91cab2134c4859cb201ce55f42f3ac6e189ba2c5cb3433dbf4662528bcaf9ef8b529b18e50cf4bf738a73f2e02551ba64bba6be9a89879e4a2342f6128211bbf0b7c7b21afe9a49d14a929f382aa39fc814eb12810a7ed503941a95455dc5ea164851dbe16a3a33c79ca77bd8eeeefa01b019fc24e5711847cf7bc1b6fe1e1a3fb75f33d9b74991193356398455a7a35d7b5b97176c3e16eab73d01fe93879fffb485c33c7fbe1e635624933244f57a5cfef264823ce826f05af44cdcaa63dc577ee67d3a9300a37bd332bd4af49c7a1e28ee1ae7ff56220f903d861549f1b336c89fce39bf7253833851b7792dd70035fa5f0ffe4104341fd1d04e2e1f9e7b80317e17d1cf7bb273e62b090b0d5075153d968468a8c5b8bda880aa7df0885938ec724a49baaff93c5494eff5d484b700396d0e9ed311a7e2a1910ce32cb8b9dc8c1610dc9464ad4ef5f2a6e1dc63d33a4a334e6eec956373845eda2afecdf00b6458fef05c1642fc87c299ca0ec750e8b20f3b16c327eb52dbeeef69a883d1c43bd5cc24ad059a8d14010f309adf60e699a47f1e89f9929ad6e34505bc25ac78a44d91512d3e30c4afd2cfc1ccd20580917ae50aede250093dff19601151a2824154f386ac175ec577b27767055a4873d9846655e16ce0711a45f60165d22b8ebca53171026ed8be5e1564ec321d2685306a406c12f00d14b2c3be978286f05069f4b28fa60fab424b356b7abf2a5dca171e1187eef0cd7b0d251f4437902238807d3e18f84859aaabf058617c7d4f78187247e70f047070f3fa6f0103b86d977cb3ef3c9472c4c2c6d01f9234af295b8284c27b99127bbb2fbeaef6bc5689e0ed515a3b41d598e2a67def17efa27f2bfe00f345635a009c211cea66bd3d33a4038a95029946ff99756bf77db82a052d01345b62abec8c18e9ae2d230cf1849840408132088cab3e76332614a1f82469e687a35fc2fc83fdbfb8df5e1b584ac45f3163905cc99a0b326c03e1c20266505bbbe0f180ec90cc76290b409bee2c3164b6910654c6bb4e43edd3a45708e100b533e0240987b3327925330ef9dfd7b1f346066bd5a6bef1f7e7da889b09354501cc3856a4924e474574bd9c28fb895154572f23aa7b5ef857175ff18cd48eff887c1a4ae4e9b5f48454379c3a60104648dc9bbab7fabc43e4e1cd869089ad79fd2d3706cf74e5883f43b61364c7e136314cfff741e0d09fb50bb37e1159a4794c2108c02f9313736b288d7324ca479f8d30be8f67ffbd41eebe2c796b555053c5d7004d032a899dcbe5901cd22cbf559d9a3ed4cef1f3271965168c29b18e3aceb727174c89a3e713ccbe9b49ace26c18f026c964ee34f2c6fe93df4ab0bb2c55f892a21f74de40ef73cbd521a339ee9275a480ab26e6b7fb206fe9405b2d5a0b1b336e12edc7d9c5af5202c717f6ab9ad7c18f0d81f295ab99a770f2dde75495764ab24029e14488b439586eba1b1d4834a98fd8fef7ed278d40749874159009c549183eb28096a92442917fc48de3e4e672d61f96edc047bbd2ae3d976c4337ad383d6d233a5d252fd0d3ae4ffdfc6359998c4e22f64b37b054e677410f5fb02850265a772bc041d4b032dc5eb92ff141cacdfbf43b78e35e1f561251f474d4629bb9a62acead5e79ece656eec54819e52b1066d08dbaeec1cd533bf0ff34bf04797d6b2f2f35269e2377aa9025efbc7961057ee0e3c1ccfdeb6246927cac6f1201ef72628db380c5515fbd01a33a1860fe6026a0bc71671cf58fed752f31cac2fe09750b201fc3919eff3f1f2ab5d8015e2f99416d7133faadd64b6bf020b0f790d3be964621d12825b2bf494a7e5285bae88afc65b6d5cce92205801456a7ccec306038b02bced6fdb861ddc54ffc9bf9095b9e18b4e332f39ccb4961fc29e21cf65dca55a022c424a1f0d7f8b60d5f059f11c5f61f77f612a2c82d2a89eb6f25b19d68c51ae3e1d44ead7c1ca027f0ed28329634be645932e1ab7c321bf27b8cfaf9aed30f2cbf5ee4478952bfc9a93dd241f6b045cbff0481cf4e1901becd0e12fb45166a8f17f95823f0b1aab01f1e5d951f9cfa5fed84d37004ba30724d0befcde1d6b6fcedf70419362444c0b2b6513452adf188402da32faea446b326e0a3362eda6fa8603e73594a567cbcc9c6530d4b8243436efb89516537f3d6b3a4eceaa0e6256c57bdb8ddb544d47c74de257f7e407a21e5d22519b664cfa1c83d04c362bff466c8424b702d31f7626001c30a0eaaaba38f79d7f8267513f88171804aaded69d7134d00d5d40f0beaceb9bd948d642739761caa22cb09f8fbbaa22e23d90b0a6471ddadd4919f3e31bd7c6847cd8b49a884fe01244f740ad184cdb7aa6449830be21985158f0d9c6bb4859eb9d99617ab84f124213f9e86858a9a52f5231c83111b866601bfb71rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottomcat11-11.0.18-150600.13.15.1.src.rpmtomcat-implementation-javadoctomcat11-doc@    javapackages-filesystemrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-1tomcat-implementation-javadoc4.14.3ii_i hhP@hChZ@hH@h@hhmricardo.mestre@suse.commichele.bussolotto@suse.comricardo.mestre@suse.comfstrba@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.comricardo.mestre@suse.com- Update to Tomcat 11.0.18 - adapt tomcat-jdt.patch * Fixed CVEs: + CVE-2025-66614: client certificate verification bypass due to virtual host mapping (bsc#1258371) + CVE-2026-24733: improper input validation on HTTP/0.9 requests (bsc#1258385) + CVE-2026-24734: certificate revocation bypass due to incomplete OCSP verification checks (bsc#1258387) * Catalina + Fix: 69932: Fix request end access log pattern regression, which would log the start time of the request instead. (remm) + Fix: 69623: Additional fix for the long standing regression that meant that calls to ClassLoader.getResource().getContent() failed when made from within a web application with resource caching enabled if the target resource was packaged in a JAR file. (markt) + Fix: Pull request #923: Avoid adding multiple CSRF tokens to a URL in the CsrfPreventionFilter. (schultz) + Fix: 69918: Ensure request parameters are correctly parsed for HTTP/2 requests when the content-length header is not set. (dsoumis) + Update: Enable minimum and recommended Tomcat Native versions to be set separately for Tomcat Native 1.x and 2.x. Update the minimum and recommended versions for Tomcat Native 1.x to 1.3.4. Update the minimum and recommended versions for Tomcat Native 2.x to 2.0.12. (markt) + Add: Add a new ssoReauthenticationMode to the Tomcat provided Authenticators that provides a per Authenticator override of the SSO Valve requireReauthentication attribute. (markt) + Fix: Ensure URL encoding errors in the Rewrite Valve trigger an exception rather than silently using a replacement character. (markt) + Fix: 69871: Increase log level to INFO for missing configuration for the rewrite valve. (remm) + Fix: Add log warnings for additional Host appBase suspicious values. (remm) + Fix: Remove hard dependency on tomcat-jni.jar for catalina.jar. org.apache.catalina.Connector no longer requires org.apache.tomcat.jni.AprStatus to be present. (markt) + Add: Add the ability to use a custom function to generate the client identifier in the CrawlerSessionManagerValve. This is only available programmatically. Pull request #902 by Brian Matzon. (markt) + Fix: Change the SSO reauthentication behaviour for SPNEGO authentication so that a normal SPNEGO authentication is performed if the SSL Valve is configured with reauthentication enabled. This is so that the delegated credentials will be available to the web application. (markt) + Fix: When generating the class path in the Loader, re-order the check on individual class path components to avoid a potential NullPointerException. Identified by Coverity Scan. (markt) + Fix: Fix SSL socket factory configuration in the JNDI realm. Based on pull request #915 by Joshua Rogers. (remm) + Update: Add an attribute, digestInRfc3112Order, to MessageDigestCredentialHandler to control the order in which the credential and salt are digested. By default, the current, non-RFC 3112 compliant, order of salt then credential will be used. This default will change in Tomcat 12 to the RFC 3112 compliant order of credential then salt. (markt) * Cluster + Add: 62814: Document that human-readable names may be used for mapSendOptions and align documentation with channelSendOptions. Based on pull request #929 by archan0621. (markt) * Clustering + Fix: Correct a regression introduced in 11.0.11 that broke some clustering configurations. (markt) * Coyote + Fix: 69936: Fix bug in previous fix for Tomcat Native crashes on shutdown that triggered a significant memory leak. Patch provided by Wes. (markt) + Fix: Prevent concurrent release of OpenSSLEngine resources and the termination of the Tomcat Native library as it can cause crashes during Tomcat shutdown. (markt) + Fix: Improve warnings when setting ciphers lists in the FFM code, mirroring the tomcat-native changes. (remm) + Fix: 69910: Dereference TLS objects right after closing a socket to improve memory efficiency. (remm) + Fix: Relax the JSSE vs OpenSSL configuration style checks on SSLHostConfig to reflect the existing implementation that allows one configuration style to be used for the trust attributes and a different style for all the other attributes. (markt) + Fix: Better warning message when OpenSSLConf configuration elements are used with a JSSE TLS implementation. (markt) + Fix: When using OpenSSL via FFM, don't log a warning about missing CA certificates unless CA certificates were configured and the configuration failed. (markt) + Add: For configuration consistency between OpenSSL and JSSE TLS implementations, TLSv1.3 cipher suites included in the ciphers attribute of an SSLHostConfig are now always ignored (previously they would be ignored with OpenSSL implementations and used with JSSE implementations) and a warning is logged that the cipher suite has been ignored. (markt) + Add: Add the ciphersuite attribute to SSLHostConfig to configure the TLSv1.3 cipher suites. (markt) + Add: Add OCSP support to JSSE based TLS connectors and make the use of OCSP configurable per connector for both JSSE and OpenSSL based TLS implementations. Align the checks performed by OpenSSL with those performed by JSSE. (markt) + Add: Add support for soft failure of OCSP checks with soft failure support disabled by default. (markt) + Add: Add support for configuring the verification flags passed to OCSP_basic_verify when using an OpenSSL based TLS implementation. (markt) + Fix: Fix OpenSSL FFM code compatibility with LibreSSL versions below 3.5. (remm) + Fix: Don't log an incorrect certificate KeyStore location when creating a TLS connector if the KeyStore instance has been set directly on the connector. (markt) + Fix: HTTP/0.9 only allows GET as the HTTP method. (remm) + Add: Add strictSni attribute on the Connector to allow matching the SSLHostConfig configuration associated with the SNI host name to the SSLHostConfig configuration matched from the HTTP protocol host name. Non matching configurations will cause the request to be rejected. The attribute default value is true, enabling the matching. (remm) + Fix: Graceful failure for OCSP on BoringSSL in the FFM code. (remm) + Fix: 69866: Fix a memory leak when using a trust store with the OpenSSL provider. Pull request #912 by aogburn. (markt) + Fix: Fix potential crash on shutdown when a Connector depends on the Tomcat Native library. (markt) + Fix: Fix AJP message length check. Pull request #916 by Joshua Rogers. (remm) * Jasper + Fix: 69333: Correct a regression in the previous fix for 69333 and ensure that reuse() or release() is always called for a tag. (markt) + Fix: 69877: Catch IllegalArgumentException when processing URIs when creating the classpath to handle invalid URIs. (remm) + Fix: Fix populating the classpath with the webapp classloader repositories. (remm) + Fix: 69862: Avoid NPE unwrapping Servlet exception which would hide some exception details. Patch submitted by Eric Blanquer. (remm) * Jdbc-pool + Fix: 64083: If the underlying connection has been closed, don't add it to the pool when it is returned. Pull request #235 by Alex Panchenko. (markt) * Web applications + Fix: Manager: Fix abrupt truncation of the HTML and JSON complete server status output if one or more of the web applications failed to start. (schultz) + Add: Manager: Include web application state in the HTML and JSON complete server status output. (markt) + Add: Documentation: Expand the documentation to better explain when OCSP is supported and when it is not. (markt) * Websocket + Fix: 69920: When attempting to write to a closed Writer or OutputStream obtained from a WebSocket session, throw an IOException rather than an IllegalStateExcpetion as required by Writer and strongly suggested by OutputStream. (markt) * Other + Add: Add property "gpg.sign.files" to optionally disable release artefact signing with GPG. (rjung) + Add: Add test.silent property to suppress JUnit console output during test execution. Useful for cleaner console output when running tests with multiple threads. (csutherl) + Update: Update the internal fork of Commons Pool to 2.13.1. (markt) + Update: Update the internal fork of Commons DBCP to 2.14.0. (markt) + Update: Update Commons Daemon to 1.5.1. (markt) + Update: Update to the Eclipse JDT compiler 4.37. (markt) + Update: Update ByteBuddy to 1.18.3. (markt) + Update: Update UnboundID to 7.0.4. (markt) + Update: Update Checkstyle to 12.3.1. (markt) + Add: Improvements to French translations. (markt) + Add: Improvements to Japanese translations provided by tak7iji. (markt) + Add: Improvements to Chinese translations provided by Yang. vincent.h and yong hu. (markt) + Update: Update Tomcat Native to 2.0.12. (markt) + Add: Add test profile system for selective test execution. Profiles can be specified via -Dtest.profile= to run specific test subsets without using patterns directly. Profile patterns are defined in test-profiles.properties. (csutherl) + Update: Update file extension to media type mappings to align with the current list used by the Apache Web Server (httpd). (markt) + Update: Update the packaged version of the Tomcat Migration Tool for Jakarta EE to 1.0.10. (markt) + Update: Update Commons Daemon to 1.5.0. (markt) + Update: Update Byte Buddy to 1.18.2. (markt) + Update: Update Checkstyle to 12.2.0. (markt) + Add: Improvements to Spanish translations provided by White Vogel. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations provided by tak7iji. (markt) + Update: Update the internal fork of Apache Commons BCEL to 6.11.0. (markt) + Update: Update to the Eclipse JDT compiler 4.37. (markt) + Update: Update to Byte Buddy 1.17.8. (markt) + Update: Update to Checkstyle 12.1.1. (markt) + Update: Update to Jacoco 0.8.14. (markt) + Update: Update to SpotBugs 4.9.8. (markt) + Update: Update to JSign 7.4. (markt) + Update: Update Maven Resolver Ant Tasks to 1.6.0. (rjung) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations provided by tak7iji. (markt)- make catalina.sh %config(noreplace) (bsc#1253460)- Update to Tomcat 11.0.13 * Fixed CVEs: + CVE-2025-55752: directory traversal via rewrite with possible RCE if PUT is enabled (bsc#1252753) + CVE-2025-55754: Improper Neutralization of Escape, Meta, or Control Sequences vulnerability in Apache Tomcat (bsc#1252905) + CVE-2025-61795: temporary copies during the processing of multipart upload can lead to a denial of service (bsc#1252756) * Catalina + Add: Add CIDR support for the configuration of internal and trusted proxies for the RemoteIpFilter and RemoteIpValve. Configuration via regular expression has been deprecated and will be removed in Tomcat 12. (markt) + Fix: Log warnings when the SSO configuration does not comply with the documentation. (remm) + Update: Deprecate the RemoteAddrFilter and RemoteAddValve in favour of the RemoteCIDRFilter and RemoteCIDRValve. (markt) + Fix: 69837: Fix corruption of the class path generated by the Loader when running on Windows. (markt) + Fix: Reject requests that map to invalid Windows file names earlier. (markt) + Fix: 69839: Ensure that changes to session IDs (typically after authentication) are promulgated to the SSO Valve to ensure that SSO entries are fully clean-up on session expiration. Patch provided by Kim Johan Andersson. (markt) + Fix: Fix a race condition in the creation of the storage location for the FileStore. (markt) + Update: Change the digest used to calculate strong ETags (if enabled) for the default Servlet from SHA-1 to SHA-256 to align with the recommendation in RFC 9110 that hash functions used to generate strong ETags should be collision resistant. (markt) + Fix: HTTP methods are case-sensitive so always use case sensitive comparisons when comparing HTTP methods. (markt) + Fix: 69814: Ensure that HttpSession.isNew() returns false once the client has joined the session. (markt) + Fix: Further performance improvements for ParameterMap. (jengebr/markt) + Code: Refactor access log time stamps to be based on the Instant request processing starts. (markt) + Fix: Fix a case-sensitivity issue in the trailer header allow list. (markt) + Fix: Be proactive in cleaning up temporary files after a failed multi-part upload rather than waiting for GC to do it. (markt) + Code: Remove a number of unnecessary packages from the catalina-deployer.jar. (markt) + Fix: 69781: Fix concurrent access issues in the session FileStore implementation that were causing lost sessions when the store was used with the PersistentValve. Based on pull request #882 by Aaron Ogburn. (markt) + Code: Refactor WebResource locking to use the new KeyedReentrantReadWriteLock. (markt) + Fix: Fix handling of QSA and QSD flags in RewriteValve. (markt) * Cluster + Fix: Prevent the channel configuration (sender, receiver, membership service) from being changed unless the channel is fully stopped. (markt) + Fix: Handle spurious wake-ups during leader election for NonBlockingCoordinator. (markt) + Fix: Handle spurious wake-ups during sending of messages by RpcChannel. (markt) * Coyote + Fix: 69836: Incorrect processing of partitioned setting when generating session cookie. Patch submitted by Marc Pynaert. (remm) + Fix: 69848: Fix copy/paste errors in 11.0.12 that meant DELETE requests received via the AJP connector were processed as OPTIONS requests and PROPFIND requests were processed as TRACE. (markt) + Update: Add specific certificate selection code for TLS 1.3 supporting post quantum cryptography. Certificates defined with type MLDSA will be selected depending on the TLS client hello. (remm) + Update: Add groups attribute on SSLHostConfig allowing to restrict which groups can be enabled on the SSL engine. (remm) + Add: Optimize the conversion of HTTP method from byte form to String form. (markt) + Fix: Store HTTP request headers using the original case for the header name rather than forcing it to lower case. (markt) + Fix: 69762: Additional overflow fix for HPACK decoding of integers. Pull request #880 by Chenjp. (markt) + Fix: Ensure keys are handed out to OpenSSL even if PEMFile fails to process it, with appropriate logging. (remm) + Fix: Add new ML-DSA key algorithm to PEMFile and improve reporting when reading a key fails. (remm) + Fix: Fix possible early timeouts for network operations caused by a spurious wake-up of a waiting thread. Found by Coverity Scan. (markt) * Web applications + Fix: Documentation. Clarify the purpose of the maxPostSize attribute of the Connector element. (markt) + Fix: Avoid NPE in manager webapp displaying certificate information. (remm) * Websocket + Fix: 69845: When using permessage-deflate with Java 25 onwards, handle the underlying Inflater and/or Deflater throwing IllegalStateException when closed rather than NullPointerException as they do in Java 24 and earlier. (markt) * Other + Fix: 69847: Remove remaining references to the org.apache.tomcat.util.codec.binary package which has been deleted. (markt) + Update: Update Byte Buddy to 1.17.7. (markt) + Update: Update Checkstyle to 11.1.0. (markt) + Update: Update SpotBugs to 4.9.6. (markt) + Update: Update Jsign to 7.2. (markt) + Add: Improvements to Russian translations provided by usmazat. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations provided by tak7iji. (markt) + Update: Minor refactoring in JULI loggers. Patch provided by minjund. (schultz) + Code: Review logging and include the full stack trace and exception message by default rather then just the exception message when logging an error or warning in response to an exception. (markt) + Add: Add escaping to log formatters to align with JSON formatter. (markt) + Update: Update Checkstyle to 11.0.0. (markt)- Do not use update-alternatives- Update to Tomcat 11.0.10 * Fixed CVEs: + CVE-2025-48989: Update the HTTP/2 overhead documentation (bsc#1243895) * Catalina + Fix: Fix bloom filter population for archive indexing when using a packed WAR containing one or more JAR files. (markt) * Coyote + Fix: 69748: Add missing call to set keep-alive timeout when using HTTP/1.1 following an async request, which was present for AJP. (remm/markt) + Fix: 69762: Fix possible overflow during HPACK decoding of integers. Note that the maximum permitted value of an HPACK decoded integer is Integer.MAX_VALUE. (markt) + Fix: Update the HTTP/2 overhead documentation - particularly the code comments - to reflect the deprecation of the PRIORITY frame and clarify that a stream reset always triggers an overhead increase. (markt) * Cluster + Update: Add enableStatistics configuration attribute for the DeltaManager, defaulting to true. (remm) * WebSocket + Fix: Align the WebSocket extension handling for WebSocket client connections with WebSocket server connections. The WebSocket client now only includes an extension requested by an endpoint in the opening handshake if the WebSocket client supports that extension. (markt) * Web applications + Fix: Manager and Host Manager. Provide the Manager and Host Manager web applications with a dedicated favicon file rather than using the one from the ROOT web application which might not be present or may represent something entirely different. Pull requests #876 and #878 by Simon Arame. * Other + Update: Update Checkstyle to 10.26.1. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt)- Update to Tomcat 11.0.9 - adapt tomcat-jdt.patch * Fixed CVEs: + CVE-2025-52520: Align size tracking for multipart requests with FileUpload's use of long. (bsc#1246388) + CVE-2025-53506: Apply the initial HTTP/2 connection limits earlier. (bsc#1246318) * Catalina + Fix: Ensure application configured welcome files override the defaults when configuring an embedded web application programmatically. (markt) + Update: Optimize Request#getCharsetHolder to avoid repeated parsing when charset is null. Patch provided by morning-gu. (schultz) + Fix: Allow the default servlet to set the content length when the content length is known, no content has been written and a Writer is being used. (markt) + Fix: 69717: Correct a regression in the fix for CVE-2025-49125 that prevented access to PreResources and PostResources when mounted below the web application root with a path that was terminated with a file separator. (remm/markt) + Fix: 69731: Fix an issue that meant that the value of maxParameterCount applied was smaller than intended for multipart uploads with non-file parts when the parts were processed before query string parameters. (markt) + Fix: Align size tracking for multipart requests with FileUpload's use of long. (schultz) * Coyote + Fix: 69710: Increase the default for maxPartCount from 10 to 50. Update the documentation to provide more details on the memory requirements to support multi-part uploads while avoiding a denial of service risk. (markt) + Fix: 69713: Correctly handle an HTTP/2 data frame that includes padding when the headers include a content-length. (remm/markt) + Fix: Correctly collect statistics for HTTP/2 requests and avoid counting one request multiple times. Based on pull request #868 by qingdaoheze. (markt) + Fix: Fix JMX value for keepAliveCount on the endpoint. Also add the value of useVirtualThreads in JMX. (remm) + Fix: 69728: Remove incorrect warning when HTTP/2 is used with optional certificate verification and improve the warnings when a web application tries to use CLIENT-CERT with either HTTP/2 or a JSSE implementation of TLS 1.3. (markt) + Fix: When setting the initial HTTP/2 connection limit, apply those limits earlier. (markt) * Jasper + Code: Remove IMPL_OBJ_START from EL grammar for IDENTIFIER. (markt) + Code: Remove the INSTANCEOF and FUNCTIONSUFFIX definitions from the EL grammar as both are unused. (markt) * Web applications + Add: Documentation. Provide more explicit guidance regarding the security considerations for enabling write access to the web application via WebDAV, HTTP PUT requests or similar. (markt) + Add: Documentation. Add a section on reverse proxies to the security considerations page. (markt) * Other + Update: Update to the Eclipse JDT compiler 4.36. (markt) + Update: Update UnboundID to 7.0.3. (markt) + Update: Update Checkstyle to 10.25.1. (markt) + Update: Improvements to French translations. (remm) + Update: Improvements to Japanese translations provided by tak7iji. (markt)- Update to Tomcat 11.0.8 * Fixed CVEs: + CVE-2025-46701: refactor CGI servlet to access resources via WebResources (bsc#1243815) + CVE-2025-48988: limits the total number of parts in a multi-part request and limits the size of the headers provided with each part (bsc#1244656) + CVE-2025-49125: Expand checks for webAppMount (bsc#1244649) * Catalina + Add: Support for the java:module namespace which mirrors the java:comp namespace. + Fix: 69690: Calling HttpServletRequest.getParameter() and related methods for a request with content type multipart/form-data when the mapped servlet does not have a @MultipartConfig or equivalent should not trigger an exception. Note that calling getPart() or getParts() is these circumstances will trigger an exception. + Add: Support parsing of multiple path parameters separated by ; in a single URL segment. Based on pull request #860 by Chenjp. + Fix: 69699: Encode redirect URL used by the rewrite valve with the session id if appropriate, and handle cross context with different session configuration when using rewrite. + Add: #863: Support for comments at the end of lines in text rewrite map files to align behaviour with Apache httpd. Pull request provided by Chenjp. + Fix: 69706: Saved request serialization issue in FORM introduced when allowing infinite session timeouts. + Fix: Expand the path checks for Pre-Resources and Post-Resources mounted at a path within the web application. + Fix: Process possible path parameters rewrite production in the rewrite valve. + Fix: 69588: Enable allowLinking to be set on PreResources, JarResources and PostResources. If not set explicitly, the setting will be inherited from the Resources. + Add: 69633: Support for Filters using context root mappings. + Fix: 69643: Optimize directory listing for large amount of files. Patch submitted by Loic de l'Eprevier. + Fix: #843: Off by one validation logic for partial PUT ranges and associated test case. Submitted by Chenjp. + Refactor: GCI servlet to access resources via the WebResource API. + Fix: 69662: Report name in exception message when a naming lookup failure occurs. Based on code submitted by Donald Smith. + Fix: Ensure that the FORM authentication attribute authenticationSessionTimeout works correctly when sessions have an infinite timeout when authentication starts. + Add: Provide a content type based on file extension when web application resources are accessed via a URL. * Coyote + Refactor: #861: TaskQueue to use the new interface RetryableQueue which enables better integration of custom Executors which provide their own BlockingQueue implementation. Pull request provided by Paulo Almeida. + Add: Finer grained control of multi-part request processing via two new attributes on the Connector element. maxPartCount limits the total number of parts in a multi-part request and maxPartHeaderSize limits the size of the headers provided with each part. Add support for these new attributes to the ParameterLimitValve. * Jasper + Fix: 69696: Mark the JSP wrapper for reload after a failed compilation. + Fix: 69635: Add support to jakarta.el.ImportHandler for resolving inner classes. + Add: #842: Support for optimized execution of c:set and c:remove tags, when activated via JSP servlet param useNonstandardTagOptimizations. + Fix: An edge case compilation bug for JSP and tag files on case insensitive file systems that was exposed by the test case for 69635. * Web applications + Fix: 69694: Improve error reporting of deployment tasks done using the manager webapp when a copy operation fails. + Add: 68876: Documentation. Update the UML diagrams for server start-up, request processing and authentication using PlantUML and include the source files for each diagram. * Other + Add: Thread name to webappClassLoader.stackTraceRequestThread message. Patch provided by Felix Zhang. + Update: Tomcat Native to 2.0.9. + Update: The internal fork of Apache Commons FileUpload to 1.6.0-RC1 (2025-06-05). + Update: EasyMock to 5.6.0. + Update: Checkstyle to 10.25.0. + Fix: Use the full path when the installer for Windows sets calls icacls.exe to set file permissions. + Update: Improvements to Japanese translations provided by tak7iji. + Update: Jacoco to 0.8.13. + Code: Explicitly set the locale to be used for Javadoc. For official releases, this locale will be English (US) to support reproducible builds. + Update: Byte Buddy to 1.17.5. + Update: Checkstyle to 10.23.1. + Update: File extension to media type mappings to align with the current list used by the Apache Web Server (httpd). + Update: Improvements to French translations. + Update: Improvements to Japanese translations provided by tak7iji.- Hardening permissions (bsc#1242722)- Do not require standalone versions of apis that tomcat itself carries - Do not version dependencies- Make conflicts and provides more generic- Initial packaging of tomcat11 11.0.6h03-ch2a 1773077705  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"11.0.1811.0.18-150600.13.15.1           !!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""################################""!$$$$$$$$$!%%%!&&&&&&&&&&&&&&&&&&&''''''''''''&&!!!(((((((((!))))))))))))*********))!+++++++++,,,,,,,,,,,,,,----------------------------------......................................................................../////////////////////////////000000000000000000000000000000001111222222222222222222222222222233333333332444444444444455555555555544466666666666277777777777228888889999999999999999888:::::8;;;;;;;<<<<<<<<========================================================================================>>>><????????????<@@@@<<<AAAAAAAAAAAAAAAAAAA<BBBBBBBBB<CDDDEEEEEEEEEEEEEEEEDD<FFFFFGGGGGGGGGGGGGGGGHHHHHGGIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJIKKKIILLLLLLLLLLLLMMMMMMMMMNNNNNNNNLOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPRRRRRRRPSSSSSSSSSSSSSSSPPOTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUTTLVWWWVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYXZZZZZXXL[[[[[[[[[[[[[[LLL\\\\\\]]^^^^^^^^^^^^^^^^^^^^^^]]\_________________________________\````````\aaaaaaaaa\bbb\cccccccccdddceeeeeeeeeeeecffffffffffffffffffffffffffffffffffffff\ggggggggggggggggggggggg\hhhhhh\iiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjkkkkjllllllllllljjjmmmjnnnnnooonniiippppppppppppppppppppppp\qqqqq\rrrrrrrrrrrrrrsssssrr\ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuutvvvvvvvvvvvvwwwwwwwwwwwwvvtt\\\xxx\yyyyyyyyyyyy\zzzz\{{{{{{{{{{{{{{{{{{{\||||L}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}tomcatallclasses-index.htmlallpackages-index.htmlconstant-values.htmldeprecated-list.htmlelement-listhelp-doc.htmlindex-all.htmlindex.htmljquery-ui.overrides.cssmember-search-index.jsmodule-search-index.jsorgapachecatalinaAccessLog.htmlAsyncDispatcher.htmlAuthenticator.htmlCluster.htmlContained.htmlContainer.htmlContainerEvent.htmlContainerListener.htmlContainerServlet.htmlContext.htmlCredentialHandler.htmlDistributedManager.htmlEngine.htmlExecutor.htmlGlobals.htmlGroup.htmlHost.htmlJmxEnabled.htmlLifecycle.SingleUse.htmlLifecycle.htmlLifecycleEvent.htmlLifecycleException.htmlLifecycleListener.htmlLifecycleState.htmlLoader.htmlManager.htmlPipeline.htmlRealm.htmlRole.htmlServer.htmlService.htmlSession.htmlSessionEvent.htmlSessionIdGenerator.htmlSessionListener.htmlStore.htmlStoreManager.htmlThreadBindingListener.htmlTomcatPrincipal.htmlTrackedWebResource.htmlUser.htmlUserDatabase.htmlValve.htmlWebResource.htmlWebResourceLockSet.ResourceLock.htmlWebResourceLockSet.htmlWebResourceRoot.ArchiveIndexStrategy.htmlWebResourceRoot.CacheStrategy.htmlWebResourceRoot.ResourceSetType.htmlWebResourceRoot.htmlWebResourceSet.htmlWrapper.htmlantAbstractCatalinaCommandTask.htmlAbstractCatalinaTask.htmlBaseRedirectorHelperTask.htmlDeployTask.htmlFindLeaksTask.htmlJKStatusUpdateTask.htmlJMXGetTask.htmlJMXQueryTask.htmlJMXSetTask.htmlListTask.htmlReloadTask.htmlResourcesTask.htmlServerinfoTask.htmlSessionsTask.htmlSslConnectorCiphersTask.htmlStartTask.htmlStopTask.htmlThreaddumpTask.htmlUndeployTask.htmlValidatorTask.htmlVminfoTask.htmljmxArg.htmlJMXAccessorCondition.htmlJMXAccessorConditionBase.htmlJMXAccessorCreateTask.htmlJMXAccessorEqualsCondition.htmlJMXAccessorGetTask.htmlJMXAccessorInvokeTask.htmlJMXAccessorQueryTask.htmlJMXAccessorSetTask.htmlJMXAccessorTask.htmlJMXAccessorUnregisterTask.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlauthenticatorAuthenticatorBase.AllowCorsPreflight.htmlAuthenticatorBase.SsoReauthenticationMode.htmlAuthenticatorBase.htmlBasicAuthenticator.BasicCredentials.htmlBasicAuthenticator.htmlConstants.htmlDigestAuthenticator.AuthDigest.htmlDigestAuthenticator.DigestInfo.htmlDigestAuthenticator.NonceInfo.htmlDigestAuthenticator.htmlFormAuthenticator.htmlNonLoginAuthenticator.htmlSSLAuthenticator.htmlSavedRequest.htmlSingleSignOn.htmlSingleSignOnEntry.htmlSingleSignOnListener.htmlSingleSignOnSessionKey.htmlSpnegoAuthenticator.SpnegoTokenFixer.htmlSpnegoAuthenticator.htmljaspicAuthConfigFactoryImpl.htmlCallbackHandlerImpl.htmlMessageInfoImpl.htmlPersistentProviderRegistrations.Property.htmlPersistentProviderRegistrations.Provider.htmlPersistentProviderRegistrations.Providers.htmlPersistentProviderRegistrations.htmlSimpleAuthConfigProvider.htmlSimpleServerAuthConfig.htmlSimpleServerAuthContext.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlconnectorClientAbortException.htmlConnector.htmlCoyoteAdapter.htmlCoyoteInputStream.htmlCoyoteOutputStream.htmlCoyotePrincipal.htmlCoyoteReader.htmlCoyoteWriter.htmlInputBuffer.htmlOutputBuffer.htmlRequest.htmlRequestFacade.htmlResponse.htmlResponseFacade.htmlpackage-summary.htmlpackage-tree.htmlcoreAccessLogAdapter.htmlApplicationContext.htmlApplicationContextFacade.htmlApplicationFilterChain.htmlApplicationFilterConfig.htmlApplicationFilterFactory.htmlApplicationFilterRegistration.htmlApplicationMapping.htmlApplicationPart.htmlApplicationServletRegistration.htmlApplicationSessionCookieConfig.htmlAprLifecycleListener.htmlAprStatus.htmlAsyncContextImpl.htmlAsyncListenerWrapper.htmlConstants.htmlContainerBase.ContainerBackgroundProcessor.htmlContainerBase.ContainerBackgroundProcessorMonitor.htmlContainerBase.htmlContextNamingInfoListener.htmlDefaultInstanceManager.htmlFrameworkListener.htmlJniLifecycleListener.htmlJreMemoryLeakPreventionListener.htmlNamingContextListener.htmlOpenSSLLifecycleListener.htmlPropertiesRoleMappingListener.htmlStandardContext.htmlStandardEngine.AccessLogListener.htmlStandardEngine.NoopAccessLog.htmlStandardEngine.htmlStandardHost.htmlStandardPipeline.htmlStandardServer.htmlStandardService.htmlStandardThreadExecutor.htmlStandardVirtualThreadExecutor.htmlStandardWrapper.htmlStandardWrapperFacade.htmlThreadLocalLeakPreventionListener.htmlpackage-summary.htmlpackage-tree.htmldeployNamingResourcesImpl.htmlpackage-summary.htmlpackage-tree.htmlfiltersAddDefaultCharsetFilter.ResponseWrapper.htmlAddDefaultCharsetFilter.htmlConstants.htmlCorsFilter.CORSRequestType.htmlCorsFilter.htmlCsrfPreventionFilter.CsrfResponseWrapper.htmlCsrfPreventionFilter.LruCache.htmlCsrfPreventionFilter.MimePredicate.htmlCsrfPreventionFilter.NonceCache.htmlCsrfPreventionFilter.PatternPredicate.htmlCsrfPreventionFilter.PrefixPredicate.htmlCsrfPreventionFilter.SuffixPredicate.htmlCsrfPreventionFilter.htmlCsrfPreventionFilterBase.htmlExpiresFilter.Duration.htmlExpiresFilter.DurationUnit.htmlExpiresFilter.ExpiresConfiguration.htmlExpiresFilter.StartingPoint.htmlExpiresFilter.XHttpServletResponse.htmlExpiresFilter.XPrintWriter.htmlExpiresFilter.XServletOutputStream.htmlExpiresFilter.htmlFilterBase.htmlHttpHeaderSecurityFilter.htmlRateLimitFilter.htmlRemoteAddrFilter.htmlRemoteCIDRFilter.htmlRemoteHostFilter.htmlRemoteIpFilter.XForwardedRequest.htmlRemoteIpFilter.htmlRequestDumperFilter.htmlRequestFilter.htmlRestCsrfPreventionFilter.htmlSessionInitializerFilter.htmlSetCharacterEncodingFilter.htmlpackage-summary.htmlpackage-tree.htmlhaCatalinaCluster.htmlClusterDeployer.htmlClusterListener.htmlClusterManager.htmlClusterMessage.htmlClusterMessageBase.htmlClusterRuleSet.htmlClusterSession.htmlClusterValve.htmlauthenticatorClusterSingleSignOn.htmlClusterSingleSignOnListener.htmlpackage-summary.htmlpackage-tree.htmlbackendCollectedInfo.htmlHeartbeatListener.htmlMultiCastSender.htmlProxy.htmlSender.htmlTcpSender.htmlpackage-summary.htmlpackage-tree.htmlcontextReplicatedContext.MultiEnumeration.htmlReplicatedContext.ReplApplContext.htmlReplicatedContext.htmlpackage-summary.htmlpackage-tree.htmldeployFarmWarDeployer.htmlFileChangeListener.htmlFileMessage.htmlFileMessageFactory.htmlUndeployMessage.htmlWarWatcher.WarFilter.htmlWarWatcher.WarInfo.htmlWarWatcher.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlsessionBackupManager.htmlClusterManagerBase.htmlClusterSessionListener.htmlDeltaManager.htmlDeltaRequest.htmlDeltaSession.htmlJvmRouteBinderValve.htmlReplicatedSessionListener.htmlSessionMessage.htmlSessionMessageImpl.htmlpackage-summary.htmlpackage-tree.htmltcpConstants.htmlReplicationValve.htmlSendMessageData.htmlSimpleTcpCluster.htmlpackage-summary.htmlpackage-tree.htmlloaderJdbcLeakPrevention.htmlParallelWebappClassLoader.htmlResourceEntry.htmlWebappClassLoader.htmlWebappClassLoaderBase.PrivilegedFindClassByName.htmlWebappClassLoaderBase.PrivilegedGetClassLoader.htmlWebappClassLoaderBase.PrivilegedJavaseGetResource.htmlWebappClassLoaderBase.htmlWebappLoader.htmlpackage-summary.htmlpackage-tree.htmlmanagerConstants.htmlDummyProxySession.htmlHTMLManagerServlet.htmlJMXProxyServlet.htmlJspHelper.htmlManagerServlet.htmlStatusManagerServlet.htmlStatusTransformer.htmlhostConstants.htmlHTMLHostManagerServlet.htmlHostManagerServlet.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlutilSessionUtils.htmlpackage-summary.htmlpackage-tree.htmlmapperConstants.htmlMapper.ContextList.htmlMapper.ContextVersion.htmlMapper.MapElement.htmlMapper.MappedContext.htmlMapper.MappedHost.htmlMapper.MappedWrapper.htmlMapper.htmlMapperListener.htmlMappingData.htmlWrapperMappingInfo.htmlpackage-summary.htmlpackage-tree.htmlmbeansBaseCatalinaMBean.htmlClassNameMBean.htmlConnectorMBean.htmlContainerMBean.htmlContextEnvironmentMBean.htmlContextMBean.htmlContextResourceLinkMBean.htmlContextResourceMBean.htmlDataSourceUserDatabaseMBean.htmlGlobalResourcesLifecycleListener.htmlGroupMBean.htmlMBeanDumper.htmlMBeanFactory.htmlMBeanUtils.htmlMemoryUserDatabaseMBean.htmlNamingResourcesMBean.htmlRoleMBean.htmlServiceMBean.htmlSparseUserDatabaseMBean.htmlUserMBean.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlrealmAuthenticatedUserRealm.htmlCombinedRealm.htmlDataSourceRealm.htmlDigestCredentialHandlerBase.htmlGenericPrincipal.htmlJAASCallbackHandler.htmlJAASMemoryLoginModule.htmlJAASRealm.htmlJNDIRealm.JNDIConnection.htmlJNDIRealm.User.htmlJNDIRealm.htmlLockOutRealm.LockRecord.htmlLockOutRealm.htmlMemoryRealm.htmlMemoryRuleSet.htmlMessageDigestCredentialHandler.htmlNestedCredentialHandler.htmlNullRealm.htmlRealmBase.AllRolesMode.htmlRealmBase.htmlSecretKeyCredentialHandler.htmlUserDatabaseRealm.UserDatabasePrincipal.htmlUserDatabaseRealm.htmlX509SubjectDnRetriever.htmlX509UsernameRetriever.htmlpackage-summary.htmlpackage-tree.htmlsecurityConstants.htmlSecurityListener.htmlTLSCertificateReloadListener.htmlpackage-summary.htmlpackage-tree.htmlservletsCGIServlet.CGIEnvironment.htmlCGIServlet.CGIRunner.htmlCGIServlet.HTTPHeaderInputStream.htmlCGIServlet.htmlDataSourcePropertyStore.htmlDefaultServlet.CompressionFormat.htmlDefaultServlet.SortManager.Order.htmlDefaultServlet.SortManager.htmlDefaultServlet.htmlWebdavServlet.MemoryPropertyStore.htmlWebdavServlet.PropertyStore.htmlWebdavServlet.PropertyUpdateType.htmlWebdavServlet.PropfindType.htmlWebdavServlet.ProppatchOperation.htmlWebdavServlet.htmlpackage-summary.htmlpackage-tree.htmlsessionConstants.htmlDataSourceStore.htmlFileStore.htmlManagerBase.SessionTiming.htmlManagerBase.htmlPersistentManager.htmlPersistentManagerBase.htmlStandardManager.htmlStandardSession.htmlStandardSessionAccessor.htmlStandardSessionFacade.htmlStoreBase.htmlTooManyActiveSessionsException.htmlpackage-summary.htmlpackage-tree.htmlssiByteArrayServletOutputStream.htmlExpressionParseTree.htmlExpressionTokenizer.htmlResponseIncludeWrapper.htmlSSICommand.htmlSSIConditional.htmlSSIConditionalState.htmlSSIConfig.htmlSSIEcho.htmlSSIExec.htmlSSIExternalResolver.htmlSSIFilter.htmlSSIFlastmod.htmlSSIFsize.htmlSSIInclude.htmlSSIMediator.htmlSSIPrintenv.htmlSSIProcessor.htmlSSIServlet.htmlSSIServletExternalResolver.ServletContextAndPath.htmlSSIServletExternalResolver.htmlSSIServletRequestUtil.htmlSSISet.htmlSSIStopProcessingException.htmlpackage-summary.htmlpackage-tree.htmlstartupAddPortOffsetRule.htmlBootstrap.htmlCatalina.CatalinaShutdownHook.htmlCatalina.ServerXml.htmlCatalina.htmlCatalinaBaseConfigurationSource.htmlCatalinaProperties.htmlCertificateCreateRule.htmlClassLoaderFactory.Repository.htmlClassLoaderFactory.RepositoryType.htmlClassLoaderFactory.htmlConnectorCreateRule.htmlConstants.htmlContextConfig.ContextXml.htmlContextConfig.DefaultWebXmlCacheEntry.htmlContextConfig.JavaClassCacheEntry.htmlContextConfig.htmlContextRuleSet.htmlCopyParentClassLoaderRule.htmlCredentialHandlerRuleSet.htmlEngineConfig.htmlEngineRuleSet.htmlExpandWar.htmlFailedContext.htmlHomesUserDatabase.htmlHostConfig.DeployedApplication.htmlHostConfig.htmlHostRuleSet.htmlLifecycleListenerRule.htmlListenerCreateRule.OptionalListener.htmlListenerCreateRule.htmlNamingRuleSet.htmlPasswdUserDatabase.htmlRealmRuleSet.htmlSafeForkJoinWorkerThreadFactory.htmlSetNextNamingRule.htmlTomcat.DefaultWebXmlListener.htmlTomcat.ExistingStandardWrapper.htmlTomcat.FixContextListener.htmlTomcat.htmlTool.htmlUserConfig.htmlUserDatabase.htmlVersionLoggerListener.htmlWebAnnotationSet.htmlWebappServiceLoader.htmlpackage-summary.htmlpackage-tree.htmlstoreconfigCatalinaClusterSF.htmlCertificateStoreAppender.htmlChannelSF.htmlConnectorSF.htmlConnectorStoreAppender.htmlConstants.htmlCredentialHandlerSF.htmlGlobalNamingResourcesSF.htmlIStoreConfig.htmlIStoreFactory.htmlInterceptorSF.htmlJarScannerSF.htmlLoaderSF.htmlManagerSF.htmlNamingResourcesSF.htmlOpenSSLConfSF.htmlPersistentManagerSF.htmlRealmSF.htmlSSLHostConfigSF.htmlSenderSF.htmlStandardContextSF.htmlStandardEngineSF.htmlStandardHostSF.htmlStandardServerSF.htmlStandardServiceSF.htmlStoreAppender.htmlStoreConfig.htmlStoreConfigLifecycleListener.htmlStoreContextAppender.htmlStoreDescription.htmlStoreFactoryBase.htmlStoreFactoryRule.htmlStoreFileMover.htmlStoreLoader.htmlStoreRegistry.htmlWatchedResourceSF.htmlWebResourceRootSF.htmlWrapperLifecycleSF.htmlWrapperListenerSF.htmlpackage-summary.htmlpackage-tree.htmltribesByteMessage.htmlChannel.htmlChannelException.FaultyMember.htmlChannelException.htmlChannelInterceptor.InterceptorEvent.htmlChannelInterceptor.htmlChannelListener.htmlChannelMessage.htmlChannelReceiver.htmlChannelSender.htmlErrorHandler.htmlHeartbeat.htmlJmxChannel.htmlManagedChannel.htmlMember.htmlMembershipListener.htmlMembershipProvider.htmlMembershipService.htmlMessageListener.htmlRemoteProcessException.htmlUniqueId.htmlgroupAbsoluteOrder.AbsoluteComparator.htmlAbsoluteOrder.htmlChannelCoordinator.htmlChannelInterceptorBase.htmlExtendedRpcCallback.htmlGroupChannel.HeartbeatRunnable.htmlGroupChannel.InterceptorIterator.htmlGroupChannel.htmlGroupChannelMBean.htmlInterceptorPayload.htmlResponse.htmlRpcCallback.htmlRpcChannel.RpcCollector.htmlRpcChannel.RpcCollectorKey.htmlRpcChannel.htmlRpcMessage.NoRpcChannelReply.htmlRpcMessage.htmlinterceptorsDomainFilterInterceptor.htmlDomainFilterInterceptorMBean.htmlEncryptInterceptor.htmlEncryptInterceptorMBean.htmlFragmentationInterceptor.FragCollection.htmlFragmentationInterceptor.FragKey.htmlFragmentationInterceptor.htmlFragmentationInterceptorMBean.htmlGzipInterceptor.htmlGzipInterceptorMBean.htmlMessageDispatchInterceptor.htmlMessageDispatchInterceptorMBean.htmlNonBlockingCoordinator.CoordinationEvent.htmlNonBlockingCoordinator.CoordinationMessage.htmlNonBlockingCoordinator.htmlOrderInterceptor.Counter.htmlOrderInterceptor.MessageOrder.htmlOrderInterceptor.htmlSimpleCoordinator.htmlStaticMembershipInterceptor.htmlStaticMembershipInterceptorMBean.htmlTcpFailureDetector.htmlTcpFailureDetectorMBean.htmlTcpPingInterceptor.PingThread.htmlTcpPingInterceptor.htmlTcpPingInterceptorMBean.htmlThroughputInterceptor.htmlThroughputInterceptorMBean.htmlTwoPhaseCommitInterceptor.MapEntry.htmlTwoPhaseCommitInterceptor.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlioBufferPool.htmlChannelData.htmlDirectByteArrayOutputStream.htmlListenCallback.htmlObjectReader.htmlReplicationStream.htmlXByteBuffer.htmlpackage-summary.htmlpackage-tree.htmljmxJmxRegistry.htmlpackage-summary.htmlpackage-tree.htmlmembershipConstants.htmlMcastService.htmlMcastServiceImpl.ReceiverThread.htmlMcastServiceImpl.RecoveryThread.htmlMcastServiceImpl.SenderThread.htmlMcastServiceImpl.htmlMcastServiceMBean.htmlMemberImpl.htmlMembership.MbrEntry.htmlMembership.htmlMembershipProviderBase.htmlMembershipServiceBase.htmlStaticMember.htmlStaticMembershipProvider.MemberMessage.htmlStaticMembershipProvider.PingThread.htmlStaticMembershipProvider.htmlStaticMembershipService.htmlStaticMembershipServiceMBean.htmlcloudAbstractStreamProvider.htmlCertificateStreamProvider.htmlCloudMembershipProvider.htmlCloudMembershipService.htmlCloudMembershipServiceMBean.htmlDNSMembershipProvider.htmlInsecureStreamProvider.htmlKubernetesMembershipProvider.htmlStreamProvider.htmlTokenStreamProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmltipisAbstractReplicatedMap.MapEntry.htmlAbstractReplicatedMap.MapMessage.htmlAbstractReplicatedMap.MapOwner.htmlAbstractReplicatedMap.htmlLazyReplicatedMap.htmlReplicatedMap.htmlReplicatedMapEntry.htmlpackage-summary.htmlpackage-tree.htmltransportAbstractRxTask.htmlAbstractSender.htmlConstants.htmlDataSender.htmlMultiPointSender.htmlPooledSender.htmlReceiverBase.htmlReplicationTransmitter.htmlRxTaskPool.TaskCreator.htmlRxTaskPool.htmlSenderState.htmlnioNioReceiver.htmlNioReceiverMBean.htmlNioReplicationTask.htmlNioSender.htmlParallelNioSender.htmlPooledParallelSender.htmlPooledParallelSenderMBean.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlutilArrays.htmlExceptionUtils.htmlExecutorFactory.htmlLogs.htmlStringManager.htmlTcclThreadFactory.htmlUUIDGenerator.htmlpackage-summary.htmlpackage-tree.htmlusersAbstractGroup.htmlAbstractRole.htmlAbstractUser.htmlConstants.htmlDataSourceUserDatabase.htmlDataSourceUserDatabaseFactory.htmlGenericGroup.htmlGenericRole.htmlGenericUser.htmlMemoryUserDatabase.htmlMemoryUserDatabaseFactory.htmlSparseUserDatabase.htmlpackage-summary.htmlpackage-tree.htmlutilCharsetMapper.htmlContextName.htmlCustomObjectInputStream.htmlDOMWriter.htmlErrorPageSupport.htmlExactRateLimiter.htmlFastRateLimiter.htmlFilterUtil.htmlIOTools.htmlIntrospection.htmlLifecycleBase.htmlLifecycleMBeanBase.htmlNetMask.htmlNetMaskSet.htmlParameterMap.htmlRateLimiter.htmlRateLimiterBase.htmlRequestUtil.htmlResourceSet.htmlServerInfo.htmlSessionConfig.htmlSessionIdGeneratorBase.htmlStandardSessionIdGenerator.htmlStrftime.htmlStringUtil.htmlTLSUtil.htmlTimeBucketCounter.htmlTimeBucketCounterBase.htmlToStringUtil.htmlTomcatCSS.htmlURLEncoder.htmlXMLWriter.htmlpackage-summary.htmlpackage-tree.htmlvalvesAbstractAccessLogValve.AccessLogElement.htmlAbstractAccessLogValve.ByteSentElement.htmlAbstractAccessLogValve.CachedElement.htmlAbstractAccessLogValve.ConnectionStatusElement.htmlAbstractAccessLogValve.CookieElement.htmlAbstractAccessLogValve.DateAndTimeElement.htmlAbstractAccessLogValve.DateFormatCache.Cache.htmlAbstractAccessLogValve.DateFormatCache.htmlAbstractAccessLogValve.ElapsedTimeElement.Style.htmlAbstractAccessLogValve.ElapsedTimeElement.htmlAbstractAccessLogValve.FirstByteTimeElement.htmlAbstractAccessLogValve.HeaderElement.htmlAbstractAccessLogValve.HostElement.htmlAbstractAccessLogValve.HttpStatusCodeElement.htmlAbstractAccessLogValve.IdentifierElement.htmlAbstractAccessLogValve.LocalAddrElement.htmlAbstractAccessLogValve.LocalServerNameElement.htmlAbstractAccessLogValve.LogicalUserNameElement.htmlAbstractAccessLogValve.MethodElement.htmlAbstractAccessLogValve.PortElement.htmlAbstractAccessLogValve.ProtocolElement.htmlAbstractAccessLogValve.QueryElement.htmlAbstractAccessLogValve.RemoteAddrElement.htmlAbstractAccessLogValve.RequestAttributeElement.htmlAbstractAccessLogValve.RequestElement.htmlAbstractAccessLogValve.RequestURIElement.htmlAbstractAccessLogValve.ResponseHeaderElement.htmlAbstractAccessLogValve.SessionAttributeElement.htmlAbstractAccessLogValve.SessionIdElement.htmlAbstractAccessLogValve.StringElement.htmlAbstractAccessLogValve.ThreadNameElement.htmlAbstractAccessLogValve.UserElement.htmlAbstractAccessLogValve.htmlAccessLogValve.htmlConstants.AccessLog.htmlConstants.htmlCrawlerSessionManagerValve.htmlErrorReportValve.htmlExtendedAccessLogValve.CookieElement.htmlExtendedAccessLogValve.DateElement.htmlExtendedAccessLogValve.PatternTokenizer.htmlExtendedAccessLogValve.RequestAttributeElement.htmlExtendedAccessLogValve.RequestHeaderElement.htmlExtendedAccessLogValve.RequestParameterElement.htmlExtendedAccessLogValve.ResponseAllHeaderElement.htmlExtendedAccessLogValve.ResponseHeaderElement.htmlExtendedAccessLogValve.ServletContextElement.htmlExtendedAccessLogValve.SessionAttributeElement.htmlExtendedAccessLogValve.TimeElement.htmlExtendedAccessLogValve.htmlFilterValve.htmlHealthCheckValve.htmlJDBCAccessLogValve.htmlJsonAccessLogValve.CharElement.htmlJsonAccessLogValve.htmlJsonErrorReportValve.htmlLoadBalancerDrainingValve.htmlParameterLimitValve.htmlPersistentValve.htmlProxyErrorReportValve.htmlRemoteAddrValve.htmlRemoteCIDRValve.htmlRemoteHostValve.htmlRemoteIpValve.htmlRequestFilterValve.htmlSSLValve.htmlSemaphoreValve.htmlStuckThreadDetectionValve.htmlValveBase.htmlpackage-summary.htmlpackage-tree.htmlrewriteInternalRewriteMap.Escape.htmlInternalRewriteMap.LowerCase.htmlInternalRewriteMap.Unescape.htmlInternalRewriteMap.UpperCase.htmlInternalRewriteMap.htmlQuotedStringTokenizer.htmlRandomizedTextRewriteMap.htmlResolver.htmlResolverImpl.htmlRewriteCond.Condition.htmlRewriteCond.LexicalCondition.htmlRewriteCond.PatternCondition.htmlRewriteCond.ResourceCondition.htmlRewriteCond.htmlRewriteMap.htmlRewriteRule.htmlRewriteValve.htmlSubstitution.MapElement.htmlSubstitution.RewriteCondBackReferenceElement.htmlSubstitution.RewriteRuleBackReferenceElement.htmlSubstitution.ServerVariableElement.htmlSubstitution.ServerVariableEnvElement.htmlSubstitution.ServerVariableHttpElement.htmlSubstitution.ServerVariableSslElement.htmlSubstitution.StaticElement.htmlSubstitution.SubstitutionElement.htmlSubstitution.htmlpackage-summary.htmlpackage-tree.htmlwebresourcesAbstractArchiveResource.JarInputStreamWrapper.htmlAbstractArchiveResource.htmlAbstractArchiveResourceSet.htmlAbstractFileResourceSet.htmlAbstractResource.htmlAbstractResourceSet.htmlAbstractSingleArchiveResource.htmlAbstractSingleArchiveResourceSet.htmlCache.htmlCachedResource.htmlClasspathURLStreamHandler.htmlDirResourceSet.htmlEmptyResource.htmlEmptyResourceSet.htmlExtractingRoot.htmlFileResource.htmlFileResourceSet.htmlJarContents.htmlJarResource.htmlJarResourceRoot.htmlJarResourceSet.htmlJarWarResource.htmlJarWarResourceSet.htmlStandardRoot.htmlTomcatJarInputStream.htmlTomcatURLStreamHandlerFactory.htmlVirtualResource.htmlWarResource.htmlWarResourceSet.htmlpackage-summary.htmlpackage-tree.htmlwarHandler.htmlWarURLConnection.htmlpackage-summary.htmlpackage-tree.htmlcoyoteAbstractProcessor.htmlAbstractProcessorLight.htmlAbstractProtocol.ConnectionHandler.htmlAbstractProtocol.RecycledProcessors.htmlAbstractProtocol.htmlActionCode.htmlActionHook.htmlAdapter.htmlAsyncContextCallback.htmlBadRequestException.htmlCloseNowException.htmlCompressionConfig.htmlConstants.htmlContinueResponseTiming.htmlErrorState.htmlInputBuffer.htmlNonPipeliningProcessor.htmlOutputBuffer.htmlProcessor.htmlProtocolException.htmlProtocolHandler.htmlRequest.htmlRequestGroupInfo.htmlRequestInfo.htmlResponse.htmlUpgradeProtocol.htmlUpgradeToken.htmlajpAbstractAjpProtocol.htmlAjpMessage.htmlAjpNio2Protocol.htmlAjpNioProtocol.htmlAjpProcessor.SocketInputBuffer.htmlAjpProcessor.SocketOutputBuffer.htmlAjpProcessor.htmlConstants.htmlpackage-summary.htmlpackage-tree.htmlhttp11AbstractHttp11Protocol.htmlConstants.htmlHeadersTooLargeException.htmlHttp11InputBuffer.htmlHttp11Nio2Protocol.htmlHttp11NioProtocol.htmlHttp11OutputBuffer.SocketOutputBuffer.htmlHttp11OutputBuffer.htmlHttp11Processor.htmlHttpOutputBuffer.htmlInputFilter.htmlOutputFilter.htmlfiltersBufferedInputFilter.htmlChunkedInputFilter.htmlChunkedOutputFilter.htmlGzipOutputFilter.FakeOutputStream.htmlGzipOutputFilter.htmlIdentityInputFilter.htmlIdentityOutputFilter.htmlSavedRequestInputFilter.htmlVoidInputFilter.htmlVoidOutputFilter.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlupgradeInternalHttpUpgradeHandler.htmlUpgradeApplicationBufferHandler.htmlUpgradeGroupInfo.htmlUpgradeInfo.htmlUpgradeProcessorBase.htmlUpgradeProcessorExternal.htmlUpgradeProcessorInternal.htmlUpgradeServletInputStream.htmlUpgradeServletOutputStream.htmlpackage-summary.htmlpackage-tree.htmlhttp2Constants.htmlHPackHuffman.HuffmanCode.htmlHPackHuffman.htmlHpackDecoder.htmlHttp2AsyncUpgradeHandler.AsyncPingManager.htmlHttp2AsyncUpgradeHandler.SendfileCompletionHandler.htmlHttp2AsyncUpgradeHandler.htmlHttp2OutputBuffer.htmlHttp2Protocol.htmlpackage-summary.htmlpackage-tree.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.htmlLambdaExpressionNestedState.htmlVariableMapperFactory.htmlVariableMapperImpl.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlstreamOptional.htmlStream.htmlStreamELResolverImpl.htmlpackage-summary.htmlpackage-tree.htmlutilConcurrentCache.htmlExceptionUtils.htmlMessageFactory.htmlReflectionUtil.htmlValidation.htmlpackage-summary.htmlpackage-tree.htmljasperConstants.htmlEmbeddedServletOptions.htmlJasperException.htmlJspC.htmlJspCompilationContext.htmlOptions.htmlTrimSpacesOption.htmlcompilerAntCompiler.JasperAntLogger.htmlAntCompiler.SystemLogHandler.htmlAntCompiler.htmlAttributeParser.htmlBeanRepository.htmlCompiler.htmlELFunctionMapper.htmlELInterpreter.htmlELInterpreterFactory.DefaultELInterpreter.htmlELInterpreterFactory.htmlELNode.ELText.htmlELNode.Function.htmlELNode.Nodes.htmlELNode.Root.htmlELNode.Text.htmlELNode.Visitor.htmlELNode.htmlELParser.htmlErrorDispatcher.htmlErrorHandler.htmlJDTCompiler.htmlJarScannerFactory.htmlJavaCompiler.htmlJavacErrorDetail.htmlJspConfig.JspProperty.htmlJspConfig.JspPropertyGroup.htmlJspConfig.htmlJspRuntimeContext.htmlJspUtil.ValidAttribute.htmlJspUtil.htmlLocalizer.htmlMark.htmlNewlineReductionServletWriter.htmlNode.AttributeDirective.htmlNode.AttributeGenerator.htmlNode.ChildInfo.htmlNode.ChildInfoBase.htmlNode.Comment.htmlNode.CustomTag.htmlNode.Declaration.htmlNode.DoBodyAction.htmlNode.ELExpression.htmlNode.Expression.htmlNode.ForwardAction.htmlNode.GetProperty.htmlNode.IncludeAction.htmlNode.IncludeDirective.htmlNode.InvokeAction.htmlNode.JspAttribute.htmlNode.JspBody.htmlNode.JspElement.htmlNode.JspOutput.htmlNode.JspRoot.htmlNode.JspText.htmlNode.NamedAttribute.htmlNode.Nodes.htmlNode.PageDirective.htmlNode.ParamAction.htmlNode.Root.htmlNode.ScriptingElement.htmlNode.Scriptlet.htmlNode.SetProperty.htmlNode.TagDirective.htmlNode.TaglibDirective.htmlNode.TemplateText.htmlNode.UninterpretedTag.htmlNode.UseBean.htmlNode.VariableDirective.htmlNode.Visitor.htmlNode.htmlPageInfo.htmlParserController.htmlServletWriter.htmlSmapInput.htmlSmapStratum.LineInfo.htmlSmapStratum.htmlSmapUtil.htmlStringInterpreter.htmlStringInterpreterFactory.DefaultStringInterpreter.htmlStringInterpreterFactory.htmlTagConstants.htmlTagFileProcessor.htmlTagPluginManager.htmlTextOptimizer.htmlTldCache.htmlpackage-summary.htmlpackage-tree.htmltagpluginTagPlugin.htmlTagPluginContext.htmlpackage-summary.htmlpackage-tree.htmlelELContextImpl.htmlELContextWrapper.htmlJasperELResolver.GraalBeanELResolver.htmlJasperELResolver.htmlJspELException.htmlJspMethodExpression.htmlJspMethodNotFoundException.htmlJspPropertyNotFoundException.htmlJspPropertyNotWritableException.htmlJspValueExpression.htmlpackage-summary.htmlpackage-tree.htmloptimizationsELInterpreterTagSetters.htmlStringInterpreterEnum.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlruntimeBodyContentImpl.htmlExceptionUtils.htmlHttpJspBase.htmlInstanceManagerFactory.htmlJspApplicationContextImpl.htmlJspContextWrapper.htmlJspFactoryImpl.htmlJspFragmentHelper.htmlJspRuntimeLibrary.htmlJspSourceDependent.htmlJspSourceDirectives.htmlJspSourceImports.htmlJspWriterImpl.htmlPageContextImpl.htmlProtectedFunctionMapper.htmlServletResponseWrapperInclude.htmlTagHandlerPool.htmlpackage-summary.htmlpackage-tree.htmlservletJasperInitializer.htmlJasperLoader.htmlJspCServletContext.htmlJspServlet.htmlJspServletWrapper.htmlTldPreScanned.htmlTldScanner.htmlpackage-summary.htmlpackage-tree.htmltagpluginsjstlUtil.ImportResponseWrapper.htmlUtil.htmlcoreCatch.htmlChoose.htmlForEach.htmlForTokens.htmlIf.htmlImport.htmlOtherwise.htmlOut.htmlParam.htmlRedirect.htmlRemove.htmlSet.htmlUrl.htmlWhen.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlutilFastRemovalDequeue.Entry.htmlFastRemovalDequeue.htmlUniqueAttributesImpl.htmlpackage-summary.htmlpackage-tree.htmljuliAsyncFileHandler.htmlClassLoaderLogManager.ClassLoaderLogInfo.htmlClassLoaderLogManager.LogNode.htmlClassLoaderLogManager.RootLogger.htmlClassLoaderLogManager.htmlDateFormatCache.htmlFileHandler.ThreadFactory.htmlFileHandler.htmlJdkLoggerFormatter.htmlJsonFormatter.JSONFilter.htmlJsonFormatter.htmlLogUtil.htmlOneLineFormatter.htmlVerbatimFormatter.htmlWebappProperties.htmlloggingLog.htmlLogConfigurationException.htmlLogFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlnamingAbstractRef.htmlContextAccessController.htmlContextBindings.htmlEjbRef.htmlHandlerRef.htmlLookupRef.htmlNameParserImpl.htmlNamingContext.htmlNamingContextBindingsEnumeration.htmlNamingContextEnumeration.htmlNamingEntry.htmlResourceEnvRef.htmlResourceLinkRef.htmlResourceRef.htmlSelectorContext.htmlServiceRef.htmlStringManager.htmlTransactionRef.htmlfactoryBeanFactory.htmlConstants.htmlDataSourceLinkFactory.DataSourceHandler.htmlDataSourceLinkFactory.htmlEjbFactory.htmlFactoryBase.htmlLookupFactory.htmlMailSessionFactory.htmlOpenEjbFactory.htmlResourceEnvFactory.htmlResourceFactory.htmlResourceLinkFactory.htmlSendMailFactory.htmlTransactionFactory.htmlpackage-summary.htmlpackage-tree.htmljavajavaURLContextFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmltomcatContextBind.htmlInstanceManager.htmlInstanceManagerBindings.htmlInstrumentableClassLoader.htmlJar.htmlJarScanFilter.htmlJarScanType.htmlJarScanner.htmlJarScannerCallback.htmlPeriodicEventListener.htmlSimpleInstanceManager.htmlbuildutilCheckEol.htmlForceUtcTimeZone.htmlMimeTypeMappings.htmlRepeatableArchive.htmlTxt2Html.htmlUtils.htmlpackage-summary.htmlpackage-tree.htmltranslateBackportBase.htmlBackportEnglish.htmlBackportTranslations.htmlConstants.htmlImport.htmlUtils.htmlpackage-summary.htmlpackage-tree.htmldbcpdbcp2AbandonedTrace.htmlBasicDataSource.htmlBasicDataSourceFactory.htmlBasicDataSourceMXBean.htmlConnectionFactory.htmlConstants.htmlDataSourceConnectionFactory.htmlDataSourceMXBean.htmlDelegatingCallableStatement.htmlDelegatingConnection.htmlDelegatingDatabaseMetaData.htmlDelegatingPreparedStatement.htmlDelegatingResultSet.htmlDelegatingStatement.htmlDriverConnectionFactory.htmlDriverManagerConnectionFactory.htmlJdbc41Bridge.htmlListException.htmlPStmtKey.htmlPoolableCallableStatement.htmlPoolableConnection.htmlPoolableConnectionFactory.htmlPoolableConnectionMXBean.htmlPoolablePreparedStatement.htmlPoolingConnection.StatementType.htmlPoolingConnection.htmlPoolingDataSource.htmlPoolingDriver.htmlSQLExceptionList.htmlSwallowedExceptionLogger.htmlUtils.htmlcpdsadapterDriverAdapterCPDS.htmlPStmtKeyCPDS.htmlpackage-summary.htmlpackage-tree.htmldatasourcesInstanceKeyDataSource.htmlPerUserPoolDataSource.htmlPerUserPoolDataSourceFactory.htmlSharedPoolDataSource.htmlSharedPoolDataSourceFactory.htmlpackage-summary.htmlpackage-tree.htmlmanagedBasicManagedDataSource.htmlDataSourceXAConnectionFactory.htmlLocalXAConnectionFactory.LocalXAResource.htmlLocalXAConnectionFactory.htmlManagedConnection.CompletionListener.htmlManagedConnection.htmlManagedDataSource.htmlPoolableManagedConnection.htmlPoolableManagedConnectionFactory.htmlTransactionContext.htmlTransactionContextListener.htmlTransactionRegistry.htmlXAConnectionFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpool2BaseObject.htmlBaseObjectPool.htmlDestroyMode.htmlKeyedObjectPool.htmlKeyedPooledObjectFactory.htmlObjectPool.htmlPoolUtils.htmlPooledObject.htmlPooledObjectFactory.htmlPooledObjectState.htmlSwallowedExceptionListener.htmlTrackedUse.htmlUsageTracking.htmlimplAbandonedConfig.htmlBaseGenericObjectPool.htmlBaseObjectPoolConfig.htmlCallStack.htmlDefaultEvictionPolicy.htmlDefaultPooledObject.htmlDefaultPooledObjectInfo.htmlDefaultPooledObjectInfoMBean.htmlEvictionConfig.htmlEvictionPolicy.htmlGenericKeyedObjectPool.htmlGenericKeyedObjectPoolConfig.htmlGenericKeyedObjectPoolMXBean.htmlGenericObjectPool.htmlGenericObjectPoolConfig.htmlGenericObjectPoolMXBean.htmlNoOpCallStack.htmlPooledSoftReference.htmlSoftReferenceObjectPool.htmlThrowableCallStack.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmljdbcnamingGenericNamingResourcesFactory.htmlpackage-summary.htmlpackage-tree.htmlpoolClassLoaderUtil.htmlConnectionPool.ConnectionFuture.htmlConnectionPool.PoolCleaner.htmlConnectionPool.htmlDataSource.htmlDataSourceFactory.htmlDataSourceProxy.htmlDisposableConnectionFacade.htmlFairBlockingQueue.ExchangeCountDownLatch.htmlFairBlockingQueue.FairIterator.htmlFairBlockingQueue.ItemFuture.htmlFairBlockingQueue.htmlJdbcInterceptor.htmlMultiLockFairBlockingQueue.ExchangeCountDownLatch.htmlMultiLockFairBlockingQueue.FairIterator.htmlMultiLockFairBlockingQueue.ItemFuture.htmlMultiLockFairBlockingQueue.htmlPoolConfiguration.htmlPoolExhaustedException.htmlPoolProperties.InterceptorDefinition.htmlPoolProperties.InterceptorProperty.htmlPoolProperties.htmlPoolUtilities.htmlPooledConnection.htmlPooledConnectionMBean.htmlProxyConnection.htmlStatementFacade.ResultSetProxy.htmlStatementFacade.StatementProxy.htmlStatementFacade.htmlTrapException.htmlValidator.htmlXADataSource.htmlinterceptorAbstractCreateStatementInterceptor.htmlAbstractQueryReport.StatementProxy.htmlAbstractQueryReport.htmlConnectionState.htmlQueryTimeoutInterceptor.htmlResetAbandonedTimer.htmlResetAbandonedTimerMBean.htmlSlowQueryReport.QueryStats.htmlSlowQueryReport.QueryStatsComparator.htmlSlowQueryReport.htmlSlowQueryReportJmx.htmlSlowQueryReportJmxMBean.htmlStatementCache.CachedStatement.htmlStatementCache.htmlStatementCacheMBean.htmlStatementDecoratorInterceptor.ResultSetProxy.htmlStatementDecoratorInterceptor.StatementProxy.htmlStatementDecoratorInterceptor.htmlStatementFinalizer.StatementEntry.htmlStatementFinalizer.htmlpackage-summary.htmlpackage-tree.htmljmxConnectionPool.htmlConnectionPoolMBean.htmlJmxUtil.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmljniAprStatus.htmlBuffer.htmlCertificateVerifier.htmlFileInfo.htmlLibrary.htmlLibraryNotFoundError.htmlPool.htmlSSL.htmlSSLConf.htmlSSLContext.SNICallBack.htmlSSLContext.htmlSockaddr.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlutilDiagnostics.htmlExceptionUtils.htmlIntrospectionUtils.PropertySource.htmlIntrospectionUtils.htmlMultiThrowable.htmlbcelConst.htmlclassfileAnnotationElementValue.htmlAnnotationEntry.htmlAnnotations.htmlArrayElementValue.htmlClassElementValue.htmlClassFormatException.htmlClassParser.htmlConstant.htmlConstantClass.htmlConstantDouble.htmlConstantFloat.htmlConstantInteger.htmlConstantLong.htmlConstantPool.htmlConstantUtf8.htmlElementValue.htmlElementValuePair.htmlEnumElementValue.htmlJavaClass.htmlSimpleElementValue.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlbufAbstractChunk.htmlAscii.htmlAsn1Parser.htmlAsn1Writer.htmlB2CConverter.htmlByteBufferHolder.htmlByteBufferUtils.htmlByteChunk.BufferOverflowException.htmlByteChunk.ByteInputChannel.htmlByteChunk.ByteOutputChannel.htmlByteChunk.htmlC2BConverter.htmlCharChunk.CharInputChannel.htmlCharChunk.CharOutputChannel.htmlCharChunk.htmlCharsetCache.htmlCharsetHolder.htmlCharsetUtil.htmlEncodedSolidusHandling.htmlHexUtils.htmlMessageBytes.htmlStringCache.ByteEntry.htmlStringCache.CharEntry.htmlStringCache.htmlStringUtils.htmlToStringUtil.htmlUDecoder.htmlUEncoder.SafeCharsSet.htmlUEncoder.htmlUriUtil.htmlUtf8Encoder.htmlpackage-summary.htmlpackage-tree.htmlcollectionsCaseInsensitiveKeyMap.htmlConcurrentCache.htmlConcurrentLruCache.htmlManagedConcurrentWeakHashMap.htmlSynchronizedQueue.htmlSynchronizedStack.htmlpackage-summary.htmlpackage-tree.htmlcompatJre19Compat.htmlJre20Compat.htmlJre21Compat.htmlJre22Compat.htmlJreCompat.htmlJrePlatform.htmlJreVendor.htmlpackage-summary.htmlpackage-tree.htmlconcurrentKeyedReentrantReadWriteLock.htmlpackage-summary.htmlpackage-tree.htmldescriptorConstants.htmlDigesterFactory.htmlInputSourceUtil.htmlLocalResolver.htmlXmlErrorHandler.htmlXmlIdentifiers.htmlpackage-summary.htmlpackage-tree.htmltagpluginTagPluginParser.htmlpackage-summary.htmlpackage-tree.htmltldImplicitTldRuleSet.htmlTagFileXml.htmlTagXml.htmlTaglibXml.htmlTldParser.htmlTldResourcePath.htmlTldRuleSet.Attribute.htmlTldRuleSet.Variable.htmlTldRuleSet.htmlValidatorXml.htmlpackage-summary.htmlpackage-tree.htmlwebApplicationParameter.htmlConstants.htmlContextEjb.htmlContextEnvironment.htmlContextHandler.htmlContextLocalEjb.htmlContextResource.htmlContextResourceEnvRef.htmlContextResourceLink.htmlContextService.htmlContextTransaction.htmlErrorPage.htmlFilterDef.htmlFilterMap.htmlFragmentJarScannerCallback.htmlInjectable.htmlInjectionTarget.htmlJspConfigDescriptorImpl.htmlJspPropertyGroup.htmlJspPropertyGroupDescriptorImpl.htmlLoginConfig.htmlMessageDestination.htmlMessageDestinationRef.htmlMultipartDef.htmlNamingResources.htmlResourceBase.htmlSecurityCollection.htmlSecurityConstraint.htmlSecurityRoleRef.htmlServletDef.htmlSessionConfig.htmlTaglibDescriptorImpl.htmlWebRuleSet.htmlWebXml.htmlWebXmlParser.htmlXmlEncodingBase.htmlpackage-summary.htmlpackage-tree.htmldigesterAbstractObjectCreationFactory.htmlArrayStack.htmlCallMethodRule.htmlCallParamRule.htmlDigester.GeneratedCodeLoader.htmlDigester.htmlDocumentProperties.Charset.htmlDocumentProperties.htmlEnvironmentPropertySource.htmlFactoryCreateRule.htmlObjectCreateRule.htmlObjectCreationFactory.htmlRule.htmlRuleSet.htmlRules.htmlRulesBase.htmlServiceBindingPropertySource.htmlSetNextRule.htmlSetPropertiesRule.Listener.htmlSetPropertiesRule.htmlSystemPropertySource.htmlpackage-summary.htmlpackage-tree.htmlfileConfigFileLoader.htmlConfigurationSource.Resource.htmlConfigurationSource.htmlMatcher.htmlpackage-summary.htmlpackage-tree.htmlhttpConcurrentDateFormat.htmlCookieProcessor.htmlCookieProcessorBase.htmlCookiesWithoutEquals.htmlFastHttpDateFormat.htmlHeaderUtil.htmlInvalidParameterException.htmlMethod.htmlMimeHeaders.htmlParameters.htmlRequestUtil.htmlResponseUtil.htmlRfc6265CookieProcessor.htmlSameSiteCookies.htmlServerCookie.htmlServerCookies.htmlWebdavIfHeader.htmlfileuploadByteArrayOutputStream.htmlDeferredFileOutputStream.htmlFileItem.htmlFileItemFactory.htmlFileItemHeaders.htmlFileItemHeadersSupport.htmlFileItemIterator.htmlFileItemStream.ItemSkippedException.htmlFileItemStream.htmlFileUpload.htmlFileUploadBase.htmlFileUploadException.htmlFileUtils.htmlIOUtils.htmlInvalidFileNameException.htmlMultipartStream.IllegalBoundaryException.htmlMultipartStream.ItemInputStream.htmlMultipartStream.MalformedStreamException.htmlMultipartStream.ProgressNotifier.htmlMultipartStream.htmlParameterParser.htmlProgressListener.htmlRequestContext.htmlThresholdingOutputStream.htmlUploadContext.htmldiskDiskFileItem.htmlDiskFileItemFactory.htmlpackage-summary.htmlpackage-tree.htmlimplFileCountLimitExceededException.htmlFileItemIteratorImpl.htmlFileItemStreamImpl.htmlFileSizeLimitExceededException.htmlFileUploadIOException.htmlIOFileUploadException.htmlInvalidContentTypeException.htmlSizeException.htmlSizeLimitExceededException.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlservletServletRequestContext.htmlpackage-summary.htmlpackage-tree.htmlutilCloseable.htmlFileItemHeadersImpl.htmlLimitedInputStream.htmlStreams.htmlmimeMimeUtility.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlparserAcceptEncoding.htmlAcceptLanguage.htmlAuthorization.htmlContentRange.htmlCookie.htmlEntityTag.htmlHost.htmlHttpHeaderParser.HeaderDataSource.htmlHttpHeaderParser.HeaderParsePosition.htmlHttpHeaderParser.HeaderParseStatus.htmlHttpHeaderParser.htmlHttpParser.htmlMediaType.htmlMediaTypeCache.htmlPriority.htmlRanges.Entry.htmlRanges.htmlStructuredField.htmlTE.htmlTokenList.htmlUpgrade.htmlpackage-summary.htmlpackage-tree.htmllogSystemLogHandler.htmlUserDataHelper.Mode.htmlUserDataHelper.htmlpackage-summary.htmlpackage-tree.htmlmodelerAttributeInfo.htmlBaseAttributeFilter.htmlBaseModelMBean.htmlBaseNotificationBroadcaster.htmlFeatureInfo.htmlManagedBean.htmlNoDescriptorRegistry.htmlNotificationInfo.htmlOperationInfo.htmlParameterInfo.htmlRegistry.htmlRegistryMBean.htmlUtil.htmlmodulesMbeansDescriptorsDigesterSource.htmlMbeansDescriptorsIntrospectionSource.htmlModelerSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlnetAbstractEndpoint.BindState.htmlAbstractEndpoint.Handler.SocketState.htmlAbstractEndpoint.Handler.htmlAbstractEndpoint.htmlAbstractNetworkChannelEndpoint.htmlAcceptor.AcceptorState.htmlAcceptor.htmlApplicationBufferHandler.htmlConstants.htmlDispatchType.htmlIPv6Utils.htmlNio2Channel.htmlNio2Endpoint.Nio2Acceptor.htmlNio2Endpoint.Nio2SocketWrapper.htmlNio2Endpoint.SendfileData.htmlNio2Endpoint.SocketProcessor.htmlNio2Endpoint.htmlNioChannel.htmlNioEndpoint.NioSocketWrapper.htmlNioEndpoint.Poller.htmlNioEndpoint.PollerEvent.htmlNioEndpoint.SendfileData.htmlNioEndpoint.SocketProcessor.htmlNioEndpoint.htmlSSLContext.htmlSSLHostConfig.CertificateVerification.htmlSSLHostConfig.Type.htmlSSLHostConfig.htmlSSLHostConfigCertificate.Type.htmlSSLHostConfigCertificate.htmlSSLImplementation.htmlSSLSessionManager.htmlSSLSupport.htmlSSLUtil.ProtocolInfo.htmlSSLUtil.htmlSSLUtilBase.htmlSecureNio2Channel.htmlSecureNioChannel.htmlSendfileDataBase.htmlSendfileKeepAliveState.htmlSendfileState.htmlServletConnectionImpl.htmlSocketBufferHandler.htmlSocketEvent.htmlSocketProcessorBase.htmlSocketProperties.htmlSocketWrapperBase.BlockingMode.htmlSocketWrapperBase.CompletionCheck.htmlSocketWrapperBase.CompletionHandlerCall.htmlSocketWrapperBase.CompletionState.htmlSocketWrapperBase.OperationState.htmlSocketWrapperBase.VectoredIOCompletionHandler.htmlSocketWrapperBase.htmlTLSClientHelloExtractor.ExtractorResult.htmlTLSClientHelloExtractor.htmlWriteBuffer.Sink.htmlWriteBuffer.htmljsseJSSEImplementation.htmlJSSEKeyManager.htmlJSSESupport.htmlJSSEUtil.htmlPEMFile.htmlpackage-summary.htmlpackage-tree.htmlopensslOpenSSLCertificateVerifier.htmlOpenSSLConf.htmlOpenSSLConfCmd.htmlOpenSSLContext.htmlOpenSSLEngine.htmlOpenSSLImplementation.htmlOpenSSLSessionContext.htmlOpenSSLSessionStats.htmlOpenSSLStatus.Name.htmlOpenSSLStatus.htmlOpenSSLUtil.htmlciphersAuthentication.htmlCipher.htmlEncryption.htmlEncryptionLevel.htmlGroup.htmlKeyExchange.htmlMessageDigest.htmlOpenSSLCipherConfigurationParser.htmlProtocol.htmlSignatureScheme.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlresStringManager.htmlpackage-summary.htmlpackage-tree.htmlscanAbstractInputStreamJar.htmlConstants.htmlJarFactory.htmlJarFileUrlJar.htmlJarFileUrlNestedJar.htmlNonClosingJarInputStream.htmlReferenceCountedJar.htmlStandardJarScanFilter.htmlStandardJarScanner.htmlUrlJar.htmlpackage-summary.htmlpackage-tree.htmlsecurityConcurrentMessageDigest.htmlEscape.htmlpackage-summary.htmlpackage-tree.htmlthreadsConstants.htmlInlineExecutorService.htmlLimitLatch.htmlResizableExecutor.htmlRetryableQueue.htmlScheduledThreadPoolExecutor.htmlStopPooledThreadException.htmlTaskQueue.htmlTaskThread.htmlTaskThreadFactory.htmlThreadPoolExecutor.AbortPolicy.htmlThreadPoolExecutor.CallerRunsPolicy.htmlThreadPoolExecutor.DiscardOldestPolicy.htmlThreadPoolExecutor.DiscardPolicy.htmlThreadPoolExecutor.RejectedExecutionHandler.htmlThreadPoolExecutor.htmlVirtualThreadExecutor.htmlpackage-summary.htmlpackage-tree.htmlxreflectionObjectReflectionPropertyInspector.htmlSetPropertyClass.htmlpackage-summary.htmlpackage-tree.htmlwebsocketAsyncChannelGroupUtil.htmlAsyncChannelWrapper.htmlAsyncChannelWrapperNonSecure.htmlAsyncChannelWrapperSecure.htmlAuthenticationException.htmlAuthenticationType.htmlAuthenticator.htmlAuthenticatorFactory.htmlBackgroundProcess.htmlBackgroundProcessManager.htmlBasicAuthenticator.htmlClientEndpointHolder.htmlConstants.htmlDecoderEntry.htmlDigestAuthenticator.htmlEndpointClassHolder.htmlEndpointHolder.htmlMessageHandlerResult.htmlMessageHandlerResultType.htmlMessagePart.htmlPerMessageDeflate.htmlPojoClassHolder.htmlPojoHolder.htmlReadBufferOverflowException.htmlTransformation.htmlTransformationBuilder.htmlTransformationFactory.htmlTransformationResult.htmlUtil.DecoderMatch.htmlUtil.htmlWrappedMessageHandler.htmlWsContainerProvider.htmlWsExtension.htmlWsExtensionParameter.htmlWsFrameBase.ReadState.htmlWsFrameBase.htmlWsFrameClient.htmlWsHandshakeResponse.htmlWsIOException.htmlWsPongMessage.htmlWsRemoteEndpointAsync.htmlWsRemoteEndpointBase.htmlWsRemoteEndpointBasic.htmlWsRemoteEndpointImplBase.htmlWsRemoteEndpointImplClient.htmlWsSession.htmlWsWebSocketContainer.htmlpackage-summary.htmlpackage-tree.htmlpojoConstants.htmlPojoEndpointBase.htmlPojoEndpointClient.htmlPojoEndpointServer.htmlPojoMessageHandlerBase.htmlPojoMessageHandlerPartialBase.htmlPojoMessageHandlerPartialBinary.htmlPojoMessageHandlerPartialText.htmlPojoMessageHandlerWholeBase.htmlPojoMessageHandlerWholeBinary.htmlPojoMessageHandlerWholePong.htmlPojoMessageHandlerWholeText.htmlPojoMethodMapping.htmlPojoPathParam.htmlpackage-summary.htmlpackage-tree.htmlserverConstants.htmlDefaultServerEndpointConfigurator.htmlUpgradeUtil.htmlUriTemplate.htmlWsContextListener.htmlWsFilter.htmlWsFrameServer.htmlWsHandshakeRequest.htmlWsHttpUpgradeHandler.htmlWsMappingResult.htmlWsRemoteEndpointImplServer.htmlWsSci.htmlWsServerContainer.htmlWsSessionListener.htmlWsWriteTimeout.htmlpackage-summary.htmlpackage-tree.htmloverview-summary.htmloverview-tree.htmlpackage-search-index.jsresourcesglass.pngx.pngscript-dirjquery-3.7.1.min.jsjquery-ui.min.cssjquery-ui.min.jsscript.jssearch.jsserialized-form.htmlstylesheet.csstag-search-index.jstype-search-index.js/usr/share/javadoc//usr/share/javadoc/tomcat//usr/share/javadoc/tomcat/org//usr/share/javadoc/tomcat/org/apache//usr/share/javadoc/tomcat/org/apache/catalina//usr/share/javadoc/tomcat/org/apache/catalina/ant//usr/share/javadoc/tomcat/org/apache/catalina/ant/jmx//usr/share/javadoc/tomcat/org/apache/catalina/authenticator//usr/share/javadoc/tomcat/org/apache/catalina/authenticator/jaspic//usr/share/javadoc/tomcat/org/apache/catalina/connector//usr/share/javadoc/tomcat/org/apache/catalina/core//usr/share/javadoc/tomcat/org/apache/catalina/deploy//usr/share/javadoc/tomcat/org/apache/catalina/filters//usr/share/javadoc/tomcat/org/apache/catalina/ha//usr/share/javadoc/tomcat/org/apache/catalina/ha/authenticator//usr/share/javadoc/tomcat/org/apache/catalina/ha/backend//usr/share/javadoc/tomcat/org/apache/catalina/ha/context//usr/share/javadoc/tomcat/org/apache/catalina/ha/deploy//usr/share/javadoc/tomcat/org/apache/catalina/ha/session//usr/share/javadoc/tomcat/org/apache/catalina/ha/tcp//usr/share/javadoc/tomcat/org/apache/catalina/loader//usr/share/javadoc/tomcat/org/apache/catalina/manager//usr/share/javadoc/tomcat/org/apache/catalina/manager/host//usr/share/javadoc/tomcat/org/apache/catalina/manager/util//usr/share/javadoc/tomcat/org/apache/catalina/mapper//usr/share/javadoc/tomcat/org/apache/catalina/mbeans//usr/share/javadoc/tomcat/org/apache/catalina/realm//usr/share/javadoc/tomcat/org/apache/catalina/security//usr/share/javadoc/tomcat/org/apache/catalina/servlets//usr/share/javadoc/tomcat/org/apache/catalina/session//usr/share/javadoc/tomcat/org/apache/catalina/ssi//usr/share/javadoc/tomcat/org/apache/catalina/startup//usr/share/javadoc/tomcat/org/apache/catalina/storeconfig//usr/share/javadoc/tomcat/org/apache/catalina/tribes//usr/share/javadoc/tomcat/org/apache/catalina/tribes/group//usr/share/javadoc/tomcat/org/apache/catalina/tribes/group/interceptors//usr/share/javadoc/tomcat/org/apache/catalina/tribes/io//usr/share/javadoc/tomcat/org/apache/catalina/tribes/jmx//usr/share/javadoc/tomcat/org/apache/catalina/tribes/membership//usr/share/javadoc/tomcat/org/apache/catalina/tribes/membership/cloud//usr/share/javadoc/tomcat/org/apache/catalina/tribes/tipis//usr/share/javadoc/tomcat/org/apache/catalina/tribes/transport//usr/share/javadoc/tomcat/org/apache/catalina/tribes/transport/nio//usr/share/javadoc/tomcat/org/apache/catalina/tribes/util//usr/share/javadoc/tomcat/org/apache/catalina/users//usr/share/javadoc/tomcat/org/apache/catalina/util//usr/share/javadoc/tomcat/org/apache/catalina/valves//usr/share/javadoc/tomcat/org/apache/catalina/valves/rewrite//usr/share/javadoc/tomcat/org/apache/catalina/webresources//usr/share/javadoc/tomcat/org/apache/catalina/webresources/war//usr/share/javadoc/tomcat/org/apache/coyote//usr/share/javadoc/tomcat/org/apache/coyote/ajp//usr/share/javadoc/tomcat/org/apache/coyote/http11//usr/share/javadoc/tomcat/org/apache/coyote/http11/filters//usr/share/javadoc/tomcat/org/apache/coyote/http11/upgrade//usr/share/javadoc/tomcat/org/apache/coyote/http2//usr/share/javadoc/tomcat/org/apache/el//usr/share/javadoc/tomcat/org/apache/el/lang//usr/share/javadoc/tomcat/org/apache/el/stream//usr/share/javadoc/tomcat/org/apache/el/util//usr/share/javadoc/tomcat/org/apache/jasper//usr/share/javadoc/tomcat/org/apache/jasper/compiler//usr/share/javadoc/tomcat/org/apache/jasper/compiler/tagplugin//usr/share/javadoc/tomcat/org/apache/jasper/el//usr/share/javadoc/tomcat/org/apache/jasper/optimizations//usr/share/javadoc/tomcat/org/apache/jasper/runtime//usr/share/javadoc/tomcat/org/apache/jasper/servlet//usr/share/javadoc/tomcat/org/apache/jasper/tagplugins//usr/share/javadoc/tomcat/org/apache/jasper/tagplugins/jstl//usr/share/javadoc/tomcat/org/apache/jasper/tagplugins/jstl/core//usr/share/javadoc/tomcat/org/apache/jasper/util//usr/share/javadoc/tomcat/org/apache/juli//usr/share/javadoc/tomcat/org/apache/juli/logging//usr/share/javadoc/tomcat/org/apache/naming//usr/share/javadoc/tomcat/org/apache/naming/factory//usr/share/javadoc/tomcat/org/apache/naming/java//usr/share/javadoc/tomcat/org/apache/tomcat//usr/share/javadoc/tomcat/org/apache/tomcat/buildutil//usr/share/javadoc/tomcat/org/apache/tomcat/buildutil/translate//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/dbcp2//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/dbcp2/cpdsadapter//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/dbcp2/datasources//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/dbcp2/managed//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/pool2//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/pool2/impl//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc/naming//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc/pool//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc/pool/interceptor//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc/pool/jmx//usr/share/javadoc/tomcat/org/apache/tomcat/jni//usr/share/javadoc/tomcat/org/apache/tomcat/util//usr/share/javadoc/tomcat/org/apache/tomcat/util/bcel//usr/share/javadoc/tomcat/org/apache/tomcat/util/bcel/classfile//usr/share/javadoc/tomcat/org/apache/tomcat/util/buf//usr/share/javadoc/tomcat/org/apache/tomcat/util/collections//usr/share/javadoc/tomcat/org/apache/tomcat/util/compat//usr/share/javadoc/tomcat/org/apache/tomcat/util/concurrent//usr/share/javadoc/tomcat/org/apache/tomcat/util/descriptor//usr/share/javadoc/tomcat/org/apache/tomcat/util/descriptor/tagplugin//usr/share/javadoc/tomcat/org/apache/tomcat/util/descriptor/tld//usr/share/javadoc/tomcat/org/apache/tomcat/util/descriptor/web//usr/share/javadoc/tomcat/org/apache/tomcat/util/digester//usr/share/javadoc/tomcat/org/apache/tomcat/util/file//usr/share/javadoc/tomcat/org/apache/tomcat/util/http//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/disk//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/impl//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/servlet//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/util//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/util/mime//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/parser//usr/share/javadoc/tomcat/org/apache/tomcat/util/log//usr/share/javadoc/tomcat/org/apache/tomcat/util/modeler//usr/share/javadoc/tomcat/org/apache/tomcat/util/modeler/modules//usr/share/javadoc/tomcat/org/apache/tomcat/util/net//usr/share/javadoc/tomcat/org/apache/tomcat/util/net/jsse//usr/share/javadoc/tomcat/org/apache/tomcat/util/net/openssl//usr/share/javadoc/tomcat/org/apache/tomcat/util/net/openssl/ciphers//usr/share/javadoc/tomcat/org/apache/tomcat/util/res//usr/share/javadoc/tomcat/org/apache/tomcat/util/scan//usr/share/javadoc/tomcat/org/apache/tomcat/util/security//usr/share/javadoc/tomcat/org/apache/tomcat/util/threads//usr/share/javadoc/tomcat/org/apache/tomcat/util/xreflection//usr/share/javadoc/tomcat/org/apache/tomcat/websocket//usr/share/javadoc/tomcat/org/apache/tomcat/websocket/pojo//usr/share/javadoc/tomcat/org/apache/tomcat/websocket/server//usr/share/javadoc/tomcat/resources//usr/share/javadoc/tomcat/script-dir/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:43101/SUSE_SLE-15-SP6_Update/79afb111eebfd78ee177b74122bae983-tomcat11.SUSE_SLE-15-SP6_Updatedrpmxz5noarch-suse-linuxdirectoryHTML document, ASCII text, with very long linesHTML document, ASCII textASCII textASCII text, with very long lines, with no line terminatorsASCII text, with no line terminatorsHTML document, UTF-8 Unicode text, with very long linesPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedASCII text, with very long linesRy+ uo: =0Cutf-8e5623225f3ef5a639492324aa371df085457602014b397539552053ec3c3f12d?7zXZ !t/)]"k%<3u YLtTRy=7W( kΛeVR78:Ҹ#K!Q2t?Ihizp_zeCcܪ7'3-A$HC*(:y_& `LD#2%m^g7-MVQrox" &aSg&fRu]L̨."KPNB)<7NkK[F=a'홟Xu5~&8)uIze[~ ؂a=ᑣEi\Rڻ岆6 Ѓht"H9SE+ FcwWT* :F{Y~fq%OXt}B:Pp8q3ʿM43Yl ]g{ZA$e &7ø#kQ٬ܿ|k~bT<~H|!ۿLVMIF_Ĩff,Xz ݓ {f)3rAgQlٖrVYLD/cIpϔuK 1'궓96I2^xyC܏$KpTKMI([&$-x#e/?L y+?,gqAeQ -Y=_rV}>%LA VtSW)OHNOw_)$v Ty&2np@Rh̔&\JeYBk|$,[5Uީm|Mi@g>Ip J1.`~ 6eDPcQB7y=&.yM`zϢ{Xg*/S\~[RAIU`餛euQk`iq5io|?F:.Y)c n߫Ξ (kK q$n{2Ak *W=%w i2+1l˻`9[(ؔ.EN̄7>) wr%M{޹ļ}=#B~X{1 Q37K{{N+6bZyp}oܪ]ќ4kr8EY6bQ=d n܂G9g`Cjyu+xV&nU4/Q  As_ w0J|3;U]q&(p!'j-h՜pX/rs 1$$+K~'sd32e NЗNj18,!YqAM5r06:R0ï[U=/PΘR%vm+eYg)"}21;^ixS@4Wi]z.JC0-&|6؛9Dc=gK֛8urTLAMWjKV.jZQ{D8Z3=h`mѸNr(ݦC2izD#3va\+ZȰ/V3 ^g|4)kт7iTRe:Py%VR\jPp;hۇq X>lMs'Py*酛!v~tBg|o-Qڶ #s8ڞ4n]^ \j̜pGrF1+^1^%),̟q \qWo~2b9ddYq֋ʮM5bܼSRT?aJ$ \\;$]Ѭn om ౤j,oXO4_ ]]zQ8]a39kP%\諍x;y0nз+n8̈ۖ)w)/XkLhѶGzoFɅMSN`E`|Zmpe(@z,s2W;\?` d-O}js ZhQsyN8z.2m՞ V #ۦMl81h>^Ι^G"ev-ehU/F,Ox&L`o6VXp\t,tXTx*T]):D_[^(jܔ%Jg ~~}Љ<͜bd N`)ɗ~be.~Pkg|Ƈ>sor[t^lkkMLEW_UpKD^%?*d":?^)ŦHNLҐS;x\0‡w#*8o@]Q؋sCI.{jkEY ˇ*0\Bf2SŎOo?ճdD&R0&%,JO@0+Gif4KWutᇻF#%G? 9t $73`ZU'>":1w-e`q%qAMqg>NY%{δ:jȰ`qY<2cIjB)+Xv*m u6-NwOH-J XS>Qʼnv:#ˋ؉ |%r(Y 3co]@y"6%/@rZ—8e@.fI')9@MQW0&ۺUbg#WiB Y::s=Du]J>=-t]ʒW;AM5VqMvbPwVԭTj=ѥ;{RPJ+ k ~DjW6?Tlift(<ҀXRZ;1x9P|=w`zlZ4iZ):evmYXL$r 9ւi-uq܅n Q,BƴZ1k}|Kyy03 syG3 tR3cf_ql.38k9偂|Z 'm!VdJ\;1z@GCuؿ @ MFϿH'ea ?DJԢ6段eߨoQh ZQ a9')xKZ J[)xm'NLW58I{&㘛fr^7fUl>T V@]́"@B1߉DpYm}-pQ3b=T)8uUv$ N  ">O6\೚̄X(Qs)1V"? F Q'wK'[ pntcbrD3UQ8Fl*3a P3hб5 5D7񎦽.dՅ{Ys3Y'fb#3=%6dGuYx..lO Awfa\k#Qp]o:4Ѿ]),ÞkC)R2%%SĽ" `dLб;fO[bwӀ#Adb,Y!xmA@nPKb0nsTw\'=BTB@@mgNZ/+a̺ YB0=(8G72RF률 Zܩ]-(󕤔rFP{i[ЄJCsH=Tꐳ* &$[ $ۍT'=_"#1h3ލ,:OS[2=E hk )uo,ٛFZ.HMVos^67:lUpkEvw򴰩跞U8Xp乔4aMd8ͣB=rC뗊f#I $M+PJşy'Y}.͘;ND RX)|A+Bp@d:趤%w&0 zs;o3"X JJ%[W&Fى):2^rf5P2p͐ BQ0q2ga5MPlcrh3_5kA+nDq|^gd__*'RWV8GnU uo|ЕPb焸X`]d8?&;4TՈ &_#,pT;V2eHč;l4gENI$F͇*8og:h0 f@`?Dh݆fHRx0qU nMF1AW̩A?E Q.ʌ;dj.} %B:diAEO|{;* e+bK jlP."sgc GmuJvKS#ɕE['wN U 5Ole…5a ej6gD;ɨ'/ PFTgU 7 ,|X|,3ZFe}L+O9cR$2^'HoEЏN_\ǭ4+rM~0'jh!MvE'8eś?6](2 Z90Y)*8rs|/|\Ycx;Зiaqe/̟.?Y*=LS1 ;bA1O?zěgdKJ݉dT} {-C'y#^\P;:9NŢ]x~6p]>TJVZ#=ARu+';5mώ m5f#,oԷ?nfԓQ@L9(Emp"\,=G!H]._L*K`ѓGҞ*.hP?Arn;)ڨG ~;?aCΥ#6QajNuVE}Tm>!t^Cj2zޫ=Rt["?,XHS(ߙGt1,~teOJ_%/ ru+3z G CTeƒ_2; Hl~a*HbX_B\bDjho--vmP.DGuocCWoc T$f?\:im؝( {o(,GyR—MԀFk?Pȭt(edEXr=³ ./tY 3+&3p}(Z5z>jl Egƺzի⡊>4o(BGJ?,oBVYKދ6Rxqn$+:J$? E+}i"]V1x0#^ъ}~hݰ;._UDӵScmҰ1 6: VoRrUc4ɟ2Zb2[_ZiA/4)@ط%Gp&b`Npq({)z`J/,׈,Hc]{DECYZn9R {R>d.B>k:09EҤ, BphEuy(Œ2vl"1t<J ^αG)8kstLSްa#cms8ݗ!6}}Iem@><wJ 3e0pƑM͍>:|Ŭ4xD=ͱ SCQN6z Pa(zҾxQV8+̕8sf6ƒp%35*D$ם Z>D[hR9(KݷWNhKȧ`s3.+#<$Exjy=('} 7o, haZ3"3֛H=./гǙ>}%cιRNas_oլ hֆH 8Ib(*կ&->O@ +F=T_RNa /xX"(}V`?HdlFRv>y)}:%,Z~xaL|Po5hϲĦ}?6@ߛ#/ۚszHxO 濙x-MCU3}*fPOntiaw0KoJ2Rrs`v6|wA2Q^ 9 )+VtLN5A8).^I)lR-Y#X2jqi7md̉PUVOwr; wUCɆN0WM h5ǬjiRIpn\ ]kTlm|`~͍3Pbr, }]~5il +u”UmX&6YCSҿ-[8l& rrgNe' V٬uܹ@%Io2;_p*VaNI 5!a^Üo&si*@.{:I m8 A|;k %X X܍J3bKߴELlb)DD-ùviJ/fBvLl6f A奚uPp6k},%cOpRE7I8^BfmOR#9"=OvwNM,}-Gxm^҄`u fAcg*w]$C)jrGU?(n -R_M:NS#QVđ!Q!jjV vg0  \QXK)|$|"FcBڞZZX}{-#ҿCpam.߂jGtia[! ,7՘ ?y_Q}a:J;6o [P68 ЅQ4(*M.z{-ԙ} _ rUS 3 fOx7z>*zj("w$ f 3+aTg]XGQkrZV~fA>e r|&{^LtK|h²Yw1,:-uP?@}hP>jFщ@ן?GCrl8#ՕJ2qחԨ=Sg\ ڔĸU^#zlG1ՖalE>Kd =ϥF匕hE}yxJN1 ͯhx3,}O6%ͱâZd;yOmi me* 'cGjN-P*6ğ6Uv!z]' ˍ֞6ye%b"Ѹ_ < ߖʚ5fM~EnJa¸t'lr&*P-TE -nC)Os>;o7l7p7dpYc yYIvô^}I JQay>.@gC_}DȝX^Ioa$Z=dV)ް+ @A}R\+ɳ\edd`)Aw:Ԧ99>͕Wy˕a\k}Z@ܸbƣz d(4xwH xA$F @+9#YVLWטPE*.A;PzI? 3bQC;PwZ#HZ>Iiŷmn_$(S|e"{FEJtX^%clu) 24Qrf!lܲ"TOXf#dK} Sqpvߧ̎KB5[9wCp75Ϥr ;J4/4~?:r #嗒M1iF;Dص9MpDm*i#AlpHR6Ft>!޾p/qq)CWP]mJKj_e$ysl&LN_Gdm|(cu 9g=Q~8{@ꏫS'_ {7-4fݎ ÛR]Y, < j2 d#!L}f8vNbʉ%CE8-9N9 :9nǫd_MwONS}.1^+77tkrx»5rw*sٓwłaP+ HT òRM)~k_F`Yuv]5T< p:M,"bN~!6rbS v8,K/k Dm7$d][^wMD\{v~[u dSsxğ諑Xe -}WYFWiC.`>m@ ¢e__5_ԓubBuOOW=d3ĎWGޏKUIl ^XZ!QCj^آڙ؀ĭxYܺ&څӷrGVy|XRAR^Eg}(9pN-}F=A˻"#o#\0b6|}h95&{!Ԅl  %5e@@cv`輝$ 'Ⱦn GZؗa&7>s1}~qK2lpg[*)QW5lf~Ή@Zmbpv'E Q0u{>Ays4yP‹t}D1Nu'8S5e_2ZH=Q[4%+^Lј Eޕ~@7ı"Fn& }o`6"i3ޕr+O bA-xk](Xl#w5![J0&dΜQ8ppw벉hXcsL鿚:t R)բř{j2 hj3E;6@(.z". lI08+!mdJZ2F#᫸H``VzWߌ mgȺo@R]~:8?s_B">o8rS( xTy(!z {&I8'rӐgI2Ϭn&5%$v49JN$')'̯TiA?L$WO /ӄq@pOu$+M  9c*^塛A_L⇺X"8BV$3%Wn<EtgQp )?V@?dyz2z7+4rm`62ՠ'B4xm&ڸ 4čĚYF9 }5§dҒ.u)!ɎCX.89i_Q0owX(HÍ̉yiP#CF؆*.YS,;PC7ujTϔŵ~\v<6 ~\o(z8Ha_gUf'{B]̣?K*(~Bu X": h@8ghsӮ_ Fz8ޠnO4i&̸~qp9'F"-d>LS$O6yISCE-n=.:Cq"ze8w߮2!ioGaYh{Rm ̾|2) ikD$4g(wH]N->:@,2 rQ9\ȿ˄7ƂAU_(ofI`^"69tH*(&'bnWeu؛WI R4 uj"ctSNWZxpou辑@MT#|[9 ːݞ xjE9#,/ڗm&Ȟ!隯Wx XV+Ԩ1zbnm^[? E)#t뽆W_+YIwE؞,@nӞ`n'"ZHRj.˅Ğ,IBi|`g XIHe'1e<II@ںd8)fv[63 h&^Ԧg̦_wO94^Lu:EcyMfj"*?-5"6XJ1LK~g3zBvK?M@5PȨ\08":?MPw *EgZCE[usz_Z(JDWW+G&?ӕ2jl&W|4.?)bJ/8Uq&`mTV*9f1+u9fl #P٨3kbk_t-8q؎^t1{ȝ܅xd񧭥9| %yJizƿe5TYÛ:nvŅC-[3}t':^x 1E v#E尷wC:MqA*_I:FiyS䅸0t>}$%3!%3ϮOhU)W gnLm-oe`{xB 3MMTlq/Z9Ս{`Fl B]@M*,f$vr4B6]t>+-~wjޜꖯ\_R}$ޣtHߗ.wޑy8<(u6q_f;őº*`U,|$9s70V)k^g+ R%zH̙F`I|PFMRrf{<"r3c>l7v7G?຋= O}U z"x9A%0?iUvKF{ Ï0ix0\:z)Om2uG|D0#X8qm֐{ 1V'>MD9VDƬMe]R1*rM3&L1Z!cںAN߫ I1Wi(7zXiii\?_N?0_Ͳ+ tnnɫJo"Ľ(NZVFVQcv%֦joϞж7E"e,ڀ:䭾څ"%;&"/̎Q[!9d1VÅCkc6gPJf_j<x#D+Io>":9.#^3!__vy~68gP75=vYwa4/tQ: =M̾촑|hrvDL6Y  awna1$k{o?ӥu~ymi)nzb\lCb!7Hx~s])mwL@9 .JU D6mӯifkHYy@8[YpُVVzq6x&s&^:do?\6. r``3 LP.BOT(g4Z;uM4mÅu&mEDG0gf?Os`BFSO7 D˶¨S\|f@|1Lt9_@0Xb[ "B@"5l엁 <@LKbRO3qBf]JC(.1: #cI:!I{0k Ϻw$ck A\_hiDl|DgM(Hggys6נndqf:[LhIs~Zjٗ;P^q:@n1pSL^jvBWR*hsu?qoo\Z0C'y#R[qeo;bPjE% e@2DJo҃[;'ټ}Wb;9Uو*|[#o&VsⳳGNlyH*|Wv) zd3|}ܕ+idz!ݡV;NOl4e5~(/X1(YfJޫ!nyXJd&=)3A[=j=IQ3z7bz[7[<8Wйʧ?Uuѹܵu a}GA:-:R){#fi" f. yp0S%'*40)^ HP/ܿ7g '3)6 qrV\U~*mWɮ 7Gۨm(3,ʎF?uʸ5r%JKb_amGm3+|?ex&L=PB\Je]!!E4nZJVìdqSM :voft Ȃ yiͻ Q?쪸m9 S܎r쑵}_Ym Հ֯zJP9װ>n&sںv{+lA`Έq:Ī:S33{ЙaN+r9 "g74ƿ4],d^Z_y}p;6ҟ$JkMEw3V^Vl~j.jw8H;m2LàKrȉa@*Ok:X=\74mI`nHb܁f[|jKdXXKan0ƆO\. G_478ܗ~ʏmF%𐇢!mUF4^;>ER) &h)'Q7txt4>9a>Kzi::J9%62׺aKZ;Cc\f%;` f?^\8!C3"G| _W+K Z}J<:Ws b_)5!"(_˭/@ܵq!QDX 1E dF{| *s%\Kջ+naM+rȳKB}&_W`Ӑ8PcTn 2l:Dt؉E\v BV^pVI0の%3$ٳ~k#ׇMM,=Dq뚼g=_~޽/$b[*ˈ[N}O:wkWh˕u0k: qmqf(aⷹc>\[w3C}ѨD #  t$Lj^ʦDOp8dAnTfѺ+cnNċ 4ˬm}|LApO^TT"$*W . (ƁϪ!5<8c^7N@xrw |d|iT-Sau&k P^tbl]n.!@ AYW_LxtfP'4%zҽϪͅXނ\#Rv|>RDSG(8Ȳ ұ3AGTbZJa~n{=. K{NRW F7LcӮj[!}t +Z(;B9chTWa9h9o:<>W#98>/2쁋vgEnRGh`.F;ߏ^(n(`X)M[Py ,Dhk7"5ȝ,L!RGB(.<.Hhx#x?XO˖qdaAơ}d5SHΉ*$qyE̳W"brwv>~ϺQq7?:~Ѭ +ؕ``Vtؔeq\y9:ğf׮wsn<%NBY:W.ORr˖sޘ, T%lYခxbL7[C&-ޕa'G' >-@@X)^U>zuUiu|b}%O*JsA㖢UY(pIr0 z>W5Mj5neI]qn۲0-,lz#`ls>T *i=5qx'?3<,[%gs(tC}D7)WYGXZ2{Gz,!j4uCQ a/jBbCGf[+r[a K3]iz6*zNn|}).Q~j _?U'($qM'#d'wf#e#LY .CL#]+CZY.V|&5 q<}.\4b*huMO~a11C`'mwߤ4"RX{&)"gړDk+{vw`(,Z)Ǫt= db !#\&5N+g:D46a#vV֛YJSDk}p<J.1 U=*XE OmO=Uy (t4;Q5 ya;*9lEoG)Jv6K*)t|. bd*t@H]K{QEc9E0'kv+Ns=u!\Y9l#uYMAuXm A9[4Ly]QqO+\7䕖X}[9#-mj{,OE s5g2r/䅶vP&M{-6|Xz;EUQ)(7tR'}RE1!t0*{IRcA̤)H*C昅2'e~YN"(ߥZB! c|>)B6؃ïc~زe^JWV7W LDa }>ͩ& )QƳCuB|D%E!>\L[Y\j/z?t.Ԅ\iR-yeu к;!}}I%a21tAuPI T(㬉GFh5 9M_}Z*jDoS-x9u8mӎ@p~* G DHOLWoř, ou|a?w[g  y>u_R,1o(5bbmRyV'"M|v]Xn`Ȭ2]ݢjw\j&?rɋf<4hf@8j4 QI!7@Bq*LjFݏL.}m1t< FfV7Ȟ8\ `ĻP %Ia 0Yjq`vӥ r-Q%d)ZRqic\x6!}Wځ%<$ʖ7ʴ8;O5j:'*E ՌY98 aR;lNb^2hT^V}9ygSDPυ};7o+A=t40&.z x]gVP͑&>a)1- meE`zN$41i 0Í0S-*&˘`B=6;d2,5E WA \axƗ T*IP]f*2VEOlN.pDZK?Q NUѹ}2mZxߊP-Ӟ)p \76ej 8{(H~' <+OyҠWNռ2\6&k;\4| P)@B%I5  BwOS3I$xE;;mQSdjiHȟyD"!d2ҧK~#f`I[eCG2:?6Z*·QC؀e(A Rh6vzke_R֒TBqHIo}ge*br 0{Pף *M]6^ֺ'e@þJ`+]^iUH[Q€c""AO_/ ͷ 3q=w =X&ՙ~Rp^C_HmJsQ"gȳ9ɭNlSE+%UVA}[pNH6$ӟZSZKY{QNjfҜ-/]mrA-=|< C׮Э:cf-<)?i$J%QjT]p1T < H9C%KJNAO\ևд?`Fh/Pa4Rvf 0J[7a*ɶ>ΟSD>L hSt; )X re8xzҗ<ϽA/f/a_YP\-caϿ\;0?JwMR?}e6<ɭc3&&Zf^0WȞ_0 zW.\*eyi9PoD;g>0,:Zeld]VsT3Nw LSYʩ~?C:<?m9]  y~_`l!FD G+Yb7i UI(𵾓BCK"K 2Ş5-AzJ᨟\~4eޡEB'șvKm;/cp]N%=緖d~$vqi\+ {Z1؀o@@ V 6;=˅yrV4M/j2r4Gꃩ`IUž7rEcwߔΠFࠀTnyIղ\ݲ%a뎨nma5pn3\}e<5ܘOQYee O-dpwMOWgs/r&`y@_qMu5cTn&V !ZU4 dNG/ PʒsvI`$_rxsRh`q}+, Q_';N02t=ÌR؏[#08f0v7]n)tb5#I;W8^缌#ac/u߬v> -΍w]Z5G QyHHO,h f#>3WpL*5|KuoU3z.[#KK'@ c}XzD|hGf8Uzsh2L]]YAE&xq9OO!؟ե{3)m0zE,Kthuq,JP,>&~p< W|a,Bߠeޜc~xꠂKO +1OĪă+ gSZq%2 qlAx_D1OGyɉ.hYV`kѲT!pID%)Si,cl]vQ*PbJL7!ޫoy \8iq?kdip;ċ 1!ض6KR; xߵƓj m=e=ܨeȶ 6(~#ỊO;ڼJVƶi'\Tb _*ԾkII?,&M/$ɾ9,%&+H#|t`T ՔGilAi.3h:#ːڮ*d(r4"xS;*.Z>]@B{E;KzJ-SKFXG+qNp m"z#w噰t7)PXHC<)l}Q2DI i9f(2h޵ a|Gaè nl^нd4[t=摘X;ydx~ZԆ d^b1b/;;7`?GVnnDp@k|o9ۄ+eN! \"iV J4b5Mw"_w8s2?].gjߩ" U!Bٮp`qH:礆?;#\Pp8C1؈|?(Ca0;ľWi63eK_gaR=;G%po R,'Yc\QRcBk~.S+̝[e/ͺ8 ݞͰя\&tYґ'Le]ړ/=S9}=  \T&njycs׫Qݲ_+{͛X0-Y5xb>f=cEt"|;Ahίu}9rʓ(D_pg.4gx0ȄwY W6 )?RS>Q(J ӗ2ĉv~wvFX҆D땾qgRss_ eڶ uWKIP$=\>ƹ9J:4ZT⃾Hӿ+@+w\i¬!Wvh . >mOeַny%lwr1~1{Clwnvp#/8)Olf@vZ K=ȫq~bSh\dѺg{J|NGalD:u{|Fv:=KEimh6i o؛M8 D;Aub{, 3'(^)5[8B$V|[5x&LeȼX+8vyF+#QRYɃ||[u?S/!AB E*'"+c$q fPAum$w^z`hqwˮ x++QѴjђVTQegw=y*-P"B k4 X ԝ;2ҵɗpNl25(_r 5 % @^)<5_RCzx%MAl2gJz?9B? yL*MpF'<hq7:{sUN=N+S\ a2TcLNt*|d8@8} ~SDYז"s{p2ROG&a[(6Mt*>M+~zNA=ѡ]19@KFnSG!GVEPfP;SJe g*+c 4 L9p,WVCYQCط4#jO*IZ*r@(OϻV_Pz=+21h. n5~{,20y*z=977,Li:2,@Psr曡Va<m~Ir`ʥjtVWJj\iW6bf<.ۋr":n]l>9QZ4./oAptzyy.0l<.rmvfecZ}Dc6e7✡r՞Ot+^$GJʲl} ޖ~ٞ;p'3CDŊ`cޟW/wiy.Vgg>8 xiUQp^v $3c[lj*N5 Ͱ`$R]Z0H=H2Z ZЯ7kY0x9ݢcM- /Mj^a V'5#g9AŰkZM2<);9IܺάIbBh^ٶtSߊZutH8̩h_w6,{-5vDsA\M#L;ԛ)'X֫\⟌q(rNb+*5EPJ6IHgGq\J捍a-0XAjfe~_}Ó5I쫌u!7%N(ԬepbN '%Hz $xTrp?uF9yc64&O/ `\ 1މ"@@KwNV17Ѐz|-ˀ'őD I"-GQp<Ey- C ܤ2=ik4? F sXZ ̀Bdmk!<7{%04Qg\QU>n./^wNFQZw,B)ǝaG~rk8[9|kA! Tx.!%dws>;T%XhS|.fTCE'0"*.~ߋp o|hѓSmCLJje}ϡQFb%} m7aIC7yPNVթ@z1ݎsqE]ey꬛o0u>!8jn۲T[«hVx8>k#脄4`sY{uGs8Ԓ;jYL_6Ժ j(+Bʭ+v.;+qȁ=' *ƿhD⹭C ^Z3尅"ӅT"LLdv)\a?_Vj')-Ƀ5s DZ %VZqǟ\l`C mldliY6jtֺR5NhhHQ#鴈"W C9qK* I;}).EIfE6WՏ_C#x~MzD! + -tɈ:i/PY3?ƜmtӦtOѪ*M.b,[b`w[ ۏ]|Rr_8A-=XnZ' b˰ sf ]>9IόdLV۾CD,VRrIZFm7.v<6>|0>w:P穽_fi[2.FstZֹ R4"6oBtt:e8MlI>"N4\3xr]7MCutˏXL6)T<-׭莣0 `ABHNv{tכ%|X {vK%v5$TrEsCbڪtğ[CB }Y1:DU,77Lu@_N5l`])VflPU(rMk ,$ aE)\dMLc]W7.*`I$ZA]JS'ILr}י!60nn%GD ԑ:{"q&(?3P[ʚWDܦ;*ǹ" v'r s *Vs5l2(T|x]KV 01=Ps rpMY)0R+1̂U{ܤU"Hehydf~!W5gMˬan.4w+Hirծ^QV{gKx*Hm7fX-J>g3Cu!caC N4%->+d\E8%gJBs?Mȸ4+%,J8U![}?/PȆ3:m m^c ҟ -]Ӱc.xqC+8$F%l7jPRThxYD+{h[pr5-x,!c |C~5v]l%P%=dR&$q maJ%}y)^1c^':6F" 63xT QnDLDc+r Z Ƭ|k6%XKlV[J"r}{K.ORվ4w<)DgUyPmdVQKwW֯{!ߡpP-Vz!'.WWW%K.4 \ˋ-'1Q8,|*웏R]L#c_U@EX{V0ڂ#t'DOdWzeHː.] ]G[R#q&Ϗ4TZhKt!ݝL-9>ݽN 2LB;=ZٜTx7%9Fg =iNP%َ|8v.\SyO1 V 2!Ӧ(gqj,Ta_;5U[kB~3sgfXMA &!77à л2 Ok)hێZI5- &6O&>uI T+B{O;ў$ujDߗNC?9IQ<D?yHAHRvwM /,sӆ)Tka Q_#|k5 U3kŔ]J\y+w*⺥L_`Ρ%m}Kik_U'5F3(E;>ZRRRS.=M&mEoGS׽yd%ƘXuJ`!Wt?`Bj[ۡPS+HUA ^Q)6!7rB,qi}"wtR.~ ͳוt$'Y?OĿ;/ yۖ=6fN|))AwPC@`VV(ZEyʗaUeSm+DF؋gOvlq.N9cP;&uD$'zoWw6CC(namn<1mΰu2^孫qb Wrqw}b7%SJ&Nm6vHqjW5ʮ}TEys_8h8%.©70]MgecS*ʶĨ(*V -mәgK142lPy=XG`BRS A0b?hX\'<6>V>E̱! ^ŗ*h<$(5B p^IǔWpP99 N9mole pƠb,{݉vѶΠ:Pm`5yпh%Ut9wΆ*[[KcXaJGS)Ts\W-;!' U=GrZ=0!&vGvCJpLgf8F`j :䬊o `c9 ۥ( ]&TOjA`W`慪8/  M$v Kl-DgXy4C/15]UJL iʃώtY F |$EeCu^x'8'ȐzOtelKYμ #W` 6#wf'3&QG1]q5\Oȁ6,YIeq(<2!ϖsчaMw$ι5lTǧό h'-jPqoͮ\c EoU>>ׇD?7ŐuwS^1wRج#[;il)rYЗ H|IWH f&/'5rFO"28M}m<* JvλwEӑzTҾZ7ixLqږr!؆ezaU|?9 /%}W͵;eC` F.AO;_3~e :HԬ1l;,=|H?o"akTz[Abƴ^A;ZNLKl ZAzӖV[U*tƵJL"He`\l0t2ϊȯLs{CY7ml=]guOlN:g s YCs?vj- רE\;sg"[p^L%ޚw05geGjim IGVڅ(ECj1Flh;2lm2eY q&Q}~Wt%޾b:-ti!BKZ7؈'6d׬ Qq'"_>dJ+(Kʧ<*{' PNPuV&@ٱfFc <!Ըk P=K`XXc{SЧGt7ֻ G3  OO+g@Nsp%g؅6;r\NrZu0_ eB"i;7C’8qL|2 M3L6eIoU?r |Q,aa [#-$; RBJ Cfئu]ar ВAf!a$}2 ct@MGY/\\ * NgN"]#{5'xA=#XSД̼lA7+ĄaanhԹ)uީ[ɴ%؛)A_%'9@W? )LȨD[7^^>.0Ht7i ZX9(ʲ%| BXGx׶o + ϽƗ%Yhz}\DN1Q4E b&YsP۔JBM4P'rKAY.Wa CnɁKgDshNZYʝ-]Ek^mbg:?0)oV ) ;R|Uo?m2 }w0}cm920y5c PM5͙7(9"W:2=ء"35[[:G98BF#֦C #e$=0؍2PJh Z%*IRӵ`Q`-:U^H%na.:6V5hWZcl5#Kgyu5~!`Lђ$r3W^N}я#JR}Ivw1*;LdSZ͜Ɠ(un YCLğka~=P,`tR2PXD>+x$aԳ8}g{!X&l9qrڙ% l>T"Wk~0dZzGVklFF 4 Rl;aAPso-3BV/IЮiү}:':ԙxM1e(-JlxWQxbI5@4.\VzpM!oB ڙYɵ؛ቒJ]y*"XD.,@nQHa>kPBEkQ./2 L]EZ^gxRzⴔ0ǹ(E'7ע'aQk5Ӷn*RڵPWmSO$c!˦bR\7x}cλruEvC.CnFfxv+Qz:>k5,Jw5Q)*qPnǖ;:kE~wfИ:_lȒ|ʫM"#|q0BL+&ycQF$n;Br 㓄i(Aė0@myQ"A,=۹}ª.|с2WAd0(3XP %eύ#Sߺd+q<pW}sA3"/N C)O2Zvl:S4/jzj Dg"G`5U&DrޑƖz29ZY'' %G+)k_Aqxptۙ@"eyM'#(ۧAf}8-9V Ɵ1Θie5Wۍ uk6Ԃ?6?֛м}%DKg윘9E/z56V0cl%GZN3Gb"&fp EiP=4kxXq R3IC5z)4yWb`FO JnfWhvSHВGlEf&H'Jޮ*JqA5E^sTQxe큗FdE|#n:]Y9vƐZz!碼ADhѻjq84Z(K\p.} *=QgER$aҲ3#j5\CbW#t>3/\Ð?v\CO| i@^ Yɏ,kD)·{%<@*@2j[ډAK5K5{=I5/Fc?/*k%ŦWOf)k:nQ$ hPY|A>cPQA-loDn4D8pۣ!p!8zzEd,HTVƃG} C..릳Zm7ZI֌I2FMkkhL{>nte8Q(Ew@x>(T"&O_SNCר=AJKv6G\  VRm荴zHsb pHdGc*ɜV |R.G*/.0FYv]UYBm@AZxcx tmҲ̫5 ; ^bV!59w`yd=J ?=sb?#9xO}7dee4Oceͷ-rЀӼ'+sGbwG,/ZdL$d}+ .9k*ЭJϽ!Rl3uCC䫛ޮ.ѺBRlOWl+цUUw/j7I#S,[̾-'h2޷a5vel%tp55Ŝ_ U?T.0)1OMh΂57y!&>,FX"Nc`KKP=.\}>$ 6S~+P|eI {0Q9ʼQK/!ng_<#ݬ s݌k75 >4 tYGl5:p*c/-c!,֋9}n6W[+?duL"EmѣSf? :?K'ȸlZ{8BhmGd$+݇<.iGjHmͩFgIPI`!3ZwQdHZSq 0^B٠tE,KxVjC _Q4k9BeTRSZ[KmWxO׸z$uT̒U,ZZ_"xu_džֽ}[ȔhI@Ik@ߪgUٙ/w1v?˥I➫wQLU9OK2\~kߡՓo6 IʚI &펠H>? jO8b`vdthP=emZ Ǘ0 }[ Y68 sjr%=rѽOiF\Biwgk%nUzn ^x6tS@z=d"P!XA{!bV{o8@V$4ߜf1.i]ۀ3 =J0*S x%vNb ȶt ^PT~z:fNe2(,xfG;qSZ<Ȏ@ev&y{حWAj09Wa0K/ GVڧ<&.ӡk?m޿ Pri|C=RȐ! "!/̭awtf#˛I۱5} f/or6AnwB3戅YB<d}: M~[.5*?oKk+oZzey&ϊDM " ̻6x wK[>&ЈJXɉ{VXfV=Z#?#}.8<_$A. W]ڴi+߁O%izГ"۰n!Q7WC9K &Af3n%D8nWɠ4U=#UTD5Ϛ E`p~&0QAbŇ" ۏ*Iɲk dp`OTVD-}+S4~rh$θķU&Q1o0` _4m؎ho_Y(& M}}U~|@WOԲmH%PRHH%"N6`eL)=޼RS- @(SLem,K*|]cn-%x*M4umE%JE,8'SU ]R(N${^V8Þ7kF- ގg,ʢ~{1ׯAKZiF~ػ\s 쵇wq*/pjžUkf&,,-\h$NYݪ dsx.*S{ݽ $8УaW%JQ9#%Ty+4?`Mr/1%>ÃeZ A;(X_XݒMs 4{bnS FRƘG %X -D^VNl^`"POImvNG7]PI^,J"cRnz0{j䬪/ uǏXP\|vkKF?|\*m:jÿSan!G!*+4wZD=|ҲP>(?#8.x c46ω#ᘠ|: .8!h47_jO/7.ek:$Y#bEIRY7̥#OTb5{n6-nz曛p_`W#AXj!`weBS(I8{ e^Bh05 /1:]0hRN);hG=,6KI_ V"oi_M_RɃCСxl^m={ #1#_#rZywZЬ{ 5H9p>SD!LSNA ( ;E%85Eݬƕf &DeD֞e?i?ެ˸U죮jĔ.z(%o6'XWx\y͋z䡳P8-o'HAC8rdy%cx|3ѷ ˁm³Jo-P!]O*M,O ׶fvXY6.Ć 0c9/`.*AvOnOŃ& b Vu;*r%.5B͖u$I 3 3tk1ahwba뤁k5)>FYk"/᎕cz:}8vXq/L|r%'pi7bR^A›? P5omK߉\{GK9Ay s%".{-oy))>i6Ԉь&?7WDZlr[?x)pctŰDyjXb7pPKME"b 2D9n鲗P6C-}ҕTP l:c0f0o?3r6m SB2 iQٮF~G./D4A` qٻgm҅E,Lw\ɴ5&-S=yeKt#eLxN]g:EVjH8t<)k2a0fGss3׳ۧ\FDOq\R'B",<$ъ R> lB)7xuaTokWERgصqo@ S,VeF)ȽǁsƝUJ2dt!J 3(ǛN?$E~ta +hm*i_HIo6r Atj劉1(2RM*Dt[?/o zŸgp෾yT}&$1xGv*N"f'M~4cüMp:CJ7,Vz$jM2p`Sƒ zi'+iH=D\4O5@ yGᒼ!q+-W#]|Ez=f-3ZMh^;ۀmTw9LajsI/9IY\dў aC<]'jgr7٭(W$v| ;y@j_F胺E{۵WTTH)U86u̫&]Q)&wISQ!Orhf .-Ϫ[Q%ΈaArxwsQ a\tG MFڐOѩ/ ÙmGc- 9@Ӷ k.F+izIhfvp+mVvhg?xPɒ%:NOzn`bt 9r7?!ʰV>Srh|l7]HI&ʃvbaR˧)ޱ-_|li(lxk"V [!w{(S >k9nunD(,z-jA("zEUvRRkEf%s\HĘbJ, 1a:/aW7EG`ҡý@}3)]&~R)9# I-@\6gN~p&ӻdw3H%|i є?7{МADqRW^3oK ~U8 (dB@S3w.E}۵3%e\$`xQc'5{a9}C{8og oBkezZ+-NmU[G){caoHo:R*Otc$VU1^ГG= *0$ek~զ#av]U^_FW~4{ۼ}|?_%9Y!E P2rADlC|xO}wD NmI[۴%߄UrF,a_F,Yjp}&8#i>? kN}lJ0:D ᙣ U3HǍLݼc \b#>= f -"#+14ΖTv6uуPs "g*9={2b)9Cd,uTa^$]njef4V 8]-c5oҾD L/m- -2wB`'Fv ,>ɜasS/fgvqݦem3I8J5u}#I1KtLj>MV!7b0[ƐN7n(H'6.?@'uV13}G|+R6$ɶ-{?VniHSHYk{}9L0~<-؄HUQ\-cw]?;&%=~Cѷ3}ylk#C,B!hd v,Ig}Wx h?%R~]ݪ[[x^s)6T^Zh*Rp= &rdP`iS_3N];ip!x͐3wcDPqIYa첀\l4g͊Y{K(FȽM9E y˫)Z \rB%(GXH?,_*JXiCl*h9uD,s<Y~yn CM&z1( \H)ήg$>qEV dő G(qBAn#pXd5L˄(ICښAC/p #oeQ6O *ՎdU׊.J6knD]-z_OPf6^6 ÕcqrCN\>ZB3x]<W.qMo/Sm(c~(! |]N?9Jm>:A-J!ժo6Ǹ!9ЭԅL\=+ SW ~+jeƧ&e.` CJA JК/8kheb)RВU$MS°S\|o:&!j*i ݰ{]𥜄qv"tmrXVf~1spcTBRe^`s(rp+l +kKqwlμ]Uc'6D  `F-vh*|M(Ve X՛h4-usc_Wb B"rfh }M^fha-/pX|TZ~`t5\%ckh 4zcMdvN=//.p0 Sk-)b1ʔZSNC]![ƥ{`uExTx[B G؀'Q}+uiᒏc){y<4*HLÊA8 뗱kV:Bן1= eGYnvsKCѤ76& #ֶ|c-4Qt,wA"Ljq߱\9n&LRkc2{ʉo,(>N|5!:I&;ȷ~vI.],x[ȷ]~I7qI5M+tԋ,SRW=om]]M67ѭMײ$CB1uػ6JD8_&2lo *azWWjW MyPt+*WNїb}IAP0LĿHUkp7x# c9,"{Rmy&,QSJB2́GAxLK95_~N&]? MQٻ=NúN=6$D~$6ȍo|ϵr<)PM= V`|v3|i6amFWiF[L3-m;B'Ro[>mvoW @(Ot \U{ ԑbo_4iH\z.6$5)bkpê+^7к-(SW:Vsq_RE~Пw`.j%AnIQ)ۯ '1KW<>ss.9[Zw74-MvjϜ2Õd"U S2-cp4m $29D qш.hjw/ X7ǡ؄u mc*EH OV;Yq"L/1>tgHBوz0zwzL/Xʑw/Ňx"fbt8;W 3V3@#1+ĆgK͍q7j<'ޜ uOVĈ;\6]` E@>arOVtr,+e\&ŧC,vnao Ŷ*`9ûD"H.(K%_9 fަz=&۶C ^ ,Mi*'!n(A8C#Vi' n7GnZ:8~hX_ؐr̓Hj# GgyfqȨp'|NJ t,Tae<<|J?~ui< lglGcW˻mOS#Nci,DnfCt#KP*bJL~3Tw< _ z7֗%yhbD/A!JQ;JmO!ÑU(Ab՞NI0-sԍzЦ=A<ף&uI.F P7+ɣpk=\> |F&a:\V;*52: p1"wI["́{ԑ,%6t+)3k7=}5vv˘%zJ*|jq1bK- ?ەX1RSq?<}Rkr+X5%Dx X 3ŭ2?ɧ^l&vz\ؠy`Wڧ!{{jg;H9`J? T 6>X4X.wĚipXV0bw2̬C3Ld~-$h/%N~/v* AZ F'M:i h"`@!Ԯn/w@`Go  Vu:}7&t%DvȊ)f\'b% q}rl3{5 kEKo7vΫOU/#dVHO0;IZ3Wm_EP)f,JYSpR.}a.6YC Z!`ק*^_!1S0|n,zK#%Px~K$*W{#3=".Z̊ȑN$?,]`M֮䨫SWxXؼ^"z=0rs!CLPvLO*Qf7M%,-˽U=͍Q?&u`#@烪pd텲T7q&{C'B=bp%yKyٕ[]&yC Y٥lKRʷ+#'th2ApUvbobZ79ھtqh G{5f|cvu7O HKs TNBBl,ϔ`zdd}ZK$&%YpfaT$t[PU7`09kwYG "R+LBByŧbm;M)uدԟ"2Q5 1Ң#:ʭN3E7uMUf?9a̘Qog/@uv2ȴ9,XG*dyθ#A< #Gs(DyB^fW+/MJe+(ީ+`gĻ ѳ |`K؉0eȚUIU-2` WRܗ}%%}Пn, MQE+Hn?KD0{ԜMu&eU2VL.2[fu2]@Yv4XV?JN~S [|TzVl@& wY/ Sr&i^+<~3njbNWe5`bTiY\G*!2c؂5X>Y(+y.uSNG$33MoXu*m.->=hЊ w6%Lk'  4Ѓ+0b+RyoopdJpC7 nLaӴ|$v$hMǖ%VŠ5A/6NHС~ewD!wA2Sn]JB;7Qd:WW,*럕yu!'Bg\'Im_T0dwӞ'1<RURM!IE`CZs IJOpn;8[rhV4ӕ~ ]J>G\tB.>\\H_K(/jt W{.ϔz|S?D M^HVHŒXI5H(%Tg̱9Z7i d%$$• PͻjJU//[KQis")"lKU/"Wq}l g&N3=J+eM1whvI:@ͨ"N|ЮW3PdI>~։xk9խ@g DE[tT!&Lc"P| CPw ?a_a*GEVmy3>eRd)Fam N#NIm~.AHsT?x8hb1d~`aVBnܽ#^B⋔z%atIPBĝxcyƟs/ߪ|g0 kW p0,ۀF)K z\Z'jPtr1D BធU o\Q(5i~z{ߣ~kJիD!ouQp{8~;Ͱ9#72p3nxaj N'x^NVj"o`Zm_Mai xG߾zys.*S;β|pw͖T$|+q֩ښ%8Ŏ+4r' >  q70H@4KhN0KT|Mv P` N*h&vCD yb(|ZX]Br{zs 9)u%kfǍ F@Ϻ۬g%1}m$T19/ZQ6/@wUg+t̩*TG.!ZN&W\v||WΜr>c ţȟ(5a?<:'_# AxXC1tT>QiUΌP@js4p7K &CߝbZ41]j?cdcN3p&-(uNJ*(6w_ ɋJΎ~ ߬0FYfb+ǻD~q UH`rJfa%S m)nv`ǐR֝_ Еߢw) [Q ࢼ_ahIæqe$lXs@b)"h4׋|UAUȾ ɔ0Sw0Pg>,SÊffss*Sd&V 8KnD%:uD6@p+ڊOM=:tlt4nX1_f\5'եL3'J7-EH70ep ]^:|$ewp&#C$SZR} ts‚wx23=wU'9PIPK=E{axxb_j7.W[psg7{?Y: N, 8`ai! &7&sA wNv6#*Yښ|,s3x'ٌ+$JQ4H<%橛l7TڥpQf~?5߻^Ǯy&_a&%o3hH6諒h3P\Y>ΫEo* !lxc*%Q..JB HJc 2,7~82zƏTg/\^s\,#o,~p%DIBnX6@,y;tm* u`_,2ޢ+c|QuD!/%1!YBʱ/؃Fx+ǀ]xf %Ġ;"`5F1!)Oߔ?цieOs)ZXM;ғew,p?'UIڭ |_wv#.):O\b~l`$j ͪ}-HpnfH8\ эHYC݋r%$K1E;R--D`zw1=2}#f9S TGV =8ݔh!E*" {|-RTNR;)j}Zŷ}?dk܏<@Q@_ Ǜځ`@P__@e\&Y6Dr˩U4-Z`U+_?1߬J$QOj*7Z{arOi~(^YJ-4 D `wbq2o2rAP⇪"Y #+G1S4x3j_X;' mM;>݋) @m򊥲x^P7a, 7s>^oFhєݩU怿U6b ~lz>Rw#CgC}Z4#H g p5y}lA#ܢMgm,ϥkN]7ɱߛPVEL`mfhS fx`TN.1N,ؓ N_u'w~wa5D+Lk)o Sg$] w Aq;63"a҃MgmAӿ7z}3"BR+ 7;c%?IǕF_W &nu(=.O%6q4BTjw`ei9^}86Dʖ+@+e:,čy|OJ|ʉ `llm:b,0`PĈ> q4֠MA`ЯlafNўM,^/;'H+G,G TI*oQ;Eg7q}^ӨYZirKԽp\LS\k7/ܭ\KCM} InG0G4L:+3]=l]$}LܚBx(5󆷷]wF7:IWQx-2aҭ{Mx2jj9T|p ֜g$ /JUh=qЬ~g" ͯW]tٟ!F%38y(zfŁ\Y/Z -j3@e* ~?IzR}ѩP? ԑvK )diͺPDzMg5ìF?;3!8((PS\ϔit_wn҉iy 6pM,|i|I!P5X%eZH.CsvO>}-LVb&YNTO^mU)YD?3@h^*vvR4vi$S_rY}BC.[:U᝽EjT]fWn xGh|KC'@R?ɤĿ?Nu;1\4ϲЎT ;#^p3q|N A,Yl^<_ uDCj^u#Ych7~tjd' ͭc YFs= /&?=: "Bp;?ŭYm>[N]cix~Rjiy!f}'Ķ\7$Қ-fкک̲Ks> p@[8WC Ԓ \- oK$(Z(A2!TA.ZO=NԚsl6ɬe6 {p)6Z˲r d涢{yQ\S h'IaOCaF]qt*pHziT1d6H@M4 j.@LBpۮ5/.7RPI+N)T3e 0&YWx>iO4'(2`?EBeg023Tצdw.Bx*-dQaaG CRAJЌv;# \w  .KN! *MT e"s8+t-hE {Ûk}ݼZ \wv8Rq90>6l)Äp5 p#g=<%pjDV!S+gg#~lIAaSy={OŰ-aۍ\ l ܈ ÊB ;jalLPopï8X퉟"I^}-a22 ,{@ZhH2ԖgI"isWK߻B_*φ>1maTX[>]v7[w,VMݍg o=p@GE[{εp,GW晩$=q>Qb)Dmf''3<)މ%̻&Ɵ;`CڑvK 0)R}7Hzx0@R XO8)%E4)vOܒLEWUUTt/a6a.P&;_wxD= 湬zV `Ѡjm?ž%2˽W,|LqVV?Ÿ[+Ń6$HL3?OUG@b)t9ĴEY@\"2*Zd﷘?dq& /-*B.TJ-a/uDQ셴,Ox}v hڴm|?2 &bqvnt$٫f-|ʈ'S>O.{c#"WayP e2L%HǷ~.t 6Sej2]]~n$C{bct# g+Gv3t\tnpgIS!|X$%[-¯կ((I#z hALi}1+#ݴMΡs)kkڊ-9DI6,De?'+O/Vb7w{jDo. :ruިFD {]Hm'ɪ#LuLa$PŇ'a__]7L!`ɮ"t6c*_0'p`NH+"䍨U=uۋr=ӷֺ;Xݯ0޽Y\XvM;%G-U2ꏖe7BⴓT3d̕;P8nRv>$x+ۘGZόG uś|6HqtHԤ&yV,)`j[iy‹e Ђls<[7)V\ c=? 7Ra[(aR|bըj[P((* /3q H٪tg@o2ìI\- =#.z+uCFXfȜj/#ߒ A ˙Ι6ۤlcȫ*-8H2i+':}&30_*eڭrs"CG&F, &)|"d3 9g}&R.? xh1K" ſtN/0La ]1 QLF? T҈MH&pUt ?CM2nф kG1@*8|VX) MqjSEί}>>b)?PJE!4GZvUo3M[yު$J~@~MUdžžRȠ&jzv[z()+Niڗ,KWcFVGmϨ21re!&My62eHb.hi. oͼpz@V{ NA-GMZXI65--|a}7"6[- %tI: :ydMcD5%=/Uf.+mck0B< y m=ė%:W/r'˹S%Ls3#ymyλꉼb9(ӭ=1&C'tucEBigniG >ֽ['<>K^&{kGɮ+s48#XIjcDܞvѵۆbj* TȨY BBJ^rKT z'.Ot,w{V6I/A*0C?|{Bb^"ۇd߭9#tF#bjdsNI+| ^QLEK굕*swEi=4tbQCO/;iw Ipu`EO% ~b  +Ԑ5z-4Qioȵ KǤJ,~x>1Eu!hP"'DH-8M+Z1o$PZ ~he$+}S"h2x- ]&ZHLkI_'s;Cx)*hi1n1M~p3;Q:Ar^ɑ7n:$r_AeABևDg/6z U '2Kw+aVN'ls~fD*ح;2,y-Po"K9$2 =E,AC\0(#3>UmqLy6~S`7Tz9!?1)XИlŁ7*{;O׬+#!g5WFZ픙{\i' ɖzuU5~$~ rV{YNK9r4}&pBгשr^gR3$O`oX}*ʚ-Am޴ ~eBg Gm͚؀*vPa Z8zOXǔܳ ?ӘJpJ+jnF* 9{EްsOl+O[HxatTݙٗ}7.ύ'+s zuo3IPy؟?Bv\v^B˨Orl qeqɛu[|c)D^^u:Ԓ %zUmhi*P =v54لNogY[~`-`o<9<Ʌ~ t/B҇řbּZ]iNMcqdt}('dTnZt(1طVVQU[p0#w|0:d vqxSM:2vtͶff4IN?:gtuq" l_Ph0^ m[N۳cԄu̗vYH\jV:Txs?ɞ#0RSFZқm3Nf쬠 j\ȿ^3'Jo%o-APfkR] -=ak~mL9(Z߈Mw(6M/v ׵KO@tQE]CN7fўqO]G<֩ۇ`Χ]^~NL~'~B%='Œŀp'`xtb1rz|aC(y:Z!ʔc ǑC h1jȿ9MxA7D3!>4Ww1[=6VǰIG3*BnԠl3m) "c#Fѻ_xJP%R0ׯmfc3䣻Xާik$`mD{7