python3-SQLAlchemy-1.2.7-bp150.2.3.1<>,]j!M@eee4ԥSoL`ؤ&a%et[k._B:/c%B Ii4@Ҝ?Ҍd ' D$(15 Nkt dt Lt 4t  t 8t t|tt0tD p } (89:BH:FHMGH`tHR0tI\tX^tY^Z^[^\^t]ht^u0bcd*e/f2l4uHtv w\tx,tyLz,<@F҈Cpython3-SQLAlchemy1.2.7bp150.2.3.1Database Abstraction LibrarySQLAlchemy is an Object Relational Mappper (ORM) that provides a flexible, high-level interface to SQL databases. Database and domain concepts are decoupled, allowing both sides maximum flexibility and power. SQLAlchemy provides a powerful mapping layer that can work as automatically or as manually as you choose, determining relationships based on foreign keys or letting you define the join conditions explicitly, to bridge the gap between database and domain.]js390p250fopenSUSEMIThttp://bugs.opensuse.orgDevelopment/Languages/Pythonhttp://www.sqlalchemy.orglinuxs390xYz  9 9yyCC ` `+}+}jj44qqLJ^@0p1Bsxxbbn2 nn';'; 00Q )..   q q(( ##(( /6/6llS x,c ;#` aA?b1a+SSvv"O"Oo''1414'|'|((c>c>  cc&0{&]$j3s _kuEE<<;;*:ikvkv ? ?s6 OP!P!WWoocc  EFR|%PZ# "9a9a##f2i%DjR8`B;;EE@E@E))997K7KsFA::ccAXAX'|'|akY*A+x:5 *8"; ZZ11!!ZZIImm,.,.vvbb$$,g,gEE_@_@DIDI[[&&'' ! !hhcc MDMDp9LGNlg3s#YS(IZyG(h~p K` ̼ M;;[ [ ``;;~~??))k_k_ss..ݷݷVHVH::TT''R;ah/KSf6n j5~a (zBB, , ,m,m 7700''II$$..  66C:3 'x 1g)v Q 88b CG 25d7G ZZ"n"nyy+G+GJJhh. %->h.o  &&nx3 "h MA큤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큤]jg]jg]jg]jg]jg]jg]jhZMF]jh]jg]jf]jg]jf]jg]jf]jg]jf]jg]jg]jg]jf]jg]jg]jg]jg]jg]jg]jg]jg]jfZMF]jh]jg]jg]jg]jf]jg]jf]jg]jfZMFZMFZMF]jd]jd]je]jfZMF]jh]jg]jg]jfZMF]jg]jg]jf]jfZMF]jh]jg]jg]jg]jf]jg]jf]jg]jfZMFZMFZMF]jfZMF]jh]jg]jg]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jgZMFZMFZMFZMFZMFZMFZMF]jfZMF]jh]jg]jg]jg]jf]jg]jf]jg]jg]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jfZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMF]jfZMF]jh]jg]jg]jg]jf]jg]jf]jg]jfZMFZMFZMF]jfZMF]jh]jg]jg]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jg]jg]jfZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMF]jfZMF]jh]jg]jg]jg]jf]jg]jf]jg]jfZMFZMFZMF]jfZMF]jh]jg]jg]jg]jf]jg]jg]jg]jf]jg]jfZMFZMFZMFZMF]jfZMF]jg]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jfZMFZMFZMFZMFZMFZMFZMFZMFZMF]jfZMF]jh]jg]jg]jg]jf]jg]jf]jg]jf]jg]jg]jg]jfZMFZMFZMFZMFZMFZMFZMF]jfZMF]jh]jg]jg]jg]jf]jg]jf]jg]jf]jg]jg]jg]jf]jg]jf]jg]jf]jg]jg]jg]jf]jg]jf]jg]jfZMFZMFZMFZMF]jfZMF]jh]jg]jg]jg]jf]jg]jf]jg]jfZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMF]jfZMF]jh]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jg]jg]jg]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jg]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jf]jg]jgZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMF]jgZMF]jh]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jgZMFZMF][ZMFZMFZMFZMF][ZMFZMFZMFZMFZMFZMFZMFZMFZMFZMF]jgZMF]jh]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jgZMFZMFZMFZMFZMFZMFZMFZMFZMF]jgZMF]jh]jg]jg]jg]jg]jg]jg]jg]jg]jg]jgZMFZMFZMFZMFZMFZMFZMFZMFZMFZMF]jgZMF]jh]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jgZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMFZMF]jgZMF]jh]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jg]jgZMFZMFZMFZMFZMFZMF]jZMFZMFZMFZMF]jZMFaa0af586a4cd67270e57271460962c3e54fc82666491d82671467e58c963aed996ff685b848e2fd9636f3a46fa94961000376282ca16a9af8b524bf7621c6aa101ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b6c8cfd3cddea3c656d6a62970406dd069444f5b0c98f5a0371c7f3f82daad6d9ae9f99801ec3f06d758af5ce3795463e3ba94f5be86265aa91c883b7951ac3f4d6b72bdfb5b6d77dfb8fcc9e4650e26a311f92d5d2ae5d1b3772217dd342f7f2cffc86c0364b3170c2eb5b17fb7e429775106ebf841f78ddb87d653539b2034ced8ecc873ab29eaa71e85f618a33e20e72ca9129dbb0efafcaba79523bed5987b3783aebe592cd23578aa0021806458e91abffe00c4f2a6bcc3e346a680fa3cc71b52c263650c543b0f87b42bef0dad4fc49f9f9e667852dfdef58d18463aabf0725154c58608f1a5e299af8832206336813f61f6fefc28cb6d5470ab06c453917b325956e1406f6a7abaad34687236ed12f7df332a67ea00acfb9e3d0b3d4cec3bfd15b6fc680bac80bc33f0e38936d712fcf591e1faad8fb0ed3dcdc4111da99bc1ab51dc9ab85da1e5225c2437f3f7e023045b8f8a180cc0f72b60ce4623060c5aef27a57dcd6fca4bc2406120e37007aceeda80b6cb9f0539e5bca52a42560c5aef27a57dcd6fca4bc2406120e37007aceeda80b6cb9f0539e5bca52a4252d7b4501136cc2a21939169e7a96ab103c0407799b9ec81efb24882673862da4b608002e441748457d398c50c91bc973cb470fddcaee608c6a986c33818afb1cab8662be6d7e68b452e9c8717a7f1669c6d3950b2da0b34e3b67867fa9ecb3b558b9332bac6f38063fb8b286eb00013a0030dea21aeaa7f59518bca52de8e5bb129c1e8cbf7ac7379a89b7a682cb7ddc1e656aa7d34e4b116c75d2c1c6226b92fb0ce39ab755a77b28ecd300d2525299af416287c2bc9637594dc379b50cf9c4fd5b9c7bc453c7385387cc8e383e9be5e1460d2b9693e748f230c6b192c2588afd5b9c7bc453c7385387cc8e383e9be5e1460d2b9693e748f230c6b192c2588aae7f9e45af55f287f6aa0c9114638e8fc6a8a411c368e1365580ddfe36aff507ae7f9e45af55f287f6aa0c9114638e8fc6a8a411c368e1365580ddfe36aff507aeb81d983b6766b633d8ab296a93aceb01246d18749e72d2180199d7ff70dbfa3252d3228f8a1bcaac5cd9b1c85916cfddcd6717537f61dae09534c8d0d945c23252d3228f8a1bcaac5cd9b1c85916cfddcd6717537f61dae09534c8d0d945c21d61946c62ee771eafc60b24989bbb73f3363bd846342d4dd62e9469152da413ae003814d0e65a7470ec54bf97c0e501b0e43e6bda4fe293d888c7d31f8d18a1546df866c3417f86f89acb3e5909259dece2570b34be041cafa1ffca2e5b54da6980f8b213d2aec5a93e6bd14d823504cd9ca50752119414744247033f27b697e3d0c22507ba99bf8673744b93735296c6bcd6119918b900b70f50f6075cdcf9a3a6ff8dd568f8f0d8b6df2b56909f50425a12566eb80b66a953f630dd7b9ae0d49409f40f680436a69c0f211a3c5377476e0df6be2992ddf9d62e073a4c715773443ad27bf7d0d47b1a886ac6769b1125003b80aa5dfca1cc15021ba1dd47bf298ae62d9b7c63942be3db236b600b7fc20f9c4c63938cec1ab42a349aa0b710e8e929984136d588d2e50c43c0098495072a793e9bf079bcfead657e136e83ae35c8d660fd732aede36a916ae64f34f57f73dafce1f0d7ff0e44521d56d10606b4567884fec4b04a996085dd135ddca4ae02abbdf22c5c871bfb752e4f8cfc1564e48777d89b6de352b612b7c554e997995125b0347d1d48515b24a32b72ac713607742f779e926931d24db4ab598f286e326217ea6f70d7dd8cb52c1626235e3607742f779e926931d24db4ab598f286e326217ea6f70d7dd8cb52c1626235eaeb5a8d6ab65d7dfbaecc57d87195bb795d86498c2e41953c1d286c5dd0f5147b148825cb326edb661bfa0c1b358ee718e28758cbe4e4d23cbfb7c7c9d295a289beed1bd0e83ceecb1f98cc4d73b44e73067a1f53cd5ca54e8392da9a001e64b5df156fc18d9ba20769343217363e75a775f3eee6f8893240ba419ebcb0a1d44d5c4bd0a99d4ab5eb7b7507228a40757dd7fa145ed04c4c08190c3b884885df4d5c4bd0a99d4ab5eb7b7507228a40757dd7fa145ed04c4c08190c3b884885df4a0357004b8ac8280bc697c38065817435656e7e661730eef63d02896b3f8f7488746b849b2a7e306600ff1c445a496b9ea77a823aac3526eb6df2a416f28af962e376de7cbecd9af56f65c932cd2d15efe401e9a27ba30c8bbf860bc92e89074d55a71826d0a96641a8bc1b19a1d275f8e91ba7915335b44b7c9d05df8e1b0a492a634e534e4a1788b1b251f88ee2f8e8798bda5a7eab03f483cddfedc293bd27ad23cdd2f8a6c52abc2e7e4790ef2874719829a17f9a21acc9b5ff1d8a179cf275b857430f6145f38a85b298a9e9bbe5de0266ef13b8196e98522c9fcfdeb3f38e1153b107ca39b49bd8f9fc86912b653d78c8b3a6bcefbbe64c166e5802a4a163f8ac83c97426fac7050cec2978f4b07983819fe11c9cf25d1302c0e2bc4c9aea84404f411ee11c0bdf41c36d42a94db29cf01cfd27fe5cf98f3771e9920a91e0ed5c52d109ecc3db04ef56f8969ca55c63fde3a1fdabe566892c1d0fc9c551e0ed5c52d109ecc3db04ef56f8969ca55c63fde3a1fdabe566892c1d0fc9c551c4f29c518ebbf6ab05d5e4038d3ae3cc29542ad1b649b115bc7b9241b62dfb9b12080e25ab258b244c08c8e7a7daabb4042d288fd8aa67a1f98fa6cb07d9b4f3b0235a3b2ea25e372d627c6d47559c1386bc217d4e1873e7ad10ee8709997af495091e223c9f99287d688b04be8c84dfa0391ee65fdb8f3f5570bcebde47489c301ca665452f8711c08311e383a6f521ea09619266474f51ec3fd7fec3509b930184965ed4f524e00c90509319d7e493debfefc3d2afd46ab877a182bc95a37014f7a0dbf62ca0daf912c9b451b8cf1841d31566ac68e38f4cb0a6cbce5b9e8f406ed86a094d10235ecd485492f7e0efcb1f4acd297341235cdedb00dab120f147c0824d28139cd61271dd731d15d824fb0ac3900e7cb6751053d79f463a038e9461f299f6e3944df329dbe716ab636a9b5000eecbed57c2defd9c4f51845017aa394815e4cbc896ad6e2fe6a9a3e76500c92f07519fb0c4b5814072663ce066f93d96e7961ad89e426cfbd56a31b3068f59cae9466172b9228459a2731f168b084da335189b4a06963e8fb6e9c066c8977a491c94f47e0cdbc9276e8cc492ab084da335189b4a06963e8fb6e9c066c8977a491c94f47e0cdbc9276e8cc492aa5dfaf3ee6b603cb99d6fba504a66994005ae3498c82f85a39b2712a4f91bc0999daf033db31fde522d3aaab1516f6613a4b299b06f36cf8910e618f4bad3fb71574bb350b49ffd5079488b3fb7485e5e393073b316f47ab901e1f781d2cd7915344eed7cdc9f5ddd8549d7c87e468e9d528eee3d974100faed0e2b743c34a4704c6a945494a7702a5caaa8e1eee439d9235fcbd482bc3795420cc7569a51fe5574ef8cf79b910b41fd02a781bac011f52f39bb1def2eb39dd9db438718f29f3bc67d8dc5f34a1d0a76bcfee56382e2cf3b45570320f00e86c141f26c072c3b36a4de7b868eeb21ad816f6cce1fe3195d9aa3f0ff36817bdbf398194cb311dbdb263369eb3e567ab80b7bdc26eeb9d6a99e437eb7426a1fd0f63681b4b581223b263369eb3e567ab80b7bdc26eeb9d6a99e437eb7426a1fd0f63681b4b5812230480b338d8aa8f150cd0a8186b9ecaf18076b415db0627c843e235151464496b191e4198f7b2c12d3913964177939ef33ae166c865d68c3d3bf555fb4643598c252a20bed9d716262f83473fbb7f1434aab0020089b57ede0f3b61b6b058b58e828a078b94172d020ee3dc12c88f6046ccbc533f9d0f230ec2566cbdcde80360482605538342e3ed2aff90d214aceb79b6fb0ccd5cf4f2f9cb38076bc3ef9304482605538342e3ed2aff90d214aceb79b6fb0ccd5cf4f2f9cb38076bc3ef93043dcfd16d805c94a854b714d2d8b0727b0e7a8931d3de8673742fabec73ccb3b1ffc88f5e9120ca389bccf05a427dd8039361bf30c3bbba04fa2b3c6eb9018a6ddbe8a3ccd9e53963442f3ff553c5ce1b5deaa2642f3264ae68fb7a5769649612d4265de70cbcb04dc7160adb1ea65f8466e79551684e7fe65d569de145ff105c795286279c4c917163440658b4267382bf5688d671cfe09957eb17ceeb42456c0b21ba51e08c8fe7b65536d0fe82da919d9c95ff308e4a1c6d0a943cf25ef6d566741311039bc31688e19238ea29d63cda3c6d4128b994ff878ead733cb7f8eb7ef8a35d05ef095a9c9638a6281b20ddae345a8ad86afbe91219ed5f0214cb939e51b0bd8275166f0090224ca5a1eda70d8eb92e9977bae9d4152745e89350ab28ded4255705803da655d56c44dca81a0cc011a9ceebc7e3076ae49a423c896c0ec525c6552289af33a22b4c89774b9e6210de31f3381503d77a95426cd9e3559d2a614c6af0c4a1a147b22dc8a18f90ad122b5ed13cd388fa8c6c3765b888360b17ab9d0211da5cee866d3543fc5c55b6303ed96c84b41d338ea2450686f42c890951e875c776f9f925ba65206362de1daee359e824648e1a36037cec8615f321e24874853aedf277625580960e1a39bcceb41dd5c4d752d47f7fbd98dd9957c504dcea2fb83c61d2ae0fcfe1da2456fb40ef7a03c78e9805658614baa3ede8dd42622f93ec54827ec6ccf730aec184267fe13a6d47ff93b9b164c3b6082f5d490db4a1e1d0ade6911595146f76c89cc8e5b3af06ac22872896ff600f55b3a1633c25e95863efe45cb65613323c67ee4c688e529f0064c7d3225f2910637c7b8c5932a6a5f798c1bc34d6bdcfba349bfd421624b52848c83d37df6c9dd77b0462b05ce7a3b30aa7a0f494deef8447640b7d4ede63b607c02fd4b7d16d51789f5a57f642631e472f8e12d1dcaf1d12e007992b16e3d90957936c126480f3c74f693a7405f6b0bf5f04a648ed6c96655621c6c31793a8af28702ec7500e2c9d4e4fb7874f2e0aa8df00e31a4392da76252663a5508c775cc1dd31593a8155f19e572517b9d48580c7e98af5051ff4f4e3d587d57a3508b5ca2c88c6d47c90317c57d73dffbd65b9a49412872d5cd00f2c8f237be275f06d71693bf7d524afd7b86bde1bbaace9a8306178fbc100d8c27b97ce9919d053cf8f28ae41f2a7cbb8ae7e99bc5fa481857def841c411b589adf7637dc098aac1900524bb2be4eba074c78b2974fb6c97f64488e9238a2a515287d04c60b0b751b885f23cd57c218d920db30fd93315f5ea6b96388264c1d952cda7f8e74062a849606f94b669efcc2a79bd17bb050c1169458d00aa90eaeac04e97a77e094e27dd960e1b26f4bef2dd6cd54905d2811464f22d82490ab0ad375b563582f3c57c2255c6f46075554af80307cb0c165f2399f781a5f1fa928ff2fc84da9f20e02915784767a5f585987175f7f101210d299b28c1bd7625c7ade5ebf8694d2dab51d56e89e41ca6af1adaac9ba1291754ce077ec7bc66a6801e1b75e7bd57810f911eb5e08f6da94937bb1f9aac0784eb9a6a52e3330472dfcdf3290674e5355b43dad9216489e89923fadd1a1da8e250481a13a8c046569276cbaeac45e68464e478b5fd10ef7d20354c2a8f9f070d4f527aedf34607e9520e9aa2f9a77340cd0a0d136b349e770680038a8f9f070d4f527aedf34607e9520e9aa2f9a77340cd0a0d136b349e7706800386909a363fa4b9d6b37e9c1df376f7cfd4b89eb5bd22351ae19f81c28d28603bf99b34630e27d538e7fc03dd79253dcb1fd4f143a8d612417c0a27c1a5156e1a25861527e9c686fe3b3f45644572092dc843cb3c6fe8f6c9d02f654607752d2e8370e347d9565ba8723608efe3f90cb54357eec1c3cb2d6ed28587cb2c68ce022b4820f0c5592425e7cdccce3e5ae5a16f6fa9d707220deac7a833e26705c343ab98058770536aa91de090514d88582a4a34220630e1d3b3421d2a2a0c730d5bbd63cb333be323e56afe883f37ccacbff4dcdb68b5ea80bcf8bf9a37e71033a25c1ee23cb549e3acdde373e4c8af1349eaffb58ea8e82edf59fe392bbda7d159f7260ed4486be718a8d2e4cf264195fc9e8a06844057bb7df456c71a911f250147bbe0e065b4ab2fb21c5d0f169c0bed495039a131ad2acb0fa767af13177e35351b201198c7544282ef3d827a5a8c11ee51cf8e90c75dd386005ba3c5d00a41751b201198c7544282ef3d827a5a8c11ee51cf8e90c75dd386005ba3c5d00a417b0963b3663706d1526864372b2e81e785013d7fa343d9345a01e2320361d6dd69ad1068bc674f7e7f27f8da46e3b1e25731d8357a6badbc35e4895d6870b4e5d84800fe96ddcbfa350b2c7e739d28f664f14d9e5c8b003232619e1d4a226f73aa66f555db9545e46ee2e8470e07e9507b12fd133cbfd58f09bc9cae9b2ea80580183761f15eeb4590fef7c392d6d3bf6d5c02f5efdc373a79c32e2e99b423ab43130473f7261a46433d28788447005b24154157c3b2b1fcac25614d055a92e31852278954817ec225dcff3510b5fe090407c45c19effbc2822a8f9a9aab9a0dbf20d026fb25824bf87aa9a8e704ef84544a5f0d279c9c8037a994e16bf65e516bb8f6a2b06ba9954ce42ad86820bfbb738d13f1076139c4259723b4c07370a886787cb85e7c8d0856a56f207777af5443f0401db5fd0fe8a44eacce0934648f835f2bfa357aab619c7efb9ae71ef894e388e193599a6d80b8b8e60ea038337ce32b392e603e4caafb58d61c1f7adff3fb7f7c22167a6fceb2e35b6f6ff2fac1c2c5182cae692a5cdd87fdec5e911292dae45813754ccb436817b4f2f9ff82dd8e65f2e625930c419a5449d33c36e8a724c6406e6ef62feefcff49c1ceb5b7d0e5886c0b1c9757471e77af832a7d755ed40d0031502774df9397ae927376287160172ba86740d094bfa0d526159c68e86cd5eb357983661f458589d4bee5da1fa3f19290aa0dda3cda9a953dc83d5a9d068e3fe136edd0437b409d9c5e33fa407d9bee61ad104cf58461e1a1de9acf7dc909a84d7ffd25ba857ca3ddb7f1e645c710e803e25b38dbca14690afb4bb626b23d70ae5d991163ee5366e53e091f853b2eccd637eb2bc48f55eee533f2b1500cd971455f85c81931ee8494b4e173a7856e441072d519db02a285a2f7df68d86656d3d81545ed0eb560b3a0256b49a833cefd0569eaf2f761354e90c994f63b1ce7f7e0e7762eb077e0f40c682d2557b68490ce7c4e3f15d99065e12d21ab1e6b46d7dbb0d3ad577a4972bd453aef71168490ce7c4e3f15d99065e12d21ab1e6b46d7dbb0d3ad577a4972bd453aef71189209c0ca3a4defed7926874405a2fd88024fb152184a6c2286b6d10b420e6236c713dc3c97ba71ea4cb7edb954fc0f0bd7417b4b616ffc8f2b61f8baaa7ab8f84c3bdeb696ae1e6563685e72a7abab4b5f6edbebafa966d9b1ece3778738f9d66a65802232c2eb920b9cc68918223f7c1e5df71e90e8caaeac7c35555ba77b5d6f70cbf411f157996fcd78c8cd1cc84f392ee9e86ca184158b432e77d64f3fa89bbaeae6e5ed99561a55e278f071b4b2549d71250b51397300ef5b293622b01aa6700190b1daa53073dc1a04b3a8daf9648b9fb2429bf90f5ca8c5d66df8721eca1e3b623c3625caba67ac81a8e495a983cb82f3187fd011f3cf482f34e16cad18a1bc7ddbe7eb5be06e54b33e94e55dba106c6e16d7ee29cc59d65a42bcf7ccad85ff25906ec256771196c18d558af0f173a53a97c7630d52eb3d1cd9a2e29024a34a9384a4ecb97899078b766561b2b13d6aadc7d226bc9a944d88939b32c255e7cf41837cffedb2a27803f8948a96cc9a5b47f3bd0ce9a90a61f4d7673c64fe808fd1cfa095d1cd7e4605a6f0d96237d8995a82b628d18889d720ff92a530c90884c9b7014027be1adec6058b3cfaf709b71617c73e4ccb0e7b46aa1a61c284fa65e729c97af0f22f175d5a0698858a89426c7d7a9ff2c930394206e589472fb93c5309862c0bf18768e08255cfdda5aca6c72d25a5f16fd5cf3d403438f1a62bb8df07a51a29b19bf4223f9727d144021424a2892322f19d495782e15e61a62bb8df07a51a29b19bf4223f9727d144021424a2892322f19d495782e15e6b3cd421816440f6f99b0de67a9524f67f93d86148b909c072934d5b1445b9ecee2793836de5190c46aae061937d4dcefc1cf2468f0cf1e8e4fc9b8fb0e1fc72276f4bcd8cddd61e77cb437aba4f2c59fa6a54cd3ef2b04df60ca3781888c115359d6a509f2ebf6997c724ca97ac808fc3717cb7a703b617cb9ae2af2067d155c112886beda5888b959395db9738e106e5486a9916f120750fb1f392ebc7065f4af4cbf1e5b9ac9c373a9e818faacdf2cba55ce30d87191288ae549eb7e67b6e4655af7ebc490467b6db3863be398e9662424bf615d6b5d59e6b72578d2dbc9b230b8fa9e38528f9470402b393d7411b533be8d409f0867e32f241fa79dad16eb68085dce39f226b56b38b53f5b6401dd85d8eaa70ea5b3aa5293d9571ec64cc4821d5feb7d1f81de56a30e6d7ebe473d6c4a04ca859fa612658010d84657db2099c0880bf0d375de7d3962b3f493760794096911d464068316aeecc3c243721b99c0880bf0d375de7d3962b3f493760794096911d464068316aeecc3c243721b0547e2832fcdd5c5a2804efec946e9e765cd4d2016a271b3a8e3d7d3a0d24c65efc58e7602d9ce70871f2c076249d0511b4d79b3637907cc27e50baf442b13463dc5ce106cc935b2300ce5f6e1a1be74c24648c346dd8794b47e90a1e9897bca3dc5ce106cc935b2300ce5f6e1a1be74c24648c346dd8794b47e90a1e9897bca5d3c850cae1d9a218d937a3a615d53e8e9430a202c9538a4d078c945341cd01ef0c253d12de52db1d165f5897392c7bccc379e822bea57d89c04787a8dc259d1de39aa6773cbc56ac50624500530f45571f9e769ce5849ecefb9d18d42a45f7a8428e003e09080be7b79b56732d60b79865f453e110b0d2af1fed5072713e92017e8b332416a649edc752ecfd2c5ff1ae469f7566a6d62eb6f03b95688263df1107b75534838e3d5cd5fcb4dd284f122456d7ab4a2a73f4712b9e2ba8eeea59b6ce916ba760439f03b94b2f9f52ff2c49d7513a42416e04de588e7525289917450d7069390d0e13d3901ea331e59baf094c84037216b9a6f0331a3f55b4a5a56987942ceb12adb6b105f2da380fc02ae8f8a22a87ee9eeefdff06f0c6e9755c9336e50695c98066769ecf8eca6d49d7ee6b015ea8ed1ad9d2ed589d27d4b478e3e7ed01789090f3a75f9b7ac01f73c67dd177b796c7ed026aaaf07497543a9cb441651d82c529b233a8a49d22997c287597f298f7b320dbb4344c8a285317da3bdf24212a54d0810235336c37e6e1a3264c89ee793d06f52e8ada3a738755209459f60a5fbc11f950f7f5802078f7a8377827775848456ed8c05161fc16017c1f000504ee84098e664528cac91c3e3bdca796d8aa1629cc8da035fdea3aa2caf50863aefc69d8437ce4dbc6bd430e93aa702199450f8facaa7b55298bd0f8963444bcc79af55de40d8eaa28985ec2d8e8b7167215bc093de002d03083f1ec9b959e58fa474558186748f219c0d069cfd10c827020763b0d442e82cf48ea44fce7dfbd081fdb7995d4c3733f671a640419df08250178549a88ad5c37b2cee306c49bde9141f19ec830a1239dd007d32b40369f84e6567b0822b6d0b71b4b451887c73bde8dc68925ee2c962dca14d72e870b0017b9d63a0cd4be23de5e25091f43d325cd26a5fbf654d1216e4932d81cdc92d67752b9572ebd793b42a1d9ad871e1211a513d441b79ba3a0c69567b4aab6b662756517d4d4f00a5208251444b11d3be4404c935ba7ba0173cac10b37154d880350c6ebd60276318fd0685f1862de3756c27a36a5b708b83cd8e1ab47f9f931f6b104d9421e90287a353d53de40bce759dbf0796c10d5ad91e6d29481de0bd46679941ce3a704d487d93e4798c168492ab3d7338235853fbee8d03e4376c512b464f8f5f54b6cc6492e0fec79ab5d56679b30feb502b6f6f28d889f7c55044436076a85c41cb2863358bc7dbd5becce6f3f667e0134d5163c628049dad3d000727263ef6a48bceee10e5754df8135a94305305ef76447e38922113a87884199358912111c9f0ef5d17b30587ba7a34f85aa12a629ea15f62ab754a827c242641f9fb68fcfed64736f71298b19789b17e974ded580c6014f0722df57465ca56cd011e7c12238d13018275c9995ff016dede16a10af2984a5dc18fc09a8c7af5bb4fde8385e18d00da7030d4c9ee8b9033e7b0d7308f5c395c613fb4664cef983485a9ac896acdbcb0564f34db9f474a8cf3d735d59328d6e88e23b2061572c269f0a6203786243eabec6f7b140994ff36835f821c63bc1c750a6848865847a2ee8d1e55adb9a4a623f26d6d9d839bd6ceb4857035a1e9fc13555e51438a5af555425740bf0c49a4e3070d48a2b25e88fda385958c1058ba781479857ca9d8a0dde17a892ab184ded03f41e0b053fc31338b5dd54232c917ff2444e5d67058736430b92ffb2f5c69a33d5c5c2547c1c0f179b1230987282e3bcb088b8700ff0697851714d7359995073eb624aa38d4c0f179b1230987282e3bcb088b8700ff0697851714d7359995073eb624aa38d410d22520dd2bf0c16318ceba830418b172ba783ab8c5ec2ea786e84947e7c830a8cb372c158483580cd0e7dace0565c6e398c9d86c0022c95d4361acfa7adb6ab70dff425eea2d7a0be35fd5a068d21e7a52791640bd3bf761d729db8376875dcc78e61bf072dfa669b67605259ba77d6759680aa58e2e9f3c4b484ed0cfc674a9345c34888e065897790e7539a35fe608fe0c81fa573e5541e94fcac73638a648a083083da5de3402d3ed7dd85dc27fbf04eb286aec774948d6f66609ae0352a3fc748171d15c6484cd29ae0c8b16f0bcdbe7f1ec5a92f353206d61f3aad32aa3fc748171d15c6484cd29ae0c8b16f0bcdbe7f1ec5a92f353206d61f3aad32a1aa5c7c88f6254ef21755644a124087ec343a699cead39f5fad6253614d6969ed3add6904fbc3076e0fccf9b7efd156955ea555d3dbd3cab21d3cb3342684e3253c9f7726a81f4368ee9462e77644730d5ec12810b98ace14115cf12ad6afaa4069c2dd810dba10cb5a00b632764f62ec5f08c02d73dfde72999849eac7f4478dc3a07bf679c0c0b4d3776fe176a36c82569e2e59c022bff39c104f8bbf0a2ff86cc464c06b768a902801c9a88117f31d759c58d0e469d826047dee64432f7752f70ddbe319e112be7fcf9a3ec5926db06cc3ab1d491d84092425e47b8a3edc8a32d7c3ea7f54b0d1557e97cb553de1159fe1202ce4b038af66ebc0dea78627f07c7be58cce5ea72c91f565fdbd9d282200f1dd1509dc25f9c456e9f2b55ea12759258b11c07b0c6294e4532303002b74095571a9ef84bcfd1b4c28011f480a17edf3cf2c7fe62f7678045ec5c227066185dbc83ef9d5a9119108eb27edc68fc7edf3cf2c7fe62f7678045ec5c227066185dbc83ef9d5a9119108eb27edc68fc002e2b39455b05e4803dced000a57a677a5d44aaba484e3706aa6f4555b15177bd9065e4a1afc1df6fa67a5187e59cb7be485dd6f7bc326ba6a025dc0b20e24a23bf1b20a224f366909d8b66ddbf16d02adc740e8ac4b9b8224a924da7c529d92b75e26f808f45db9786087318bf8d13a19a2e2ec3326c70a70663c6c75129474cb12cde6dbfabb46e3a3bb44c9de33b51aeccdba8609acd05d32f8a938ccc2845486ee62ff5b9885dd15e00f5ab376ef3d4c692433ba54aad6d86c0933fb5a26eb4863ed5c31c616547d028e7bf8053dac140417bfbfd65e1ab8f11db068db26eb4863ed5c31c616547d028e7bf8053dac140417bfbfd65e1ab8f11db068db2e85a50ab1a7c7dc0c9113d5dbe5a0891c2db0f926efab9cc2b8ffad171805d6f1cc4c68f3b82a2bc23647ee02ed2f8e3dc492758c017d9c0fdcc859429ec5ee50e63eb82a21e75f2d873d71ac421275b4fd076f1bdb08cbf9d1fea811e9f78073a3a7e131b9803c6efd913321f697a0a213ce6739551aff4458de3db57561b0e66d14de42dd287cad188063d9bdf9f8fb05e9cc74b562d07751a1547e755ca6b16cae819c3c15f4e6d6a9ac9e87a49ee6dddc140c992e3d3f933fc96ce486380f7b414dd65ee9269878fb3fc9f75b50d4955f917a14e00abd5aef3ec62ea4a71f7b414dd65ee9269878fb3fc9f75b50d4955f917a14e00abd5aef3ec62ea4a7133e6b0cc0c5937bae5535602bfb05c222a534b92e7f4f18b031754fa02c64ce36fb5110d392996a8106795dc96d234a71b134dee49bf84e315ceb1a3da4a58fbd2c718a20397a055d82844ed07adbc5414e82d8c261096646741e12d907ef8b200d7ed63424d40009ff0952551c7e6145d5dc28fa9497537be1ac1a292f8bc2d32bce296a6a13382d531b6813321f005e434301c33067f5c5c9f79d0bb8c1540f047d30ee301d1a4c4f57cd5a1955e763f5a7d6c83c69ba3e62cb8e5982710a489f9261a5a70540916f55720050d7209549acfe3fd29d35f1a75fe0de075154aa2308159fe2fdfb49ab46d6cd55c464b5b3611906ad771fc72131310ccb2af319b0f2aa0d73203595b3387df579ec5b094bd3463e1a1d2aa53b98622f6bd701abe6233ec8f263a98a16990e101c3697a4cb8f0821e07c40c4e0c713cc16d989ef1d4785b9759e83ced6ea68ea79834392f1aa962304c6183038b95c89f811e873e3e3e126bbe10d0e350f870d1beb9f70c77aeeff369033f24391589b479391e3e3e3e126bbe10d0e350f870d1beb9f70c77aeeff369033f24391589b479391e5d5b00e3106d3d6a5d99607af519196f21e9645bca309e8bfcd9c79e0d0274ebe7d72bdd87440e9f804b6d95b8575c6088664812cd687c7d24def466cd4fea3f33544d2fc5331ac379aef8bad01133424f45be5582910bed7015e07412648aa3a1985f62a19479e35266ac363218b0836f2e2a6c578bb265bf4f0ff6dd17423b14080a020497c61257911ba99b828d6e27077556d440601b2c2ed9a1abb9fc73b7abd10a8f7a7bc707d6e98633b9daa829c074a4e2268d5ecf18074c0b226ba1e2cebb13b8b46109bd7f9b9c2f66c4bc126745c3634b45d8468fc420b6b4b2b0fa5bb706d654b5c2fdbc6677f9cfe517fd74789d729485f59792376c4d17af090b00aeebaed86319d73d67ecc54ff0ddc2e8bb804e0ca1e1d818d5be8ce43c0ccd3e49c94ad296170de6975b98b16d2de7a507e3048f6589d68a4d65ff07074d57e92d412a0b15c3200f40f43206ec97d41e1dc507300efc7c98297663b8e30e4833443db471b48479df98b2f3eec7f7be966cd4094a727fe286979f21896e4a1d180d8ae609f74fee48a0b5883c2c125f3f297b1c3109046fd29e12593ec8b1daa8291c1566d5beb3cb720a1a87ccdfef0fc14902214afcbf01a90cdfe714c6fa952b24eb199233adec5d06ffacb7f21f2bab471896dbc53078efe161e545a2d8cfda5ea464b0260d77f49e7fe978019f2144528e318243ed8e71c82a8efc4e39c2af12e92db607fc2fc869a7eb0d4bee9f252beb0a54544000ff3b73567d74e754464329811ea67849a8f63d9119e7193e00667bd8060a9a84d3101b1310f773d4516dd61ad223b0ffab207484abd0d70ceb124f7ba053da5ad8b67a12c460526d018175d23ee55ed83f8f5748a8428a4b0159b42d26e713341907483e2c026f32483dc8bb93b317c605102aedf7a88f09959c8ad423693dbd50cc2e0a4e766f0a0584ee76166598eac58a1f4caf9570132a49ebdb9aaeada263bf38e67e26c3dd66c10a780f4f93432b6dac362aba6a80b754e715ec7454f3a1dbb195b850c0eeae210c79095df6675dc46a184c03f6ec64c82fffa5c96bc9dcf411bcc47b82db4f0a0855fde6f4797367ac6d2d14f86ec72cc46371943b21a7f24ae1292ac03e258c2f3e2a670017a4396c1b6e64d284b60f539c0b9fd168520904d3bac29e6647acf24a9f3b492e5f197ee7980a348f0f84f834d25dcfc90970ba053a98b47c50b494249c686bf413c469873a97d52528ef50099f2e2023bc10df034b4692ffe4cc1d5bd5b36ee035ad7106ccf3f786fb52d0653af51ce86b3d1b8b2ed99cc096a2ab2e7764df26570c8e218c22861e418b1f12a0202dcce63c1d67e1d3fb8b935e1a7b3fc8d0791ce78a066663ac5a67cf48c6dfe090a95782f3bd5af8fb0eb83183ecf20e18cccb05f3d713ac4059a1e807207a0e9f7694ccf2eabbe76e61d22d1a0509a0deb1b03201d455eab9e8537085f80c9051c9e56ddf4d56eb148fbe51e6b45b9b0320abb6648bcffa2789c4ccd0542a12374926d1fe6d130498fe1fdbd7619cea4406ed85fe3d2e0ccebc812a546a9a3d824ad9372bf3feda44d06c1694c7d048eb274d3a1ac112adaf31cec4f0f8042866df48d5a3dce62c685f078caacdf1387f2a3404efaf9dee5ff0fc318739a4f82068610e6b78f7cbd69f5c63db0458e687e80a0b6d780f462a695f6bd121886b0b8f3289f4bc03473b98062c358a1ebb7f40f6ca9a8fd15b65464c4b2e78db400ff1d4232ef9044cc0b92a5f040bdde296429aec59eb5e286559c2374bffe17839a1ec9e4bfd4041d7aa6e086f3a57694e4c87816df4eca22c3f2887679cdf0da1a5319dac9740bed7aa6e086f3a57694e4c87816df4eca22c3f2887679cdf0da1a5319dac9740be87b945c9c125edc91b937219954a587c99381ae3ba49169967526c0a2bc40b8987b945c9c125edc91b937219954a587c99381ae3ba49169967526c0a2bc40b89773ed713f5e291e1ea8eb38fee4f1f68f5f8ebab0ac47114f4bec04131943030e0345bac678e2c930e5a098ce590e361155535c01f009492c3b8da02b9d2d8fb4f0ebaabf889c80b29e9b9d14691e2056e7e8e7edeef751f38450f9bc461eca5049ebb97e0fc97e5e4e4760507347ec71a849dc4fd1751b10a70db454c5519b505b853b3c1c6c5dceff7a32c3a3e41d0d7a415f8b214dbd96bd470a11952e57fb787a5d5f77de32ee475356f248d9e8dc909d5e2962f54dfd13627dadb6e9951361a1c1d74eca7875107999fa06ed8613cea4eb24a5e9351e933c65670f73f9abd276c739eb07c8cdae51504907b182ad74c7c72ad183b8bbb62d890f06a5cd28e01d7971e91ccc8c925c0b06821c61b07cf26e5f70677db6e69e6085d6a98e1b9fb75a8a2da7bf1a806cac3cf5b3812e0650cdcc79f8761b072b9b3a9a4ea155e42d33c8dbb9f4be2ef1de08801cf512a4098e8c68a91102ea7b26ef7f482ee3448e34f0d390cd5e59a9c4db75296c4ece4720a50aa6d979e906a7fc26ec39cfd78111e7d2f802dab7aed505d7e1f9b24794683deee63c54e4b9d279a199ce0aafee35b3511cb6eb7be4f94c7b164e485d455626f54cea5a875131db8e11e295326fbb5a2777d731600102fd9c69c2cb191942f87e2cf3c0af06365c4589583c5eaf6356c6affeac7346f53f4a6878a56454d5f7ed53836b8f8a7a5dbd2b8894e5b52a2a4f0e5c2355b614c6989373036d7229f1883d4f767f012ee5f1717a042b514ff5526ee84727c747aa7c1c020f10c11cc49fea1c0da4c7de53c866e588a411fb6c5a9c9d5fdbb84fa330334fdf734ac65c259d6140c269b9e4979efa28a411fb6c5a9c9d5fdbb84fa330334fdf734ac65c259d6140c269b9e4979efa217dc325c9444c1c88b7674de0eaf35ca317eea970994e6e456a635f40a858f071e8fb8bc840d85b03f9e05777342491646c57f1486119d420f55dfd2e2b26fdf8913e04fea1937734a7939a10d21dab6434d88fbf09825fe0779b45f845cb4871c0e3fcd7ce08141d4229bdd08291551977263255587c5b8860cba1f8f7fe1012614d663a5fc60f1ec83d1610d6719f215f5538b3752d870a6ac60e595b5980a274d6026fa654fbe984b383ddaa2ae4386ea74923593ecca02fbb16798a424da37f3a02f4bf8b520ff1f6da0e0f899e0983fa010ac44b5696ec819462dfcc011665017d1e1f321f74ef89b49fb40e590391be810f81389e8c8d909e2b9f414adea5387d4505e281d4464cb5d4a335d83e50fc55cd523309e2bb4fa5e098395acc0a24e241b538eaf9eb9fe2ed18612bec42c067d6d3d834c3a07d7fb0db446be2f504b247307962cc4f726cf7e8c5067ab8af02146e716063b9e70605c4d6e5e1c5552bd423e12ebf61a8434fbb12d7edc4550fe75cde6abfb650edd730bd24f82b2261d16ee5b6d11c153df03c436565d910b9e500070ad78e0b3613a469b5df312b7f190b55cef1a0c3be846207db41fad7c0932d446ed319ab14cfb47e026a9bdb109a774f5b0df1430e4fd2204843528368743ac700c839c459c2b32a56ec740500fe528692c92b617a46825b3b3cc93f4825e4723bf0208a641b06592987c7e67156ce84de78261eb9a6aa4ec89b63fdc853b5a9c1875f8cb34c7554acc857a49b137c2e1e299ca33e6e8039739068c6f881e2309fe206a4169704d7cc1e55cdcfd8255ce32434f3de30c88fa4b7521e7d3407057e6095e4061552563fb127870aa3aa6b7c122c8283129c39e0d46aea274f8c905a0e67718178453910c5a8de882ae78fb314e9e497490ec9e57dd5edcc72317ce3276eaf4b7bd6b2449187f35800086912064ca799fa8782a959623537c2ff695ea9d9d211a7c46b8563296d9e744d92b73c74f8fdf488768209d8ffa70ee83077f82c9ea6697229ed80a05d039595e4e5acfc5a83e72a6cb5a9bd86441c03f8aa0a0bf0057e26e4463942f5a3dc45e1a39bb2e3ec594585f150479fc49348ef297882ff9c81b1bfb507c37eb975283c9f40e1becb55efa90bd1b5f954714f265f4732c9605a7c836d7e120dfead6508d59dc476fdc04edf4ce8e08035dde3873698d52d09e1d4dcda1b73cb93157a1ec4ba66dd313e20e57aee6493666ad1cc3ec596f26a1d6d424fe099a5acd46fd5ac488cff8bc3d436dee8d39136254539386830bb2aa253f0914d0a36a69368715c854904199f62bd76a5d84a360cbae2f8341381156e07bc030688b40f9dbc07ac9b124b2bf494a1a9e105c16f7c4580cc99148ade828c4d637e242726d4500b21160d4cd76065894583c61961408435ff6169ae2a576f28094831bc07e297e412bf048af2fcd054fa68182ac760ba397ad226c0a60b26d36774a53e31aa3338828239b82aeebb53f19d41b48b155ae57a2b53a95fad5023f8a0ce0830db042405be26ee5629e52631a5a7f532242ad9fd038da3ef703b01bd5e6767f697772fb6730c15dc8a46c11463e2b5b41e86dfa49144176b46ac0a98d517c49a05b517a9e3697593d2f91d4319eef35cbbc30b05872ce8a997a87f2ec5eeebf299abbdfb98860f1b689f33a17ad74b882bae88e3896954e360e49d77e2b51991ed9dadbd223235912d13889e524dfa0322ab192db680767dc59f56bd6664532b6efee711f6a32f8f4ad850709bc78e2a3365ffb5a3197b604a2e18497cef1f0e5d266270da6eaae46a4ac42e0d27ef3cff8d0796d52b2ffce08255392077291199620425cdd14fb200d563a2d92da468fc57aa02f08c5ef29e350d4dadb861918226b1db30c743944f872d0835bb8205cfac4bbb03eed0a73bbc79b57c71659d53ad2b5e7e1da887432259365036e349022d79231a51b3fce416081764bcb71dccddcf9c00f66ff400e5cd8d9e13f719ecdbab1c7f1c5941d81dc4a4cc6854e83ed85aeda30c29ff64a3b6c9dc50d90de9f674e033839d9d1e0668af001bb30fdf4e992d48672c624a37ff2addd5ef527bed84106ecf737859e8f28aafc3e0e79bebb8a3c49cfb2ba9b726ccb524552a1cdb99eba2b3d42178cd82b14fe807964c32b8268b807e437a1aab925fa13eca564344ba9ec289d0a40e1499087ca1b344af839eebe9013507f4a9d0401f8260532868961eb182ed6f594e7299e30c6c8eeb351cac0b29feb78687e5e432db7732e15f6804594a0736ab8969d663f089527d07d4f423df7847346a4efffb75a835033e46a53c31d4518fcbbd5d53f9705ebde31a00e7f6501e8d818dcc32dc5c4de90e69b5b728e5d9f1fddb150209ddb9f4df02dfbc1fe2ebb85e9d8c73946a22009ecbbc7da1450fd944bc18508082091d3ee1f5ac99808ee9262284865b8fd638e63d9c50691537a6a1674de88c4359479474d53df2793f1c580b7b9e11e286dff7d5b676b04ea1f91e0d7ed0cbe931b25e01d29e970a005630f41bdb74da888f633f36b267f8e64bd3af05f37b553fcd7ebae50e19597d31a8c4d7b42b93eb8090354a55de681bb65a123de07c52e5c2fd69303d6e11bd717b236cdf83f3f240990ec19dd32daac0d01ce109dac59bedff902e8c10a50b14d9ee45e8660c6898f301f5eddd7ab9869fe5e62d1d28e2a466fb515670ea7c42fe18eaf9a59e08497d100b8d9775e2e2772f52b1992cae21f442e186a10cd119f97a913de0e627c2f7496a66b74dd7337b8f4b548b11bd3fdee5ef004ad1386d6161684f70695f0799f3acebefccb18308195d0d3706fb6f6b6d8ea4e108d527bbc542d2f5a4d95d7782e4c99d1a3a99f940c63d0b3ae92ec525cee28006e5f98f64f237d334993f38b354f6d83de7816e16c63d0b3ae92ec525cee28006e5f98f64f237d334993f38b354f6d83de7816e16c061aa030a3d6cbeb8fa6e4082780ed602ede7b51c34a46afb361ddd3d25cfa924513a60740f8bc0b077df7702f0cf4bad493562568e41efacc3aa073529d33bf8f26505cc723b8452b19657e731559e534b0aca46e97e97d58443ba88278fb655e864c4023c875f6071e6a60afe3b4e8c7a55f17a6a71ebed2e51ad37761f31e4bf66fa807f23c99c32c2064864a22aea85740c96e7c1101148157293b3305ee680f0fbf6c5a434c9a5f931a546d548db15b668ccf5894f7f8f01229739a2cba33fb37532fa06eb741835f479bedc88c7f12acdeaa3c985d01994dd3562c2186df4c3e786b9a68e9f47a3fc1f18ee5861fb67ba0e60f14bf66660f1b5d6ebbe7fd6b3453ffd44ffbd2030518e473fec38fa814aaa7973513645a03543bab9668a6361e6aabcdec2c2fa7842585bea89a1d6a23c985650809c624a9879cd4756918ee958a38f034b6240668bb24b8d283cf99b9610287bc52c442e4337c95339cfcee0d45e320598e4053d2e041d469d771b0542f42d94b72c36e6091e4a089bb236ed0e180fae9a34ad3fa1d4510b29312f5d96091229db44cc49277a5e0a63e9f354ce3cb53374d1ec984e246986a7f0be12057723e42ad6e0efd899ae24bbb3a48d29dd491564936293f102fa8be7f4d136c741ab316de49d17f3fd62742f03d48356ad9b5ea921dc611d91d84c197878b5657fd91cb30666c3ff98460edd98898b738b68fa30a757e0cc31784f087918632eaeeef79d74898ef0c2a6bba07e02068e2eb36a9f87f81104426d37475af6b6510241b0323c7a223628ecc7f98410980fd6d923a909e855c9333c05f2b76990fcac00554fd1ba67623431333ba0eab8639bdb7f96d6f89dd93c537e63293c6367c1c5b93e17e5a9c02e1f6c7ba0a8a197d5244fe54b89cc0a455c5454067bdbebf409ec5af005b431cea1fe692f4e8f200e5d9d314e0c27de12b56fc873c12f738fe1b7841195691dc5de8eb5a28e1aff08c414529c2adaa25c784f8a7e39de125e473437e02f1f902c2c4adb35e9608dc9aa7ef64a98a0432cb54fad7c2fb36e6cc8da71fbc54eb6ca78ad9564e0400b4d296e8b813a5ba38059c4401b1ed24371452d453684e5d1f466ebcf8028591990470de02eb3d8b31c3f2c75b398de23fdf5c2074faf1b3d677143439e89cb27dda9db6ec8988853787f53c37a36bca527e0a0e69eba6a1b227761649627bd110d4cfb393964988db8a54eda11e36a849441f19c9dc901407d9444765f30c40fe89a70b3ac94388cee43746258379cc095859a7a266f693f2029e8b7346e4ddb6bf1507fdf80ac3c7d554ee0e34dfd229a32ce491864ed27362aff495620bc4fdf14aaacd7bfe2339e3bbebbddfb0dbabd82c60df2ac57f889bad3284a2362bd80792e0f7b4da1c5e9c265c2e438f46e09b2bc5b94757eb5a745820549a061d17406ebeecfdecb869a6dd6d16c14d072a4be51f1d5b152b04f91e7ea30b946224f833de0281c096c339afc5e1e63b3248f8cc1d7ca874610a6bbfb39788aad06172f4682002399ce5d32a104577a6644444af346d4fa09af4a13b1a0c559369c954e3796e8905d2cd4f37541a0ce1b167eec2c7aaf37090687344ee9d952fe4e61e40a58c69031d681b3cca87b0e530d4fe10259196a6818d887ccb78242bbcb3f91e4ad98ce95709c8c2fa1b4d0bf6806447f5506b67cafca0e1fee04458dfd45de3d16e0cc61098c93776186f96fb4647f5c8f3b969ff6b8c010d8361f32d7e32009c31da581ae940c01c614b247cb3cedf27280e391924b21e54f937fca1b5b93d81e0710be3425f40d1a81a8f2139817880c479f26aba103c5f55270e7650e8a37e9af76103367ab4649eb61373f872d8a04bfc577a52cf85d66d1092ac1137a2bb088c371974ac54d626704839ca026eee3a6aa9f0fff1d340aaf6ba23f21909f81c197b09c2d7946a424c415924e4aaad643e375488c422879b28375cd0130138d7e8b1862ac9d70ece32101b3c16bfa29938945f87df9937ce8da870627c919ac64522600ea09be71b9b06e8b03412b038d7ab73894b0bce328d6c8a5171a8463532cf90ebc710fb9d5a4913c5beb4ba1186b9e24483e18939d9a843beee9bf2ebc6d0fce4530590f2fd4cc40619b5b92954252f3b952370d5d43b7529b97b70662e6e97a914ac25e07fea383f5120e71c01aabc65f9513ca525e39cf83598b3f2cde2c7e69eb7d42ae0e22a1e74602b27b54cbe44f9db0348c9abd506a9a00d9d266b66b4b722f6215895865a8cda31730e29c47f5ec9d2430cb92ea136d8afdbc3b15fd8ac94781d8cf88ec689986f441fd2600e3f1d92544026c3d26c09e9a8f3acf0cc0cae3e47f3a093f6f28efbd3ccafedf2bcc7ab969148d17208cf964d968aab8542ee5e6500605c370efc54de1d5032f9db8f246f03bc88b3c203e5964f9c8adcaaf717d7c27a277b0a3e2ebeed96a5b09ae4f711aeb9864c21c8c6d3273a3a53a774f13000b97f0aacf626ee62f7678daeb67273aeb9864c21c8c6d3273a3a53a774f13000b97f0aacf626ee62f7678daeb672731faacf8eccb95184add107495b8b154af7c2cba3729af5e1aa7b2b3853ad221b2154cdfecf8529700ffb7959be6fe58113e1aa305c4789640a0bf7bd627113a0152f6787ae90b0323b2597743504c39c6a4e847ec556d7d6bf6a2ac899377212c924e0be48bc16c9966accacfd321b9850a43487379fa33888e2100e1d6b53d213782b595600be94310a27ab93239db6d687ae741b6f8ffef8c21625dc7c3606eebac8ca6b2f1c35ecb16e1649659b2e337e8bc2941131babc3e2055b0fcd3ff4ffaa73f6fe49f882294e0c7fa0f0f622e8d1c7da76ca5309300a7fc3cdd33a13afc46550f7db9b34c6c107822dd5adeeb54c5c07dd873274a51613a7ed86b87aebf1031c4511145579dd787ec49960891279a8bc326e6177f38ff9781c43a98ddfec9d15733a27a2c3b4949f825761d9a3cf0e378815b030bf2827fef0351c15b77a830a4d35c67635f058c9f63638fb980d2e90890e09fdac0f842fa24ff6077365b5dda622c39b624bd03673075b064b0fb8cd311aa7671c95d6a0777d1bd1d376fa8b1fea961aa373a3cfe042fd6c1c9aa4dcd0d6b923a12993acc63d774373b83043bb23b21bb23164f2584ca194700633d11117eb636e79fb23a76e5784b6ef0cd061034f461d79c5583a4ffcbc900b14df3a1193e9f6347baf013403e3d2bc3bdbadedbf09139c6c9ba3f595ebf607888f4fb1d1ef2b9c06b1712ab65dcfc7495310488d4179f31cf323df5cba803c9a981babb8628ece0755081e425acfbb1a860e4e957a4b02f47df2033bc72c1f037adc79a7ac8aa2e88e10502e4399e7763672a14e342a3e81d81ec5188c99491574b859ceed774489c8f7b73c9d843ba6bd21127a2d613ae94af526b505de31d792b5cfb65ff42265826a21afd84cfb8b45b14483e9a626acd34f938d0f97eaf58a0911a5a990461bf1a6d9501a479a332197db0f5f6711d821c1c712460ab9427b0c1864c9765fbd3ede977c1e9ecb08962bc6ddc5d2bee08ddfab1c83387a97dc4a3ac4669def023734b9f6a147cdcdefe003dc84d22bfc2b109861461468e0621116102ee574e164b227031741b5115e029dba8887362119d2886552dec33932ff3233e77aa5e3002af5f4fe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855f781b55a1f1b069533af84f99dad33c370db6865962ee26885effeebd73444b9f781b55a1f1b069533af84f99dad33c370db6865962ee26885effeebd73444b9b82f3a5dbae8715ec9602cb579ff6cce76cb903c80948ac7c03b9c82c06efc54582183b372cd4a5423df5bae3d0193a0112fedc1bc79dac97d0e74e8c61ba0bff94f8cdb4ac6c4039d0e0f4fbc5d68b549023f3ce19fccdc0ddad000d47989a277554316127edcbc963eeb3853a2b45de9f9f63936596d592cdd7201c3e1d94416cf16a61e6989db3ca59ac1973fb4507729590393e33338971269971aa8b7a79ba2f39ceb462c5ccc97b1a6b3e6226df580adb31173a6031d9a408cd783e7b5a1b4ccc729ee8126fd5a47361c28c2b8c6db19d9913d5594527391262b307c851ca62a95f2941084522b4c0c8b39ef5c6e6839c9456b647726b57b02f9b679c7230f11f9dd60aa8cff34a16d3f219f757e7a40f7101e7cbff4bbf0a2feb96956052dd39308a1a1c6b105545ec40c9ad8a990375f0454e1046f4436c22fa8e4d9078914c016aac9e7000b4ea98d73bfa6f59ac1b635d769a3336d6dfb79b62b3939d7ab7fd0f20be9c796b0bd1918a0fa6cf012e16c28eb038364cdeb8c039f3dd4067760e0198326661d2bebc8153577d1bfb90dae0e8835052d4351cb8408493e578cdd93a5968fd3e74003cb9ac9ae589f9e60f8a8c14e690a88e1f2e011e9880c60ed7b0590a4827099eb34f40d25f8ccc4e81e0406be4a13a4cb058f278c5f9b19f6e44867a2a8ae8ec35533a99bc79299f0e3fd8da7ad8688edc31b99bcf9e1410787ff228ec79299b1e90fbce3323f94b8a2075c7f417ffd476d393b8407c4db522eceeb69d2bc20e619bc0855b956454940d175ff2d1c8dfd9cf7ac4dc2a093adbdbc8b917085064ec975659f3de603de2240e5018a8ee5b33905abe845f3bfa3e2beeac8f366c6a2ad7d46e96370037b01a7a38a2c6403383c5879e845f3bfa3e2beeac8f366c6a2ad7d46e96370037b01a7a38a2c6403383c5879e851f72b97c8785b192199297002abbd94d91915e7e60ce1fea59799eeb5e798ec7918cdd6f76b5bd4b661e07bae6f5be8689512e199e7673f7ce3a3d49b18bfa1ea8007828bd9c38b541aec4607a53f4eeffe358dd33c994c5961e98e67d4e2b0cd31a35c6f08b0ba3f7cb23644e262af253aa953a9afdcf328b12a944aa9bf35c0e77dceb912c47d9a2c257127a3cd17f8bec2853fc7ce8d83ca669049bcd9e5180494b6fe17352437f1bf4d930885ba16d0ca69a89a56c3715bbcc389158ef6e64c4fa9454cc415aea217fa994df3110f50d48bc212742c98adea2ce28709bff85817e56e29a4ce59bad8a486ade82964351ff85d07fe40408533bc7bf8660399730197ba37730f6da737da66eb215bf2a963b6a6c630e341e50e64a5f45a6e6c915f6586e0123d5beecb41d20bf1c2b3d971fa33823743298e6d21b1756cf497adc76fb1906a8fcec81c4ba105f78b35c9c563ed34b00d6e10baed961c4b1ea54c317ae4cd16dc261038717ca25e656c5d25bd7b6251353aa1d48b08782cd363cb0541c8894d17f8b1df1a2b84ae5041e042b7057821dbcc8f368b6c9e946605645ef7426b976a1e065749b032e59c54f8f6053f05d5091a46514dacaf948ba18025bf8907016fcdf2928521a93f39d1433cd4d83c51e5f4295c5c2194a8221d572bdd3db8987b064177f052d80c03322bbcbc89f1af34282168af1e4aa5368d17f166e3e34d120b426718bdb65e88acc32e66b0a1ab60558fec56856dd4c1577486163c756434d5671545ce52e2b8e8941b1d2cc5cce124ee28beea6c224105ac34a2ef6729d0039ab46e5e05b3175159c74aef924c3724773acb0e4137438864cc7e4906f7283f45055155eb0b69e83a2132d80e96c24c9491e3b51af95e929896e65e0ef0a3fa5752f4344cb885dc973aab06157ed44976464f1d8777cedd75063263c0dc62d6ab139fe7ba80c5bcedb8458626ae4400e47a5ec65acbdd50c4f9fecd29dbf9e0b1eebe7a2f946a57176a8ef42243582f39bfe6cd20281a6884e973a8c4e0e4598f7dda70a6e2f83ce69217920d389d44633f24c39b69578f210ce2c04c036b17a095474d239df2f5d2557d6097ce5798405c72ebb80a585f05232aafa6733d06e4488a3fc7e9c7029a00ed94c8f236d7f4cbb359642203af9a78ebbafe114b2311c5867d413454f21f3782cb5d9a4b4679f204bcb28e5e2dc938b26a2e3e30d7024db88050c9b7c2df16135f8366f3ea184d1c7a98af714f13e82a809a22b0e220fa2fbf2a88df559a7ccc09c22f188c339081157e5f503e81f6641920f9fa9d9ed14a14100040c4a8c805715ad23f90abea7990033037cd6f8575e8c7797b480dd92700ac17cabf8e9129006906193846c1b08a39773db9a48ff42760d1750b0ec9f3737f77118c2127661aa44f2cd66aad92eb6a8f54b9a48ff42760d1750b0ec9f3737f77118c2127661aa44f2cd66aad92eb6a8f5481ea92e209337d19792f15af028bc1f9fb43cb84d59bd90099d875892b6f8e9ffe1daf204832b0639bef18b607e56648957752288cf997b4a5971bd5444eb4c2f1dc0131674de23014a20b6d68ddc564d7ed9d03610bba90c17205c91913909a3ce7b74a3ecb164656d8b4651bd0cb2e9d09d9c31bf6a7313e384a467c129907413c12021b89e273005edebbfbe2796c2571ab4a6222f6f0b568817127319b7fe7b019a0205dcc92453b82186607bcdb5ca7bf578d5b95cfbb810e526d552084025cdb447ea1ad88bb2a8227c46dd035e50d5f5da839f3407c1926f6c447bb5599609101993f745b41d8ae15a70b8982029cc41c35ead077a3ec1ddeaf88bd99a77a490aec33b47441610c3e9c19ce6cd5968d0095611c96bf980377e83929b2a77a490aec33b47441610c3e9c19ce6cd5968d0095611c96bf980377e83929b28949702e85c97de982e3a17d80886157dde75876cb4a0267934a335bf0b387f70a3f077b74f65c6f70faef8838d2f8f9483a56ba019c3a3f2f00d024c23d0473e223e0eec90874ea69672326c99c065fe58019edbf508a2372da52f8b13719ad3a4b4376b3b1ff7828d83c9b065feeaaf84b0ea28c64c8a23035f4cd162e1e9555855b2aa92f450f23b73b0aa6284209a863f743e32878b559241685d3a997cc9a37dcb5d44c4abf3a0baf79b161d9baaa5ad7dbe67e091293d1b6c3e80e67d3eef0860211388bb1ff026efe7b917ab1581330da17069346067c0df49ba3f5c3586d2359f51cfe53d2d0195abbd184953bb1ec6bf69d2b5329706a4250af994e50157b43487a490f6e72b49e554b1965e7eacca0244b2218a89d7c22f737b729e640db1d9a201362ad84d07136560a8bf1f03dbf44e5f1cad8616a050338f733caa1081e231e73d9b078722a70baf373c606b2a7b380a91bde2372592c98879c9a462882d2a7200be5faa84bf63cef5e58b6ad695b0197b407a45569201f3ce873bda3d7d6c568f494c1d12520a97d41a38b7ce91d88c21f1b469b747b17f7fdrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-SQLAlchemy-1.2.7-bp150.2.3.1.src.rpmpython3-SQLAlchemypython3-SQLAlchemy(s390-64)python3-sqlalchemy@@@@@@     libc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.4)(64bit)libpthread.so.0()(64bit)libpython3.6m.so.1.0()(64bit)python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1][Z'ZZ%Z@ZjZm@Z_:ZLZH@YYY_wY Y#@XWڍ@WUeWQq@VwV@VU~@Ua@U7@Tq@Ralf Haferkamp arun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.detbechtold@suse.comtbechtold@suse.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comdmueller@suse.comtbechtold@suse.comaplanas@suse.combwiedemann@suse.comtbechtold@suse.combruno@ioda-net.chbruno@ioda-net.chtbechtold@suse.comtbechtold@suse.com- Add 0001-Illustrate-fix-for-4481-in-terms-of-a-1.2-patch.patch (bsc#1124593, CVE-2019-7164, CVE-2019-7548) - Add 0002-fix-TypeReflectionTest-for-sqlite-3.24.patch to fix test suite for latest sqlite version update in SLE-15.- update to version 1.2.7: * orm + [orm] [bug] Fixed regression in 1.2 within sharded query feature where the new “identity_token” element was not being correctly considered within the scope of a lazy load operation, when searching the identity map for a related many-to-one element. The new behavior will allow for making use of the “id_chooser” in order to determine the best identity key to retrieve from the identity map. In order to achieve this, some refactoring of 1.2’s “identity_token” approach has made some slight changes to the implementation of ShardedQuery which should be noted for other derivations of this class. References: #4228 + [orm] [bug] Fixed issue in single-inheritance loading where the use of an aliased entity against a single-inheritance subclass in conjunction with the Query.select_from() method would cause the SQL to be rendered with the unaliased table mixed in to the query, causing a cartesian product. In particular this was affecting the new “selectin” loader when used against a single-inheritance subclass. References: #4241 * sql + [sql] [bug] Fixed issue where the compilation of an INSERT statement with the “literal_binds” option that also uses an explicit sequence and “inline” generation, as on Postgresql and Oracle, would fail to accommodate the extra keyword argument within the sequence processing routine. References: #4231 * postgresql + [postgresql] [feature] Added new PG type postgresql.REGCLASS which assists in casting table names to OID values. Pull request courtesy Sebastian Bank. References: #4160 + [postgresql] [bug] Fixed bug where the special “not equals” operator for the Postgresql “range” datatypes such as DATERANGE would fail to render “IS NOT NULL” when compared to the Python None value. References: #4229 * mssql + [mssql] [bug] Fixed 1.2 regression caused by #4060 where the query used to reflect SQL Server cross-schema foreign keys was limiting the criteria incorrectly. References: #4234 * oracle + [oracle] [bug] The Oracle NUMBER datatype is reflected as INTEGER if the precision is NULL and the scale is zero, as this is how INTEGER values come back when reflected from Oracle’s tables. Pull request courtesy Kent Bower.- specfile: * run spec-cleaner - update to version 1.2.6: * orm + [orm] [bug] Fixed bug where using Mutable.associate_with() or Mutable.as_mutable() in conjunction with a class that has non- primary mappers set up with alternatively-named attributes would produce an attribute error. Since non-primary mappers are not used for persistence, the mutable extension now excludes non-primary mappers from its instrumentation steps. References: [#4215] * engine + [engine] [bug] Fixed bug in connection pool where a connection could be present in the pool without all of its “connect” event handlers called, if a previous “connect” handler threw an exception; note that the dialects themselves have connect handlers that emit SQL, such as those which set transaction isolation, which can fail if the database is in a non-available state, but still allows a connection. The connection is now invalidated first if any of the connect handlers fail. References: #4225 * sql + [sql] [bug] Fixed a regression that occurred from the previous fix to #4204 in version 1.2.5, where a CTE that refers to itself after the CTE.alias() method has been called would not refer to iself correctly. References: #4204 * postgresql + [postgresql] [feature] Added support for “PARTITION BY” in Postgresql table definitions, using “postgresql_partition_by”. Pull request courtesy Vsevolod Solovyov. * mssql + [mssql] [bug] Adjusted the SQL Server version detection for pyodbc to only allow for numeric tokens, filtering out non-integers, since the dialect does tuple- numeric comparisons with this value. This is normally true for all known SQL Server / pyodbc drivers in any case. References: #4227 * oracle + [oracle] [bug] The minimum cx_Oracle version supported is 5.2 (June 2015). Previously, the dialect asserted against version 5.0 but as of 1.2.2 we are using some symbols that did not appear until 5.2. References: #4211 * misc + [bug] [declarative] Removed a warning that would be emitted when calling upon __table_args__, __mapper_args__ as named with a @declared_attr method, when called from a non-mapped declarative mixin. Calling these directly is documented as the approach to use when one is overidding one of these methods on a mapped class. The warning still emits for regular attribute names. References: #4221- update to version 1.2.5: * orm + [orm] [feature] Added new feature Query.only_return_tuples(). Causes the Query object to return keyed tuple objects unconditionally even if the query is against a single entity. Pull request courtesy Eric Atkin. + [orm] [bug] Fixed bug in new “polymorphic selectin” loading when a selection of polymorphic objects were to be partially loaded from a relationship lazy loader, leading to an “empty IN” condition within the load that raises an error for the “inline” form of “IN”. References: #4199 + [orm] [bug] Fixed 1.2 regression where a mapper option that contains an AliasedClass object, as is typical when using the QueryableAttribute.of_type() method, could not be pickled. 1.1’s behavior was to omit the aliased class objects from the path, so this behavior is restored. References: #4209 * sql + [sql] [bug] Fixed bug in :class:.`CTE` construct along the same lines as that of #4204 where a CTE that was aliased would not copy itself correctly during a “clone” operation as is frequent within the ORM as well as when using the ClauseElement.params() method. References: #4210 + [sql] [bug] Fixed bug in CTE rendering where a CTE that was also turned into an Alias would not render its “ctename AS aliasname” clause appropriately if there were more than one reference to the CTE in a FROM clause. References: #4204 + [sql] [bug] Fixed bug in new “expanding IN parameter” feature where the bind parameter processors for values wasn’t working at all, tests failed to cover this pretty basic case which includes that ENUM values weren’t working. References: #4198 * postgresql + [postgresql] [bug] [py3k] Fixed bug in Postgresql COLLATE / ARRAY adjustment first introduced in #4006 where new behaviors in Python 3.7 regular expressions caused the fix to fail. This change is also backported to: 1.1.18 References: #4208 * mysql + [mysql] [bug] MySQL dialects now query the server version using SELECT @@version explicitly to the server to ensure we are getting the correct version information back. Proxy servers like MaxScale interfere with the value that is passed to the DBAPI’s connection.server_version value so this is no longer reliable. This change is also backported to: 1.1.18 References: #4205- update to version 1.2.4: * orm + [orm] [bug] Fixed 1.2 regression in ORM versioning feature where a mapping against a select() or alias() that also used a versioning column against the underlying table would fail due to the check added as part of #3673. References: #4193 * engine + [engine] [bug] Fixed regression caused in 1.2.3 due to fix from [#4181] where the changes to the event system involving Engine and OptionEngine did not accommodate for event removals, which would raise an AttributeError when invoked at the class level. References: #4190 * sql + [sql] [bug] Fixed bug where CTE expressions would not have their name or alias name quoted when the given name is case sensitive or otherwise requires quoting. Pull request courtesy Eric Atkin. References: #4197- update to version 1.2.3: * orm + [orm] [feature] Added new argument attributes.set_attribute.inititator to the attributes.set_attribute() function, allowing an event token received from a listener function to be propagated to subsequent set events. + [orm] [bug] Fixed issue in post_update feature where an UPDATE is emitted when the parent object has been deleted but the dependent object is not. This issue has existed for a long time however since 1.2 now asserts rows matched for post_update, this was raising an error. This change is also backported to: 1.1.16 References: #4187 + [orm] [bug] Fixed regression caused by fix for issue #4116 affecting versions 1.2.2 as well as 1.1.15, which had the effect of mis-calculation of the “owning class” of an AssociationProxy as the NoneType class in some declarative mixin/inheritance situations as well as if the association proxy were accessed off of an un-mapped class. The “figure out the owner” logic has been replaced by an in-depth routine that searches through the complete mapper hierarchy assigned to the class or subclass to determine the correct (we hope) match; will not assign the owner if no match is found. An exception is now raised if the proxy is used against an un-mapped instance. This change is also backported to: 1.1.16 References: #4185 + [orm] [bug] Fixed bug where the Bundle object did not correctly report upon the primary Mapper object represened by the bundle, if any. An immediate side effect of this issue was that the new selectinload loader strategy wouldn’t work with the horizontal sharding extension. References: #4175 + [orm] [bug] Fixed bug in concrete inheritance mapping where user-defined attributes such as hybrid properties that mirror the names of mapped attributes from sibling classes would be overwritten by the mapper as non-accessible at the instance level. Additionally ensured that user-bound descriptors are not implicitly invoked at the class level during the mapper configuration stage. References: #4188 + [orm] [bug] Fixed bug where the orm.reconstructor() event helper would not be recognized if it were applied to the __init__() method of the mapped class. References: #4178 * engine + [engine] [bug] Fixed bug where events associated with an Engine at the class level would be doubled when the Engine.execution_options() method were used. To achieve this, the semi-private class OptionEngine no longer accepts events directly at the class level and will raise an error; the class only propagates class-level events from its parent Engine. Instance-level events continue to work as before. References: #4181 + [engine] [bug] The URL object now allows query keys to be specified multiple times where their values will be joined into a list. This is to support the plugins feature documented at CreateEnginePlugin which documents that “plugin” can be passed multiple times. Additionally, the plugin names can be passed to create_engine() outside of the URL using the new create_engine.plugins parameter. References: #4170 * sql + [sql] [feature] Added support for Enum to persist the values of the enumeration, rather than the keys, when using a Python pep-435 style enumerated object. The user supplies a callable function that will return the string values to be persisted. This allows enumerations against non-string values to be value-persistable as well. Pull request courtesy Jon Snyder. References: #3906 + [sql] [bug] Fixed bug where the Enum type wouldn’t handle enum “aliases” correctly, when more than one key refers to the same value. Pull request courtesy Daniel Knell. References: #4180 * postgresql + [postgresql] [bug] Added “SSL SYSCALL error: Operation timed out” to the list of messages that trigger a “disconnect” scenario for the psycopg2 driver. Pull request courtesy André Cruz. This change is also backported to: 1.1.16 + [postgresql] [bug] Added “TRUNCATE” to the list of keywords accepted by the Postgresql dialect as an “autocommit”-triggering keyword. Pull request courtesy Jacob Hayes. This change is also backported to: 1.1.16 * sqlite + [sqlite] [bug] Fixed the import error raised when a platform has neither pysqlite2 nor sqlite3 installed, such that the sqlite3-related import error is raised, not the pysqlite2 one which is not the actual failure mode. Pull request courtesy Robin. * oracle + [oracle] [feature] The ON DELETE options for foreign keys are now part of Oracle reflection. Oracle does not support ON UPDATE cascades. Pull request courtesy Miroslav Shubernetskiy. + [oracle] [bug] Fixed bug in cx_Oracle disconnect detection, used by pre_ping and other features, where an error could be raised as DatabaseError which includes a numeric error code; previously we weren’t checking in this case for a disconnect code. References: #4182 * misc + [bug] [pool] Fixed a fairly serious connection pool bug where a connection that is acquired after being refreshed as a result of a user-defined DisconnectionError or due to the 1.2-released “pre_ping” feature would not be correctly reset if the connection were returned to the pool by weakref cleanup (e.g. the front-facing object is garbage collected); the weakref would still refer to the previously invalidated DBAPI connection which would have the reset operation erroneously called upon it instead. This would lead to stack traces in the logs and a connection being checked into the pool without being reset, which can cause locking issues. This change is also backported to: 1.1.16 References: #4184 + [bug] [tests] A test added in 1.2 thought to confirm a Python 2.7 behavior turns out to be confirming the behavior only as of Python 2.7.8. Python bug #8743 still impacts set comparison in Python 2.7.7 and earlier, so the test in question involving AssociationSet no longer runs for these older Python 2.7 versions. References: #3265- update to version 1.2.2: * orm + [orm] [bug] Fixed 1.2 regression regarding new bulk_replace event where a backref would fail to remove an object from the previous owner when a bulk-assignment assigned the object to a new owner. References: #4171 * mysql + [mysql] [bug] Added more MySQL 8.0 reserved words to the MySQL dialect for quoting purposes. Pull request courtesy Riccardo Magliocchetti. * mssql + [mssql] [bug] Added ODBC error code 10054 to the list of error codes that count as a disconnect for ODBC / MSSQL server. References: #4164 * oracle + [oracle] [bug] The cx_Oracle dialect now calls setinputsizes() with cx_Oracle.NCHAR unconditionally when the NVARCHAR2 datatype, in SQLAlchemy corresponding to sqltypes.Unicode(), is in use. Per cx_Oracle’s author this allows the correct conversions to occur within the Oracle client regardless of the setting for NLS_NCHAR_CHARACTERSET. References: #4163- update to version 1.2.1: * orm + [orm] [bug] Fixed bug where an object that is expunged during a rollback of a nested or subtransaction which also had its primary key mutated would not be correctly removed from the session, causing subsequent issues in using the session. + [orm] [bug] Fixed regression where pickle format of a Load / _UnboundLoad object (e.g. loader options) changed and __setstate__() was raising an UnboundLocalError for an object received from the legacy format, even though an attempt was made to do so. tests are now added to ensure this works. + [orm] [bug] Fixed regression caused by new lazyload caching scheme in #3954 where a query that makes use of loader options with of_type would cause lazy loads of unrelated paths to fail with a TypeError. + [orm] [bug] Fixed bug in new “selectin” relationship loader where the loader could try to load a non-existent relationship when loading a collection of polymorphic objects, where only some of the mappers include that relationship, typically when PropComparator.of_type() is being used. * sql + [sql] [bug] Fixed bug in Insert.values() where using the “multi-values” format in combination with Column objects as keys rather than strings would fail. Pull request courtesy Aubrey Stark-Toller. * mssql + [mssql] [bug] Fixed regression in 1.2 where newly repaired quoting of collation names in #3785 breaks SQL Server, which explicitly does not understand a quoted collation name. Whether or not mixed-case collation names are quoted or not is now deferred down to a dialect-level decision so that each dialect can prepare these identifiers directly. * oracle + [oracle] [bug] Fixed regression where the removal of most setinputsizes rules from cx_Oracle dialect impacted the TIMESTAMP datatype’s ability to retrieve fractional seconds. + [oracle] [bug] Fixed regression in Oracle imports where a missing comma caused an undefined symbol to be present. Pull request courtesy Miroslav Shubernetskiy. * misc + [bug] [ext] Fixed regression in association proxy due to #3769 (allow for chained any() / has()) where contains() against an association proxy chained in the form (o2m relationship, associationproxy(m2o relationship, m2o relationship)) would raise an error regarding the re-application of contains() on the final link of the chain. + [bug] [tests] Removed an oracle-specific requirements rule from the public test suite that was interfering with third party dialect suites. + [bug] [tests] Added a new exclusion rule group_by_complex_expression which disables tests that use “GROUP BY ”, which seems to be not viable for at least two third party dialects.- specfile: * updated test requirements- update to version 1.2.0: * See https://docs.sqlalchemy.org/en/latest/changelog/changelog_12.html- update to version 1.1.14: * orm + [orm] [bug] Fixed bug in Session.merge() following along similar lines as that of #4030, where an internal check for a target object in the identity map could lead to an error if it were to be garbage collected immediately before the merge routine actually retrieves the object. References: #4069 + [orm] [bug] Fixed bug where an undefer_group() option would not be recognized if it extended from a relationship that was loading using joined eager loading. Additionally, as the bug led to excess work being performed, Python function call counts are also improved by 20% within the initial calculation of result set columns, complementing the joined eager load improvements of [#3915]. References: #4048 + [orm] [bug] Fixed race condition in ORM identity map which would cause objects to be inappropriately removed during a load operation, causing duplicate object identities to occur, particularly under joined eager loading which involves deduplication of objects. The issue is specific to garbage collection of weak references and is observed only under the Pypy interpreter. References: #4068 + [orm] [bug] Fixed bug in Session.merge() where objects in a collection that had the primary key attribute set to None for a key that is typically autoincrementing would be considered to be a database-persisted key for part of the internal deduplication process, causing only one object to actually be inserted in the database. References: #4056 + [orm] [bug] An InvalidRequestError is raised when a synonym() is used against an attribute that is not against a MapperProperty, such as an association proxy. Previously, a recursion overflow would occur trying to locate non-existent attributes. References: #4067 * sql + [sql] [bug] Altered the range specification for window functions to allow for two of the same PRECEDING or FOLLOWING keywords in a range by allowing for the left side of the range to be positive and for the right to be negative, e.g. (1, 3) is “1 FOLLOWING AND 3 FOLLOWING”. References: #4053 - changes from version 1.1.13: * oracle + [oracle] [bug] [py2k] [performance] Fixed performance regression caused by the fix for #3937 where cx_Oracle as of version 5.3 dropped the .UNICODE symbol from its namespace, which was interpreted as cx_Oracle’s “WITH_UNICODE” mode being turned on unconditionally, which invokes functions on the SQLAlchemy side which convert all strings to unicode unconditionally and causing a performance impact. In fact, per cx_Oracle’s author the “WITH_UNICODE” mode has been removed entirely as of 5.1, so the expensive unicode conversion functions are no longer necessary and are disabled if cx_Oracle 5.1 or greater is detected under Python 2. The warning against “WITH_UNICODE” mode that was removed under #3937 is also restored. This change is also backported to: 1.0.19 References: #4035- update to 1.1.12: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.12- Update to 1.1.11: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.11 - Update to 1.1.10: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.10- Don't provide python2-sqlalchemy, singlespec packages should use correct name.- Add literal python-sqlalchemy provides.- Update to 1.1.9: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.9 - Update to 1.1.8: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.8 - Update to 1.1.7: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.7 - Update to 1.1.6: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.6 - Update to 1.1.5: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.5 - Update to 1.1.4: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.4 - Update to 1.1.3: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.3 - Update to 1.1.2: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.2 - Update to 1.1.1: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.1 - Update to 1.1.0: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.0 - Update to 1.0.18: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.18 - Update to 1.0.17: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.17 - Update to 1.0.16: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.16 - Implement single-spec version.- Update to 1.0.15: * See http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.15 http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.14- fix source url- update to 1.0.13: * see http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.12 and http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.13 Remove 0001-fix-sqlite3.10.0-test.patch. Applied upstream.- Add 0001-fix-sqlite3.10.0-test.patch Backport fix after SQLite3.10 upgrade- update to 1.0.11: * see http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.11- update to 1.0.8: * see http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.8- update to version 1.0.5: * see http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.5- update to 1.0.4: + see http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.4 + see http://docs.sqlalchemy.org/en/latest/changelog/migration_10.html- update to 0.9.9: + See http://docs.sqlalchemy.org/en/latest/changelog/changelog_09.html#change-0.9.9- Update to version 0.9.8: + See http://docs.sqlalchemy.org/en/latest/changelog/changelog_09.html#change-0.9.8python3-sqlalchemys390p25 1567290113  !!#$%&'()*+,-./0122456789:;<<>?@ABCDEFGHIJJLMNOPQRSTUVWXXZ[\]^_`abcddfghijjlmnopqrstuvwxyz{|}~      !""$%&'()**,-./0122456789:;<=>?@AACDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmmooqrstuvwxyz{|}~       "#$%&'()*+,-./0123456779:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZZ\]^_`abcddfghijklmnopqrst1.2.7-bp150.2.3.11.2.7-bp150.2.3.11.2.71.2.7    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ""######################################""""""""""""""""""$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$&&''''''''''&&&&$$$$$$$(())))))))))))))))))))((((((((($$**++++++++++++++******,----./SQLAlchemy-1.2.7-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtrequires.txttop_level.txtsqlalchemy__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycevents.cpython-36.opt-1.pycevents.cpython-36.pycexc.cpython-36.opt-1.pycexc.cpython-36.pycinspection.cpython-36.opt-1.pycinspection.cpython-36.pycinterfaces.cpython-36.opt-1.pycinterfaces.cpython-36.pyclog.cpython-36.opt-1.pyclog.cpython-36.pycpool.cpython-36.opt-1.pycpool.cpython-36.pycprocessors.cpython-36.opt-1.pycprocessors.cpython-36.pycschema.cpython-36.opt-1.pycschema.cpython-36.pyctypes.cpython-36.opt-1.pyctypes.cpython-36.pycconnectors__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycmxodbc.cpython-36.opt-1.pycmxodbc.cpython-36.pycpyodbc.cpython-36.opt-1.pycpyodbc.cpython-36.pyczxJDBC.cpython-36.opt-1.pyczxJDBC.cpython-36.pycmxodbc.pypyodbc.pyzxJDBC.pycprocessors.cpython-36m-s390x-linux-gnu.socresultproxy.cpython-36m-s390x-linux-gnu.socutils.cpython-36m-s390x-linux-gnu.sodatabases__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycdialects__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycfirebird__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycfdb.cpython-36.opt-1.pycfdb.cpython-36.pyckinterbasdb.cpython-36.opt-1.pyckinterbasdb.cpython-36.pycbase.pyfdb.pykinterbasdb.pymssql__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycadodbapi.cpython-36.opt-1.pycadodbapi.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycinformation_schema.cpython-36.opt-1.pycinformation_schema.cpython-36.pycmxodbc.cpython-36.opt-1.pycmxodbc.cpython-36.pycpymssql.cpython-36.opt-1.pycpymssql.cpython-36.pycpyodbc.cpython-36.opt-1.pycpyodbc.cpython-36.pyczxjdbc.cpython-36.opt-1.pyczxjdbc.cpython-36.pycadodbapi.pybase.pyinformation_schema.pymxodbc.pypymssql.pypyodbc.pyzxjdbc.pymysql__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pyccymysql.cpython-36.opt-1.pyccymysql.cpython-36.pycdml.cpython-36.opt-1.pycdml.cpython-36.pycenumerated.cpython-36.opt-1.pycenumerated.cpython-36.pycgaerdbms.cpython-36.opt-1.pycgaerdbms.cpython-36.pycjson.cpython-36.opt-1.pycjson.cpython-36.pycmysqlconnector.cpython-36.opt-1.pycmysqlconnector.cpython-36.pycmysqldb.cpython-36.opt-1.pycmysqldb.cpython-36.pycoursql.cpython-36.opt-1.pycoursql.cpython-36.pycpymysql.cpython-36.opt-1.pycpymysql.cpython-36.pycpyodbc.cpython-36.opt-1.pycpyodbc.cpython-36.pycreflection.cpython-36.opt-1.pycreflection.cpython-36.pyctypes.cpython-36.opt-1.pyctypes.cpython-36.pyczxjdbc.cpython-36.opt-1.pyczxjdbc.cpython-36.pycbase.pycymysql.pydml.pyenumerated.pygaerdbms.pyjson.pymysqlconnector.pymysqldb.pyoursql.pypymysql.pypyodbc.pyreflection.pytypes.pyzxjdbc.pyoracle__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pyccx_oracle.cpython-36.opt-1.pyccx_oracle.cpython-36.pyczxjdbc.cpython-36.opt-1.pyczxjdbc.cpython-36.pycbase.pycx_oracle.pyzxjdbc.pypostgresql__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycarray.cpython-36.opt-1.pycarray.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycdml.cpython-36.opt-1.pycdml.cpython-36.pycext.cpython-36.opt-1.pycext.cpython-36.pychstore.cpython-36.opt-1.pychstore.cpython-36.pycjson.cpython-36.opt-1.pycjson.cpython-36.pycpg8000.cpython-36.opt-1.pycpg8000.cpython-36.pycpsycopg2.cpython-36.opt-1.pycpsycopg2.cpython-36.pycpsycopg2cffi.cpython-36.opt-1.pycpsycopg2cffi.cpython-36.pycpygresql.cpython-36.opt-1.pycpygresql.cpython-36.pycpypostgresql.cpython-36.opt-1.pycpypostgresql.cpython-36.pycranges.cpython-36.opt-1.pycranges.cpython-36.pyczxjdbc.cpython-36.opt-1.pyczxjdbc.cpython-36.pycarray.pybase.pydml.pyext.pyhstore.pyjson.pypg8000.pypsycopg2.pypsycopg2cffi.pypygresql.pypypostgresql.pyranges.pyzxjdbc.pysqlite__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycpysqlcipher.cpython-36.opt-1.pycpysqlcipher.cpython-36.pycpysqlite.cpython-36.opt-1.pycpysqlite.cpython-36.pycbase.pypysqlcipher.pypysqlite.pysybase__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycmxodbc.cpython-36.opt-1.pycmxodbc.cpython-36.pycpyodbc.cpython-36.opt-1.pycpyodbc.cpython-36.pycpysybase.cpython-36.opt-1.pycpysybase.cpython-36.pycbase.pymxodbc.pypyodbc.pypysybase.pyengine__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycdefault.cpython-36.opt-1.pycdefault.cpython-36.pycinterfaces.cpython-36.opt-1.pycinterfaces.cpython-36.pycreflection.cpython-36.opt-1.pycreflection.cpython-36.pycresult.cpython-36.opt-1.pycresult.cpython-36.pycstrategies.cpython-36.opt-1.pycstrategies.cpython-36.pycthreadlocal.cpython-36.opt-1.pycthreadlocal.cpython-36.pycurl.cpython-36.opt-1.pycurl.cpython-36.pycutil.cpython-36.opt-1.pycutil.cpython-36.pycbase.pydefault.pyinterfaces.pyreflection.pyresult.pystrategies.pythreadlocal.pyurl.pyutil.pyevent__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycapi.cpython-36.opt-1.pycapi.cpython-36.pycattr.cpython-36.opt-1.pycattr.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pyclegacy.cpython-36.opt-1.pyclegacy.cpython-36.pycregistry.cpython-36.opt-1.pycregistry.cpython-36.pycapi.pyattr.pybase.pylegacy.pyregistry.pyevents.pyexc.pyext__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycassociationproxy.cpython-36.opt-1.pycassociationproxy.cpython-36.pycautomap.cpython-36.opt-1.pycautomap.cpython-36.pycbaked.cpython-36.opt-1.pycbaked.cpython-36.pyccompiler.cpython-36.opt-1.pyccompiler.cpython-36.pychorizontal_shard.cpython-36.opt-1.pychorizontal_shard.cpython-36.pychybrid.cpython-36.opt-1.pychybrid.cpython-36.pycindexable.cpython-36.opt-1.pycindexable.cpython-36.pycinstrumentation.cpython-36.opt-1.pycinstrumentation.cpython-36.pycmutable.cpython-36.opt-1.pycmutable.cpython-36.pycorderinglist.cpython-36.opt-1.pycorderinglist.cpython-36.pycserializer.cpython-36.opt-1.pycserializer.cpython-36.pycassociationproxy.pyautomap.pybaked.pycompiler.pydeclarative__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycapi.cpython-36.opt-1.pycapi.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycclsregistry.cpython-36.opt-1.pycclsregistry.cpython-36.pycapi.pybase.pyclsregistry.pyhorizontal_shard.pyhybrid.pyindexable.pyinstrumentation.pymutable.pyorderinglist.pyserializer.pyinspection.pyinterfaces.pylog.pyorm__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycattributes.cpython-36.opt-1.pycattributes.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pyccollections.cpython-36.opt-1.pyccollections.cpython-36.pycdependency.cpython-36.opt-1.pycdependency.cpython-36.pycdeprecated_interfaces.cpython-36.opt-1.pycdeprecated_interfaces.cpython-36.pycdescriptor_props.cpython-36.opt-1.pycdescriptor_props.cpython-36.pycdynamic.cpython-36.opt-1.pycdynamic.cpython-36.pycevaluator.cpython-36.opt-1.pycevaluator.cpython-36.pycevents.cpython-36.opt-1.pycevents.cpython-36.pycexc.cpython-36.opt-1.pycexc.cpython-36.pycidentity.cpython-36.opt-1.pycidentity.cpython-36.pycinstrumentation.cpython-36.opt-1.pycinstrumentation.cpython-36.pycinterfaces.cpython-36.opt-1.pycinterfaces.cpython-36.pycloading.cpython-36.opt-1.pycloading.cpython-36.pycmapper.cpython-36.opt-1.pycmapper.cpython-36.pycpath_registry.cpython-36.opt-1.pycpath_registry.cpython-36.pycpersistence.cpython-36.opt-1.pycpersistence.cpython-36.pycproperties.cpython-36.opt-1.pycproperties.cpython-36.pycquery.cpython-36.opt-1.pycquery.cpython-36.pycrelationships.cpython-36.opt-1.pycrelationships.cpython-36.pycscoping.cpython-36.opt-1.pycscoping.cpython-36.pycsession.cpython-36.opt-1.pycsession.cpython-36.pycstate.cpython-36.opt-1.pycstate.cpython-36.pycstrategies.cpython-36.opt-1.pycstrategies.cpython-36.pycstrategy_options.cpython-36.opt-1.pycstrategy_options.cpython-36.pycsync.cpython-36.opt-1.pycsync.cpython-36.pycunitofwork.cpython-36.opt-1.pycunitofwork.cpython-36.pycutil.cpython-36.opt-1.pycutil.cpython-36.pycattributes.pybase.pycollections.pydependency.pydeprecated_interfaces.pydescriptor_props.pydynamic.pyevaluator.pyevents.pyexc.pyidentity.pyinstrumentation.pyinterfaces.pyloading.pymapper.pypath_registry.pypersistence.pyproperties.pyquery.pyrelationships.pyscoping.pysession.pystate.pystrategies.pystrategy_options.pysync.pyunitofwork.pyutil.pypool.pyprocessors.pyschema.pysql__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycannotation.cpython-36.opt-1.pycannotation.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pyccompiler.cpython-36.opt-1.pyccompiler.cpython-36.pyccrud.cpython-36.opt-1.pyccrud.cpython-36.pycddl.cpython-36.opt-1.pycddl.cpython-36.pycdefault_comparator.cpython-36.opt-1.pycdefault_comparator.cpython-36.pycdml.cpython-36.opt-1.pycdml.cpython-36.pycelements.cpython-36.opt-1.pycelements.cpython-36.pycexpression.cpython-36.opt-1.pycexpression.cpython-36.pycfunctions.cpython-36.opt-1.pycfunctions.cpython-36.pycnaming.cpython-36.opt-1.pycnaming.cpython-36.pycoperators.cpython-36.opt-1.pycoperators.cpython-36.pycschema.cpython-36.opt-1.pycschema.cpython-36.pycselectable.cpython-36.opt-1.pycselectable.cpython-36.pycsqltypes.cpython-36.opt-1.pycsqltypes.cpython-36.pyctype_api.cpython-36.opt-1.pyctype_api.cpython-36.pycutil.cpython-36.opt-1.pycutil.cpython-36.pycvisitors.cpython-36.opt-1.pycvisitors.cpython-36.pycannotation.pybase.pycompiler.pycrud.pyddl.pydefault_comparator.pydml.pyelements.pyexpression.pyfunctions.pynaming.pyoperators.pyschema.pyselectable.pysqltypes.pytype_api.pyutil.pyvisitors.pytesting__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycassertions.cpython-36.opt-1.pycassertions.cpython-36.pycassertsql.cpython-36.opt-1.pycassertsql.cpython-36.pycconfig.cpython-36.opt-1.pycconfig.cpython-36.pycengines.cpython-36.opt-1.pycengines.cpython-36.pycentities.cpython-36.opt-1.pycentities.cpython-36.pycexclusions.cpython-36.opt-1.pycexclusions.cpython-36.pycfixtures.cpython-36.opt-1.pycfixtures.cpython-36.pycmock.cpython-36.opt-1.pycmock.cpython-36.pycpickleable.cpython-36.opt-1.pycpickleable.cpython-36.pycprofiling.cpython-36.opt-1.pycprofiling.cpython-36.pycprovision.cpython-36.opt-1.pycprovision.cpython-36.pycreplay_fixture.cpython-36.opt-1.pycreplay_fixture.cpython-36.pycrequirements.cpython-36.opt-1.pycrequirements.cpython-36.pycrunner.cpython-36.opt-1.pycrunner.cpython-36.pycschema.cpython-36.opt-1.pycschema.cpython-36.pycutil.cpython-36.opt-1.pycutil.cpython-36.pycwarnings.cpython-36.opt-1.pycwarnings.cpython-36.pycassertions.pyassertsql.pyconfig.pyengines.pyentities.pyexclusions.pyfixtures.pymock.pypickleable.pyplugin__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbootstrap.cpython-36.opt-1.pycbootstrap.cpython-36.pycnoseplugin.cpython-36.opt-1.pycnoseplugin.cpython-36.pycplugin_base.cpython-36.opt-1.pycplugin_base.cpython-36.pycpytestplugin.cpython-36.opt-1.pycpytestplugin.cpython-36.pycbootstrap.pynoseplugin.pyplugin_base.pypytestplugin.pyprofiling.pyprovision.pyreplay_fixture.pyrequirements.pyrunner.pyschema.pysuite__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_ddl.cpython-36.opt-1.pyctest_ddl.cpython-36.pyctest_dialect.cpython-36.opt-1.pyctest_dialect.cpython-36.pyctest_insert.cpython-36.opt-1.pyctest_insert.cpython-36.pyctest_reflection.cpython-36.opt-1.pyctest_reflection.cpython-36.pyctest_results.cpython-36.opt-1.pyctest_results.cpython-36.pyctest_select.cpython-36.opt-1.pyctest_select.cpython-36.pyctest_sequence.cpython-36.opt-1.pyctest_sequence.cpython-36.pyctest_types.cpython-36.opt-1.pyctest_types.cpython-36.pyctest_update_delete.cpython-36.opt-1.pyctest_update_delete.cpython-36.pyctest_ddl.pytest_dialect.pytest_insert.pytest_reflection.pytest_results.pytest_select.pytest_sequence.pytest_types.pytest_update_delete.pyutil.pywarnings.pytypes.pyutil__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_collections.cpython-36.opt-1.pyc_collections.cpython-36.pyccompat.cpython-36.opt-1.pyccompat.cpython-36.pycdeprecations.cpython-36.opt-1.pycdeprecations.cpython-36.pyclanghelpers.cpython-36.opt-1.pyclanghelpers.cpython-36.pycqueue.cpython-36.opt-1.pycqueue.cpython-36.pyctopological.cpython-36.opt-1.pyctopological.cpython-36.pyc_collections.pycompat.pydeprecations.pylanghelpers.pyqueue.pytopological.pypython3-SQLAlchemyCHANGESREADME.dialects.rstREADME.rstREADME.unittests.rstpython3-SQLAlchemyLICENSE/usr/lib64/python3.6/site-packages//usr/lib64/python3.6/site-packages/SQLAlchemy-1.2.7-py3.6.egg-info//usr/lib64/python3.6/site-packages/sqlalchemy//usr/lib64/python3.6/site-packages/sqlalchemy/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/connectors//usr/lib64/python3.6/site-packages/sqlalchemy/connectors/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/databases//usr/lib64/python3.6/site-packages/sqlalchemy/databases/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/dialects//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/firebird//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/firebird/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/mssql//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/mssql/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/mysql//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/mysql/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/oracle//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/oracle/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/postgresql//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/postgresql/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/sqlite//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/sqlite/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/sybase//usr/lib64/python3.6/site-packages/sqlalchemy/dialects/sybase/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/engine//usr/lib64/python3.6/site-packages/sqlalchemy/engine/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/event//usr/lib64/python3.6/site-packages/sqlalchemy/event/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/ext//usr/lib64/python3.6/site-packages/sqlalchemy/ext/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/ext/declarative//usr/lib64/python3.6/site-packages/sqlalchemy/ext/declarative/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/orm//usr/lib64/python3.6/site-packages/sqlalchemy/orm/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/sql//usr/lib64/python3.6/site-packages/sqlalchemy/sql/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/testing//usr/lib64/python3.6/site-packages/sqlalchemy/testing/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/testing/plugin//usr/lib64/python3.6/site-packages/sqlalchemy/testing/plugin/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/testing/suite//usr/lib64/python3.6/site-packages/sqlalchemy/testing/suite/__pycache__//usr/lib64/python3.6/site-packages/sqlalchemy/util//usr/lib64/python3.6/site-packages/sqlalchemy/util/__pycache__//usr/share/doc/packages//usr/share/doc/packages/python3-SQLAlchemy//usr/share/licenses//usr/share/licenses/python3-SQLAlchemy/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protectionobs://build.opensuse.org/openSUSE:Maintenance:10978/openSUSE_Backports_SLE-15_Update/7a0f671e80595ab664ef3d7d5be8c9cc-python-SQLAlchemy.openSUSE_Backports_SLE-15_Updatedrpmxz5s390x-suse-linux directoryASCII textPython script, ASCII text executablepython 3.6 byte-compiledELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=0043a9bfe2c945c305dd8db726d4708d290da91f, not strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=b418a2303279f4a0519e5cdee664ebc319445f4e, not strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=834203c3e0d3b30d6a895ca26e9403205311e5c4, not strippedemptyPython script, UTF-8 Unicode text executable  !'-3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR>WV.V utf-83fe30b440dbe0f6972529be7e5ead2bf2d293afdbeba6265e74858a8e7a5af64?7zXZ !t/[.]"k%a  ||帄V2ҿ퍶r!ٷN4^ 1W[PIZ*߼KɕUNǚY%A0=td?٨Ԑ馽񤥎5$҇D}gޒVve=hCQ`Ch3arruLZkVQ.+aa ݘQ|03t[klVTqژy*z&G snz'  H %>3¥,(-`/-`d Σ-.3|N.x,;hf[#g[y5|K>'ʳ!0VڅP rp`.HA}ݗ.N"hӈ]C7G oGp5v\jZQഄw}Wwz&q VߔjH޻ҪjEn1橙%bJ^0D+rjn"qOw2{i=_AS[RYVjw3,ڥut _R\oWЫ3oc`{6p/&_L3aU?u~Y |Ϫq/oXq Y+#fFiЀe 4HX7@qxX`DWt[GeU)\";2xտuwNɾ{J)wlj'a{q:7Dϡ ΂quDح="'<@!/֭U("^OV#@>m 'r縘Fc1Xq Իri<*I;!?AS;n]侏(dwmW#Q.!fctpw4c]ĄVD5Zb 8} 'Ӷ]i@ Q6}}н#wMGpiR `x16CKDz8l!KENCծw2\$=1\WQ:9ٱLA}J*?H\1z biUwNS*[:LЀ]0R*t X\~nX)G~7aQ^ `3pPwNYKp0yBWIjp3~^j |Dc'*_/_1smqT_};Nq";1)ⳡӎ%#2%רQa[ | H8y5yRzMt('ROfWl?d=nO.I 7W%p96lRV*5O631u*+䕧ԄxJGP=eOF0w+<}* d=y#`_r_Ҽ>U ϓ|E*Fkrw7xiLbOB+J*)jؐulw]ƻ+ur6 Go t Wq] UH:.7an0ӈ$Zoqwi=RRDo3ʐ].]\vV Kvjc!oj6xJQYm>7*ԜYP d^>sbՔɃ&ol?ikڀ fr n؁L-fI#D׍Mvz .'>TJe6o}/p_Rb= dJ1&jЗIqyFW}j rѧ2J`'\ga,0E"-3s`pP|3x0eT%(L~Rtg۾:v>RWHF\[K4@CCn,f*~UY'2|{M9;L Sʦ;S }5s=l[f`Z/dUCdlviƼ'n bmv Q̐>WN"Qd@c }S3F {.5} OjlU>kڧcNx T|Np02}1o".f̥lz/R9&T4C/΢"z#_e)Z}meR3͍?8*B1iK1۱d3Ja+Zh1ieq` oDea.c7C_Hi][}E7]L4eܟ@Y~Won97-̱bdyBdWU5O!ݷoQ 渴5?9a͉7(tc4āuޱ8hi9^چ*xT}BO_|_ o\z#0Y0(-GwjQ s."̥ڳ,C)|4.Rq|_joȏǁ\YAיּȌkԞW\ؐ"̽b=blłAD txAVȈ@X8?W ,(4s)Yi>Ҟn,=a3hDe>5gx9{;.Qm KكeP5Q4L]27d/`"(9&Jhey)ViGz& bYv oV] 6iئ(l a9d$|_0yIT+iV/g4=$?qtGn'Q0(d)B+(򋯦5p_ɚi2~XwշY+ -1{KJ`ej{}T^;|W䎊T(%?6N FYE`d:fĿB)d1u FoH[KgR]lj@hBnBa!*rglwF:u&8Q'*J> )445sDՆe4Rv8Ekbg~Oud~꿲JЫ@Yg/Q6Ƙ}\U=uE7yJ0qоVH`Ju;'/O"I//\e*As=3-#ԩ҄8O 3p%Q hF Q6A48Ln ~vb*n2bF#< xnٸF_AC? @aUo;@F5(֙dc: ST+~n M̅k3u\).^P []Qyka 5,\?d壧2x ^0/+2W2$1zL%&U qy$;=Hgg t Za95Vϐ3e243['p9. ë=sQ_@X  5JƓ+R7-!Aݵ텃}Osek.gfED+z-;1B^4@ͦU|"cT+Y&i4; io]K礥j4gH c) )FحR)lB%~~}]/%[J-zX I} I˰>m 7G< a C7THfO&P dUfx{A+TRRфya HxkJY ?KLb(ҺwK4f(1o'gMCXs2V2`Z P]n?Eʌ`Aջ"jY0Oi],8Eq*T|izPKZ\Mؐ#l;3oJKLO+˯"0T uH sUi[+gi^`~Pe# ?#M[VOvM2Eu=6:bPq-Kc^b3+6e,l;'S;y)â2?/t\ul,[uyfYH4} %3tmD wE>!6)h@fIVº (8 ~h{-!eKw) ޘV`@_>'K>~z|{ HM<.X\`zqRU|lnr+Dzvs)- k<%H c'vģ%>DU` h9t}U.O *Oy NMʈB胦@dbۅ/U`:jx<}3}Q p[s\٤U  •| m %.; Sؑ}`JMp8{ae.ec}JtBܻpzۃ#UBG XDzbjvy&R6E5mun)6vrXH%ʢ&P9sU)޲9(ʛx7f; *Sfg{XV$Y ] 8J_,opZl\׿*Yon5qȈwʫv;M[V&Ua^j ej>~!2QFMr -Q E'cMDhgtߢŽ򣳫JtՑXwфxh1 & FRK76Kߤϳ}r2Yt4M6^y/O6Y,KÖ٩IBpdZh!CO* |da)hN8QC2hH[99ey30lBE@:CČ$͋qı(tQw[g@4i"9 ěMǥ ZM zOxFW&ZR 9 #H)X9_~Zl Xɛaخ3Nc0!1I>5Òf5aVpK\z* WcwYT AlטC"G)oH_񵉯 I+3ڏĘJ/ ߔb$%.݇P /Xc\EݖP""tgZH%?d'~3Xkp^ó 8x|h] A 9w*r8x3)8S5k)5h;4޳Wyc:ԻOd/qck|uu7B b6vSrAW: R>Ogxv W&maߒ xĐ٘`=.;ղ\lJTA!tA{˼jm 0VT䱥i9i>1Nq4RSSS±u^_kG|qbstU~|$yiQiKϣ{axJJ5GQNOW5ee;ޯ8d>J(o dyX"TzXMVi MIEdPc1U^y,7Z07"gyW 5̻:7 %O0 Nb(b4P]a(FIV4]6Cj$MGdmSJ<,=o7 p^"D8Am͛`Oƨ8erF UC-6\>InMsWa EDgB4 i}t6N}U,ؒSEc ب5d9V 1.@Mb'\.{|MO9|3:E,y[xBTYԦQ߆-{z$ JP1ỹiٱxie%p@fiޥ"#i`}yAl)Qaŝ'u>O 5y[V=ǍA쫌>L wpOS ޤ)o)14\OX}KRA1:3Ƹg~sI˄YPVI P'$oTkfؑۂ[n:NOCU~3=pΐ9Dr;b#5=ԗ T`_"y[**&Q)s^Bб]y" t5-$i Fe{L"N-; /՚Pp͎/! <#iy>ڳ>.RIo=1^`J8V:NZq`wۆ6U/t0~) =)MTx1C ;ǻMBal*mhs!|=bWXyYpQӰd A'j @Dv3rK 7` OXɪp!4RĴ`#-˘T9{S^"fȴ2}h >3}K n39A׌)j=0spO}cf\v7]+!|Y"7OƆVEoS4ah ?m$'2(cvj+c4NY,gǓ|`ZPkp34IJ,7x3K4|\9+WfA9643%}Oz@IJ ǟenJ'g}a\aW]ڈ/ª\sGp*WqLZnQ>>Z"wYx8uy]z*6ၾrq9$maP\ggiDaTs~~J+jzcPA,(?]dj|X#j-˗Ssjs,{ATeG;œ`1ĩP=:8(UA.n3IoqYCm3I]c,fan 0/F[~ }`mk–mN3NhH A}aw|>+8#^Ž?pOZ-p>8̊1{xIGi4nr}Q_/Yy-R\=+hw!ցq26H{Y(UQGp u311)6,dN]v YZ