google-guice-javadoc-6.0.0-150200.3.10.4<>,n fp9|H"q0 sH9]v#2T"{q+V|tQ5W+갌]6@H[:5D?rfeb =h<,PEOFC3~:"X˦[_Ob[y^޽tK W_ɋP&lTBs^|cEp"h~t͞`mV-2-`O?ϦHh>*@XU" w\(Z\|֙סRrJ0S斓.[5V?+w e'9>> ? d + G| $,   4  v x<~ 4_(|8 9 :8 FhG|HIX(Y,\@]^U"bcKdefluvt wTxy \z ` p t z Cgoogle-guice-javadoc6.0.0150200.3.10.4API documentation for GuiceThis package provides API documentation for Guice.fh03-ch2aaTSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Documentation/HTMLhttps://github.com/google/guicelinuxnoarch ,\tI@6/9%[#'(cD2z,q'3155+;6dT1'&6^y*.J& )h+MO[1cѐz&c: H6V xe 4Nf9 XinUt(b4t% + *;/LSL!96b>696t5o\w!3I396K"$XmEP968NBO"4,[Q3.%Qm?`&_(!!u!]_ >_<CQ ' *f{D*=5L/+O0'4#X:,Gf5?Sl<N#e)=+8N;|6!\K~44n7"\m!+#? ,D A-_.2P23Dz>194hsCQ-w'G"uOMP,<1'W`O3>0)>4(W-G-,$-#*:(22819@S!CO%:~)8>r t;!C7P*#WG6$wK_{8Z $'x*s#o({$#,];`b'%nsSQs&*a5S "' YR%*"'Kc^@2 J9v"0q#3:yWX#t,^A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤A큤A큤A큤ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd^u=354fbc2c2fed352e805bba8a0b3228ca077dd7423ec167983cdac7f63a2c4f6a4f3f47ec8281b8e6aec87b9e269b181b9146dacb04607bd614f2476504fb4b9c302f7ba353556bb026182e2e498539add9520e89f7893c398c8edddc11cc83aab2b2ebe2a4579b13189b55d3ed1c851aa41d493d565f08471306217da6c07daf9783eff8b7e4ce7f0eb15df9168a3cb0a5e69aa2251abfe9ef8f9f38ef8bf1b7c1060688760200ddbec5f25ebe2ea54737c235a3060dd9fb1a5f6a87766e4e903eee95114b7c89059e8ab62720e46c8a4da32cd71c55239ec6da2c82024f1f1eabf023e186f16fe9cc52bea2922241bd39190f3615b8db4efec8629e492ca4c822a6bdc015f19e26585cbdc45355bfb2cc2451b47170a5083910b565189bb936c7766ce2dcea94ac103e1537b9f1df49398dd9869d321c127f76b1e1ce3e3117cc585a364771ae9bbbf2ac3a78f440ddbe756260cba0782e5df3550177229cf3d3edecf4a0255adb49057a36b8b69dd87ff444c28e30137a7d55319a5adc0e9e5766233c1743d7e79008f987c51d83235c75f20718c8494ea75abaaabfeff13a0dba3d93989faab674f1628ac87c11f34fa233a76f323aefdb1a6a37ea8ca7351abdf649fbbfb1ee205c144e524a8bbb1b897306fbf6dcb9a4136c0208d1f075c93f1a92f92db2c45daf04a9062adcf003bf2c19622414c9b71869c99d1de6275b115e59c06c54295e582a4d9d75026bc5c20d6411cef7e3754524b6a67afd31c92f64e3a2f77b861df96d517251af98df92c205cfb50c648436f2184f9203cbf2c0a6c14f02553dc4f8aafa9bed038fc759dba8a1e15495a861da97df9ab47972b5bcd477c76d2c5655dab832a8863a46041bfce6d575629dfba8f3dcf5093775e91b9dc2d51e110f1b02a801377452c3f53439f8370ffabc8c7ed5fa43f0ae67eb09ddfe8eca0a362d1b62051d89ea77531c07ce478ce289db0fc488f527b8ff788d86909cc21e5ad550b1cf553e29e1e8fdeb43c2900d047233451571e101df83bc759db7dfe3a7332096afc3ff3f9cca5fdf662f53f767eeb295653e90a6b1333fd1a4d598051547d501447d7365a88a9b60c17ffab8d54f67c09911fbd990cbbfae670b02686b356f6f49d61e67b3715026d54c427185db8a6ec65344cb7b73021036c437af1eaa90ec7b2b504bff8bc87980d94b0c10b13c194ab119af5aaac01b2ea2da5f75a575edabec9f072050c4de02eb0f938317bb03bd2f08059666a9b08a300ea82ea4e9d2c781f77ec50ef1ba74291a3c70e3589b75ce6a83e7f8745b82e6b93a007105b4d4f576408d8f15ae11ce4a5b9dd6e6df50e87927a5ce2d0a16e446dfe6698f0bf6c73d1c05adecd96437951ff6ca35b9b62ac16d130fe361378887a1958e6a88dcbba702f5ce1613bd7c6383da0359e5a7d0262a5bf77334c9ea8d6f9b81e12abc5f81c5e1437258455543cbfe2ea2bba1413c624de7e6d3af50c2afa5bddb57f158646a10e31285f930eb262192e38f63a4688c3573312fe1aa0964e9a4b60b383586521a5cdd3e611a3308f03a0e2350452c98da44354709ab87add141d1375a662f07a2d249a37e8b5f71d53ac62aa80e5d255880d35c9abf97873f0289643e8404c12b1cb1b612109f57db9797132a0590c70c4f5d6c3ad943a0ef79234955943d8756fa14a86a07a005ae7e551a4a25b6e35cbd4a8943075ccc360e6e0222581abd4543ceb49cfb646d4e3731a26321a71fd07e714cd06bd418804bd8ef422254d566a90b44229a599ce2e4874a9e8b814d77371ad9aca481654de6d539bb4c2403d20ac845ea60cdcaeca042b8bc617c30e4a2606249da55ce7eef5554b7f104669df91c504549b1c744f938fb3f77aec0c1384330dc8f591c92e6dcf9b62d7f9d98541509714f4c0c0a150546ff66dd4f4c6606bec121d6da8f9f2549a9f1de7b1e89b1a17c988f5f68b22267285c96cec29e673a87eb1d73ee5daa0dd6596249a66226bb8bf6cb42c743420cc4cf2d94b195c06e5cad7371eed8a10e1f72bb86b77be8d45abc81df2d13a614dfe725f3630435bd411159ea89b4d4eb0ecc722e9584035037829f48707d2f43fd6ccb4bdbff7fb1b479de258675584fa3c13c87096c91dda6a10e353fd3bc5e1f6cae8d6663da5ad683a4b9776e939d5f6c4c7ee7c6e04bf080fc3de595378c16955f52fab8317fe7511a3ca55efb5a8e43aacf2ed6f89c3c43765f8d733e919fd21bd717247ec95ae8fc3086c80854de5fa1c7548328f2d42809601cc3a572b8d1751c2917a3a87e7689f617983f19a03db0f91d1cd1b8494b40cca42e2c15cfaa38260d03c9d58cd0ee04ad7c575e6ae37d7df829d21ed1871048b42d90e4f4e349727c6032e6ea8abd7df29819ad16fbf7d1a1218e83ab2b4be5fb9e22aef631c4440862a8a826006e0162b00798974ec6d6f35e519c8ba99370708265553c7408f005fdfa5bd9312bb542f1b30c8e0f04f5e378ddfb3e65a69d6afbe8a195d0c42af8f2409bb68154ecd8e60d5a1ba6c75ad05e3c804ce9c6fef8555a905e509b4f93543dab6687d1107b5fe4db7106438ed710dfc9adf0f2ee1e64a33130904a0ff5c60a3fafa41899ec53d078866fe15ae95edf3ea8789966ccb98fee9e0a08d7a9d966cbedc2768a969f0528e0ca948d6621580acce9787548edc43ffab6bc8b20710ce346faaedaae1d3c11aa8951902a7c9757e4ba2cc896f0a000c68c49fba9a26558e25591848c36fb0fbc487b6eef3fb14cb524b1147b0bfe59222529ee4f927de6789ffbf366ceb87e9c5bddc9b0191baf6bee714eb33b27b2f8e09c52e6ad0e56b7183f6192d188d4f527e601151e89aedecc2bf1a1f37505f2ae7feee2bafc0a9a018428bc4ecefeaddd7612548f133617e49abecb4095dc7083ec076bc80207904f7b2e2d77ba0d1ccab4da1a976462ecdcb459741c93da15e540225398c153dc7b80146e5abdba0202d11e6492eaa99b9813d3e13402c3ad7bf2be0c2d108dd0bf252fb3cee026103378c024f986d46a9e214b1b9885df67b352fadffe3e6fdafa19fbcdd8b67424be7907f7d7f197ad575d5d3f2ccc13221edfdb33d32310a5155a722f2c5d49a19b07afc2793a7cf02ff63243a0fdfc4b88874bc264d6700c4216c911543401293d1a2252da8232c5248a2d99291d93b62a040be82b5dfffb470dd4e3c30c9eee7dc3f260c42fe864737860854e68ea3db8e7a1e9c0ebd388f3875de7cab4dd71e3430d485748174a4e922991f8521691081beb68d30590fcd44b9ad0e89a614ab565af82c7c548710c2620efdbdce054570740f8742fc03d14bde2b33556a5e25910f572a078e74ad251f785cc7029eab9c22bc2fecab21036d98a57f6e948ac80b283a3353d05b9d9366a14cc3a29869dcc2675ee26acd3a732e9051bb978fbea6665aec105bbf8b4d3482ccf2e85e8012d1bd9214db348803c6b5fcc412255602a6d5f2f54f9552dc293df2cd3062136f8da4f363668b5021d3b1eb6bdf42d2d33a16520174a59b0dbad5c225e25590aae9b135ca68287a7680d4b8dea374512e5fca09bfe10b2b92d425d6be753b883ff73df5870953c96b4cef152156dc3d2d756f65985a8a3851a6ebffae786e452ddbe783280db0007a1a192796d2af5689afbc627875bd78012301d10db47876d0127b92962f02fb9d55cc2aa29bc26aefe3b5a528e5fc1238357b3426c79b6acd738f60cfdd3374264865aa5e88d34d3d55db517063e019c46d2166fbf8febf2174cd4daf1aa84812757d2c38f2608fb551b2e2f0c0687f3299cd00b6c3500cc5df43d5c60ce42ae4e9a18c881c414100ac9d008ca372588f04934dadc203b7dfc3779392865c6c73aeeebd225ab8cb3122f35a0ad67101565dab74c1b89d4d2708944b03a3d6742e0c8ff291d541be1de044038a6090a3785c11db96dba3de3a6e4beb5c3a97be68f071c251acb7f2063758391ab68d6c1e833fe3287258032e1a535eba4c3e36a5b4af57a815974a91497374ace8d8ed0014d39d42cfa772ecded216f1f4336b5c6aa652caf9eb4a6a90f0a3f3d7e1a4424c1575a860ddc65e288f762fb18ded873cf72b8ce55e2bea4f45a9d15be98b96078a94d0771ddf5bca698d6611c5a5382223bdc884c6f248d0f2ce005fa2a4d71a7dc4565a5ca64786c94e3f0d8e76b9fb57a4cc176d1ce68b153aff7f50f6bfa87e241e693ece0b8e683a732f2b269de631b44015ce2a499a99fe190e663373b272e675457d2f8fd905459f5ab4d8cc0d2b850b2d06d91ef3b38cf0212e36c7e3887244b34d8eba3302ca7735d22cd57fffa4f546b0e7ee85c4a976d67eb7bb932d17dfa2879d44d761068a8e20fe3f8ddd8a9727d07a76b85a9b92219d8d68316c774484c368f1a340b8386ddc3baf5d32a903cb51e7ad897923a8136ed1f74cb896a9b478a7a78905c2af9c14e9d09273d5a5b0fd07238cf32a8485429199f95f9e7c2d7b5b8d7a807d7f88cc935414190873f7749082d1cf6239417757d96c30650f529723659c312d9c25de586d1c8f0559c26dc49b0714feb29317c062a70cdded429ee85ed0721415f253632cc91cd688317bbc0df2973aad3629c269a875cdb47f9615d2ba37e630ce8ca0bd98143ee76e81ed9aa56dc51e0898428ecebd512aa5b2b55506962db90fffa22a491dffa3ac34cfbd4ccf8e836acebdcec1e1fe983718239c576e539ebc89c49a8e4200f79c05bcdc79bf62daba03ff326baeaa22373de1bd57bd6aa648422a9340d34c6c6b4621ba51b1f19d3ce0a4872577a2c47c4e99acfc875b2951a81541fbf633e64828ff3571fe1bd287038a6a2f7987a73937b75f6201e8125f53cde12fbf986bc5121eb7cb51c5a53bfd66c8fd072a9f1910c441aa0f5631a2061d2e648bab31da36cea2d50a56cf8a8f78fdfb40e44386dd371284a8067713fb3b7e326cdf5b47a8e61bc84f222ce92926887313cb4193854297ebda6cc0be3283b3ae622e1fc1b3bbb840c929782c9a6342de4b47236eeb42b8c500836497c065557ef61b94b8816cb71ee010ddad216db580f1054a9b4146f5d586f22eaa2ce0d82f7b8000525cb010d2941017e18eb644ff82b05574bdbeecd647e30fb4c2c4827f834e4a5556f6d2ed40fab53e724d6c4a02fca005be39c4fc65ea3a092fca5626634810aa80c438a5d2408887c48f499047b9a3640eb4763aa313b0499fcfadce3b2fa364a86fda671b1cc98405f55a3c759247ad6404aa5f15fc75987ef2e0fc5d5924ecb5c9ff14119a2fdd81727356ef7e3ac1ca6270fe4a3b1712ab55b778ee629da48de2f6997e2778123e9754f471430245d9c0b8f4e44acebf6d5c28ed19c7aa340ff41460bdb6dbfe07bda81fce4a96521de4447ede22d489caa179cfd135c29bd56d062cffc5a077513e57d105cbc7aafcd3f860b5171e59c9cf7efcdd3b41513e987e03db8404ccd9d820dae2ffd654eae8ab4242cb38da7b8eb545e66c23e9ef610a0dcd8d0262fe77ba2f9d5a626ee7cfb8e24209bfe4b62b21e100126d651f8f1c52e8196b7a38cc1c37f08e4b52e0d0109ad3856599702173be2e5face223f4113e64a46a1a30409ff1ff3db1daffd1ac21f6400e04d368f8ae0f6e74685c5b1d98b1221ec2f12d972cc0e592eefadf5c6b1978cc3500e1221fb60c872762ba944a3900ad910c33bd2073c57693134d80f55794aa53776a58f885a18a63ae8e0265e504fbbe60fac80dccaab986e6572ba27cb6307aa59a48acd34a661d3613ccb37f6dcbbc93755e45f94a4f088a7d4395ba1e882bbfc66fd0519b55c345cd28deaae866fcb35e0319ac5d3d8086ce1b8b57095318444cb5f3b664e6676aeb9bc50df5a0f1925d935251859d0408f75745fd702117ffd9ebe62de8b8eba5e539fa16fbe5cb341c2286a3b61f32e47fb33436262abfdf0bf3ea6d34e64f5521d14cb39f1cc88efbda8a78953ea817542d3496884c355e2b7865076ea389483f6f9e3e52a41824a6643bb232e91a82755fe287115b692132904098b59af9c49d338cd690d2516a91ccd9086a537ad4a99d555e5fd37c924ab0837abed25243587132c4b6b456d812cfd0a12eb53465582286d75271b252fdd94b3f13d8db6969182ffe09119fc908c82012232d596fd513eca99ffdee5ea55c3bd6ef6c5e0153061798d282873a1d038694bd5fe47332be32126c55899f3bd16c2633dda0fc8f464311f5231cb90126909c619365ec791992d1f98a179cf9beaba7eee610346de4d302fc23629a51c437c4fcc7e0df98b9df19e978af04e91ac29a8d67dd249066e6798d110b5f56cc5877b581beeff354d8cb06ebdbb743022129fcbc46dd328cdabf8963a59d03b687a527769ec81818620a8d757f22fc5e7ffe271c13b3bb413556d1043b058f88b3d251f5b3774d072278614428fbd516f527b0088e09deda74de3b72d5f9d14e2dc19f54dbbd2338d126496ce485a747f1f989a68c80dd8cfc0cfca1b6b39f9f6960b256cc14c43e146137893ae16e8f14372843127f3364b645b16ccd33bce6b1d8821c17434416d7417c538f8aba360aedbfbb61a9c8d8e7ba352b813659713eb70c4ce9665edb567b0c419ab50c18db181b901b2af93d24a9d7e66d356aee6f57a1ca3f573f32f94b9da94151df6afc63027f3dc6080a20e1d417d007c28d3c3facf94f05339bff17e0cd33a836d8215fc751293297c61ca9ed1934e9c96ab738e8f6cb1876d1eb0d5603b74a79d8889ff6d030d9c421a1c6cb9a33e7665e7f96fb8382af6f9cd3d17153ab62e2906a566d41c88bf811a2ad48ecd5dff017d1404d3f652835d88879d36d0ec4a74106f88712b02c4952ffa501a7e0b0ad93132300136beecfc0936b12ccc649de6d43d043d76a9edb35727ee28b9d2ad36f680b3cf0f8529367246d57cf52bbaf994c968227fe5c82830a432370a6c6440f642530a5b7757a4444984e664b18a17759cc5ee12094ddb80bfeaeffc0a403de7594272df2897248950858376e99d78897d8721e23ce8a24dc8dcbdfaccbe04633a12e5dbd4c35df39d0eff33089dda17b7a323760f7372f5aa63dbf10136788dc828f85e3edb6403cb75fd9719708fbd5d87855562bbc7269153436410dd51b297562e21a6b919a7f05245a15fa634bc5a9bc11ffc28f5897cab04c29c2f3a097cddab85f9605268c7dab5c034105d4144f6dd158ae63f465dc49203b5b6eda3ebf10f9a8656eb525f0b32a3b12fd51452951a1fb188ce97bc883882241fec55946ab07a066b96fa429d8c0676d082db7bbb4bc2345e25f47d73033d9b1fe6e3a459150f8d64db22108ca0e14445a3a7b5a69956aebcf44f529a6c8f44841e1ab3884adda8e501054ceda068c385a9446b39ec3bf8b825b980b9f6b0548a6bdb34a692c4d968ccdb4c1841df32efc2966e91161c33d8847a1092c17c760b1287e2d9680f45983d69a9ab2373e17b78f07d138a58583cc3a31293d2e9fe9d68314be49d0b2d85895da4fb3d18dd812be25062244af4109dcd079f01b8e5b0c03c5673a7690cdb96894403e4d039e5c50756feaa03aaceabb200eb29bd65742f621b11709f6ffb643f533b13f0d3ccc3a7a39ab3f4442c5df8bc967d3774d40b3a56c0d3012226489ce7ac76305d2415ef6b17b6db2a4f530bccb8d3a6a579ae4df572e5ddfb4c338220f138d33d35a61e829c4765caf8f5cff13cd22695ab416044acfd05972723ddcfd642e5d9eb093aacae84f2b4396de43dbd9628459bf8ce7b37b2eaf2ea063da69d6cdee9687a5955af65cb139593b3121866c13f3f2527315c019033ea9232fd6f2e4cd552fe92ce630fbc1db02c92b4f476333505800eebb03e5b561b3bc71383167e1e906f621d896cf949d1cb5d80f21be92e1e454463679df2c4490307418c048e16e22996fc4cecb1c5efdf1b793e1f923b76c3c6af428c40c1571fadccac80384ce4e4b447e49773a0a9199df1de0b4a2f53abe92aab1c6f9a7a89e5972389059b1593d8df1145f7ab5198ca1ed3bd04f200ca8dd245e5a2662022cb1da3fe2154a70f1a4a68e3fc0b1de7451d6f994a7b73bed53ca8c46d8b27357c3598e428b61802f004e21ec826eed9167ffea35b26fa402d2c62d5f62e0ea7bf6febdca495ea8f3dd8e3c161072e2d13cab4ada8d10c7e7342e4f840661cf208bf3b6b97d092890cab1f725fcb043b8e31ffc621f56fe6c46443e23514f8900e44d65c4dbba9ba17cbc8ae94d623713b5d1ed432e491582f7366d53b33644e09fe97a9c5e9ad44adea8b7320095cdf59a98f70ab06d880aef249205df6546c77b8b34349af686e3c8dd6b9e3d3c5b1fd4e2f8676e1ba4010891dc07caff81923f2b152f18c628b489b5746f2cc6d84c951f7c023c1c63dc340476766cb1935ccee06e9332c7985f88346fc58b7dc57159ddb81b5747683e2b05b512408d0d5194f83cd40972a7e2fca662361e232caa4942ae76a928d0c441ea5b794cfc9ca55a3cbbf22c9dfcc83a2355d10d9ffbc1e57c139f9bb70465c11975394d3eeb0cc9fa0252aa502f8f936a2477093aa0005fa62b9d6248976955158eb563f6f087aa86738d5ef04878f604ee260bff2bd822a96023928f42d6c5e615fcbcbb7e554727fa343c67da9c88a51c3e09bef27639ed45bd522f0aa844a89ed78fb33b0afca5011df4c25b2d174171aa22313f3275d74aaeb7253f7d3eea0b5f4c380fda125ea211ab2d80c2de86ad447889adefc25b774051f0b612598585b89d258653a5dbeff6c78b39cba61fbecf53bfc0682ec5f860a4c3c898b698608bf13bdee1b114c831a4fb9f8e613dc973b3b7a6e0d45a8ab4a93ef624a3f213a984be67b0a842117aa13a3f318040f47631407b3d841ab190cbac63f03c3b397e3e02996700f038dcf29762ce1936d405b73120071a8ccd4e77a4eeb33322e913404aa67eba68f68203bcf3765ee1bc49d0e3c2c0f675f045e1124108cb859d393d10b3c4b3fd7beee8930ebfd299ceb1c20815dc8b98438b65e7065b8af6843c4ee758ae429732e7286686f379fac5726ca07c1360fed286757b983c872996b7d5482acabf2a679ecc65a7caef8f7ab7a179fb54207f86fab6c6abdccfe304370d9f617b7f5169d881f924f72841d6707996a3fd908978f3fbabc03e27a13ea12a78e1a4ee4be9897880377cd99a93983f2af5bbce005e5ea1dd22f81ad297b750d3ff0dfbd1834e06ef459721d87675b14dc06bb5ccb48912e6a3f1f899580551aa2edb51a05b36f57bfe25c49e9ea061916493cd071b94030b92c0e7d2acaffdc2bb38cff69030a869acec11c3b4aad94c4c62497a24d002c65c98edd2c5510b21726e560e232a69b07c9eec8835e98c516f5b7b64ba6ce340bcc373173703ab87cf65c26fb34e32bf81cf28c3e60ba9648e5837e1510b8072afa3452374dfe0402031c7807e08bea6a5f57b0e82ca92286f625f9b2a28c2c1190a9f7fe966514468c07903d0c9458c02eb09f860d77a96a263ecb9042c050c8984d8e8c0eb4f7c5b19331770d2e155b76a2d727dda494a966744e5a91a810a99bd4f0467271a04ea5c8e8fb00d67ace0c3926309cc1e52d419b57c87f2151c7a09370edc0a1a944dfd503a929283cc0e49110898e51f95332e8fcea6eca2cc8e16c6d5969e0f57b8d3b1af759bb9824c24349df53580c7f16fb8ed4341df915580412f03b462d7d7411e3a39c2093a190f9b819a28fc4529f623b92722ef96f4abd27d43702708c497aa469e4990545de67674aece615c5ee23c63f7229253ce7fc6d4abbb7e06851c96747f8ee108e317448a9e4051dd0f93a696d298761c75ba86c38c34fe60c5d1d13a2d542bd3b0a2d2774595f95985b22618c28acba605d38c966341642b49c31789b57c656ec480f147f7db0055e111ad8a6df6976135479a9ee31cfe8db56003498f4c458735e9dbd86d176184cde969af4cbc2de33b0536c05bff5a861586ae6f3f915aba031347b705e067e3316938c1e2bc49b9d694cfffaf77bc54e110a81d009b6f74821c17bff4f42686e49c2215d9c70742230ac706c3b1d0c0d90c7fb5c06232ac35cd721fda1d43f35599f36420f709d0f0d81d01bf8595140293b7b0bc18b3aa5c310dd38b781ab1b77234c24954e87b537433c2166b75e3e4e9db46b6e76350c84968cc7cb5cf209dfbc4374d83663b32de4b69801f3afbfa6ea4697a3b4c9e689b7a24fe98bc786c9a3f350917822405b20e45fffdc98b1d50f021337b7174943b41f112c23f6ed91b37a3fb873a0823dbe4f546d3f3a63a190cb60b07fc404f0f2fde3dd20f88fc3cec1c734c7363c49e072e7739d44a29284c4abc906a4ef62b8bab7bd56f4f3cf14b635e37f6a3cd0219c8575677f56b98453bddecd9ce2eddb6de9e58ea78babb13444c0dfafd83d5f2256b40713b491638c14ecf4c9ded3f8f8fc76673a75fde700333f9ea7375fe69b6613763f1c6a89ba17a442a2bf0ee0fc9cd0a6d128f3c8a49eb2e98d23d791192260a8c9a902afa4863b05c93f4d1ee3a29018120f310fcf553bfcd17b86a706ab43ba44cab477daef3a30432cb8ad331197d4a8cb571bd9f59884c86a09754ef125ac28355db57c37fb66e57a10a03e57a17ff5fd96453ceecd2cea4a0f88cccf0650b2338deffd117016e2dd67a0500c85a62ca5dd15855f2a8c7ef0a83bab546e57855fc86ad95bb3960541ae59f5f8c5758c1465f72f7ef1a02dfe8073e0e16f86b335fc42d5405a279092d61f94d596606087c9590c3418d8be1ad6b61f4dcf0ff66520084d26934cf20ee290712001a576ccff0008451032318a1dddd75f2f7dfb8955e67a34cba5d66f14f62061d80d9415a150a2723664fac072d9d34e41aa9bc191584918288c565f16fafcbee68629756bb2e7d260b11ebb47930d2d59bb0e75f3c72b5265727d60aa18440da8c37145dd2a5de282e132687441ebaae74fe5b6a71e3fc761da5fd2d1b70b0283588d4a3c09ff52a8d14c35ec48f1e4613fd20f9c8a1543970d2d9e55f5705a75cdf233bb51c13d3e5e32336136b90b1875b3fbbf8f35e2140b9b6304d8008482f416699ea68c49a04a2d1658bd1d900c387cf02845a6ccd807e08fd2bf6b57346de701ade7e5fc5b7372c35853906572d0aa5a4e091398923b88609f70b223485f3547490b5916923bb73a835d727cb7b5e93c91a948b5254097f9a5bb81522511746208855e8c318dc37de4bbb85b6893d65516c466ab08ca81b3c7e22df36c80e715a957c375951025c977ec47b0fcdefce30e8b4ea1b407f3d38354a9bb917a2b8cb46bed854651a3979fe500c912d27c38cfc1bc0fea7da7c2dc763b5cc1e4ac60151b6f9f01683c2ba656becae5a339f19f91aaaeae151ff268639f51e72e9a49c3b86cf67d42d58c3d5970f9c7415bafc8084d585af0f10a8910c495b7e48cebfdbaa2e6771c63e5ba248f9e6114d8d00bc57c0c2fad1bc64dcf915f0cdfe2c92d53bf1ba4e2f1c024b5e0f9f1fc7deecc28423e53bde8d575ea5b1a28f1e68c5ceabdd2874bdd2e9514c3f6e6e85cbf1d9c0c1bf461c8f91dd30b384825e7961a1972102f28a5d8d10b2db7594444f20615df33a821ae0d905faf78a3aa5c887c074590ca7a661ac112c4ee9f3d5e55cfee2f00ecfb2d43399e0d7e9bc832a6fc1eb3cd7511570e9d2bc3d739fdcf69354910a44fd8fa06f148e6513636b2fc20fcd44aa37977e6cf64eb983ba011094e75353a3dde26eb9b184d3c27c585f05e67d319e74e7bad94be5d37a1f3ee2e47a0c28443adbf6f0022fc754eefb95d7d1b72abfae65e80db7647e8899d5dbaef5a9515b4a75747c95bd1e59cd0a0640edce52ec72641731b2abaa90729dafd63275785c510ecde9adfafbed97bf078bb8d69e84d1a9dc99bfc89297a12517f3562dc9520777d880f3701d03496899d550c42a3f42e6e54c2d5ad6f3a7b563692c7f75b7dbec79e2916654b249d10235b7b628c384853a3dffce7cf74e20797c88ae1b8b9c755052a4873105495d5ee1c2619a9990e3b8fad0d6f7dd7038b4df1a05680ddb1e1f486a393323aefd91ef302cf67602bee39866791fc8d6c5158ca75bc19721d39a3d31ae67885118725abd87f540db60fae59466b596b5865bd696724f0ec75fb0112350441bbb88f17d00e753a18ee6c83b513867c69e36ee8bcf74fa389e1816d7c4f2b1849ff7f52db377583f88ad3e59870f231acf23ec5a60e6e9bfc81f814495dba9b62ccd1de8ea09f808a870b181368fea2bb722d287c7d46a0f7ba40d5bb8a0135ec1ff2af5ab10956673588547bc7f85cd09b3dac92a7a6dc20fa20177106006ed63aa6ceeaaac5f3e4e8fd06fc038057edf3b673734b1c2f6c7082d78511ea37de46776f5c2d6aeebc8b1b9f938ed84e3f6cfacaa9a0259a5a707026427b70b89ff50b889ef1ff06bbeee20eb3ec272cd286ed4b7ad1e8f7e335fb87842db2b8145f1e773d416f64a7cdde5ee018f5521c64190df6b1422c6bf06a091dacf59611bd27f91265187c4ee329d00de2a1d130b5177a4f6e8143c7f77c6287b47a0522ed260fbec6403e6b8b2a8c3614f6d5a122b1e712fcd2b1bb43eb3a9efe2e42bdf6e4e9e20c8797b9f13c8b0c42d2f668d17fa5beb3fd323292c3e077e4676d096005c45887bb4c117fefbde6d8e8e7672ce3a3a0c3783920db366800900460cb3fb764deb5b75975dfaa7d8ecf37d1064feed433436577e3381ab36bb8b6d7dd084ff13f17dfdf0b2d353ed3972486487d84805cca42ff46ed082b67b2441e5e8131e73e4f432939bb61d0c5665ea865028d7ae260739b1d0caf78e57969814119ac9f77787acb913fc32d2bf7068aa13a40e57c0d18a40eac3c8a8408147dae85c2da1a61501d347e98d226da8f8aac3845ff42a103d607de7fa0880747377b03e58426e951811d3a5bdcd73123691f3344f76bfe6d8d195798670729cd2e5e8bd8a65f54698c5150d31f66f2ed75b6c99e23a9a49edbd845308b5774e24b18f9676dbef98baf9da3a11c3aeb686e5d55bc9789328340f11fcb8aa806eed486e6b695a69dcb41632ebdaf0874349dd00b347ce359e1d92e1905fc55715ef66bd8d60e19fe512d01744d30d57aa9a10f1b99c049ca361ab081ebc12f1cecfff6c8b4599ed9786294879f422d1e21df2d8d2840115e75e07f9055efa931ee241851b152d8b993a99bbafbfa054b74cdbe97439428ae7ae9f9edd459b5726033093d344ab6d145a69e5733f0b96a20e91d0caad3c24b44cb1ca8ccc0c8599ee0433caffdb0aec6fecf17690390b11466e37257b563f71d75a1d13d365e25ca6388237266283b5df19dba948092222e770bf34f7eac0227988b2fb284f1eb3ef35be80265ca831a5b6f009a4caa0ec538e3a9eac80308698097eda979f4c2e4c1de1db00496525dca2ac571a678d1d919fc6f4c77a506be09d9ffe0298755dba5cb9cc7545da3e4984a56a256505e3f3ddd1bc4847af34d21b04f31ccb75567eb1533f22a313b1b72c753de8b0f157f01ec153c9dcf92ecf772f2f4ddd7ffe8a61e71f83c61b06f85afc545d5d6e84f78eea46ebd61ae7b0d11a63fa883aa2e5c519412c0c30631060bc663753c45c6abb710747d41ed4e27b04f12154d2ba1d865a97287b114d3ec2b013090dfa99ccb6c73c2d4a401f6d1abecfa7662b307c1cf9cc4ff220ebee833b2ba885cbe3593e2d83e723585365e8d70388f8054de8abfd56373b20b12cb6b700f9474b7035c42a421d674ddb672cb08f048d5760445ed777a9c2ce587ea3b4328c2b0bbdaebdcf5937f939c692b669a52ae3be16105754c9abe5f783e29bbb464280ccd921df0052d4f42231ecc6a0cd5b2c1c4dd2e0efc7d4c8a31a8f429c3327882e54caee96523f8c350557b9810069e5f3377398f1a13b4aecb7b2f155c824513f3cb21c39de79be36626c90817ee3e6f6fc3627659556666444931d1b7992ebef1f5ce447f3ad51cc7831ddef45a0444d2070ec973199dc6423631966c87dfc98e2bdbd984290a4c53f7255ac26cd69e52db905ded5460d6911b5b442e305ba31f8ea8497e851d4e15f3bb8cda4c4ea8b5bc47ffa00e8eaf53e38ae2faac17bf9839fa5837eead5f411ef221dc06b84b175f10491ca2e938478f6847fbade7d57872b17fef43d762aff7c9595178a47992e0d673b2742107fe72bac479de0052ea2f318b64ac3a3c7a34c3fe04d4a66c87606f03f4ebf3abfbcfcc42a804b2c6797421d6916ce45e2bfd65fcac416553324be88b439695b25a668908e6dd2477876a6fb2639d2e611417c42aa5bd7c8273423ef017ddf344747b361bc5600d1e9f28ca444106d27e51d80a103b73e7453500f290670b5e2dccdb3937ff1503d448492a68829642ecffb6825d4f4ded3f62f71eb57b5aba6efb318d04f0af4f631c7beeb8da28eb9cf0d58e853df015f973a4c96fff4d498bde99ac87cee0aad3fbd00e5232c3e6d242495e90c384d4228db4bcd5743abda5744263b1cc8bcffbd89ec758948080a7816701a3813f25e0fedb6e81f4a2fd48fb7800d9d6cd04205fbd0a3bd2434cb25e792eab624f153cd7c794c3768623fcf61262f8955649d1e6f7651240aad9b13685b39e6b10ca99e84bc0f538cc9413ecba27e780a2c6439c82199d1b3ce387fc87d4aac08f88246dd408fae43fc441b475882aa38a1fa74a76521861a199e58155a84be89835e4ed89c77a1dafd09b475fb62dcb48f07beb87501fc2dd73d2e1d82ea8375c098e57066a5c7df27dc11e3a6b754772322c2676e14c47fadc181e7c0daa712af452741898a4dea0d403bd06af45b513077f53d13ad071e9c6f0db82b235cdc8dd5a48f7875c9b610e84353d6006c67749df41fe26eb4f47d8555634b9e47e9ddafc89aba03939da6816924dd27893e35f5d2730627b241c5ece86aefd0c6c6b11a349a2b670ca79c7e736420caca15329bac712c0b90f37b7dd9ac6ed35de315ec9d6c96f4d0a75d7eb48f2dc7f970b0a3e56dc211e11cca342f45bace23f905e7a22a0fddbc8acefd131e2e425886a8a9d10b95044fea7593e8ad2306069a79f22b2439404c90c4f12400b86f8534073e444ed2b5e6fda38b9c0c7ea1195ed869c5921cda3a472116f75bd5ea7196443f8b2ad91eb57ccb9cd0ed397e7112bcd15a0a03da61d91b4c7a2139ae3b76e49c11517562acf2ff4ccf87ba67c6e589b93433af87a8404cc0fd59e349920712af858626a491821355679014b99868fb2c6168bcb3beed593ae0986247fb3ff7e620ab66f3642e439b40297dcfe7ffd2c23c2b4b1357ca21caf011a52d6007a9f3e9f3315abf3b986b644c388a32c467ffdba689346423d1e24323ba879be193fc452dcb1a99157453888180b525bf65ceef0096b26a31145dc0d6c1be89a9c8e18e23cfdb2810d62faa84b24a8470f3dc4a2ddf127b28d28c62786cdfeefe5e2df590560c172b9128160084b8ee38d27f933d50307b930d9a5d0264ebb5056305b0c7ae9db6eadd378bb650de581480c904d231ba5bac972d4cdc1cb968ab1415966601842e44d55afd9caf12d645bd4dfc8b9a1aa0d4b7cba0b82a0f50eda3e363fcd843785a6b2de1a9597ab483e00fec99315a7cdaf430153f46009594f28bb9e60744ecd77b80bf50d811925bd58131bd4d609896f531743c5a1429f2f84e7a7f2e4d6913e36ecfd9ed2f7fb79ea7ec87993bab19eb168f8b008b885c261536a5a80a4ebdfcb60fd93ff8f081a68e60ea9af91c7552a38ccd30c7af0732d45ff0e7dbbc72144da37ecef06c8ffba6ba69cae48ca4ce5e7077ed12e82750c61884553fb8e67729ddfe61e827bfbd2c744dd315aaf0240e6a21f3a938d54ffb19ff015a3fa4755366ea6a808974ff3c0f6fc391f15292f5d504d6313228a3eb483b2935fcdbfa317bc72c9efa49ba0524273dd17d3989f52187ac2ea3cd3e1da7b847386f86915077ed5c429d771c843e7490cf0698fe7b99a039a96dd5498fbfafd32aa773e01e25ab73196f4ddfb2d0b331f29d6d78282cd40f70689113651920ca9e8128e4199dc7c4c46876caeb8faa1320d51d6ca077296733d55753caa34955964ff9eec20c4558c95c01b29c7f3e3ebe39c87ab9993998baf27e8491bb5349ed484bdcd1e6d9a07f10697490cbe60e1f453f4a68b5e417d297c2f2dd51f3cbe793e54c3c5764d416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37a3cf00c109d907e543bc4f6dbc85eb31068f94515251347e9e57509b52ee3d74cfd56c75814e8dd474bd53b622b19152650c5595cf3c8bfad7a8703985105e8aa6c0904499f1efeef05641bd28fd7c73785e60f69ce9c699daf65af8b37207030ce844c4c202c352e3210a61fc0910039a70708453b0db6f29d4da9496f2711e794491b22860b2a9267b6327e19cb45cb999d290f167f7c87204ffc2ff87e457c06f765f3bed456436a8819b4d41fba66e537d88c90c4f46eb95d604c94086e3c38706b6ead21f5636ea9b79297a7976c59f8c1ff9242bf675aee5dce392ce985f8dfaf3a08014a60d94c7bbc69681481ede72a626307e40222bf371aa6d5192c9e4a52bac18aee4f3f90d05fbca603f5b0f5bf1ce8c45e60bb4ed3a2cb2ed86517b8536c77151b6cd53f4c19f7c09fb8834ae7075df3ebc5d16d0b1e44f3c51365b75cfab6ddb175fa3f7ab26a67e8194ba62e96d04e2badbe06e53deb32cce7867a17b376d74ea4d233a8206cd0bb8db5f843a9ff330a653871ce4a0b5625c40b4bd0a2f229f3b0a37d8cb27923912b7efcf6db2a26b531969e87047ef35b89e5514f2dcb7e40319793ed17add528a3ace14f843451cb644a452dffd0499f1db9d802e1928ba4b8eee56dff7217816676005a444c8a8e9fb19218456009b8e60d5f059f11c5f61f77f612a2c82d2a89eb6f25b19d68c51ae3e1d44ead7c1ca027f0ed28329634be645932e1ab7c321bf27b8cfaf9aed30f2cbf5ee4478952b2074e4b64cfac3a17618a69de47892e81023b97caf77e33c4db9048dfac1a09b96bef130eb3973332837cfb7a78f7ceffbef0a1fa9fb5c09c4d73747897cec3630834beb61f8efcd62fbff5aab35fbfb79cb85855324e93f5f00e386a36818d731e1c9d5e720fceb5b656a61352229a3cb45505af6c47b4978dcbeca765cb3830dc327a604eae51977a923bfa42e1736e4c3eb399183152a84392c08f297c3941f766c8f41702a65c4b1a3e2f5db8a02ee85612c0b87f48bc1db5fc7706b3bdbcfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgoogle-guice-6.0.0-150200.3.10.4.src.rpmgoogle-guice-javadoc@    javapackages-filesystemrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1ffedRLbi0@``q\@\e\efstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comjengelh@inai.defstrba@suse.com- Upgrade to upstream version 6.0.0 * JEE Jakarta Transition + Guice 6.0 adds support for jakarta.inject, the new namespace for the JSR330 spec (after the javax -> jakarta JEE transition). Guice 6.0 is intended to help users migrate their code to the jakarta namespace. It continues to fully support the javax.inject namespace while also mostly supporting the jakarta.inject namespace. The only part of Guice 6.0 that doesn't support jakarta.inject are the bind(..).toProvider methods. Those methods still require javax.inject or com.google.inject Providers. + The Guice 6.0 servlet & persist extensions only support the javax.servlet and javax.persistence namespaces respectively. + Guice 6.0 can help with incremental migrations to the jakarta.inject namespace, by incrementally replacing javax.inject references to jakarta.inject. This works everywhere, except for code where a jakarta Provider is passed to bind(..).toProvider. * Guice Core + Adds jakarta.inject support. + Support Java 21 (via updating ASM to 9.5 and other changes). + Improve AOP support on JVMs such as Azul. + Fix a deadlock or crash associated with recursively loading just-in-time bindings. + Make PrivateModule.binder() non-private, to allow subclass customization, such as calling skipSources. + Fix an endloop loop (that can OOM) in singleton lock cycle detection. + Fix tests to pass on Windows, despite the different line separator. + Improvements to OSGi metadata. + Mark the JSR305 dependency as optional (since it's not required at runtime). + Fix Binder.requestInjection(TypeLiteral, T) to use the TypeLiteral. + Honor scoping annotations on concrete types when provisioned by their @ProvidedBy annotation + Add a way to tell if a class is "enhanced" by Guice, and retrieve the original class. + Ensure the order of bind(...) statements does not matter when referring to JIT bindings. + Implement Matcher.and and Matcher.or as default methods directly in Matcher, so that the AbstractMatcher subclass isn't required. + Mark the error_prone_annotations dependency as optional. * Servlet + Fix an NPE if contextPath is null * Persist + Persist had a number of changes, some of which are backwards incompatible. Notably: injection of EntityManager no longer implicitly starts a unit of work (because this led to leaks). Users can opt-in to the legacy behavior by constructing the JpaPersistModule with a JpaPersistOptions that sets setAutoBeginWorkOnEntityManagerCreation to true. + EntityManager provisioning no longer automatically starts a unit of work. + Ignore multiple start/stop calls, rather than throwing an exception. + Support manually initiated rollbacks. + Don't wrap Object-defined methods (e.g: toString, finalize, equals, hashCode) in transactions.- Clean the spec file and simplify it a bit- Upgrade to upstream version 5.1.0 * Changes of 4.2: + Java 9 and JPMS support + Multibindings are now in the Guice core artifact. The multibindings artifact is empty to prevent confusion during upgrading and will be removed in a later release. + Improve the performance of guice provisioning (by about 20%) by changing the way errors are reported. Guice will no longer report multiple errors during provisioning (Guice still reports multiple errors during injector creation). + Better error messages for a missing binding. + Various optimizations. + AbstractModule.configure() is non-abstract to allow modules with only @Provides/@ProvidesIntoSet/... methods. + Add a CheckedProviders class. + Change the way Singletons work to not rely on ThreadLocals nor WeakReferences. + Add MapBinderBinding.getEntries(Iterable). + Deprecate ProvisionListener.ProvisionInvocation .getDependencyChain(). + Ensure that Struts interceptors are populated even if they are created after the injector (Fixes #1081, #1075). + Add support for multibindings with annotations in the Guice DaggerMethodScanner. * Changes of 4.2.1 + Java10 support (updated cglib & asm). + Minor updates to the testlib extension. * Changes of 4.2.2 + Java11 support (updated cglib & asm) * Changes of 4.2.3 + Java14 support (updated asm). + Added Injector.getElements API, to expose all Element SPI types from the Injector. + Added Injector.getAllMembersInjectorInjectionPoints API, to expose injection points created by arbitrary members injection. + Added getAlternateKeys to Multibinder SPI types (MultibinderBinding, MapBinderBinding, OptionalBinderBinding), to explicitly list the other keys these bindings are available as. + Scan for (and bind) @Provides-like methods in a consistent ordering, rather than relying on the non-deterministic Class.getDeclaredMembers ordering. + Update DaggerAdapter to work with newer dagger code. + Fixed a subtle bug with eager singleton evaluation. + Updated @RequestScope's scope annotation to the JSR330 @Scope, so it can be reused by non-Guice DI systems. + Clarified the error message when an injectable constructor is missing. + Add deprecated overloads to various Modules methods, to make it clearer when calling them is unnecessary. + Added factory methods to Modules for common Binder configuration methods, to make it easier to configure them. * Changes of 5.0.1: + Added Java15 support (updated asm and bug fixes). + Removed cglib as a core dependency. (#1359) + Improved error messages. + Improved support for using Guice with Kotlin. + Added a mechanism to restrict who can bind types or annotations, to allow library authors to control their bindings. + Removed no-aop build variant. + Fixed 'illegal reflective access' warnings. * Changes of 5.1.0: + This minor release adds support for Java 17. - Removed patches: * google-guice-throwingproviderbinder.patch * guice-4.1-disabledextensions.patch * guice-4.1-fixup-ant.patch * guice-4.1-javadoc.patch - Fetch sources using source service, which allows us to clean up the tarball if needed - Generate the ant build system using the maven pom files.- Avoid using xmvn-resolve and xmvn-install in order to avoid build cycles with new dependencies in dependent packages - Build only the NO_AOP version of the guice.jar and alias accordingly so that it provides both- Modified patches: * google-guice-throwingproviderbinder.patch + do not add the override of virtual function + build with source/target 8 so that the default override from the interface can be used * guice-4.1-javadoc.patch + build javadoc with source level 8- Do not build against the compatibility guava20 - Added patch: * google-guice-throwingproviderbinder.patch + fix a little glitch with default generic function in guava- Clean the tarball in order to avoid files with spurious legal status- Trim bias from description.- Initial packaging of google-guice 4.1h03-ch2a 1721041379  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~6.0.0-150200.3.10.4    !google-guiceallclasses-index.htmlallclasses.htmlallpackages-index.htmlcomgoogleinjectAbstractModule.htmlBinder.htmlBinding.htmlBindingAnnotation.htmlConfigurationException.htmlCreationException.htmlExposed.htmlGuice.htmlImplementedBy.htmlInject.htmlInjector.htmlKey.htmlMembersInjector.htmlModule.htmlOutOfScopeException.htmlPrivateBinder.htmlPrivateModule.htmlProvidedBy.htmlProvider.htmlProvides.htmlProvisionException.htmlRestrictedBindingSource.Permit.htmlRestrictedBindingSource.RestrictionLevel.htmlRestrictedBindingSource.htmlScope.htmlScopeAnnotation.htmlScopes.htmlSingleton.htmlStage.htmlTypeLiteral.htmlbinderAnnotatedBindingBuilder.htmlAnnotatedConstantBindingBuilder.htmlAnnotatedElementBuilder.htmlConstantBindingBuilder.htmlLinkedBindingBuilder.htmlScopedBindingBuilder.htmlclass-useAnnotatedBindingBuilder.htmlAnnotatedConstantBindingBuilder.htmlAnnotatedElementBuilder.htmlConstantBindingBuilder.htmlLinkedBindingBuilder.htmlScopedBindingBuilder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractModule.htmlBinder.htmlBinding.htmlBindingAnnotation.htmlConfigurationException.htmlCreationException.htmlExposed.htmlGuice.htmlImplementedBy.htmlInject.htmlInjector.htmlKey.htmlMembersInjector.htmlModule.htmlOutOfScopeException.htmlPrivateBinder.htmlPrivateModule.htmlProvidedBy.htmlProvider.htmlProvides.htmlProvisionException.htmlRestrictedBindingSource.Permit.htmlRestrictedBindingSource.RestrictionLevel.htmlRestrictedBindingSource.htmlScope.htmlScopeAnnotation.htmlScopes.htmlSingleton.htmlStage.htmlTypeLiteral.htmlinternalAbstractBindingBuilder.htmlAnnotations.htmlBindingBuilder.htmlBindingImpl.htmlBytecodeGen.EnhancerBuilder.htmlBytecodeGen.htmlConstantBindingBuilderImpl.htmlDeclaredMembers.htmlErrorId.htmlErrors.htmlErrorsException.htmlExposureBuilder.htmlFailableCache.htmlGenericErrorDetail.htmlGuiceInternal.htmlInternalClassesToSkipSources.htmlInternalFlags.BytecodeGenOption.htmlInternalFlags.ColorizeOption.htmlInternalFlags.CustomClassLoadingOption.htmlInternalFlags.IncludeStackTraceOption.htmlInternalFlags.NullableProvidesOption.htmlInternalFlags.htmlInternalInjectorCreator.htmlInternalProvisionException.htmlKotlinSupport.htmlKotlinSupportInterface.htmlMessages.htmlMoreTypes.GenericArrayTypeImpl.htmlMoreTypes.ParameterizedTypeImpl.htmlMoreTypes.WildcardTypeImpl.htmlMoreTypes.htmlNullability.htmlPrivateElementsImpl.htmlProviderMethod.htmlProviderMethodsModule.htmlRealMapBinder.htmlRealMultibinder.htmlRealOptionalBinder.htmlScoping.htmlSingletonScope.htmlUniqueAnnotations.htmlaopClassBuilding.htmlClassDefining.htmlclass-useClassBuilding.htmlClassDefining.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractBindingBuilder.htmlAnnotations.htmlBindingBuilder.htmlBindingImpl.htmlBytecodeGen.EnhancerBuilder.htmlBytecodeGen.htmlConstantBindingBuilderImpl.htmlDeclaredMembers.htmlErrorId.htmlErrors.htmlErrorsException.htmlExposureBuilder.htmlFailableCache.htmlGenericErrorDetail.htmlGuiceInternal.htmlInternalClassesToSkipSources.htmlInternalFlags.BytecodeGenOption.htmlInternalFlags.ColorizeOption.htmlInternalFlags.CustomClassLoadingOption.htmlInternalFlags.IncludeStackTraceOption.htmlInternalFlags.NullableProvidesOption.htmlInternalFlags.htmlInternalInjectorCreator.htmlInternalProvisionException.htmlKotlinSupport.htmlKotlinSupportInterface.htmlMessages.htmlMoreTypes.GenericArrayTypeImpl.htmlMoreTypes.ParameterizedTypeImpl.htmlMoreTypes.WildcardTypeImpl.htmlMoreTypes.htmlNullability.htmlPrivateElementsImpl.htmlProviderMethod.htmlProviderMethodsModule.htmlRealMapBinder.htmlRealMultibinder.htmlRealOptionalBinder.htmlScoping.htmlSingletonScope.htmlUniqueAnnotations.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilClasses.htmlContinuousStopwatch.htmlSourceProvider.htmlStackTraceElements.InMemoryStackTraceElement.htmlStackTraceElements.htmlclass-useClasses.htmlContinuousStopwatch.htmlSourceProvider.htmlStackTraceElements.InMemoryStackTraceElement.htmlStackTraceElements.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmatcherAbstractMatcher.htmlMatcher.htmlMatchers.htmlclass-useAbstractMatcher.htmlMatcher.htmlMatchers.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmultibindingsClassMapKey.htmlMapBinder.htmlMapBinderBinding.htmlMapKey.htmlMultibinder.htmlMultibinderBinding.htmlMultibindingsScanner.htmlMultibindingsTargetVisitor.htmlOptionalBinder.htmlOptionalBinderBinding.htmlProvidesIntoMap.htmlProvidesIntoOptional.Type.htmlProvidesIntoOptional.htmlProvidesIntoSet.htmlStringMapKey.htmlclass-useClassMapKey.htmlMapBinder.htmlMapBinderBinding.htmlMapKey.htmlMultibinder.htmlMultibinderBinding.htmlMultibindingsScanner.htmlMultibindingsTargetVisitor.htmlOptionalBinder.htmlOptionalBinderBinding.htmlProvidesIntoMap.htmlProvidesIntoOptional.Type.htmlProvidesIntoOptional.htmlProvidesIntoSet.htmlStringMapKey.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnameNamed.htmlNames.htmlclass-useNamed.htmlNames.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiBindingScopingVisitor.htmlBindingSourceRestriction.htmlBindingTargetVisitor.htmlConstructorBinding.htmlConvertedConstantBinding.htmlDefaultBindingScopingVisitor.htmlDefaultBindingTargetVisitor.htmlDefaultElementVisitor.htmlDependency.htmlDisableCircularProxiesOption.htmlElement.htmlElementSource.htmlElementVisitor.htmlElements.htmlErrorDetail.htmlExposedBinding.htmlHasDependencies.htmlInjectionListener.htmlInjectionPoint.htmlInjectionRequest.htmlInstanceBinding.htmlInterceptorBinding.htmlLinkedKeyBinding.htmlMembersInjectorLookup.htmlMessage.htmlModuleAnnotatedMethodScanner.htmlModuleAnnotatedMethodScannerBinding.htmlPrivateElements.htmlProviderBinding.htmlProviderInstanceBinding.htmlProviderKeyBinding.htmlProviderLookup.htmlProviderWithDependencies.htmlProviderWithExtensionVisitor.htmlProvidesMethodBinding.htmlProvidesMethodTargetVisitor.htmlProvisionListener.ProvisionInvocation.htmlProvisionListener.htmlProvisionListenerBinding.htmlRequireAtInjectOnConstructorsOption.htmlRequireExactBindingAnnotationsOption.htmlRequireExplicitBindingsOption.htmlScopeBinding.htmlStaticInjectionRequest.htmlToolable.htmlTypeConverter.htmlTypeConverterBinding.htmlTypeEncounter.htmlTypeListener.htmlTypeListenerBinding.htmlUntargettedBinding.htmlclass-useBindingScopingVisitor.htmlBindingSourceRestriction.htmlBindingTargetVisitor.htmlConstructorBinding.htmlConvertedConstantBinding.htmlDefaultBindingScopingVisitor.htmlDefaultBindingTargetVisitor.htmlDefaultElementVisitor.htmlDependency.htmlDisableCircularProxiesOption.htmlElement.htmlElementSource.htmlElementVisitor.htmlElements.htmlErrorDetail.htmlExposedBinding.htmlHasDependencies.htmlInjectionListener.htmlInjectionPoint.htmlInjectionRequest.htmlInstanceBinding.htmlInterceptorBinding.htmlLinkedKeyBinding.htmlMembersInjectorLookup.htmlMessage.htmlModuleAnnotatedMethodScanner.htmlModuleAnnotatedMethodScannerBinding.htmlPrivateElements.htmlProviderBinding.htmlProviderInstanceBinding.htmlProviderKeyBinding.htmlProviderLookup.htmlProviderWithDependencies.htmlProviderWithExtensionVisitor.htmlProvidesMethodBinding.htmlProvidesMethodTargetVisitor.htmlProvisionListener.ProvisionInvocation.htmlProvisionListener.htmlProvisionListenerBinding.htmlRequireAtInjectOnConstructorsOption.htmlRequireExactBindingAnnotationsOption.htmlRequireExplicitBindingsOption.htmlScopeBinding.htmlStaticInjectionRequest.htmlToolable.htmlTypeConverter.htmlTypeConverterBinding.htmlTypeEncounter.htmlTypeListener.htmlTypeListenerBinding.htmlUntargettedBinding.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilEnhanced.htmlModules.OverriddenModuleBuilder.htmlModules.htmlProviders.htmlTypes.htmlclass-useEnhanced.htmlModules.OverriddenModuleBuilder.htmlModules.htmlProviders.htmlTypes.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlconstant-values.htmldeprecated-list.htmlelement-listhelp-doc.htmlindex-all.htmlindex.htmljqueryjquery-ui.overrides.cssexternaljqueryjquery.jsjquery-3.6.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.zipoverview-summary.htmloverview-tree.htmlpackage-search-index.jspackage-search-index.zipresourcesglass.pngx.pngscript.jssearch.jsserialized-form.htmlstylesheet.csstype-search-index.jstype-search-index.zipgoogle-guice-javadocCOPYING/usr/share/javadoc//usr/share/javadoc/google-guice//usr/share/javadoc/google-guice/com//usr/share/javadoc/google-guice/com/google//usr/share/javadoc/google-guice/com/google/inject//usr/share/javadoc/google-guice/com/google/inject/binder//usr/share/javadoc/google-guice/com/google/inject/binder/class-use//usr/share/javadoc/google-guice/com/google/inject/class-use//usr/share/javadoc/google-guice/com/google/inject/internal//usr/share/javadoc/google-guice/com/google/inject/internal/aop//usr/share/javadoc/google-guice/com/google/inject/internal/aop/class-use//usr/share/javadoc/google-guice/com/google/inject/internal/class-use//usr/share/javadoc/google-guice/com/google/inject/internal/util//usr/share/javadoc/google-guice/com/google/inject/internal/util/class-use//usr/share/javadoc/google-guice/com/google/inject/matcher//usr/share/javadoc/google-guice/com/google/inject/matcher/class-use//usr/share/javadoc/google-guice/com/google/inject/multibindings//usr/share/javadoc/google-guice/com/google/inject/multibindings/class-use//usr/share/javadoc/google-guice/com/google/inject/name//usr/share/javadoc/google-guice/com/google/inject/name/class-use//usr/share/javadoc/google-guice/com/google/inject/spi//usr/share/javadoc/google-guice/com/google/inject/spi/class-use//usr/share/javadoc/google-guice/com/google/inject/util//usr/share/javadoc/google-guice/com/google/inject/util/class-use//usr/share/javadoc/google-guice/jquery//usr/share/javadoc/google-guice/jquery/external//usr/share/javadoc/google-guice/jquery/external/jquery//usr/share/javadoc/google-guice/jquery/jszip-utils//usr/share/javadoc/google-guice/jquery/jszip-utils/dist//usr/share/javadoc/google-guice/jquery/jszip//usr/share/javadoc/google-guice/jquery/jszip/dist//usr/share/javadoc/google-guice/resources//usr/share/licenses//usr/share/licenses/google-guice-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:34548/SUSE_SLE-15-SP2_Update/9f6ee74386a1e28d97be4be900755691-google-guice.SUSE_SLE-15-SP2_Updatedrpmxz5noarch-suse-linux   directoryHTML document, ASCII text, with very long linesHTML document, ASCII textC++ source, ASCII text, with very long linesASCII 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-interlacedR0ʧ|!n-utf-8dae0368ef780bd3a1f9bdb394ee985a9b5cd6d771521d6c247b318f28bec3a36? 7zXZ !t/॓_]"k% ¥ytl94/dQɑ!%aSt|bR%ď2ogfkeb\Z4hn W";ƾ@˽%5j˯G^@DZ0% ~9aJ-୮t@؟c gl7yL4_>t2exSJH֟i>Aiz1FhpQƼ;_ӉPTRM/x|zXBE_Y]IvJp8WL_JXS0yU؋3+arU^SfuG3~w)m7⁏if@JKYR^xwkB}(Fj|\qE|[?ag'̾Pvos[ #Gk8ߡk>e@8swz"*7v@Y^t9&s@#(9LiZ|-WHLm/`KMC G9D/㽊O(bT>jW 8J fbVWFtD(`|nfiiŦZ,4ЅA,c-i'=uSSHgt3qt|M=Rk[5\9eR[9zs{KR\-^Yl_7C#y  k9f g;0S8#΢.zNk;w;#i.ʱt֛j|I IH]aMoދ@y0ͭ`%2OywY[2ߋ2d + 5Nk뫵auY\ /sGD| Z-Pݫ!row:PIG|1ïXTy,^VΪ+ Fͥae󞸜A §!eN.K5KcrS㐷Rr)IE0M"ZG܅+U}Nl17&jWD߅չ wB%ҢowmR"Y:aKt5] Co$soӉPpC+/; |?~x3,tn\er-\{KF#tUש.7!c N 'l}mngՌ.KDGPaF֠).Rm tf_:wZx42ǧ%+R<9d/O@J3w藵O`PI7 ³-̧?PvַG Q=M]0e?k}f鸼97zocw7UM1; ɥ/b{C/pbGsDY1d%=zY ,A.]5,ٗ9syVs@6:"M|+H~"6(|J7MP$%Mue$A&\~>Xݯm.P%" jjs##yAt{œ ̉Mc §rxAj3vlam@XJCXni9F/ JfP>7dk5ҭvQo>u|ꬃL/-!BA ,(;GQ [ʾ:c3%M!Y'wĬPhs^z^k?ȘuK\ tqǽ@]k|[A' &bWh4}εQ’y52I@5 VPND@ eѲk}2qYjd^dy\9H0nj TiDщ{HH y7y!dWeJcDwnB°m+m.\hRߧƄK|:*+rmV@I8.9 cjRn=vFШ-CXzU1Ǧ{ 3 9M6iPG'!2%z9Ǫ0~~fNd`g0:]_Bk菢 dгZMCZQ4kEUǟau!NTt?m'"t+/$Z1q@,,J*QADg"0X,jjݛS)&oѦ)\`4>$?7MB3_t5wQ4RzYhH;!y\L@qaZ #&|Ń9LCS`wf=avPt*F4ml$J{%\w -c̊zܽ^ABu"n ?[/@8v6`voK7뫖pJ\ :7yw(ʹ]&*^`K`24E3Sq .{,S :+6-T eaw׺)rtgͷqtς?a-4tːyx̌hR;ebn륆|]`I0//)MS49A  ~u В[9KmG7xъKFks ?+V,58۵DCyhQ(-3W/ȏzL:QDcj$ ЋmXQ`[(~fY`v /粔- .cNtq#)I;_k 3 Q b*BPW* u2簱>Vy 1HrVAbd gtos0ܽ%DH %]ֈ] U;d˦f̢NPئd.+B}܊qY,Xmn?{'f`wnD%Ĩga-8..Dx^nQ$GWM{m[јk>R٭OndǸ% זgx6SiRG0BfEE؅Qfxhhr(8<:XnA╸L'GO)!7NUGΏ4r\/>(N5݉OĚVOo7C xp:T;giBcc20 7i_ 6j A"?@ w.AA)5OJ(^aqA0&G3^*4 o~?FPѶAk+rzo [їeZɏtI_*Gt( VoqZI;RŦjX:T$$= TnU@?)c:/j,Nʏ=}*!N%ѡwѿhumHo#$Xjs\C’{[XGðP bI"DN0r4}2QW@N3#EE:[3cc…EQܑ ad>^>9== < @뚍, ;c֧ZAj ֓K\&FcX{G@CQH6s1jq8yBbWxӉ1͎W=.TXM" ƭ@\"q_ܶy獜r[>7Úo`*D$e)'EV=K%n K˗o\tNt$2Lxfr34[YbUɘ#pjP%Y[ w-m E.u:ςIv1E=sOÀL;YE1>f,WP졁P΄!&4J"R蝮Ε5 Xg'++ovkɿ%s9bTE>cRwm_AV2ĘCiG_̊,_\~fgoa@Xi^B,?AW"^f}׼LҦՐpJbrN7'r#7훺{w)]8>p>V嶎5eYH\9>\ Ow'S{M"E ^o7CC$YܪZܣtAcln2;IL 0BClT\шeP- nB$TE]\ltfo 'CxlcB"T \ Q/;P{!jSLdn-ɓg4nǗKvTճՓV2JSn̂/۝ }CQN,dݏk}o<J\5^y @=G\Wd[ u^!L$ś1`_*w~ÐGΙliWuI2*Uolj8!R0; =`LWMj, /7wd`F_SI2ujnR19SQeKpo?}0j"=Q{3,!-N(啭q8FEI xL]P4%y;#S'$SĪ }{ wЛ<_6N (iEO & td1QMw\ZtUkBR?N'>^'*x=KGs7\3ߟn;?kZ$ fLDP&'Յ?ɔƀuShU\P`r2o`3A"ɣ Gl;peҋ+maIXx~8FyvŒd$ĬaðrD1_c@k2%,(5/KʁQ E? ~~2]Cx BK߱)i(] qY~i. ;SNa,[)7$[[D0B¨J!'ߤ{$5f? `{JQDX70 X m.$׹5i{kZZ'%ly½L0I $stj,{ZPp1c/ʹ>D&r OD):JnEf/}6y.=߰7Ef!V0T }&wU I 5z|6>͔LZc8-vmq$N^. $r5ZA"4 yH} BSvO<>|&ǣH80ye#A;c wrxg˽cm&bÃiGɞBZoǰ[8!{z8iF;}oPhPw1MxK+Q*mhf1n-S͌Uƚi$VK,3JDJBAoEz{\rѮq!T 2p*[> s8?Yg 6_YӞ<">r,\# fWzI" t]`;Jn N1Q hP&)3Hԑ20Μ '|zlLQw( *%s (DW<_CO[Fr*7h^BIԔ,Nz]Hz hJol0:nGuا,cYp摥nN&G"-X1 ">!nAHRCO@"K ; p3l&j.54t'08kՎ7ҦXzhCe_Diz=lF:WḼR[Uç$W9ӠM6 ]HcJn 6;RHB}nXD!(;.SÙ} J%;/2x4:ʳOAhj#\s}L$4ڗ8soRٷtsLlZRV O\E=dzjU^;ࣘst7oZXO{` ꩮt]:ޠ$(|m:v+{Gk5Cf舰סN cm?֪_ Lu9o_ʀJghĨ49If{fwpZ dOBy435 yh~ꕮR{C$)LG._ԙon07fygX|nTȩ;p0a UZ""9ǫ}$K1CրGBI tG9U-ى+1) KnBE@/Um'ӓkp8u>ЭJRCdb^I0zeJfSo!W]';%'X|~Y)҅ ܎qNscE}D|tN_TD }X `IZk Vщ)FG/6 ;V ID#qNH;5^Wv Ԗx8E̪ӘN=_*_XGxv;\lAr#Ҏ֖u;.Bl'[73w@g6"~{b;z%r1vb\n;NLU+tqwVCmiAJqJ-bUMUTqddxpΡ!g=#W1^FIsLP\O,Co&#\~uwQ.]\-.VX@0PcAiAץtKOLޖ9v]1ίc j'QΆTLTbq\q,?IwV/W)ۭӣ# MNK*]ra8|J T@^\bnu% fP`3J\NJoG ʝ_BҊ Sx,RuW8%&#eob8~aOsvIf`SaQ%6%тf,B( f7G"p@cp ec]; O['晭^ [oxA"_ ~O]/ӌRjZv%`jݓHV_P3>-Bέu(X 8 pQ#P\tl4p4- ȫeV`K.jyQi!p6{S!)_+)6qz2=E yF0QT|Fˋ-Q\BGBpLŽNr;5\- BZnO9(U(JcsY@nt)]⚸UҠexUuQJXAGlhهla7;l"+"2qVM1AO-@ Q4R)u Q畎*.lqcAliY5uϹv*U;ʀ i*WJ݇wV-!i|N{a0(h0|js] m'Q$,4c4ا, -m\8LITz?NpB =;TjB'çhī)|mQ$얀GO>楑5^lQX4?ĿI|-\6qW i3Y qk?R`U>A@!ĞVo2q>u0B$76섧Mh6bn8ռ1]pQgkw.u8E!7P&!t(ɲCT򥡣KL:J Vi "O6 >l/X7i<r{o`^ U3)H)q.7A˛\j;}l}h휎h9Y )4PizVUJ-:f{Q9yW$R XVlsݜҍM(G:H(ch>mG|yu~Du}\4 ccu'v7[ׅh\w xwODaK.ߔ{.Z|0ݚ[\zt˰$C{:3PyB"~׽;36UB9 )K%bP 3p%} vH`[ݲ 8XUDN, jG7;}uwg+0~ ~2:2tL'W(X-窽#VHdk^ Ij(ʟfpZ9#OAҽ:5K7'ڊMM EU^H^/Ͼ .> "BƜKB|l[W*3#PF2_Dۃ 7hWx¸7#ߨB^Feԃv^6Xϡ5`:4:1xWC- yk2Vٛtq#89NbXqiPBpŌr4שxVWy4nd|UR[O~Uؿ+Tk"X޴{ 7ݶƝ=޷  ~jϵp4y >jJlL]Z:W^x-WW#90)K3I,[)V|ks);52GwUtt,1WQ q4PȗֻI^}\9bV g1M>ŊBLzC ZlNwOqxq7aם*|:B%$w >_Uˑ"K'qh dv-gS5sxr2xlD.ԊP饻jL"nYuy'T|S YɘJlf`ccmp[utq' 'V/E4#{\ȏB#(s15f^MJYWf'ísbgkލzw.y! 7迗3E"PTz0_C-YjPs\=^Ž[Ef[ﳋ Ķ p9(DK=}J5`_Ҕ|T'[ knsxmBy..8a)9`0m6$ xǾhkчÅu$x.=\Cػ[}81Ul#;5@#*9Nc bÙDzwqhh䐫e&~5癦9Կ4d6#q1=14Ͷ[pJӠ$9WC'Oщ(/n0:Ze@6apOL* CDDW2 i>]j=$B\+D5y>R!VF$=h1љU(NXGKz`sWKI_a`jE >k^k[q4V]֘/UQ/ pSRXfiZbLT"^ܽ%ȎbZT^.W[@ө o6rϕSr/W?1ZqLxfmUA$7Ɂ_epl>A8lĎS- /PjD&߸mL˥=\;кum_O+?@C;ڲ"n3U8ߨ`WMtU˅37sɇ @!S6>wn=f3'ͅ,j +R1 =PLz[GS Ypi^^F]C<vx&' طa3[}c0Fg7jbS]p!^z2MSդ~F =FXL(~:8GziVaزn rMhiy`c `)פf3u!?3ʩ>R$~uf-?aL ft=_խ"8UdMW ZZx')` W Ϯ*$p(.cFHh`|(lVk;3)?e,@֐.dTN٧]XG? 1` ~VJdsG}ףsFi0U.'Av`!ajYB_"5ȎiXTHqd=> ?U4^/Yh88m#1$wIzY۸E3 ^mШ a@ ]1*26DWG ~G^^0ge;pE&u!TynjJn77[Tt:b^"4P< |qZ5v-ؐR/_̆y׍ qٝpRha6 ͬj?`X!|i4^ gjq0 ZW_Qwr*g.ҹ6_ cYRX=rޖh^vdIGAfg0o@A:p}9aH"tz"oy&vxN8`%_UOoc"adZB=rݟ2Rt&6ݖVMКܧb@զZ/emYDyoAhIZE;CmQb%@!LdnɐaeSnYG^ma%P]9ƂDɎK-SW\ZQ\ 7ȵ h7XƋ{Mqb8TKZH2+X>-\An I H1# q*CHUK Fь@wW|}cN5LCW]+WTE9kkqNWeI6aqgQc9`[Დv38"RN1Yjp*]2tsd!΂îUv=$+|ځB/c5aasDG4j9=3 qc<.]Tt$\}*j~Xy\ TQ/HWMZF,C!s{*b}|`{!hY%F/EL鐲Cl'eha!Du\Q<>&;KWjP9 T1|Pwn%Pt<vr%x}1u=4;j11+U.G9RxkG@v0}i,zZ+Ur fZ]g*QJZr>sr೵~9n^a^I$ίʗT0^م"g6D!&ǧ691ٽ>R53$oF\</ZgU \Zz_<>f?leh>7 y8 z3u4*r_5n[rS[lEpQVIM㗶BJoݓp7aMJi1S~Ggd_\h%>+M?td-|mp˿-zy*@"k2HǶ?u@fV _l @xLBhknMJE)L-uBOIǚ ,"i7 O`gCE?_d\d~Fxh${QJS?׳ #6XW(|P-U%ѿ\ծO5PtsJ[n@,wS`n#1;//(zgܱ$=렣`ι7H=}å{},QOO&Th m0qȒ嶚XVScܘ-!1!1#㮋Ml \W L a|+½c"I'S 0Aمe+-ժa~+T|oL ,UP5r,2GBu&y߰vWn)Zäޠja:g8(#kƑ&.'PE. !6w Yc~v}Vkީ訠Mzg\O2'JnQoF_t͵)!ӛbl?IDa*Cȼ;$aBe9 >~HڶVi/ =S*q-G%Z 9J@x$)GYHavȐ$EүBc_P΍hcS{Ww7rˡS,8H%6h_zVz`&YcaNqnkʟ S9Ð"%QX(bԵwGq%|~}a6()Ŭi0mpoF YRxݮ% Izd+cM]>uYb2H!m- ;a+%Cn"#se/NJ&B 2aQ!Kw-#1 "04>ZLh]W8KplE'f~ÖމwTh],rDL ˍYܨ+tvM+,c:a*n͘ @tx164 *\Dnq hsIҎkU֒^@CQg ¿_o)PpH~xmu-~k?.AOdۙ;IȱK!-%8 M)p)ltxu 'PVʭzq$62G9j穙B5l-nZ.|<=o!4I X`D]XW{?d԰0Їqa[Ў;g$+N.4S>SO<YW>)&g_ @j}P~2_#ѹLxpf=N"ϟ@I'TRCrCyMK2~-fʫo8=9^EsFmφregN3cu3"o,ZyaMF{VWY0"4>s"֙y"\s,P!63!#;VNd+,1q]vgw4arJfx=%J m\fiJZ|#8Ǡ9R 0zB5 SW@֨C9`H&3T1WO(`t (մX8`^V^*scþjuCKRi:GFi"˼1ͽpcK'F}HUU 3ةե*MšA=Ucq@$M!/Eoa:q HlaΨ4"&|HG9eGͲuvr$ʩsL1`#'m0` ]D7_OZ;e>48Yi.v`1wm4 ϴzJ1Q\. "2Jov-f. :p66k< ۗA9tpcok+3TA>kB/;N4r5c}ʾ x* B_H9"jioxR!ͲSjv]gz &'l`%rdS?!a meIܧ^\:ԠnȪ[;a୭l8`G2<{kƒV0Pg:jCpY4~LܾJc@K-g X/jٶuTOI%WCEYs/p$ī[m|='^W~эGKhY $,V `}׋sj!|orO;K1ptThn[ee'vkG(J Enuxn(o0lrqέ4>0R o8U0a)r(N&Ljk,wX0Vɯg,Ɩ54P"5sQh?l, w!b}+05_NҰ"sFR1o[A*ە LupTL.:K)D mS.`2s0Em+q̯T3ґفcW|FVhNΦCĜ|Nxsw$>>,G8 VHGC 5\C8 x*m i%AW6P+Y1%z4ou:blz< =|ߨl>YLa<Ar%p}64b">ܨnAe`^ e( En l(2ր[` - b&1SeR&I_-AҪXh}Q!c6 wVCOr0O{ʌ\D4rT lCRێyJOj"CiFAgKߏR)p;|~+C>:oC_~.S1ب{oOV1>y;DkO hZ@C*ʛudˮzp?\qJXXY{;yU.ֻ(. R[{9&0RpdMqE/̡h$U $dw\{C" ^2?4G˨bS<2ŭL) WT- lΠ0 8-ShA563Re-قeNjVʜ87Kl0u Kǒi9 jU4CAhFϣUhM6o72@3yǩ/  ܼlu05L>y6 =ưtUD~O^zkG}M*t<3G‚wƃ=%K)VږrQU #ώ"=zidQ }?ށ:5 L\iSPUGH]גK\r4wsc܄Y]wA7H@]ѭ}.,CrטPE"`Pʛ`cn1y-+t|͔Q`/u˙ c]2@տݽjkvgH4ϭ'{9gUl4vu3&'yK3>/7. e}kh>-1M\rjR $# 7Ljt!:K%?w/4zF:,%gx -; EBƪ[1/$=Fxa@ DTP{HA}ιOdaס^Iu፪t6Żsy9 ]>&a'7])7|&*KAt]C CD(u-Qb=ͩ%6Qzr^F͠)X+($NM= h7>oK)/$ cR;e']=OEN_GsFd'x_Ն턧Brm bqiT-;V:J__Y{F.r.%7S )w[[}gLJ[2]"",WAŹU<Ջtყj{eػA>`pCk2IP/c.jH5Ɏ$21U'hQq/\H-֢97_!2-,ef%k |'ZA{ Sj8W~NNњVWjZ%Sr,VVfofV)Q;}Rin2⋱>tyŚT 3ah[V \SNO_k<zmӟ 0"n\t_1\^o:r?1 BaGUaʵ bMSsBE2I>1 ( Ƶ?$WiHo/w>,Bkm&sh^|-/_ժSӓQFrI@(}L%+(_e%ܾ926C50Z=Pňp5Q#Aݨ%}U=Jx3_ s۝<˚l)s4"lq bzivU?nj[4g3FtXP8#4 nm_kmEF Jد}Ā /@S+)fdF|PhWꃃZ4COF$k@n;Y-,g0VFUBXԏxN&-}~c=hrk*HYWGfVH<<WnbT3l?Y*MbۏnRHGpTV v3{xJoz$R~D ZDT#uhH){#tD(O@ XP<3gDzV$J\4/"Jp02(S,8 *Z )WtF? *ڍkS 1'L[ nQa`C- LiǑ;!3doݤB֩6eDO m1qo^RS l0YcP]R"55qVm8 .mr7.cW|y0S4XeD&p۪?Qw"Y["9~yl>3Be]lVwZ~ة@SW;9&x^UڣiV;sSߚSaV˸:1ic M?mPzʰ_ttZo!\rJN E wR rzt>+* |[]gV7Z sDՍdYF#A?{Y+< ory9 &hBnڙ_W4qE\cqXba0>nYQB@_\p1K@;ըt4FC2@ɓnwB0:K"2ɮC X{\hwig#|?S吣N_^@ouHG޾h=4EÙ53Y4P{\`<ɹB=œEF-,LiiM2@tþ▎PǬݾ=m^Zm:!X5u11"Ϙ_)QP􍺨xIשݻqY`HK"~}Ū[&FF?򞓅i܏W}P6l(e=^)r0R#BlJE">Y__iljȇ`