jetty-websocket-javadoc-9.4.58-150200.3.34.1<>,&<h2p9|rLXJ":*ooZce `SS`HtQqa nb` ?^ 5nƚ)݆,3G Em 2"H+ﹸ'/!8ߙ鉦e3>ExGt@HdzX9Ve-~a-MQdqvӽ0Ka\]j%9tA VyNVK%nqWe^, 29nWW?c,]0{3a>>?d! / Khlx|  ii i di *i i iii%&i3334S(4p84x94:6 FOGOiH]iIk8iXnYn\ni]|di^ȧVbucdefluivx w,ixiytzxCjetty-websocket-javadoc9.4.58150200.3.34.1Javadoc for jetty-websocketJavadoc for jetty-websocket.h2h03-ch2c`nSUSE Linux Enterprise 15SUSE LLC Apache-2.0 OR EPL-1.0https://www.suse.com/Unspecifiedhttps://www.eclipse.org/jetty/linuxnoarcht4Vd&LB5cU2 J9v"+?x5;A*++*eQ]tv!8\W8/,+%o),'1.'&B##8: !"x1\QB-{L|WF:5@!۩GCaMOw>-.0cu{R6 E=6,>~>!S37 Q\Ki'*&%k!tz.(Zt6w <$p[p)| A1b#1/.60L ##S.H.7GjnC>rV%U'K#? ׇB8'f#D0vJ!|$&F!S%$h|olNF.c@-;OZ < . $53I#v&IO4lv=4uC)" <#~IqU5_KP$/l!6UP5g- 3\  b-GAiGQJBNBNW@+; '!(5=89nD%H26<638C06>p<?F f!]"' PoV &&'3;C#%ww$x]#k'(P7%SN".g*AcIY?q\4T><G 9f#m G+ !v#a&U+c2j ^A'.=*Q:7!FF-/]Q>La6@8n#L,49]*9],KMM 0?'.H+9a#|H34C8yVi6*RK+2D;{=S8818;>LFJM[MdGMM8FzPCx?\Xc<\j!& '''!' ""m7-AA!-K4O58KZ8/!9,,"}.2{ootT%"5EHB7G/<Af<E F2 767i7277c7407w7,f41P0)7I7`- 3ScS#3QX#&)'$2/G/0//m/903.//4</!/G/1P/!/4.R  'QCX'S(xh$70z8/866$5< 5i!%E:9:4_e@&U<.<&U<,9M!(*9J$<0J$P0!LC2;?C]dXC1JDP.5>:9\A&; fQ QX*/jQ#r-'s!<-#.4/4U=9f"Om8-nO_>$Hyy?Q F +#{&/$.##3.*+K*q'D.BKEW>V}I::+$936WX^ "Z A큤A큤AA큤AAA큤A큤AAAAA큤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큤A큤A큤A큤A큤A큤A큤A큤A큤A큤h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2h2hIhIcb04f270a516131de3560ad394dea5b0f5b00fc4668c61b93675a8a91a7552cf189291ebc8b12d629013dad3ac7e9cd8ea7744cee4fe3420e327f8691de5cc9c0863d9df372deba7000f9f174702f278e36caaebf4304175e8b73dbe9369e334ee6265234d73e6f742a06aa6ee2b5468ba09c4d83c941ae00ed1c1cea334d287542e9f2bb5773809b3a7f8b7b7abffadadf70511e1f92cc606f676fa8116f1bdf0560b74e89574170a9c8e722f6b58c7a3a73298d3b06086ca74cac8b5529e6fd3e944acf5f72a33c4c033b1c0d75a26473f9ef8b040b33a19fac6381063a14a708cf35b3334e85730aec08bec2f4b3965e7f6ba0362864c57373e5cb6281fcf932ec99bdb5c359087abd5159fa73533137edc6b6f9ebefadf826871714654f907f10697490cbe60e1f453f4a68b5e417d297c2f2dd51f3cbe793e54c3c5764d416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37fc9a93dd241f6b045cbff0481cf4e1901becd0e12fb45166a8f17f95823f0b1acfd56c75814e8dd474bd53b622b19152650c5595cf3c8bfad7a8703985105e8aa6c0904499f1efeef05641bd28fd7c73785e60f69ce9c699daf65af8b37207030ce844c4c202c352e3210a61fc0910039a70708453b0db6f29d4da9496f2711e794491b22860b2a9267b6327e19cb45cb999d290f167f7c87204ffc2ff87e457c06f765f3bed456436a8819b4d41fba66e537d88c90c4f46eb95d604c94086e3c38706b6ead21f5636ea9b79297a7976c59f8c1ff9242bf675aee5dce392ce985f8dfaf3a08014a60d94c7bbc69681481ede72a626307e40222bf371aa6d5192c9e4a52bac18aee4f3f90d05fbca603f5b0f5bf1ce8c45e60bb4ed3a2cb2ed8606e9c78ef85a3f37326da6858987da247926b11454bd52baf986b4c8c996b42432018f3c643a15c94850193e80d15ee392412a98ea2c9f3e4840d5b4f0dba9b7ceb936a22a17b16b7ac53a14d0608dc6d1be2c4de889357b308d17ec1652d058572ba41ada619b42ea16f6acc28afa98e0e8023e578b3d6c5b619373c7a9c602d4dd171694337e76c150c91c240f5bda3074825f4ff6965423512572267ed5b46f18671623b4057db103e1a557fd08f4324694edcbda2becd0d43a1c798f097cbfaaf8ea5739bc8d14c5994d6f13a2f0ebaee33678cbe186b45c8add0ed1867080e8a5e7de4abd11e084347809db7b48b624869e60c9b84d0fb65842a03a3926aae853a301da82c0265c296ff8b62c24b80e9afa8de5a30edf8dd1372b857229627e294eb5434c6eae88a8281836dc54aae70362d039747aee4c01daff519360ac010fa020f930b3db28067f4a7966ccc163eabe801a18e54e502b5e05a10d103ec3993987a8b07d55ddcd655c6542a7e783f72e51483dea0460ef9f1728d8af548b9035cb7a35e8acbecad10a4fea8b7cad7a6016ecea360e50449f9ae2fafc4b080f737b7a23887ef5528b65b16b8341497b52db809b6995aa740cf1af64d59cfcf2c72eb788d7812bcaf65250e722a771b484e585cc5100ef3f326b99a86867c0123bcf57ea12b7533e1e558330c820df170fbdb0f2df8cd9a5779bec77aeb287aef6cd234b01ff1212c1a4837987e1444918fcde715afd61e15a80f6999fc243cc2b7a080efa891c290d48a8aef1126f23b7eef52db1ecbafd050b0eddc35a62da456f7428433546a5a1d6a96e6e6f7e088db2b7823cd3db285133d69c5255aef0512e7c47596f60825bdbd7ab54bdcee84dbfa88957b29bdfba6c90248ad635327b4bb1ae372b1c1110f7622d5deb09ef14af4171a569d8b4ed7ed46674c3342c86580f20b0eb8432c84dffb9b2394042cdde90e48d0c3d0b75b57d1a87aab23df15ea9c3974ec3b0f7ae5562234de65184b8058adb38484981cd984b4e7f9232353a25d8d63aa86fd30fd23101b245c1e7bf4997b6f0ac620a33a6c9e7557171af9d12c61fa23702c8fe3674a42d80584e541b0535fafcb2d2392b5dbbadee868fd55e7a3787e48148e76cb9649eb1a564faf2fdb7654b800057e87e3b07c49b25f77464630a1cb766c55e3a1dc48dad7ab78feb800e2aa0b10599b4e2876b7dd7f93945dc5cbc6d11f4f6e35eeb8a0949c4c8632eba4447f3b2b1165692062f22f15a069966b6a9065e52c7b2c41c38d3366f19e9fac19446a395accf022a4f651f04fa9ac6d95644d1bc556f4496ecae3b30fc8f36532e5cf985f9fc31d7998987a826fe471f29ed68f62177945cb1490063aaafa64434830806c93db9fde6b32904d931255472e3c610a6426601eb5af31c9874be428c7532aef30166d6e26b2ecbc71fb86a492aae00da509d6906b0391b2c59883b71ec402c0a98facd69a78c5a9d6aa708cc8d4c611daeed7e66fd16aae0f0ef32ef75304507f065da9c2ee010f258fd5ace651dfcc8b61d4a15e0c742ab7195ad4aec1cea97cf8a450a9fbad69ae43c7a4eab112328015776a05e43a3b8876ac203fa7b8b966a7023c1d5465ac1d339039d7343cd198ced81800adca812154d327605869c195c0278f748d5bb32fa7f4688b9946441b0dfe0c89ded86ca67d21abf5bba356b05df5498393e48f822ce61e3183d66fd7bc7f18cf51fd7204e52f206aaed10599e2fd2269af80579fc1672f7e26f1a77731ff4b645310b35b60dff72a76c5a960fc89dd14f2fc37a02e5a4e55e63e054bb0e3622d7814d6fc426f0e3a2e7deffcf52e015f11851750755f07b264d628af5dbcdc310a388dd07d79226be07c16390b8d9ed3a0cd64330b4ab3d43b08db997bf10de51959584a5329d3baf137963537e2a6692d513418f8a816427ff628337f1aef5fba20127aa12a1f56f279e099ab78b91423d675e0f27107e6a07583f17e8b298485acd3538d1e1a7e5c662b89f33331d5065eb1e35d118705047e484f8ae34bfd2f6364e94f87109eef678ed6d9808a762baf8a6d64d3e6e1d4705c8e210169bd8d5ddc254d00e07562914ad26ef40381530bd5d972a16f21de3a52b58fed3f722ad1f938b1dca2532d2e05720c140dcfd63c763af0d0d04972a47841c3599279bb77782d02faba34375a2014dbd6c7df6bac1b2cfb0123a1c91447afd2d05b2989c78c5e89860234f54832b352448be02620431b760783c2ad815a945f85ad7f7023e5564b0317401bcd54f7477f84569c3ec45e489e2ddbf6762b107f0adcb91b0b12dbfbae082b62349d295a7dd0f41d7b4a90dd3ba537275884858d77edd6109556a916b044c71edf608fb4e6461df8afb6c15100ced6e42ebe2babaa167aa82b27ebeb938ff5774f3825426ff6962514eedc0f9949ae16fe8b9ac1e7b7fc8e2b011de004942d268d09295e93fca580a715381081aae6d55ea88efc109dcab7ab625ad57aa2ce8f4acd32c5b7dcb769b8072cea670fa9d6bdfdd91e5bf994fb3d8a0e4f7d6a1a0ad716240b119e6cb4c2a043956da4df8916bc491370ba6477d3ab1b95a673a8221522d5973ab0f4cdefe77fa654582df502b2c992f94b5d19603b25d12adc77c252aa661c094923ab54e57c49a9ecdb61ca8f4d95c462b86d88d25fd17be49a98df59117e7a5af2f3e90507c3f8bcd58c5632f10970fe5090b447b5f01e0295b030cd682a2ed6b3b84838e0bd1f791b372bc983d8d1ac416b76cc357a4fd2e6bfe82d297d0752a28328bc9e611a2bcfab34b48f02d8869e7b097ae82c2a68ca3205a3f9f3380222f564e369b48114736d0db405bb5f8d23345451c8909ea1f4e2f79c84cca1adce939d8b0a7b61d4186a0d41d04810be71bf697d5d75465ca9a8340829157a28015a3b418c59c788e9fb026bb1e1e67b1d4f267faad17580413e9b54be9ca6fd0c8fdb8d5d9515052175b3c10e1b0bdfe18904c872692ceff8c781d880ea360c7e748b31ba8494853a190899784a6838825a86a8d1d460a7359a3369e0dc3b0ef80c7c3933027e33013e820ae7fadd7e2f596cbf5f8aaed07e134491f30f69cccfc21e6ef43a429f25b222d05b13de1ba63b715bb67d84a624f4b01cddfbf34097c0a0507b53ff0edee2116cccaa931f3a87360597f3bcd413dd3c9393e658146202536775b56288e9e9833ad19f2f37437ee906d2b2398f87d1db3c6fae9cdd9f055d9d2e64acccc44fa3adf721cd256cbd356a57c7d5d68fee06f997a233f75fc3ba2baf4d9f9d4b66d18fd0047fec6234123dfe95c7603e98627ad9b9b0ebd9b5d7c3275c41012bb867e266a06055e184ac23ea3b01a433ab1a783f39921ce10ef99fd0e2efc83f40931b0cc4804edb9d2bfcdb28eb1846c52b3080039c8b766b1710bb15c173dc7b27cf3d53063dd4837f31319e93b86e6f851451c0c986e103b96f9c24aa665a86a72f8174654cf4832e21a8dd3422265046d48bed33a012f4de77752da6564da83a28096ebee576636986ff3f288187d6dd3d98f4e4e1e40bfa39440cd140c3bed680e9ed493a8a6ae38c12ad088ea3b70a03d8f4f7b9d910db389b8959fd433646b9de8063fa9f3bd5364ea7c73dcd713f942d9d769048014ce6c8258d79ac4c7d1d43441996e534deed49f860cba9ae804e2c3a667eca437dce4f075a33cc2b6b6300a5bae3f54fbc1099cc81c24a44b0339d0094e673a3ffbcef32812745c74f2f473991fd88e5277199b81375cb073083e86043c722eccc92711684b5d2a115f249d0af427a6aafe03bb15a21a23803e09fe80d02f39d1180357c7d4d85745a18779d1eeafd261597d9c3c08547ad0fe69fda47b16d90133ae0b7873007df81375e9b8d4e5959b0c05683b8579815cc413762f6a0c2c015354d1298b1689053423dbc603bb85d26bc2362a432e7b2ba84a6fb522522445a0b5e4f1b5f2ff5ce48e06a5c476f8730d3ac8e2a2fb3b3579da417425961c51f5dd42b8ec855349193a7d08fbfc8e5bcf7a68eae38171ee996476df3b95701a543cc2e99cc2ffa73e46a7041855d068d4128cb2f01124d97318f9ab98387bc30add7c539eb79f5e430c2aae31047c54734a81ab3894bb4a66922d3de131b7e26b7a39f474cdb1d98642d4f24d896989c359348be3aa568327f887d6dfb2fde3ab96f63f6dd37b6fbc47c42697869d64c84c9ab1c73644bb0e1f68f6f00963cd1dce426403b3c7df4b88fcb6951d07f5ef4c962eb03a27ff6502054f2b0c4d691140a725cc48ac0a0449a77edfaabde97d43bc76df3c868c7528fc70be6feb94712bbdc0723e6217ab130c2cfb7678c835d4a8e8381646a3e30ee1caa7852313d717a71f4396258bc5c1d0aa1c369fc1d5444e68aef60f76c50c04efc2383486b9243103f77fe33acd12ef0d67e3232414956780fc730475ee432d0278a1d1b21fc0e3e137e3e22e9213b7eb2051c77915c95c871bb8ddf219fbf79c3f32074ae1f2620a69327c89d82e0bd9a35a2496f03dfb25d35cf334b6047c5ede509091e8ed411e1e0fafe2f444b8599f1b0dfc986bbda09cfa26121d4f8ff0289e96b473a172626c84bfd799106e4cf7274b0014f13ecf3784e290f3f6dbbbf2a27bc0d1bbe99fdbcaf3f78d97752edbeadf5b895e7139bbc35f10ad4396af0f14ca99c48dec55809c63caf6030a812bdc9312aa4b3b209114f931c44dbed583cc4484d4a34ceba2a38a32e5f2831e4444b9d5ff5b4e065a272b072b0362c1a7da4eb2c007595a1261c5c0f3631bbd60dd307be423aaadc269b9387f11828e7ce8dfeba99d32efadba65bef3535df756ee3d9d8232f008867ff713f5bc3dfcd95ece7450467505d13894028f2a9b6ee2ef215a4638bd9c8bbeb21eead208f2fdaa121d1a33c1316c63d1e04588b006d9f116dfbabea8f46456e3e94790d428e730be12b1d78e22cc4bf93c362491f880a0525d70472bd246ec0031f80e8ee9241868a829e7fbaca56151e317488cccfe9fb42f9bea83580c41a7f60bdd3a92cda83a7a8b383ee96ebaf59a0c92193ae5defadb73554ce4521a1b7e3b81e521d573b2b81b88320869cd7fccf1b7cbf0f6dfa8bc0402b7a8a6e05077b08a22eedf47f8acd92673df9d4bde136ea9a606da7ecfa8b1aa452665602cc8b9e5e1deb41c4368bad44e86613d2ea5968b509f7d1d1607bd129d2c7fffd16d2b6d58ee5872b7e8731feee09e87aafcf563c0f44ef9a331c085d0d9fb86e275a3f25ff303213e80f530602f14419189f280f8205f0882773601a78c17b5965c2e3a71b3b2f72459a227e66dba52ff0715e76fd8fd7d97dc4b0daff75a6dcfd84a697ae156754dcc10037f2b794174e3f6298538aa715c59edaec7cc1977b591f4ba7d4fbf036866118bd2be48656b9161ec11cb17df32a9fd3983aeb637fa70a10848aab905c8ae81e955c3af8537b49edd871e3e89dd7dda51b00f6593a256b6810565375cb370a3e9863c3b813bf6fd3c2abcb5c42a331b1c194811e6e5fffd7633a267096f6eca61536c9ecb5fd489fac56d4745bbef4e381b203a7ef03275f6ea315783ffa86f505ff3ff9580da1e545879f66da91dff065d3128eaa9719859db98ddb7062cb1ee72b41d3c365ee65e65626e560f9813b8c6f7db250a7a1d229f5b10dd4cc5162d76aafc59264b8b8ae8b7caa925e9e3290eab1d3304e0e3e5577e28034fa46555dd762b309419a483bebc4da270aa81045d7a02dc80c569e8fb90dd2d4b12ab1245085cb130c68e197c902c72e9587ec4da7472893cd4224025cf68b1df87df59cb00780ded7f722ad7da837a993b8c26c11d175a625880101dea05e20f4a7d1f6f0597d5d57a083eff8907286176f03ee8ddab36872366c30e78de57dc4c98616a46d20fb7604a200ef087401b6a89498315e50be931a7524590f68e6542bfef577ec7675eb04f24b38fbc13ff6e1fab4d5aaa07794e2683642d0e9651bccf2c4707c7a27ab580b33e81742710610d3d3843ef08b4f674facd83a8498f6d059012d2e589c121a8393a3ed61e53aedfa8c0098183653ba41630e32e5ae4ba09e00772a5e3f44f92899946bcb19f90ca4d897ad402ff2b095c2c8ad50c810b768edce4861f24b22460360efb90badd4a96f8d42dc3cab94e04349479c5886851798ed2adacd8a7e02a6b0e232433b15a4cd0078cac7663fbe1856beaa54aab33325549d75fdc27984f97d9df8ccea55a20bac7ba8d64a52e927235eba691e756d2707c0e9248f1c24c551af5262f75c3152286dfe4482e2cbf7f0778af9bffbbe3941e0a9f3f4527c0672064c8fcf331e57b81a8bf88d312a9822250e2971dc0db82460093123f350347ff92592990f5dcfeab95f47b964d2fabe2eebeea7e6b79d42ebcfde2dcdebbd7185178bcc2a8221aa1b045e3f7db07f60ee4b6578bb24a492b247ce3a8cf09eea2d3f39a071ed3702f1fde399549362b4b44d1328c64f176f5d9a7daf3e9766eab9aa7e1bf77a55fa863287cec67223c1a8a3116cf6275925534493782a8fb8c7feda71fa1e64be3083cbf66dc951de3cfbafdf1a6b6709cd572205db8747827abab704c7e224cd5e5b7d827c231f068a82378a302cf87978ea624f26e99ee6d0747bc8ae832506657836b039cda7a6faefac6eb9e7d833f4289e8bf62c8038a1d6d6b3faed0da8859bf40fe7200ea19f360b33b74a2843f05aaeb11bc1ef898b739c56d4bb8b3e5ee9393fab4e3c7004dd019b738fee18c6510244abe7c198c515e58e9052c94f252e24844a48453e281a71b9ccf519dac20753a26ac7c3692b389922524bfa883294f8cde046b979544fc8af3379e110cb9874d1bea508fd9153c69778e52a337c537261e91ab879f067b6b0d7675e22bdad58b8acc45fbdff6e8b60c121e415438e9cc5f88026f36eb4039360e78cee057ab2dfd5ff42440e11d34041a96e6a082f0a2e0e166c18e5e68991475d4624e764b91cba40afab6e1f10268a97c0b0b41173e2b151c7013cad1cd7adf0265ef9a7827d2b1f9d5efcf2c77310b20049dddf88ae7d3e43feaa7da98b5baed6c6f6689994b23d53a99a20dccd0a3663b3a766fdfb30b910856ca96192e36fce5aeae8f19a1e23e242722eff28b4da38149f0ee9cc224a0eb2cb33802aef7713c27623e886955c7a52b24e6c3d304f89dc0dee042cff14a2d67e908abc6797829eca449cbb668e0ea7c6fbf418f8f36f91933eb340aff1d7a37dcd2050a7fec8b490bd5bded73fe2f88e507a2dd659fa77caf322ccb4351378eb30580d64865c81ef94d6f8e1d6dcb550724635ed4ebd4db3495209d772b24293e2f673f2a70e255869fffa04d0d7e596ca5c1f9c4d0ec2ee332ee09166a9a5b67b8956f4d5b7b167bec58c53df0e9a23fb35f5913d1a4dec4e30b0275bc91f0e149d636337cdb5d052ef13c42934b0f63d874bdb7bd8c5eebe3302b883e839d2e23a3c9e0b02319f06536b9dfe47147aa43c88277b7571da3930c64fca1b53328bb2c5d016dabdf844328fd8d8dfb1bb591c7fa3dc80ebe1c01723753d34f830b4fd367663ec4c12ca12046b93f4500a6e18d32b2e7e3a3d7121cfe0fc834c1022358838414960f8a2f9ccfffbdb4b7f03307bb5b03b7ef9149b0ce9a12c691c7cf244be347bf928ff1f0368bab6b304bf227b051b9e8455d71d4ffd4809298e50630f09d8e66b80f71593bcfdf89e9decaaf035dac6e8a90e89ef10f2251bc4a1998c40033eebf0dba0f7ede372a7362f00f8dcf5b6c31d15f0098ce813ac3e293ad4d53fd44795d3e927ba62fe04833af662edf7dd0b74d3e2cced9586664b5090ac936a6c5b08258743c5ee5932943f6c34b86eed4d89d73ec32ee81dd64800f56bbfe904846457ca9228209e2791768ac4a3ea8f428e35be019e44cc6d62441fece6636aa5c1cb867577a7f328c0429506e76dd3e877123bc65bfc06c3acd3e64017c257943a25f2e8920877bf611a071460281425c82a03cbe483a1b7870ad1e02464c8e3467802b247f9bf8e4bee7fb9e96c66fd1de291a517d04a55b3c4bf919518630ca9baa02320dab7de6c559f02f27825458a6eb6cfc44587530bd9598c61d0311cc05d8908c7d10d24a4c46bed82f0329cfe62a3ebddd635a257bf1a0f8c191098be0858775ef7e0a758553d27e0fd55c2e72477261c8d8e8466a343463524def63ece35d38bc4c9480aa601b49c46f450c7a567364fd36952ed689c9b95c27674c0a1212ec835ce0aad66504e4532f24f589fbd411325813c23251b238c3e03e49805c003d4edc11c1fe638849b5d2e3d8f94f0b4f187d7740499e2d9f37610531aadc43997db4a9c731c9c69d38e49a140a24075a9eb46dfff89ea161dc00802c37b69b3a199c796081074f4d944d29a0d7743b828420397d074798a97fddd20b89807d7aa7f5c9c7b12952e968644fcf2a34125e0d4ad8f68adc4628fd90441c3abec11eca3b745a90ffa42ffa379091d36c8fa4aa58053d81cc00ba2187bb7d388753428a30b6ab31a2edc92955eb5797e4d53b270f6db0b43bd811d05a7e51bffe21fe9674580f07422b8fae1cd60859b38c2cd1632de4ee801991ccc03a10988fa00ce2a6864aed45fceb67d6bc546f182e1e5ac8b42d7f457127315e5361c4352fe0c45d7ccc016489b9378a507facca174ab72a5f590186ef8124fe61f2aca36f485dcc81b729de7d64a5b612ef0e030a7d155149f7921ddf90444a65ac860e0ad60421de63f59d7cf7296dcc51ca5c98d68cdeb2825543b53d6ca6029b61e3af2dfb76d5d30f06fe19ce2a0cd1b397d0592154419afd06a130d3b878f4cb6b7d8afac25883c3333fb24f502fd64ccf209a2df7d77de17a193c30a79e0675d91ae1698b5eb8e832f3389c09a43fa281f917d70d3f76ede759dbd5619d6a4de7f8fc9ae8224375e7d0f8678d6e2a2f050e2eec87354f23a64a9fcc886069f4cc1fb93590f4a126b7ed4832e156fc8a7dc679c7cbcf5ac1872933d693e56500e28094a883a19f8936bd6fbc78e40a709d581a28c5155e2f98774cb9c5e0b7501c842d41920414be6c463a384553dc19cd7c665ce8800d9b99d6089164c9d3d380920eaefd295fb1573c33928270cc36bb97e3827b3b3e0b85ed3d0a778284e5cbf400d6889eba939a6ce60f9bcc0a65a49931dac1ab57a71e9719c97b0c6118509e388156f50306bbc1500cf729b0a3da3d6c0f1a48291f79e3da04306e44553cf1a4129256fa23040a80e662ba82ee83703e86596c64dcee975012b17cadb2d2dd536fb138adfbe47d45d9ac8250078cf9cfd0e86cf7a1932c9d9b3efb04db37a0f7a673fd9c125e8002cbc54d72439dd6152af8e242a7f4dccfa6d79a15b86f18481c6c5ac91a25a6d5d9ac9a62120596f40f6e0f31911b64b4bfdf320040ed4eec254af8f5ebc636ee03f1fb5c028772d8ed8fca0e066317b5c74e669814909c3b6fdda438538ab6cd0c6fae6564478a44f135a10072c48bca26cb0fdad337a9aafa90aa11294e6d5172b8d5ea3f780b894a6f95009cc4f7fa26b1477cf44288a4fff16623bbbadb4858cdfd23a9ea4e142cb0947dcfada96e3006f7ce86436a10701662388a927e27f6241035b187af56b768ca0322c13f510ac06b035844bfb92dc2e6f8215fb24c02566ad6c2c739639efc1bb4ee2e6e4f1c8520b39d0801f085004c4a8fc55204f9b87f8b9119397c72ff690d81ec0a592f6eca8c479c17742c7db5af01158776c5e20e6855e8f889751232f530dd9e325c1e4723660aa4b6ed4f302769713131e223dbeaba4e1ad34139ffa5f0831c688559472feadca35cbf01323752afbbf5211ee388d7fa23ffbd04ac93d0ace27a22223b7a3fd2bad9f20fe4a335d7b2ce7a86db1118d3cf9acc6639b6a1c1aa3e0a0df549e1e71689dce077f54429ec506e7d9ec95dd628d7b171429f32eab3a82bd928bb70b1743eb82ddd86fd37f988a22c1909c71c2faaac34824879ab79deee47839b54287a34540f3a8d7b0bfcd5d51eca941808f0ee98db11b464664eb19b7a75d0a880e3214800857a59b1d5ef7f89c0553143c22d0d4512b12e65074657f85dc728fa03f2c24bb145c2474d19cacf193bcbd542d70f13fe79b23f36a33ae72091aafcdecbf89d081047ba3841185726bc61d90745c2982fc5453c36af99364b3421c31c62626e20d2c89225134590fef340a5a26def68cf73c179303f0d5b179ab909c66645c501517926f29201770b2a9983405ac539c16aa36f5587cb4912747828f723245e224eff682c6d5ea6821788323415eb745d6bff3f3c1dcc0739feeb0f08bc07b59f3fe4d3cc45d0103af100082550b1cba5620582f2cda4b2b73b7f527720f73b687a55cef345c534864b0ca608323c1665729e89ede2fa4f4209c7350e264e8508ef53da3883b93a0658a679a93e2b2be48552744d981356d625ccd11eabcb3e0576daab60d8e260bd31a4fffef77babdee157965f06a513e1d0bb938a9c53a5b524b885ebbfddb6fdd7f3a9e069c65887a75e0e7f8bf5a787a46d6c1dd617a7313a7fa98f16da9fda027df74a601fd10fd235f40a197c54d957b4a713c9d78f4c49ed32383b73ed84881a6320068a836d9c29028571c04211741d5445c5660da99e4035205a807306370b71ed887546c86f0cf7a78e24b041304bc4aeeaf62a20c9534aac99a05eafd81fb6451a972bebd77f14a275669440b441e7b216e18ca6fd3b99b9eb39d62e93c79daeec89d7c897bbd4ab183c95b1b64f36185c7a9ef0f19e2c24dd58ff8101d80c9f3d1e8b8f71cd385b31ec7b5c2d8824893ae7afec4c27401ce55f6b241f4a8b89074c2cc97c14dc1b26b8b4d13524e6f78843b0e5640d7c85aface0437a9a40570f17e2609c2f15bd17d07d1aca33483500f9d20374c25f2c435d9d258f4cc7af813c3d92be2b796fc695db0c90a2081bb9276b46d59f5acd46fee3e4c83e63c0fcbe20e45a0c22be455e603f67b5fcbdb1d38ed9bf535ed60a5bcb3c50fbd8902965fbd24e5ae71489079c0f9bc253f12f7ec9e8b19707ddc69ecb137a3628f0d170e45e8f2632ffa01ff2783e12f887845729c0d471dfa8a9f7a12bba0342352cb4c201913ff7bd63b27ee8f7bf267281bec6e36054b33f27924e8d80e8cb5152463c2a222ea503bab48e8132673d57ea0b28d5b7f477b638898f2dd895bf768b9b658511ee7e80feebb3f901b477e85045e907634ca5ce7b1a5451e7dcb2086b2e3627b6e4482ab97ed8f1f5d9d0930a2736b083e9a030f3cd6a68e420b4776aa24f1ed876eb4a565033cc0203701c07f40af8511e4a40b3ea7ca23c87e1832fba12d735659b2999aa6f178027c6de9b5207e5d95931b226fdceeb965886904d5fd28af61a99113834f299ecb6002de6eae4c67926d89d34a9fc2343d15e905758c48451b8465f39ff2533c206805c135fe9a548fabdaa943488f8b5285fdcd2be7e2cf8ffd547a1a66a46c7d76d55fbf37d10936a127041b5f64e41420460de806342e2dc7e995b52f776740b203e4485a98ddffa21bd2282bbbb8851e9a939ab446b135c0eb11636108953548643c908e473ae1d9bbb1a674825c7173825b72c9e5e4d1cf193f531429a98f770f5b60a7207c3cd1cc6b3d6f873254b334b52a1370949de19fc188a9279293a1a0cfcc6b982053e4622408f618258010dea7057d8fe2779ac6f973c35ce35ce74477ed557f5a654ea282ab0f0a7137f8501f79f845e7b29451c3c3f596b32c8c2be9dda00f4d1459fe3d0c3b089445c31168bc97a11431c5aa1ba854569e744c0c96ec8f560b3a5e387c151ab12f947a6df2456f82fd6ef231d74ebab438fc9d737f894b1f8096587499483b3019ac6a4391276c3c911fd4ced4bf1f6c1b0799c7f7982092cac3dd942a2c3e28cd6829ee45c4d10b5dff0d91594de92447087fa05a0b621844ecb236572063a0ab62dbb79933440f239221b0a239cc8804e4d549f8cae1a9b60ce4490738314e91e2606a899dd4c29724d319b6da82f6efdea22173bc44beb7d2c15285ab9419a350037c60543307fdd3ab57758ef88bf644e9340d9c179466b0c5df01d0e3b044466c396ac13b84aa6b922a9c5b7777721c68f258eef887a99aa2180fba2aa32f2772a2e27bb32cba26fbcca1647be51b063c7bf291446aeb9b5016823d678a9253ea6ac7d418941edccfe8b0c623d161f4a73cda10e9fb1309e6cfba689e3e5da12f37225eccd98ee543123efb89295778c7564c3e516e1a5a32bea7392e70e4bd09393a8504c7b3fec4f1842b40fc1a372ebc32563ab0df2948e3cae2ed5c56d40f350e77ce99b9842f8ebb0c653bec5e96827a684504538e6275d227059e1f8fba62dbeff1cbc45ad822fa2bfce71659fdb4f3b9a00e3d530438eeefcb80529a08b12521e20a062bb7e3de6cb719b704d6b33bb6c9e4b7ce3de3e2b248f2381316b282e5de5d0b9fa507e849cb2b081495717d57394b2db2133e3a571ea3a84aac4df5bac9045feb28e33fcff8cd47d0c7cb715bd2ceb38aa79d285a8cd84cb7931cd81d38dabe6f98e45e3988f3c3a1aead418b69985f4934f12edb6e4120f06f7eac6f47b3d1e9dc42212531922f0d22972d396d00df2584213ed50a1dbae215d626c8e3dbc0e54e2b1f1143af601a23bb2e771c7d21ab6152ea31d8543437fa2dfd823bd7ad83936b7f74a0d0d1832c1ebdffe1a87dd9f5df7a0255c566c5d97d9ddd462269391e4268139a014cce187bc040adae006c18ba3d60dfbce94535ea142d6ee46a90f377af42b30fd1164260d9aece306c44f2b060e81d3dfe6b7570cf537030b75294fcc7ed6810ebf91ee147346391005440da124c1bc0b3818d1b7a9b285eeac008a191b6ada1d66a87e1ff3accd5f34f992ee5a91115ce05c5c0dfad21d4ac9b5a7d3dd879aae2d193ad749144f68f21fdcd75cfe09d4c1351dbc2d139b439363be8f9cedebc8e9bdaf5ef4fcc96e2f0b3874c8942287eaa353524d24628c9e195c6f8ba420e9fd176c59780ba1f94783282bbb99068f16289426dcfbda628f0088f327ab4b88f2c67738d26c66f1eba95868fed1ab36cfae58d39a37677959f68d2c6a76f203625cdc3b79b432aea3a658f5ed105d328194087e0e05a58c15d274bb52f8e361caf9046b1a98afb97d43d2849a86762ed2d1c3c3e332f60454128a4d47df09b0665277b411d9de6a6aed28443b745442fc2d03052745ebd77a8c409331c4aab41f21c3f9a484ff152a15bed9a24530c41906d2c69438ffc8396328d7eb54f8ca75f6bb0b2d429e0ae605c0045ad0995cce2ba8a0b8e815dccc9cf75521f746095c590eae8e30306262b6a723036ca8231c920d7942143810f608be4d1aa8a9b756f2a2faea1bf11fa3dfb57779b63e13b105b9510ef6d91cb763d170e4c4c0cb5af72854ba81358ba7d12a8aa439cf1da906efe1f85d1752a4f8fd5571d10d09ef51feebdd98e6ab3571d0041f555c037ce04fcad1922b3eccbdab7613642896d012085a4dd1bb66acea300f84544a8912de115f489a95b44340b5123ad602a9f9a30ebb6e73bc0acbf94e1f30d9cbd65025f0ec49bfcca8e1a645f993dd0bca0d19a3a4c3a5a3fc4ba0b9dc54c3ddb81b59fe3a72179cdc62399b8bfdf5a0c1bf947265cbe30379eb3c707ceb31de9273a878548f48709efded2d6d6b4414bcbd645ede866f19650a3aec88a55dffb0cdd14c6e655baf21b7834ccdf627eb1b9f564582330d144c7ba1697715bb20950de2c3d50c1bdc8d9d7263bac77bb54d5c50e3c712a74e56e571baa7fb5591b7655db19679ca84db48ffcc6e6cdcf079b9d9e6df0724ec7bed67851f545674d6e87989442b562aea75b346405666050eeab238c6ea4f22f5735e0152ef6d7efec5240fffe08d718a9253ebec36aedd8d8c97ef4b26a058c89403fe7e790db815250a003bb74db98665f7a51ef49df217a4dbd8628cd5011eb6477c6568052edc1f7cb9e64d1d8ba6ef72c7964742b2b052c1aa58ec97e99152f7d3ba6127ebab0ec931d63e19c8d734900bf7923d61008b8951e448ea8e3389d4af4f5440ee940e3f6c7f882acbbe666f56c2a25db98f5440eff4eaefcdd600e1c86e52528762f0830255d1da13292eecb08eb0a0fe1d195f021ba23c1dd13e28b66acd772a398ce78d515c4fbf95e3e20659435f05e173f8cdec5a114dccef81446a396af47d52b0ae4de1dc959de501adadab2825a3c53a41af56265a44a6ac727ee7e6b9e948b75f6a4a924958223fb7a1b63a580a70a3046c0b366d14d3609f50626d8b5769592429aa692721a5f8dabba274e16c002b05ea606ad4fcec03b76e5fb8d6064e3c1419fb3eac6af593e7f4fa4346468dc3b8d06322379a886b26122e9662c40277fd53cc4fb65e5367bd0946fc8df3259b7827ae724922c44033b18c87ba8756fd48cce0b53312edc029dd1b329b064f459b24921c1ff57e62298791fe17d97cc497bfbe41f8bb34d37fc078a8b2a3b8e0c5b861a29fc259ed7c8866b1c008ac4db0d2cde8f71f9e73837f29e7626600157c4ef88694f1738c966cb1e37145c7a8fd89444b8eefe3946731c23d0d47dc292dd9cea742ee2b1cc4768040414de82acdda20f6d8cb3fadc4a5798da71c4b5a014ba91ca8ca6af608ec744766e48cc3df695b317aa061ebaa2c5797d522fee89f178389440c428535ae6207280cdaa4ca2ed48d2402779a299c477a625939aac5f241530cefa5f2347bc83c2dfb48206f65e856883db58dada4bcace89f0c04a22e38bbc38158095c8e9819178448f31fafd6c2d3871280460082460e2025e9658fddfd693b1694773f29986787ca63663e9b4fccc772108f5b353c3b5880ac2380ccff20904e40f4a59d436c3d75dce58806a990c481673dcd1b48b6c54ad62ab6bd83403f039d39ae06453aadb194bd2382c588bc644dcf3706118b10b9218edabfc7b2f7be923b898e8258fa14273dd206e10c694321779d0226d1fa5aba47422fd6abd7c3b00ae083b4aff4cc690b16bda9a7411a7dd34935bf45380cdf582e1ba7590090f893b4e68ca0ba62701ae630489b1632838efbe2605dd814ca09b2939b9bab142767c2d2048b868c7453db3271709aaaf456468d3b16069138216c5dc15b664f4c195de26e3a351d88c473c78bc5063a3648f89102c89c0eb7f450f60eb5348184e8c0f54cd6e8627242a68d1df7f27157a5c6d4b02d3358a77fba6e2e80a723e3142e9bac0baa96d61b71ac425444f054a3bb56bd4cb4244ad596ba988952342adfaf22db24c537dcf125a5697892ecd57afcf23e12719b6137913b2496b5ec8e5454c034309eac366099859f51b1a0edf622f6db8dcb76aa943dc9f55c7b501cfb73658becd4b36ab89aebc8b22674aab65a781a2c47bc0b2079c037b145b52a26da131ed079208fd8a7881fa5be6f3528bc5700eface86c1480e88e58ab881483fb837507f47f5953b525a5924582827cf25fce727c055454b3e3aa73e286c312fd8b31c40352d3bb5dcdbc6132e95e1b481285661a74294acf739b50c4a4b8b601ac8d586d0ed0405fc72f0859db3490402eef445db6351ed53224a3f3c2265b97b7098a17bca4a20e49b44ceeb6aa638e2da0bbd864c7a6ef9e037782399e98d999ec10dc72d4d82878b75a148a9b76b6e566e60bbe8243417332a67cdcaf7a6682310dadad71acffa7649dec647b1aa8baf64288bb867c8582ef50917b16fccb490f479103db70643b77e685b845983c7f8f1f96fa2533909e3bd7e385fde205aafe844e52cf3743c154ba170733fae90a1c872064051b4fc9c5f0bde9987018c637baf2f367402b2728b6d5b48dc154a6a7b8203d09bb2bff1d1f8c935ab08f2a1fc1abeaa32b5ca0777458dd78527a0f26455e29331a42f180fa81119ed5d6c40a5ca92673174c7b3fc90341253f05832735bc40675524a4f24c477ac4a8afbbea0021720d9487a39c430a41ca11b12ec65d2f1851549e23f1f19738e1c6bceae7713898007f93c25d8d89850d2ca3a192a03b6dcd4328381e63687cfba1837dfc3fb1abe0d0e5bfa1dc6f47f4a639c0178cda616c34001f6d644fa93cc80e5ab8f94b70b1a1fb596bfe06826233d8a1a2af1f14ea7e5de5459b7a0353f4e7cf68ef4ac5126a8b88000fa9d76b38214a8b8dec02907c27b1e6cbd53d717b2eabea373ac9a9d2be3376bf4927a1d2b8f8678808f64e9b89d9389cc885bf8940989024deeb8870a0238d13ba4b62b3fea855fe13e880b620f4d249c63a5a4d6e74a1e8304c47dcad896e04b2a38e78941c53df7583eaf7b6733a08b22cec0f69a1e2ee75a77b2af45afe464b168fbf56d72a09eaa4507a248b88068409711f0d5997c8f7a550d8d1f95745317cd0391268a457614a9100cf866e4baabf628ef966020105da363c4e633571a0ca6611457d178d094ffd7ba9de7a2ff9500a954e6e3591d892b4335488943ffb1a273010deabc78a49a56ecbb3c76464fb1057d8a5e5456a09cd10fbeecab76ef4391ce29c7608e886316ce1386f75fb0fb76df66042c996982ed030c34fa7e50b27880ab6756dcf72bb0d4d54f392dcc07ead4297f117bba6b3a119ae57d96c7e63975262b992841551e3fd9bd411e0442bdb3feb40d6918ef96a4c26493dbc3a9a0f7d5fa5c73edc1e77b6a685a32c340b5963ce2385f81c3ee994b7585ae45ad1236ab9666e16bbddbf43da1e960d8c340ba20c9aab022808ea3dd6aa86ca07e5f8e944e5bca7b79c11508f68a78c6f86ca0ad4c7cbd2b4c1cdad42b883622476de361fd86e0bc429910d70eec4e54272e947ddfdd099c841f124f4fc03e0deb62be0dc2955e543ab19b01fd2330f9123066520eba168f2665e4ac1e7bf9501ee246b016e7aa2b6d648789fb40acfc5b978fc9fe0639ca166881c255db9d7ab08483a978fc4b17b5b796ea93a0e034e9ff707722b94849710ddf651f0b8831e4643c12abf206d9988f074823c6c77e04fc0313673b962af39bc264876d87414bb13c2439ed55510650b76eea5a4b48fb55a8649a058ab978a57e2e76de77208f283f6eba83bb96bb5462031d677c6ed1b7a3c920b4edc679475770f36c3d4cbc0523b5eaef83f5fc7aee21c7ebbf203c036a7d033f6831865dfd01e0b3b1409733ea72a03dc647849deae4c6cceda762e460b53577ea33887fb6ab4dac72e1d24a3a28a9d0b71b0c42d2312fe581bbbc25df6c607046b3b3c03a016882b0895812c900bf6af30049eb738bacbfdd27c9c852abfa4e91713be5aea36d02aa5d702b9518ca2c4217740ec7d66ae7ecfa528c14aa46a38aa5b199bf93ddc9e94d27022f7fa597eeedd06c56a4c538b873c722af8b9663c685fba56b6482aa00e491c2899fe8d8c645fa4f3febfe4b7c53dcb4cfeed0711e361ade0f750ccf349d594b131896df9caef83c277229db0ee304378658202f3c7ce9f1503efd2787476934772a20b1e1584753581c1a7fc929f28f3c6cb1d05bc1de91ad422a5ecd88d30cd339dce6615818279dfb20cdf704c62ef950184728edecabcb193794c22017a2ae139f3c8bf86abf2443e44eff4e037b02daf7b6c735f89b2c2e0205ddbc988f7559d3eda92364b58396fc6d3274868a90464d7ef950e30f68e4f914d5cc46d419cfb80d10f12957dc2fcf3373b0d9ece2a619454ec8a5c8ef49c514058c7a77ecd15023d4efb7e7ed24b8bf6d47a30f16909161d3c9d91afb0bb1902e139ef5ed96c2c144cd2f1fa31c975f9d41d5e69dad4f4647d7e4b841f4334dd148a66c9123bf09193a17ca8037999d8c9547c06286a017dee8e5fbb056f2f27f7f94f8dcbe8b9defb6f5a3573e042b903cbb8ddedb3b6d8275a160de37b7db0e96b6b3c655e97796e1514f57bf9afb6d44a43db16a72e4f5c05e13b3155b7923ccc680415d433ae812709424520761b5c062038628207b71e9b56d0613ca3f72da010f83fbb61e3795995bdc675e37483e50f5b63bd28047640228483a0b86d79b8e015cf847db11448eee76c015e50fe4844c3aa86550e939d7adbfdd897cdce72cb6a43aed31c51849e18a0eaab058b214e9e2dfb76147117328f41467b18117455598b8e390d5b7dd1d09daab5941988c58da50f15d2f4434b65b6823755f2e9f5d0ac1796f1ce2bfdb101b382dfd1216196548f5e1a8423b0bd4ee4766feaca6015023f0a6b11b1159c65a92491c67fa2f6490b5171cb3cd32ae97189c94f394598291589c961e2cf1de32a5de138c7905efa31b511a9ae68282b0167e88cfe298a5a5235a3c1c929f3b5f0650020c0ce03f50386322b87510cb74019de41dce88942bc2c4f3d7725bcfc62a8974c0e2c7431c20acb80dbcbf37f7671cc2f8595a2f31f89c3203a5b761176e2c04db3bde5da3a7480d3910faa45e3323b7aca444c44617209e895f8c7410044110338933e19eff47ede5e344ac02dc940edbb9d2d2d1d24fed86f97cd2eddf5b2966f814a3e5b24fb565c160ea26525c837ae843942dd66bdf4693308a7a961a12222c361ed3d049a690254b25c7c3f47fd40278fd049d261c620ecbd7a3da7797c2eb37a3b6f3c9b051ea7787316e9efcd1442d12df61329f466faf505f07eacdfaa8b45c8029aa3d60c1627d3e815bf39d5b6818bbe1a5caef269fabc2fada1aba272d039f048b0438601aad095ff2c99c61aff6dcdbd0005bac1855f9ea0c7afa10e3ac1c18b0dfc7010c288a6318509072e8f0039c8de6a05c2b8e0de1ba63e17cb1e70bbf8fc87332e6c363bf7431d57d4dce311153fb27eea21d5dd4d797dda6b7db86d80a505491f7bc575ea426f1bdf02af2c1fd034fedc0aeb8409f2f545a5bb6a004a7b25ab714b76bf040e40939a93048dd25b5fb46874b023b9eb4432e8b0e139780939ab5f511d7440978717c4d2436f31c4370ee30c8ccbc4f00b47deb7b915a560ce65ee1a0d01d1f65c335733e90fe4639a1f88e1aa115547f97cdf16e737b1928004959c7943b4011c096c8db9d6056baf3a3de6e7e8b480aedd10b872ae5befb6ce09e774a1770596fd7633d645d81d5572b087a8fc1225de4f46b244c8e0a94665b04a4a4c80cc3a47ac80d1f98915ea2ef1f7d44cb6828f7635494bdf5701df9c4caaaa0284e2b6157081fbf059c71fe3076d93c022faeb997c03289880b8614015ee5550c06213df1dee9e0f75f9f9e05a640e82582292afbf64e6918cc3cc7c06d4264b6ee326e3afaa6ff8223ea5acfd41cb0c520a9c68db49dd0b8427d86814b3640480a96b110e69904b1af6a5d8c99ff57913360e56d76c3890e368feabd665ac665825161c81266cc01488f1f562bd93f8beefa9ae5df4bacb25c2c0abe64422e0734d0cabef4da6fdfa3ca076e979f121149feb1f84aa347a81660a0582fb3107e97fc566c144deba682b22aa8f5292cdaadf34f2a80aacea97447a65a73d58f0087450311f8465b63eebe59885f56f053f377d77309901c22750751f97f46ffe564c809ca7f8322dd23e6e317c6b4775dd1d30c13ad7249fd8afc07349cbd46eff4b3e200b033b6f67e5bf3e0c2d464ffc9903f2ea062fd3f7aa15e624b7b6280308028d40be457dc8d63df3f0aae27fb1cf317b9313e64bc9b67caf485c2a36ab057eaf755db38868702948bc68bb51671a6478dbc05f975e82a7f84e3c9b16527385f35217ad545043309a6837348662a947cd1436f0bb5559fa807378d9ee0e6fd4e5002a4ab30f661fec3ec132b64eea419e743896b8d723e8c947620b60d450d4ac7cb731f9b88d2f341294bc5883d34835fcef4fe1b986795ef00711531db20bbd45eecc0a497f26d893e5038ff2167b2bdc85f68ee7d044c9f2a0c2552b8d3a16668064461a2690b6ee54d75bbd079ab753b2e41139da1d7850dc9e729a9d7a03ed90a5bca463a1511282fa25ce6b4eb578e36940e212e7225688b3be5a9c57b6ec5a53ee1bcfd518eb6e708a507c3e61846d697f38b8f9eadaa7824742689448810c76af884c44ddcf3b7217da96a384e0f9fb1bf37886aa2a896005a8ee75e0e86aec867c8a9bf6e3dbd4bf8dcd2a7121692e4075662a3f79621420be67079f0d101fc7ee2685852da87cd4c0750d5d553fe4a9f697c30c78e1fc7c09e814fe0c005e372967dd07abb37dabd7a480d01e81bdaeebb19b893ee128cac9986a4f4599ffa2234b96ea4be11eb21008901d59c4136eace426a49d840433dc4fd662468d076521807c58c88ffcfc64e12b100a0f09177e81e9e4f2f57a241980558ba5b01fcddb880fa023960f061bbc4aa70bcd7d7aef7dea0d75cabebe8fc73985f41f6c8e444e0f9e037311c790c76ceec97fc81ca683a9353d2faa0b8ba4e63a63d812cbb4701175765d4b7b6da0db03597eb8d7416da85069052c299bc392b4f860de0d598b14cccaf51267cc3987842dff49328395fbf516a48bac608ddc65eaa19a87e117d99b7b8e7f08519017a9453457e16d62ae2b6cd619f7781e6eceb88e7dd8cb62eed1708bcc15f5136aee8efacdbe26e2751f92ee1215f33ac8d4d01ef4b8446cd7683b6a55efb4d44204155645894107acbee7df6f3a7e2396ea09bc55b74831030d55cd3b1d2728d61d42bf39bca7b2907b714e963b1e90145ad30465fad0607ef692690f4791943f2aa492afcfece9a1865d337a12612ee6e3fc75d760eb4ea21cf04fcf1ee175a1aca09b477ccaffc9b2d904257cc59f149dc6f7d6078617178e5b8fd33b00dbcd0a095444478ed818db96b3a6c7398093e4b91838e2aa916dd026b6c387c6fd5c92191c9fee1f5bd875eff7d396ebefbd7b9257df870be923160cf341d708ee6394808a847d60171ba695f70a8c7b923318059e72904980a606227b8bb98d9b367575bed1e06e3b0f48a95a84d1435288f6538cd895a0b7fed3b1860f6f63932ccba8b96d458230eb6c7597b5241c79b422373fa5b885ea6c373cb2810a894b876a9b58d06849dc533c3d4aa049a352a0c49526e16968030062319329ac56cf5be307a6fcb961886e47952fe6353a22ef214faf2b777b6b4c367fbc9994eed3437a984a9ca0502efe024772627b57d8be585b03a4deb5099d7040c44579bbd7c02604a0c33197b9088706410e6f296c0a4727dd2345cf0a8f157ad32fb9d76e900ae9be1efcf4191aec20304086eb0c011cff03d65a78a9d59b99cc80450c20c84205aa9db376df2635769a9f86ba55773bd2853f2446dd2527dcc328423be44bdff79922e051a01b1f26a3a3f68adb90d7d92314a944f6a6fac19dc6ea6d870bfe7ae0f3f21299a4f16ca4e90370233ef4f9d4dc76696e364ab7a4c168065bde10bd0d5b676d89675c87d25736beff8788ae22cbd7e194bf2a61c480e125c849948484af5a1e57918db32555b28b2d70c281ff646e9c757b93deab4dd36a003112071cc939ffd1487f306db5777bb64626aead0a292966835ccb28f751e5fcf7eeb92faef1d20a0bfe18d86452977cf7ae863e60ca06cad87759aa5f1be09f4d7d2c98c45490ae3f6b39c731910cfee5a1de03c7a41d8929dff439626bbfa174b1091b72f6a1472301b11ab1f2e5ccbd8c70057b054ea7c5d3b547db86a591ff17123b9a95f3a7af69f4da604d0f92c32f0fabd281096f4828443ef4ffa163c39cbaf9346a294724daea159603b4559e3e22d18d234397138e010577a4405d1b72c8aecbeaa78184661cf428849e4fa76e47990fd3e76191a0ad35ecdc7f54c19df4a07f341250a86a684173660693500b8d08f078437788c3f9e3396f75f4f89ef4a61cb829d93707aaf8b4f8b13ae702d78f02f688faa5ab4fc7cb3de442930ae74f80246ca4455c6fc42374b43ef62a95438703662dece2998695a827108a84119e75246c1b306f5f3df0ccd10d2fd21733879e2dda833fab850472401e83447568ea65da17d7fff2b7991c76f938070bce2405f833be2e686728676663eff475e2b0164e5010a01f0e2df1224ff1a6c25cd586af0291e8b9a7c96b4a4fa6b0ac82b49a3ed48b51221479bfe4ebe5c1c008b828b273abc7b25aa644f00702aa07ac7a8c2f36e8babf0317218cbb95cd48795704cc87fa2e95a896e222e709778db8d8b7b5c1cec41bb583abcb5b82877e5c7821199ee467e95d40cbc8d6c935fce3418ce3fa5812807f30a62f9a7a20c07afefe8b24200c534ae38724849615178d7aa6c0e0734fed6150a2e72c99bbe914268f6ca063185fc9b81aea8b936c1991771caa0046f652c9a318b6fdda0cf65658e793ed89247574fd1c139cdb89ecea8ecb0f5d589ef525e08ed0dbeb2719d42b63378e64a9fa8809f1dde2f0e80ee09e0788f49ecb9309f786427a7d5337dd1a4be41d49394538e6ccca7727fbdd79ab37355891bcf06ecd0a1e09bdec4cba445af0b91f42ce944873126c6f26a79505ade458add35d6946e17c91f1450ae6fef5903f060bcf8f90f3177b7b1f0209052ebb48f325d8c2a6a7adcd9b530ebb6156b30b9821a2771063abe3418ff934ed71ed885cc5a7e3386f94e306766c7e8c0d534afdfac2ee67afa1097e2e329f37c93803c14604db19fef1236816fba0eaf349d548cd5ad9ddac55aa78df8b7d3754b7e8d4da84cc9652627b97f2f6bcb19246c1a20b4fdf5e149bf83b92d810ae9da878c3cfbc111bd1d742b74e6257c811c5f4ebd75019c8e7b9db2fee830f83e5a92854cf5261b4d9f97422a2a9499ef778c615e7325eed3d0b00320fcb6e47a07eebdfb3c351557e5c2da23df543fd864b408ac8e70d63c8231bf98f51ff9e8d2193a7165cffcbfef2e58355b70eb8823970b01f696f299056dbd974a1adc63695b5709cb6c322ed043d6c02276de51d1bbd770e82ea324a0c72f742544e7acb7753cc2853254e381aad2347753e588c2f11c619d8517d248b1aa28ac88f078148df6a7b272819920a2bee0062b190bf676b445ea752af320decda2750f6aa2ee3ccbecb4c7d2c8ebce978d6c7f3da031597cf07223ee5bc03603564fad25a83c9845a551ba68ab9eb32ed6d8a1d08d1776dfd64e33eb2acc1f4077bbebda1a4f6c1ea88d09623c7e17ecb08aa4afea15aaecabf66a7a91b8b3ae69e88960195e86909c5c8da95dfccc65c43f461dcb7d42b3f342adc62bbe609e7ff060a63eab2c79b57982d288269645ad781398a6c361992a2fa974c327f91e0f0adbb5cb2ec95223cd30a8e2ad1fcae7591d1001fe9d7448fcb496dadcaa293f4468b9331e5c21c2b0f55758e40c7a8424411617f193e39aee8b58c967ddab58b2fa316bd2680897cd630a9d7877917f5b8637e66753d6c196c09784012f974629b99d74896a629cb45819107d482e9995926c0d4064416949a45e59a66032c64005054ace9291317fbcfccbcb9c812f1d8524278ecc227e6f3da4ed82459e7028d5df3bd47899706c6fa1d9c4f7753857e83dc3077c74cacf304085719360eee0793a467448f69f3d71a81db2d4a464ed9dde4ca849219940b7e2baf953b08b5337c71885fa0e6e03c0ce8a6c2b48ff0b3a3bd129074cf8256c780ee2492941b0d77a5ba01d833655975300fb17e4a54d823164da5223f3b7827deb5d885629c45b43c80a3f3c386974d90b91eada0497bb3d488c9f38ba1ee4cb0f459e518ce40c6e482c6cafcc36aba7da86c5c0f8249f005276b241bad4609a17738cac7f337b1c6bcc869afc75e841438f39a02fa8cc58cd61793489e3e80f94d10c8fd673893e8ea10034b58ec1f13063007673fb4b421f3daafa311d5f2036dd57b2f53669af8df578b0223e2156f9fe8c8bd77192c3ac0df6a937885d7b377d691989c060d5b7b930cbf56818c6f9bed2568fe00e39164e86ff9fb7f3cce39d005eb1f2970747798477e240dc278d0724e6d24946de00eb06acd99a8995a4bb30883e4e1b742192665b33a98440ac50d08ec5bd3c0e16ce0c64c664c9c63ff56005119e02f3a1f2cc37511f5c5b65fa8efae27e306fc4ec4aa8773a9faab57cb39fefb1f7e5af3082cc0f3d3437877ead71354ef46613ab8258363cc43bf19a141d10a443dbadc1e68ad1bdb2960a104280c9101ae35e0bd8dfb96ad3525fbacb9ea0fb3239583c3866af2802a1b1bbc2faf7ad4e9f9e0d7eed984a1ee4d799435f127d6d9987079b8f37d3eba52cf5802c9bfb66f84816cc724589c718016d2435c6803197c543daf90325c84d5101351c95f6beab1fc306728714cd87ae61f97db2b33862bee27aefdf467ec5ccc5c7c8639351e9dd71e4ed25b38d0c8da9393ec39162d1d2b5c6a6fb8a842ea39105c8936eaece953401019b29694a7c329e5fa1fdddddbea0e15ea6e3c73404b6f112935d5389be57d3e568feb715d5406978af7de84d655647844768b0e4518ee3ad2939c02931a63ca003fb414f4573416177f73a9a3cc2669030ffee54789c07acd2be7986b395b6c924330909cf765f05c521bfadf9dd137db5d5044704a4c3f782500222cc907b7639e3adc8a099d0bbd6f2d3ff2454a3d43e3cf63f27fc5d9e47da6b18abd00de630396c08affe16d835da1b628e92a3d823920e059bb2432094de7a38960f4134af0cfe9dcf4b44d761233f7141b7b6c1bdac7679ea48b973be7d424d6d35321901d9638e8260afa20c92d48550ede469c835b3f2f873347f6e019230672a966d101551921d77a562253860bcffb5a99835287bca982a3f415da221e4bc3f0be4693c42f834b3408b04929494e16c3112d03eb7e4d61113e1e23fa967bca562b3c204962d99156c8be7c38683e22559e09bcd1a4052bb0613afa9886e3ea813c4e0b12124e6e45ed15341d229289745990705de61b13d76448c7f9e0fe50c5c1a19726ce037378d219e4c686df7f9897a22e425eb0c7cb27a11b55f0279457d3de82034281d47b2b780b46309d8c1ff90676b9a09d42c9aed3415e270cc5875662d3be864711884ab929a5d557db0cbcc762b933fcaad4ea4adfb376397a7cdd34f61b6b435028993dc55654e38ff21ab68b0fd70e9ec276f631d2a38515a56b973517627797f1d682175a1afdd7cf25a6762de23c19c323190905aabfbdc07033ae14739eff5c4adde2f77f0d791e1079aa877eed00d81e12d67954cfd685ea18414c717c494ec72f1b92434b0fbb79ff9654693c06ad0b68166e559acba398724fd78addefce0e8978948c423faa1533bee01ef8201cb0d3f6a45909a18304ac6f7fa658d7d08c286674fd6acd4deacb204b88ed7e44c7cd3a25e5efe47d5d26088e7ca994123fa672da127551dcc0c2dc3a9cd644ee2d2e9e620e94886a54aac574fb4a6d0ec17567858f13b427874734557e520706ec64ea5dd14406606523f428df62ee7ef78f5672bb73c5e3b81426485b6652a0600f5c26c122f5a24f5e10ec222b58819d8d6e7964c7cbca1bb645ebefd5ba35a27a74f02a1031856453a73bc6e6b505d59127091e22cceda4d1ec7878a7b1638bf0b57b3e48d7d7d1ee88bcdd0bf215637d687b9c6462e2fe95254d72e709c85b592264b99de82b09cc24f695c9aa5896c1f1c760357e862bab9ddf0759dd9bd261fee1a49868d55d9bff2a3e00c0a76ceeb7b82e4bf46a77cc1330c316987a2db0c5b1660598b2af53f7e2d9c330f5df82417aff4be06fae97e570a65ee9234bf4cb63075c5d68b2a52ee9d9e0041977eda8b05180f4b7eafe771e3673a98b313dbe1ba98e335c367f2f5b1f238243026a85f52b6f85233e10aaaeec7f78ec1495675b1d4a786076d7c98d1ec0ffdb34266a0c8cab27ba188e54b4450e539d61522abaad81ef3c98f15e0ba3289414e45d53cc1ad5947ac4d2060bb4c0aa6a8512cc1287336515b160af676b7a74d497916ac9c41d0f3eabb0d2e2f945e7f883710610a4657df29194181e82127814c62188ad70974dfa7aeeb9198ac3932fe7dbb30f83bff38a812821740497d3cb89d41dbdb03883ab40a7bfcd39aef4e1f69acf04a76945793b2c39ade0772e40ce888cddec656e783bebdd26ae2f0c36bb9f1f7369206caf2aa3fab1415df1bb8ffb3ac22e5877d69080933e1aad67eb870a87e150283cafb5cc29b45fd3682a9434662946ca54e02d31d355b95439239cce6e7e53649f7bc9259dd0bf4bcf6b7ec9640e85921d77fbf8e621be66e898602df810e871fa25e8a5f162d588bb60b9a9f1604ea0d5ad20bb19b6485d444181b087777264669979a3af68a225f2e663a712efbea20fa4435e00a414341d32ecf33cce1bd009eacf856ba782c39e0fb24618ec7293acddc914a86a0091848da0680b11ea961167de140c7251cc50c68b21ec85ea02dacf0f63ca188360907553f053941997cd67c682c0cf62013804ceb19b63bb93f9855886fec64f02cb9e5b9674536074d95962c650378a259ca3090d3ec90a88690c545909b5a67387255cee1ccb0e1bd7f0ec92eba1fed696d6f88d65f53677707f3d82fe969d767003034a66d3e9ea5295d2584940b72666dff0b7bfb1c8898764047bffd579e51aa1f47e61b7febe36c6547f543bd2a8c074990f163884d62759c318fa79c9525892c485c3fb1fd45c235b55e26dc3080ff518dfae7df1faecf0c3935ed576c4137aea02cda91851029512098748baa0ce04899808b5fc7fa9a5a67cbfa2be32d8ad64ffbebac4b5851fed4a5e75a8f318c35afa84f8d4a964088f8a7ece4c66f0b3ed75e5fd3f1db6ec0c8432f51963239424c1e132e713dcb4daa96d7b0fd03a7c289e41b81c030f384f8b9f727e3966ae5ac9702914426f527ca734c06b1428658a2f3a95e4d48be088cb64d877ca4391aa3feada3378fe268980d5fb838c22c09f31cba73a9168bf50072f09c7269fc88809eb6b6e7ceac74316317419e02ee42e5f6256134401da26db50fc8268c3e6d4aa2a1296e224ea9558e0fbe57f6e54f90ad7d60bbe8ad40d6d8a764603409f9f2f33f0f5b333681104ec3878464e6f222b81069b28426515f5b2cb39ff304efbf2d661f66794588abf2226fff031b8516b76b34129f1f2c139c0c70eb61668830fd1650b899f6e09113536e601cd200d6ef00168fafe26079a246f11d39a0546cd12aec5306b5a5b0a34bc50efc4c28e058dbc90759125868c1a71f8238e9d235e5cd863f2a5e2624ce3902b4e0349ba80a207c72f8db00fe91b6c34b81b52718e141751d30b2471267968d98e52ab19fdbaa8f408fce53da2565091e421cffc76917dc64a31253f0461f26a403d56c16cc99e501eb840e602ad45d50bcf9f9c8bd2ba0f5127c965203bf4c5f0bc3bb1eeaffecae951d518f4e1206859909999af338911b0b3f0d4b3d0276ae653d49cfdcf3be8c14dc79b44e02306721f37cc19dfe1b726e537f44fe978f3463c805631eff7e50a46aedaaf4d12d22c9389ff7f44ce62de4148dee5636c80e6b710c720c251d4a6fe7eec35842640e2cded646eefb9032657d284415dfa14a8a6a983233c4e607a093b6280f65034fbc912e0b8b4542b6149b064f80cba63420e883dd30eb1af624ab64d547f30a3666ef71aa8eba2918c460db4b5612bc3dc0570516f7c33067198b1229a4340b21c86fe5c9d46ae3c7af058094cc8ed7f911b1bd92f66c2251d2734bb93f5ab2690c4533a38820b6372018a611100685ac39682a2bfd7419d6b0d3051f2c6f4c8beac2679dfa963f13cbeda0eb427258489f647640c66f3eaac1a6bd4da07c3398ee3f5e370049983190ec84638388153d8de981703ba80a748a2521d6bb34b8a0cd9723567ac48f08640b7f6dbf9213e35478bca27b40829a3f07bd122abc98601e5b1c0bd559429b841402fc5b0db38cb45c591b2296d44179164f586ab9ecb99ecb2e94ebbaa699069856b5a43d97a883a88b9989e383aa26c0c24d71fd7d7fc05c701aa97063ab34e9c5ec78d18bca83dbe46c40979ee3b22c3fc1db15845e80a0926ba82336986780aa8838cddb48672624d79248b00f5f5f35076f91f84f9fda4c4c2d85d1aaaffa356b244b88894798c0735a8d498126d2a31cd15433cb99a9a36c811465d3ce0f3c1f569a1a423f593f2fae11a942fe60144c1ad51f7bf7aaea01f81b54e5981d9238f65bebc0efd73ca1ea897edc7c99da94c796546dbc1a2f9cb73c23ace0bbd1b6deadb60b8a58d70df838391e0cc6251d6b53238394822fc97ff7d5613b20f898476b6620c0f346881db0129ca9ec22abdeac5f21c921ff80f1d473bc3f8c28bc1e0344f1d61fd3090434714ca00d5adbdc5d9288ac08e83745801b3b20d5cc0343745ee2bf15ced30880fc6e427e9de4cbfa4d2503171b15eabcc325163cb458e5fdb04846a2b4716fee9b88c38f138fee9d111d5cf23a629955f68dc324c310a2c766aa1d59e624bb6d182a53707317e0a23febc1162043d23acda5d675446c8fa16cb583480c319338cf429d6b002442916e2d9acbd6a88cf84a49886d31675966be7bad367bf0ac2e7d1bc79ec2ceaee30f4b9252d869e4ad3db9dbc56ca737fa5f90d8fd44cc80703d6dea442a435c099501f0a024fe26713011d9548875d4e70a922b0df3d8f4a0f6dd153d70c7c4664f25610362ee0f249c63b065aaa3c3eaf1aa3fcf7147086b57d3dcb2dd4609c84c42b112e1269f23871664b6cee7126299994fc5a95c4a370c7a9641dba1c430973b489335073c1c8f332a5118aa6a701788a69d6dc9ad971463a00aa77a5e7aab6cb31ecc1deb6eafc15d247248f3de3327d379102cf95c97f110b21a2da790543681ab425ecdf9b53b03d5923882e137732e0d8c072d0198dd71c00ae9b966e35ff27b7f36c3eb25a58960532002f4c3a2d455fef16e59bbe146f26c570e141264e6a420f498f2914efaab72cfe9bd4084c8ac0a5a0c44db844b664d361127a485991aa9c8fb89cb473e66c7299403f4cee48bd2b0c1d50256c77e7f18ebb4e50a3ad81658f95f63ce88eed70b4819177824a2789712a6a1a1e469232327866db52eb2f928ca3070005228779e3d8231f9794fac0b1b8c35e8cffcec18a7304606337475e1853b5c28e4f3756fa2b1b82b4e3d24c4c0cb4e55c70b9d033c68481c73fcc6a988e6c060e6ec20e602b52300d53dc1bb3e6207d5971062d89d4fdb874b4a9b82bf03a3590260b4a3e472678a42e6ad4a3cd4646724a2894641ed19cf86b584140ba6fb99446b154ccf762c3438c462dab62c99b8f59c3603d7f488333459f3f91d2a0b9feaa4f66257c9cbb7222b85b642e4f1a95f5f5017f5903c48c6dcbb3ec018e7a1b34c759077cc9e8eec336e6272a9e7177a99d502608b75625cee05824d1115c09626b0f701fd2c6c7b586c37a71458133f01e00371fd91cb777c85629062ca49d36c688005714c8c13e40c5336d4d319146d00e1e07bce9c9af445f7f9ae362b073aebd5322a4ae5ed1c9cdf839a1a7b953b5040eb1cec4c6f38dffdb79bb015b030a257098e45b29187844e159a886202728a2c7ccf887daed5e48949df5b868f69cfdeb7a73889acd55f3146314acd1b8ffe8d1629fca8e56ad7650b4747c617ce4859076f16a547f786fa2bc1aae4098b3a2f743f57a05e851bdc501e469ab9ee74169d909ed35176572358c9a1db0684a5b52cea86417e71fb2f0a1d0441e6dfe444baefdc9ae4e54cdde7bea53a3e588d69f98e0ea6a37202320b51c341c3cb7eeaf829a9be08556c6dea2ca7291aee8ffac41361e8315c434100e010800483391dd2a8a126872ee4171aeb965bce66cbcb1ce8d01897a2197dddb4dfaa00e50e77f7dd0a9c111895e3b29b06d37053dec434d7d71c3ee91218cb1d81cd72fb66377328cb8938fd0142114e82c243c06b4b888bfe440a7c4353466780f07aa0200dc6fdf1ec98f11d864871713286a309617963f87d5248a17d856c68b79669a0116e1f9a61e57bd4474fb5f810d54d78cc8a6386b54072c27ca3401d5d41eb8c260066c2f2fdbbb1e4fceb66e44b83a977c3ed4ef259c76c05dac622eae57164a9292f49c8c5d18603297477a7044c68a4da88c791953f6e3c1155c39c6d6144eacffd37f493b80c4c41d250cbf6cf116f37a92a36f870000901245aba8072c0c66e8ac2ad59b86033ee7e3d89361401d678f37611efc614286bbfd2436cee102e2b486ba3b3038d51c7f0b7b88de3e18f422122780247585898df5135ba9812289a8c597753bac51f59e2dc25e10dfbd982aafedc1415a83f12ced7bda806c22b54786759ac023912c1f1083a908e3e099bac10b5b2f29f65e9c97c4f0c095c6a734d00323aafd64ae79e18fb1b3d7c79ece59c2cae0ee6afd7d0fbe9df92dba1848b49296d85cd6ebe2a4aedc3b87ae2d26bdead33dba58c91331f63c8febe3b7f48d3c740fd85fe8615c98770c6fe284e772412409018a41f835de6e9c951e16384558540a8698588fe9076eaebbfb853d9fd407231bd06e9d45b11b190d1271d317d4fb6b7921853151a93062ba9027b8f7e50e77a7f1321d366d913c94923499990b93476ecaee450d078bd305211a2eade9505d7f6c7e4a1e498915724e8847a947702e6ff4996a31d83cd84d41e4803afcd2b28b0a907c8d9d429843e270ac3a9cc252c28bf8595e9b0b830cbb253bf785b02bd4a7af3ad8b5dcc779fc3bf6d0337578dfb7aec59f24e4940dae49832a1ff1ad3d17701b1f69bf06b79df0d923ef79a7585b9929099b6c0b21368fd4389020c644baaee1a19e121618fb17499d93c87616ac922354560e6d648df89c1c4f9ca700abdd71176fa6c3256b3322d06cb03db6b011f5f0a14324a39e4b46bc5bc7d4922a826da742632ab992ea3f678040c708255334115dcd7aab273d74f5c123e32d1c1b7681a1718dc2631b780a4c0ff59cf14643123bb09b7458f68f732af2baadefe624ab93dce78f937507297376952c3acb5d8f4ed418bccb2c4f2514389f46324536511f28ca81298d118ddb88cae08c49b78e3b4b6dc39529db92ad2639206378426f974c9384789c61d8999c5f4e61c62c0c5719fd6dcbc5a956254896dc874d40a51a12b54f6a8d84dec6bf81c8df5157dd98edc38b2fae13558ac29afb204264a8800e562638773febd88ce6553b21ab45ecafcbe60a056af13af69090447d2508d45190d292acdeb85a3818fc9c34202443b10d323730cb4fd2910653db9dec639dadce58eee2b2db229cbde8d213c20b82e6178aab3609e189079303cc7df157451e8ee62b9718fd3d69ce8a6e02e2f7a6f5dc73e88d8ade3c3c9096d440a89e6be32dd08f1288bf4b1582f386d337b80826da2beadf7037f46ae198fd233869159314efea9939c0c3a331db19af0ade271505b734d95744842bbb413912596c3ea19c6c9c188fe0ce1210fa277e5283795cddcde956db71b999e7ef8c58caecb21eb09d9feb5743ae55f53e5d602e913ad7a528723072908719e315a7f81af180ce87e14453af33b2545a5d87e2cb0d6a7465094621f86a9151d7b0fd71d647bbd022ac2aded8178fe2f25bc9f87a0a250784b1c333da8d3d1e6882efdd02121663b67d64add8c5b7907c1e05eb77b28f3c0c539d31596d652100ea4923e080179f0c5a878666f67e699c89dcb9d96ab4275d9eb041db6022088034c7c602c4fba9535e6d853a178038c52c2d220ec333d0880d5d7c646c74567e6d5c536b5b3b5a8fcb9b1eda36b8ceab0114f1e10f9bd54096d6a2d69b509c1de2198fa5088442ac53d17d55b53fb58496645121d54e3d1b4e1d5c8f19b8da3d5cce002d412bc223b1dbfc9befd46f65a9ba723e1900489598f95be351a33a453b95a0e30ac8382c9a2c7070331504689a67799ea14eefa979b1547b081e892f7989ba0bf52264e5e7cfea5d9d1baf9df2fb73edbaccdadbb6db2d35852b0597a03e45b9fa65c801f0b93f9acc204e05f2b3222bcfd4b7d021aa0f8b4563a0b1da046701fe13115aa665196b671bae01c42ec099cbdf1c36281a5bf44002e18de71684d1df750ed206cc5f71de206fee57967f63e12a8e21784a080d3e61efc63f03e1107454a8d5999a9c6f289f0829c0cbc299c67f27a801a3f22667cbac5a3a21ddcad144a7e05e4668cd0858be2d594c5651f34d8dc718d45307ba69af53aa538fc152c267820c5ac307deca24fdcac8edbda40522d9f7039bbffa3c41b387aefc47afb0a31a06776fee3b8bd29d90996e9bdcb2667aa1135b74dad363d1c93b52cae3f686d2381dbf6dbd422526f9c3ffed976f0347a1bd82bab6d1ede9e95aadddd6401b20f156e3aa558018ffd5ffb0fd7c8ffa2bc3b7ed748727902b13cddd8b5c6e2bc942df3c6d2d31aeedcafa2432452bedf6619a8008475ae017b533534adfa9911e66d7e305f6234d5408bf8f552859ed8dac2339d80365e1b8d4266c71a505e4b6901d7a021d982dbd82ecd86b7b6c290c6b904a196592429c0dd9dd020091123fd0bcc72ece1095919cf0351580029411a7fb6fa9605639d566781be67c87caa81581b15c67d25a24a0693d4dd74017c4f40639f2d38541c7feca5943742be3409e3d521f55765b628cd1fb6b793f3400a4d2f8dfb77e7df8e44e154297e79573ac3471ce16b52cb51db55a8edabd220074014954485448d5f0c52ad7a4bc3a2438c80f13958a1c83caf1480364d81261eae4855d9c9c4c1f596ee7f0490fb3a978220f5b876ac38c1225da7e7f91c5d2cbcec234342ac702c53b05edff3541121a77502f9e0a63a96d71c8cb1e7df691fc20feea378731d9e65d20a1ce46962463c2d6bd875341f8462892491d9e67453e017c6ae8171cf664ab1f2ad5bddf9eecb4d6239c2588aca8299b17170a1d4df923d23a6c8cab0e6726041d6bff81b45eff27fd193907e0bc3be3b289ffefcb6e80f00fef6deebb0b667cdb3cbd4016680b4ac5227997068e871085482d02b1ede1a1f3d697ba59a74328092b789b628d578bf69a018036b32de28679f4ff4d7f4c89827372b6e2d9fa7734906471db5c0fd3515eb0fd7ece6bb7d3e4987000b05372f70c66bb7df0714b1674cfe6772905cd1c5573b5dd43a5c72c43413663acec5300859efb124471f39f4f8e450c6daa88f7caf93257f87f95156a10f2a92767bc4e9477eddfb138db68b1a20b61bbb0b04aee2dc11ef8e1166db0ddba33085768b0ae29b9faa84794ea54380bdb6b4a38d0c56d814132aca15a22a83f5ceb22cf019dee324df1c404ba01b0aa9830cc792db9a2a02ac8788ad8b6cf7d83437890e88b10c5de4c2a6b89938ad38b1e4fd5a5e2f700a268d6f5d4cd1087fac820cd87fa819c9053845210c292f6520f1467194a94f1e725ed28943208d73e40b52b50d39d2b3495460abe132ecbb895151d5b888299aba9a238a11624e054ecb05c44ebceaca072c3e83377f0e8ea50627ffd40f639077c7a7493a2a62ccc3260037b1d13dba9e0366f7ad542962674f67831630253c3d18fbca098e79a966d4e6fe4006b2f883b44d806594105030c1a19624c573a5f092c73707e6cb481179a01bc432a094a3f6da157b180914391d85dad4bc6d0dfd33354ad888a5da95344e61a6a1327ae2d943e05abc3e7d5c5db5eda62d371f042c8cc0711368c16dc8e966b7cf736613d394758bf4569986d4e2ec5bfb1272387e0259acf4981170cdc9891d5c7b8396944fbbcc567a0479cb192a75e6000f20be227000b36041b57798299ecb343c0ba3c52647c7328e7f1cd0c1b81c457abc0098c24565c9300cb404c6514250c5fcb889b49c319ef05d9f73d84ac9b6f98b674f3f56e59a7f46fc16bf2d91f91c96cd5b9ecf3b8d173d0caa6912ad8c349d7374e0b9e2397b8d463f202e83781a079ba4f0a4091a5281857077d1b4ad4110324d70657c8349ad972308e63595ded422f9b1949d7a892bc402176202dbcee296b386f6cb47e9d8571dbc0d36d13d12917499a6b233cae293294bf7d58b09c97031473d640f6f5d2ee013ec3f8d715d5b941ed5c168572ce2a855d89514371eae3b19aa153d107e5a00263dc5bd39d060891eebf2f94a226feef747f2a198f119fe7ce8309cb6c6a563e474e63290f95c798ab1302101c7b50258f832f7e11493be511e896f0a8dbfd38b9aa9be3acbfce09262c9b74c5564bf3eaf71c176f20c139c363289c1a64f65a2e86428948424b0092e78b2d7ea6e15d13adb10af7fd36735ff28ef09e4c70392922afbbea1bd59daf1abdafb25770c05d2be1241161dd2672e030afe06d057ed681cfb01823d8aaf896da030748edb779bd7bc23a7046a93560d5f059f11c5f61f77f612a2c82d2a89eb6f25b19d68c51ae3e1d44ead7c1ca027f0ed28329634be645932e1ab7c321bf27b8cfaf9aed30f2cbf5ee4478952b2074e4b64cfac3a17618a69de47892e81023b97caf77e33c4db9048dfac1a09b96bef130eb3973332837cfb7a78f7ceffbef0a1fa9fb5c09c4d73747897cec36a05c0c3bc39dca7b64d835621e30de4172a5ec8ed75d3e04d4377baa8ac6a81831e1c9d5e720fceb5b656a61352229a3cb45505af6c47b4978dcbeca765cb38378b3e614f00fc9c6d34c8fbf4f0e8d9240448153b348df98517a7362c9585374b752b93a2220ea53c756d4822a276575d28e5ffb0eb999eac224ec6c4184bb519e01711373ef33e5354a5695ffd872e2e0f832db84fc58ab661bf2dd3b2896d1e8d2cde5a8a11be8bce3f7b3b1e91a38f485d8bd0624a835b85e8dccaef2c0ddrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootjetty-websocket-9.4.58-150200.3.34.1.src.rpmjetty-websocket-javadoc@    javapackages-filesystemrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1h[h4WgY@ee'd^@djb@bBb9@an@`i@`@`f@`KW_@_^@^]߶]Xfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comrpm@fthiessen.defstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.com- Upgrade to version 9.4.58.v20250814 * Changes + #13461 - 9.4.x HTTP2Session cleanups - Addresses CVE-2025-5115, bsc#1244252 + #13261 - Improve handling of failed HTTP/2 requests + #461 - Move ServletTester to the test source directory- Upgrade to version 9.4.57.v20241219 * Security fixes: + CVE-2024-6763, bsc#1231652: the HttpURI class does insufficient validation on the authority segment of a URI + CVE-2024-13009, bsc#1243271: Gzip Request Body Buffer Corruption * Changes: + #12268 - IteratingCallback may iterate too much when process() returns Action.IDLE + #12648 - Backport improved handling of bad Gzip content (and Gzip Exceptions) + #12532 - Backport of deprecation of UserInfo on URI (in violation of RFC2616 spec)- Upgrade to version 9.4.56.v20240826 * Security fixes: + CVE-2024-8184, bsc#1231651, ThreadLimitHandler.getRemote() vulnerable to remote DoS attacks * Changes: + #12201 backport ThreadLimitHandler improvements from Jetty 12 + #11938 - Updating URL refs from eclipse.org/jetty and eclipse.dev/jetty to jetty.org (including XML dtd references) + #10805 - Jetty response with an invalid HTTP2 packet if the client set the hpack table size as 0- Upgrade to version 9.4.54.v20240208 * Security fixes + CVE-2024-22201, bsc#1220437: HTTP/2 connection not closed after idle timeout when TCP congested * Other changes + #1256 DoSFilter leaks USER_AUTH entries + #11389 Strip default ports on ws/wss scheme uris too- Upgrade to version 9.4.53.v20231009 * Fixes of 9.4.53.v20231009 + CVE-2023-44487, bsc#1216169 + CVE-2023-36478, bsc#1216162 + #10679 - backport HTTP/2 rate control from Jetty 10.0.x + #10573 - backport hpack improvements from Jetty 10.0.x + #10546 - backport jetty-http Huffman encoders/decoders from Jetty 10.0.x * Fixes of 9.4.52.v20230823 + #10352 - Jetty accepts "+" prefixed value in Content-Length (CVE-2023-40167, bsc#1215417) + #10337 - SizeLimitHandler does not enforce 0 responseLimit + #10169 - make sure that a ServiceLoader is retrieved before iterating + #10066 - Allow SAXParserFactory or SAXParser to be configured in Jetty's XmlParser class - Allows for GHSA-58qw-p7qm-5rvh workaround + #9887 - Deprecate CGI Servlet (CVE-2023-36479, bsc#1215415) + #9716 - Deprecate PushSessionCacheFilter + #9660 - OpenId Revoked authentication allows one request (CVE-2023-41900, bsc#1215416) + #9476 - onCompleteFailure called multiple times- Reproducible builds: use SOURCE_DATE_EPOCH for timestamp- Update to version 9.4.51.v20230217 * Fixes of 9.4.49.v20220914: + #8578 - getRequestURL can append "null" if getRequestURI is unspecified in an authority-form request-target + #8493 - Review HTTP client feature setRemoveIdleDestinations * Fixes of 9.4.50.v20221201: + #8774 - Added SizeLimitHandler + #8678 - Jetty client is not responding to GO_AWAY packet received from (Jetty) Server and continue to send traffic on same connection * Fixes of 9.4.51.v20230217: + #9352 - Update / Fix CookieCutter + #9345 - Backport Multipart Fix for CVE-2023-26048, bsc#1210620 + #9352 - Backport Cookie Parsing Fix for CVE-2023-26049, bsc#1210621- Upgrade to version 9.4.48.v20220622 * Fixes + #8184 - All suffix globs except first fail to match if path has "." character in prefix section + #8145 - RegexPathSpec backport of optional group name/info lookup if regex fails + #8088 - Add option to configure exitVm on ShutdownMonitor from System properties + #8067 - Wall time usage in DoSFilter RateTracker results in false positive alert + #8014 - Review HttpRequest URI construction (Resolves CVE-2022-2047, bsc#1201317) + #7976 - Add TRANSFER_ENCODING violation for MultiPart RFC7578 parser + #7947 - Improved PathSpec handling for servletName & pathInfo + #7935 - Review HTTP/2 error handling (Resolves CVE-2022-2048, bsc#1201316) + #7918 - PathMappings.asPathSpec does not allow root ServletPathSpec + #7863 - Default servlet drops first accept-encoding header if there is more than one. + #7858 - GZipHandler does not play nice with other handlers in HandlerCollection + #7837 - Fix StatisticsHandler in the case a Handler throws exception + #7809 - Jetty 9.4.x 7801 duplicate set session cookies + #7748 - Allow overriding of url-pattern mapping in ServletContextHandler to allow for regex or uri-template matching- Upgrade to version 9.4.46.v20220328 * Changes + Option --write-module-graph produces wrong .dot file + ArrayTrie getBest fails to match the empty string entry in certain cases + Interrupt flag is not always cleared in between requests + Gzip compression not working for multipart/form-data when added to the allowed list using addIncludedMimeTypes. + Miconfigured headerCacheSize in can result in IllegalArgumentException + HttpServletResponse.encodeURL not working for URLs starting with ../- Build with java source and target levels 8 - Fix javadoc generation on JDK >= 13- Make importing of package sun.misc optional since not all jdk versions export it- Update to version 9.4.43.v20210629 * Fix: bsc#1188438, CVE-2021-34429 * Changes: + Improve alias checking in PathResource + java.nio.ReadOnlyBufferException + Deprecate support for UTF16 encoding in URIs + Update to spifly 1.3.3 + Update to asm 9.1- Update to version 9.4.42.v20210604 * Fix: bsc#1187117, CVE-2021-28169- Update to version 9.4.40.v20210413 * Fix: bsc#1184367, CVE-2021-28165 - jetty server high CPU when client send data length > 17408 * Fix: bsc#1184368, CVE-2021-28164 - Normalize ambiguous URIs * Fix: bsc#1184366, CVE-2021-28163 - Exclude webapps directory from deployment scan * Improve handling of unconsumed content * Jetty start.jar always reports jetty.tag.version as master * HttpConnection.getBytesIn() incorrect for requests with chunked content * SslConnection compacting- Upgrade to upstream version 9.4.38.v20210224 * Fixes bsc#1182898, CVE-2020-27223- Upgrade to upstream version 9.4.35.v20201120 * Fixes bsc#1179727, CVE-2020-27218- Upgrade to upstream version 9.4.30.v20200611- Upgrade to upstream version 9.4.27.v20200227- Removed patch: * jetty-annotations-asm6.patch + not needed when building against ASM7- Initial packaging of the websocket submodules of jetty 9.4.22.v20191022h03-ch2c 1755853468  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi9.4.58-150200.3.34.1       !!!!!!!""""""!########$$$$$$$###!%%%%&&&%%%!''('''!!!))))))))))*********)))+++++++++++++++++,,,,,,,,,,,,,,,,+-----....---++++///00///111111111112222222222111333334444333555556666555 7777777777777777777777777777888888888888888888888888888999999999999999999999999998887:::::::::::::::::::::::::::7;;;;;;;<<<<<<;;;7==================>>>>>>>>>>>>>>>>>===7???????????????????@@@@@@@@@@@@@@@@@@???7AAAAAAABBBBBBAAA7CCCCCCCCDDDDDDDCCC7EEEEEEEEEEFFFFFFFFFEEE7777GGGGGGGGGGGGGGGHHHHHHHHHHHHHHGIIIIJJJIIIGGG7KKLKKK MMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNMMMMOOOOPPPOOO QQQQQQQQRRRRRRRQQQSSTUUjetty-websocketallclasses-index.htmlallclasses.htmlallpackages-index.htmlconstant-values.htmldeprecated-list.htmlelement-listhelp-doc.htmlindex-all.htmlindex.htmljqueryjquery-ui.overrides.cssexternaljqueryjquery.jsjquery-3.7.1.min.jsjquery-ui.min.cssjquery-ui.min.jsjszipjszip-utilsdistjszip-utils-ie.jsjszip-utils-ie.min.jsjszip-utils.jsjszip-utils.min.jsdistjszip.jsjszip.min.jsmember-search-index.jsmember-search-index.ziporgeclipsejettywebsocketapiBadPayloadException.htmlBatchMode.htmlCloseException.htmlCloseStatus.htmlInvalidWebSocketException.htmlMessageTooLargeException.htmlPolicyViolationException.htmlProtocolException.htmlRemoteEndpoint.htmlSession.htmlStatusCode.htmlSuspendToken.htmlUpgradeException.htmlUpgradeRequest.htmlUpgradeResponse.htmlWebSocketAdapter.htmlWebSocketBehavior.htmlWebSocketConnectionListener.htmlWebSocketConstants.htmlWebSocketException.htmlWebSocketFrameListener.htmlWebSocketListener.htmlWebSocketPartialListener.htmlWebSocketPingPongListener.htmlWebSocketPolicy.Delegated.htmlWebSocketPolicy.htmlWebSocketTimeoutException.htmlWriteCallback.htmlannotationsOnWebSocketClose.htmlOnWebSocketConnect.htmlOnWebSocketError.htmlOnWebSocketFrame.htmlOnWebSocketMessage.htmlWebSocket.htmlclass-useOnWebSocketClose.htmlOnWebSocketConnect.htmlOnWebSocketError.htmlOnWebSocketFrame.htmlOnWebSocketMessage.htmlWebSocket.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useBadPayloadException.htmlBatchMode.htmlCloseException.htmlCloseStatus.htmlInvalidWebSocketException.htmlMessageTooLargeException.htmlPolicyViolationException.htmlProtocolException.htmlRemoteEndpoint.htmlSession.htmlStatusCode.htmlSuspendToken.htmlUpgradeException.htmlUpgradeRequest.htmlUpgradeResponse.htmlWebSocketAdapter.htmlWebSocketBehavior.htmlWebSocketConnectionListener.htmlWebSocketConstants.htmlWebSocketException.htmlWebSocketFrameListener.htmlWebSocketListener.htmlWebSocketPartialListener.htmlWebSocketPingPongListener.htmlWebSocketPolicy.Delegated.htmlWebSocketPolicy.htmlWebSocketTimeoutException.htmlWriteCallback.htmlextensionsExtension.htmlExtensionConfig.htmlExtensionFactory.htmlFrame.Type.htmlFrame.htmlIncomingFrames.htmlOutgoingFrames.htmlclass-useExtension.htmlExtensionConfig.htmlExtensionFactory.htmlFrame.Type.htmlFrame.htmlIncomingFrames.htmlOutgoingFrames.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilQuoteUtil.DeQuotingStringIterator.State.htmlQuoteUtil.DeQuotingStringIterator.htmlQuoteUtil.htmlWSURI.htmlclass-useQuoteUtil.DeQuotingStringIterator.State.htmlQuoteUtil.DeQuotingStringIterator.htmlQuoteUtil.htmlWSURI.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclientClientUpgradeRequest.htmlClientUpgradeResponse.htmlDefaultHttpClientProvider.htmlHttpClientProvider.htmlNoOpEndpoint.htmlWebSocketClient.htmlWebSocketUpgradeRequest.ClientUpgradeRequestFacade.htmlWebSocketUpgradeRequest.htmlXmlBasedHttpClientProvider.htmlclass-useClientUpgradeRequest.htmlClientUpgradeResponse.htmlDefaultHttpClientProvider.htmlHttpClientProvider.htmlNoOpEndpoint.htmlWebSocketClient.htmlWebSocketUpgradeRequest.ClientUpgradeRequestFacade.htmlWebSocketUpgradeRequest.htmlXmlBasedHttpClientProvider.htmlioConnectionManager.htmlUpgradeListener.htmlWebSocketClientConnection.htmlclass-useConnectionManager.htmlUpgradeListener.htmlWebSocketClientConnection.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmasksFixedMasker.htmlMasker.htmlRandomMasker.htmlZeroMasker.htmlclass-useFixedMasker.htmlMasker.htmlRandomMasker.htmlZeroMasker.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlcommonAcceptHash.htmlBlockingWriteCallback.WriteBlocker.htmlBlockingWriteCallback.htmlCloseInfo.htmlGenerator.htmlLogicalConnection.htmlOpCode.htmlParser.State.htmlParser.htmlRemoteEndpointFactory.htmlSessionFactory.htmlSessionTracker.htmlUpgradeRequestAdapter.htmlUpgradeResponseAdapter.htmlWebSocketFrame.htmlWebSocketRemoteEndpoint.MsgType.htmlWebSocketRemoteEndpoint.htmlWebSocketSession.htmlWebSocketSessionFactory.htmlWebSocketSessionListener.htmlclass-useAcceptHash.htmlBlockingWriteCallback.WriteBlocker.htmlBlockingWriteCallback.htmlCloseInfo.htmlGenerator.htmlLogicalConnection.htmlOpCode.htmlParser.State.htmlParser.htmlRemoteEndpointFactory.htmlSessionFactory.htmlSessionTracker.htmlUpgradeRequestAdapter.htmlUpgradeResponseAdapter.htmlWebSocketFrame.htmlWebSocketRemoteEndpoint.MsgType.htmlWebSocketRemoteEndpoint.htmlWebSocketSession.htmlWebSocketSessionFactory.htmlWebSocketSessionListener.htmleventsAbstractEventDriver.htmlEventDriver.htmlEventDriverFactory.htmlEventDriverImpl.htmlJettyAnnotatedEventDriver.htmlJettyAnnotatedImpl.htmlJettyAnnotatedMetadata.htmlJettyAnnotatedScanner.htmlJettyListenerEventDriver.PartialMode.htmlJettyListenerEventDriver.htmlJettyListenerImpl.htmlParamList.htmlannotatedAbstractMethodAnnotationScanner.htmlCallableMethod.htmlEventMethod.htmlEventMethods.htmlInvalidSignatureException.htmlOptionalSessionCallableMethod.htmlclass-useAbstractMethodAnnotationScanner.htmlCallableMethod.htmlEventMethod.htmlEventMethods.htmlInvalidSignatureException.htmlOptionalSessionCallableMethod.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractEventDriver.htmlEventDriver.htmlEventDriverFactory.htmlEventDriverImpl.htmlJettyAnnotatedEventDriver.htmlJettyAnnotatedImpl.htmlJettyAnnotatedMetadata.htmlJettyAnnotatedScanner.htmlJettyListenerEventDriver.PartialMode.htmlJettyListenerEventDriver.htmlJettyListenerImpl.htmlParamList.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlextensionsAbstractExtension.htmlExtensionStack.Flusher.htmlExtensionStack.FrameEntry.htmlExtensionStack.htmlFrameCaptureExtension.htmlWebSocketExtensionFactory.htmlclass-useAbstractExtension.htmlExtensionStack.Flusher.htmlExtensionStack.FrameEntry.htmlExtensionStack.htmlFrameCaptureExtension.htmlWebSocketExtensionFactory.htmlcompressByteAccumulator.htmlCompressExtension.Flusher.htmlCompressExtension.FrameEntry.htmlCompressExtension.htmlDeflateFrameExtension.htmlPerMessageDeflateExtension.htmlXWebkitDeflateFrameExtension.htmlclass-useByteAccumulator.htmlCompressExtension.Flusher.htmlCompressExtension.FrameEntry.htmlCompressExtension.htmlDeflateFrameExtension.htmlPerMessageDeflateExtension.htmlXWebkitDeflateFrameExtension.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlfragmentFragmentExtension.Flusher.htmlFragmentExtension.FrameEntry.htmlFragmentExtension.htmlclass-useFragmentExtension.Flusher.htmlFragmentExtension.FrameEntry.htmlFragmentExtension.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlidentityIdentityExtension.htmlclass-useIdentityExtension.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlframesBinaryFrame.htmlCloseFrame.htmlContinuationFrame.htmlControlFrame.htmlDataFrame.htmlPingFrame.htmlPongFrame.htmlReadOnlyDelegatedFrame.htmlTextFrame.htmlclass-useBinaryFrame.htmlCloseFrame.htmlContinuationFrame.htmlControlFrame.htmlDataFrame.htmlPingFrame.htmlPongFrame.htmlReadOnlyDelegatedFrame.htmlTextFrame.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlioAbstractWebSocketConnection.CallbackBridge.htmlAbstractWebSocketConnection.Flusher.htmlAbstractWebSocketConnection.Stats.htmlAbstractWebSocketConnection.htmlConnectionState.State.htmlConnectionState.htmlDisconnectCallback.htmlFrameFlusher.FrameEntry.htmlFrameFlusher.htmlFramePipes.In2Out.htmlFramePipes.Out2In.htmlFramePipes.htmlFutureWriteCallback.htmlReadState.Action.htmlReadState.State.htmlReadState.htmlclass-useAbstractWebSocketConnection.CallbackBridge.htmlAbstractWebSocketConnection.Flusher.htmlAbstractWebSocketConnection.Stats.htmlAbstractWebSocketConnection.htmlConnectionState.State.htmlConnectionState.htmlDisconnectCallback.htmlFrameFlusher.FrameEntry.htmlFrameFlusher.htmlFramePipes.In2Out.htmlFramePipes.Out2In.htmlFramePipes.htmlFutureWriteCallback.htmlReadState.Action.htmlReadState.State.htmlReadState.htmlhttpHttpResponseHeaderParseListener.htmlHttpResponseHeaderParser.ParseException.htmlHttpResponseHeaderParser.State.htmlHttpResponseHeaderParser.htmlclass-useHttpResponseHeaderParseListener.htmlHttpResponseHeaderParser.ParseException.htmlHttpResponseHeaderParser.State.htmlHttpResponseHeaderParser.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpayloadDeMaskProcessor.htmlPayloadProcessor.htmlclass-useDeMaskProcessor.htmlPayloadProcessor.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmessageMessageAppender.htmlMessageInputStream.State.htmlMessageInputStream.htmlMessageOutputStream.htmlMessageReader.htmlMessageWriter.htmlNullMessage.htmlSimpleBinaryMessage.htmlSimpleTextMessage.htmlUtf8CharBuffer.htmlclass-useMessageAppender.htmlMessageInputStream.State.htmlMessageInputStream.htmlMessageOutputStream.htmlMessageReader.htmlMessageWriter.htmlNullMessage.htmlSimpleBinaryMessage.htmlSimpleTextMessage.htmlUtf8CharBuffer.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlscopesDelegatedContainerScope.htmlSimpleContainerScope.htmlWebSocketContainerScope.htmlWebSocketSessionScope.htmlclass-useDelegatedContainerScope.htmlSimpleContainerScope.htmlWebSocketContainerScope.htmlWebSocketSessionScope.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilReflectUtils.GenericRef.htmlReflectUtils.htmlTextUtil.htmlUtf8PartialBuilder.htmlclass-useReflectUtils.GenericRef.htmlReflectUtils.htmlTextUtil.htmlUtf8PartialBuilder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljsr356AbstractJsrRemote.htmlBasicEndpointConfig.htmlClientContainer.JsrSessionListenerBridge.htmlClientContainer.htmlConfigurable.htmlConfigurationException.htmlDecoderFactory.Wrapper.htmlDecoderFactory.htmlEncoderFactory.Wrapper.htmlEncoderFactory.htmlInitException.htmlJettyClientContainerProvider.htmlJsrAsyncRemote.htmlJsrBasicRemote.htmlJsrExtension.JsrParameter.htmlJsrExtension.htmlJsrExtensionConfig.htmlJsrHandshakeResponse.htmlJsrPongMessage.htmlJsrSession.htmlJsrSessionFactory.htmlJsrSessionListener.htmlJsrSessionTracker.htmlJsrUpgradeListener.htmlMessageHandlerFactory.htmlMessageHandlerWrapper.htmlMessageType.htmlannotationsAnnotatedEndpointMetadata.htmlAnnotatedEndpointScanner.htmlIJsrMethod.htmlIJsrParamId.htmlJsrCallable.htmlJsrEvents.htmlJsrParamIdBase.htmlJsrParamIdBinary.htmlJsrParamIdDecoder.htmlJsrParamIdOnClose.htmlJsrParamIdOnError.htmlJsrParamIdOnMessage.htmlJsrParamIdOnOpen.htmlJsrParamIdPong.htmlJsrParamIdText.htmlOnCloseCallable.htmlOnErrorCallable.htmlOnMessageBinaryCallable.htmlOnMessageBinaryStreamCallable.htmlOnMessageCallable.htmlOnMessagePongCallable.htmlOnMessageTextCallable.htmlOnMessageTextStreamCallable.htmlOnOpenCallable.htmlParam.Role.htmlParam.htmlclass-useAnnotatedEndpointMetadata.htmlAnnotatedEndpointScanner.htmlIJsrMethod.htmlIJsrParamId.htmlJsrCallable.htmlJsrEvents.htmlJsrParamIdBase.htmlJsrParamIdBinary.htmlJsrParamIdDecoder.htmlJsrParamIdOnClose.htmlJsrParamIdOnError.htmlJsrParamIdOnMessage.htmlJsrParamIdOnOpen.htmlJsrParamIdPong.htmlJsrParamIdText.htmlOnCloseCallable.htmlOnErrorCallable.htmlOnMessageBinaryCallable.htmlOnMessageBinaryStreamCallable.htmlOnMessageCallable.htmlOnMessagePongCallable.htmlOnMessageTextCallable.htmlOnMessageTextStreamCallable.htmlOnOpenCallable.htmlParam.Role.htmlParam.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractJsrRemote.htmlBasicEndpointConfig.htmlClientContainer.JsrSessionListenerBridge.htmlClientContainer.htmlConfigurable.htmlConfigurationException.htmlDecoderFactory.Wrapper.htmlDecoderFactory.htmlEncoderFactory.Wrapper.htmlEncoderFactory.htmlInitException.htmlJettyClientContainerProvider.htmlJsrAsyncRemote.htmlJsrBasicRemote.htmlJsrExtension.JsrParameter.htmlJsrExtension.htmlJsrExtensionConfig.htmlJsrHandshakeResponse.htmlJsrPongMessage.htmlJsrSession.htmlJsrSessionFactory.htmlJsrSessionListener.htmlJsrSessionTracker.htmlJsrUpgradeListener.htmlMessageHandlerFactory.htmlMessageHandlerWrapper.htmlMessageType.htmlclientAnnotatedClientEndpointConfig.htmlAnnotatedClientEndpointMetadata.htmlEmptyClientEndpointConfig.htmlEmptyConfigurator.htmlJsrClientEndpointImpl.htmlSimpleEndpointMetadata.htmlclass-useAnnotatedClientEndpointConfig.htmlAnnotatedClientEndpointMetadata.htmlEmptyClientEndpointConfig.htmlEmptyConfigurator.htmlJsrClientEndpointImpl.htmlSimpleEndpointMetadata.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldecodersAbstractDecoder.htmlBooleanDecoder.htmlByteArrayDecoder.htmlByteBufferDecoder.htmlByteDecoder.htmlCharacterDecoder.htmlDoubleDecoder.htmlFloatDecoder.htmlInputStreamDecoder.htmlIntegerDecoder.htmlLongDecoder.htmlPongMessageDecoder.PongMsg.htmlPongMessageDecoder.htmlPrimitiveDecoderMetadataSet.htmlReaderDecoder.htmlShortDecoder.htmlStringDecoder.htmlclass-useAbstractDecoder.htmlBooleanDecoder.htmlByteArrayDecoder.htmlByteBufferDecoder.htmlByteDecoder.htmlCharacterDecoder.htmlDoubleDecoder.htmlFloatDecoder.htmlInputStreamDecoder.htmlIntegerDecoder.htmlLongDecoder.htmlPongMessageDecoder.PongMsg.htmlPongMessageDecoder.htmlPrimitiveDecoderMetadataSet.htmlReaderDecoder.htmlShortDecoder.htmlStringDecoder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlencodersAbstractEncoder.htmlBooleanEncoder.htmlByteArrayEncoder.htmlByteBufferEncoder.htmlByteEncoder.htmlCharacterEncoder.htmlDefaultBinaryEncoder.htmlDefaultBinaryStreamEncoder.htmlDefaultTextEncoder.htmlDefaultTextStreamEncoder.htmlDoubleEncoder.htmlEncodeFailedFuture.htmlFloatEncoder.htmlIntegerEncoder.htmlLongEncoder.htmlPrimitiveEncoderMetadataSet.htmlShortEncoder.htmlStringEncoder.htmlclass-useAbstractEncoder.htmlBooleanEncoder.htmlByteArrayEncoder.htmlByteBufferEncoder.htmlByteEncoder.htmlCharacterEncoder.htmlDefaultBinaryEncoder.htmlDefaultBinaryStreamEncoder.htmlDefaultTextEncoder.htmlDefaultTextStreamEncoder.htmlDoubleEncoder.htmlEncodeFailedFuture.htmlFloatEncoder.htmlIntegerEncoder.htmlLongEncoder.htmlPrimitiveEncoderMetadataSet.htmlShortEncoder.htmlStringEncoder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlendpointsAbstractJsrEventDriver.htmlEndpointInstance.htmlJsrAnnotatedEventDriver.htmlJsrEndpointEventDriver.htmlJsrEndpointImpl.htmlJsrEventDriverFactory.htmlclass-useAbstractJsrEventDriver.htmlEndpointInstance.htmlJsrAnnotatedEventDriver.htmlJsrEndpointEventDriver.htmlJsrEndpointImpl.htmlJsrEventDriverFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmessagesBinaryPartialMessage.htmlBinaryPartialOnMessage.htmlBinaryWholeMessage.htmlSendHandlerWriteCallback.htmlTextPartialMessage.htmlTextPartialOnMessage.htmlTextWholeMessage.htmlclass-useBinaryPartialMessage.htmlBinaryPartialOnMessage.htmlBinaryWholeMessage.htmlSendHandlerWriteCallback.htmlTextPartialMessage.htmlTextPartialOnMessage.htmlTextWholeMessage.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmetadataCoderMetadata.htmlCoderMetadataSet.htmlDecoderMetadata.htmlDecoderMetadataSet.htmlDuplicateCoderException.htmlEncoderMetadata.htmlEncoderMetadataSet.htmlEndpointMetadata.htmlMessageHandlerMetadata.htmlclass-useCoderMetadata.htmlCoderMetadataSet.htmlDecoderMetadata.htmlDecoderMetadataSet.htmlDuplicateCoderException.htmlEncoderMetadata.htmlEncoderMetadataSet.htmlEndpointMetadata.htmlMessageHandlerMetadata.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlserverAnnotatedServerEndpointConfig.htmlAnnotatedServerEndpointMetadata.htmlBasicServerEndpointConfig.htmlContainerDefaultConfigurator.htmlJsrCreator.htmlJsrHandshakeRequest.htmlJsrHandshakeResponse.htmlJsrPathParamId.htmlJsrServerEndpointImpl.htmlJsrServerExtendsEndpointImpl.htmlPathParamServerEndpointConfig.htmlServerContainer.htmlServerEndpointMetadata.htmlSimpleServerEndpointMetadata.htmlclass-useAnnotatedServerEndpointConfig.htmlAnnotatedServerEndpointMetadata.htmlBasicServerEndpointConfig.htmlContainerDefaultConfigurator.htmlJsrCreator.htmlJsrHandshakeRequest.htmlJsrHandshakeResponse.htmlJsrPathParamId.htmlJsrServerEndpointImpl.htmlJsrServerExtendsEndpointImpl.htmlPathParamServerEndpointConfig.htmlServerContainer.htmlServerEndpointMetadata.htmlSimpleServerEndpointMetadata.htmldeployWebSocketServerContainerInitializer.Configurator.htmlWebSocketServerContainerInitializer.ContextDestroyListener.htmlWebSocketServerContainerInitializer.htmlclass-useWebSocketServerContainerInitializer.Configurator.htmlWebSocketServerContainerInitializer.ContextDestroyListener.htmlWebSocketServerContainerInitializer.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilsPrimitives.htmlclass-usePrimitives.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlserverHandshakeRFC6455.htmlMappedWebSocketCreator.htmlNativeWebSocketConfiguration.PersistedWebSocketCreator.htmlNativeWebSocketConfiguration.htmlNativeWebSocketServletContainerInitializer.Configurator.htmlNativeWebSocketServletContainerInitializer.htmlServletWebSocketRequest.htmlServletWebSocketResponse.htmlWebSocketHandler.Simple.htmlWebSocketHandler.htmlWebSocketHandshake.htmlWebSocketServerConnection.htmlWebSocketServerFactory.htmlWebSocketUpgradeFilter.htmlWebSocketUpgradeHandlerWrapper.htmlclass-useHandshakeRFC6455.htmlMappedWebSocketCreator.htmlNativeWebSocketConfiguration.PersistedWebSocketCreator.htmlNativeWebSocketConfiguration.htmlNativeWebSocketServletContainerInitializer.Configurator.htmlNativeWebSocketServletContainerInitializer.htmlServletWebSocketRequest.htmlServletWebSocketResponse.htmlWebSocketHandler.Simple.htmlWebSocketHandler.htmlWebSocketHandshake.htmlWebSocketServerConnection.htmlWebSocketServerFactory.htmlWebSocketUpgradeFilter.htmlWebSocketUpgradeHandlerWrapper.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpathmapPathSpec.htmlRegexPathSpec.htmlServletPathSpec.htmlclass-usePathSpec.htmlRegexPathSpec.htmlServletPathSpec.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlservletServletUpgradeRequest.htmlServletUpgradeResponse.htmlUpgradeHttpServletRequest.htmlWebSocketCreator.htmlWebSocketServlet.htmlWebSocketServletFactory.Loader.htmlWebSocketServletFactory.htmlclass-useServletUpgradeRequest.htmlServletUpgradeResponse.htmlUpgradeHttpServletRequest.htmlWebSocketCreator.htmlWebSocketServlet.htmlWebSocketServletFactory.Loader.htmlWebSocketServletFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmloverview-summary.htmloverview-tree.htmlpackage-search-index.jspackage-search-index.zipresourcesglass.pngx.pngscript.jssearch.jsserialized-form.htmlstylesheet.csstype-search-index.jstype-search-index.zipjetty-websocket-javadocLICENSENOTICE.txt/usr/share/javadoc//usr/share/javadoc/jetty-websocket//usr/share/javadoc/jetty-websocket/jquery//usr/share/javadoc/jetty-websocket/jquery/external//usr/share/javadoc/jetty-websocket/jquery/external/jquery//usr/share/javadoc/jetty-websocket/jquery/jszip-utils//usr/share/javadoc/jetty-websocket/jquery/jszip-utils/dist//usr/share/javadoc/jetty-websocket/jquery/jszip//usr/share/javadoc/jetty-websocket/jquery/jszip/dist//usr/share/javadoc/jetty-websocket/org//usr/share/javadoc/jetty-websocket/org/eclipse//usr/share/javadoc/jetty-websocket/org/eclipse/jetty//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/api//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/api/annotations//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/api/annotations/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/api/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/api/extensions//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/api/extensions/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/api/util//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/api/util/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/client//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/client/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/client/io//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/client/io/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/client/masks//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/client/masks/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/events//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/events/annotated//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/events/annotated/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/events/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/extensions//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/extensions/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/extensions/compress//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/extensions/compress/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/extensions/fragment//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/extensions/fragment/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/extensions/identity//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/extensions/identity/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/frames//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/frames/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/io//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/io/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/io/http//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/io/http/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/io/payload//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/io/payload/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/message//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/message/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/scopes//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/scopes/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/util//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/common/util/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/annotations//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/annotations/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/client//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/client/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/decoders//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/decoders/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/encoders//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/encoders/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/endpoints//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/endpoints/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/messages//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/messages/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/metadata//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/metadata/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/server//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/server/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/server/deploy//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/server/deploy/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/utils//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/jsr356/utils/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/server//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/server/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/server/pathmap//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/server/pathmap/class-use//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/servlet//usr/share/javadoc/jetty-websocket/org/eclipse/jetty/websocket/servlet/class-use//usr/share/javadoc/jetty-websocket/resources//usr/share/licenses//usr/share/licenses/jetty-websocket-javadoc/-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:40321/SUSE_SLE-15-SP2_Update/2b6f776051d47a6a662028da496a49ba-jetty-minimal.SUSE_SLE-15-SP2_Update:jetty-websocketdrpmxz5noarch-suse-linux directoryHTML document, ASCII text, with very long linesHTML document, ASCII textASCII textASCII text, with very long linesUTF-8 Unicode text, with very long linesASCII text, with very long lines, with no line terminatorsASCII text, with very long lines, with no line terminators (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)PNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedR1ߞ_4p utf-8959deb8b41d7972c93d2297a6af49230fbe30b86c520b3849d7191e0ebb8ae39? 7zXZ !t/! ]"k%7.lJYyNF?G}j?  h89wMRh/<*A- yiFK2MQonp"' ;ss=fuc\Trxx矎9F' :d25d(GlK0f<OrJ' edy)@=,.=m[eFBH C5P83mt ,OiW?;;$xhp/3&"_,o Ȓ|3J;~ v}b#*0pN Ahz{KcsyBz#uOZ/1ɒ\hyI')WTx=DH6^_6tVV m>C9U 3vQL:]m08հ{.qCCũMx*n)D?k%BRtڜ'R%ԄI|)r 0˕nbaD|i)Ѧ ,}v`O÷!X~$|Om{`KѕB$6YZV79ɒayј7:tM 6/%[o^=j!3%i{Z4Ӹ?rxHԟ09b=b5A3y"]Q V%p qł^eiNcN']7fSa8ѓ/?<#R%}k Ơ>î8lWzlu;|Slq ?3HPVb_~1`,C'C 2/דx" DWHqw`kwaW"*+w;^%۴p=DҞ0=%U:ov@hj&XOI]3ST["U00^ R]"7$hiӶ4O\ϳe/tcGj5 {$D`woNT>Mc/?qh:,t; ހԢM-36?Ԡ!4W|+SNhKW[5.t4m~xxTg z7,sD*J"ʛGH?ռ-QЗ8B& /ɡS6uRxN2:` )|SWfMu_}0?Gb :W*BZZP_|$;Se Á~T[]j%c +f/Vz4Ռc6'W9ChFh}蝳p0Zr]O#c#a4Jk'`:=*]JX=9@>e.i:іKcao -a(Rߛ ] M@z `h lQTӶ3LiߡR @h+ ^UTOTOyl2dyuv/Ɓvtjٺe{cW9'#O7R+@M3҆G l#c3m4Q,&X zxTyWsed1i|ttlGsW697͸违nlH5CwNp$b7Wm^WB46C#CPЌT3D3rٻ'ƺlb c0sN9XoE12)ft ~3AL3KOh%C)luU.I eÖ" !|G[vpg)=O(h"5"\ :ܒr l`-w50/突ۜ#襞+s)7jYյ~LHL(^7M.qd>.ԇ5yχ{]Kx ǃv+Q61C WbC+򘋄,t2R%]f~9_9˪#)8A 9gkL}ȰG66 țku+B|' 8׸pkw h7;(I`EE!} gΰ b?g#^C>?T+" \ILZyi x8Z28Kɚc:24 B+ypwK~Lpcװ&^C8B xW3T*|\D{ǚ("KYD 0BP}NvqY=)}9_*p jZş.TyTјš:'w-GvᶻUs4u9"dPQUS$?K4- jKiPi`*}q{LH̋tw7N3 &*3AC/9LX"ןG.A3/:DI9+g=lxk/~I\Qkݧ!#?3TDnYݲAa(P_^mS8-9D6R$H jy,'V79U &||BDW,kiDz(N.EaItx@ܫ4Z U[ݗpGe ˴KR_{L1̿ECYN_Ul"ЖCc7X1/u!:*T]|=.8 8p.%x^{Y >$ˑ&iXƳB l6CK-VׄػNV*:45զ1QS$O 7(lzS}1zΉ 'įLv=aY<èM[VH'v3.x: gY(c&Dx8WxWl7Qlcv3 )[)Š{Lixz>ǎ>+EPxP ^>/@֨jo)Q- ?fO4]1\)2_r9kB~ RDe(.XX $^ЯJl<n;">2ɋN\Lpśt/ 3I'%M_^]׊M&2XHo/[("n覉qM ^u <4,e7mMD0_LTәU?%YGV8::[A5"Emk84a,/sl37ߙ=Y&7aDGWghۿ\EH禼/42p`q^56n4,K~[ 2U<ЩS]ONZ`lpHSbB _A ރ5K'ڛ >G mm|3faA̿lLULP3['*߱e z0xe$CYc^y0 VieH,{8=BP9|Pz9dWpnQ7U-;I9]r;ȣQarQe}WD--͚5bp"lla%ma;6 5$b}Th%,dƇ(N^l*ΠYR[+L|oRC<>R: /94vZX5 P0ewDÿE '@ Lg&M:B4)jݶ`7ve=[fNK-D4+mb}r S-a}C$llhTU5<pJjgHbP'pvQ92!wԙ_rBC| xv[jU햙 gA?a<7N%(5&OW8B@#]gnyQfBmݩi8pZY׍,@n@uHjEkcH][ JIIvpzT (F%xƹ>K TpAso˜lLAq$7 zR )ӳ*df!!'V{' ョ˝ܸDXҝ>>lٳИx3qo;3jh KKŔ9j&Ck( YZ