postgresql16-docs-16.10-150600.16.21.1<>,Dhp9|# FM x.sm֚lO-m;W P K5av$ g|kH`!ˬYءA4Gci;:l{교{jpeJ/! |'k*Ҭȶ^~tD`-H0vCt! ]D/|v7U]#׵+A(LԽ)·(q.M(T{z|epL'l/U8ҝ-/H>E_Tr@zݟV)?=ۢ3(q>;$?d ) K $=^i <  ) =$ x }eTՈ՜(58<C9HC:@CFGH-I@XElYEt\E]Y^5bǴc]defluvtzݳCpostgresql16-docs16.10150600.16.21.1HTML Documentation for PostgreSQLPostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, and user-defined types and functions. This package contains the HTML documentation for PostgreSQL. The start page is: file:///usr/share/doc/packages/postgresql16/html/index.html . Manual pages for the PostgreSQL SQL statements can be found in the postgresql package.hh03-ch2cXUSUSE Linux Enterprise 15SUSE LLC PostgreSQLhttps://www.suse.com/Productivity/Databases/Toolshttps://www.postgresql.org/linuxnoarchT5En$l2?O-\*(qp.oJ$e#+ GxWE XJCI<6P|@]x;D,+Iym:wQ #[D/lEL!6&xiG@('{ K^7xN8 &!KU V N4#;q#eN!;f(\8~u3p$#pB2I:\!bj .;&.ca;-X9~Ce  a5[nHG" V  l m $Cka&d";~~78;&x8C<tk@/)-t1P"}/)04a :=$E oiW ]S @(f f < #f %+m"~3j0"=*c") i. *;fZ3!G2 GB: b13 FKTM] *-,̈QT4  C9Cz%Na"$+b*=eWF|7^4M/&TaYy.752K k9=e<"Qhi&- M*F  >. ӓ*LQr  /7Y*xZ!k+"%2+a;k"Q:7 3 =w DhUt?3{66us&6'MLv +]RZls-1%X*te ݗ"Be9\"V.k5CpY.hl> iEENXOtf0d}%&\$I[{'"4g%&(DVcDS" ,,2. ^: )(" ^R%2)8_*?:  9&iY:!"Nhrt$dF "AN}[1fsS}#<:: '*]3mY >8(#s}c=8L@(rq%!z<$CC= W Otk@( :J6ti &EM&_#F%F)j`X)km oMm+(K-qbMyf~*:J6C l1{$q7=L@yF-` xUk1:dg5k,"1|d`UDOdP*F! 613:%s'Q)g-wG_V](9 6<Ljt ;*>r-fH\f@2_'(' @\5w/ # Q$*{ N ' 1\@Y@^"N%UZ'v??;1%E"12mKoZ+ uum;z0v+)l'k$0#z^'d6 Gw K3!# #'OFRb?c+BHD^~*+3k~+ s, 87.Z{lTT(3B,a>DG?g~AA큤hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdad7f26dbaa8ff69eb0d87b2aa0ea0871219039f5a9a8215f543dd2e09a61ce32236d62400948cc2504932ac06616705ff3ff9e79b2cb9f1848f1d283e6c75fc3a061f5e665206f80aa4491d1d0407b629b36fd41508895a6792b465cb71160486a5e8f48972c6e9a3dd5003b312d3054188963be4918832b775f90fcfa50e136e03dd5ba1a1c2b37be5f39d884d12dd09f1f07f01f92a50ae9291ddf233096fc8e264e85118b93cf43b49f1fd7b3a2fd0696a57f3063ed0e5e944638ecdaaaba846ce5d77faa4d6c7abbfa490e036aba4d8a093608e3cce7d03d32044af13749f69314e5348030b1ff9fcae5ea585b23bfa4a8b933863b7a7e3573994a71052dd12f6d0de094699a7b4889e14d552d51c2a6163099ad55593e37b2647a1596b32fa757e18eee5cf89da45bda4715d17ea560aae74fce417b3eceb9d7b73b25887e19f0d37436cbf5293aed9c719461c1acc79afc3190138b1511e8a22688d3c8fcd3acda2963d1e624274c70312f84b265e2005c9d6c7f56d2ca1bada6605cd945d392bf55f45182f7bff51cb8a5f705b885d8cf7a97fa8ad741b5804bc08b4f18d4a81634f4e7a280ee27c82a4c0785a7a638b2590ca018e6c19333c62f5b2c37ba68841e32bed70d0283f2237448a37bcef2fcf31c73ea8b0c60d7c1ac841b2dafd7595806bfff9827cef63d4b5f27cbdf4ec35abd4abd91ac707a196bc1477e76e7ef3939f49d4f118699a4fc32c38315d5b0129ad2315e3e45a7485d9182e5a23f67823e3a793a8c57683b5c9a6a45435a3e808ad3cae37f11e274cf6e97403484cf7d5429f1b7b9c23239fbb0be057066b13ef33dc11fe6947648cde8a00320e197e2f18c05a1c9d2aef0c50eef5403fdeee326e2dc4f551c41a82a6585acd16fffdd72f7b2b3e9ccff32c0c1d20096570dd677ced974d33bf3ded8231ca26081622e05dfb8738147245ad097210019b1ae1c191a2e723467c99871b1c1b53fc53a2a66a1f9bd24b6b67d53df053323c9d2acc56b2f4b22e17389bb31cdd689310b036ec1fdf1582dceba88216875ee8184d57d0ef716b3cd296415f9f9c982746e7b3efbedba83522c3dda0e422f060aa820c6492e234f28ebebc05917fb9347a904c3ac7509e91829f337c003c43d30455c993904942588760b2231576a932e04679f9cf862bcba225dc8b13e1d78a2bc81c59107bebbe5eda58eacbf2a191127593c1c60e2ebedbb39b0f8e0a2dab7cf91029401e35aac7699464ca303c79378f035099dbfcb765c9811d68714332049964fc30589c14615e2a2fd5e421ea5ed2c37a21849d09bfbc471fd55af4ecb9cbf8872f2baba2b5de03c83d1951c33149e82dffea3296c6fc1df870479d6e7cd9873fa7c76849b5d66d6cf3afcceb6b5009dbf3f5599067540e0118ddb081c019d3d5ac9cfbe9cbc82ca43c3a38eb94edad7aa8d164c83239cf0dd2f9ba4a861768fcfe23a9d696be356af9adc365c83bd8c9e58d56ff0c4fa26630545014d13a45fb63532c38107c50270c24932e3a0bb732c9e723329d7160bf93bc69a5541ca25410a83d5148d97c01133072f6f737cda3df79206fd2e6f6aff029f314e049311ea67b6ad2188f26f6acc0da79460c3e15a8e95bc0b2f4fe1a56a4f1e0e681ad4b55f6298ef6e3a0807a0789347fc3c13663b1a1aa37158b73567daa82fabd96b39912e9f9d3c1be6429830306c19c99e2fb1e0777b4738b0e1a4691070f4d1ad1bbf8fd4957b3d20949bf12cf416afc49470cd51d47a304160d7991955ca8ac823bdf284c66e7e67277c14899de464f030ba628db14e270e85b87de636670d304ea1772dd15e0d54fe982545335c01d77715475f0fbe17356ed662d5383d7f7bed1b6c38206f7c2ce4207507f3bb402a69b510b1d680cc80943467f01a18ae5b563647d41d86e433e398a8087c50daee969a3639f29cab163fc1a454898012f9e63be27db69df805a40cad2a4d371a529fc541a8fdcdb0b0bbef7e5c4e1900c9fb0ddf62fcfa72b88f02f7f1d7280dbd3a65e2be1a90322e2f0cfa9f592846d6ea8b6c8be4dbc70a2aea4ff734e9fa2ea3c1d2db634400d5d4c365a52a4a1793131aeef66764ea27e861b46e67712b2883848f8df870c5fbb2683dd37aa6f5839479e7e1051712ba9686e3f63ee10bba74c02329b812091384b8eb651392abdc944e246d97d56210fa79276d7422ce59c828bc14423e9aa2ca7c97c3205edb3f3ef11935b922ba8a00b7e22197d3e4c82ddc6c56c1aa82f2a29d31364a3e83aa2d2c747406f07c82607398bf27d0f4916e8a6ba1bd9cf9084a6cea87aa3f63d63704dd06f4929c3bcf90b5a33c532802f99cc866178d171480e9d767e80f8e354b5a399975490800f5e430362aece944cf8fabe441eb3066d72d87955a407fb5a5762ab7575aa46dea7ae53682a2c6797f58a4638d67ba350c775bb29af7e82cd56e180b7573582296877e3f6986a191770bc12c4dd65ae03532ac3987b07eae43bcc189c39c9f6816ace92d4b13217e452e48389cb0bddebe97866ce497def0890505dcd21b86a5915445d537b455d5ea39092695df13c8b670a8ebbf0fe7a27aaca69a878bb682e2ada29bfc307e9754db421e25ef21104915959c8bba302e113a0913ff56785b58be013aedd464d749e138a3137115d7e4e8ed0cfb318e8fb55ee53bdc0a6b1f6e6145ac6e6f6a0ba08ff60705f755d67d8fe532a9fb55279365e9172e818e42dbde1fbc9ae2a613723cc315be946e89b643dfe2499586b8b44f2153107e623cf3796f07400c4aa3d005b701d7e0a8e7c257b33f466cd8b86753ca2fe371fd31867f4c19849dfaff5d150effc2f95a9f48219f45841e40813ea29336b1cdc716c04423a1269313badfaa71d413ef97c38a4bd044ad05a4e83a54f9970a728849eac927427df84b80a2cdc3d13e1c0b9d0a96f7935ddc17291291e07ddb457d11bad4931c32148b7b42c370e9d43b27c99e5364b01e834482dc1c0302d3fc76a0160cbe7e7c38e26096a3b8bdab75216832ecbe2b33af8f886e7c83f4596bec1915c0afc7681b5fb874f68f8ddc7375c2fd9dcb74a03b0b2bb2dc309759b7f1131cc7ff20a5cef22cf2de0e00a1a6bac9f639b291f4e6cf682d238455c14a87e994337907423d4046d7a502633e981856cbfbf7a93fb644f96abe217ff944cf5c7c05edf7878c049d8a7f418f48a3e8e5a526688ccd773bdb9a85ef29c4b1484360b968fc7f72c9d56ea6ecd54de738248559e89efe6a512ad8b90daf5b4bab7622ae03ffee9ac940ebd91f096bcd652004dd48e33d7c3da9e3d935cb9ccf59773dfea33f89868efa83b94b603727e8ef6d9642d32dbc53f6db7309a60eec79a3d11787a9f9b4e240d3deb3472424b02e90141a3bb4e1d671926c5708080fed05a7d694342c01f45da75d6d75afec2a2ca1cea264a0602c177ae357ae106a450f7129861b4a566a2de3b85f52d1e94702989d058c47c266a2f8d8c0f90e5de4547c369e815ed530f6fe88e851a2c0bd5a4c51633eb753e58ed269458ab3bd8a600ed51b255060fc3b785267d75dd7986ed7d3e2a42f0cbe599c6aca13060596e502359b728788b6187f9708537911d196c24f345aa3dad3d101e19bd2dab170a148321663887cd9746fb1315bbf5a60ad485dde4c029dc4635cc9a4c2643d3e891c4eaac4c3b172e4b7a838ab73b591d6138f8292bc99a3740db070485f3f7f7d84eb562fa17b351eda47108f02f2d446a38d7477b8d272a28adde61837af248871a7204a4e7aee0d5135638dfac988c862d1505928f1640b15124f48e96d6c65cc2e655818dead4b779102e157ce023bb987fb6bf9d779f4ad1c905894c8a17f038facdba383ea9ca6b1f347f64c4a2d545ee8c1a06c7d6d59c0c862f64a7f34f0f437208f18a6433f95878e65df54fd06b898988577223ca17392fdc9b208cc86e67677466a56213380acdeeb14311c2a14493cfd9535ef462c08c898851eb4bce1cfff792b23a1b0503738f7fffccc341a27eaabb8ea137fd9dd42ca7fb232d38e4f97a5c0985c2c35127e78b76959f88d369a8432e857e78282a82301591a06ce7714df1e98fe293589090d77bf8ad25a2cea6e1953c68755ad05ff94e1604eec21ab0c0b4ae6fdcf4e597befc004abe484014379b073dfb31a0c7528cfff2790f7ace27c17d9f8ddeb3ec5f917184fd6b781b4ecc76cd8aeb44d70100db7c67bdae3c2a4f8e39649372c644e60c0ea00d1cc7eff5cce9a33575106f86f74692118d4893279a42a3740852ef2b690e25e7ef035115b8b0ef268e55c5eb311b2593010e97f0bdc7968294f3e551517927b54074568da418ddbe27ef685a6d7665bf04d36c5b01f68a595a306497c229feffb01a57057ed155ed17eb07036a19e5bfb852bbb896752ff148e561c682c461f3e7c08acffff05ad622b4498cf882acdf2a6d0cf6d369d3a87e98b1e184d746345d7135bf4b46b78661f9860edd65e5c57abbc500935c363490b9c15666aa29a4643b1e450b8fe56e1e51f7ac2af3022db2f61da280f143391b57a4efed6c8f87c72e5a70b8c85209662fe7fc220b810268182baffabe449424c5e5f12421bb3a6c566e1b2aa6a873d31a9dfa07fa631a671b34e7339e34e8b567ca1a0fdd67be6a879d9a053d3da555b7e44895b32ec7ec39551182a59efa9ac2cebee00d29a62b46ad1c5a1768495f479672ff968ec8d3b0dd7248999598f891a24dd45f430bf7479b6e6d1273581d9645efd29918c88d8baa740e2035a90da4aece2b93630ff443fb7b69b7ef257f713bb7318280ca4fe6e088d3484fe016cecb13c002137785d89e5f6dd45bfdaeaa2275e883463123d378fdfd9dabb69a74ed5bcb3e1bf0078fa2a60bd478d6f768756cb5794bad0bbfca6583eb02b5db85a18a169b920c962454fb3246d5aeff9e223c362079437f3a9a2334d9787c0b7df2a7833fc0241415e74e5a80723cd314161f6c455b054f0d83f0f063a680c84e2b31ac4191aeb1f7ecc46826d196a73c8eac98b88ca859e5467ce3496c620770f947f33357125d8c8fbc82f0344785103211894495b27efa2095adadc3a4de9266aafb5696bf4405346e5abee8db46656248a44d54989aac2f13f4dcc4d83fc432a1023876bc305b411b04f3e4a14e593db5debd0f15723232b79f64431b45b8a0d4aa5ec80c4c08c75973369a825501d635d06634304d35e08cda70bb57c11720652701878ca2df803f102f0f9fb564cb9897bc2efeb3ee65fd4273af500e56677b69f14c5d22d6455d0db5c6a81727d61d03cfed3c3f152f7dfb2b8378c4546acd4a3930f208a9ccdc929047bae5fcf6ec20d0e89e9b508a4b7a2c94475badd7fe4caf48f94a977ebbe7aff964647cd328e26277206ff88ba19b7376f5543838122a106f48026123ce89e2909c9515b17535aeb9419bddfe394268b2d4633663d25db91b7f584f58b704d5d335a65dc9153e3c66c47e08cbfe02ccef3113565f1eed8eadb477ca8088c09c1be60503cfc6133f95fa655203182ba806f591a7884f4ea5590f641c2cac56d2c4ec7961d31f6440e7f67686b9537357346c7a79050725ffcc901ba67d8549111eaddddaab4d6c6e795b4c4ba9bbcb8431caac955af77d874242327513cde393c907f69ca6d1d2f6b0d01a65545bc3829e2cccc1e647680c6a3da341ea4a463e720edc69ef80b4f07fa4de88d954e43b7de9be30ee4322588eaef5ec12a7bd46674e0c5609c406e300942017b5375289676aa419288481fd4e6e6987f4975fd6901d9db222db21b00fdb2952371b937029eef3ef5be26efac00d744cf6b36e6521d03086e241372e73501d104ed114bf63dc0ac779547a8385ea13bb2f9e7ee0f36d269735095237284d792eac435af1b7ac9591d019d5fee9d1044ef837c5f73fea596f13e4cefd7cb619ad7e625e53ed5ad51e806478e0b5ba7430693a8d05aaa8377bc1eb7fada4c55978b97c4cc5c9c9a1ec7a1b0f5cf620f387088c6a83cf9ced468c61ceb80fb7618828d3382eb25e2737ceb26c86629156b98ec442d0a1c4d949b54a6ed723894faf4441410a6f6443f2ad5338d5c89fe056af934a51feab3a7f7db72d3e0e2541e1fbe83f6ccd1650ae51d2ccc402c6dd2332a98597cc721da104346cf173eb9e4c97ab77722f6404f3c319dd74fac5ef95fef7c02f58a297a3aa3787e8b255bfff1c2d77a030af7838d133dee98c3aaff607d0b6da2e5c37c1f4681eacf9c4f15b59d722edfbb4758ff2ee46a5e56e1eb5039b126c45789a08486b46ff502eec922e86be0068ffc8f1c794bf92e0bb392e88e8b592b475175a62cf7b5edfb0d4fac8e3f3c80834481a50689ab65d7e0abb14393b4ae359de72014c46bee747cef95889a8ba4ebbfcb9116fa9a3f350345e4aaca6ed1318b775127dbbf5878539ff0fdc0a4f1c95baecda455e5070170ea223e8cc4760ea696e9cca11843f23d2ec0283c46bab2bf532478519c32498f5641f7966a4c3af812f618b707e6c2c1185d000a2a0df3f7bfaf5eb7827409e4d8bac53a4a0d4d2e0d62655453df4c20d7947e8f2aecbe3741d00b3423843d499a9141ace32afd896da5f88cb39455f9ec2c92f1a4ad78768c2efc46c5fea5985f3eaafc81cf026058613c4da779a0ee375a477a665fd07575f5baad6a499a6b7f5c642a42b079574911dad002cfb437b9ed2936a8c9843ea01b323a8f119742f17c38a913126d4421169270b30c3e45b74bb4385e44b9bce22ffb8bafca7d3d92f5db54d4f1bd95087b21c43e4c34119e7d51d3985abf013b97dae4416c95f25f46e5498d1cb53b1d678e6ac60d9afd9175db11c0567910980ad0c0e89ded78f416bb269840c725351d302fa31fc8ba88fc952c46a0e49187ef85a4dda0b0e99c52aaeef2f05bbb97f4c19dfd3af23e0531c83af358ece9c8917999300754c92166d89734f87e7b3ba038b57756cdde41209bc12438ceef260758c8eefc133ecb84d92db0e739db30def2e20b64d1dce4a3a8a69f636d1f853fcb1d18ea3a1375003ff87c2403f986080b2e1ae333a67b7f82c70d35d7a49e5765edefcbb856cdcd01a2e8981767b55fd8efcae603fd9d174aa880af9f4aabbc838f3f65c7168ce474d1e3e36f7a891c97121f9117ecc38a8dd48ae49899ca8eedbe99468e6530962b98380f6f9aab95ce109c9acb39a6bb8aa088627cd922f21867c946e3017d38a502308e2e84d726295042ff51d3ac995eab8004052e2d51406ac81000ef3741ff49a952c48c44cfd8fea9c151ca4976b05b15e7af7d3af1faa35cb442bf10aa4e946d505f6747155f219458280e89c5489e04eb8ce08f024fe217bbd76d240082af9672330ac78c884d863945dac1b87bb98a054ae3e5904f683cde151cac94c934015497483ac3b9beaf111edd6cef4becfcc6bef96602893fd21c6cef6bbd8094a2e9a42483db9a5d465ff02a6525327500eea1a3ae77126e10ac9398ffa3c1656e76e68c598e09105ce7cf0b107d4b7f40613fd5e6f2b4d2f60cd3fd8c0e94b97c6d2d176b732c171dd1c5e904f88b258eec6cf0115ae39a4ccd8238d5ae5beca2a0e07c6482200670a258a5546301b0e0905101815f60698e1bb520d760e6b800e2906cf271da645b1cf7e386a2fa4fc23e4b948c5e99eb4a6b48fb21a65e34939696b06f698891ff16271f3a45e510e7141d89c75fb805f5d38af2b03c49299118f9223d42b451d851b31a28ed520675dc7bd41c2033b9857208ad5d6e47b1b7de5991b0146a843c6cb8bc8e7592d841bd2685a82ffba6aef75c6c9a88e8b4732b1b0a91a62aad40193140705676ffd742da2faa5606a5397db31af72a3b30539720a117cb4b8147a8ff326016610f5944656b74df3f2fe4a7a0b6f7d87e36d2a03d6c235274553fc5d71b6ea6f5b5934a9ad5b0f7c77c199dbc4c7ccb0a27344b807bf4d8ec6712b079103f397b5d2cb4a0dfe1d3763d0a184cea0d61882a08d809242d7553fb4edbd406db37d3fb2253dd6f8459608daf057960d65c015f7ad873473170c5b0acac6555fb9e4dc906b854d3e64b9b9a250dc1893c2c4e8d9710cd09c9d2cafd842ea20c4ad32c1cce62f62edc5dc5843f85a57ebe2eeed008dfc992160a672d806810bdf8a6afb86687fb770a1772cd04f625421be8be901253619413101987c3c63ce799ed87530b33c6876b49d8c88fea7f950c79ae5a1cf31b5fcf1bb745b0b779afb0e73e79d73da8630adc19b24ff6c83cc3562f0a88b10dc345b4c3f17748c5df7a2c757de2c3ad49a7f380cc6ab19cc49ef67a6ccca2a3e3c720e49cf552f03a2d89117b8e0d363f24c0a3563418492835a3716b994839be5aec9556c2aa515419f98a3ee5b8b0fdcca426f75185b81faa8c8ed1f81d7ab0478b25f0130003c0715c7ea35a2c537b3639843c8304f6cfe1ed2916d066e1cef00742457c4b210120a0a55633c3840e5bd99700f01eb26b47eff5515675abbc1dd9517faadb45274e42b420de4f3c878228a441da1128226d59bcfd2e101a3ba8dfd626b11ccf66c3d94d019324c6a3aae3c160353520786d4789168bdd2ad34fa7dc3efeb89a68198475280deaa8aed6e7173d2c69ba5cd3a9c6aac21d0ec8d862039d50d638b65884d84993ed3588dbb8435b6f8e0e2434577c2e7e9a79572292516256dfc20545797b6d7b76ad0e083fdd6b6bee6c29930c45d95ab3ac1c44142eb4817a4f0d9c13b7b9d2c4f90af27696cb12ea3913a366955b567c1e0d07e52ae3307774818c8d83de713787eee32b8a086c290ca1f9958bc9a6a41f7c605c21a39b452c460ab897d27f4653479e5da1ba2cb85801225ad4af267265106f14ac53f7663040397b298a404a163d22b0277b3056b5a778ac161fc4ad4bc8b92b323fbe5b7a0921f89787b79fb12dac186df595010804b8048c77c75fcd23afebc59827866a70ea8fe6133e790e6f489080abe7deb63e6024847e3ef9befea565d94ac16f398b5c55bffda595bb7b32b871396c573fd9c3f003b1eaa2bb0b412138e61a08f045fa50474509696d6f3e90648f10df32b9bcaf32adf704849f0da7c25a6e528d0269f41932d0275208f9e59abb08aaab95396cf5a75be200c733d829c617ab244350dbb335d6882124c67c1923740610193ab8b1502da314410048dd1fb8c0ebf3f2fbde0af434e016fff33e936ee5089f8c2d129806984448e1eb02793d47abb435859abcd2281ac76d60882c4608f70c5e0027f675103b727fd5b1108c0743bd736f343cca8a6c667e8c43a1e2c55560131f9b19c1ab7754449bb3801339a70f67e96dff0c88b4b4874d55e62040a62807dd001b5693549e3813057f41d130ea178a8a6199816352c4a4630de570f9711c05890302d93a4505b0b19c705ce7c16707c9496fccbefc5c5a2bbf4a82922db9c1b85f5ca240f6cfdbf61904ac57f7447c487c82d4a856c76ae9ea76d7aca896014d6f52037f7b442d7465ee02047e3e70cd6685dc1ea224357a0cd1e48c0ed6c9faf7573d0416087ca5c0c1caddc9309112cd8a2ab10f0e4fc8b73c277a249454225f6cecdb40e9478d775eddd7e54708e0a62a7f7434bbd28d1bebcdb673a3115da0c08329dd10693f213642579223a213a4f3d5ebd5761d0ddafbe6d98bc0e36e195a428bd101e00e89644adc87c1c17d5cf66ad5a098da00da16a349f22d62d3104f41201f1f6330da6b3e628ebe21fbe014bcb71ebaec6ae062beeef2a02b8456f31f1a1673968a33db401d41cb56b954b770eaaebe7a88287fa99c01a97d035760b368e23043c1d8dbc5d23d2f31290ff467eedfb4acccbfeb3e832c5471bcb7d34e6d190759a9a84c9ae907096651424e24729612c58ea91724f8680b7d68b029d77c1d21ff83ab136475f1c78613f86751129dc87cfceb18cd82eebe3597709ed6f00ae666b47cfa73f929128d3867dfea1ab053c7747e6642819adbf667aeed85ca072bdaba36a0584ac2e686d37fb8458c5d67a08d3e8935c3f2ffe156ca55cd4ec52204a561c77b09c423c65ed30df6327190324217195d9e0ac020ce34952894702924e71714f5081aa51ecb6e4ce6a77cc25d2460e27a1cee9894a87f72ec3b30557d88f147686f67ce7c7c3fa2e1afe17183b014e7be78581a006e25e53edeb63d8d597d5e642c72627312d979c3d4dffe37f0b37c12b69442e1830e09c40ab8c196be915cd804f96971bddc21d2cb9c06e10e72042c59eba592eccee68304dacda2859497433a1fde3cf02b28bde8d70dceca11387578f610da7f04f363e38107ef82bd42bc7cc6c8f5ad49c85a6f0776ae5a7f8ebf45224000f84d8eb9678bfc4a5b4065e36538840f544044f0b52503e58bf0bf9fe3fde532169e01187653ed43f02d23f188fab589f1e4f626d4bc81739172c5c2208109baf8ff40d88c8a5edb54c684e78417fa528905dea339cbfac88b16eb1b850dda7547876779f7308c4eda7f96c4e45126e433c6381693ba6507056eddc5cd932a4c18d4adc8bca400b70e339ca9018b242f13683a350ec4f6bf7a8768617baca2e3ad523952579c65f1b6acabafb084be950728076e7c1cfaf24d0ae27f2115e5950f2540c728c971f2749dfe47e92bc46725a46a47ea06c2d56f845c3f127ca7b19c4ae78cf1dafa394a2953db3753d695fb5b44c19285062bf3ba6df62c922d7728ebbd23db469237ff11fad8cf2215ad9bf8470d666945a4debdff58d94977aaa713d45c3441eef4945354c0bc2d916909a984324791fc712533989e4931dcbc28b307e499e4fafa6a101a7e2d7b547bb033473cc514d0093f47678d06fe2d80322324daa61013061bbb72d26378589df2394555b9d971fa1038338f7939baf54cdcffb78af5b408ef4d0fc1b97e6a1336c7b88018efb65f9779c6d2cbb1a19af1a28673bc3ac4b399c8f887aab9ab08320560bd23e8403d7431a7b4edd121b5875554a2fb93e71e3ba5370c73daa11f99dc9bf04ebe8a8ad9bcec47e5aaec200063684184e7553f3fcc570bcb322045c7b441573eb23dd654d02243743e6cd92442afaa4af7742430ba08375af09b00b219b9dbe8ad2d1f321ef8907f92c7dc81ce6af3f818fee96a0db3ee8fd7045df3fd9132ca2138b13b9efa205d4933ee20e8b8a74f28f500dd17c8ffe55df8df077a102cb87df0747ae6d90101fef17fc5c1f41067681e790fabe62d84664769513f4493ddf93503ed5db1e76db66d5ca723cbd0e73708ebbd27931586723330350914f8bed91abecbb754f801a4e3a3bbde74724610d87a9357b93890493a28bec0b77f0447a412fafedad61bc19f09c69488c928fa540c45977c0838fa21bc2576d2da797dea0224ced1e80fe00484fb3637cce31057a55e86dd0f089b937ede4766589ae697fd0b1954bfa382633ee6ffd31babc7c1599d26c28e95a77fdb0640decbbb1f53113c8065766144e656b5195926067f54bf429745c478f8cc2d2402908ac09819cfafdb7259a8678dc645e12c3efa519581cf6c0a0b12c555687c105f02c31c416aca520e271effa1934312a211d3afade375b0a7bb1f6f0e1f139ad022929e5707129dddd8f7370c5c64791a7e30365569bda1a7c2d950112717ce202300f81a699467cd59360ca00daa0204b37e127adac2c837fed83e0fc495f173230cfb82c35d73cd37b4fcdc60b21bc58f9067987cc5b61338124559afb67bfa4a6fa3a99e98407ea42acdbb10459c2017773801df4253de1e3755a18377a15bd18e73882def936b99158b8073f67195a3d6c4b418056e14458ead2b10fe1d89a10330a09e85a06e73064c1107b486084199d079957ab6f40fe00a0f23a7c268436f1e8edb1ad4bf9d45deeb9eb89de002a6919c0cf30c35f6f7ddb1a1339f1075834b0b44b9c9381d4837a5bc2ed5fe01f6312b3394bd67bb4434db411d12e4ca587d107fd3a2101a3a710bf68ed3c718da46734ba0ffafbc4dfbad400a3925d0894876d1a0c510335068ef405d82a16135a682c14a8afd17b6a2764b3b482b54ddb30c8ed17e47de5979f538c679b08c0b43f7dfb68f1e2d1e8b96413e0ed95346f63ef676ff1d9c09cc69bc0316795b3dbc66b165c917694c422aa5a69a354d1df71781cd3d1155194403020979b9f8f6d347af31d9d25c1bf3d6d76023390938969481fe8f6470389d14a88604514dcfff09b3467b987a2d0d08e0a513e4dd6eaef27ff14fccad89e6607f4d9ba725c9a71baf0f723361a47517831abbf35aa26a315f892eb0b539d296796dd48d0c3b861a03a852ba14c00b4c2e5972316abe596181f655fab31f856ee43b5cacbdda6d230e5a3bc8a1c6f151be0a46957542bbb8b80bd0ae7784dbb82a58c4e23c8ec88fea644dcbcfdd12d17dc581bd095bc9d34c30ae463471f13ac3c21b1ef5636296cf8225a9f30c36487d38f5b3b17fa90e00d9ddd524af2985e073114ec24a44e185129d08ea7b2b817ccf6a6b164270bf994ba2bf57d0238c64fe1c67aa430f7aa23bb69ee07f2ed972aa1ab02d65286a5b8bc777e0452181ab305d93e1652d9b9af95dd554e7f90a11b233487831e19cc149a5cd1309f6de86612aed7d01ac899ba6738d6f65f6f7627892b3f9ec1b6cac4822a6411c8ba43eee4a0530853519e3ff1ee42e73495d3f8087e26a7946212ea57b5a4e13fae516981bf3ddb781a5960cf1ec678153ad345b84eebd2450ddcf3ee25a61b12e50c2a85b575cc97c462030afbd1fed9edbd446656fc729f41dc78b964d7d8514f249d8b823748bbd098613b138d6de1420aa248f344dbe7576ecb91baa9343884615e4e8c04cbde320b23ad0b30bf3643516bf9b9458677a042edc3dc473d98ff4f9d4a37c029fdf8d9d539fcdc0510eec3cd35d53c4cc98dde3bafe544de80aafe60bfc0d4cc55ecf59027fa261b882da39299197b349ede0c8ff243bd9fec94779a0ad1c71eaea2430b2c5033b312b352d26529098746aabc8740fe0f1bfd583f615070bd143427511d9288383d4c65a9026f02e01eb9750fa16951e1b73040cead0a91c1aeba73338f06d9602045dca46e99937e43cc8b3a4fddecce6b9c49fc7f9344167efe2e4ad7954b0a60b710bb5d859336f1aa79d6452e611eb232330b8ab508d0b39b3f935eda5d99a17a11516f74c1ec4389af3259f3f49762084e860baee4d3b98247d67ee21e3ca7bf252ca05f2225eff2bc7468e6387f770026ee6f493ac9c6976480560d9aa9b1abdc7f578bc7961dae94444e82abd611f92d59fefae82eb52803f06218b4fd9b83a5950bcbb0a52d2ccf394724f170574276f1b05a941285a4d7654212e7f2e7dc344883e1e23b7bba2acb1e3f17fd910e37e0a2f48c3dcf453e3bb953e1c5281d3ceb7cbc1b02ec06f82d8228fe33be2beb7cf366493cbaa9aa7bc608767f4ec5f9034f490c6f47e3884f8fd99b35d328818f6295516421f065bb039e16a6658a7ae2420b5d92e344cc2509980e1ec817e704633a78801d1f1fda5c4ec5c64d8e31bd9247fb2f61dd4809349ca7fc278bc0ff446a2d93f0a157336478cbd7a12413facdd1ab332170834f5cba833ad34197b6a4dca0d94af7d0f04639d3aba2b260ebb39d92b66857cdd04258e0a16a1a27f1078e11aa1b5650af1b6e6ad98d69fbfcd1aca432cdef2798ef822f04a0f3f88d7c2cf78559857de74e0709d3c13123cb8606c1da3ae129581d0ff2828694e5ce7a32497bf55f83a3d9acbd3f3812dfd4a46341d86b1a05acc342aa0f7f0af726de108de8f890e53444fd373b2baaafeafdd2e4bc7c672e472f314157380fe369ee16733f15668d0a865853706f0c2ae124c1d70fa06c527e1f77f03fbe92a4e9087347366ea13cbe9f72e25bc2bb92d9a9877bb259bf5fc8b2326ab100dc342f0d8cbe72f2aa9ca38ac7d6fab68651d4e6f0064b58d552149e4771a13e0e91f71acf6bd7178cf986d955352ad457a9b19068e742afc941be5f427c8f62d3deb40e071e751d42e97383e96342b88add34b8f1f86094f10fa24f281c33a616b7a0d85a3f7eefbfd6e9205e6dd1b8cc48ee81c7a54f4e47acaea2243e6f09fa5d56e05ab27c5935e5b1e45e38127e1b4c36b850b7bbea4056d51e8e9c1b2eaa98eb6ad7825655d2938a64842080d3e4206ba7e3814b947917b6b9138ab365815c290698f29a72b196baee572b090abe6d29d68eef7a764f45d1ce444864b9e7965a78e8bde124c4f647f67d3d61d3c561e85575d7f7bd44534b9b9b98de3425ab805b84b350f0e7dfaf1e497e3f388f887db763c3c52b79e1e4e465cdaed271881412dc33162afe3ff33e98cc0eae2c87e3d6b5680a5b677acaae6718a5744bf68d2e446a5d4fd354747582f93b2c3328e6fa3023b001f94d89faa1a2efd6fe4b6a034dfeee84d56314a5292fa9597f89a3a8f85a9f20870fb3818c3c63c2a4fc02a872838c3b55fdb09275da5d7a838533507f88c8b583f5c5eba33bf93663349c2662e69ffac1dd7d3cb29baadeaa0cb25757f5755551f49801e64b70a8c0c1bb21c267badb4e4644c061f11e0d91c23c948d760dc16faa3dffee64ee73cc333c94b783f36dcf1464b8377c3165e97c5c00e5eb21ea2a20e3d1c43ebe7892e1b28607095072ccde11b4c09c47056788bb897b57cbdf1e5e56a86189665de494160a6ec81dcb77adb3672a6859ae40afecd326330c4fbc1ca4661652a208354d5db034fb22717998181d27c197985a7143f5bdc36c944b10c1bef14d3f8e301ca76fed12a754038fce4af8e44cc85fb63cd1eaaa6d82557762ea30f4a5a16dc1167b3dcb12baf1887a0996cf241307b3649d4d433d7a1e27e292ede8cff5ef695b49dd6f5445bac0bd4fa2c1213583e09f3b352cde9b4907db6da63751d88e8bb3635cc114379d0b1687330ec09c676dd1e440a629728e0bd0d551d2ab11140c5d6d661e6c92cce46cbac78f1b44630c107c2c6bc821b1fcd25963bcb610622bb427fc8e12e0f193366a6f30b5e7cb64f492cd29953e0a7e0dd06da9079e13f53ee197b2bf8c53debc79052790cf3bc9f133126dcb08295710fbcf92c3f6feb3220d1a0403d96760694daf59dc645104685a0cae596a4210ae72900822ec3bf8c95e30f7c5ed6a4ee876883d4ccbd04acb1baafef64a632a4a0b54c7547a4d421abc284985ac97a487858de791124de335a6b04613cd43cc03b59c3a5f7af6c550bbd0dafc00722eff51db27cf828d91088d222fc4514d1bb592794cfb2303fd19dc2bc67576512ada885f81218e749d55e5300263f51d35acaef1d79db5ac202031a8969c477eb5640f994c99384740ea1ee5ba41db21d45252b91514bcbf047d83d4323623ed7a931c333e1e03ee3b525a8e3c581fdac1f3b90ded29dba17e29a17d39e9fe333d13d35d189efc9042fa866de93332f916ad1dd959c340eca4448521b663d93f37413ea2619df4dc8dc727460dba716a3c53aac56f93fbf009f81dede65fc2ce48af4d88277ee9a7bd11ea1d8b1c5b8b7cf2a8b74b99cdc2230c493df4ebaab2cd620aa0b4aa9bdaabaf604e6ec06386672f85a30bf8d02a0040dfe14a08b4e51da6272840d8c789b468292b9ea84d26df9651764de8bcb779be2e7d2141cac0fab9ebaafcfc463e0a43f4f2907a0158dfcc1f4a00f6509e68f66d4da5d80e25b7c7f79ad52515e9e9f02d8477544795177c96929200cfa5bae38f2d5c2a5a875d23becc9c34dc3678863ecb4ae6d8dd619e8c6fd05b6ed725870010ab1cb8f7c51a9025ccb2a2bef12fcc09bb1d327ea408173546bb95d1d62db25eac7926bad7c359807b258d84dc59e7339606486bbc2b044b322a4d3a07a4eecfaa46197e1650ab4a64bc478b57fb7db0eeef0f0e4a891670cff6f1f30e8b3927a2f2f67da1d1275bfb0b06c6201ac4d3599d8de41abdb759fae474546ee145794d41733dfe741f54075e0b3c818f8830e9222bd09552c06447e725a06bd0fded3c88f7d00854e9036041b06191ae3949ed967c618d5d9c21d2f35d2604c355ee0d3421e4666c6cc544e2eb39c7c19005d108ae266f4901bebb9c31b3427b42358bb9300b3fe23b6164fbea2f05a95b75786456d39968c4ae92831345740287fa57f78284e06cdab56d52ee9cda5e0feed6b43a8a561dee8e9b0f1e2d145c4f08af6ae5d11160519c83dbcb89d0639927832004a3ff04e844263ed14f9538182ae2ff6b2cb922486e5aaae83503d75af63520a26c537a1d91f29a44971be5e286c1fda72100e66eaf08a1ecfa5d4b6a80cfb79b528bd486302ae0ae55cfeaee24b162fce2a1d676ee3f34873862e10d073ddcba6d71140d945539f2505ae9cbb1a52539609a7099d9a7ce04e050fc5f63a19624264de861d51a851fa8c9e47a716cf0dfa95da561503da2d012c04efde22b7f81491ad74b820fd9e3fe647c7b804cf341d6f7e94d024f7e65d89cd7797bfdeebd89a9d03a9c7d619b6466c42d027244a20dcdc66d6810d916337b79fb70ba09ba16e51cd8f8c92a1057f49e63fff23298443ade36fb74dce0fd67f6f74045338a81b27f3b212ad639a195a36493d22868461f750cc41498e8e574c279da73d2cb3fce8fbc9903b25355eb391a61964957d51199e938093d403689d9ee48a293bf996e320a12af13c25f02eb5f7585d76c5835804d5871c856b0770f2aecfda90f8140d26f67aeaa6d4104056e1b5a00db61993f2a14cd223bf467fdbf053b1fca989e5fa0348b8578d53d9874197ef929d16d212a2eaff80c44200fcdf7e3792a9bd86760657cfea73c417be80d305967f5d11f5d4863e444330e94ce2d66566248d3c81282667610628b24444aeabc2e3a163d3f167e1f3ea51eded8da182d232044ccaa8133f5376c115c46c65de5c3df171519dba4675f37933dca2b55af8bfde46658b49ecec8f89d2d5d0c52352feebeaa81551e4887618df4b8cdd97dfd11275d061dc6584551de7eafc806ff01cb30bbfb52494c7cdb164366cd9631cafa4436d9c18a447689ed4ba56d6e378684f850934211566e6cb585e388536992f3d1e08eea71d613bdf732cffce960afd133a6d1fe8358777e400601b40e18cead33c49034595928ca7c5ddc1514bcbd23a5bd709de46c043f285267833ce73a867e68613c99163bc5eb6eeb4167bd1fdaf06847cef0b9bc35888956f5eb4781f165534d44040a447787c88c47ad60eb7de6352dccfe9721d0f5c5bb4babe795ebfdc0aa77fe977990a9979a2c065f016fa4fa9dd7a4556f0b418d5d5769b00b960c193e5f2397ba9ea0356a69efd22c0c5f36504ab9dad0465f49cd9b76e262cec4e0ea51f2b2b352aa244442bd7c736a8cdb6f222d516d35f9b73af7e0b5f836983fdc05afa489755fd0f9429c90d87680ba96d12b7782309c1a8c3b7b127c3bd529cf399bcecc83a3916387f26d9d7c91f85d432dfa0eb79487ccf304428c549b4efc1804adeef88f15e69eba5d80ea96ca2ad58d3a31286aa3e12e08544b69da29c9f04e690e46c37b8aac6ccff2f349c7957085a797f4c3fa5513ab539cefcef2421f83bd1607fb0ea3fd4f211c4cc73bc4274b1697da950dc9d3e76f082629d6621b9fcfc13052c7f7d24e41182995d6f7e352285f9358d94e1b077b4cc60a7ba98adfdeeba1350aa58b5b76fb085ae198d0df17e5219c9f908db5f379416d03a67778ce1ec8cd1af96b957edcc267039f1d506be34359651717585a72583b48dd686744b03301682d39b254f7498db72f47910045cc4311ac3a739b2ec905d05e58beba0c60e859e146975d66f24e4bd8298c1d5a448b0abf479791efbe91b2a59cb0a45544cb25588fed3b6840e02e061df95d5c17d6e8c113f563cab7f12d937b44bb079e767ec5b01691398bd2b99535a3e356b8867fc33fb063a8e73b5e22e44c71810967ef89726e0202fdb2cf12ccf7405acf3d31801c6f24a536b1cd06b5cc4d716e6441416e0ab46ea8870ff80f3513073df13a445e60251a173ff157059a94204ce21970806274a0dcce466a07cbe56062e4b66c8807634b036240438b5234babf95878f942d0599e4927008717a706cf215c13a49991a53108edeeff3a352ff359783f433068b58b7b616402878b9bfa8059391ecbfaf06c077823d3d337b1c200d18e721d425612c97f4fa1248a74e94c68bc2e7ed9b49884dd2257b6bdd7786e270f9c32c37e238c856f9d79874c0510e184392409b6337274574d47ea3020de06b2e4d4d238df79dd865c213b9543aaf12d4f01d7bddbdcb10040e490ef2f55726eab3fcc8a9719333c473a2a37992e89d4b6c14bd8202ae9a106473ce6e0c9da0a25d77002d5fae8e33996e516b1d14259b8a01779e1c58bde83addf572ed6735ebaebbc08f0a87cf1a237ae815c6685862c6b5d76932e85ab6bd79c6db2a20167b3739f2c404b0cb56ecf7c6f03d0fa2b1553b6126cc2a1a5423fdc04956c1e5c61e135a07119fcbe4282a4d65a55e0c5112402b1a54dd504809351b91792f84af720aeb5ecf78d8a3f080df5f3310ea62d05490b9e6b22c4918f5b5e3be094a2195d095c8f220e85b3f2fcfd1a6748a18b4f6baaab350db1373420ea2b05580ddce64f1e323c467751dd1fc9a92d8248937c6ce1c4471488d03c03302d7642013dc2e48dfd60ac07b0ba1e88bd78b7c37f729caea818da20c46dc48f169603c343374b907b9481b838091a613ea97ed372e02693f4335f0596a777465ca12e4e69841c792efec2071cb678ee5522bb3144e422a7d70dd2c17b08c386950d4ab73cd216509f9017b0e52eb7a6089b97104b9c969654862176c8ad5f50bde51cf7ce67dd3129b60352d2fc91fd09240287ebdfbee0114658795b8f9c51cc9522aa67fb3a2e1d1d5986ab309d3ee50890afa6def798f0a0d6fedfdd0612046067ab0e37f3fa07aab2bc00f5141a6208bf49488b6c81977d19c057f4b4d6e1ce72854a4679ba749dbbe112e23c6d99076f52bfeb421f9b29826dd774879bd5e0b80d063e91253a45491be28c6ea0848a756a894bb999774686cec9ade44722058756d369ac3a26d7df0981c50f266903c3af80d2009775a5702cdfb3336f6c59e930328fc23e866c20d025d64cd1a23e8b3357dfa2f083ff4b4372475c7a07ce3cdbf0d066d666d59e7e733983c9dfa9af8d291323f74e182ef7472b02a562dd8f607e137f5ffbb22ad5b37ab8862d6ee438e6bc819e31c158d48ea6129d575dd2a4865fc2f1e9b0899b6d7a98b04e319ec7fedd67186ad8fd03fae2593d9e7128dfb9ed9066090d9f43c5aaa26dad26c82d93a01b571a7a59f6f8ee3124274601931ade774844e50043a53f61feb346dd15e14f94fb9ab5fb2c5cbd12e730c7246f7e19b88da128cf0bceb2bdb4b07b1ee619f287b40f80233a4c630cbd573697541cb704860691f695e949207a14b85a74950285b2ad9e254cbc9d8d4fbf4e7b8b1ddbad5c0578df90368227b093f687353aaaca94c9356ae2a2af74e7646b6f28964c8daf61997df2f3958aa3219d2514849555768c4b9d6caa39c584bd78bbc829625520e24be9adfec715538e9f0eeac1978f422b2cbcd485cce48d9ea7265f59364bc7645bee83fd9a500b140a30c8e6c37d696166aeb70ac6fd5c802c63d0ceaa78ee46569cfd95f6da3ea99293ad364529e4b2e21dc038d7271852edd9727b226c3b5d84609dc4c4e4bac5a663e0b097af2bc16c7638eeeb4f8de19d861ba1fdb7cfd64a3a0619ab3f94cb9c36f01fae9dd194428c7ec8bd1d5e69f5f86793a768f4967eab0d61500f54c720803bb938fe002ecd2e1b00dbefb422ede3056b4db96436a0a8a31336aefbf69e6d7c9898fd2b103f569ff9d4d15fa33e4afc442aee36b59504912f10524be0d4b2d1c59390d2ab75823087ecaa33388b76c98d25ab3b1ef886e09abeda4006fffa70d74f10f358081ff2933b8ade19073dfb0f77ce89481c5c0a6f73f36675d98295a0d1bd5b68a202a04186f152365f8f510f004dccfe5ab2eee334ffda3266aef69c9f0abfe711160fc259d568436cfd22e186a6bbcc9c09aa8fc5f851317df148f26a8988a14431dd7692e8334007e22d688c2ca9b4d96e9b9498421681242310ff7e3622924175984a4161c543ba3881d268599dac571a34f2b9ed06b33a55afbf43548094bada927becf9ca7ae26a7d218e2613a96cc8e4e69b5241882a88d1739a091abfa64c61a8aeead182a9ab9d66957e296799e2059882a582c4b5e30324dd99759c5d65233534f58c348a21b0020477d089a524b560ff8a2155c02ce64ab6657bf69bb8604fcb0969fb6ab4fbfb94e4ffab8f55bc5d9d73d7b9e4545dd713d3ac648886a080cb041295e0766f3a223c2798e610cf7b510393ca2b0eef62261a03d54f3e2e3b3978c8b90e73b42dcd6ad60c6e64822b4e0325b90acdb35d5639eacde508aa781c98524bb1a25d9ed15827dba19b83a815cff65e0cd83acd29e08aebc3cfae1703289da98274d4d514d9931043ccf5557bcb05a6a5fbd1ebfba63583e7d1e816747b545ac1acd6f6d45680cb1ab23e7e250aeaf157b46034fe609c713959dfb26c298a6468a2c2fe34b2e91d068033fa7df3c5391152eea0f2511e6d554280aaf701205df159fe1fb489309c1e97bc84a7cac3b37c7453d411adc48e125ddea29f40cf01c532bede3ba9fd3f37e57418e00b75e776ea6581af413e3881b3b7ac51129ac61c02bdad98b629f84885650660f840d1adf608e3c1cc4d0941bea7933ef2316e3a793bc483f3b696bbb1a00e424083f8642bf2aaf7ee91af6307299be8cdaefa99fc1785754a82944fb6cfea02606589300b51b9bc18b9101ed8368eade3fef684fea3d1f22214672a1d2dff10257da309039076c06484b59155503180dd6111b141ad6afc5eb6098096cc8c47f1de1d6b0065c45b6b38b1c17ecc2c485a2c2a9cf7aed94bda8e3a4b1ca80b0f5697a6344df8c1483d32ecf05f1361805bb44d01089804f46f98198e993a2cfa80f59e893d830c45e0c5bb767dcd9346213cd1e81a996cc3b61421e0edb5adf583d0b54e819784b28c74ac412e02d36b939accededdc1fddeacc59130cfe66fae5d137f8cad3ffda0aa3f7da1229ce7daa4a6546e6efcf7a1aae59dcb6ee2d11643fe1c57c19bb14842fa895c10ae02e17667a1402564a866c75159428fea8b9c4f0274df512fc01f851b4d96cb46cc35a6adfc08fef81a802feeea8ee342bf85c673526b548fc74ff8a3d9cd38fac876e1f779cd210dcaea7aea1dff7bf8f75864a3404b7c2c3cfa2c39fe3948cfeb0cce72bde1a4e3cbe441e83f6d83d14b67e402cc04f0bf0aaf78a46a2eaa68c66fd5448a05ac3d865843b56e61789f4bbb8fa19beea3f83d0a392931390c7e08eb643d16d655fa25d2b51829ebb7fc7067ba7ed1606b2ea2b665565bbc415fbb76fde95a48daa2224ddcddeda05befea0ccd7cc13b2bea62dc5723b4792b86f3a77ba9b393e7c425283c0cd3e7f31094bf1b3024bb4eb861956f8ccbfb24fe57246a3f9cae30b145f0614b5d98ec9e4068fbaac88b25b60c0540badaeb031ae6139dba1225d53785fd0c5aee08461a4962c5326c4aa19800b6255c0db08331df7ec2a5de0f7d099ca51115d361cd978d0c6e32ed71c1eeb6ed7eb8733b3578ac13c125299a66abd1167452d6bc18381403e274a40bcd253b495e00932336942ee00241142cec514f4bd4cea502a8dd3b29071981e53fe846157585b8f1563a331f3eea40f77c987b283b0de4920a9ac5cf253df69b70bc2c36b26dc36576eb3c0cdb17e5e9e1e6441cc0a2c22b208122fe472a1365d160bc0f9ac7ade677a3ac790d2810b96f97f8ea2d0e3a995974cf556e72ab88bccb014ab025b50c18a6730166d419887b36413df8801dbd0685c445da231c4db52515f89d4c465c5086fcc39cbf6ea62415eb4199ef5bdd9bdcb8c694c3d4fc9b167e77d8e4bf074c8cebde79d32f56bc78c5e0117c8c052e028919d73be0d724d04b2d67aab834ef01b9b0be925519509183287babda078f2d2c455671c35dc182ef660ef68ea4c87e5e1198b064ae95c9e790a99282e80b78a1988a2d5ef04812db14747ee309c382a671088769f8d96d725eac8b517b049de7c789856a6d06160dae1086731ee89d7c0dce9de53bdd4dd48e712bd9bde51bd9fce66cb6600b730c6f7a5112f72647b86721960dac25e3df4bb162e5e8adfd058c67711cec8a5150f74ae744b3cdab0c5ef73df65a8e02a27907942f1aad61e49c9952d427e0f624df8c3568b6f3a554c27e805404cecdbbf2ff60279a158844688a69261bba62e83190fee2e7c43c701a97e16d543c045256a041891bbcd7d6ac68422702e29dba0ccf9fa9c2b843539af1c6061680ed33f8d28984cdffbbfd49753a5df88e33d8a0700401b4cb3b3b3485414566a3f4b0dd5d0a152e53bc0315a420fd4a92b880bc81a65798b3fe8d7dc25981ac3589cfc2edbe7f6925c3ea293a304d74841472c646fbf717a1203a44b54b5090b566464b206bf355b39c82d65326a18fd21d2b4854e9c625dbf2ef1af2f0d8edfc8789c1d8d59350451fa0a252ea2d37e2e3563418e7f202655d20d2f01b1b8dc287f2c6b86d1171a842b73821004cb88f216814268ffb4285ac5e61848b07e5ce08c6927e1e09c356237b62fff04ade69b4e9eb1d2b9419467feb2f6c93ac2b4c9a8fdbaf89b494b6db67127f35c1f1f2a7fd8edadaf6ba78597f80411adcb4a05fe18712f48c886518a7973d67d4a93bfd66f14c8297c9351ecc427effa59c3c8781a746b22126996a0f81c5bf0c6f0ccb46dc734114397693a7c0c0cb03d1697bedaf7f7ca50f4fe936bd8b22004d23ea0d495e2fe062dff7ae6284854325baf1bdd4278eb0d3acb84c49c036d364cdd05de5acb1c49af168bc986730c9644a1786cf06592a430942d8a7f05a6e9050ede4c875dabdea8b4553c2ea5c320823ee1afdb039b14858c781635b0c091c118a9f7307661b6fb90a8285965d3fab0e6f2955fb89ed1d67226cc21beb0232215079bf4252fe473d483d4104efb0ae24e9afe61de96f723167f1dbb9efab6d4eba6a955c93c370de22ce09d949581bb5ae639008919e4397f1f8e5dc3e8f3ba785f833a5230d8c6f64bdd82323def95de7e6557c983255837a31b23049b3dd0068efb910a159de1de4d49bf4fb8b3031f737159b64a2594e43ffdd94ab6ed3b1c84ef456d9f1c74141984b8a227ad859317372c1ce4c918cd8eb66d7aa414be7b1e6fdbdd8da124ae0482e74f1b6d2a7eb8302a09270fbab7663b06a13a0fddda0560f876b990165c32b106e8e143815f2b66a61298140c56c004fb8606466d3bee78e182a1f40a080867b4a342d10ea3ad42e3007a0671ac9f752dd1434f94f4c37a7b300df94f861469621a6462445e83815bc839ea8990f4e4ec6cf1dd7ce2bfc6897c44cefc504d784e8bab8fc9e761457d0baca1e2c9e4a8c3d27ceb9e94285175d21da2edfa6c81c74b9e511786dd38c46f58a637a32adeea46c6b32cb1c61d6af9e41705fdf9a990ed609fbf0ba9c5c1ba5b17a535b67cc18a6b62bf9e54f5c44440896073bda224d6f3efac2e138b3b26f83858f6461da6007f031d3e349d8177b160de013a67fda9b116cbf1a8fdd41222bd980b905d19537c0936c86bdf2451df6418519dc1cf67d155fd2edb6a532f212937297ca37b654e8b3f739ab68166f0f20b5ff1b96283b094927ab04cf1d1e858e27e64b9f03c8311f7cddc337245a92dc2d9e9342012f118d6ff9079113f1a89e287f92725f8696d3e2d6757eec68c8ee0ae58a46644512b2e1c40be3191cc203fa7407c5db1a9833fc9fff6d143147caa3d02b1f5521c623dec11ccab9c09bd571b2ccfcc3894c2083b867c59ecb6030a22dc9db282ca1491eb1e92f80eb7b46f8e09bfbb5b3909b0aead15616b3af55846d847184f3c0e9720fb5eb8c53dc63d2e38c18ba6b8aed97ca559b031728232bb86cc46b40c6a64fabc2a2b573af1b6dba5c9c4663eb362d9bde676025fc82775a4ef1f797d7688d7e0af4c894a27d055f44e9ac744e65b3d5c508b2bd7691bccc51c85bb2d84fdc92efa3daa222cad38c14e991d04e42091699c19a88568d11c16b758acafb1a3b50c70112e3792a80045024fa90e463767c686afe30a88d79fe0d488170c0bad33170c08fe8ffb30a8172378debb3530e360928dc5670389c718524039eb349906259e22bfd0df704162a82af09cce0fa74e2b3353b73bd82ce38240cebc573c0e48c10bbe540db6041e93cae8c5a57b67aa66f2346a777b29ab775be475a07033964b2fa3624d547c6584eb9d0d5424d51f0bb741ebc823ee80cddd27210ab5dcf1d97bf08749e5ab3ff9dc9d46f27426995bed0032094a1feadac7345310c830edc0df33313e526154ef63e4fb8eb6b99fdcba94cc69c5e548a366315e838402b47f3d60fabc528e1a4d1fb87d22931ed50fcf38e64e4d1b89649d6e7a86e3f0925adbad978b03caa61fb0731cad48c3440905d918df92c411590fac2b64ba994862179b13e41d7884a20f206a2d59b2b6f65e7ba53e846469f9dc13752ad94b6cd27fa2d14ee67d7839228578462a515a7ea55d2e7253512e5adc7efd112044471138568d14483651f6627a79b7d50cb453eb87d8e719927e1475ba9951be8d6205397c6eaf2d9a69770e10b4a48b4d0186ec31d902407b8634c24ff9d5b9578614ba7f9c4bdc159d92b54fee707e145c9f46614a7e38669a0cc5d4e08e6b970465a63bb92a041df27a7de166e8f0185c5873a03529d439498c93fdc2ca27153dc117c5795be560c99dd81594a64a4fba9ae5e785f4568aad49e6dc95f53993fbe37bfe08396db3bcbbb5fa0af4189621fe7650307d27b43aaf7219bdc970447486062b9738ddf571f784896dd4cb804cb19056cc765871e39f93720ac41c32af2ab453ef869d8d8004fe862549f45167402a1d476b7a6c7157ac8b7df27cdc77158ee725ce1edb7c2800b9d10f897488951958b354d16c04de786c089281b653c2c9dcdea725fd5ed4e9034e2a1cad575bf95e47600296d7478d6171942754ebb36e97f929ac4ef6bbc847738938a1ea43f3d01166899992b2210cd475fcbfee2b2caca56f3e06453696590cd09927a88b12b04f209d84805d391a7c2e4402bc1c65c491407079cd74d639dcd32e2a89d56ea45dd7f2ad50d3bc71f3131abc1d954d8dc2ee9175e99dfc93a10e155f4490741b2760ec4c23e3969231bb130a7ca7a63fa8ced6c6b9b35e3e5ff5079268d5259701cd1a9e0e39b410410d10d174961214801adb3f03963fce4a5371207a3e83e21d9e261f93adb999a129eeae2d7a20323a70f5059b1f4dee19943a462cafedc7dde2a673c4a034e63f3648a727da55570e280fc46f4ef3b6f3277edd9817fb3b4c2ddb9f5758e68fdb6cb3b545c3faa09255df687d47b7104e7bd11fcff3a62af550a1a5547ec620ceac5fe425c39d345193466f7b73ed14e8e0b6e517cd95a242442663aaee391089c88e9b35447a46346fbf58d20074048f9ad810e41107ca3a8df6e91ae7fd21a2624ccb5578613887a046106363dc4cb91156df7c6ee9ac6cf330cade3bd0b3f78c5bd1e17faf9a3a583fd10cc1c92f9f1b2372b46ffda067c8ceddf41cbe0615183fe707d0c47f81e034738d54fd3a07e97d7153c64705cfacef5c7a670dc05e9161323263f4fdd6cb993330c40a945acb39665aee0b06a2085251a61c0259c0e95bed7b8366a5ca778987630314be1577ae0ebf5626b640c6093cd63777eb2dfc9366ab188e7fcc40b8ee099b8f7666e69a06a37d23ede5ecab1518a48091df53cc973ca7475ca365ef3978e8c89a7f35e5fbec6bf9a6d90f610e899ef6a1f298c8fd90c0eeb3ed419aa3223c9d15aa35b2b273c25287ab48f796ff8a32db2b6f8c214c3daf7519d5d7fd662e6f07aae3d05782bf994ca020049d75453b4278bc937ddb54d4d83f4e2f4ada3360bd0b641e7d4022c83f46ea412e585b27479834abd98e5d63cf08a5eec63fdbbaac004c97ebf6312492536fc494791ad0037c0f0a01bd4a4553923f8c809d5bc229584bfac667202a6269bfa532fd9cadd0ddce1410919aaa6c32d5376e82dac7b7a015217b8f2a3d27d87b22e94ad144243de31428610821d05708e4ebc4bbf0ae25d85e97eef5be0d1e9afba5ea3cd0740535d1ca5510b3777d7a3ae2eaf366d3337ecea708e8fbb9e2c618a5a3e6d8f9090d6748ca9593e0201bbeeb424217af51539218c612d11fcc52b18e1deabf614ec6f6ba1edfac835ef0f537a5a9428d5dc0aba7bbe1ad0e1f633b00a2e93c555d1acdd59c928987c5a4b3c931c60b842deec6aab7ec6fb21afd4e29ad42351f5da8fe63ef560e5cd0cd005b84a65ca162eb5627182f812e7413b5f5a3e5a7d07a360814b6075e55ff230664363e15f48a946807b3b4f2d6bfcc99ae6e0ae5d45600f63522a9d3977906db6f71fbdcaf371ac2adf7b51602d27415f3f1c81c5956eec1fc23ee5e8d1aa6f23c86f79442457290a2eb72872bb71634b3a7e1398e27687e4a7e8dca623e02ed7cead4594daf419c0c411e277f4a25427d4849bb512657a1b3b1d5b2db24f54d1aa25270cdbe28b9098f5fa75a569a922abdd1de9e70045bacab3fc154be74be14de9d25043afb68d77f63aa326a06f2c5b0ce931f94794e5a2c7cf97921168f36ea99dceb7caee76c3c61c464da37f40d37d3b0ecbe7a441bd610b911b0cba7f73b875c1b4d60baff8b31e3ad888a6bf567fc3e547b0e75d339355ec8c6085ccc62561e268aca4a56f6778599780d0962e0da24c84f6fc316bc4d3cb3fa9b1a22dc1576b04bb7665262cd802ff9b1da18ee369c20fb26767a1b6cd00e1b748b09aa3853bcbb6afa20af6e0d89e1e9aea31fe8446b171707542dd8e9c341917c2a0fdb73defdc17b22d3a497ff7eb84dc32a47f8bb7aaacfe1f1263ba0941eb56fcc2039d733e2d6a49c91713881579a76b045d04117616a04f8f6a4d64f3faa7ea96cd68b8537ba3ca1bdf4c9d4947ef6ae4b123133b472466351aff0f7e8dba3b3a08593d1d939f2b19be8e75c8e5898237632df59781eff7bd4629719597aa0f663b11721fe5d2085cec163a4ce42861a9a0146ba1230e3de247d9a238958644d0ef66095764783dd3f7cc72da1f944aeb40c6c63f05a2233405a43606feef6bc77c933363e0a88936791ee68a876af583b99a2ff9a7e9b2aa846a2adce5703c20bd0570e3b4f5200aa846f6cbf7d53d97ea469923a69203c6bf53f998e5b22b3bea16985b8d77808756f558ca6e5892d43e75b13b085ac62109d77c2b8bd2cb407f18d2bcb855323e67d2e8040d418041424b643442405096bb99f2c89c9dee172059d6f41f9e3f744b6bdfabf89b10eb94b89db9531b2bebd9031881f574905f1d7d46368c9a6d0b19b5ec13d98e9e9b54698dace154edc38f2f8cb067b4b0012226a509de77123d530f58388446a8df210dd4326baf91a60fe3ab21836c80ab1e195b9d41e7bd95d93af26ff21f133d61d96f792cbcd2d2a1ebb2715a1177b477fdfda16573e74d948eb83c80b9fb31868adc3d368f24108c8001dfb8990eb237020cdf4a3c036a2df4d812edebedb5a07392243f116d835c2a919a3c7a57d06b86e1cc939c1b0d9a11e3b968c90dd8c4bd556c5df3d92c739f4db804e9ea72561acb0d030cb8fe1d4b0d83a9202e68ee85ec3d435317525f9d62a1d5d9030a30669dea179aea60c48dde298265e5e8e665be118ae9969493cd4e365e0a51d9cd749ffe0fdb1d757ae58bf6e4c99ec74d54f05fe9c1e2c90f771c8deda4b9055516efe8371a77fff5f910e7a85d310aa9137fdb151847017aa6b7edb2831ab46f28d712208e8fb58d29722d47fc3dc77402a273ae23e4aa4838ba8882972f777a0b145d5b5a072e123881ed9b2897d65d80d056933ebe8cad0319918c8993ebd0b88a5923e87a1b9e548c9ac98a12f1c45874d3f15b6b832a72d9248683c1492afd3ace472c5802be2e62017fbf526406ec17fbd870418208d70697a7256a81a9a56934057afa60f0c849ea36219f3e234e0b9da0eaf3d7aa6af6633e1014a6b6e7e4777677ccea632be6c3c76b02923660b46d3c70e43f03bfd7ea00215f7c905ed499508dbe75a197864ed906d82f69be69fab739e566608f14d7ebf6a646ed02a50e5710c46f7173690be4c15c02a711c5919762a25087f773c6603dc5107490f2f6872bcaf03fdb41648146ab828c9d59754bf8872b238f3aea72e7c2fc4f47c18cb888ed6ec00f7ea6371bb90a8253b6f27e708c1b9aa87aa995e3fe16efc7dfe1d3ca399587ea1cbf2799fd1bb0a208bf568aaf7488a29af9cb24f07a80a9a5773d8a824065a000719f47eeaeaa2c8bad5fe265220809815d8607289ed51c084124b8f29d92582782fbf4601d74c440649382c43be14e625c4abf15c2e7edd3d952db90c557262cbc22f7bf4004b5b0157f48b19d11a978a22c8739e5db69a6000cf152dea695172b5ee3efba122aeb0911da10e24a7baadaed315944aeb80d13a1e3d30b8c6b0985e8461769dbff8c6fbd08890eee9d4cf3aaf3cb38cfb1a533b61a029e9ba15e9d1b9c40ffd68d3e3c9b922f16843713cade90bff91f2f9ee8468bb09e825e75e32528ab35d4cb065f6bac3e542d5785ccb12627532e2b15c8cdd177f17ed1f8122272807935d9ce9d2d0e5bd8d0b282a37abab27b26dcbe8656524475ca6b788c9182528091d79d15e020919b72d44f6e3ee86c999c1369600a59d15398b6582ef1e86ae8e0d59895815cd5848be1a77657a2cb72bbb91223f681ad5246bc0f76ff499ef45efff10c967fe25826cf1851112c84eff16e543bd68645fb7f0571acf4b2e1ae348ef1c8faedbe36624acd8dc97e7f5f9662fec327295a1f91097cd2d10adefedc8de387a475c0aa0486815425f382c4ec316d3802fe193fcf6ff8737171eeec18b6c240b5d3ccd00093d68334b9c171de1457c7147e9ac6b132ffca1018840efdfac02d69288755e8e006cb3cd69cd3ef70aeaff25c0b9e234657f8e0ff9f73de9f0790e7e287a194dd39c0bf20d185831be455e649b48368fe331633969240f36a85bc14baeaebc5ed00e770b0ee43722210fddb8fe310c3149cc5ac3c9747d9313ecd4addd3d9a7a35d5c92bd519b391518f95cc7bdea71cb2ed4f29e70ab49f4dba2fa592b343b89f69e5224e9b6ab475a66c90f46bea12d09d344e4a8547893eab25859ac30acba89eb400fbea1fd4007b67acfcc66a7fa5c08fdf927623ed2d882a1c3a49824f3b42fe526cd9bbc52a235b1060a2b98438c7857458814062d0ccfb4ab75784250bb670a82c549bb0bbd0c242dadbd5d9d88a11717b61875230c5ad487ffb78a833d03409a0a8a34efbc637246baeee20e2b4459713ced927d8ca9d6ff2153f03f562247981cfd06ccb906090c1bbd8031e6e6bee9d14684c4007673b8e95f8ba398d395c9cc917febc1dd4c59b7ce63030009ba8ffab3e584ca6547116ac9af404f157d48c370b050cd671e80ed8143023e4d07ba5673ce0f5c7b38cb1103c0c8d32dce224a12363b1ad6bf94c28cfc16eba5937186b936f22189787f0511b8379a1ff2b4ef82050bedf11cdf489a276629a642637275f4837a6fc6fdc84cbafc680badf0633a25be7a0757e068edb64aa2773cb476a0689d35d79ff66491706917aba58937be5c525d0f5b53f093ec5778d4e328c9d88cdf11b994fea7247dd74c4496ef761f35185fc310ea2d3ed69fda191f6183563b7551dc05556e45eb3729d34a6b19ac157f43ac466acb2451e01f4dad1e6220c2ade2fa6f9f429fe33f0c696d0bec1ab64e8b439dda7d5b3881dec68d96807ee6609c5c9e47373d62bde083e4cc493a88aec3b3694bc416e5e0977248a02e12bfcfba790dcfde7011816f6ed06053e11dce7f48ce8e32844b1d9d62974bab837a83c2c0467b4d4ee842e3cb441daf52fa50d01ec00a0a9d909a75d17bf32a880039a03a7adaa33acb630334f9c88e3312e26fad1217417fd9a5b9fceaeacd9741d75c9e16d2c9121415929e950da145ac1177bf0a4df80d5ec31d56ae2c236cceaccf589154b5b4ddda92a5041af2ffec2422a37efa27f4fb31c46e40e2bc158185d34777f570dddc0f340df5817e68f3ec6822c9e0017bce34b62348625fca7b91a130b8a9e686b3a985dd3e1f7afa3f63fbf4a6c208cb4f0bde81a0cc89d8a8777363af53ad78a7184aa63ea23137e7a882d581967fbd1030423c4f170707c34b09bc3e049cf6df3f6cfafcd2a890c9d91d669f44cffe864eb401c4dae5f6a0714ba3acc780cffe8e464c5742cf33f9f17a4fcad9aedaa5cffeb30cc0582f98fa403fad1b384b576a0baa3b576d25f29118a37be293969ca7767dee81d0276e605a748c2458e5c194dbb5c65542812f0b46a53391ae780db89db88d1038509ae1791b4fd791a968cb86b234e24ffc1d6926745242fe9b79a6dc1a28773c22beb16317cf3d8177bbc49b33a0b445e5c9a42941549e982b6ad187181433242aa66276c9cf0f87e682235070699f78fc723054ad3f5772b973261ecb3191334699eed8a7972eda1ee5ea05d0db0fe6e3ff992e2f0053338f787cf89202e6a186ee01a3df41b45ffc166bf3dd4dde0a177044adec6b6ef6b4043506862e2009dae1525c705bb0ed92582bd31652957540159fe59c8aed21a64b3b4ac77ac2f0b140bdf84df63352d0eb64a015af48d7a3accd7d2bb4b9600d8b3b93376f7e4a55b3a4911b0323c6dd8014643e522dddf7608f15b4111dc24e6dd7aef60cda02f17fa3c0b938c2523cf2c71ec419552627a22ec314600c6e054fb8f335b09a0588977a8970872d13c553be7574813f4c48c2d22b95fb2fd9df3ab5d20e6d1dde8550d45d3e48bdd1efd0be8acba09b5483cc43452c161905bf31b30383c59a18727f43cb36749cef077175f49a434d1ceb89f980e6bbe80db3b65d5aad4ea3fd5ca98353adc8e75c80ba728633321aa2a7883cc51b075044fc5cf1df5cc7062b6eabe3dfb6a53df4429966419dca0789a0f64c3e627197e05d0425b96bdd63fca6a43313993ab8d464605343daecd7b14ce0d96dd09bb4e8b340f7fafe74d2aac2f6facdd4322a6eb0040b5a9c84e49494127431bcbe560a004cec4ab50fa3a85454d1c0a5498d967ec0e106c4454a7b3243e9b38108789245e25b1dc40d3af1c4a733fd300b245bfe96bf887feb4ab29702c0951fd7f5d488152d21e0655595767e5b8e6d2571a0e35b8c97cbd6f2cac1f3db0b37505f1ac622a4d8465dae8e15eb68dfbd4b3004151ad009f640415a06f139160ba5f23b05b22eb70ab0219e4b32f86e42afa784a7047fcd2b99039c7e0c901223b3d33eced55daff214203229d61eb47e9d7a91e897903ea64f19f717fea3525daf305a6a913975b90970df3389753e50d859a51b91f0191815b061c7cd490de53f904edd57fc529a441bf3c0247eb3efd341fef6840b7d7ec19b7d055321f540fce81baf34018736d7a67acc776f4ca6e081cf09f74afc35635fff59c526fd853692d5b5afe49a4c50d331bc029c9778394b5200d7ed89a71d4d4b198b3f2f351f29db4b7ab9cbb370e46972e61e242addabf066e4733e524db077f793f3d2aaa33bc3076c7b0009bbf1e863d912a068223ef1cc7816980eaafc6fb460b3e1427c30d78593b8953bbbdc1b42daf04d0a8fbc84f41806ba71b56fab9e878fb8c853517eae618364aff0d01fcead597eb1937eb87f7ed6d972ae08b29da68dce0e1010dc4da1c67eaf6abca22735a7dd099d37bc6ad2d5e1c58e24f5e56a4f9e08c150ec1c372379d48421e72a7ee457c018705b199463c83d7f4d97b4990cff964752ff5cb2d0a0d5f48bef9ee6065b291b5e0b6a2d53c917a4a92cde062bc71ae60423635222afa70f4afad3506ec757c986b2bc437e3c0b0c3bb3f9c9313b06ece338c13dc499a73a390848d0d39414bf5a758193672d1cc477d9ee9be1957bd154ad061671099b552ab67f4c8166f5b5f9c8d32419e66e4e770da0a249cecdaf794f21e012e2f71dd437d26abec38dbd761b290ae9ae500d889750fddedec71ab59aaf9cbd89371b19c3d23b30cca768bfc42f52cd25091ed64d7520b91e12021028ca8e39f5b439ca6de42f846559ab52bf4a87e034b20fdb34be67cbcfa936d194ebe30001a86b9a3459e49d7f6e9bfea47e77eeb9081b4fc4d4c5fbc48c84a4dfb3eefa2d4aa91ef62114ba4fc8a64bd72832a1b5416e8942eab2f9cf1667850f36e754bc276e7749183c778da936e671f709d8a2d9d47490408f0dfa05fbc064803456816030c4e3a3b62b47011f7a3f5a9e262c7cfeb0f296058ec15a2ce8d0ff814f1c73b38769e7f3674fe9cbc717b1089f77a6bb27ba047cb9556ebe34d861a1dd372e8db2ea104c25e4f319f91ae3dfa26567f54e4a0016c9133b73d4df5e6c8ab0166e68bcf2aa0f25951ffa8708f99818565e46227dbc5ccc24ed7b03e7ab6b87d40d2c4bc41c4156feed2f273451da40ee3dc5a0b84d93d2a494a596cd8ec958bbaf72550d0592fb781912eaabbcb41bf6f1befc899ae3e95b937b8784e4f76bb61c10af2be1c5e86f913d78c01fb296acd3c33a2ba6f7624e73812cb8898a1ce42596211bb826acbcb542738cce108ccb833eb6837eaa895c8925f17a5d613b40a98d60a43c65676576e99dba8d9e914f7846ced303922f1ce5422c8e86ec10b21a985f6ade9156c297c3e73940a7dc029b6e3a6340e11a36dd250c6926c3ed1edc8619a22c2c706732e2aed23bfe1bbbc76bedde5344aa1776255e72f585c4970897ca27d5c234ee515fc34d0c39a08d5993dc0158bbbe228ea090425e7d95e34b76be68b07f0340fd91fa909e3ec63b00ba9e8d3cedaded83db8b58b8e8f4524841fcb315ca947f0acfdf84b75a0c209afc43826521bd96787ddc5c0b63f742dd0757e30e0a2bb203320f4458bc6636574fc886f774d711001f20f4eb34a74582fbebbba2b93214750e00776369b0b3b87e707211f6b802e50c03eb75e111a5e6ac9f75c0c0d00b64537c6b7bf828b9bde6bf7707150a698ca0c5c287b60cccde2aab8aeb9445dcd247e5bc263adfca8b234202b0999adc1de65ca945530153f7b9c14d23b0a4846b9bee549533b4c5a00bb5b86ba1363c5bb212cba4dbf51ab5ab2460438604401608c33a83aae3f7a0ba658ddd0f4bf3df708785bc54de4335203d2c6123fd77fabbc0fe9c3ee598d61a48bee5e7696428b6354e59219347f65b3c7506e809f8e654835f8a30324da3cd14d165640f469846bedc72abd5d3eb8931a98981664e3c8373f1a5ee43c623f821216215fd542ad0a7eb3a2feccc18a029840c980d77e8a24c8def4247ad5207bbec368974c14209b6d30abb481ad28a0ca9fdf1bf4375248c8d82b2b08d99bf6f30620fa4bfabf761b59c8bf3dc5a6ce32c9eb38bd473012161b8961aa1210f875096025bd073d3835da769307220258d5061ae38071f145984cd1e5928effa261281a3409a383026f583d00619eb8ea94e6f182a84fd92d07dee926e6b3ebff6d87a9ee82a53e85da4bc8bf64abf27c51e4692e54111149d03b3e4cd73ad13094926af73e8c42b6f66453ccbe63d814754d75be8cc29750f4e1db591f2f145d52226f991c85cfd65e3c8d6600ff67958cb4fd3cb797cd9b3e10403e98f82c573365af382e1bb592e985664454cdf62cccdf7bd0ef6e6928f91508d3ecb901928dcda3f5ff0a830043374061355897d6557fe0b78db1427fb3c01bdf04e4c2ed3df8cd656b9f2473304a7c62176411e7a941e6fb9abd478f50dd6a9576a1a2033eb2c960bc130c885e2394664360599e95e73bc327de3298dfbff34e6a8ad38ef2a663ba042d5c8d5f7f5f3e8c5210329b7ca7d6ac130c87ea288282e9cedad2023909c19c52d8cfa304c96ddcebb0c95c4099cd75abbc64e846ed016f88c7abec539ac78b885c2e11e7a0a4f75d80000f3067e6ca0ab404b368b905edc79c4e22db27857a04ab9f58395b5ad6d417f09589bc71657dd25cdf9daedbf477fc213b20b66e72a39b9b2166f426cbd8e92611dfded1153817aaf3131547ec3bed9c9efbda0aa9a80874bd33d06a4e713915c0714917904e2987009ea5b42dd80c6cf1f20173d2cb4db2c673123c78cf8bdcd8339024b325c0b38d71fa996aed0b41df3351f05287f2d50f6910f94d80a8d6e9f9d47bd780a87f65f74a0cfcf7ebf77a401c27efd49d2a029260165f6e3beb3e22c6c2d586d6e60f37c0ac7b153d6188617e7409067fd3da36ad7e809ff5721009e786fc459d03d7627ec89c3a3b271f8c8233ec18671f26665e9f4e4008905fc0ee43a9a0e219b343b537e32767d5f08a2a7fbac2b6a63c73904f0bb3fa4ce2d746fc35f7b5796ec3963663f28a3b728a4f4edf6857ad21b47b5531f029993074159cd75828c31121dba50bb9948af82bd4c8aa3065a464a5d7253c78b1396c30512141280859512d2f98607f0b398bee5307b9533dfc540ec46c89454dbc93fd38049df2e1b37065bd8ac89b0cdaa548fe8d92a04bf5c2eed086a1214f3fae32a7881091fcf2e20bd1b8839b45e3c606c841b3d2edd74b5cdb06ad9ca3031661e32f4e68e22c7ebf08976e60bc5db4c36a292ee237b174228bc4e5e98033cc6cabcb21783837cbf00a07e5a259277a7531d9f6b0d673dde3462428655fa347c6f1ed636ba76235cd3f28876a31d10d516067a84c110b4b6810532ecab36bb668ed64d77b9f3a6e9a35bc0c38b5210884c8a0e4ad459248acd7adfa73a997c877b31d98473f1d3a2933faf3121223ff03cfc7085644e7b72cddb971cc273d78fa1b4061ce86fe8a6231a4e592b2c46cd1fc95f51cb49f759aef593503139a325196ff9aabd32ed5b5d3f1350a0e0005d2577b348767523c7ae28336039cac885fbed3f40d242a6a91debd6488bce51f69aea64f61874b400131465ce07970db147ce7d8b1997c410492931b6b906a72be9da7a3296cc13681736835261db60bc01af9ad94709e8c4615cc48c62b5bfa013fc818fc5d62e8abd1e08ef474239277c2f96b386a9e17bc9a506e39f917966ebbdaca633abf075f6d24a1f412ce58d97e6797fc7acfcc9ba569b3d339a75c3b6b8caba8a6a8435c9af1b5543ea27b24bf91e5945dfcc842cdc963bfba3d81641c94d7faed16e62be467220ac9cdfa479c807b6e240138ec120364c624fc14fa9f1081f0b8abff8acf664fc1aad8f09efb5d93eb99e4bffc8ebd9eaeb8f55e911377be9777126985dd301a5e01ccd5712b60e3626818101e834302a0a6f269dbac5aefe8e1e86bbfedfa7798a6ee2d6985d02ec5366c9f1ddc0f3cf7d889866ba0d2a0bcc6583e00faf7819edb63385345a63766f86ce57cd8ed5d9b68bd8ed4db6bdb916c5cc3a3ea90eebaf6a7c74044c0ea5c436c046346c750030695188c7522e9e4aa2c2869059241bb46bcf3d9a8e365a43725f24c2e91a8e42486f1ea58bcaf54bca886f72f02d50af617016a964cc63a674bf89004be72a123940d9ec643e9aa04da629ed9e8e8a8af971745e76ff6f7601dc3b4be1c1860130c79acb09556a9e87ea23eacd0c93ae3efa792026691c43aca20bd7f9d4c789c2e0cb4a4a387afb721757b307d0541a1ea15ccbff27146e974de69628bb2f03e8e737b7d5f04300b329ff9d92270cd2b74ea8341e2c02966974592a1496bed1dab940a788b935e4612c19e6eb5a8c35617ae4d2e01d625b8c45721c570e05618518850959e376da3385b1b126d38a17f8ddd252914cc17c5301f019ffc667ee36ae3ab1c2166735440717d5f9f82c9d3fa8dffe3a8eca9b982ab596b7542d2af8d54f9c4d85681e704f7a917a1250ff89399898a7dedf800e7b9022f068dc996853a82c215e9f37d5970582c763304abea3f4d956542eed01ba88aae950e0612a44acba015e51a1ad3398198a73db2d170eacc54e9cbb28b842afca6db18768cb5d0f8b5b9cc8d70f8a385ad91ebe0b653016638564e7171944f9dd9071af0ba17f1775ead53d339625f8310510568f944edf527e9f0f6f5484a8876e89596e6c3971349ec3c74d9c658c1ed71b776e3223d3146ce1be934890a5d43d8e2e15ccb326865862eb65dfbd667660d1d4acd00a304ba28f12f1d447595823ec6128c25c9cf20e6be109322b8c4f4a80963d9fcb2f2591bedbed29b4decd7bd7739a8e3b3ae3b700fb1c32c8b57281c60c6b1e0fe9221fdfe10e1d3cf2f6037c9396c02cd1158e2ff832227dad0d9704fbf0228dabaa8a6fbeeebd2abe4cda3b9783113314b89285f6f5f54f1f434a286184b6f06c15350fd2fa4d3aa4fd05f040d6a5380cb2c1cb43e99f31f2dfbd7632dfac977fcb25f73e622f36a98b4e6e0e600f07fe4b436701d0a774f8a366b2af080399a7ea1f390b7843db40c2007b2064f2ed55d58abdf24b06efb016892f1e1c0834eb373dca09f71c42ac5ed542e6d181675194dff10067f024b97c6cbf4c96042e01331f876177be78a67db9a53f5b40612cfed928109646e1583a25ac184107b88d45cec1f4e6dee291fc0fc34ff732781187a3c7eb636f6c0ba68fe2d4a0c1c79c4c0363cffca7be8e45563241617cad1fbab153755d3901915d8c13c13ffaf521ef807cbfccc1aa2830d679c52ef27af17e235c351fb73da6a709781c8470d494d8c558278adf9c937da64e24636e2f0b67057674b9d4cb64caa07e47b302de04b0fd101903c332504e2a5b97ecd5d1cbbce92d0d43eab9731550f9ae7470e57e8285f516e5609a481af5ce137722dbe478d8d6189633a0acdda5088d81b801b51f29240d5d4b442b7e9448b62872721d4a93ad39ad43aef6f3a8440253335a20f863b47566a8732e8014424b491ebefa91a7508cb5a640eb0d4e94106208eb23d5762bbd8a844e064776d0fb2ffeac26841dff2c2c6d9aeb11efd9ebbb52d1142d727d71daa35ae741deab8d2b0cc76fe7cfb4e2f308a424ccc16a5328259f0427797fcd03109982a6d05fa8e33f73d1613e53a6570d9ca7269221959e0e2db72d7e2aa3380bac8eb51cb89aa28b9942b7bc9e3fda4fe9022dee1007bcb716b4c6c2cb60c396de485ac03f94f8b6260af595934b64a7162f47a88e5eda06e83d5d0af41d397129241fb09781dca0ec66be7472d63c2d56a753fd877be4d9b63d2cc331a9216fc8f8dca6eea7d9502d82a30e688de648e37313c2e7cba24e290600bddbfb258bf1b6f524c452a74f4effd01cf657a41e47d620c7e1f275477b42e8f31772d803cfcb001d38e9097bead1331bfd3c79eb3e7aafe78f9bdde59d67cc09bd8e77d00e923a3680422b9b9c74d17ac5da7c0ca1b9d6ebca42d9466100fefc62f96e47b5ee1355c875962249b8c2c34f1c182d29c5fb13aadc92fc2bdbc88bbc18f69e3a337a36446cb14892cd22479bd62931eb1a6270904557fd971a93fa58edbcbd5a90ba0eea45bf2fc05b3e39b1d0bfab18a46b295e3522843ced4628c886002f830ff976fc10cb9b1c61b848e6c0d92ece07ba343a189643a351ede3e45f414087c10addf247eac36391c875282a82b344bde493dec4a89c59e52c5c9b1c0a0ceef448ebbb65b15f5a549b73345b8ae12db463f1de00a0dbadb0c17a7d13b904aba94fc15ae0e2324a9e2c41dfc753ae0e399bba196be986d724dcac5619d56d37a057475d677eab985763c64ba782645f79c0c78aef80abbbb878400d84bb7efd75eb3a318efb755282e9bda27a2f88bde22219e836d2e39a96ebc6410a16108f4fe219421775d3d8a46a04a7348a508c398e71338e9af5ffe9617ae2863cffe9a7e8cd45df5a5ca53acb16ee307c0af4791c5087bd4e581018c7d43f648605a79772fb5ce37703190100cf77c3e8d33e72a2ef6fc3acb09ca71c4541c0b0ff02599a084354499782132c42754a5fc6484d6ec14e1c767eb92a9735070dd1907814f3934daec8c29f8d55874948f15eaf81eea5a36e55eb45165a8a81a9066a2cb4ce08e238419dea54c77c7d31ad6b41e49422609a782b23dbfde2ae17109ed277ac606d170f458698067b35b911d6968dd73d87982a0a5d8a3456a1f3edc1f1409e05b99fbaba894076cfd77f67af245ce8f7ca04b4bb9c579d2c275e81609077d4c8b93ecc7edad6698654cb2f6373f87ec96ff7df12e1215f0a1e6ab06ae93cd47ceebc607ecfed7f51307985236047b40011cbf014d7b10fb3be8fd2d1f019af0ab84a892270598b3fac9fb4c8ac75868d628e9b63c8677cd4241e03bbdf45e39e83ab9651178d772d6e42666690aa426fb27464a27f5ed650ac5bb4e426f8489200f0204ebfa0f8694e5b432c9e0c677e08e619d4c4ac1cb5893bc9d16be0fca3444b827139c5fc950ababa22640e0e7c54d856b6d8dfdb7aa4fdd120e6b4165dae48880c72d5d142760e5e4da52ff6f6f08e03b26492ba9dd70e9145ef22bffa4eba18af1e708e921366ab21d0dc006501f52265af0276a2f62be187b39b46e12134a8c17e3fbb54e62c020ce462f5046622088c33dcfa7d2746242e328c3ba3bbb0039c39bbf3b141ba0b804ad8ed5ed5f1af2a1cd651f5bf88d5b98f9e55123e0819823b382770b0f6cc49a3769e9b47c03b9e796c3dc0a84589a5023a9471e533e6e6806eb9b10a2cfe6ccc576423d58e92dd01c11a8f39b3205c3b0ca307bad2665ea19e3d7db7762957d6133e4d4402509a9adda3c9b7587b330e5009eb0aff8ee02c202cfda96e2aeb9fde4565bf21937f953309f0cd3b92e7df810f83e5d72730130a9a5fcc344d017ad2a9346ed87809ab864194657a06a7062ae5a8a20afd5e3bbd65706605fcda5098075b1d75a1639bde0e247970d99b475e95989a5896390a05bb62f1534ed6104836909d17f21aa2a4c170a6534136af7fbec607ab8b47af088a17996f00efaef87287a5ea21d625f2a3efae9c39ca10b704bf205e3ade7de7d21acac7e0d0f0a958d847e488db806b69b82441af62256bcf66322a382aea5414f2bae10b94091001d3b83f7e64ebd38fc31f9e03c82423c115d1cf482bdb530cb624564c1e4d616ad73224efd0ee185be268523e76f1f763e000b38ff28cc66196949729d169dc68e045f10267d09446bff572ab0f10e906688a421f0e59480f41097506ac032acb6ec41f03ba031bf91175c71d514811ccac042f8a2e4d688d9b9f417cce484d9ea46c8bd49adbbc5f2d21d2521c95fb19a0f8012852833c2fb5730c720fd6d625e5e0f4015e37e53c12d2a423464cb0aa758063a88e661ec9f33ab413e8a75b9e7fdf1fc955555de74f0d9af89f6abcd0bf2f43c72a34e3cf0e953e007f67aaaa11d833b26958d46342ca011a15e2393a8d982b3d4f4a968ab846579d828f77031a3d5c054b43fee9f7c357ac29ed51d7ed66c30384766a4d5bed0d71b55f701ddc17993606b7bbe32011c9f7aeed3a2587adebffd67bad0ac0b62f168e0991dba6fbc773f8e74523e08440e35e7e6e5caa537861bf4b9dd25132098aa9e5871b25b581499f1b98bb3d3d86a54f9611f703057b011045b24be335aea2efffd89c3278b54d57519e69a175551d630e5f85d5589d2d1dd8f09b60e51240d45745faacf7d5f1ff43a03558f83257a3e4c29fb998b1e726722481368a3d8533a3f099ed8f61eb2738dd326789239d3163e4a5d805f888ae574ddcccb581463a19f6ac0467d9e0b27d015da0f91d9e5a224259f40e63b126f3df11ece2081194b0cedfa6bb53094ae9f66dc1fee8662f192f8acd96b408dd0fd15f197b169492b4b1d69d30cc276127c0fc5008f64deca35e3a8e929199a7529d7da60f559f453a8c717f9f5fdbdbf5d13e16036a9236492eede459676941addabcaafbc8de385f20b2c6f098214040800d321508bd3503a408e0b90805d66163dcaaaea96c331e9ca84bd8c8d9f30436567bf704b433800cc0e39cde1b7c9d1476a87726df461c0138851b1ba62287ed68ba90329c4372db213c75d9a7315d192fbea13c7b754624026ed0b9086f110e7bbdf29427a1642e42c2d50b5a43d7d95b984a4ba694caaf12bf568281843904a77e38779759388cdbe35bf46370bcb8024b4e8fb8c6a1be1cb5341aeb9ca1f1b89502bcd2d98025ddf25e50e15e9bd67fcf29e77007ea6e1349dd4d8a6e61f4e99c8c4b79e5be417cf037a6b827c3bf22d282f0eab9441a9f5bc9464b02875b7d7c00b26e4a9b7db7d6fdd8bb135691a9cfac5a921e61a739a3215b4ea3ffe7bea70def443a6d6270217daabb11f96908ef9356c1af12a4e552eadeeda92cea1fa8579533aca420d578ce9021118d8d2a32578d105d77c3511581d7232c2f6f03c3209bd5f0b0b931d8806591ffba6342c83bcb49f3a6bff867a1e4dfadfe130f02199265f5fe345e145612bdd918c627524732a88dce7086ff3c1a98f0c597b96d4fb1062707979191a464da35b687261e0c05c645289a408e73fd4eb93686ba2dd5129890fc20ab4718f3d5728599cc987ec58db5f8a4311a36c03574231559da8a39898339216bc50289d2b807ab05265016b32052abe233d231784fac99d29c3caad40b300ed640fc1fe6eeff7c3a0360663863fc4eff038e9d561f3e0db5d22d8b9283c7f155e03b40feef8cc4c33b669de2eb80367da02bc28026739754fa53b2874d235ff46a51814196ff1448589e2276e3095e9a6f177b53f7ce369b29f9d06f6716c098df892018a3db1106b3bfb2fc4f43e53c8c2c7c264a3caa43e8d859496d3b6af72e8bc61ab8936ed1262d44e011eb034b94dd57e1185a2989d17106457d2bb80f780c9bbb4df6ff54912a80a65aafc7d0dd7ecc49ceed3ec56e4681d57f2ec7265e9ae228959ff05c51f5b4925c27c6dd2289e3443c7e1b974596fa02fb9ccbb582fdf4c79029c6e7a28a176b8f0fa4931d6bf0adc30e74814bb14f364373a44d4f94ced840460a048553254400d31ace07f8749e6113ac41bb7ae8bfa157355a28c36486487a202110fca3bc589e5b1b830a8b7d2ba2c4a97666aa2e4e9ca8d60a33a48135379f1a7251d44f99ce4bfbbe3dc9b7aabc2357ba4c77de122cefc730f5e08083c38178ce8ec0d06ada9b391ec1c78155860fcc579113af72c1af61a7e6f765c43a03bd1aef402da61493a2fa6a405b3d64edeb0a3a1047a6d0001fce5baf8cd9951062cf41716ea69a2fa79ebd266f649e5e2bf33f90001108e28ac3921e40647a12aec45092cc11aabfd3a38d940db3696c70ccea19471acdcb5df37f2452a15947b5ff489b0403aa444ba30ee4a35cbee2613a194a71a3792924dcffd01c53af6d8ba5c4d1ca9126c2bcfb2430db3766ba3447637aad85a74677da19cd8f6d50a78ef51c39f24c11fae276ebabf210357a227935060cf7599111d9e37074d52f56680e7dbfb7c513beb33ea7cc2c515fb4e6d58d81428fbb8d213d9e5c3dd483b972be807a9993d80a102783cb87cb06faddb47731be6c1d10a7db159f6f32c15ae51c5b0f5389c6f4afaf5b1efdbdf066120437ee1660622825d0397163dde9d483bcaa7205a84714d479679160f8672ba1e1567e8db9678ed94c8e77a95f5db40be6cd7105c1641f62a3e03b6a23d80bccf49b7c55a3a7ba9e4fc49f3458b8810e7c68f278c9d799c9c0948ae4dd5ed643e2e4fb1696b3366166a70abf4ed71f78f55a45e79e2f0facb3e69e215d4fb5103646026f3484f833011dbd7794b70d7ba1d2eb0f26589ffcd46e0560e353124aed003a673dfc9c3fc0f4c99b2bd681ba4fa6c94456a79f076259054d222b1a2d16a5e2806c2a193c0da252b1b3d6b36175a3ef01eeacb9ab71485a5790c1db1bf695f915a129e462ca87902f252e716c8d5514c7786f9cbb48d9008171e50187b82c72864faf3376d60eb5cc02ccb51af82369fa355038f335a15bf5560f22544029eddba27bd297bc7a4d7b78804d9195be0f94fc1d3119a45b898fb4d6fe4da10e2551bfd808d59996d8803849210aeea30964b1af85f31c07024c7500097e4df43284a2f1dda792ed990ccc52a0530a2e5292512e2d2e7102bb77d2d7e957fa5e466550adeb52e577d37e3afb29f417676413223eaafebcb05d5b2f5836de21ca9ddea4ae364ae3385f53e1ba141593aa517f5595724d3f447a2f1cfe05fa6bb4b3bcc97a7df50571fbb68ec747e98f76337b0338972ed46b802e1633d4ba2fe7bbf50a348cc60618418133071d3477a590ba48fffd85233d9a9c313dbc077a1bedc76853a4b18b4e4846dde6665457a65d09c6ec9ef70937737bfa25de42fa76432b5672fbbe7a861fb7fa400e78a965118f021a7913de9d97a09c7cffe13b7d3026f384d7e7fcbe308dfef6ec1a07d552db9adcaf52ea814acdb9e35e13101d2e9d851d4e1278487abb56e5c826d2108e3cd8484779ecf6ce957d0e9e300f3ea52453be9a6add299c44eae30e0d9492dbedff49bb0edb922dddd699c4cb30fe0c606782a0e7e369fb2b403c8d3445b359f964894da62818e7ec41435e53f70fd1580c9b5af0eb42367ec2ffcd31a58bbe0f291a8c831eae07ab75eb6f303668e35146859d95d32503d85153909aed9e9150a3c9e54fc1237a8deec040313e244bfbf2eeab44b65a67321c1215083bd130c3996df1f2b9e2b469f1933d54ac0d4b19b31bc5d415366df86cf29331f218253db975da8888d3b94890d66b4d7629061344ed94fbed7d13cb3692cf9de4ba2f62d1a6d46336c98832eb4a9f723823d52b1177d058ce65472922262029ced8a51e82fad32586026f20979e20fc918f1c73beaadfed67b18f62957e14e109c6f2796796a200df664ee6e7ec9f9a55807b85d5bebccb66338c4f7261967ccd7307d170389191dc20e778927c11c8f5a2f4e8cf63f57934b4f762d95f7d610583bcf7966ba8d926a640b57ea33081cb6c4be1fda898363b01461f3d1b5a05dbc879cc7380781e48dcd717414756f97b20c3d40c3dfb1ba9fcc033e77c13c479ff6a57e8e941aba60d6b537eb355c78cbff475c99ecfbe50d719acf254dcaf11d7e859914053fdae71e73024cfb59a1253f7f3baef4eaa9182fdb99d8955bf70ef3c2867ac3ef472249d3126d07b6c9163dd8ff27d6093135cfe8e43a41b786cfb76b2c5ff80dfd444efce37ef0d8acd47a1186ab18ec1ef03e48348dfac108fd6d1b8d43ed2205ec464be94918eb1cd2912ce52f5a7df167f4b59b46828d9a0a1a2da05b385476aa167614909676e42808a427468ac18185789715aae30797f5a2540bef7bc3817082d807fa1ba6c5559d502367198636d812928f4707c2f735eefda72112b960298831c59926fb2136637f81a8f0623a997c135e4b44e2f34e2620646cf3e9571a60a2c01ce4c1ea23a1d6328ef62496fb062b1b101df4aa694a3981a1a9a59b8202bddd0234124771d069ea97e3b6eefd0fa719516d48489fa9c7f80373b025483b7f92190dcee08fdf82322e2cf6c61bef9487947394196fb11e066663976e8900c6afb9af50bf47f9de17354952165194dd48774e2bc3d90e4aa9bfc81f32c4a16e59ebbfceb73647b0008ff6bf09eafca7639a923428979d2eb15c763944808cf9692b40eb2a5bd34011ca3c99e2c0ea8c3de1327a456ec9252c821f460984969a6cd91696fa17a37a40318d5cb3e848080cb8a4c0648b7475db468e98e02260673249f47f6278d570bc6b5e9e5cc5cf49890441bbb1ca1fa24d8aaceaaadf2579590ec7637ffa9288984aae43f50ca35e30725d7cde321c2277eaa6f8b0354c791d719d944400393d7c7c329b2dfda30660f4c4e788e61a8bcf695a868c62c3d26415adf35f78150605d2da924df1ad39bcc5f04dab3ac930d59ae8277e701d07e492cd94d20fd8ff110ea5217f901f0d4eb97a4b38377a0e908343a3eec4d31d7df44543f2c4e51af862a4ea1ece97f0b314baeeebb6984c9eff9f826436845f76fdaf78f263fc37b012ceccfb12558dcc622a92e5213b195d181bdbd3225341d1d72b1a646c9c9e90032542bcc99b82dfbf18a1cf707d384c00ad1b66f64f9e380226b0c066c053185d3f73cdd52a9010d488ed0d06570c4adeac3055100d233b7cb6bced3a817bb18c85dfd2b45f3a09ac79d698a941e2f1d758d335df9eb4af1a7ae24164efca39ddc3785919e5cd79d34b2f352a8f0fa8363976c1222b91d6a991212cff3b69216878aad3fd2df088c7157619582bc3a2b6462d44f30126eae6cbb621fd8b06f496a8c74c271b2d0eb2ad537fafaca679d89873c019b8dfcb184e56e2e3a2b40b389321d7749df8c8fd7114ed5faca2bdc43eb19e7c7129ee89c769766bcf1205890d17f21cf7a73c9f8a05dbc10e22a74c3b29a72f733aee01d325b315311f8619375b9a8245ba8d956078e6b12485e10e9053756edd8c0600d4a4761cad19f71d88e41973e347fc49d3c4565e6917ec08053ea9b4a1c7384e8995d640c3fbd4976794f444ae78057e3daa49a8e925c929666d1042bf2cbefdfe3d0110b247d3ee4f5383cc6a798ed2444c54dec8158a7a528b780a72e6d51cf098abd0f2ea53c022bb7121974b1478b41fb345881146a7d41f24447145fa2b0b3bfd1abb411fcbe38dd041b021b79d4235f9dcce4079824baa8904b259e40e1c12262da16688a5121b7e2cd9562e5f875c7a3008849d389997e602af7781a172b5a854dd5e63ee02934f516e74c8a916c37774ca39b18339cfdd14809484f405546010337c2eb8a787d2652ddcafa312a5b63b37be38b6ff4f33d0a97e5d485bc8466b6cb8680e68273db3111be573ebb4984477298fd92fa483b10088251a8111106fd5b039d06dee780d162cab554d2c3ea33b0104814aa226d44e083b0d36deec7167294d2c94f6364bdad867c04290320dc3beab73658961834ee580cd76b3c6f94f4a8434e99bad1547e803d1f0158796e0e69095b24bacfcbc85fea6d496d9f96d1bf518c7a47c54e9d8de2bf14fcdc8b281b3ef1ece349f0af75afae60176ec7dc3ed5ee70b1b377a82e5207f91f85007bb296cc989ef1e80ca17475bd298a5528fea19e2e4fcfcae4e8ebbe8d79fee709d90a870f2e9f4183f66c929eee5395050270c6ff0bc6fc5c9706cba35bf9c6344dc115bfe510b1736ad629ff1b35fdd6abd278048ea3a34126ea02d513a3ba0d467fbbd7a4653962f4028f5e464928be24e21005649bb87183a8206eb3fa6e011fe4f16188b9164d561bae844ab2a3796a7657173f40e7b12ffabd80b8e31c4936175be8e93257542dfaaa4b0494467cb1b8c0982c0dab62a08894534d0d6d71bbd053b483435e10c64070f6bce77b3f71417ae04908a204ea915f3ed6fc0520db6965469f3481b1d6df77ecca42e2c3761ece73b0f3b2d3eed3ab576253e3fa0cdbef90b5e798b688e96317ee3e0f609b7f01e77206100e85616196326d35384c6c00e435a02108b708b00bb1c3c180dfd6392774155cb57c19256bf0a7b66c83e3caffdef6fd3dd3e08df44293d527afd409af5d57d6d7d2540c062d7c03a66a5ba9f5b7fadd7c0aad369c4d0a955fcac8afc77809e10ccd8450ba06e6049a8883dac539b7356353c842a33c7631ca32e74ff3ef6576d80c41c146bbf39cf77acd1106b18dbaee1d79bdda35b68cc2641dc446c451d1e2401d51f1c4894778846e8508d7bfcbee0e68836ddf3d3d6752bea008616dd84ddad1e26a34f2c3c8a1dafea3137ddbf155de7a395a133992be5327ce9d30506b4dc3956631d69bb00ba66c4451517dfb33dca726679c81391d0a1b07da491bd7a51fc185a0d8b26e6227f5a823df37695da57fc68f73da0daf0e01678caa274a98e57f9aebb3732a3108f2f0b0aeb4a06b6f8a0ce7b27b6ee08bcc83adf578b0a894a021687de6f22a3b28a0dd0e21b4d7195bfa4a49ba0b1625c732295e07a331ad59197081f00d54b08e869db49938b7acd0db109176eb7c7132fd261c3d9c2611844d963fffe960e0b811a38585542769652150adce4ffc3cbe3203b23435b437ee574e9d6bf6be5f5d06eab2b43323f621e68f1534f3962134afa1b4a5a969aebf14b18e01b0438a778a9ead718dc7762af608d1e70d34c9f8eaa0640cc5b3b0a164b0ea308bb5fc4534859c4b530869d195710273311aa0e8b6258bd4b8e9daaf8d1607fe7141cf93fa4cb553263f72a1f78a19dc8fcb8757b81a08ef1827c132154ad50bbe3b1fdb850f78bffe5e5b773745a1e3783de747fb95581a7a4b328eb9c480cbedf1ff869e65b94332d393f32e8d181ba95a641c9d760bfb44dcb64557fd30f1056b6b417c8f08739ac7b583c2aca0b6a6be39ab039f5b198a4f58b5c375e72c21fc8f37412793f19d4d6d4d8a165495107e13ed2cb02b8f5574f08867dbcaca0caf318cceb8273e59addb38ad629a54eaad32d07c93eee64b502847b76838455ce7a1ad42304d8679f6f178edbdd75827c5f0d0b3ecff565117c4dfa8268c5ffe83523553dc501c0672cd16ddc06b3d64ed79ebfcd32136f556eacfa8adfcf1b985c7301d72737648d9e3a3108e2f756b894ece09c287f7d1e4c4d659c007127d5ba86b6b4245e972a3f4a4decf7ff5e00f7f6e99458a5b67e9e6bcb4dc9f417ab4080915adc0483911df3d13e66e689f042a50a70779e8ce0ca2633383395ebeb60ca2c1d268358acccda686c80a3716e7bce203ef86226a1291275b22af42afac33d448387e76739e6d1163627a097917e3805fc2a19fd1d4bd05bfedff799c158e0519f63ca96e48a0d0e05cd89ac16f14bfeb00543db974d39689eeb4ff00b8031f4ea51ba71987ee351ee03aabd5ec0e460811888600bc5b4cbd0c5bb71b9d75e8f6c6fc8c7ee688211848c9028d2af73a5ec151ec4e55230ff869de3ca28893f868d07389378295106fe52e6ebf1e833e85b3ed62f1b787497932065052be46fa0e904ba0047352c81c3364b75c02d777376346c6fcd48a265a2c2073e57f39e0f8c08941e0019abce2731a584e099dff34c5bdb40ecc42adeac383ccbdb3318801f0c7fe9c1b8980cfbfe07256b9db1f12a8123df6e6e60df6a63a51e1f2167e11f69ab25614896a67f13ddfb7bfcd924f4d324d2307f45d5ebcf880abc9ede8bb78a394c6d8f809034b08d66e544fdf4a2ac7e0d758095dbfee16a6b759bea2db1bcbe1bb8ab97b2c211a77824dad83012237378af708a459fb8b0b5a75898a6a852a42f0142f1181f63104ac0fb609c4ac39cdd6d60489da6229f2fe9a65cda23f5c11772b33b3275f86ec68a2f6f2d150e7b50fc573e63e0919c12e0d7adfc8a388f19e60ba6b30060cb9a087dfd69058ad0dca4721adb23916dd839aa05b894cd70126207175fd02054d1077d7afd868cc70b2286382da4955cb05add9a8d436be925d975be47e3194536325cdd5b2d86846dbdd3b3fda5b256dfbf7f31e2475c8ead5517a13a9bbaa33346f62aedf072d363eca15d2a7251615ea74a10e23779b553921bb96d39f97e06934033829c2cdb7d943333864e4d2e82803ce03816b072e916b17d4a8468a1ed8d9d23f5ae12d458630179b9ef79dfc325603527ee4b0d7789727035ce3e3ae64ab350eb3af6b2b994c5f073bc2c3beb1a8b9700bc0c8fa3c0502f48302fb914c560080824ae791456223a692f9b4ed36446ca6c7e99824070fefd5e700a873692482c181740a3518a1c1fdb1a9b1442d4a438b718b4662906bedc2f85be281337b62fca746dacbd3b10184c336f64d0ee8749f314204464ab2a12d02e31f7b196812d9b196292b1c4b66045d96fe2d1d44c22e192c246812a51a72e8cf639cea9ffc96836490426ff55083b3f1506ba5fce3a673998b97e9ea2f0b87ea5b6a0d085a6b987c2decd7d00af4f09dbcd0c6e656d8c04525b78895bdf7c6969b9bae8f301faba419a6e2ac809eda56a6677cb4b6c8b9a6d17fe73a15f74b7c2c93f2da3f3255d06694b94e5638eeba2931690a953b66eb8cd54b7188b16c5e24283b83803d2501328d179c00d9127ffb7da1855f2cec3d58aae67aa38debeba740acf7301a44af6c158d54778027d64c5a938a992343ac03a1ebd9594a17b28d996a156c5cfebf5b92b717276272db59e2749d2f158bdf6fef62b817f145e55df55d94b4c8f7185fb2dfae4c3b8786636529916293de52ba51f18309433860d8b265d7a0f32593a0714744b6efc38241e9accdf5d844e71e56c727489112a3cccf95180d1a0254811ea9ee72b78bd367a79156a6b579d77dcaa3eb72a8598b81359530d7d892f14ff6c0c3e5d0f632027887303109d5fa15c51b5648a05a23df093f77b8730d816ac0b46ab4e422ebf52ef7f7e76d995623a321864e93b0a656de4885d13a9dfde79addf13dd5e21910820fdf78d9adbe2bde2a0c8d560412a28f105fbdf7148326c7d4d4f48f3bfbaf787b24a7a12d394a18f0702299d68544b6027ad73db7398c41425cc2146e4896744cd68fe10cf2dc1d61e0d3c209bbc7eef58007c93f2d669c6c75ebb0478e83b9a03b5cbe86359b80713d39b60eb0611b57fe4ca42d4a1c5d7f77416bef702cc84e381342ffdc459af13bc3f3441e4e5d723b31821f52daf56f47498e0ad5fbcdda3433345d47f2a3c9e97e3a481376344a8d3c769cb9f4b5592ee32bb1e0a9fd29ad3c8fe3e421929afacb08d37db43c759e9c5daca5835a0de31fbb5caa4fcad9d2d83a04cfa95705fea7ed2c59e03aabd60b04e91f1715701f3a713b2782d7bd28559221289731ae1097766f9a17c7fafd1bd8aca8c6e670248bd6b98c82194be9a1731162db8b4589b2419c875be643de1aa2ed95beed115510717a285042d9ee63ece12d08fb8601124981f6e0c52383512c4165a6bab6146a0af6c2acd719bd4771a25adb56fc400bc601186450f98bfaf496213b31875edc6912cc092ca6c1d8410c1d20d82d7a31bf34d70cacb06acf8a5f620b97336c4ea31a3d1addf10518da7a06e0fe750f315551c485c10c15d10f985caed932fdcb15c9c2aa47fda823bbd66475896eed74fd6127ab3cdc0b14ffb4d3f340becf0b43e3c44182bcdd0b383ce7176304d4ce64033c55129ab382e783d425afd38a2c6c774d66fee5115e529b72eabe8c0ee53129e53d8ebaabc2959506a511aa5de3c477177ac2fde52173a7e75963d8a1ed8a27b51351b975c7666d4ff17663cf15afc60a2a33fcd75e3c159c0a23aae79795ca5144b77bd0e5a0a4a4a34848c4156b5447c5ff2eede2c8a750b174664d53d7035d9d04d171d8a379390bb053defa48ddcdb84e0101f608c9f175a23139df2f863820257f1e84b471b82b68241b6692009d01d68bc9d95edc58603ccba2646799aa2307ef54dd8b7da7916840e2916d0511610fb31f6557916d91d9d9ec2f1838d07c87132f26963d5c478f235347946b634724d2f3205efc8b6694a3f24b0ba663483092560f8cf552a56612a72e8adf1f7570bd6d5f9d318b619bf75b123ff34ebc63118726503e4306b92413c52c9e68a31a9aab1f96be614f694288556f796387a47015d59caa0db86820a9cff967435a50beb3218bea202d5a1bf0f2597a0621f5d32d1c960aeddcf00d22b090011957d110872cdda07097b25b9f181c57da9b2eb7f88fe1bfc233b679bf1c272738ac12041b2ca3278f6ae0f6e5ca0df2975ee0590b6e5f6610a9204b57dd3276e772fda6a836958d3763ed8f62ab4117fed3b07f1391e8cb7ec06cc4db45acad5358d6cea50239e0a79ff2c155e1d7033196bfe1e896dec285adf32cffd5be98cda8f5d43357381c13d1406fb39a0a9bae2f8c9ab7b276b82681627aeac4870f22d0fbc0d695fd22e8a55b16343de5031092a4ba69c6adf15c2e6435b24833d20e213c6f81ba2cd9d0dd28e8a243750ab7fb289b506919b9f2a66ed3c339f00a9fa2916c2c1727aa42cf2024cc6c8a43e78be4fb96177eba9724bbf436893fce7c67864fcff4c7a64ffb175c115cb93c15cb3810712ed3ddf0b2b3d72059a1942ff4dcb724fc280eb8f5045c569cb21c589676c534a761ca4e3358153dd8470e9420da16bdef603507d7c4538b16ddad35ccf6405bba3fa753c31d20e58bc7204f67ee67daac6f30e166a50e489dbb123ebe513cf9cd3f636094e24a3a99e2115e4843d17887bc7727bfb2f1826d0326962563412c5a73a0b2902db50a2c5855a2a12bb1d47500cba7c517ffea78a1627cb76e382e71fb0d356b0714bc3bf68614b72103aa36086699feaa7896e928fe3629ca80de6c12b18e4207384583d7d3ef47af02a425148c9427f47e818a2e22affc39f0735a014b86b0dd1e7f6c61b8e8ed92f132238132af30eb60882c30b5fc14509925c7c4daae69cca39f26ea8e532018d063f6ed4f43c25cf9cf716594d0ebf5c01eebbd69ddda96d586a0839c934786ff9ad8392000552e1aecb81ab0f848a9965484582fd401e044c574e2ef0556a90a4b7e6764df10ceea22d01593f63072022baa556c6fd17b604ba52ecb7b39a8ff6b24abc78f65fff926e5f03797ca4dd5236209f80f89747167c5b9f024379321918f15c9f4c528759211b71494d93042478f202f4ac716cf93635f8d577844d1da5d77e6e433cd7e8d9a1ff63891724c8d8cbf3c76ca534cac0d060e869004b12273fb970a95fda6f5a48d683a7d4be0283a4e889b57bb1c580208a72ddf26d55c7f94d0bca8b67998c770c1082f4abf72ded07f83672b579b5642ebf172de3a3f9f3d4cb2392be92766ee7901fafa7d1c5ac15f7825705f7b18263fa2bca53394aacd36ef94a3f4f1cf382a856883a96880db21ff97a8b19e68c14f8e825c70c294a7d3753a9d441e058cf536fcb90c3be8c4b10762c2e2f2e0abde2e7ea2d473a4cb15652123cdb971894419abf7a89547d200415fe8538c6cbf63e17057f917a3594af4d0158f4b046a130badb430f8f2d029f0e148fbac77f851e5e1c3a5af4b9726d58481db46c0ed89ca38004a06e2955ec4182ba5dded890e62717687702ffcc3b4fe265b69f3afa0c36e05f9f9c5776081a10c1337c715b00d4ec89b3952d64aa1525017a7f0377cd3324169f39a48652f9ad84d72574c76df76f3d5984c93dc8386b5fa11820a2d517dae1040ffae4a3c89f83926fbc0f3c063e51f8ef27ceb0dc7b22afbe2b82399cb059a119fa61b120d08217249173461037ff3a8201706ceb521e69578a3eaecb422b85384869483febbb411cf6c34e2570c865bf74a30b4a928baf9a5e0c5cd532c72f2965e1f1a1807284c21edeffd199680e861a1714a8180b8ce32b1989c22f817b7ef33127e79538e54db088492b069b6c055d0757f3d7a4e611b67ef0ed359a07878ed1c1bc770349fd9477965b9e9266f2e11cb0f7c64aa9380ef2b30a11bbf30781240906911335f052acfc51f6e4559d4c22eb00a2f57b36aaca186f28f93fea9d19154ef69b9114a604494efd896d4c83d89d330dc9d82f9f138f00d5d9636be262894826ff057f8b3c3121d57ecd838571404203699f8f5d4a6a986f4084245289fd5e66cd11e8250fe055518f2e177ffdb1b99cad5394fca14e73f058f03ed63ce72879276d8891b1224e6d52a15d7b4c1af93bf8afd19e9c2e996c527d3f936152fbb1cb5566de336c8dbe1a86a3b33f49017d602064e2e1814e2b650b97b2786a333bc0add11374f1398d0c6574f9c1139dc7d02536b558e5ca2021809579d2c0edd8dc86138e6fa1f718391c146103774c02701062805a9d723e2da7ac7f59936db1cb8d2714d1ca8f6047dcfe851b1447be42d62dfa1056f5c47ad3c71a69f9e71844e6e3daf71c844c9b33d5533d36b4b445b0a24e5e88f6c91fcf374a918a24c31afedf2638a6c75ea596dc4395a28e472197a2b2ec64eb270eea4b11668a4ceff3d293ba126bed62fa8d6d47bf99f189ee467d7041652e4a1319616c2543c84d3b6c7d9dc687561711203ce490b32c821fb5af2613682dcfe4dee45093eed3c1f81eb77943d7ba419ba75be20305494e2e630ce0335c7ee1f28f2e60fdc6fe54ddaf750fc456ef233ff126da6bbc40e89e882600befe0d196736725603e8f0ee3222fa8c44e80f68637b328eff07c39538416988db5125a0ce1eea47a90e619f8d1a6c9938638e1191b12a018f86062503dcd5b086ca96f991e2d1fa5f98092426a8ce04979f6f962b307ddf28e24865f2a93a3a1f8a7e2859bfc11dfba72cd7b033beccd92e2ac32731e376dd65e150fb62b356bfda1e8908c7d5785742e43a59ffb68836b5716467c4ef031b9a9402de9cf1c7e22232361cc6cd927e025c5f865f0b0257e4eafba1b12c49a021bb207a9c2524c2376681e4eef1681643c861c273f14c6a3bf785bb5f0b3dbc1aa27c68639cb328aeb821cd5212f84450f4839f2fbc2a9fbe8b9ff1e43a08ffb2c113c9b5cb20e479ba42f9f0c64a7c74710f856226e99528ba710b2dbe1b41996da49c93fefdf75fc004ff55bd85e8e274a8c88424dd6ff3445fafe84c27b2b8e552d6fd5e2e71971f9e7b064efcba8c8c64d97ccff52b1707e495389e14b5e4b04958758defb8b83fc8ae024a218c3fc64d1b58a75ac842e8765177f848c0be767d84b91e469b41e562910ca25f372a95a393d897e74344ec07c522979d1cbf8411a34f1e5cb52168f71ddc63fd2e6fb351510b16a8f4512b50514c22169eb9f1c8ebfced21e4700d1f9972165e04fb5455a1575c23fe434379655549eeef9323c089420fd9823505d2927083acdd298453180b33ef92a503753458b153fba0e4c55b1dce9f7ebef4b71db158326f3359dc6dafe133a3030cb638defa122306ba4c0a0033cd93971a5140cb874a3fc02fc81e78c7fc42ed929003c8c8a09c024421688ab3018f61309fa92800bbd29d7ae0703ddee97b3cb79a5e70ff1f1f1a805eab3f9010e9a38caf16e2583c92a1f8eedafd9d5d61d58493a4fd9d93a9ca1f05577e58b81d607a2bae344ab1145884db877eaddc938aaa5f0a887c6d53b682edf35990a14e4e8dfc8c3a6c2f08637adfa0b189cc108c025c852064c686575dca46fca540eb582c7c1549e0a860cabe8938193cba761de8634a5f64e8ecbe41609a40d482a0497ddbd5a0b8966e37c13b8b4730c63dad7a97a8ef1d818d65589ed0529d23224764ec2fdfa8a48a97af0d4c02451618b50aa41450a958c2403f7260edf296a55897e86dbba255a9d00f2ef4fa0b24a3646e571355a6bf1d0b8255890c8336838c0949fccc8a1abb934c43bf272545621010e52f30d479ead0a73ec90deb640ee7c0ad4d9f7f2ce9e4874e65a965f65b9530075253309e4133f21f8ff7ec491a979c6df932d849876917d91be2443a8d8d728c2ab381ae50dc16d38bdcd156dabdf2aa72b7498b18d608b3dbeb7efd684cc715ded8951a1e9d596a6cea620dc47ef0357846bbd9b55934a34611580088e6177544084305bbaea7b88714b8fa503ca40c1389a4f60b4b22fe6d095730f6fc463277ac7c609314a74d9c6149c4b76adb4307465673a1e4243002c81137561ff482154acc4cb08edbc7c48fac4e496278a325444cf98c53cd2e40688df2c170d17b6a27f2fd594ca349ec84b1525fc365636b28d18b3611bec041d3fe7c1b1cf67c426e6555defc22795bfdd2f06e8ae70d149bada12768a00a8675b535299c13a567d29569eb854a480eb49da393f10aa66f3a8b709daa3a7581436d882e0be6a94053eea001f5bb13938145a9883d2e66660dd4fc1dc5b69dd550e97e48baa5debc74fd08c2ae417f88555beb0233e79d6cd8b759fad6c8a0fb15e381fe05b8dd25397f43cb45fd4e4eb4bfeb628ca4ec8aae6929e570a0fc8fe0484da83d23238a6e1afb6abb387e1bff906f6f00fba02041a0b47da4d9910ce80c74713d769bf5a767fc957e59ce49b35a7b54d37d61d6f1b47b195c2209432461567fbdb4f5c2f519a4be5d33d35532a356768df00465fa241d59af0b36de35b067756df892727e0edaa9d7b3cbd846f6cc5fd8ce0894d22e22c66ee48182dd08bb10b8f0dea15fc7528c7bbff0480644a894a557447955325d6c69cb6e14a26ceee64ea9293085a15f35fbba929b3c92ff9f0353cfcab9ffe100acd5da2a23a9cb113562d9f96d3e422196d2c16fe16cf1571fc9bc97d0732fb2333ee0e134ba3cadb3a798969fbcc50e773be444e42188fc95414d2f9cbf7d5f94fd8f87dea9c7d8bdf4678c8beda7a3deca98e9d8557da50602d602bbe162912d1872676d9eadfb0da8c526a44d47fa92773c2fa2ce9b585ef463eb9decdeb251cc006fd85564337c6cf2cc5bec8a2d1682a6268faa5f060ef2834560416427a1346777187bd8abf1624996f5effe7ef654243b4cf31577a6d11ee80ca9de0aef6ee330371c20c32eff9842499ef2f5c4c1982e0f49ba6e0127e6fee2cdc26a3390e4e88a85f03696dcd79786d597a530cf8af7046e9e063e9284a7f25e60ee0bc163e95fa2f1e11f6655c8ddfdd5d0b1e6f73b3c305ce7acb9bc5aac6165fa5376a63f673f137822c3639c1bd2d3e97c8bf10113df15a1efb3fa3ecffa27be0421c0ef013734820ce4638e4dff72c690a1ad9791539542ba092372733be9a54a8ac078980460232942558f1cfb91958fad17c522d4b7b29adbaf2235f31d394b41d7062c1164e50b439714683d8696839cb877ea290a66254a5aa0a8c257331efc35e15051e2edb26ceca6da2c94de2f94273ea58e509fe42647bc912dd255fa361be86adcc659816f341c39470f72c3946d1808c946abee1776f1b69ce04ac5952d035a3255d7c3cc55ad0f7c113088004b934a3b592e7b3c46ba6f7062c7daa7fc65dac0028432cac909a8055deff916755ac4b513c0d2c32cdb90d544ae8b48656f7d3e0eccc5cf68fdb6df817f55d7791110f5543d0e919451be5937aeb3474ce36e328f9bb9911abfa53543beade8529ee8819683ebd8fb48d8afabc979940c7f86205957cb1da6611ce8d881114f71a2a6d2485983f465389e80f941946c9c7c9beae6569d7ed57eae8c6472dccc77f0a710f4988b225a63af29e746d8a00e443d619b7a78306f185db0a35c37edfb0fe6a7db3859fa84c5fda2247dcf378f516397ed8d0b1bde6a277038468cf4d19e6f2b17b7025b2ae8e73b5a623f730d310e40e4466eb64cbd43561bc650ad244d43eec61a7a87d63640ba4ea3c3ec9dd370f8c97109c8c2fb5938bfe471306caf72fe05430cc3982eeb1eec00e82e41c30de3845346f86d1683369fa7c9e09c5fdeca9976529871cbf6bd998ae5651399cff6fc7e149a11816ed4eb195a913746705a2768f2c2695fae53ebe7af8869f29e42014306d035f261cab2ecdc6e1441246693f9d23f306cf8f146cc18485a7128df288687f2e2578e8363d2ed3807952aef0e12176f9f4afd00d2cb3d80849480b2811157f62470e59bd14da9ab06f5a6437ec0acd1d9299bc4373fc3b4bfae53e56d3df40df1135bfd12047705bc850495249df99a060102451c130633f8bb91ba8db688abbd2689cbbe85b61b6f864b556d7815cba876033fdf7da531f79294f5057699ffa79fc417ce5bd9b5c6fc395a83ec93f3f9381fce4bd44335700cad134a831d90d09370666b28b1aa5bf02d2d04c46af33c3896fb111154b8bcb52502f95a9edcd65431d97b24c71d33f2023c6cc32132d0c8f50c6bcb1182ae9a41df4b3fc75d41a903fd031a5df024b731c370e4228995c6a0de9579bddcf92f3e1885403609f4d14cdedbf5da60c7e5394a85b6dfe5b8f1c8758c5a13d5d57390aab8184f46e8079052a569b8ef2241a0df58afba460d75322fbb5db80fec40748e7699b143a6bc8a3a11fe650de9f0908dff4c9d9afeb4bd943be4686d93e512eded784ec807249e20bd7d8050e450e61def7d94e9c9828b2c8efd143cc6174dbd8551d6405d2db92d65d33015f8b49778784a9d9e57f179636a1753b088cbabf24437494fe7b30f50525a1a87e552072b8f1e0c99eb57d3b8ce45e5672749eb49db62da38a50rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpostgresql16-16.10-150600.16.21.1.src.rpmpostgresql-docs-implementationpostgresql16-docs     postgresql-docs-noarchrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)163.0.4-14.6.0-14.0-15.2-14.14.3hh@gv@g;gg<}g4g*fcf@fV@f;i@eCe@eqe@eKx@e@@e%@d,@c@clcGc>@c6@c5c,N@c@c@cb@b@b@b@b|bV@b[@aaza@apa\>@aUaQ@aO@`@```q`OL@`Gc@`/@`#_S__@_F@_mmrueckert@suse.demax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.comantonio.teixeira@suse.commax@suse.commrueckert@suse.demax@suse.comaaronpuchert@alice-dsl.netsarah.kriesch@opensuse.orgdimstar@opensuse.orgmax@suse.commax@suse.commax@suse.commax@suse.comdimstar@opensuse.orgmax@suse.commrueckert@suse.demax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.comfvogt@suse.commax@suse.commax@suse.commax@suse.commax@suse.comfvogt@suse.commax@suse.comaaronpuchert@alice-dsl.netschwab@suse.demax@suse.commax@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.comada.lovelace@gmx.demax@suse.commax@suse.commax@suse.commax@suse.commrueckert@suse.demax@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.comgmbr3@opensuse.orgmax@suse.commax@suse.commax@suse.commax@suse.com- Upgrade to 16.10: * https://www.postgresql.org/about/news/postgresql-176-1610-1514-1419-1322-and-18-beta-3-released-3118/ * https://www.postgresql.org/docs/release/16.10/ Security Issues * CVE-2025-8713: PostgreSQL optimizer statistics can expose sampled data within a view, partition, or child table (boo#1248120) * CVE-2025-8714: PostgreSQL pg_dump lets superuser of origin server execute arbitrary code in psql client (boo#1248122) * CVE-2025-8715: PostgreSQL pg_dump newline in object name executes arbitrary code in psql client and in restore target server (boo#1248119)- Upgrade to 16.9: * bsc#1242931, CVE-2025-4207: postgresql: PostgreSQL GB18030 encoding validation can read one byte past end of allocation for text that fails validation. * https://www.postgresql.org/docs/release/16.9/ * https://www.postgresql.org/about/news/p-3072/ - Add postresql-pg_config_paths.patch to Fix a race condition while generating pg_config_paths.h.- Upgrade to 16.8: * Improve behavior of libpq's quoting functions: The changes made for CVE-2025-1094 had one serious oversight: PQescapeLiteral() and PQescapeIdentifier() failed to honor their string length parameter, instead always reading to the input string's trailing null. This resulted in including unwanted text in the output, if the caller intended to truncate the string via the length parameter. With very bad luck it could cause a crash due to reading off the end of memory. In addition, modify all these quoting functions so that when invalid encoding is detected, an invalid sequence is substituted for just the first byte of the presumed character, not all of it. This reduces the risk of problems if a calling application performs additional processing on the quoted string. * Fix small memory leak in pg_createsubscriber. * https://www.postgresql.org/docs/release/16.8/ * https://www.postgresql.org/about/news/p-3018/- Upgrade to 16.7: * bsc#1237093, CVE-2025-1094: Harden PQescapeString and allied functions against invalidly-encoded input strings. * obsoletes postgresql-tzdata2025a.patch * https://www.postgresql.org/docs/release/16.7/ * https://www.postgresql.org/about/news/-3015/ - Disable LLVM JIT on loongarch64- Fix build, add postgresql-tzdata2025a.patch- Upgrade to 16.6: * Repair ABI break for extensions that work with struct ResultRelInfo. * Restore functionality of ALTER {ROLE|DATABASE} SET role. * Fix cases where a logical replication slot's restart_lsn could go backwards. * Avoid deleting still-needed WAL files during pg_rewind. * Fix race conditions associated with dropping shared statistics entries. * Count index scans in contrib/bloom indexes in the statistics views, such as the pg_stat_user_indexes.idx_scan counter. * Fix crash when checking to see if an index's opclass options have changed. * Avoid assertion failure caused by disconnected NFA sub-graphs in regular expression parsing. * https://www.postgresql.org/about/news/p-2965/ * https://www.postgresql.org/docs/release/16.6/- Upgrade to 16.5: * CVE-2024-10976, bsc#1233323: Ensure cached plans are marked as dependent on the calling role when RLS applies to a non-top-level table reference. * CVE-2024-10977, bsc#1233325: Make libpq discard error messages received during SSL or GSS protocol negotiation. * CVE-2024-10978, bsc#1233326: Fix unintended interactions between SET SESSION AUTHORIZATION and SET ROLE * CVE-2024-10979, bsc#1233327: Prevent trusted PL/Perl code from changing environment variables. * obsoletes postgresql-testsuite-timezone-fix.patch * https://www.postgresql.org/about/news/p-2955/ * https://www.postgresql.org/docs/release/16.5/- Sync spec file from postgresql17.- Pull upstream patch to fix tests with timezone 2024b * postgresql-testsuite-timezone-fix.patch- Don't build the libs and mini flavor anymore to hand over to PostgreSQL 17.- Upgrade to 16.4 (bsc#1229013): * bsc#1229013, CVE-2024-7348 PostgreSQL relation replacement during pg_dump executes arbitrary SQL * https://www.postgresql.org/about/news/p-2910/ * https://www.postgresql.org/docs/release/16.4/- Upgrade to 16.3 (bsc#1224051): * bsc#1224038, CVE-2024-4317: Restrict visibility of pg_stats_ext and pg_stats_ext_exprs entries to the table owner. See the release notes for the steps that have to be taken to fix existing PostgreSQL instances. * Fix incompatibility with LLVM 18. * https://www.postgresql.org/docs/release/16.3/ - Prepare for PostgreSQL 17. - Make sure all compilation and doc generation happens in %build.- Require LLVM <= 17 for now, because LLVM 18 doesn't seem to work.- Remove constraints file because improved memory usage for s390x- Use %patch -P N instead of deprecated %patchN.- Upgrade to 16.2: * bsc#1219679, CVE-2024-0985: Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY. One step of a concurrent refresh command was run under weak security restrictions. If a materialized view's owner could persuade a superuser or other high-privileged user to perform a concurrent refresh on that view, the view's owner could control code executed with the privileges of the user running REFRESH. Fix things so that all user-determined code is run as the view's owner, as expected * If you use GIN indexes, you may need to reindex after updating to this release. * LLVM 18 is now supported. * https://www.postgresql.org/docs/release/16.2/- Upgrade to 16.1: * bsc#1216962, CVE-2023-5868: Fix handling of unknown-type arguments in DISTINCT "any" aggregate functions. This error led to a text-type value being interpreted as an unknown-type value (that is, a zero-terminated string) at runtime. This could result in disclosure of server memory following the text value. * bsc#1216961, CVE-2023-5869: Detect integer overflow while computing new array dimensions. When assigning new elements to array subscripts that are outside the current array bounds, an undetected integer overflow could occur in edge cases. Memory stomps that are potentially exploitable for arbitrary code execution are possible, and so is disclosure of server memory. * bsc#1216960, CVE-2023-5870: Prevent the pg_signal_backend role from signalling background workers and autovacuum processes. The documentation says that pg_signal_backend cannot issue signals to superuser-owned processes. It was able to signal these background processes, though, because they advertise a role OID of zero. Treat that as indicating superuser ownership. The security implications of cancelling one of these process types are fairly small so far as the core code goes (we'll just start another one), but extensions might add background workers that are more vulnerable. Also ensure that the is_superuser parameter is set correctly in such processes. No specific security consequences are known for that oversight, but it might be significant for some extensions. * Add support for LLVM 16 and 17 * https://www.postgresql.org/docs/16/release-16-1.html- boo#1216734: Revert the last change and make the devel package independend of all other subpackages except for the libs.- boo#1216022: Call install-alternatives from the devel subpackage as well, otherwise the symlink for ecpg might be missing.- Also buildignore the postgresql*-implementation symbols: this is needed in order to bootstrap when no postgresql version currently has valid symbols provided. Once the packages are built, OBS could translate this to the pgname-* packages and accept the ignores; during bootstrap though, there is nothing providing the symbol and the existing buildignores do not suffice.- Upgrade to 16.0: * https://www.postgresql.org/about/news/2715 * https://www.postgresql.org/docs/16/release-16.html- Upgrade to 16rc1: * https://www.postgresql.org/about/news/2702/- Upgrade too v16beta3.- Copy postgresql15 to postgresql16 and upgrade to v16beta2. - Don't create a unix domain socket under /tmp anymore.- Restore the independence of mini builds from the main build after the -mini name change from April 4, 2023. - Adjust icu handling to prepare for PostgreSQL 16.- Overhaul postgresql-README.SUSE and move it from the binary package to the noarch wrapper package. - Change the unix domain socket location from /var/run to /run.- Update to 15.3: * bsc#1211228, CVE-2023-2454: Prevent CREATE SCHEMA from defeating changes in search_path * bsc#1211229, CVE-2023-2455: Enforce row-level security policies correctly after inlining a set-returning function * https://www.postgresql.org/about/news/2637/ * https://www.postgresql.org/docs/15/release-15-3.html- bsc#1210303: Stop using the obsolete internal %_restart_on_update macro and drop support for sysv init to simplify the scriptlets.- Include -mini in Name: to avoid conflicts in the source package name and OBS internal dependency tracking.- Update to 15.2: * CVE-2022-41862, bsc#1208102: memory leak in libpq * https://www.postgresql.org/about/news/2592/ * https://www.postgresql.org/docs/15/release-15-2.html - Bump latest_supported_llvm_ver to 15.- Update to 15.1: * https://www.postgresql.org/about/news/2543/ * https://www.postgresql.org/docs/15/release-15-1.html- Update to 15.0: * https://www.postgresql.org/about/news/p-2526/ * https://www.postgresql.org/docs/15/release-15.html - Move pg_upgrade from *-contrib to *-server. - Drop support for the 9.x versioning scheme.- Update to 15~rc2 * https://www.postgresql.org/about/news/p-2521/ * Reverting the "optimized order of GROUP BY keys" feature.- Fix source URLs- Update to 15~rc1 https://www.postgresql.org/about/news/p-2516/- Create mechanism to specify the latest supported LLVM version. Automatically pin to that version if the distribution has a newer unsupported default version.- Disable LLVM JIT on riscv64- Update to 15~beta4 https://www.postgresql.org/about/news/p-2507/- Update to 15~beta3 https://www.postgresql.org/about/news/p-2496/- use %version requires for the contrib package for now as 15~beta1 is actually smaller than 15.- Add proper conditionals for lz4 and zstd- Upgrade to 15~beta1 https://www.postgresql.org/about/news/postgresql-15-beta-1-released-2453/ https://www.postgresql.org/docs/15/release-15.html - Refreshed patches to apply cleanly again: 0001-jit-Workaround-potential-datalayout-mismatch-on-s390.patch postgresql-conf.patch postgresql-llvm-optional.patch postgresql-plperl-keep-rpath.patch postgresql-testsuite-keep-results-file.patch postgresql-var-run-socket.patch - Add buildrequires for lz4 and zstd support- fork package for postgresql 15- Upgrade to 14.3: * bsc#1199475, CVE-2022-1552: Confine additional operations within "security restricted operation" sandboxes. * https://www.postgresql.org/docs/14/release-14-3.html- bsc#1198166: Pin to llvm13 until the next patchlevel update.- bsc#1195680: Upgrade to 14.2: * https://www.postgresql.org/docs/14/release-14-2.html * Reindexing might be needed after applying this upgrade, so please read the release notes carefully.- boo#1190740: Add constraints file with 12GB of memory for s390x as a workaround- Add a llvmjit-devel subpackage to pull in the right versions of clang and llvm for building extensions. - Fix some mistakes in the interdependencies between the implementation packages and their noarch counterpart. - Update the BuildIgnore section.- bsc#1192516: Upgrade to 14.1 * Make the server reject extraneous data after an SSL or GSS encryption handshake (CVE-2021-23214). * Make libpq reject extraneous data after an SSL or GSS encryption handshake (CVE-2021-23222). * https://www.postgresql.org/docs/14/release-14-1.html- boo#1191782: Let rpmlint ignore shlib-policy-name-error.- Remove postgresql-testsuite-int8.sql.patch, because its purpose is unclear. This affects only the test subpackage.- Upgrade to 14.0 https://www.postgresql.org/about/news/postgresql-14-released-2318/ https://www.postgresql.org/docs/14/release-14.html- Let genlists skip non-existing binaries to avoid lots of version conditionals in the file lists.- Upgrade to 14~rc1 https://www.postgresql.org/about/news/postgresql-14-rc-1-released-2309/ https://www.postgresql.org/docs/14/release-14.html https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items- Upgrade to 14~beta2 https://www.postgresql.org/about/news/postgresql-14-beta-2-released-2249/ https://www.postgresql.org/docs/14/release-14.html https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items- Upgrade to 14~beta1 https://www.postgresql.org/about/news/postgresql-14-beta-1-released-2213/ https://www.postgresql.org/docs/14/release-14.html https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items - disable postgresql-testsuite-int8.sql.patch: it seems it is not needed anymore, need to be double checked.- bsc#1185952: llvm12 breaks PostgreSQL 11 and 12 on s390x. Use llvm11 as a workaround.- Upgrade to version 13.3: * https://www.postgresql.org/docs/13/release-13-3.html * CVE-2021-32027, bsc#1185924: Prevent integer overflows in array subscripting calculations. * CVE-2021-32028, bsc#1185925: Fix mishandling of “junk” columns in INSERT ... ON CONFLICT ... UPDATE target lists. * CVE-2021-32029, bsc#1185926: Fix possibly-incorrect computation of UPDATE ... RETURNING "pg_psql_temporary_savepoint" does not exist”. - Don't use %_stop_on_removal, because it was meant to be private and got removed from openSUSE. %_restart_on_update is also private, but still supported and needed for now (bsc#1183168).- Re-enable build of the llvmjit subpackage on SLE, but it will only be delivered on PackageHub for now (boo#1183118).- Remove leftover PreReq on chkconfig, we stopped using it long time ago.- boo#1179945: Disable icu for PostgreSQL 10 (and older) on TW.- Upgrade to version 13.2: * https://www.postgresql.org/docs/13/release-13-2.html * Updating stored views and reindexing might be needed after applying this update. * CVE-2021-3393, bsc#1182040: Fix information leakage in constraint-violation error messages. * CVE-2021-20229, bsc#1182039: Fix failure to check per-column SELECT privileges in some join queries. * Obsoletes postgresql-icu68.patch.- Add postgresql-icu68.patch: fix build with ICU 68- bsc#1178961: %ghost the symlinks to pg_config and ecpg. - boo#1179765: BuildRequire libpq5 and libecpg6 when not building them to avoid dangling symlinks in the devel package.- Upgrade to version 13.1: * CVE-2020-25695, bsc#1178666: Block DECLARE CURSOR ... WITH HOLD and firing of deferred triggers within index expressions and materialized view queries. * CVE-2020-25694, bsc#1178667: a) Fix usage of complex connection-string parameters in pg_dump, pg_restore, clusterdb, reindexdb, and vacuumdb. b) When psql's \connect command re-uses connection parameters, ensure that all non-overridden parameters from a previous connection string are re-used. * CVE-2020-25696, bsc#1178668: Prevent psql's \gset command from modifying specially-treated variables. * Fix recently-added timetz test case so it works when the USA is not observing daylight savings time. (obsoletes postgresql-timetz.patch) * https://www.postgresql.org/about/news/2111/ * https://www.postgresql.org/docs/13/release-13-1.html- Fix a DST problem in the test suite: postgresql-timetz.patch https://postgr.es/m/16689-57701daa23b377bf@postgresql.org- Initial packaging of PostgreSQL 13: * https://www.postgresql.org/about/news/2077/ * https://www.postgresql.org/docs/13/release-13.htmlh03-ch2c 1755501331  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~16.10-150600.16.21.116.10-150600.16.21.1postgresql16htmlacronyms.htmladmin.htmladminpack.htmlamcheck.htmlapp-clusterdb.htmlapp-createdb.htmlapp-createuser.htmlapp-dropdb.htmlapp-dropuser.htmlapp-ecpg.htmlapp-initdb.htmlapp-pg-ctl.htmlapp-pg-dumpall.htmlapp-pg-isready.htmlapp-pgamcheck.htmlapp-pgbasebackup.htmlapp-pgchecksums.htmlapp-pgconfig.htmlapp-pgcontroldata.htmlapp-pgdump.htmlapp-pgreceivewal.htmlapp-pgreceivexlog.htmlapp-pgrecvlogical.htmlapp-pgresetwal.htmlapp-pgresetxlog.htmlapp-pgrestore.htmlapp-pgrewind.htmlapp-pgverifybackup.htmlapp-postgres.htmlapp-psql.htmlapp-reindexdb.htmlapp-vacuumdb.htmlappendix-obsolete.htmlappendixes.htmlapplevel-consistency.htmlarchive-module-callbacks.htmlarchive-module-init.htmlarchive-modules.htmlarrays.htmlauth-bsd.htmlauth-cert.htmlauth-delay.htmlauth-ident.htmlauth-ldap.htmlauth-methods.htmlauth-pam.htmlauth-password.htmlauth-peer.htmlauth-pg-hba-conf.htmlauth-radius.htmlauth-trust.htmlauth-username-maps.htmlauto-explain.htmlbackup-dump.htmlbackup-file.htmlbackup-manifest-files.htmlbackup-manifest-format.htmlbackup-manifest-toplevel.htmlbackup-manifest-wal-ranges.htmlbackup.htmlbasebackup-to-shell.htmlbasic-archive.htmlbgworker.htmlbiblio.htmlbki-commands.htmlbki-example.htmlbki-format.htmlbki-structure.htmlbki.htmlbloom.htmlbookindex.htmlbrin-builtin-opclasses.htmlbrin-extensibility.htmlbrin-intro.htmlbrin.htmlbtree-behavior.htmlbtree-gin.htmlbtree-gist.htmlbtree-implementation.htmlbtree-intro.htmlbtree-support-funcs.htmlbtree.htmlbug-reporting.htmlcatalog-pg-aggregate.htmlcatalog-pg-am.htmlcatalog-pg-amop.htmlcatalog-pg-amproc.htmlcatalog-pg-attrdef.htmlcatalog-pg-attribute.htmlcatalog-pg-auth-members.htmlcatalog-pg-authid.htmlcatalog-pg-cast.htmlcatalog-pg-class.htmlcatalog-pg-collation.htmlcatalog-pg-constraint.htmlcatalog-pg-conversion.htmlcatalog-pg-database.htmlcatalog-pg-db-role-setting.htmlcatalog-pg-default-acl.htmlcatalog-pg-depend.htmlcatalog-pg-description.htmlcatalog-pg-enum.htmlcatalog-pg-event-trigger.htmlcatalog-pg-extension.htmlcatalog-pg-foreign-data-wrapper.htmlcatalog-pg-foreign-server.htmlcatalog-pg-foreign-table.htmlcatalog-pg-index.htmlcatalog-pg-inherits.htmlcatalog-pg-init-privs.htmlcatalog-pg-language.htmlcatalog-pg-largeobject-metadata.htmlcatalog-pg-largeobject.htmlcatalog-pg-namespace.htmlcatalog-pg-opclass.htmlcatalog-pg-operator.htmlcatalog-pg-opfamily.htmlcatalog-pg-parameter-acl.htmlcatalog-pg-partitioned-table.htmlcatalog-pg-policy.htmlcatalog-pg-proc.htmlcatalog-pg-publication-namespace.htmlcatalog-pg-publication-rel.htmlcatalog-pg-publication.htmlcatalog-pg-range.htmlcatalog-pg-replication-origin.htmlcatalog-pg-rewrite.htmlcatalog-pg-seclabel.htmlcatalog-pg-sequence.htmlcatalog-pg-shdepend.htmlcatalog-pg-shdescription.htmlcatalog-pg-shseclabel.htmlcatalog-pg-statistic-ext-data.htmlcatalog-pg-statistic-ext.htmlcatalog-pg-statistic.htmlcatalog-pg-subscription-rel.htmlcatalog-pg-subscription.htmlcatalog-pg-tablespace.htmlcatalog-pg-transform.htmlcatalog-pg-trigger.htmlcatalog-pg-ts-config-map.htmlcatalog-pg-ts-config.htmlcatalog-pg-ts-dict.htmlcatalog-pg-ts-parser.htmlcatalog-pg-ts-template.htmlcatalog-pg-type.htmlcatalog-pg-user-mapping.htmlcatalogs-overview.htmlcatalogs.htmlcharset.htmlchecksums.htmlcitext.htmlclient-authentication-problems.htmlclient-authentication.htmlclient-interfaces.htmlcollation.htmlcolor-when.htmlcolor-which.htmlcolor.htmlconfig-setting.htmlconnect-estab.htmlcontinuous-archiving.htmlcontrib-dblink-build-sql-delete.htmlcontrib-dblink-build-sql-insert.htmlcontrib-dblink-build-sql-update.htmlcontrib-dblink-cancel-query.htmlcontrib-dblink-close.htmlcontrib-dblink-connect-u.htmlcontrib-dblink-connect.htmlcontrib-dblink-disconnect.htmlcontrib-dblink-error-message.htmlcontrib-dblink-exec.htmlcontrib-dblink-fetch.htmlcontrib-dblink-function.htmlcontrib-dblink-get-connections.htmlcontrib-dblink-get-notify.htmlcontrib-dblink-get-pkey.htmlcontrib-dblink-get-result.htmlcontrib-dblink-is-busy.htmlcontrib-dblink-open.htmlcontrib-dblink-send-query.htmlcontrib-prog-client.htmlcontrib-prog-server.htmlcontrib-prog.htmlcontrib-spi.htmlcontrib.htmlcreating-cluster.htmlcube.htmlcustom-rmgr.htmlcustom-scan-execution.htmlcustom-scan-path.htmlcustom-scan-plan.htmlcustom-scan.htmldatabase-roles.htmldatatype-binary.htmldatatype-bit.htmldatatype-boolean.htmldatatype-character.htmldatatype-datetime.htmldatatype-enum.htmldatatype-geometric.htmldatatype-json.htmldatatype-money.htmldatatype-net-types.htmldatatype-numeric.htmldatatype-oid.htmldatatype-pg-lsn.htmldatatype-pseudo.htmldatatype-textsearch.htmldatatype-uuid.htmldatatype-xml.htmldatatype.htmldatetime-appendix.htmldatetime-config-files.htmldatetime-input-rules.htmldatetime-invalid-input.htmldatetime-julian-dates.htmldatetime-keywords.htmldatetime-posix-timezone-specs.htmldatetime-units-history.htmldblink.htmlddl-alter.htmlddl-basics.htmlddl-constraints.htmlddl-default.htmlddl-depend.htmlddl-foreign-data.htmlddl-generated-columns.htmlddl-inherit.htmlddl-others.htmlddl-partitioning.htmlddl-priv.htmlddl-rowsecurity.htmlddl-schemas.htmlddl-system-columns.htmlddl.htmldefault-roles.htmldict-int.htmldict-xsyn.htmldifferent-replication-solutions.htmldisk-full.htmldisk-usage.htmldiskusage.htmldml-delete.htmldml-insert.htmldml-returning.htmldml-update.htmldml.htmldocguide-authoring.htmldocguide-build-meson.htmldocguide-build.htmldocguide-docbook.htmldocguide-style.htmldocguide-toolsets.htmldocguide.htmldomains.htmldynamic-trace.htmlearthdistance.htmlecpg-commands.htmlecpg-concept.htmlecpg-connect.htmlecpg-cpp.htmlecpg-descriptors.htmlecpg-develop.htmlecpg-dynamic.htmlecpg-errors.htmlecpg-informix-compat.htmlecpg-library.htmlecpg-lo.htmlecpg-oracle-compat.htmlecpg-pgtypes.htmlecpg-preproc.htmlecpg-process.htmlecpg-sql-allocate-descriptor.htmlecpg-sql-commands.htmlecpg-sql-connect.htmlecpg-sql-deallocate-descriptor.htmlecpg-sql-declare-statement.htmlecpg-sql-declare.htmlecpg-sql-describe.htmlecpg-sql-disconnect.htmlecpg-sql-execute-immediate.htmlecpg-sql-get-descriptor.htmlecpg-sql-open.htmlecpg-sql-prepare.htmlecpg-sql-set-autocommit.htmlecpg-sql-set-connection.htmlecpg-sql-set-descriptor.htmlecpg-sql-type.htmlecpg-sql-var.htmlecpg-sql-whenever.htmlecpg-variables.htmlecpg.htmlencryption-options.htmlerrcodes-appendix.htmlerror-message-reporting.htmlerror-style-guide.htmlevent-log-registration.htmlevent-trigger-definition.htmlevent-trigger-example.htmlevent-trigger-interface.htmlevent-trigger-matrix.htmlevent-trigger-table-rewrite-example.htmlevent-triggers.htmlexecutor.htmlexplicit-joins.htmlexplicit-locking.htmlextend-extensions.htmlextend-how.htmlextend-pgxs.htmlextend-type-system.htmlextend.htmlexternal-admin-tools.htmlexternal-extensions.htmlexternal-interfaces.htmlexternal-pl.htmlexternal-projects.htmlfdw-callbacks.htmlfdw-functions.htmlfdw-helpers.htmlfdw-planning.htmlfdw-row-locking.htmlfdwhandler.htmlfeatures-sql-standard.htmlfeatures.htmlfile-fdw.htmlfunctions-admin.htmlfunctions-aggregate.htmlfunctions-array.htmlfunctions-binarystring.htmlfunctions-bitstring.htmlfunctions-comparison.htmlfunctions-comparisons.htmlfunctions-conditional.htmlfunctions-datetime.htmlfunctions-enum.htmlfunctions-event-triggers.htmlfunctions-formatting.htmlfunctions-geometry.htmlfunctions-info.htmlfunctions-json.htmlfunctions-logical.htmlfunctions-matching.htmlfunctions-math.htmlfunctions-net.htmlfunctions-range.htmlfunctions-sequence.htmlfunctions-srf.htmlfunctions-statistics.htmlfunctions-string.htmlfunctions-subquery.htmlfunctions-textsearch.htmlfunctions-trigger.htmlfunctions-uuid.htmlfunctions-window.htmlfunctions-xml.htmlfunctions.htmlfuzzystrmatch.htmlgeneric-wal.htmlgenetic-algorithm.svggeqo-biblio.htmlgeqo-intro.htmlgeqo-intro2.htmlgeqo-pg-intro.htmlgeqo.htmlgin-builtin-opclasses.htmlgin-examples.htmlgin-extensibility.htmlgin-implementation.htmlgin-intro.htmlgin-limit.htmlgin-tips.htmlgin.htmlgin.svggist-builtin-opclasses.htmlgist-examples.htmlgist-extensibility.htmlgist-implementation.htmlgist-intro.htmlgist.htmlgit.htmlglossary.htmlgssapi-auth.htmlgssapi-enc.htmlhash-implementation.htmlhash-index.htmlhash-intro.htmlhigh-availability.htmlhistory.htmlhot-standby.htmlhow-parallel-query-works.htmlhstore.htmlindex-api.htmlindex-cost-estimation.htmlindex-functions.htmlindex-locking.htmlindex-scanning.htmlindex-unique-checks.htmlindex.htmlindexam.htmlindexes-bitmap-scans.htmlindexes-collations.htmlindexes-examine.htmlindexes-expressional.htmlindexes-index-only-scans.htmlindexes-intro.htmlindexes-multicolumn.htmlindexes-opclass.htmlindexes-ordering.htmlindexes-partial.htmlindexes-types.htmlindexes-unique.htmlindexes.htmlinformation-schema.htmlinfoschema-administrable-role-authorizations.htmlinfoschema-applicable-roles.htmlinfoschema-attributes.htmlinfoschema-character-sets.htmlinfoschema-check-constraint-routine-usage.htmlinfoschema-check-constraints.htmlinfoschema-collation-character-set-applicab.htmlinfoschema-collations.htmlinfoschema-column-column-usage.htmlinfoschema-column-domain-usage.htmlinfoschema-column-options.htmlinfoschema-column-privileges.htmlinfoschema-column-udt-usage.htmlinfoschema-columns.htmlinfoschema-constraint-column-usage.htmlinfoschema-constraint-table-usage.htmlinfoschema-data-type-privileges.htmlinfoschema-datatypes.htmlinfoschema-domain-constraints.htmlinfoschema-domain-udt-usage.htmlinfoschema-domains.htmlinfoschema-element-types.htmlinfoschema-enabled-roles.htmlinfoschema-foreign-data-wrapper-options.htmlinfoschema-foreign-data-wrappers.htmlinfoschema-foreign-server-options.htmlinfoschema-foreign-servers.htmlinfoschema-foreign-table-options.htmlinfoschema-foreign-tables.htmlinfoschema-information-schema-catalog-name.htmlinfoschema-key-column-usage.htmlinfoschema-parameters.htmlinfoschema-referential-constraints.htmlinfoschema-role-column-grants.htmlinfoschema-role-routine-grants.htmlinfoschema-role-table-grants.htmlinfoschema-role-udt-grants.htmlinfoschema-role-usage-grants.htmlinfoschema-routine-column-usage.htmlinfoschema-routine-privileges.htmlinfoschema-routine-routine-usage.htmlinfoschema-routine-sequence-usage.htmlinfoschema-routine-table-usage.htmlinfoschema-routines.htmlinfoschema-schema.htmlinfoschema-schemata.htmlinfoschema-sequences.htmlinfoschema-sql-features.htmlinfoschema-sql-implementation-info.htmlinfoschema-sql-parts.htmlinfoschema-sql-sizing.htmlinfoschema-table-constraints.htmlinfoschema-table-privileges.htmlinfoschema-tables.htmlinfoschema-transforms.htmlinfoschema-triggered-update-columns.htmlinfoschema-triggers.htmlinfoschema-udt-privileges.htmlinfoschema-usage-privileges.htmlinfoschema-user-defined-types.htmlinfoschema-user-mapping-options.htmlinfoschema-user-mappings.htmlinfoschema-view-column-usage.htmlinfoschema-view-routine-usage.htmlinfoschema-view-table-usage.htmlinfoschema-views.htmlinstall-binaries.htmlinstall-getsource.htmlinstall-make.htmlinstall-meson.htmlinstall-post.htmlinstall-requirements.htmlinstall-windows-full.htmlinstall-windows.htmlinstallation-platform-notes.htmlinstallation.htmlintagg.htmlintarray.htmlinternals.htmlintro-whatis.htmlisn.htmljit-configuration.htmljit-decision.htmljit-extensibility.htmljit-reason.htmljit.htmlkernel-resources.htmllargeobjects.htmllegalnotice.htmllibpq-async.htmllibpq-build.htmllibpq-cancel.htmllibpq-connect.htmllibpq-control.htmllibpq-copy.htmllibpq-envars.htmllibpq-events.htmllibpq-example.htmllibpq-exec.htmllibpq-fastpath.htmllibpq-ldap.htmllibpq-misc.htmllibpq-notice-processing.htmllibpq-notify.htmllibpq-pgpass.htmllibpq-pgservice.htmllibpq-pipeline-mode.htmllibpq-single-row-mode.htmllibpq-ssl.htmllibpq-status.htmllibpq-threading.htmllibpq.htmllimits.htmllo-examplesect.htmllo-funcs.htmllo-implementation.htmllo-interfaces.htmllo-intro.htmllo.htmllocale.htmllocking-indexes.htmllogfile-maintenance.htmllogical-replication-architecture.htmllogical-replication-col-lists.htmllogical-replication-config.htmllogical-replication-conflicts.htmllogical-replication-monitoring.htmllogical-replication-publication.htmllogical-replication-quick-setup.htmllogical-replication-restrictions.htmllogical-replication-row-filter.htmllogical-replication-security.htmllogical-replication-subscription.htmllogical-replication.htmllogicaldecoding-catalogs.htmllogicaldecoding-example.htmllogicaldecoding-explanation.htmllogicaldecoding-output-plugin.htmllogicaldecoding-sql.htmllogicaldecoding-streaming.htmllogicaldecoding-synchronous.htmllogicaldecoding-two-phase-commits.htmllogicaldecoding-walsender.htmllogicaldecoding-writer.htmllogicaldecoding.htmlltree.htmlmaintenance.htmlmanage-ag-config.htmlmanage-ag-createdb.htmlmanage-ag-dropdb.htmlmanage-ag-overview.htmlmanage-ag-tablespaces.htmlmanage-ag-templatedbs.htmlmanaging-databases.htmlmonitoring-locks.htmlmonitoring-ps.htmlmonitoring-stats.htmlmonitoring.htmlmultibyte.htmlmultivariate-statistics-examples.htmlmvcc-caveats.htmlmvcc-intro.htmlmvcc-serialization-failure-handling.htmlmvcc.htmlnls-programmer.htmlnls-translator.htmlnls.htmlnon-durability.htmlnotation.htmloid2name.htmloldsnapshot.htmloverview.htmlpageinspect.htmlpagelayout.svgparallel-plans.htmlparallel-query.htmlparallel-safety.htmlparser-stage.htmlpasswordcheck.htmlperformance-tips.htmlperm-functions.htmlpgarchivecleanup.htmlpgbench.htmlpgbuffercache.htmlpgcrypto.htmlpgfreespacemap.htmlpgprewarm.htmlpgrowlocks.htmlpgstatstatements.htmlpgstattuple.htmlpgsurgery.htmlpgtestfsync.htmlpgtesttiming.htmlpgtrgm.htmlpgupgrade.htmlpgvisibility.htmlpgwaldump.htmlpgwalinspect.htmlpgxlogdump.htmlplanner-optimizer.htmlplanner-stats-details.htmlplanner-stats-security.htmlplanner-stats.htmlplhandler.htmlplperl-builtins.htmlplperl-data.htmlplperl-event-triggers.htmlplperl-funcs.htmlplperl-global.htmlplperl-triggers.htmlplperl-trusted.htmlplperl-under-the-hood.htmlplperl.htmlplpgsql-control-structures.htmlplpgsql-cursors.htmlplpgsql-declarations.htmlplpgsql-development-tips.htmlplpgsql-errors-and-messages.htmlplpgsql-expressions.htmlplpgsql-implementation.htmlplpgsql-overview.htmlplpgsql-porting.htmlplpgsql-statements.htmlplpgsql-structure.htmlplpgsql-transactions.htmlplpgsql-trigger.htmlplpgsql.htmlplpython-data.htmlplpython-database.htmlplpython-do.htmlplpython-envar.htmlplpython-funcs.htmlplpython-python23.htmlplpython-sharing.htmlplpython-subtransaction.htmlplpython-transactions.htmlplpython-trigger.htmlplpython-util.htmlplpython.htmlpltcl-config.htmlpltcl-data.htmlpltcl-dbaccess.htmlpltcl-error-handling.htmlpltcl-event-trigger.htmlpltcl-functions.htmlpltcl-global.htmlpltcl-overview.htmlpltcl-procnames.htmlpltcl-subtransactions.htmlpltcl-transactions.htmlpltcl-trigger.htmlpltcl.htmlpopulate.htmlpostgres-fdw.htmlpostgres-user.htmlpredefined-roles.htmlpreface.htmlpreventing-server-spoofing.htmlprogress-reporting.htmlprotocol-changes.htmlprotocol-error-fields.htmlprotocol-flow.htmlprotocol-logical-replication.htmlprotocol-logicalrep-message-formats.htmlprotocol-message-formats.htmlprotocol-message-types.htmlprotocol-overview.htmlprotocol-replication.htmlprotocol.htmlqueries-limit.htmlqueries-order.htmlqueries-overview.htmlqueries-select-lists.htmlqueries-table-expressions.htmlqueries-union.htmlqueries-values.htmlqueries-with.htmlqueries.htmlquery-path.htmlquerytree.htmlrangetypes.htmlrecovery-config.htmlreference-client.htmlreference-server.htmlreference.htmlregress-coverage.htmlregress-evaluation.htmlregress-run.htmlregress-tap.htmlregress-variant.htmlregress.htmlrelease-16-1.htmlrelease-16-10.htmlrelease-16-2.htmlrelease-16-3.htmlrelease-16-4.htmlrelease-16-5.htmlrelease-16-6.htmlrelease-16-7.htmlrelease-16-8.htmlrelease-16-9.htmlrelease-16.htmlrelease-prior.htmlrelease.htmlreplication-origins.htmlresources.htmlrole-attributes.htmlrole-membership.htmlrole-removal.htmlroutine-reindex.htmlroutine-vacuuming.htmlrow-estimation-examples.htmlrowtypes.htmlrule-system.htmlrules-materializedviews.htmlrules-privileges.htmlrules-status.htmlrules-triggers.htmlrules-update.htmlrules-views.htmlrules.htmlruntime-config-autovacuum.htmlruntime-config-client.htmlruntime-config-compatible.htmlruntime-config-connection.htmlruntime-config-custom.htmlruntime-config-developer.htmlruntime-config-error-handling.htmlruntime-config-file-locations.htmlruntime-config-locks.htmlruntime-config-logging.htmlruntime-config-preset.htmlruntime-config-query.htmlruntime-config-replication.htmlruntime-config-resource.htmlruntime-config-short.htmlruntime-config-statistics.htmlruntime-config-wal.htmlruntime-config.htmlruntime.htmlsasl-authentication.htmlseg.htmlsepgsql.htmlserver-programming.htmlserver-shutdown.htmlserver-start.htmlsource-conventions.htmlsource-format.htmlsource.htmlsourcerepo.htmlspgist-builtin-opclasses.htmlspgist-examples.htmlspgist-extensibility.htmlspgist-implementation.htmlspgist-intro.htmlspgist.htmlspi-examples.htmlspi-interface-support.htmlspi-interface.htmlspi-memory.htmlspi-realloc.htmlspi-spi-commit.htmlspi-spi-connect.htmlspi-spi-copytuple.htmlspi-spi-cursor-close.htmlspi-spi-cursor-fetch.htmlspi-spi-cursor-find.htmlspi-spi-cursor-move.htmlspi-spi-cursor-open-with-args.htmlspi-spi-cursor-open-with-paramlist.htmlspi-spi-cursor-open.htmlspi-spi-cursor-parse-open.htmlspi-spi-exec.htmlspi-spi-execp.htmlspi-spi-execute-extended.htmlspi-spi-execute-plan-extended.htmlspi-spi-execute-plan-with-paramlist.htmlspi-spi-execute-plan.htmlspi-spi-execute-with-args.htmlspi-spi-execute.htmlspi-spi-finish.htmlspi-spi-fname.htmlspi-spi-fnumber.htmlspi-spi-freeplan.htmlspi-spi-freetuple.htmlspi-spi-freetupletable.htmlspi-spi-getargcount.htmlspi-spi-getargtypeid.htmlspi-spi-getbinval.htmlspi-spi-getnspname.htmlspi-spi-getrelname.htmlspi-spi-gettype.htmlspi-spi-gettypeid.htmlspi-spi-getvalue.htmlspi-spi-is-cursor-plan.htmlspi-spi-keepplan.htmlspi-spi-modifytuple.htmlspi-spi-palloc.htmlspi-spi-pfree.htmlspi-spi-prepare-cursor.htmlspi-spi-prepare-extended.htmlspi-spi-prepare-params.htmlspi-spi-prepare.htmlspi-spi-register-relation.htmlspi-spi-register-trigger-data.htmlspi-spi-result-code-string.htmlspi-spi-returntuple.htmlspi-spi-rollback.htmlspi-spi-saveplan.htmlspi-spi-scroll-cursor-fetch.htmlspi-spi-scroll-cursor-move.htmlspi-spi-start-transaction.htmlspi-spi-unregister-relation.htmlspi-transaction.htmlspi-visibility.htmlspi.htmlsql-abort.htmlsql-alteraggregate.htmlsql-altercollation.htmlsql-alterconversion.htmlsql-alterdatabase.htmlsql-alterdefaultprivileges.htmlsql-alterdomain.htmlsql-altereventtrigger.htmlsql-alterextension.htmlsql-alterforeigndatawrapper.htmlsql-alterforeigntable.htmlsql-alterfunction.htmlsql-altergroup.htmlsql-alterindex.htmlsql-alterlanguage.htmlsql-alterlargeobject.htmlsql-altermaterializedview.htmlsql-alteropclass.htmlsql-alteroperator.htmlsql-alteropfamily.htmlsql-alterpolicy.htmlsql-alterprocedure.htmlsql-alterpublication.htmlsql-alterrole.htmlsql-alterroutine.htmlsql-alterrule.htmlsql-alterschema.htmlsql-altersequence.htmlsql-alterserver.htmlsql-alterstatistics.htmlsql-altersubscription.htmlsql-altersystem.htmlsql-altertable.htmlsql-altertablespace.htmlsql-altertrigger.htmlsql-altertsconfig.htmlsql-altertsdictionary.htmlsql-altertsparser.htmlsql-altertstemplate.htmlsql-altertype.htmlsql-alteruser.htmlsql-alterusermapping.htmlsql-alterview.htmlsql-analyze.htmlsql-begin.htmlsql-call.htmlsql-checkpoint.htmlsql-close.htmlsql-cluster.htmlsql-commands.htmlsql-comment.htmlsql-commit-prepared.htmlsql-commit.htmlsql-copy.htmlsql-create-access-method.htmlsql-createaggregate.htmlsql-createcast.htmlsql-createcollation.htmlsql-createconversion.htmlsql-createdatabase.htmlsql-createdomain.htmlsql-createeventtrigger.htmlsql-createextension.htmlsql-createforeigndatawrapper.htmlsql-createforeigntable.htmlsql-createfunction.htmlsql-creategroup.htmlsql-createindex.htmlsql-createlanguage.htmlsql-creatematerializedview.htmlsql-createopclass.htmlsql-createoperator.htmlsql-createopfamily.htmlsql-createpolicy.htmlsql-createprocedure.htmlsql-createpublication.htmlsql-createrole.htmlsql-createrule.htmlsql-createschema.htmlsql-createsequence.htmlsql-createserver.htmlsql-createstatistics.htmlsql-createsubscription.htmlsql-createtable.htmlsql-createtableas.htmlsql-createtablespace.htmlsql-createtransform.htmlsql-createtrigger.htmlsql-createtsconfig.htmlsql-createtsdictionary.htmlsql-createtsparser.htmlsql-createtstemplate.htmlsql-createtype.htmlsql-createuser.htmlsql-createusermapping.htmlsql-createview.htmlsql-deallocate.htmlsql-declare.htmlsql-delete.htmlsql-discard.htmlsql-do.htmlsql-drop-access-method.htmlsql-drop-owned.htmlsql-dropaggregate.htmlsql-dropcast.htmlsql-dropcollation.htmlsql-dropconversion.htmlsql-dropdatabase.htmlsql-dropdomain.htmlsql-dropeventtrigger.htmlsql-dropextension.htmlsql-dropforeigndatawrapper.htmlsql-dropforeigntable.htmlsql-dropfunction.htmlsql-dropgroup.htmlsql-dropindex.htmlsql-droplanguage.htmlsql-dropmaterializedview.htmlsql-dropopclass.htmlsql-dropoperator.htmlsql-dropopfamily.htmlsql-droppolicy.htmlsql-dropprocedure.htmlsql-droppublication.htmlsql-droprole.htmlsql-droproutine.htmlsql-droprule.htmlsql-dropschema.htmlsql-dropsequence.htmlsql-dropserver.htmlsql-dropstatistics.htmlsql-dropsubscription.htmlsql-droptable.htmlsql-droptablespace.htmlsql-droptransform.htmlsql-droptrigger.htmlsql-droptsconfig.htmlsql-droptsdictionary.htmlsql-droptsparser.htmlsql-droptstemplate.htmlsql-droptype.htmlsql-dropuser.htmlsql-dropusermapping.htmlsql-dropview.htmlsql-end.htmlsql-execute.htmlsql-explain.htmlsql-expressions.htmlsql-fetch.htmlsql-grant.htmlsql-importforeignschema.htmlsql-insert.htmlsql-keywords-appendix.htmlsql-listen.htmlsql-load.htmlsql-lock.htmlsql-merge.htmlsql-move.htmlsql-notify.htmlsql-prepare-transaction.htmlsql-prepare.htmlsql-reassign-owned.htmlsql-refreshmaterializedview.htmlsql-reindex.htmlsql-release-savepoint.htmlsql-reset.htmlsql-revoke.htmlsql-rollback-prepared.htmlsql-rollback-to.htmlsql-rollback.htmlsql-savepoint.htmlsql-security-label.htmlsql-select.htmlsql-selectinto.htmlsql-set-constraints.htmlsql-set-role.htmlsql-set-session-authorization.htmlsql-set-transaction.htmlsql-set.htmlsql-show.htmlsql-start-transaction.htmlsql-syntax-calling-funcs.htmlsql-syntax-lexical.htmlsql-syntax.htmlsql-truncate.htmlsql-unlisten.htmlsql-update.htmlsql-vacuum.htmlsql-values.htmlsql.htmlssh-tunnels.htmlssl-tcp.htmlsslinfo.htmlsspi-auth.htmlstorage-file-layout.htmlstorage-fsm.htmlstorage-hot.htmlstorage-init.htmlstorage-page-layout.htmlstorage-toast.htmlstorage-vm.htmlstorage.htmlstylesheet.csssubxacts.htmlsupported-platforms.htmlsystem-catalog-declarations.htmlsystem-catalog-initial-data.htmltableam.htmltablefunc.htmltablesample-method.htmltablesample-support-functions.htmltcn.htmltest-decoding.htmltextsearch-configuration.htmltextsearch-controls.htmltextsearch-debugging.htmltextsearch-dictionaries.htmltextsearch-features.htmltextsearch-indexes.htmltextsearch-intro.htmltextsearch-limitations.htmltextsearch-parsers.htmltextsearch-psql.htmltextsearch-tables.htmltextsearch.htmltransaction-id.htmltransaction-iso.htmltransactions.htmltrigger-datachanges.htmltrigger-definition.htmltrigger-example.htmltrigger-interface.htmltriggers.htmltsm-system-rows.htmltsm-system-time.htmltutorial-accessdb.htmltutorial-advanced-intro.htmltutorial-advanced.htmltutorial-agg.htmltutorial-arch.htmltutorial-concepts.htmltutorial-conclusion.htmltutorial-createdb.htmltutorial-delete.htmltutorial-fk.htmltutorial-inheritance.htmltutorial-install.htmltutorial-join.htmltutorial-populate.htmltutorial-select.htmltutorial-sql-intro.htmltutorial-sql.htmltutorial-start.htmltutorial-table.htmltutorial-transactions.htmltutorial-update.htmltutorial-views.htmltutorial-window.htmltutorial.htmltwo-phase.htmltypeconv-func.htmltypeconv-oper.htmltypeconv-overview.htmltypeconv-query.htmltypeconv-select.htmltypeconv-union-case.htmltypeconv.htmlunaccent.htmlunsupported-features-sql-standard.htmlupgrading.htmluser-manag.htmlusing-explain.htmluuid-ossp.htmlvacuumlo.htmlview-pg-available-extension-versions.htmlview-pg-available-extensions.htmlview-pg-backend-memory-contexts.htmlview-pg-config.htmlview-pg-cursors.htmlview-pg-file-settings.htmlview-pg-group.htmlview-pg-hba-file-rules.htmlview-pg-ident-file-mappings.htmlview-pg-indexes.htmlview-pg-locks.htmlview-pg-matviews.htmlview-pg-policies.htmlview-pg-prepared-statements.htmlview-pg-prepared-xacts.htmlview-pg-publication-tables.htmlview-pg-replication-origin-status.htmlview-pg-replication-slots.htmlview-pg-roles.htmlview-pg-rules.htmlview-pg-seclabels.htmlview-pg-sequences.htmlview-pg-settings.htmlview-pg-shadow.htmlview-pg-shmem-allocations.htmlview-pg-stats-ext-exprs.htmlview-pg-stats-ext.htmlview-pg-stats.htmlview-pg-tables.htmlview-pg-timezone-abbrevs.htmlview-pg-timezone-names.htmlview-pg-user-mappings.htmlview-pg-user.htmlview-pg-views.htmlviews-overview.htmlviews.htmlwal-async-commit.htmlwal-configuration.htmlwal-internals.htmlwal-intro.htmlwal-reliability.htmlwal.htmlwarm-standby-failover.htmlwarm-standby.htmlwhen-can-parallel-query-be-used.htmlxact-locking.htmlxaggr.htmlxfunc-c.htmlxfunc-internal.htmlxfunc-optimization.htmlxfunc-overload.htmlxfunc-pl.htmlxfunc-sql.htmlxfunc-volatility.htmlxfunc.htmlxindex.htmlxml-limits-conformance.htmlxml2.htmlxoper-optimization.htmlxoper.htmlxplang-install.htmlxplang.htmlxproc.htmlxtypes.htmlSPI_commit.3pg16.gzSPI_commit_and_chain.3pg16.gzSPI_connect.3pg16.gzSPI_connect_ext.3pg16.gzSPI_copytuple.3pg16.gzSPI_cursor_close.3pg16.gzSPI_cursor_fetch.3pg16.gzSPI_cursor_find.3pg16.gzSPI_cursor_move.3pg16.gzSPI_cursor_open.3pg16.gzSPI_cursor_open_with_args.3pg16.gzSPI_cursor_open_with_paramlist.3pg16.gzSPI_cursor_parse_open.3pg16.gzSPI_exec.3pg16.gzSPI_execp.3pg16.gzSPI_execute.3pg16.gzSPI_execute_extended.3pg16.gzSPI_execute_plan.3pg16.gzSPI_execute_plan_extended.3pg16.gzSPI_execute_plan_with_paramlist.3pg16.gzSPI_execute_with_args.3pg16.gzSPI_finish.3pg16.gzSPI_fname.3pg16.gzSPI_fnumber.3pg16.gzSPI_freeplan.3pg16.gzSPI_freetuple.3pg16.gzSPI_freetuptable.3pg16.gzSPI_getargcount.3pg16.gzSPI_getargtypeid.3pg16.gzSPI_getbinval.3pg16.gzSPI_getnspname.3pg16.gzSPI_getrelname.3pg16.gzSPI_gettype.3pg16.gzSPI_gettypeid.3pg16.gzSPI_getvalue.3pg16.gzSPI_is_cursor_plan.3pg16.gzSPI_keepplan.3pg16.gzSPI_modifytuple.3pg16.gzSPI_palloc.3pg16.gzSPI_pfree.3pg16.gzSPI_prepare.3pg16.gzSPI_prepare_cursor.3pg16.gzSPI_prepare_extended.3pg16.gzSPI_prepare_params.3pg16.gzSPI_register_relation.3pg16.gzSPI_register_trigger_data.3pg16.gzSPI_repalloc.3pg16.gzSPI_result_code_string.3pg16.gzSPI_returntuple.3pg16.gzSPI_rollback.3pg16.gzSPI_rollback_and_chain.3pg16.gzSPI_saveplan.3pg16.gzSPI_scroll_cursor_fetch.3pg16.gzSPI_scroll_cursor_move.3pg16.gzSPI_start_transaction.3pg16.gzSPI_unregister_relation.3pg16.gzdblink.3pg16.gzdblink_build_sql_delete.3pg16.gzdblink_build_sql_insert.3pg16.gzdblink_build_sql_update.3pg16.gzdblink_cancel_query.3pg16.gzdblink_close.3pg16.gzdblink_connect.3pg16.gzdblink_connect_u.3pg16.gzdblink_disconnect.3pg16.gzdblink_error_message.3pg16.gzdblink_exec.3pg16.gzdblink_fetch.3pg16.gzdblink_get_connections.3pg16.gzdblink_get_notify.3pg16.gzdblink_get_pkey.3pg16.gzdblink_get_result.3pg16.gzdblink_is_busy.3pg16.gzdblink_open.3pg16.gzdblink_send_query.3pg16.gz/usr/share/doc/packages//usr/share/doc/packages/postgresql16//usr/share/doc/packages/postgresql16/html//usr/share/man/man3/-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:40265/SUSE_SLE-15-SP6_Update/192ddb0b3576a0d9540c459091df6280-postgresql16.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linuxdirectoryXML 1.0 document, UTF-8 Unicode text, with very long linesSVG Scalable Vector Graphics imageASCII texttroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)1Ⱥ,`iwqutf-89b2404da8765b3efc8d03d4ade57523baa2218cf2fe87b1e29b97b70b6b0416d?P7zXZ !t/(]"k%0#J:fV3sOMr36;h42{E@`N8[Ŵ^R.6g@f4.ޖh֚W0YE1”Vt܅ $@Q* BH"HB"  **XVF[ sMOYeSǭ ,YW>k_ ~B,50 } gx$t(8WC'SDpsW:Kl8^{T } -JT78\u)g'{wj/Y6:U[Ie4p^1+𭑪iv=X.&SpniI SPw7NJcE:.SjJ*(fRQp>߲L-BzSČ: ӓG)dM66%D`^+ :Po-Ǻ{R~T><٪9!~,ub&rwR`[!m_A|P]"P60I">G[o~N#jF,_4s)`Osl W! eޮQ۱Q׼6/^LIL(T@>(;H'2ud;? Jɲ43|z@:ng`~$G'~rvcZa`熳ӳą=d`R;-7\¨S slN5θ= EK[y3y0'U1 @fހ $ŕ"| 6JSr+L{Z݆%o@"Юl&$ʞ:ΞK7F$ŕMWd##ь9Θl^Y4ڻj jG"-IЧ|Ûo ::X  ͇3N/sZBZtN+, 0:ZdkY$}J>.̌sjoU"\bO/ZL^ۑАi)uA4'M.q#E?)(ggdy`+p[bø/l:>pӀuL#YaĦ؁d]WJ+l-u07XxtźIfK/wDC>YC ,1::=(wl0y{D[9k$!$iGyaG#Uk'c-NΊRvfcҔ@t7X>X,0H:g~)ViGW׋|bTҟڽg~!7){i W>.!S SvHm =ֶ[ׂp:[ r|nvߢMNMKU-M)Vߣ~Zxe$ {6DŽ?,NUyZs8FIwA5v1 "(.h#+szҎ&O@g&.ňSAhҌ6tK)z.IJZKmt6 { zn7a-J`1՞GAUozgZq'[-iiXwo%, imq.}l]jv5}8yJ=ns%07+GaGֲ/-Z_ΦW%M/%KOuxR0\[өI 7dfELXщT|%1x*YdMgP3<6_}bt$G!GyD}C2.G~2Ұ2$[Hv.jj 0el^4h'} qƞGPS+kHOCpoeVOԪ{vlc1sAe@' Tn\2p_|ҍ^n ŨTSdE|?8$ r`1TC4|nHFǵY[OQ^@D곦[`ӵuUes6RqB,pguo2Bb聾rXnQ-Kh)[Xja9+MF75"@wP 4^o,cD->8ozԖ蹗%w#xCڪoAK_6[$7y.r:Tasds*b(uٱٷ[vYo&oTu| Y}o]Vjg_ -)6$3sb3&QftzɹiV0 1+\=Y$iRkf]¨ke1i,t}ZWS5p>TVl.ȪF:q?E\ {??.Cv N$97w-V5c*WD$3 Á1?y_w z"T4w-w@ή%5; Vةf`O hZT./p놋9}K#J.ټhY&@^#NܥwDp@__`B?R}EOp cl֢qkj`z4Yݘ#so7cN;+1Nemi9 Lv΁낋bYWtWjRKIշNCМ7BVyB3s;:|?~mOX Se3~Qe)y> ,Ŋº~T4J!.${+KT &KkEGxLrwC-y5Fkͦ,R,dЛtW5ĄVdgv3M_Gޮӓ[8Fhg.B3 ~nO98}UX@ӳ1lz鬿-x+ -F2:.[A6Olj]-}hϥf]k,vL)Cxږ] }0'ʆ)/W[=\$-/łчv8yYN*Ȝܶ–Yn/6]ѱ:E,xv.P,`EґCnv闺"SQq oHz$tƎbt+ ʎ%SOG,a7c32ٝ1#SQD(+fNS=ް~GD`H0] XKw(`@(Z%3"=Έ$+P8ۮ8yƆ;TSa|77Ǣ`|w..h?:iK띓3ZGP fTR 3@3y5$Gx7|a%F0f$s$_PW xX dba[C؞<c;&f{o.s/iLWvT/H:bΚa y*,g wyYm2BjZ8qNAhT'tքz$b mWC@PZ^ Ԅ+rC@\+׏RH{f}ej?#ezɇHbigML]IvIC6 T2n9 BWRcF[Ybs{Qbq$tAC/ e#R&+0`&k[I(ndjѝA`n"- ?\CqtS.I2~  W3L3 aq# *b_P6&M?I~]μq L\5qZ6ן"&6M/=bijMh@ds͹ 2xؒ_L1aF\krn@58ϰq3,0B\/JՖ8E3vzϽCi[Tbȣ ]&xA-1,*P=kP# 3ѳiI4S%L(uƦ]ò`d/bLq'5=@JG?RMjأF=MTSnŝކ71:'HLHsJt:2]mg`q#pz|ynjf2r#M6 'S Y]&b?{*V rd9_8Cre?gIE(` 2GEa!$͐=D21R=S So5賏k{YEqD39(.WGTz˼j_fC'&)}FpSq'4r|,X2C[$_@qC$~=/<ϜRBkoGL9ʶB۴o jnrYBk-I24݉iP o`= %_pM_p)mpF||Q`+kޔ:x\* C\jƹ`3ER5yH}FQ(5)BCةXhiz,NK(znh(ԏ~0o,9 twnR560}SiZ%|h#k\R% ޯG-+sϩ<]BJ?CU734-$t}v@ﻢyWk+7v4DkFێKm7DA|m&#d$IL6^9X q.2B'q1E"Ć\̒XIj~ePd)xQExa:$7ܪ6P[o'l@^G3:gVZ_WCOi~${΍cjTاpAan_oNsJ> U]:󬳪,qDj<a'6ZasG.5>*}n3ne%8Ҍ _LLɃ Ы (Bc6mw |oWCz1 =szhe\ ;5#F@k_F#.#ʵp|\vyh2L[V {`8%յޝhPz Ip [Gx)F툣zk9h Vv/'_or(fw'K֭SI28,Tv΂)٠/p˗mc5mE\,H{fSuw!6uS[?ssPcx ]w`. ఩徟ni>&w&TgKYJD<کa d/7mF.BW=t$Z=9-eOEښƂ:@IxU)o}`! Zj<,E08rw IL(~FǵPbxt#B^AH)*1]zaIJ ڲZ( *w0Og_cԸId]*ȪWYc{;uEn6@>Fferf |&Vhݩ&ℊr!TV_ވ6Įik;IhfUN:lI˞(q̰8S9x7e<.Y jdGrkoWWЖC,0Dn Q+ꃡ8Sl]Ή|lKb&}*<_X*yo 6Qe@,FII.+ÿEәPl5]F$l2Pƒ YZ