postgresql16-docs-16.9-150600.16.18.1<>,h'Ip9|`:!98AQl^Vi dgvXG4˗f~VGGVE|+5n(eެϮs=+ckY D"{} LnyQ;*I&!ASkTa?J~n=S+Wh-:Kg}ؕ$랲1?B;1Ƚ3Iv!I0?η1$e 7jpf0SlCz0\r o7fnK-hߢj]ar >;$?d ( J $=^i 8  ) = xt }P X(<ն(8B9B:BFGH*<I=XBYB\B]V(^6bĵc^defluvtzڳCpostgresql16-docs16.9150600.16.18.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.h'Ih03-ch2aSUSE Linux Enterprise 15SUSE LLC PostgreSQLhttps://www.suse.com/Productivity/Databases/Toolshttps://www.postgresql.org/linuxnoarchT2Ei$l2?O-Z*(op,oH}]$e#+ EWC VHCtI:6Nz@]v:,)Gyk:uO !YB0EL!4$vg~G@#'y I\7VxN6 &!KS V N4#;o#ycN!;d(Z8|s 3n"#n@0I8Z!`h .9&.aa;-V9|C`  a3YlFE" T  j k $Ck_&b"9||589$v8C< ti@/'-r1P"{/'.4_ 8;$E ogW]Q @&d d : #dj%+k ~3h0 =*a"' g.  *9dX1!E0 E@8 `/3DKRM[ (+,̆QT4  A9Cx%L_""+b(=eUFz7^4K)(R_4Yw.552K¿ i9=c<"Ofg&+ M(D  >. ӑ*JOp  /7W*xX!i+ %2(_;i"O:73 =uBfUr=1y66~sq$6%KJv )[PXjq- 1#V(r c ݕ"Be7\ V,k3CpW.fl >iECNVOrf.d}%&Z$G[y%"2g#&(BT}cBS" ,,, \8 '(" \R%0'8]*?8  9$gW:!"Lfpr$bF }"?N{Y1dsQ#::: '(]3kY >6(!s{c=8L>(ro#!z:$CC; U Mri>& :H4rg &CM&]!D%D(iV)ik mKk+&I-q`KwdwD+^ v Ui/:bg5k,"1zb_SDMbN)! 6/38%q'Q'g-uGZV[(9 4<Lhr 9(<r -dHZ f>0_'(' >\5u- # O$*y L ' 1W@W@\"L%SX'v=?91%C /}0kKmX+ssk;x0t+)j%i$.#x^%b6 Eu I3!! !ھ'MFRb<a+@FD\}*+2j{+ r, 86,XzkSS'2A,a>CF=g}AA큤h'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ih'Ib2a80aa2f5bde22c6d7990a3361db99d9c972411ec3ae6d1b2cb18d44686616258aa8e2b3ed794125be822060f68ddb4d8d7dc143b7e39f30a724f91d74787dc96f19a8ed6cd45cffbfcabb2161c3e69d5ff4009d5eaa95ea31c194802fd718a599c84c79e83931e1a2d954863248373c7ff9aab4e7eff3eea816d46d2a9f800d2e51980834231954e56e0f18cb4cfbd5483c89daaef158eafd2e5e389d506328f26dcaa71c8f48ed82b5069a03c633e729ea5856554df5fa2576ec3edd5320c0b9871224c1d98c7421556e9c5438ef94ae6c5f19d904b1ccad962a3323a1e75888a428a7cf4262de056e116f3e64a64a44f97e18eb5affd61c644c6d8256070174b6b9f7ed37032b5694424627ef46ee59898b1b32e803f8656843562886fda4b238d73d71e3207d08c094613f1ac9e849d57ff5d40095bf598d872217e52107e11420f85364cfa77040adacb12bf0984cc79d66a22b21b1fd16c66dcc60fc0313c8117280bf391ac131f66fb4bd9a77d7ba3b5c0a91c69006203e439893a5ff179663d9a926334c906bf9de287f86b3835b4b0ed7a9f0475a2823426bd4bf7bb2cf3b29b44a9b140b026b0081614f589ff7f64f6a3455dbe10870c748b349b11a364108a2a0291a7b04717011abbbe4525163ea40705a2cee58b2930187921c15611866507948b272581db9ff83627f42daede363436bc372ea8fc4ddf724151ac420b4de0d790c73df5737b02997fd11f5f5a8d810baf93445c9be7f6ad72ebf22b23898078ad309091c480ff5c310fa9a80945e9cc08dd481a2ea27b6e76ffa1df8b6fc91abb02c97159d8562f15cd41d81163a7913362ab75e4aa3c28092aea60ad059286c79873236144ac3eda990ce96784343cddc31f339f896b789a5cdef87d13b411b7dd3e49a0971928af151aa77e17689efa05a42d4987c0fd77ab50bf18e5ad50dcb82ad0b0027cdc27fd5778067dd07ee9614fa3ceb17526ff42c9210d9339e7f0e6d8354a13eea75c48485436e93cea83adc1fccfd1383f00ea7bfcda29d1d4744d2075627b979142d2d79b9e596ee2634161b258886749bdd30f73fdba155014c96149baf8a55b676b689d029678a939fa31aadc419c007365ffb671a59e32a57f683c31ad18a6e08e9cf2411ebf60b0dec662ad8cf8b050b899256758e1ac422b7844c7c2cdd7e4c4147e0201fb67f6a6b164728c76b876e2735ca705323363ca5a01ef8ee9e41d0571938cdb004a278ce73c4e4599ea55fb204fd2d28489657c2445b81d3944e0f3226c6c016046cd4b1114f094493537026fecd53c137f88d3df12ac004f39d0cbadc62857c0c4ebe3eb9e6f1cfd0fecd40a29daacb6a624a98c3c489f8f5dbd663f487cf9489399f423a1d90b54f27a4a81914a354e8d26cbd9fd2935b7dfdb4f5ad4d3851ef226b345d1ce34e0896a612ffc4bccb307611ea44ebb85306c08c4950febb768a61f1dfae1f0c775166446b0e6e55c7ecf847e48e23e3d6a2add90e341c2edc7f8874054bd831499dd220643b1d336de2f8a8489937c18dc96e4b0df586b5acdce7a2cdf21d7dbb7103bdcac22fea52c5992d45442dd44edfa02ac82475b8d17aacf2af1ee1500c93fc9790b97c9bb5f130a0a3743af984729c8e2d0c8989085778c881074e539737e5196a56d1a167a683115a69c07e78d181e2bbdc3d344fdebc40404387aaaed9972493f8ba386e396575f57bb335184fd8eaa349d803cba632d083435710bb110c64b36a5fd782acf7ab38041ab537461d6265580545d92094c115abf55c824f132d6cd861e5eac4f6158bf4e39df9121202629c90e35abce4d1eac67f82e4cf64d875ff2f31358705b82632987b3e207aa4691b5cdfb2af148840a97c73871b54c521c7a03060ceb349a0d12af991428f9f56533d255dad745d6d8056ab30df76863b7b41e43e353006b5c09a56bf690f7b2750d1807a27501b561ef6058368eeed9a541c4238525cfeaedd03ff4cc2765c852ea6b5afb011a68507cbb6ef4fb08fcc4e996344efbb2da5ef9d398696ee5e2c156fb811291fba5a3091cf3c95a9a03d27cf4874ac46fbd3d9dcbd09158a137bfa4fbd2c58331eb8308e24c8c6ded65bdd5819d33c15aef52e202e50d4215a2ed0329df509e9f56b13d2dcdd22e3d496dc197fabbcd3b35620e5edd0f9e716e90880f940df0f507d15d02a527795059af290bcc62aaf30b06bb9ab9e347ec00827a917681a79e14d6721c7e4465766cb336eed61fc3b38aeec9b22a40d7b8cf4523c92d03aef2b33ecf0565ab6a3c960c704c1a931b40e99ba4a1544c764ded1ed14eeaf0087742badc0d4c1f04b56ac1210b437f809a239bf5296af32960a4636c985cdc234574e130428fb4ca655032651ab1667232a0ee96738846cd75f1a47086a4b79c1dae45981ead4ce4e4c5eb63602ea9c87410b8ee9b9d9b373b7fb13975713512a84370a678a62e01466f18c2f903a7e3abe86435bea544d8750544380cdd0c827dfd8ca08c0994034ed1b21130f23afb91a93e2d3381b3f4128ed31d40eefe266835d83b1ce08986a54c087b3be29a6244e3741f2fb87999a8f48cf0a07b8d5fb51e70514ba163b5db3b866dcb455c6149e89a056b485b536f34d9aee0883b83eda405c51855161fad8c8c01d7a80e037cbabef2005949c9595b70c006b9635104894ff71b0d6c0e1b7a511556f6099b3feb1a45704b1a9e9186d0a15c5d1faf84ec6ba6bf3e5a5a4f159918d1b5444ca1ab29ac4289e29f6a10761a1f05ba5adc29812805acbfa741511b9322848b81d23c51377f6b50f343956946929eb63f61ede1bea92702487fe47bb28c1a60c31e6bd34ee4587962d889d4750918a0e51a05458720bf42eedea0129438a20093e95ce484b14f6fbdb0a692e75c48ff3c0c8c2b9b4395ad8c0c3b8070cf5f81b0b366bfb55e328addc0fa37e36899a6092ed5bc0a13c599b835b12af2143227242d874f4f88fff669c0950de83a5d21217c7fbd46acc2e6021c136ed8f4eacda3f2dff17cbad7976c7f49c894ab10fbf976a1bcec2cce4aec7dcb4118c39b2edfa6a4442e01848edf1586eadd33e0a5e15b39de849662062ad3dbc59022e549baf811dd7b2e498ebbcd947d0553c9fa80f8e29004d4eb4a89811b852d1bc9a69b5ab627dc3499913acaf14bab037669af85bbb1a2a6dea9a9be8db1efa8b7dd6f3ae75ee04dfeafa0bbe38a5b8eaa653b12aa93cdab20663a95235b94fc0ece4927df7230f18fcbe832637cd39c870132d7979c0501a4234ba2a2d0ce039133963c47df80a0be981d32953aadbcb277519a9d1ba05237c1ff3673148e18d1b384acf94b1ee14c5270622b377645f2be5dfd811072a6e2704e986139f6be610d71186c654fab66a7306fedcd5c922bcd12edb8502fbef10ac70faafd6899df91782cbbb0480f3132d920145cf26ce43e79a4e6c2cbb6cfcd1e735cecd313a6905e73af2582d38c0286e813ddff0ae399284e6aa792e32d2a4a6f081cdcfbdedffcd17d832a4fa23f002bc952cad0ea44fe5ce626b3fee42aa7b90c31599acb94d3c2e98a7ced27d99c472b8d4557bca53ab7adc4590d0c156bf38682bbba973c7c4de852594b6c17d4eeb3fba7cf48df6f6e8311e14a7731ac2a65bb2dbebe43eb185ce32a30f874ec7c99493651e76c84963fbbc72accf2e9f84082c3f00649fd8d66f15b52e86760d5f7282b1deac87597066805a1423d7079d23493e5425f88f78f24e250499907d557beed944afa50d4b9d6cb06bf775891e6792a2a753a48ee05ee2f123d3ed92ae5c15279cc888f7f9f27c73a072978823c198f68bfd0beececb65cb364d72960d3ac8221c8256372c303dbfb38a53ddae2d04198abd14c188d525e9b3f748fe76ab814375a7f939b8b7f832b77c248d39e46e9b92e447810d6511e322ac607ab3af8ccbc7ef6aaaeb8ddffa9d9e435e180247e643d646681cffdabf8a4b3450f95177b28b6f5527021179f34ef496b8f858d76a1017bcdc38f56e1d35caf7f2f5888d72124a4b6a472829ec713da3675202352fb953c093f9803b19fc505a7d0986b033e43934599ebbda1967ba7b38afcc3a0a52a3ee7a782dea2ce694cbee6e78eea03a72450459d13636b9149f1f39b32c6e96383f95a385d1e26ad95fe9d719edccd22eb14a7d74398b4c2966e168a82f58580068168a4b7bd1fc2dbad08cff8602b50c244fd06be5a2f599c2a03acf41a1b10b496c9058ecdbd11aeb11866538b6c3a0a7b708f1df7b55dabf7fc7da80fd4c990d008df97b7a8b7433bb006a26e82a204b730a6862a5c6f4a0ca0023c9150fb6375da455c3bba74e6e29b710508c78c84dee7c050e6d0c2934eb076d460eaad008918070266c20375b03845e5fcad6a1409086ac9f26e7b5f7ecac46faeb400c63e01ec564c517befd4bfda8c534e37ee00f056d91240fac0abd8d81e9b983e8a6068b489ded25ca174f43322f5b0cee1bce90bc503f8739652eda31c3d9b1e3de021410eaf46143e6a36b8f87f621c1110e64df5ddf90b45b96572a407f1b26ae0297f1b3d94366adc78815ddc4b2194bff30b8893f15f5bc63ddb25fa5bab884a758666e1003030e4cb7e748d95446d95a479e8a3d7e3021b65812e31052c328eb087020ea74dd86ed400cb0079c65323083e4bc101fdcdb645103efcbbf012554e05269b121b2a1f3b5d5e96abaf5cb02820c723b79782ec3370bc2dbf6615d3eac24b650d45a8639c7047d91efd44d68c523e4a674fe1248029973770732f419baaeadf1441f11d9433632755b7c3930b98b19ad73569e46f31c4c1a64b0c481556598fc5e8a087f07e8558f46195a705ff48a7769fd76f6ad2023a72e3c2f45ba79cea2518b909084f0737ecce5a41d807022f1cb1c2e65acb516356fd893406dfda072662e68dbae52d26e93bdc5fab622ad91150f6087d920570b2c3a57051e67c2c995be63a296de28876e6337340bc5c9ce867de63dc2f6ed5db33285139b87c4c17898279839a76cc700b6acf0c8bd0b4b83581e17f81e6462fe4bc3f67bc3ba805f9ed9eb573bbb86843a168d631929419a443883e20bdc5de9ac1e9056eed7371f53b6896a8a04562f56e52756ed49e9782ebcedc60ab041c08cfb9573f2c2c62b824acfbde4aef0651427421765cb72ffe7acb819efedc363e03c4535a6e3e4354d9dc196493788ce57a71be31e3abfff5ee1081c59e4c4e839868ab415099af69b967e604df8d5ae6dcb09147277298c9ca07539f19f6e477bc9c48602f5f935af07737a71ac53def9454b29a57a7e618446ff17a4fe89273e4095e8edbd88ffc9d55a22493c54ad036722f59fc72422336f69a7cd5e27ac2caaf2fc8012627c124b0d260d8d92bf7751029885be70aae84e425b3eb4eb517b11a35add5c212599d11c76eaa3e4e46830a4d7aa3b2ed5052dc26430e0a65ce739d62f17d92af187c5d2cd2159ef0b73bbce4dc3dcc0a4f1788d6f5c8c0f27d702e4fdd88141f59fa910d74680c2435c231fc7dd02c483b28dd7af2abb03d1da92e166a603bb8605ecec09197d2b3f9b2ab99ca83980c8b18dfa53ef03bd9b3f2361d8c0e4d3764af68aded744fce863bee1f3638e652dd67e3b4759d338bb066f24065ce1ed10c835c4ee7fca5ee13b45fa369bd784ff9cade88b182e4fd8ad5d3be388f33449834d0dfb69c2c5cd46cfcdd501a3d1db854ca5a81125c74fb24b587bca21ec68fc934878d8f3df492545a5dad43303176d44ec641757ed402762108d38c854eeab4f55ac621b30b627d17ba4283da98e3cb98f4222cf393f438e6ef2229feba0fe4d18fda2d3415578c041874c206452b181444a896df7e28b0957d27afc8572f484a329b6293e931eeedc6607c00a5b280a06e78284c4643565e8e3307602131c9ab236cb3a943bfd1c4c84d03535140710c2b7d15635371443eb685799007963ff31b6d69debc756a89eb582b77e0bf1d75eff5775cdfae5941bfb210c14284270524d8d2e1d2c53cf213e2f213c4055a75535e4bbc4e8ec414046f19fc9375a6c6dff9741abf0c5955bc02fcb7fd20ac8018c2820ce0cf5e32fc204a56ebee5b2322ae3c34075cd9ceecadca2a3f74908dee377c63522a7a4980a11921daad14a81a6ea3b4cc5cdf9480ca597b3d89f9bbd6627b4d10f451f3fc82a40634193bf457c4a39ca660b0176a36d330cc91bc09436262bc4b55256cf9bb9b2eebc7fee9d6f7e5a28245536ddfc6ca2baec54c8f5e3ca7385350b8389ec3bc96366a34c977fe97c5667e100d12bec70e0d8f7a44a071e8faa14729c82c4a35841e860f15b669568a5574d3c2714e4be16a2f7e78d25f5dce87316f42a26226e2f152bd13cfe8686ac3c940d1e1a9b4a7b2492afa31694420200337663d18d781a4c4ba99b37a30a301096bdf72b58d4155d6974d3b07daa8bbb0dd273fd4a2e55d00fd955d4267201f310b5289c9449110efe208e953d3995302dee12621273897bfad6c5852e3f0188981d4aecc44fac7b0cc7543680b15290b07a38e89c204f77dc7622b880dd4abe886484bd2064ff7945c587b03a4392a1efe37a9fdda86de259b05f4a9aa33fbc9fdcf0514c27f6afdec29b7895c100ecc537f151d1e6f4a21cec3dd3de13a81a93930923f51103fa6edaf5df03fcc26c2d725df747c7983369a1d78ab7bb79463f7b6aa91ea40811045432f6b37ce35bdadcb43c91a4e9aa64146cd45a7601ec4ac4f2fcb7e8cdd92d4f2b685c1b5ee1b3b4a4f6adac067f6d4b94907270702edec78d599ac12e5f151960ee87c11794dfb8281666f0f5140bee1e3860862050ef5d0e5ef430062184d1313494d89bd0c34a97d48b629592cb34fc4eb996616e357d579e5a136dfa49c8ec00113060b48fb3e857df727f8fe4317c6a321b8239213ebad6c7fc07857414cdefea9e331816f5f1b1396fdd3380c9f6517e8da85c60cc3164b29d8e518f4262fe844cae5037dff5322dd2ee0352f4b9b8748f603a7398495af75f5a7732ae6478aabaa39e98ffdc2c0c51c560de193da9ab4e8523f069b83da1f4d6c2c243ede873506ec91346ddb05fd0070124bb5aa5233b1740093dfe7ac4900c1583f839d51711dd2b9ff51933bb98c56c794971c42f3875b3cdac0ce08718acd6b68b9a7d38ee08bd6d1daa12374660d4594a108afaa13879fee16cc7cd7b59427c418d048c70ee252d5dc292b7bb249995ed9943bef9ad65f9cc61a33165ce6f80eabf7c81839f195e54cc3490682fa931eeeb2180b7f4c54c24415721d039f6cea11a7cf6eca2747383b2e1eb573fd8f25f0640c46cb1381bacbd636dca0fef6026da3efe0897b463a605dd2e3c09a434c7cbd0d96dfc780b7ebb726ce677ec2d4625c88961e7643bf236ab3f5fdb151a73397259cc58874bcc9251161040d41e6a1ce5ade7d3fc84ba96f8b428ad91db2d1723c97b445fbcbb3deb68544e78741091fdf25b28362d982b262d50046e6cb7757160d6504853e048460ce72ef76c15def9337819efce8962ca95b8e27a391e07b99861ad84f114b478f3e716e2065b935371c847f59f8acb3c36cc01580e25b4b56689581c2017c477b060016e3e84099fd4ec49b3522bed232887eb8034a58a73a79175e01171e852fcaf798ee76cbc667b4cfe6a04c1cd806c2bab8e0f191b9ef1f022adbb4862d09fb21c18eed0ea2d963e34cf6affbaeff42bc737a3f091621103c06fd06135fd47f73fe64366af2f8eeb617b90f63ada843a7b54dd297eee2ebf004a517f4fb70b10db8eba3271c414435b86b478d6312d9830cc3ec0a30695e62b2e7e31f6e559d370a2921c9535382609e35b84297a373250946c7136c403faf7343046643e5e790770233f1c7b660ea9117360e2635811e999dd93640d5ffdf67bf775706254911acba003fc51d01f23d3c67cbf82c122c5e4f811a41a4565cad40b77424e38d6435dcf224d8f28780b1e129ee31d398e04b386e1f616eceaddf0dc31e308d3742a2d441f9a47b637f396fa09003dc7508f5cc37e93d96477e9a653585cc64feb54063559bfc9f5583be33c9808da2087f5926f8acdc6543807ece867d8fecfe19ebf7ebc7dbb8e6df3891518212cf5fe392a335e546826d3e3eb7575792f6caa8692d4b589f84726a6d7e1657cdeec36b9a377014bdfb74eb8010a58696d84da0a0e9f4355eadefad510b90667ca5fafb4239b412d01f2738b433c5fb57aff5788b97b08e857c89f8da6f042339877ee3a76538d567eb4bed5c62e0e5423e32912be4dd29848501794e57b1d00c9511a3f60a6d7b034c427a44c68f3ec92ce7bccf91fe81ff6b6bbfb4f170c076dba04a2d177955f2a292b849f656004e79a6a27d8a9a6e4fab120d420c8bd3ee5a73e843d6260d7d6cb13ce13fbdced3bfdb75f03dcbd1e166a8271553ad0312672f42db923b5a079786db2b21ff71ccdc232bd3b4165182e74e7eb3986affabe3dcf17f7f5b6cfc90c91f1287876f25135e73bf1b9f8dfcfd3e0698655a3baaee4ec2adc421e23ae3543252ce1e450939773deba52e6fc7d1c3ff86c569ea00ba4fc1dfe3ba44865b27d85c20146e260f9b1c7fa51848aa3f9523b2edce439e8571a69d128dabe115f40cacad481f2d3e7cfdcafcfe990cb01941329d96f76479e708d758f7d8c76986dc52c3b2b6739e7795f5ef7f9ba5f7b04545e750bb7c4a5f9b44caf95ca1f3e5ecefe5387b50ea436884c25fa8454d14dce2249c005074607d5cae952d1361e497b4a3437a745b6cbd6efc315f1d62fc24959972df57d57b2c23fadacdaa392f383fa59da80c1fa9202f2fdc4001ab5fd15e043b8ccd2cfa76bbc5288dc51e49946d8f72b4009b432cfae19ea219c57c9f91a8af1d2be8d387ce9b8ab714c164b2ac590561b2805ff7ce213635f0c64bc5c8ae90ef366a982f1cbfd029a2adf5ec1ffdebeb1e9fcfb8f76c6f9398b053a47402955275fa145319ec79505504eace24b7a75a01ca42b31d2900c1e62057c9bfbcaef64e6e487377fbc372f36480e35f284edd61c2ab1d3c4a9609d5ecb78cc17cdd11750e48f6adc2aaa73fec7d8592398918b24a2636ddd83b2b962e6142781efa2833e68e70e52d4b00e058cc08d011710bff21676ee4d42491bf84f18b493da8e5a8d5d57279ab39095abeacef305aca2b1ffbc1ff92a861c457a841c7e1046bf3c62c0b94e4a695a2867557e60b67ab316aedb40c17a4bd1d7fd4cabe3b18d23b355970188350647c57702904a6ab6983b806fbdf592619711c0a2458bdaec1d0df27b0db7d0fb041c32242abf4ac92b422bb2f038148b05686cf8b2c8d93b1de425a7efe7cf540fff06e13de11a25951a64fcd63a76ef975c22a33373e41c251eb55f58fd711eafb8b0d561be9517c11ee6224bce910ddd5c9ddbad6290a18fa6736a2e8dc77de747a1b0d18bf89cf639dbca3ccc7fac23dd904553492da48d2ca0546ecb2ca10b617861785092e890a43477e9f2b82d117b77789bb076637a25b5bd897033f8915b3d8e6c2ef741dfaec0ab70ccc55878740685fe158689babe625c91546fe4eb36c16262e83e71fbd14f19cc7f2a3a386be38095872080e57f245bde529d49a99ec2e60dafd235816bb7edd257b2c684492041a7d3e96a4021849af5ba7ab77d0b6bce265bcbd9a50091a14ac4fc861527ecba3ea84e1ae7d8331d1bdc1a708574efc7a5231ecb319ea08554c2388a9c25918c4adc5ccdcb1f20b983fe3f943c08d280306b2c69c126e0a31906e228901a124a7c956530a4886df115c50e8e66f10435b0a59b3ae6a8d775673476351dc1fa7a9f27a9f0e00175d9a1ad21ae772842f4ef21ddba77c5fccf77d891fc47786fb4586ef64186e02b047381315ec8c870d3eff1d62d04047a62c79602cf0b991a2a0ae55f7ee050fca200279991cde69f67311a1a8ae7450e550b3e5db435bdce4fe170478c639bf88339232a97d8915592541a07e0ca82ef59ac921b4bdad261e6281151a0e558e136a98b520b3076aefc50ad4f3184cf5deea76d057b97fdee6698a36a67aeac31694074a29c9f11df0dca43c282c540714f23b690870d19a349afc9c44045ff862530a0ad22232355688bc70c5c4e4adb5344f013ac1d663a650bf6187ec9c4c84bbc0a918448c1c194cbcecf3b2e7ad4fdea25bf7127c5a48ea002f2f1f264711d27abc0e86b2bd184251eb59410de91c4749b656ed529661ab0c7d88efcb75945da7e5498070ac7dc9ce75f4934a481fce4975c42ac3ca66d0b9831273824cdd29cf6baf4d7d135d76c689b71e3ef740eb190e58dac2521d567148f5a83926fe28fc5a5e052e56da85f313f9807a9e52c7b135160ac56cc3c3a990ae7d580bd40f9e023776ae5b74a2e64cf51f03014b1c1f6b23636cf65c592b91a065ed8497d06384baad43b14d77e6d962214907f9501a139368874fe7b8a91572fa6a57edeb39419c40097a65204b11faab39ebbe9b79f7d7cc3b4358531d95c64a0bbc45b25ec55dc246e80c537dd147877a7fc69c05d6f28955bd3028a228689c246122b465c7054d7968514d2dcb60d1b19084d916a4097c0780de707e18654b8a70077f803fc20bb7e090102a60e047922b3ce14bc2dac160c399db9f9c2f1866c2714451878dc551c6024ef0ffbae95cfc6056d8892d82e7eb8c5d2f33c409ccf9611e52196152be77b488afd3d129a6fa12db7080e1a735f6f8a5a7456fc00673055467931adc9da441c65bbf4b0a5849b8865fe62419950ebb493354426f659d48bf64e7208a3c53af38957b1cb3ddc8d7a4f282d67e0bb8695d5089d63e2d65750280f03c02c12f07557625b48f4b1ed0a6cc558f642987a2e844255b660310e47f717db1af51a646d53a7f81eb1cd0a48810ef19df3719e5023a9af0d84411a93473886da3f9f92ded6a20ea9e565b87102cb489ea0d44b1e3c0ebbda894625817464176e8679af9938bbaee9e2e1db6e97f6fcf5c907b92bdad801cba97a3d3da7cdb437f9d3050e3f81bb6b7a476fd313b91e8064efc14ff2e8427f3ea72126ed0946b67951af8789833a05d90ccbd8fa35617fb791e0bebf34e38ec602c9a60c25ad0c6becaa03a43d510593659dfb1e69807bb60a1a7a27a2bd7a4627dcc6ac1d27be60ef68c358936236de1de341b7b500ea79cca7fd3dca9202642a241bb5d2ba090d61bfd69bae5cc991ace1f22e937efd7c01fafbc159ae6431b919aac1c20ead97036264820f96828160f8825b7e730b7ea303d9146457b34b0c26b1bff8598e600b1c92b93201c9325403df773396d817be23e314e6266266da2ac680f8027173030e64f31523e5c81af5687afe671f038ec60385ffb9b07a17d7aec74f63fdd684c25ce8bda99d286eb8f2b0ac449d9b82596d863cf6e891e66a7acf3215ac58a390b1b76d2e6c5fd8a0778f5b125ada416f33d257bd2bea109d79814240799cd7f4fb00ca08d0525d97cdb5663972110aeee249291cbddda022e8d328503d7177157f5aad30d01427f55b44120601dc4038233217e65c1d07a07a112854ce80e960c45b9608cb08a9c8de678532ca0608773893642f65c54a9aad68032d0a6286b9f0fe6861a3ac57f53f961a0031910830118d81b1023df7b9048d82f475db30449dbc764771f83f2767dcf97544cb3c81736fda5129a1a340416827143538a1e717d78c241faea67a8027c140e66086f1a5418069fb9862cd48aab854425d1a93d05eae1d1d3608cc608a86d4b9bd29eead18ad49187e3c89a73e741a6eafcd20c03909d7cb8a810495bfbb1a8c782c9be33e3e53dc891e7a46334f484e96b490d823bb2099f2c97680971f37126973a265b7fbef9231a81f013c2bb450215fc2cfcde9acac5d050e913c0c7565fd785231a4f6542aad6ef397a54529beb9ae384fb0c17c2449e8ef109eec98c45c56a073b87ce3e13a5e99539508953933e413c08ebc11b83c50b8ada1bdc5fdba082cc2f3d2785d04cf72df79e01b7353fc5c612083f77f3d4afbd2673badd6d335cde3a607134b9fcae6834e2bf6ad518747a6c781f1a469a4fe7afae34fd9edbd5e4bb6ae1bd5cdeafcc9a7252b545f7ba120f95c85d50dfabeff5de299cb53121912cf47a4df81ec43fc38b1e1e53fcceaa34b16cefc2e815c8bfb4e2824449998e4197cccf240964c7f7e1f0238967fcc3cd72afea47f30496d23758969d06532a5ed7b8556fcd0e5137bb6f87cda881e4804a8e97826dc9e7e5ad9fd6563f61efddeeb007c2fdfe194eeb3ba27dee10e315f596d98fc310ee7d181f617ef784fdbdd84bc24ace6a5cfeb24cf62be7cd99c1f19918c186ec2a8d0c18f8b64423cca6424b346de114f49acecd53f31f77cb6b3a25944769dcec17283d4747b4040712f911e413dca48f5cd32d8e11d6a3f3713b42cd1e1e50b77810040c6a7d4f7c28b498ad1395814f255bbc059f95aee872237911ebd47aecd3183c11574cb299086ff48f3c63ace809239f704816c800e25417b5414d35ff0bce305bb17649d32fb88c60ee1fe5ba94e1f3c24ab4a2e06be75b3da86109ecf76973fc5ec32874771bf09e8c16d2c241fc9b01d9e3ddd0056b47bc89edd48386be8d5ab5fdd16d8cee02380cccff8a02b54b7f4cb20f0ebea53721a78eea8e752cd686859b239f3c30b598d563616d4de85ec6affd82c40cc1ad36014f8242ddfbc04bf3c4f78e2f990297248f689bd94670400b1b8ebfde8182d9c5023a5f0ca1117a3f7058e50e8fa738c60d829ccc6f93d7b012d15c7c64ac80ae7f4274894491408e585875f14aeeabd3611f34001848478e9ee3af29fceacff82c44851f87e970e9fa335c07729322f0cee4f9a7438734ae79494029342fd059c6baac392b779e98fdccfd8808e1a46377652b16b7bbd6286ea1c70887a9ef0468862fd96de09908dba3403ba90ca8f1ce036fcf7662f46cef852bce7f6938ad9ebc9ab2d95fb518d559920cec38dfb5aa3bacd054f32a394acd632fd4a54a66e34842a5dab8d4166435e5f5a9b223a03ba0f9a4701c8cab526f67451b4aa50847213eae6f6528f00d92ae4d8ee186eae6099201aa527afcb439407d1e7fc2fbd3ce67e922d411882f23474a6d75988982191a4c372937449ebdf996e00f0de4ee28d74e2bf1c1bc28d14224ace879e57d808e3f1e2562e7a3dc0c4c908c2cb8b679a62af039948d867dbdff40bb0ce7fbda403f5911f20e8c638d5a2b39c2c19779e7a43695029f340205ea6751ae256c4c45c59202e4b62841542a751dad70b154beb79de8ad30c1aa4da1376bc2c77c311ab5af9a6a382dc0d5f1cf64a2770bc85900d69ececc4055d1c33ba67604d13f2a4fb1096a932e6850c40193e93a3d56c999db23a73de9f3ba19a191c994da5077997f6d9bf9e98fa6d2a3d4606d223e5c875158b1e9ac9c87dd2861bf5c1391a1b395c1413d8a2e6d52f63faa1f3adc75596b560c0947ee589c4aba3f6d783165cac4a94f01d9a2409957ed2a43dd818181f2cbab55435946ecfc3c386c972675cfd4f81ef7fefb9fca2bf77d85e47a20e71f859ef65f42f228e14142b6c9f7a95e6c200c31c7689706c8b14704fa0cf7244eb27e874ead9df754996021628bea17f60fef84567cd919287b97189287dee0f67197c94a4658eef6da4684be43f54e9866d065465401d1ff0e2b862be1f1105680cd4400391f057d34bfca29b1cc59fc95819d8761ceb707d18c7be080d345712bce451b854d0e3ab5b187699f73ae213d329ce90e74fa93398ed1bdeccb9891e153415b22352642b852b3f96d8974ff6907a6801cf4ae8dd5d445ad2ee6151f04a28ee42a0b2c510a7a95a95652570870089ea227153afa588be190ee11ae9a5f6c18a9148d5be0683ded69c13edb9245ddc74a416359bcf4d4bdc7e2b25a9c82bd0b7d4d31e7f8b31859fc41fd97d5dad8b1a37e9eb89140816678a9bcf79ace850d0e8cd29ad50839bd79678ea6f491a5054eb5480d5479a923605f55c9949325d0c552fc60f492af444dc2b13fc06349b755c3755f346f4768b40c74beeb6bf92a099fcb462cfc0fc3b7706c4ddf7f45077fef96c8f419198813584c1883ae97e51cc2ec8693e03497e228dbd109bb4a54035ac5eb54650877fdea406cabd78172d545632fdda5d327818a18de9093c34732ec74045e5eb098004f8a65b8d55665bfd481d503b60115e0b606db7fb659e9e664cff82952a036b1a4f735bc95f90e24a4d5c79d3fd4bf23d24b189550cf9b2da42430731b0abe69f243c62a33460f44e9efa1ee789b3da4dab38513aeac763afc2826c1be4fdef45c5d70e7161c1c2dff61732d1c5fdcd76079af0e13905fe3b2f02b3bd03c8156aad36f67b0f5d21112e96971c444faabd1c48ab2266d676ebe8fc97b85a329d8124d34d1ab59c23e45a337cb843383e8e55b4531a433b10b43e873b1cf1510cad5e57924ada6a5e5ae99fa36d0e50129791ee87034a014037b3a2679d439dce10366f2d5f3f23e1ace19e76626cfa265b69c2663e7ed25b4c33b024165a773b663681f133bbafa89e5d09044dc37f49010357ffa858d8270a0b2f76aea06a5f181a151b079f843732564c64136b9097f6555d8df8f888846d195fad71419dfd207d777cdaa1b936af43c22f617dbb6b08a2b859c34b4d360a9946a06dc171268801880d3c72b299b704d531826b94dd744610423ba4048b4caeb90c2eaff7dfc59d4600de9fe9db3f7880dfa0413d6a03cd48128571950f84f7d88c3fc4f5b41c9f86a54c0bd1da5e38dc18d205493245af1c2bf56749dcbb9bac02d975f5bd2e2ce3a48a51d953251d188c20f6b93d8345bcf2de215182b4ff63db6dc2418864f4aa79b7006ea405abafd395c0d48ec7e19866428d41e8b068149dc1a3932147ccfafa5adce73f39467afaddec5bda7a8602ecf6d2b559b971f9a5e8d7b1272984d8acb62f08e53010ba7919c6a70ecde62a17074fbb9138a2d7e6d2cd04f555f08981d5f01233d74c2dcfc1d660aaa110b5afd1610e98df9de2e22b566f0a7ac4aaa9029511077b5f8d1a0ccb1eb58b792234a02a24061b94363c3d6ab5a13eb8d6775a13cdfeba672c1220f19614cc99f0243fac0e14512a641785fcd9a6972b8766631feab92b8cecccd09edfd4d8e493aeaf626ed5b6e5005c6ede52a400f222b69b0524f6e81201f1f73d2d839c46974efc9787a401702f974604a7ca88b9f4b024b4aa16395230dc89fd3d4e0698fa295d801b23cae36555b8d4cae1d108b5537ee10cd19c63f5d3d81753f68b274e3852c5db6d1b99ee0a794203346512262c04f0d42118d2a430dc5adcf3f40913b7614b58d935cbb563023edb22cf5e90c4e271096e3a52a113d4c3d80cc37b7c4cb734b478908b9c82dbd12e25d7fc520148ecb2837dd0475eb3de9413036cc8397cbfc5d59ae7eacd547a4044bd8d96480388f60ec0373cdd8d53a145628e7aa673319f73b5d0aefa53451e8373200abb2b4c29d41339cae5371c6b2609189bdeb7c8e3f77cb37af2e5f41cf1f881a4133cb4ab19b1ea1da5f33001b73f4f8108670a9f11c2859165262e2518c9aa28019126271db9df75ad36a8b9999229e1c91f45cafc41e1c150ae6e0a92b4fe0faa3475ea3f26e6ea758a769933bf5ac3f96634f04ff7b19204cd7cb40302b9addbddec3c160e31e483a7ff7c0fc264e99c35df34e0b5bdbcb5595eeb95f2cad8987b27241a0a020bfe5d6ba134a87d3422f1f77a6b7c46a80c9981e3d12aaa875b59b7d384bca3ec52e714b89638635bc54c56988744e73cf99f0b508b46752dff75ee4f6857c111b1a4ae6e661c7767695d954c3545fe87b9ba02bc2a841478686bf32bfb2dbb4569772aca62ee22fab5e5fce72611e55ffca35d862a4f0bb37d182833a8843600252997aacea1bd15ffc56ed17cbfb16e9280512f546ec5bb68b555d7e456b6db7c82b0de258c92bde69f3e85bdc5dda12ce870372e052ed439d35b68d61ecb00ff1cad3c9be14e94380b9dcc0f90db1caefdc648d0b4ba353b27a70e838af4d5aaf5d0698cf8a69676de1c660e7a58c153f419948e060913790c34ca34a5bc4580081d00c94ccbc9712b4dc8e72b765ee740c570e65735b3200760a2eada83589ea7cd2ecbbc28e53bd2fc59eed79b97b6e84af2b5201f5e2b8bae88aa49c89d0639927832004a3ff04e844263ed14f9538182ae2ff6b2cb922486e5aaae85eb005b5aee6d0f8be84aa1c54c5d230f5569b7e134540e5a0e885ea9deeee46693d5178f918c150ea3b58b252f0127464c2771cbb6e66164ac89d3582b2b8f105eccaf3b560156abde5c477982322f422593d7fedfe95a575d8ebc4242403566099ed5ff799547067f49ad3abb78e8a92bb96043a3bd12655d9f2add00dbd1492997eaae0ad36e75f1414890c86768917cfab68cde9975a10d9c613aec1d741a1c206d119d67a676bb995a6ec51236da6d72c393bf2ae3796ecb3e832f6a5ee244fba1531304ddb44e5847d601465ab2b4d9a78f8b906bf3663ef817bec65c42f94d92bfd147fc1bf2b3c6da4eb36d21814c3eac2a8d1d2175b8a770e548ffccca9e40012e04800f19d20888e6638257bed585a00751e5fcd119fac0672104b99cc9817ca482a4e8c8df323290c61ba068eb1c489427dc3ae8b0ec44b520435ea36a5b6ae6049e75f57f72afbb7c2878305ba961402345ecdf3c0432a3a165caae7656a67265054b22df2d39e7b3b2b1f2aa3f621d3b097bd1b4df5325bc43f9209eacf96839061bc2d35bb97832efe68970cf2d7fea0163201ce4d99bad47f330e94ce2d66566248d3c81282667610628b24444aeabc2e3a163d3f167e1f3e88ea9010d304ea5c46334875366992f417ff62ce97abfb805b98215079e754e6518db230ac7622ee06fc3b886c55d3c7707967f021282f66fe293172e0ceabeaf5fa881dbd3383f41a2909fb70da961ecdb42b6263355e07619c69988e6bd44136d76d732d8ad4e555262b0bd8ea218859788a1dca9190c81bed5328d4a3d38b2325a7ec6f322523a328d2dfe42145742a9484421a96f02dbda70dd9c0f380ca87517dd147a4b95ee7137e0e2bef9dbde97660dd68c812a001a91a829aeb9773a3a9e0a96023ae68b60ee1905494de17b0d47d5200aa85b29194d35ad664d4d63ff070bd5cb38d8af604e6da9836da9be39abfc40ac0c15bf79abe9f485644973f18e6dfd4d47b542db841de294a585d35c093c634b899e71fa6f10d584490378c8fa6f15045a0d3c5f132d585f1d192aa0e90986b30ef31d5c2d71777571c738175f88d4f934d1e8df23e4e48d1a8dc42eacc6e9257ce2affd04906c52ebbf9f5bced44e3521d30f1d159331257ae16b7a567427871980eb6b08ad3726d6ebc217e3b66d03585f72f46b629024089c0c8de3789a5eaf56d9a68d45d6e119efc4945cb8210f85fe7fda01809bdd10d6eb9373b2295cf10fef47f8ab4f1d055f5056692cb59b760421d449d96024b263c80f69a744238838e0eb30e857f9d867d8c1ea8fb6a0290959679cdd7e8a9d4dd3255cfa4ca187e0c4455f0aadaef5b81aa7db3b3444ab7a8e23e0ea1db024960639c497bceaab85188916f84b8355d660066640812a451b2016f989f4745d54df08fa48bcda683f28a5c5d721071d52b2078f8332b095e33f013ad5fc3ee50009029a51f73658c13a578130f68c471280835700f6e1dcbb7243e78730947231d52931c7ae115570f49537799a0a8b372377bcb31c2616c11aaea567ccb702214bf6c494bc6479e43635a95517a3d99cabefb9fe67a69a0a94ea67ca4afe0c63fadb71f7eaeaf275b727dca59c694ac90551888d2fbae5a564bcf2a5e0fc56335dca215c4291649eb9096707c7b68a4ffdede1d0c26a60a00d93eb745b6b5834db4c31df3e9aeafbbd99d2c87396d2c3149b8edd61001966df209a290e41c88f9c2842565d459d2ee4c000276f64f1cc62d0aa340b6fa80863ed7e799981ad9252c60c62eecb1801f4362e89ca0e20037d98f67c1caad732c7c993c49cfe38fc195fb1980523afa569d6de081f5360a3d48ad22e434dc3ad65b2dbc3d4fe340cdcf92b6bf8948b35cd774aa07f455727c4079fede54efdc1581d3cc3c97ac976d9153ecc468d9ca5e00f85187792244aef2bb320b4a3b5564e4d77c722ed2d17edcbfc9b57cd6519b8f11a4edff5a6af6e91fb592156cdefe74559e20e6352f847e28438d43336418afaba77d7fb56c9b45615136e3570facf7a19afffce0648a480337716ac8b9def3a865bc237e68a607beae941e0b1b1926c44ff9a31da51689f418d43d418d630e0c6c63b58bba81069518d058d742f0a141d21ff70191801a549b725e369435736ac8bf315c3373cb3c78c6c20447f4f9a7bbfb95db71da5c9ecd2b6b91ba5bc078595d0fbb51c2924db0e59b186feac45bb615c1f713884a7f62d3dd1f4b29ca8378906946f3cc5e287596a662a5bca848bd7213e639c44ad55802ba543860243c7cb6cb6817da6022b24a6a334282580b6f9c1c084d017444bdd2de847e6a4bbf3bcd2d22c8e267044b1ccf7852082e35a1818280151816b2294db0ab0b8cf5aa275447f00791c7964dd3a59581d4d7e9febb7b528b24d413515e6658ac0191fdb8c7d2f0c0881ba00a1f3db9c6d282404431256ca18d3d612b761251a5821fa26291d3940604ba5a8c3ad925d9f4038634fd1919aac157a5bffccc707f683899a33a4e2246479f9ba3b9b374f2d2b6d18b27b313a3a756d62bb02c95afb7ebed095b79c80618b3973202e6477cc8dbbda73c582535f59b21d14269e6313c237791650e1d3b20b4b79fe515351fa392e1ee082734dcafa7464794a40447fd9bbee8723f455137cf98fb6cb0abc27a5a75ea666557973ca4ef0a0ab51a86621053d1b6fb05b10987fdfc9cfe6af4f12c246cee06f1e8b7bf95a8f7b9544721f34640fc7c22d0faa71e4d210d4a514490b07ee323e781a2f7dc343083e973e61e2c2c0c3ecfbbe6d57bc548aefc97767b13f8728c5a03bd941d070febf08752a4be78139edc7c529f86ada282a8b645e15c8f65e9cb27f13ca97fd5d75edfd7a648f3becb3c1f1ac158999398b62bb3215b6dcbafa8b39e3cc23f05e766bab1f78d6234f8745fbc78737d4f6015bee5a811f91ee794ba96ef67564847671668beda87e677adfdfac1e5951d7a98d38821dbfa03d754b4934700d01ca592feedb16f4c3e415a1ea45cf0ee0c27288cf06ad1e6b78b459059a52ddf0833549bfe32499e6b6a0dddaacc259e5432a18ff96f710da8fe7144bb5a8256f14b253e53216a3d84e2cf452eb40e7aebdd4b755ce169f6fbef49cd7d652f7a7385d95ba2a8d480cf9bd94a1744d81985f3f7d4885fde992e0570d206b555e4a445d7de89170daf908b4b406f2f678a7fd4fad7d9ac44848cdf4956928ff9323db46299a8dbddb7f110f19ece67fade8252b6206fb4455aa9ea4e4d8fa57888056931cbf3c816cca70da1fb1b03254bb0ef694658e3330be84dc0d1a8f03dde8107d6825912ee366101c961305a326ab9cbd99076f5463ff60a1a17324963232dccf43854b98089594d2fffa05c705a60036bfa28d331570fe609e74a36219c0731b4b0190ab963c2bd7b9d6516af0a24c9093e6f12ef856b1f4920ccd3df5fc9e4edd8afb8533328568f17fb854140da4411bc0611ad3fb4da8a8aa61ab7904038e24e8a8f6f3a17489a721a9667c436beb542c26be28e7e4f6e1c2ce22320383e473f7972f362f254c31a2d2b01a501316d334c14b089a9cc2922bec68e570b23b3f34779ba91a2c7edd1355c54a2cfc81694420634255b84430fabdeb05218b218b008022185a4208fb1f14b62670b0e6e49823a82a472b47d70051da1a81e06146b3e765283bead7d2cb0e23b1555c603b8bc7bc7e8f2c3b28bfd498790a6e1e131a6eac80d193269602f4aaede5106d52b52fa792db77b19cf978c2dbc4989d5bbdf758fa6904590c095f8aed4038cfd540a1e28204afe367940e7fb788ee9ed0b52492ee0cab2e0299e3f57deb61261b2346d10914a2f9a9a5253e730d23ffe33f2617951589786a5b232fb5bbe38896dc00e57a6bc07b51a3e130e353c5be6fd7a80befccdb2ee02f1f5ca7d3638f28f72a22a1878cd4dfcae0b748efba3c58a35e447a6ce6b9cb3ff744c034672d022cacb334c74044705b07e546bcf42e4b1ef003c66ab67d08358e554d7a6a36b70abc222800c3d437a08796ee428782f0a3528029a13540ff23f95e5b31a12b7559b6d6ee53608fd63582dfc0f8805848f9386a11e1d588242a064baa999a9d637672c30f949f580b78ce11cba20eee5d28f0fa59c218ad68e8dbafdba5ffda4cfbe74a4550cca8d095a2809b2950f1ebc48df07bfb9e78eab39b136b535f799da4970bb4b4dc868d3aa2d111ad33237cc3d2d491025af6486ff31cc91e8291fc114d13970060582fd7c349ea2b41f7a04938803c0da6ee8174470d36c3552882164f70d33d54102130d4aa6549fb30c4f1d2ce3194948e64aaa0485d64971b844e5f1f7f7170d67cb5a6b596c736d778368ccc5c23148485d705050f95afd4e81de21a92dced7f9df6a16f2fdc2b6b1fdc86ee8a095fe571ae3044fd20e32a3c9f6860ed52af1052d46da9c5a496b8e5b90b54d7329c74bc785a5f6ff4fbfc12dbd7054c6b98c534404db0bc12a31b041bd81e6304ce310f79fcd32397dcd02834d064a6a00d9f6abf82d5c189d6f7385d5cbb6594983da50cc1a43a7c538619fc4b5aa2de3b803a46a1c46cec29452f9e031e87b9f2e74ace36e8883f11407ae8c3ec8aa51405bc54bc57c2ecb8b18986ad95f3c3f87c25875593a285a12f81a38db182043db4bb7e37b65bd4d293b625989b44fc348b530190430a5bffa6a60f09b1e7faecb361f2e9ebfe3a68c4f38c32f9d328325a77fe5746b241e6c8110d7e57a68ea39addefc2246429d0b28c9c1298ba69fc0d766b0bb6e6e5f2d2e0c642293f26cc0164bdb938d408b5fa3980e86c4aa1492515e8e8c03eb1da874a11b9c199a65d58d5e422d30eb67b23fe694c426d1aa7bb5b5716316c99d2a0d2efdb1b1d8ed4616caa1483317fdc9bcba1d0ffd6cd7b44214f66e03d6cf394e9f326c6716d8f164fa06daa925a8e7d5ef9b9d1ade1c2df661be25e2b9b418862a8a088b57e55da1bc8bc11eb84b3d59a9f3c602b8c1bcfc687bb9871b5a0e80b39e4f5bba5fbe0868ed71e8870cf56ed2c24582098148d194b3d330cff812468fa4b7c0a72f5bfede566e7ff52f0200381b3dd55950a2bd359cc8681bb8b59908fa11a506cbbb0c4fc47dab076a185ddeff25c6a09ad3e47fe466fb62d40ded0746f536607b15f46939633299cd2ae7447f5f022bfbed360e9fd8137a270fce3dce2a2589653a9c39fd067736a613e0b3cdacad8d193180f67bf75638393fcc961f172a43d2913933913442aa44aa90ccd306bc35163f2b2df16a38431bcd3e664a410bc04512d255323f3883287bd46c2c072ff0600a7c1641c313593897e9a6ea7cbe91f55ec6fed345311639c82b40adf8567220692bc84f058aba1cd9201facadfc2ac1d189ff7f30efc9bb869db3e39974376679f0ff39b0622d41c9cd80378a0c65b823e701267335c09cd4f6f5aad8dff67d911d2b20ae4b4c16cd0347344838178dfdab7b141fa397047ef297fce3dd8fdd177265c00380e7a47e3c1a702d7f0dcbcc93a2f211834a0bfaedfd81d00993abf89cf252ec8b7ccca39b7c8fe538d5f33a35f2f206ce5ea24db6a08018638268c712fa621fd602af80d9b8fabb68dbff12c27e1bdc91cc700dadc2f6962bba6d6df5b7f1ae036c75b815138c791b2439e6f77c6139c9d0dc895a8f36968e05362eddc1437c36f6a0e38dfedf333108c4e18ae5d7bb2c8c994e63dfb1c99522deaae2af8c2e6b984f908c1d9573fb71ab9854556d131de45cf72ef602cc0ec48a04da48afc25f8f67044a86319c0f5419147643599dce7611f34fe79e94fa243bb5c44c8192c7d391b03e9e7be58d9bf8245371344e46d4208b5b4e3132e79c3cf9f16533fb34d8f0081bee17c957baff9c78e033b1df02df356132732c8eceb0c470c1852c4d0484070181b9ac49f7b678e82d0e54f2cb6df308cdc4d8b9d06b13c1b672755d1fffce11fcf296600ee72fafea30ac1224d9b77ea94d30a5cba0bcdad5a8028650300fd38901a50a65b4ea575e95d344ef7e0f4097a1618c4adfa57fb739a65ae3e8ce628b21149c95878dbd0fee08ecaf44ef1121697e801b9cae209d6d69ac9f8fea83202dc8bc85b3ef9d3d7a7dae6565c8b80b88fde9cf3422f8ff2e9034d170d03505e2e98fad25e971bd4b37dd2a5ac10a73060d8b43cf4c71aec85f4cca234616157adffc8d5652e5fc75f3582eda678213b5b4a3d61e161f0cb0a39abf2dbaeccfe59de3a00a392be7062bc2ee485adc855a2a37a71a6908d129159480f5af7a60afb7c588656e4f114baa145c1bb36392eb082a8211a4d225acd8b962f5556d9728b415afa0e46ff294acc292ae59749cf3950f739e3278842c89c76968dfd7b1cd2b6f9aa6e1221767d9129d59fd972262712a9ce7dc406e955b3eca13ab0400c95a81fa374cf75a41d44319bdbb07e58e41108c818c3be5104e5b87b0acfded5a3f3a13b7f48a2df736568e56ee503aaccd99425cc4c0342a16caafd32eb03056b2e36610106148d664886e3a5307f9763cb79bb406ad55358df24a7d796c4a725a0b924fecefe35a00dc6c5e8d36889714d036ca9c41868175b2b8f771be8683b25f0fdd804e7fc7d8bcf5438cbea770c949de1e509f0dd2269db1786accff27558bb908ab3cddca434736286b76042f861252c7ee75911b46e5127a3a16e683c280131cc08b51efb17d9771b81e30d65b4314cbaf012af6fb020cdc994f278b30b65ea6b23d5fac5a09a692b2e6540ebb8bef97a83d886bcfe4dea39dee17233df3d9ebe8b60a9975e36abc7ff80800b8ce83d4dd93503811494545e2ac25d308c7a7d44da83600a71510df6c341613c1ea67d96c33034ddf073accb0b51fc104efabf2b41dee62f38943e900c7a8e886fde7375d1a7ae84adac379704f1013e047300c41c57352c54ec357710e44c61ee1f96456795f10687bb4e49cb9f1746d9c83914de4e699bb45bc19f45ccacd54f486cb441459d7b4535a434423a2ad50f066ed4fedb2c5e7215d1d29f544b07f3307c0deff7d760bec9b97ac8caf80134e5d5bdb33a3e7254476b1b70bba16dae3d7094db29d7eebe7dbee572d433a2ecca7213b53c93dc56b2280639abf5974bcc1c6733f9eaad3d3fb2236a836f3b1fa04f39ee52892e758ea6cb9ba497f67d471e7334c6fa2fe96d58d071afd6e7bff3332870c4d826669b42ee99ecb9bf8142ef7cd80ad2d1e0b6a200f03cbae55c639dff566ff988fd37484564072c3a09d46db3c4f2c414ee207b7ccee9986a53f708b2ebb60606cd1d256b173ce92fd0a3a0e1871f7b58619af346d51cc985a6f7e0f62583e7df9fe2e969c891b6e22bbb90966a49584d9c5ee5b6538d7db6fea766bbe7a4efc88cc7c79f00c943d7119103148f5a97d01b09744ba52527e30849ce6e3504b64f1cdd1579e2f5982d2643c8e731cf4b9aa98f851a6ba20e7e816ef6a1cdeafff2fd77a61b1ab44bb5c8f2c24ff28a307e12c90e0f34d238aa47dd13234d9612a57a00f64f16dc157ac907d2a7f900c2ff22cf6bc83058ee5e9e8345e6400f5435df99db491e7a4545210b83914ada8494d8af0da136196ac5ff33ebafe774caca4551912cdc9ea2ba7475f6f88c12d6185f17fd3d86e10a874fe1780ad5fd52ef1290a241df4d09ffd3d5e44b7d225dd6b92b6539448458406693da69436e6c2db825983b98fd70577b4aa568f1f86ef7d1effb077c8dd5d613d69f6b2f62e57b8fd16eac1db2f32ba073c558fc1ccc734bcbf5209da99c9e1c9b05219457c090d5686e4434e2a20583a69e77bd4d0e14d33c9074bf5552b6196b23824ff90668e21922d669f2cb1a3c22ba9ab8eb5b7888133ff05dc41e5f6d1f9bafd55630dfa45295135ca837b286cd25bb1f7aa7a4c9e0c62125c720a9bcc9ee7cc1ae6eb5e0fe827418a389560ed74023d13b21dadab22b96a33e1e6752c64beeb1bb2748f00a994cdac481164785004d4fc55e1ef8f5c2283581cdf0134a79be651ec1c20c0acfcfd12d9e0a295c5d837de4b364f7b21f8c0d006bef709ef8010e1a9bff6536b91f0d669555d5317ed95e9efb7297d26de6fb411cceeec6ede9aaf1ff1bdb717cc9e38736e4dfff5645d709e74e1fdbd552f335f0e7c4576c1e833090b23c383f48ad186174e21bedfc84e8f5e775039eb8fb876993058713e994eef3adc42ac5245fa4135302ee531108f8ccc5ab83445524adecb8680a70a748f0289547f61b86be80e1c63771a64091aa8ad7321baa2d350ee84473f06f2b192fa332a170999f5e43eddd3555e8fea386ac96ee014b3c55407681c1bcaf987c105bef9362f12b4a4f0d6825ad7f51a9c0b1c4970cd1395b8ed71f23249a76f58b4690439701b03b9dc428b1f375f8f4f414e9785b4c6b44b95fb1deed67ed52b2b6aaefb23b7cc907a58a56d56c54ea1e59d79e6f4a4d976a3017bb1e965517ee72634178b0e61ccf724a5c22ca09bb0cf6fb4a5f3c692379977fe78f607fb2fd921f4fbfd6e335748294997e303403234844b8147c14ab987ed6e90105d780caaa556d10e9636ab5113a05c778e5b4a2aada3092670a33b8b00bbe5ad0bcc70cadeb4e124ea48de2a0842995bc4a0e0c02dcdfca8caffedae835e8badebdbd2764e1d4a64c2822717942c645df8966badb1cf8ca833319a2ab982e0bf5ef17f39082d5176a5b489dcbbb6fa9f96138fa2de3cadc8c2549a252d599968c317a63c99d5f2f9d9796272789c3cff53e7b40bae686e32b25282e311bb40745536d28f474533d9b25d508ff57eb0817bf6b117374e25843464595f3f1f0d8e167b6eca2c3c94b3993dff0c52c09d40b73136d7d40108a710b8b301eb9cd708aa8a2c79866228ce02779e3c50bdb1d31b966a50454c667a3f049628e39bd4e2b803d9efbffcc7ba17431fcc7b643f25d39025762f3be2bc6b7385907af283ac27d4110c97b2fe577beb52a15709ad552c695986b8ea6efea93f80c573cf4c946db53fcbb2b295e51c3d250dc05372d52003f4ea1f3b2dfd7e041e53316253e8c93ef882647c19802102f876d5f6bf7742fd387a05850680848660aedc89d0e286bcb47b4197064d09c449c0c5e129d2bececffba6149dd69c6d7c00956559d9c2acd62c7f5c143f79528583b7258e6f267afb9d4f27d4df8998235a1800df52fea9c96d04f6b223c573829f5622d0d9b84fa37f183ccb2ec4bbb47596b6eb2bf81026a1c59d85f74c41179979e4c63960c7354c7440f5abad123c761b432b21ea928084c5973a39afe1b39cc30c92a4ee583c3e31bc16f5e31dbbf50a668bfcee698c28ec20b138ee1687dad95df1c67a3882914e6622f51328bdeedebfa35b5b426413211510d1857e4ea289b1dbfd1f1e95cea5eca6048b26325469ad49ebb53ab7ffe401573b6d41a07c191aeee84c93c9911c11f7b55067a17f04712f8d3a25db9ef755e24e0da3da13d3f065e6a996019b5bbdf32cb43c5cad1fc66ee3fe79f804f331fd36e690517786a658a98cd50393b4f2951d4a84e495a9d7ef75c082891ecf6d32b63849972d766790e32b6b7eed439bde72f23c72156d62d999bc874b1b32c913d5e304e9e5c12a9c5568457b8435882201b6d53abf81c29d74deaaacb9b48ff2042a9763ecf45cb5774629be21de0a2d5a766ca24e31198bd34a9b24aa603f967b924db15431e740b37b7a0ea48a48e1a8622704be8bd11373d6683824cb3656e8ab1754d638528cf610dbe73c73b2b1c6bdb1ca1ab697ec31b11ae66c223c0bfe27acb090b37d1b03587d18bbdbd319deafc19c7446c0ea4b49aeaa4f4119be365818a95e2643db941f8e08eceb307f5be188f509d1fcc46c0ce39f03399ae2097b20b0cbdba98871ecce057d6805d830cce2b9561c52b39ab7c4fcad305be4387e021ed9f77147385b5a4a19345bd88f0933814c41e4a0d7c745255b509693196a1f4dc3bafd40c16ac4c7677a20f2a65289b000f74473efd5814b5bd4fa26c1a01f80dc29540ddcf6e4c04914afe7486ad7219bd9100ae7e5cda5a6b7486483d4ec2c5a98fcb676adbafa219ceb186d5cdf9d0fb84f164f1c3d870c4529da15ece58b39010fae4272dbd79f52b5a46d0e58b8546dd7bc72d7c8ccdd1ed4079008743c168612d0b7d8f5ea0ed9b68443116524e07f4f060453c50bd641a83a914017ce2ccafd2f3477ba11497f608feba02277aa60749e227b8cd6dfa79e9a0daea9189ffb4e65b856bd498da4a946807b3b4f2d6bfcc99ae6e0ae5d45600f63522a9d3977906db6f71fbdcaf334f5801aa1daf128d494b04d188b8a1d042f548ad2da8f7bbb4741d8c71cc3f83e00fd028c740ac590bf4138b0c474551f6fdc443db4aaa9754371e6606c03db3dc60a855ecfeedbe23a79b4cb395ea3afe5000bdad616a3bad7d6b9dc471f58015a5fcb6c6e538b239994e698612a735df3c963a3de2a70d3e73cad7707ee5a949c666cbe73bd8fdabfdd753128ba287bb9061b31dcb97bf30bff9272a4e3e61f0fe23353e09935ad9959b6b11ba6b7914935b75338d1e996c3784f19e1c8a3da48e20f5d9b5eaf337f24bb9004aca93e729c912b6a3f43883540fc93eeb183b2558408011e547ef144c6b4649bc66edc6169a2f9c0c2b1707d9d7d9dbcb57de97e31eeb5e975b9368fd07b87bf9af626edd3b5f30e001bfed4b5a4dff7a6642900a5365c187a36a161cc9b70ca2b5d918373a1f3abba3ffed33a55a6e9423410735961717849e8dcfb2604902e99cd9bfb0536b7d0f901e75123f02b63d1959333e7a057bb073fce28aaa684bb818c1ebed5223a96ab34e9c763953995413da7c38c620389e6056f2dc72d2379b7a261006323d8e6421bf09bc402cbde58384f108c335ac381155d1af88b20c67781be4f1cd2bd292f332253726899260132a26051642cac05500bc9376d7309aa468aa269c29a9be010f072efec54f5e5194f3684eef9a74317750d76f73f0673f6cdb2ae69bbd0b2142912b665ee2b8f011d1ffa308e9b4210f995127037b36ca9d6756f7c51ae7f48d57bbfa0ed4bcfa211500e31672ddc19fa7b42ddd8c46d0f5b3952d35b073c5ecd959bafedfc6b02fa836805bc3a837d5a97c05f3acf3198acacd8d2abf50f594f5fe17a800bc68267a22a6f1d7181a1092213ca256752b6259d9217990a8e7b438231dfc3e42713337a11c3f68b593ec983b910f95d2bc45497a66406c9d9f0125bdd47c92b2a1f62f75676516e78e5ef88a4f24225acb71c9c05740fee770c5f0faa590103724deb05b34cd01de4001a9096e92348955234047e286b4e86f2a581cdb21f6bbeb5bcf8d4c46e29eedfe546690722b104672d9144acc8dcb627d971838e170c3730203a6d59ef5d26a9c1ce62ad7a98b081f97746a85be79f0d7ca80a5ac2a73ccd36e6a89e841b7a9dd05c822a036062a8778a8bae3b14d5043e9123ea34de188eaed57f9394f2c6f71788101764515328188b7d5eafec141083e0a93478fecb45cfb6a2d512025a9315d53cec7c9020651c353c9a9efcf13fd20076654ca5eea18115306d59a0b9466229d41dde8d4bad3895c82020907822a155a0cdcd3657c926351ec190cd8c81577682c9afe6de8425a6e4fed9b1246be50a6df478bbe0333254615037cf8cd430ee019a045f8672583315464b1209954289a71b3fb58a11179103abeced276c272211da2806064717e517b23fdb057af21319a989b41f49a9829562f7d24dd47f3a32d1f40e5afb3309cd10a5be1f8194a04ae6e7cf1eea56375a115f77b501bccce2e96c423b2074055ce9dc21d262d0c78ad31f9988169b87af8769a888bc95565366fb02721de6cbd1cb9ac408a9710c26de40a5ee3ef1d91e4a5234481aa79dd3d0aa7af23a3f7688abaee2df16b06415a4601e8486bd7de84815054cb1da307e4cd6298c26885400878e300b9a9a6fe50425d70d46104b289fcc2f16323faa2a89e4fc06cd5218af1dce3703fb835589cae2d20f608b25ff0ff41704238303791fa36b44972cd0ce1fa847200e9e5324e35a99141312e490739e49594bd5bd83fcd778f25ca60b3c58e111ded9036bc0e56b9a12de5f85d323e39d6f42e5e4fd050b56ffbe381081940400b68dc21e298bbb66adbd02f5f639944eaeeda3d121f0196e266defd57cf4926f83eb675ffa374f4cbee9eea212e693d4004d91564bfb36fc18150c7803f0abf10120e861f6218c0228a8a2f381fa109fbb7a1cf3f73b2da2a69346a25fb46378134638bff7c565bc53fb5d7ba604567f7410a4292f8113f137ae884795620e4dd49fd90371777628aa2f6529665c9b4b25f946a90088cf07cd53b972550b3fecccdd851b8f549b90cc4581478d682d0e1035e0720c2b6fd653de3e2fbe787c00b299e5fc67cdf5e5700f9d8cf86c9d6d77b19a1d3b1b627595c4ebf8c26d18690620b89e2ec54b08b12b1aefd1a5223b27c364b72018c73c715aa4321221f1d46f6f27651f51ac1c32a050f671c0dea79842330e11f79135f08ac55b2c7f56c6b116402db96a417d9ac4ebdeb405cbc4056b414212dc11137af817cb07ed49c7ffa6a275ec539f55187d634bb632e30002d0ee5bdc17b4e56029ed62bfd62f39167ccda0eca816ba1b59fa19bfc1c32bc6390ab15f8a027024b4205af2d8edb5e73119046f46f0e15a85611e4b8cf50482646b6b752431992c2e62714984dedbc01be02ebd1695936a8d84a481b44f513637ce22f6f393a22d8a14420146ff84a871db60950adab372f192c5d6f3d36e2994c8d215cc8cb85c4ddbecba7f858cff79341f637b2ff019950f978c7e2643d4ee6c8a87a4c162297189c59ecc09147172c565fb348b79f97a929ac8dffcc6d744a7f762b0a902fd031205c7b037a390cca1aa8d7d22e381a48274668bfa5a2d8e61ebb35b2f2bc03bfd4fbcd7818fb596a0d6d4a6fa024b62a9254a42d89a9db5168e338d91dfc84868bddb45d6456d7a53753271758d1919c71b2e228e9ac40d8f371dae75d99db4515c4d4bce336f98be44f3912d1ede11c629a178d7f40b9e517cc576a9d4839c4e06504be0bf4c2de24c4f8fd88879b29b4263546618b7cb306f07a0bd3db49b5d14cca0f4f619961ecb3614728a81c0444755f75cb2bdfd1480bc26f85e1558f0581e3fde77c5135e063a05b15d2a1f954112b2a5b0b1f5ba9318099626e9fcb79106f2c940f23d8937ba3caf56efae425c25187fb3588fdf2a18eceb9f22a8d51b60d6fac109defe958368cfbc3b4aa4562323f9191e5d37d279a01d8e21ddbf590b7e9767107f901d157faadfc5b863c0c5eec3fc1fb98a3dfcb51029713adfed19551bf6653092322690d3d5eadada1013e501de481e3dac6e8391701ab120afc75b7d60f594026a8e67f39df4c690963bb175e0b008ff4ff28d3ca5e050fe6e292d65d5ed41d3af55e367d38e7fba74969ebfbb0c48824f4726b6ca8e2c2239815d5a9c96ca669573030210db446d3ae3468f61d1935d3facb08044a1fafdc51ce0a37ccf7917330b8fae8c8ff07e64d233133e3ac9a56d84d531b5a2d05bfb7659d9702893b44f89e020cc856e5cf593924b8715b4e1d80ac91538527587c9c286b182c167f64bf50a9e53da8d4fb766292a99d6111c6b679426f28ed998dae41f193ba4e9d1715490a7705a2b85829a77f91acd7d63b4752ee218d0d24f90132c090a5adcce3906bc00743ee0d8913ad43163fe8403c6bd293b250e83474ca728f359a3e56c4afc4b7f0d49651af7c7a1c0f45173eb57e52b7ee5ad5dd2f930d294a96788d3207d22714748bbd61c29344511fab0273785e5299498f3bf07552357db823d9d6d72bfbe54ae0d269ff0a6a7f880b9f721876f18aaae87cc1945de4c3ea20ad7dc32e72556ae523725ae4071d148b859d90351ffe4f41d2b217a3fd2f81edf1094bb9f43a5a9746087d7872f0d56d95d39f2fd0acd6cafe5d8636edcb1e2bde1bfdd9bef185b6fa5f2a5d22d92022c22621c999db41bdc72121bbd13b12d494e0a4802999853ea665774260a3433cccdff384e31df15ff4595128b3b4db80a3fcc773e3ebb32c51b7e3d33fee0560ee7ea062a4ce2930c047a753cdb06e249235f8d9e7bac1a9f6ae1dfac6fc7781b1319e34c29ed1dfe5b6953188f5150054900764103c53f22d0f8677ebe7a8bf730591e1dfeaa3e9da98f285e12140f31386efa51dc82adffa62311931f751f7a7f856d59ffe6102a7bbbc6351d0329ccdbeca37d441abe0b12956e7a1acd1824fa16a430f3e4f790dfe58e1beb93051423763c69d546fcef434e25c6cecd4152a3b5b18684d27c6a68092bbbebb25edb66b0196bc59e4db294a895d48ab141c64a91832a97c85d7a9d85446030f39454fb62e6da82bd03b7e2f65fbd7e88d045e85e2d38a3077c73afa3870778d533dfdfe49596506caf230d16c56ea8bbd647a679ac87a5fcabf52bd0ad5a514dbf53e80839eb00e4b9fa5b6b77b588277551f58c160e64471fec1a6e2311c6fbe8cf2ba793cf2873b01216ef799215374d40ba1c0fceac272df0edcc08330f38aa58842b9ddd2365bcd1251814dc35cb375499ae66ad21c501409a7cec16bba2ccb9a908a011adcb11a31ce608a8634adb4702400a94e7846324399a66a4bd32d7865dd9c636c639ef96fa6e82387ec1f22a7a6c7812cff827896ca11babd336fe0cd837fdc563385db9d29eff7675e5ff1b17bb70f0c34555a3e3684f60a9bf2e7f6c0fe9be8586c63330b0166d97fed70b2400e69fc0e14c25e655b7bffe556770632eab5d958ec65e2029b722abd1492c52c9d86cb3cbb0ec498e44227a85ff1f35d235aef375a92f74e2c87adcc2c1abfe269945408e4225d6f6b7a8a8a8e36fdc426e7107e0896dd121c33c8f62d5afcec3541dc59d2bdc434954bf70f40c210f8d6e5443c9b2da67bdb4b6820e4c264ccc330ecd96923a4411b826edfe857800861d47e744050c3707692430f303e45c99c001c612202715ea4212a06e8a17cd45a6bcce8460dd3eb7e9d641ab21a530ce19799032830c96cba5849861fdb8906638307fe625a5191a6722c93ceaf721a4c3376cd2990d67fe9d4ec8d7d2e1d30bb39cf02b7b1e0e2c5935e0e37553aab9bcbaa18630a9f139370b2cf2a577744e049d0173a0d0ce4b8d7a848055c550c5a477f0ae293f1fd6da3981cf18b977e477ed945a60ff2c43df23b9fa6913d51b2d81436829b0f8b11ff9f78b9a40129af97a80d2b4c9abfd135c742ca81f4de1ce6b9ab7b57bdea40e0e0f6cc73f6d9da054c64bbc29eafeded61426f87c2cf1749510b2dee405c8d2d79cea25bb02e21ee857d2f9ba5de8998516665c2c7a79eb8367143d0ffc9518088dc4d634038cb82fe352b92594042096c9f159b435320287207adda8ff186cb6f9b1ac3f5a20079acf8ed4667702ac26df72d4eed644449e446daacf3ce42508d7d0851bbc7fdbbe8f80ee256bc9f51d57c9e279abcefe0cfe7de0714bc2eeb61073e64e49ddd2d93e78e022f355a91752a8037b4a388204d34a13dafe0e39af6567ba732122c4324ea89be695015ac90e8551f9de906ad21422766bac26e7cbbf139d19ab1d6b78db973a86c556b3faa3d5e04c25d4473389e82b0fe924cde0510dc8a761d06f39e5fe55aaa2c5a8c655b238129897a34badcf4d83d2420c642479df01feaef17a47918318ea4186da629d72efd00d1de4d0cdc0068bda6868474d268bd4923fa91545521ea188beb56dca54460b2e2df44ac08d9bbbcece1c74e1f2ad0c77357ed05c4c43a5b21c0cc50df7a315de4b3b52ecd09f81701465aaaff9742ee8b6b826b667b8043816832b72e3a54ab146243edf948ac5f4663fdb4a1a3b9613accbfdfbc2a30e1439fce6bd41e2e1bc64084368b4f285a685f2e43771874c978e4de60c8744da5228178cd083ffd987637aa5609fd3b05068eaf9d298521d59e98996038c34debc6221553be62845f91c6cd9d4283bda45f0eec293a9a27f4b1971910f87c21952fbc255ab8fb942351799669e7fdf06cd602db3f98bd5bf50d4dc4e8a8093d304c9b39a9fb74e09d0726cba010fac88c8ffa240d94103f2bc8f093a6cbc55a1c4a894ea66684bd4c023a75f772e6a809d314034703d9738658751ed05e04912f7e0936463ef42af04b2844423068990244d69933fc0e3ac2d42765272dd5b202043d868491741b8d35293e83ca847785e85227675f3b754d0926e15f004d4cd1e82cf739d9c014f7f4ab92f4b25a99294d16871e7271e8253fd9ea5f323f04bac47e89af5b68508235c51be061e8110c903d781a6b7a7fe6d11ffdf90a095be5314a970f732880ddbd3f14909f8160e66d7b48ad27ab0cb4e7eb1606e41f501a5726d56664b79070e9ba7ce94e4abe19b4a374d7fc62527826649ea6f3875c0af89de40243146be88bc286fd928d29698f09a5e35577409ed24bacbb2adbf7b1717b0aa214781e0486ede570a99d2ae53dc277c383d46944caea715236228a44721ae3485eda28524d9e27bcc95f3c66aee1ac1c34e760c72a29eb5e17345c5f4818bfe85a7736edabc7060573085c029e0524ab779efbdf4c027508afba118a4f6705b46bb78db9bb2909d7bcc44fe7989e5cfe5d32c38d206920e2085529b07151d420f51781aa1847b69a41f42f47699198ecee37ba60462ecb68fbf0ff224013f4e41db7ebcbad7e665dec2c5ff958576512753a5b1949405d985cefe62f7e8d66461adbad0b894d0191a2e3d5ad6d1e7a47ec14b1272a95e9b209d06b89c5c2b0b1c117d0222f4a7d6506b8056379f4e53b96300be08aee9ffa2412fccb031a82ee99fcb1f8a30d83407658a01ca70d0bce1daca5b170e79b61610dfe496df25f66aa610cf31aecbcec056a88565f24ab9020da74d68bbfecd6faacc605b10209b3211d6d38014ac9525b5e2048daf6dff9fe754885442e7c24292a42af3a29b91faa3d8f047faa0f2405e77846206694bfc2e28b6c7fd454afd4eaea23cb0bbf91ef87dd13943cb62e9fabb6f1bf9d5d3f08ca1f9504868991d32e648eb6d3283f08bcffd04941c39acfc676803346a2bb690ad3bb9194114a82cc0ebe94cd9b8ac706beecde03f48759f6fb1f3594966c7dfe6ab9e9fabb9b65b9b845dd70415e63195c863db5dc428e96d2ae5288237989fbcd9f155f71b0c6fa7f8322622d2e4e62e83044e9b672d28321cabcfd02ce55eb775ed1e432ebe926c6a5cfbc692c71079989bf3401459b8d90a668df292acec8370b64a317dff432f6b8ea2cd04abf78a2252c2af6d36982756e6803184eb52440e72a33ba52753db7deced1a2592283ff849624fbcc0e0ddf202adad7ea5dcce480f244c8a383ee77ff1648c273e79be8136194c118c662a5f282a99b28c18dc9537883e002580491c2c5b0679f90f9461db6284cfa08ff957477e1d3c7a2a02608db5d92a2df812ba5bdf0e0499792eb4ead568cfb333468ea606a8f9583b85325d89ecd84dba6d9432c5ab7445aeff78704bdcbcce0e0acd20659e6ec206f0cdf29b338dad0f90b99946e699edb26b7fe54b44f62a868cb59dac5c4e936e24e91faa714f4c623769d63c1e6ee343d998ed3b9cc197b5aa57f1da07145fe5ca6995ef3f6d4b52f95d1098b95a584fb54ce58f83995c963729d042aa6414f6ab62c3c4956a8288d65ffd5dce33e73cdcbe6d7dae41a4f81a2f7e1e80024f179f332c50e749b009f2f39167d5740a8cdaf8678b401b968f2ed93d0b88067c931e94d7e2b930bdc4417b0c5650b68ff9bbd2d8d9933df0d24c331780871dcb564adaf1b46c3161e175f279ca6d63cc5ef8abf2c0eac7c7a16126123c7df2c512e6713bba52bce2ab0902d915ae37b9d5c2fe6b471d0aefec7135a1eee849b4d1f74aeb030395138a25d76709c1d963e26b849cd8c466a7ff3bfa976bd9a22a0ec4ab2249c8e3d53cb00c6bbdd71715eeaf91da4c8e1b4aa566ea842e7d5aa49632695ef6daf7ddf8f018b6f023946ddf0dbe81bde3cc0b210c42c832acdb48d86f2bd8765f6f2497f2dc93df611682d0f8ca93ce3b4b4c84eb60b94be072fbcc91136fb8448303241763098a6a09cd81b3c016a4ecd444b8248c60764ce4c856a4a85e6eec17db8ab5a64b3c25554ef3c027413e05829adbefbb5c3c8a01aa52888983552191f0c8c3f187bbeb18b89cc2da160929aa92b22b59fa3f97944673acfe7e6d6f4dc93c3619ff14e7d7a69aeee6a5537d828a09c0e0cb383a8adb717aee6b36d0bba1c4b92cce126b5ed7ecd38039a89d4be9cf595ae3be17b4ff27c1f1566c7a76953aa251b406b29544c6a5c6e04b2eb7a9dd2d88a5fae9ac701b5be30da2e5f535f3b8cb2149a4f3c25f22098d4b5bac30926bcd87908b5d77055d939a98137d481a0c6a87954c420cde4626900dbe78e37154c7f4dc63a95075c26235dd370e00fee88259a22f5d5762c6b54afa10071ffa238c5930236ec31e96625f7f88b60c2c4a60d665695205a3f0ee0bd77d9cd1ec307492e672ed360b65cbd1c0891d19ec2e93a1573a30363a9e2c1e729dd5882a786d91011616976419a8f8245c2e1741a434ed9e7e91a05655e6363d05c5dc140446985917035522cb9804b1a90304b035d6b1d7dff15569e63dc5aaca314e3660c2b860495914f3c7eaf4dfca4883cb3a77182a5b7393b82ffcc18e138279071d293a1abfb4eddcb0de6dbe6d3f81c99ccbb2b8a67cfa024b9379754dca63c07e609b635e296c607b897d5e4743a773c3cc4f53c9f9772fb55522652bb86fe78e62191aa60072ebfba3d240fabb6b2dc57348c28460d9a64b3df8481b1b7749afb9eb3bbfa32b085c6c949b7c24dbf9907bd906f0ebd17008fb0d483d67edc40260bd6664a5ee9a0d4a94191cc0623db33878b4ae21ca2da7c5eba29ff4d6deaf9ca733c2438b6936859b8d709853be209fce15ab0203972579232962461b450e5e93549b4dfc790cb8d1edf467e05e24b9e75687ba529b72694f2cd771ae33fd057c7f179900eba50408f33c139c907e2e75e4d18d78ec149e71a6159e4fbfc4a80bfdcc34b4cc2bde8bc03fa2fade55abd00fd69e322022ba93ff65823edae273350e9bf35fb76a65d8ca475ab6d6fc5ece7e74c1af57aa520352f425f73aa15ee7a7cf69936a4b69f2c837152ce2d7450b43b49776e206cffaaac0ccc65c663c38a5608a4c494c9e0a396d57515d537d6dff296e7a1ac38204866e32ae198889d2cfc6da475b3b345a170a85789e61b629a52621e7e3ac6000f142694762ea09943cc6d71b1c691b3e7311aa9caac6ae669cd0351b643fce8250febdc632dd099c48aaed787cb30df183868ab7d4ba1594f5dd2f974e934f83e0a546ce523cec8d2ca73df5eb46e4ab0216cf5f0535a90f5dac2766d202614f833dd37c2153eddfa178321e24344a06ad33400f093c2fa8d9f2228891cd87cb5f81d44328027d6da40a86ec46f4753c94b4f17121c7fe2544e060ae2de94cba8fa1d8b7f992030e682596a6b10031146af81771a4a3422d46605f60dea9676262ed28e5911f5ae81e166aa9c81aefd03597991a0e28fa1b49733d00890e0f6475f9d76303c0d015539f30859bed4f0316f4bfbddd3158be14b1ed9c81458989ff095bf001b0115ccacc785c708cb4bae077c1935a3f380ad209b3c7102e20ccd1cbd1ae8510bfc662a3bfdd27773bca9f1d90c42bce3d0687eeb709ae845d4347a7638f3ff5e0e7a04a05c7fffc06e650f98ed59363042b00e1e91a612a9e40473403a93456cd308caa91d8672fd7c0878f4809125da4aa17680cca260729a91135da5cbc5a4b883b1ccb790f2616c8792a3ed22b8996be9e3c63ab83b1666a63d976c226221c28dd892ceff4ad33fc0b00fcf59c55b2540cbcd7576e10829964d69b63385a72f7ef6ee644022da6350cb715fa29d197fab7c0c6287ba5fab61cd72b6e28580e840fc2dc8578fe0f49b771548daabd62ce401ee1a335541ec40f688728f74f1fd8ca312cdbad63d31b9ca2a60f8351f52a23f2812379c923b54b8e99b1e8669c408508732be9bea3f789fd64c1516e9647c1b191b8d839df4023a6ee8ebd08c8616fdf93b2c654fee35d7737fd0dbfb9b01c23ee21cbd431969ed66cac741f94820ead089d144f3350966276c7eb4916e77d09e7eda33bbb1b12a8744283468712a74bd97a270f509681f8b8b6e4996df788ad261840b2ff583ffb91b5901b79a58b2200ae57decba1808a6a8b0b4104e7ccae614bd098f69953b067a154621a982a5f1b9474d802f9a186aa2623278d9830be2abcb30bbab501f02ed420499ddb4f2a3162d974e26da25808faa5c7bdc41bf52ef9d4be6cb2b8b186ae22f2c673bcd9861f806369f1a4b4652820f2b34e9491a5e1cc7de01d6b93c773493688f1e7248ede6119a3992963a13ab50d049304680b24b66a3c54accb55bee78ce5ca819c64865c9a41c762a70c65716d286bb5b8d17cf1890ed816e0e4ad7fc6996b3518e2373740e0f204ad1b20563268cc444e4ac3bcdb17b32785a17c7a34cb1bbf31c4aa8e035894320c1349b10ac5134fb4158f63ad94e3bf0a5adf24eff4535133d1d6cfb011d73ea0bd5df6468eaad5c7caad9b77a8e9bfdde20c12c41bac44af460682db209aa27906ab9d0a0fc6a751c0599b25f2b89046ed907525e6c8fea951541c701cb35175ad99b87f7bb3d612cb54fc05c92a8664f13f335da9896e69d107791b9c1d677dbc241e4608a9caea65b237f3b46eda34417a2cab4b93aedd42bf96b696aacf152c93418dadc58d3544069e5bb77c8da41555c8749cf19f8c5a421758171e96c57e31a31418107539040d3891db56d3034e58ef08844781fe399c5e43c1090cab189d0f8b5054750875f5cd7f56a32829257a0d7afc21d5c7d1cfc23928706308b2f70a72375c953f126114074a91c22cc84c98f741807d4c04dfcb74a905f34939cf61f3df0efa59fd3e7210690c787432acc7ab6ef9199e75e12c0f8cf2d13abf7f04a6dc41ca5490580b0f581afbdb8dffaa85202d06e2b633bf5bd58bb18bef88d5f9c94cd97f85a47241dd0e2e1f4cc6877e6c2b48c659733e3b5930c0e6a84aa654d61953df2c4fa88fc2c5783b38b3ad4421f3fe04188143721c6a1372d7cac7a176b44e02ec39e5433761f512fc5e1edc973acc273a92fcd31f7e13e910e3eec48eb38f20ddea5820a069d71581459d93c5fd9d191534171d1ab5152d0b47f3a26930e1af12f19a247d0e660b6834762e33432257f571a78ead6a76f7f854448ec2299a46378f0179c7246dc19ff3a85d92a91974f759155dba2ee3d5662b651c7561410f29e9db65f2177da037879e85ee15b17690306c6f7e17a297c8362529516a81d80b5d282b29272dd57f49214995b2c3be0ab98b40fa690b234ab1e35cf8e24b9a6a6c2cdde5c21e121a7039370cbfae9aaf81d4a487adbd149cf6f170d562b655bca414d6858b3289365c0c8467f3bd8601222bb638429bb4013167966ca6db6d766311a4d9e75feed1fe42801060f05ccbd0503a4471d7c70ab3c8784a49d318d8dbc2c908b6748ed66e475f5b5b78a731d148b68edfcca31ba715cebe880166c68eeca5f65513cd066580537b49ca06b72e8dde9971443c186b653503d0c4de32d226aea7ed3fcd429b877a67db4bcebc78ee84b47b3cd118eddbc3c96c5d4b53674a1005d95f1df329d9ccb14072d1ffa99939905b46dca83288de3a8ce9f75d879afdc62193a39de6c602b35dc07a7e6bdf9219e9ae872f6f2d5b7b84c68b567fe03836912ace8cc8fd83a554685d5f50a646763f4b62eff5b7d45bceaf6927397f82909f182467f88cefa77f3d8fae4bcfb99e639b405dca42d277a97cbabc0ce8a23c8ccc93085416e1827a6fdc889ef6091c1d4716a58bf2aa4cb70c5696adc73183c52ca0feb70f85dae5a21d5e88f509ce4048757f07788189cec719981d72b1d49117de595765c9f7c4c3a1700f896778b6011ef69c0a8a8fc025c48c4e18edcec4026034004d17bcacd91aedd74bcea53b2fcd29ef5e5bdf1fdb7b921136ed86b3804e34ab151dd79967dc151fae993e3417249572b322d7f836673211ed7787f9412fc89a21d281f55bfaf787b491e530f110edd4f34d525ca266b6116c8abe45c951e20809b024f948fcc0a45eedd722186e59158e9ac116292c0fe5320f7cc4cd8d4f33cca75975478d4516c04fdc93b7845a56953aaf3937bc5ca5b0d97659dda345b02742ee650ddbb8a5669d40d1f1c7561cc35d666228f6c9bdb13562c148a4db0d870b157781eff30628dc6843930ef00278dde6b4b5bef9d77bd58688af881c99eafd56f9751db3608f8aff04f713f8ef72c3a7e7531f1fb029c15b637ff7cd9ad03c74fb931e4033343d489445e74af7f6ac767fca49c2ee2e55787157f5d08ca0edce8980d3778cfaf2ca29f191aafdc87091a90452e91a58a6b58c6cbd70da82b448265be246e19a912156802555cbe0d06bdb299f64ae8b60ae05c03cd44eb0311bcea822e51f2c3bc3dbe3d31f2f93bd995bdd1e3e8f42113fc90f63d1ea33ebed31bc4b2728d83985aa1331b287d3d76660a16d19bff389ff67cd813891479f33af1ee13dd0c8ef44c85ca2c16e18347c01cb90586c678ebe0783d4e2ee7956d6505b09cc9f7d344047f84839b64d470b8adc56d88a53ec48a426b26026e493bbae3fb35d5315877235daab225add38d7c003b3d3fd03df7e7b26e794b2804b62e8af30c5f07f95f90abcaa132f409484f30cfa07a1cd98bb54e4b79b6cd7d024f9ccaf0d13a49e459788ef3b6db8ed92c0eafbbf67f86f158b852c3b2a13ffb5eb21e4f7e97ee64c128914394806f0bdf4cbf03e3205f307090a5b1a6943cde84ef7d57bcf6d8a235e137000432d79867ace11d5b0bd1f2dbdd56a97e9e0c64cce27e2a4a511dd01db693f239898a19b6d40510ee51de397e86b8c8fb000ae2aeaa0817f1110328711c16abb6ea7062750588eddc4b7ac34c4e9f08b64d43971f345f1cdea9a6dae75bbbf4a4bd98b95fc55f5489473250dee9fee2dd953fad514b4371bc0a96acccf196b5ff95547f2ecafa55c1a92f85a6d7972ee6effb43a6819dea9cee8ce134ae3a0e4f921c83fb1b878b86f90afedc595d763f328e97a4d70ca2df26bb3049b39721f3fd04c19e1f608320c10241908a65bac0c35ff53853b79dd067ca85f5016fa1ef3874c850fed424e3b601a7b4216ecd0d329acf2ad2bf68181cafff630616a76e62883c5370249529a3cc87dc710f6b4b54c1fdaa42bc1cd1371e2ce200935d307c6d553ac97657414526b0b0d1c6d5a83c69419489483572c7a805949b1957765aaaf43cdaee2b7f4eef2f7951efb7379d6903b7b3e8d85ae527e054a12097dd936c728ba7ca0fddd1a5398a8bb23780f8b212f1e0bbafd84cbec9d9c63e1a7f3c73e81d36984f9670afcd120190c73d56acd513e933611a76373eb1474fe10cce34600254e8cd4f0c9e114c34744e3ac123a1d92270eb4d51ce46aa5a454e5759aac90bdea22733aa1cde44d9535c118ada453e443e7ed1a4009d199ce664a937ef5712c8aa411587fffb5c76866aeac5837d58d73cc14ee6bfe83f369ff0b7d1710bf46946e7309975a31df5dde598c72232979a3b120ffe77121ed09bddec1c25360a626010c0ccd692e222e7eb222b4e58925d3a7c236a7dc19c5c260b9d0614608db82d468c370f7f64de8b6b1bd2ed2320c50064dd0f0c954df98a7b4fbf6c489ba0b641d508e0216aa5af973a523999a001464a0d76493aa7298c2a438436600a22bbd09893785b0b1bfcdbb7c2af482152167ef78e8c6b041e8fca0738e480b89db33cdb25485ce79d7ba1cb4c4918fa82f3e01a9260c3d262a34d09180c0f4065422b92dbff13787c2b9fd655cb67a6ebda0cd0c05db37aeec47efb038a03a2fc7358da8ccdcbd9a411d24a1f414f2c01eb06c1bdcf4906ec59f7f5ad79699fd8a74d88ef9b20161c8c34c4d562b6972bb60d867882c036e5a49da332f5cc0620a07046cad4fd7338dc7b8f289597cf9d7f6381664672bb7b7dd3ca938b98658908a7533fcd8f3e4f0f9f4276c7c4019dd779006ee9e466fb40a2c82895f7619626bfd9a8e93883f092f3b1fb58ed44b93c23be055517af460eca6cbe2a8a5c9e90a45b1528712ab7dc9f0ac8b3bd3fdb36993283a9060106a8158ff7ed73069b94774c3975a8508760cd09e414304df1bf63e94bf0ea148abcbedffadae282a8299580b765c51ef582e198df2c8d080d856ac97da83244a2cf3d04e516b67f826e52a7a0a434ec86a54bd41f201b85c8579d985a5ef0e6b77890d5fb67032ed7dbcdeda4ac54834f2d3ce0d582e42d359e66512d1df8ebde0cd271e7d6f5a1e4c5b1d78c71a409d3aae60ea1805db8e1829c06e779f090b6fb11cdb414f6516b86e9240b8ef57c343004250768f41ab1e2da70dfeaaf19c9913604af22b35ea8edb8727dfc233e88580cc9b05fb9f335339a789010bbdb90019ebc1a624d013695ff9afa1f04d2426863acf45e9f1657927ed6ff85153ef373103e14e8d5e6e7a99350c46c5280ee571d02023c360c2ee50e0d73e2ccb9e266aff144141f0e89846930350c13dd77d977622a53161c77f28c775333a2c556a9453a62a742844a4aa6f82b4f47c26b18386e948e64937a17248bb56887bdb493ea544f4a4b58bb17dd68d39df09d8fafa81081d20d3c93021e4d8f199dbc54fb418d3ffa5cd8fbc62970f939bf417c745735c03daf1cb1e666080063f65c52ce4297ef0b9688735580a2fcd0ce5b14bc3c6f1815a95ebfe2fef55c9fd57e982fb0048b6348540a1f08ae56cd29532e223042d288e98bdddb9e2a30d602df48ea0f804a7d9e398a879c5003da158752853dce46d4764b11a03698aa10493ec543ebac08a209e3fb405a05871bfe1ea0ab89a47d4093633b9222452ccb8591289071556f3d4feaf100498206c4af5eae1c49940f013bed9e4097a777b6954077b296d78eb768257d736b97c30e730b08c9538ca2faeea3f17a0375976c69c3fd3b5588d968b2b181d0dbbb107c25686ec4dc5fe41d98358c61b1bc58e8cbf3c28b7f8e9e98d2d0073e2798458089aa9307ada44343f1da7fc20c21348e578f04f363f6f479cfd84de47a24b314f3d1d20f445c361f9b38933ab45a486116507c68285b9682005c52541f8c5dc16cad764e1216c65ff7a23a2bfacfaac097142de43cf5749442602c71d800b0ceddb6b9c58ffca7a8c0adad9f2c86a5eb2d7b6f10a7b6da7fcf6f15629e95ad62627340841aca3b418430fb0dee5e51b6c2e2f89e098f94d9217a15d61f882f50ed799d5d2c8fbd689a3a688467a9f18b9579b9de4ecbaa244e6639451d216fe3d6f30aed7cf3d4c9305051a2412538dded290be308560e500c61edcb77dbd0598245f02b4725504519e4aefa7234af382ebef87eabcbbbab010fdd14afd29d1b10e7b6537adb5eccfdb0dd127b98fea476b000649545e0876acd6e3f4c5428124079a5471489095c23982ff4f121863d84f30a9fd2f8b65389f073d58784b5a824f41950e8e48fca58fafe0b9969ce5949215dda17d353b793b70543df9d3670620ec47757c0d2bc6c40177095e009aca2c8065fc26a2effe0f6f99dcafc8fe84272359f628c285cacb21e1a9cfbc3a3decc0345974bb4e8cee5fad7b46c13ede40e6c55643e0d4a9104a3df11953d8aff0bda13906f7818458113cde1e384ac6ac94f3b79438df193356be8fc36aa980c69121dd57d8cb9877ebfdb40806f8c7da5caab82171544fc05464269fdffd4472a54d52f1dfa9a849b660f7817d788774c52528b5bcabe77f9d92fe1458a5c4c6f675f0579ac5e7e0962f9e6b56aa5a63956c446e3a0790cfb2f8503820bb0c9101883f4442aa7bfabcd93f06ef515e289696e08ded20a65b2fa608e1c910bcd71221a20a87a458f1eb31f03ec077d4af283e438e1004d1cbddeac8685ae79acb0f29a863f7f3051899ba860d5e62923c08a1d12b0d5bd704d0fb1e34f7963bb7bbc8187b7e4843a62e880de4ae6197e866874cdb0f0639f59055ba3c59ba432057240b41f9aa4b8a1976ebd268e1a2fd64435e40dfe72ca515689308100d2a62e374608654e547d09c2ac92b64c244060507cb793f8dbe979b6bdc8933cfc95f9ebb49eedd62df11e2b550023e0ae748c603eaef1ecccfff019f9d039b33abcb51f077dc7cebf0f2d03e900d36236918455f69ff15eb40dcfa35ff315a8dd5043fa22e10dcf6ecae318badaffbd574a92cad8711e2967bf3d4a9098eae4faa89f6f5715d2b5c6640df552fb6ceb0d3dab12304ca69fb3558b6f9ec8283bb1c08860a4e4e162ae56d347f3a33f1eb8ffbccf646e4513431f181af397abc0eada1798b3db3eda8a13a099ad0c544b6fa1f93f149554aa0b33392544c2578939eca9a73bb788d8ceebac91baf84a5c0f4989aa4ae4dd53b9d8c63e7e6ed15c53caf253ac7a8451129c20455432e027e8c63353930f3d762ade99620363c71bda3da14243df167fc1e36e0876b467c1b03d8cac8ea89db098456fa3cda3994918f423a93c6b4318c7f41197f368adcef0dbda1533b9d06ed194bab1743bcf61c61738344affe8a3d7f73d404d9ce2ac8aa923b61e669933ee617f5ce8883e705699f9c45bc656f9cadcf352552987056650915a84ca4886698258bced9a1d840453db02b15474b2aae798c45bd5516d07fcdef326ea202bfbbe1bbb1f6e11da98399c4fb308e8bd13ac8ae4cbc2f605d54b0ed6eae2bb8f24a8a6fb9456246f52198b14478af3f5372e451e796eb3ed17c131ddf5184d5e7ea6f6bc233d133693fad5cba85215c39ee1e78cf2689ed0715883b724a157b92b438f79cc3b38970a11814575bae5bd295749a38e424b98d11760b92adf2ee91dbbec79c451b9a0565c13c327994ebc770cf2a6b7c16e6db9c833fee329e358fd1771f96fdd124e2b1759a0333d775a490755affa99251b93ca13397d345edfc915b8800c9952cfc4424834804519251024265b8b0e2929b3da830f1bfb1869ed3435b5cfc4cc33213e8269e637dc87cd5eb9f944adaebafcae0b5ca67ca90a30637f77c857edb3ed4cae76e60d66b3784ab3972e34879b4ea8ec784ca29858f231b901c3769c50ec06c1b94f9e214cf2a66ef3ffc8b350049c5ed44ab6b46c0408d36c6c4a926d160f62b0fc56dc9dcd67402c4acec7901390de874ce0100e66be3a426063af5662f087b24375ba40ac9bcf3c311e1efd084036fcc7abcc06124033a3fd8a8eacb1eff123991361daf174c5bee9fa184b06ff47fc2c9eab45ac9dd4da3ca172bdfc754315cc4b3d4ce3b73736854c1d3bf3e3f4eaec7f13094af277a553e13f07a84de12d5e7f5eb06a7956e9c158dd9293fff20dbe5df99278b9707f18e2039505b8530ac85335164aa9c9481148bbdd3095bbb6b16b36ac8390c81485f61bec4ef8faf74297cc292a691b02b342703974a7572c107c91db63d94e6d387b34ddca53c4cf2de598aa2720b43bec396dd052ce4c2ba7aa56fe4e6d38e1a47f5b5af5ae7dcac3719176cea329b98d33cbc52e809413c96d5403fb003bb54ef48813493786afc0db59b52b7d35ab13590c5b26c1b05c462e49b2219a6b1f80bffc01d6db121e46dac79c36b48ff671d28f05f92c99cc8d2d9dcb8267ee406bca7623b270ad155f75c7e7aed32cfe929834c4ab7271dcc53cb849521a34b9b478955775ae37cd353fc1bd2c9abcb8b8aad3c610c9228e1496e7af690cc34d71b736b6231d5b1dc4bdd6f2c50ec8d1dc697c365109c439974497d616c357e8490c89fe450e53ab232eae2d2549ad9cdae9eee250531eb0ef8e479a57f47ad820c9958c83555e4349039f3aeb4f2f403a77e6df581e4d94c33cf55de51e3d0b8b32203dd580c8fcd00531255ed327a502c654b687d9e4313aa17e61bee976cca3a48660a5729c93dc41745c9a4225e98c549b5fa990db60ef53190ebc0318fbbca9a5a8e72541eb7349ba2180fb16d464570a0a9f5050bc6a5494822960a2956f76314d07ac26cfe40e09d69e046f2d782fcfb9d4865d976f70c148bc59ea96e62776dce1ef83bce3464469c55b55867d8fd74580990985b428d1ae44c4eb3d1de6cb87a9ad3a60fed5fcec6eabe8ea68928179b41b1d80ec37077d94bac6c9d713c1e2a424486af178e2629505499ca10fcaf976b9154e9f5a61acfc51a00713faefa631b9728f98b0784f97d89bad100c958c409a2aa49d95051b1db3f6e70d7eaf28cb0ec0b0ee5e8c6ea93326121a621330f3c4301937beb1a3afafb16d9bf57d24c486b53e17171de8efdd7055b5eb23a353dad01748f133e4e7f543507253957dd440f52aedf37de827281ade0a106f0384674f2cd6724844cbaaca86b11bddc2e3afbaf6cc4797de6818a6cf4fcbe7aca495d9c097a82a52c9fbdfaa5c2c6442e346575c523f08fa75b8de48ee1647d51e55746ed14db066784b7eed981bd86124163c7f8b20d3e2b500f5941a7cb03840a33fe806039144dd0444acb3a527693e5b7b56e0a1106c4f73b1e269265c84411b5b433190980c43aa113caff2cc9e70c577c1e66f6571fd3bc9af56e47963dc56e03db7c855f5deb3f4938eec8aa5e815fd52c1e69cda86eff33a1585cca72b50f58e0b576f91cfeaf8497957b1f066d1d93fc7ad2486cca4d42d4675b644868cdd08b29aa71f6cebba86c69838c477690d9f080c748f944305c9ec145799b1f7f51d02bbcde8cfd97784a015abe9138b044381901ee5115381c6511e2e6ba4f058e44acc82480721701e322ce4036f6348f65d40509550ee4d05ae59ef50514f902c39b3aa0487aedcc18721a3c7fbc466b76bd3fd529eb9d9f8c6ba068616774f718e1a14d2742555e6d6505d2e99dd2ec7fe16f8af05eeef7ac02aa50f9323ed9764df6cf973952e20a24a7c9a4aa6c09133ef477d787538fa24ef636a3b792898eb81e1ca5cd94274a62b380c20643704157c7dd3bcbfed64fd16cd05870fc3d52b38badb5d85a0c149df7d542ded3f0dae2191270459c77b3012c576f69dd796100bbb7fd855350b63866db86eb93295722c3886d38e739df67abda60537f774f1489a1fa4fd53383971be6e50a86cff197bf544d98a13e477b3456a10139cf67fcaf39e039d99681f1b26c4e6d3b46968d6002a395f75f07f60ea208946824695aff776734745b82ab8893fb80a5d5601ab43832e9ce22bcebcdee3cc1a021f1b4ac9e5386951169acb0d563cfbc58c1956590a72b68c689cdbadeb3fead73fc2bc45e280030a1bc142e8bd7b7bd75749598b5b2efb444a93f709a037708867918027586ab86708ee8e8450906132ac8cb53abb9ab05c93e2d3fd572ca81bdf6a4cfccde6e9570cc5dd2b1eb74cc0f997b851160ff4c697615f4854d66988536733b2e1e61c3173cad68aa165719015574b4e4a34ecc434e913e8d27f1e62b8d9c89043207ee14d8cac04f281086c7743c62533a3e1df6643c21b436465daa745b9f61463138298e2df344b4328d5bb77b28929e79c870ced3664425d7c211e9fa399f7fa36c52becde2dd42915c31d22ba1bfaf49b6f5668642d4e85eed148a53a77ad60c2e6dcd2287acb667c761720afabcaaa65c388e529c7765145d6e5fa94bebabe483ac1b558e7c884fd293f712bbc06a9e9e1f514c69f1d40a08f26746f022f42b638d2316a07d7f2d3e7a11654d17f96c01c5ef210e42cc40a625ebee714dcca3611054bba6dd57aa127f92c2146244e1d9f493173827aef61ed9cd878f7aeffe47826029112056964b0b345d922b93270e3edf8f79e3dfc71b60e2585fe047b897abe8e8a3551e6f5d764a07364856e908deafcdf500387f462c372205fd7e93ba070741b4f94de04d766d86096db9194e384bb59cef09409d675d72a34f2f0d568d9c15ff1b6f23acff215ceb5ab29411b947a511f79005950db0c062f759f59e8c159162cbfcfec09d79dfdb5f62aa0527b228c91dcf753a53f95096060835bdeceb3a814881eb2c4c474c1d71e470a30728b538fc7e1d02217b23d5621dd084828b6cb7a9dc167ca9242c7ed14819ec46a7ac1e51946f7f06a4baa45a284b531d2811a37f0d02f6bd56c14f0909bf89c7f1567cef8ae8a1ea4dfdde3552e48875323d2ccef52266091d3aaccd359d6d9eecdfa01b9f2bb80289b8d18691954dd903a05b932a5b3eea5ca95c0b99cffe83523553dc501c0672cd16ddc06b3d64ed79ebfcd32136f556eacfa8adfcf11740b1ff93f36900243a4dc7bfbd21b74cc86a84fa037170252f1c4fec57e534421fc0fa83a378340d458acc0a78990e337251ff941001309c34e2f597c4726e7a234e97c37004b241fc4d80056a2ef3ffc5e3013740452b8f9a682108f560823a74dd41c9cc1eadcbee6111bfe02b96d0bfd9b99434c53e2939820fdffec16a0ea46dc4d2eec08d5b1742bdc7587550f40c96519865370c1fbcfee00157bfb1a98a4b08a9406060ca8aabd0ebe5d2e1fd45706dc30225af72381c2f6e94b277a87df65cc68bdc3d1448cc55ef6fcb0eb0fb5b60166b405a4384a6c1bcba49f6508eea13f176a6bed7aa4d6ef872b3b43de70de0019da8270a0eebfec9d650932239be352ffa1230c8619da1ac2e87881b1c56b0574f5fddcb172e06090dab14673c565a7751e9a3cd535fc21be246c5a3595190d201fc27c9803b07a9c837e6069802d03101ddf91ddcde32d6004f64065e2730722aa17885bdb7f571e7b7c47ef947e00d342435048f878a0d3fedcd2b367b9a95330541d9092f987fde58fae9f3538d9c669a496297cc97f746d2593f1d621b874761d575f0ed48cff44c52adbe0e242b8590fa4b279aec07e035538f0acb45868ca8f483b6a66d878490f17978feef5cee3aa9a15cf44eeb3d148f162750e1f2b1bb17f99cbba60429f5964823e7df928a9357e603f3f9223362f04a74c2e58d5a9ace9a60579d1efcacd98956fef7289fb6ec4df0608a0525454dd8cdc41105c6edb1efc5c140b858910cd13775cf5d51d434ae3724f58b0f60fa0144d52825f13772e5a1f374fb60c600a4749d1072fe7390d9dbd0925ac0dd771ab27329e079002f2b5e961a10f5d4193471813f2b8d64af885304bcd876f31f2e9db242a837cb554c898ab6e435eef7be36c0eb3ce80c95b641a8378181154e5438991558ec791f36dcbca7e7df25440fcfed4f36bc323e4dae0a0b98bd4b92dff3e980be2e66ef9eb9ea0e76f901550a8e3d848cb20e53b968c40c6508ab89e141e9f765274f15bde2037785b59f667d993cff5dcc9bef4abf5eb111fac62d4830ca9fc69ee139682ee32b072d94644694f24c22b60c761079c8537c3637d4a0858156d1b1c885845071b0af69d0558951b884d5829df0af4a876f5325c1a4efac0029c625be08f1609fffc804ee039a58ef1b42211f4d1a7a56ed8e992a0485b913cd7263b9730a451c2943812ad284004cf1a0bffa0525cb9e6ab8e8f8f96f802f225c6c946fd30279c1b365a9f950afd1221aebd8a2d063f2607e8980c971b18c2187b19f6eed63d16a864fb13d783fdaa20d7624fd53be9c0c96497c6a088090cae0f801c26a43945d19842a2dd98bc7fb210eeeaf60f095820df9807388a55f6fc2c94271ca07b50250798ecc496623a9026d690f94af8a13ebcf9d40e919b278a0243f5a627144b7951a0565fbca1fc33cd36f58b7bdae02faf082607a0e036e6cd87ad33125f87d9b25422800f2f2f5bad926a9acac213382d8c5836e1a04878535826cfd1c869670901e441c5f38afe0f67fc9b76f134b0d6e5ffd86c53b50f1577cb4f78f0d62282ce8018a34fcb6f4cbf5d9b69a61fa309f34ddffdab7486c67d6e498a210a307de792665f489cabfee71b475b2fa312eb21ef924f85bedc45cc5bc90fa8531a55e51202a88a1dba07b10f99e2af71f2f81535a0f52476ec8bdede7e31e43b3c8db822c70460b17c828a2400519b07d3bd283a185dd19252c361c117fc5bd790d3e340d9f3c8fcac41e8f9c75ef1202ea99707527fe18d0ab5e4dfd5dab2ac2c689a77bb3c9cb3007848eb8562bdee86b708da2eb548ca69e249b3891f9f37380516154f0ff7c86f388ef8cd7e04ae479d85f20322b970f374a718156b8c0fc9f21dfa18086b5d63f8c6503185a26aa38cb3c8312823bb7b511c9091ea2d00fc5157c9fd1b1d14dd57dbeb38fd2d47a358762428d5c44525d11e62e5af7ae9568f4a1002b9aa1adad4b21371f6158e318c7271e01a17961b8de277c4735df704d2a29847d283e9059d228fb0e6d03f1bc64a994854a8f8ff16cd85acb7ec312add80c6297042a97c25f861d6a9e089ec4f4e0550ebc6c97123a44367e1eb20bf6d4a8dd1d7e43bcec028e4c9976520b990029c819957eb0983cf201b873e12f10ffdb15d4482489c6ca0c32386309f11b14f99ca9615ebc2578ff4f648943b3ecd786a030b4399f93a77957ebf1bf66980a6f94b25c2699dad7ef7437763e485dafbe2272611eb7aaeb8b6f054520c602c0a05a4c462409150105702923c8aaf9899b828c2dd650fe463cccb55c776d736c997106c521a862dc61a8fe6257f0cff499782c0851d825de77645229e582e901f5953883900a281eafadeb666eaa64d773ad152b280d7d6be5fccd3f0f08e5216715c27babaebe0f6fb53d2f74e24b16e044256f67e9d2469fabac1de8fdd58ddad90d9c9dd7efe7956ef619eaf04861fd047b0a389fea4a15aee1db1f937ef33e0847b40a9228883d53bb0675b3b0725d27f7911705033e0e899b1d77e3dc2f9b1f9ee49fe8f5fb15ebba2b2a8a9c3a52e41c63098fa9cd418f57b9f1bbe7af7f8919c4e1412f6861dd76997747eceefb8a7a86cf8fb066b40365ca16266be71999212bad38d75fbbcf23d9fb603247ebb6eca20330d887e39e793707663c5b3ee9a0687900f9ed6bf8fca9e5dfa886ec6f6a267f57c5763f028ec786ead907cd4b15dd2b226216ee8c0f0929e84c77d6a3ae97b5ae160fbe08487838adf96064170e64c4b3413de69904438b5b7b7ac555785882c01df315a503398682f48dfcfb1f48ab2ce04f3aa4415000487f5db30676cf10719a6879693b417793e3d52d399846d58eef708931a9048657f877818b31b7ec236c01c9558d4582476eaf148d9a241e8af3e958d36741421ea6893fbfb7daa53b2df8b7c2804fe9b2a362e08bbbba9ed69a3c29ce004714578fc5445fc3b9b420985cd6b554cf92777f23f38a5bf83700877cd53da61e4389d47ce94051385796ace5a576b896ef926099e794920e88728229318aae3d458dab02af3163933dabb07b4a887abd369fc5be42c16e9880d4a23fa29061434091ec454ac03df734ee96e76c403c932a5e534b0044074b579d19c6b7dc316c0dc04a9b2b9247d8940d19a84ab4c60ca2404cbd8d8d6d494a9793bd5b0a806fba23a6e797faa6201954632dc7e92a7b7346ad649a74f11c3f6fb8160a407fd646235e0649151bed031e27e7b398ec408d19dceb12864492d378321134458cfb7a572089893a075b684ff0110520e9f8fab2b148ec968ce085b09d7f12f6b52216db0e112fee0b453ea06ac9981337bb468e0c310cad9b69a5ed6881ec879952dab5a5e36737d7f71830ef8208f75db63202b4574a37b373e4e0950e84e24d3c01c6c6cd1e0da13db419e3ccc3797db1ee71d812b44a2c879e11ca75eca3e9b6c3a5791819cb52a1d920a1d0fde6e63ad79237d46872843300341f1b625e3bbb1d4f760ab493ea6c5aff8c7ad508dc44f6f38ef539a999f0a2b2a301669c7ffa7266838ddbe0ff3813fa155f4bb8dfec99961fcc5b4323e75f48a54037a7462be70244f8ac6452954bb17006be0c2c8675847f7c3fa639ec54123ee59cb4c40d5819781ffbbb66bd44669755094094f8b94f00177e947c51b3eca563204efb9e25f8643a61786179b7d42357ae1aaa7f086d509396a54f67b24121582a905ca908287a4009460d49ac0aae833f7186fff395d47e8a42a946e927ba8fe25369f5fc2485a14876908d3200cb92afbd88c9ad82a9102bd44274796b84d8874cd45d6701274c74a32b88a1418ee2ccc9d94c283bedb0c53f54a8f4d46764f36d86547b3eb23707eb262465a01feb96fd714f4fa83ed2d2ae77a6f96ffd00dac85e6dea864bcd542260695bb5a16d45631e45d6f3bcb18706e4df8ddbffee5dfd95cb243b601b54037bec74dcca112af514a18ab25f44c94cf577f408f881402706552415043ea1ae5cef6afad2d4fb8b22830addf2c5868a45da4dd7c49f8137b9ce25a09b7813213da384fcc702ba7290a33f18b6c812c43f76cc94054b9fe62a51570d850b85abdd0d805876c587c81649958dc469975b2a4bd07b0c74db4d4efddd0a12233cf2ee215d733f9234148d9d3f8712d6e84aa70556f62d4f833faebb3f9517e2358cfd5ae069f0663a066cc5c71fbb208a66cedafb0793504ac4778f4adafd13f7293f12887a8c13abf209303ea6bbe6028e97d134da62c4f449410d5736ad1607b8c50b2aeebe5a1bbc9ed0d9ed62361d9cb874f331ed7310c2421280faa49226322191985ef1e9ede1f6a12aeea0e48e096fd7cb2711679d6d849f6d52e4f38181909629efb1fe2f608793866b4094d421be58df54f78768c6a476c3483811ef9a87113608e4b3344f7d067dc3e360fa995d2037bd8dd61e2e7f9b486668059a4652972b309467e93706206371e2b37ee5b35ae60e2f6bd0e266fb2193f1ef69f0f09dc5420655356e6aae0857706c228a782493314779d1adf6f012572f9af453ae88d5f7d069f59efa5888a2b6083c49411ec38a42f05c48596b1291b734743e85c539d75b6ff798973c5845b058e7bcc3766c0a8978b4e0ca0a6cd9376119620935b423751c1dd82350b21fb481d7880a6aa4f80db0c176f1154f192eb646370b664562d01c85a0778159f324bfd9d39c893ab8ca5bdae696cdb52d0efcc1cf77e375443cc9fbabf80f1b699ce05521e48ff52a1af8edfb9ab4303288e14aa349605d96bc5e54d291e82adbcb312d3cea75adf8427edb3afde396e05f41c6f7c9e29f4466ea6981c008aacda72ff4637167efde4fcb99043b5970dac62b1f969ffacf0a6711ed2b753b193ce2af04c67d668af1f5b81c18b99c28835af1e53a7c9a41466253b7aebe3168e51025f70028e4ad56dfc09d4425c21d7ebde19cd3dfcbf2f282c45fa396a24cae2b45c2045352ead9e3ac9475b0f1a135abd6d92db8eda2c4597e99b07119a2bd6a0d0c9bfd3bc5327921fff4ccdabc032be7f6cbcabda8395f1d7dab66784c033bf3987b41fe8286dd66273d96bea95048fac884826b632304bac8e2bbbec0c4141111672e965a08ece661ffd8959f0c8152980cda6806fc25eece289d7e5074a30b65e63f80db10e161c2c9f7199a9b9f3f7c4e3b57bae0dd3be2da699ca82862d299fb1fb98913860e3071309c862322bb3a915caf9ad07f97996356821bd3d214fc68c53f55f58f8751faec727bc9e8bfe80d1433fe732bb345d4a5673a0ad081bccd6d33836f33f0f03a2fdfd12a1eb13d57bc2dbd8012813c2de40f65d05d87a94a4d44c53c0be7bd62552e99084fd816096506a9728e99867528d3432209a1f8c8e0021b8ec1e8035d021e94db174fa2ae2104f776180cdc56d1b44370b99584802d6668182fac62036d64ea4b2cc49f6e06ea8cbf26aca9f73ee826655becc8a08cf5f6214b42a6abd75399ce9987a23bc5e232a14777cfb142a951eaa1893697778849cbfab198998642b921ec47939e505d9288d8c5da15429655e0f964924ce0b4f68a0aa896e7acb7c30a88d17f3201c97059d564242b4b62a63512bd298d66d444c1d3d7b8f83c482bbc65ea68f6c03126910c4d76f4bbba43b4bf971d865a59e5be9fab399d90a1d190c79fd8fd750d9ad1395f4e2724e24728cbd5982470024498e667e4b80a5b01a32aefbf4f928ecd547983e7c82ddaa40c35277a7f4d789822ba7cae1f6b1a16d3f2aafbe40dbb0f00b209dcb008777cf35844f5a261e66f9a38ca9e0a585472f123f5f30a68d2f70502e42b201a2783ab54e792440f6c8b3a6c7c2f44c7b242b783afb403112890c78c4d50cdadc60c92796f86f6309cff2cd2108eb6377018c0fce9fe415560263de34a567c9917957089ef61130a570a528875021132b90107e7723737199cd4d91b4426daaeb656d2dcc863eb96d2d0b798bd8dd836e0821d107b722a135d8eec1039b1c0425b66b924c5915e3fada91b9c9fee66879bb622c052ae02c9e40076b62b0e51639ef8898bf61abfe0ad9c8b7eb659b3d2a924ad4dcb533605e4ba034b6b7c7e954f4c090eac44ea969f7892b0cef969b4f25aaff66d99dd14c22169eb9f1c8ebfced21e4700d1f9972165e04fb5455a1575c23fe43437963ad69855aa84e89a329517e5e164e9a06711194b51311c2729de2fda3eb8574a458b153fba0e4c55b1dce9f7ebef4b71db158326f3359dc6dafe133a3030cb634098ee42714e02f42c0c69134c0208a618c86eae17817452d18815626a0688e143c20b26afac0ce62803811456d6af79086720ec606c182d30e2575bbfecf58c3a710cf08f0bbc0a961bb090076471882c6e2ff6e98efe0a7145effe6fc69cdfeebc412500ec7c0cea18248f4a554ca04b9abe7faae3237d02272bb28a8d5e4e880ee97ef8fe1226217cb9ca10e10a83858c16d3b97d242cab8acc38040eb0dc2204f95e19c9b9758eda74e835ef70752bf453bb905959c6cb6a779d337677d51d52e199f70eeaad40db3b1d646cf1272e47f5a3d3af253c59061557199697f9ee92a73f028c0467ddfa7267cfbf217d75647ed904cf7f87186416f38ac8d9be5f22a1c974e2033808aaddde686d9e230dd73b26ca5b9ddb195b49075ad713c3e3397c2d63d86194328bd443693a828e052eb2e8b8072708176c0b775ca707b1204a24f7828276a375a514d6f62327d3468c4cc8f7342979eb1fc62d7637d34c147ae6ba3d76165b23a560e0e54833ab4d843f7eb858a5668a998c28b2dc1acd642264621fe4a2337b3e687bdf7a906edd1467c49f60735bdd75ad3fb6224de5d415ad0a02f10b052b0ad219d768e40789003c2bb13719b7bbc82b113f8a2903fda9e1c4149391887407888354f57f6d98a7f85af45d6412487d370ae27351929444ee2c67e3a6e5b9109373ae7f81e265db8dc85d229e4a9334b9a86aea450c2481b8d604f8774915275442aeae86e024302196e56f436df7555ed2e94c99689eceac5544d8ba9cd52223ee321d081366d7b3b200df8be6d65d383f8405751ae6d8a7b06198f7b2768d733711b0b6425592b7bb71325e9f952492e4395f39c135797b9e000dfb57cfbf6d078cc50cef23f52ae6ddf8cf1c7b9a287718a8d026c218c2e67df98c79e203b5d0ed6998258bed4999833ba1e98f756f1b4c82451c146cfbf0a39ab12270ea4002876b2a7b079bfad5975d476497785b50af2bde2cb4b3b00d7e53ff4c07a49a3dc19687f201b1de5a2e99452df90e1999b96ca56e495ea6fd7e1e9ac283c589b79a4a5a170854a4b2f6e846cbfb856002daa919bee96773b412b0325611c792612a647cad3d13aa9a3e0059720d602c6c18c3433ebcc68ba628fd62880900ffcec4198f126a4e7eecaf92e81623b72b55fee28f60e8954db40b15223a813a350c9f8af712cca85b94ec1a2f833c265085c15d015cce6259d8126c8e7535a866afcab939af8c539f86c2907da992daced9acfdd8bd71747cdf842a022bdb4603f5eb8ddc2e5a53f68cea84856e5f1adf299d02e3a934edd7f935c60490e72845f6fe75584bc2819ea5bad385f19dd307735202cfb44408b60d83de34d27a38ead4914a72dafbe59b6e51d87aa6fc43165f9d3cd10270fda0110fefd03f2b1b799585b38c57e653f0e553ee155607b407db630d809de04a3d9b9dc413ae0ffb6e9f4b1de005462b1486a91814970a42b0e882405ca0810dabc4b8ca7d3ebd80c5df24625a96121d0a157186e5858e8bfc4c13bcae353ca9b8e2dc11d92abe1c050b94d6f76ad6c9b7b7a684e1776a355cf2529102418b6df7ff5c92e82e043434139495360d03d7d3c4b4dda7e0e1e1d59034704b24384b5fdd25eeb95f48313cc7b137ef890899f490b4286a758a4cd2859dd4a63b3260cf5620a12c5e2e4c9fbd40edb8c97f59810ae96a974f0b63150e2934d909bb5664b93cb4195a0c190d35bbc14d6f44c283fa5a62368336691caf49cde53169c44e44819d5f57baff5cc86ae0c747be0a40ab9a8b30c3899539338c7757ec5508860394ed3facc97c4c0ff53d23b17a75a64b86fb1e02f24a2a50509b3e267b3215e17221182452a65069993ff981a925840bb1a9e828357f4a88e7f0b12c325adc2fc626a59d4d8be09c4c1508f518bec6fe1284f662e71e37159c90196506287444de0957107f08a6c4f894719ac13d5ea0f09f108b87dfed77d8e559bd6361bbd7cd7ae1eaf1eee233f4a9a2ee5d49a2820daac539ddd14d5359d8d5e1800667f9c589bc19d4f3e1f60f545db3dc0042e0c90ed09906f5c5952181e8e8db6df817f55d7791110f5543d0e919451be5937aeb3474ce36e328f9bb9911ab97a2b9253c414d8fb467c09023198a946fcd3df70d303e77c7cc3bfc84d5e2c50738c2d941e1605a7d96d0bd8512614c4cc4e6348c1a7939d99290849a14b906969734a9a013fc356668c8b0f3370b164782695a143ccd051aff656d4c48ebfd7418b39194364ecafa645cd770cea70c328e08a053abfe0ed263cbea89e20646f8853ccec6c8a159b9a1304d56ea3552b75816e09856ef778d2fda465de33eada178ca9a595563db23fbd0b91b1ebf504cb96d3125994557748eaa0b9b63cb48f97c14525fd535bdffeab99e15284320559c93b221afb19e8a9fe30c762efda5970df1069cc8612dd183bad1824c12f56b2556add31958fe687e45e19bdb56395eb7cf583153b603fba16ee818cbafd938a7f705c6048b6cf049df9874310dd9811f94db1d2649fe3b4bc9db8b910340f1671c2b57f7d5b58016c2a3e8c3c76bd0420adb48e407b38fd4ff1f1c087a337d7f0512a98e2945b51cfeff19fa1e6028f55b1cce5544b3b8594eef5a7698f0a9f29d2a848ad62fe144c06b205548a95d1a4e026d0d6ed2fab082c78ccead3695ae4c3518c39478c148ad8c0853847cb95679bda3005e589c0a6e036d3fbb2166e03dfab14f53b19ce78b444339a36e6ebb4411f7dbd4142b87b6d973059071f18b01c45d447b5094931b5baaa3f7d722085a9f2ef3ae82238af37bc6e6ee6e579ffd78039f417e173123902d1f80d780987cb8d4dc9dc02f7839a2ae001428157618cddbf77c4d2b1c4f7edf6ddf737e1c568f4e52f44e34fed1189444a229e3bc17b1917209d0f52fec7f7c8bfccae1387c600c5b518628c1329936af46e9d52ef5ed24b5604de07f6a1a1d6da0f4bb41df5f455a1af315fadf721d47ad680a25af03abb7cc32f50131738dbe128cb006ec227e2ebaa0d53b6434d77f3cf4dfce6184a2e6bafa407365ef15bde9993b2843c21b31cdc8c455b0160944bb5e9042dcfbd15ea76c3ec4766132399ec2c74afc14dc1fcb585b8acd3fbce60f9a924594857dcd9bb1549213618f80d02e6f98e77f28893db15c3282d42242dc9f537be59ec09bccabe9b599b3cd2326a8rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpostgresql16-16.9-150600.16.18.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.3h@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@_mmax@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.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-ch2a 1747405282  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~16.9-150600.16.18.116.9-150600.16.18.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-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:38713/SUSE_SLE-15-SP6_Update/71ba1741cd6272d060a107ce05bcc23b-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):]>i}Outf-8f9981c01547eb223baa9b2b3ee386a48baf578a90ce49261e09cf34c595ae30d?P7zXZ !t/(]"k%n凛0#J:fV3sO1cg?h poơfNCBG\0jf~0A@k}?CxVA9(mqrGZf7ǫ:^ÂVP9<"pkaΓ@l_O΃Pq _qe_'ԏ`F86)rv6rټfMrDU)6+%$x@7*w`!;dbͷVG8tlee^'o rK|U;.EJG+[m#Hn96wrE#HKʲ! h$M9)98^OH9yb, lS!+4`e#E+ X:z|l e9#cqmlN@x(*H"WͿ-^M&!v|CÂŒƕ7W ' >Q3jye`0}cѭf9%r+:_ۺJA0@EܲtɒCRqS7|XxC_d.&࡙P^e璱Veo̓aؿv9(f|JaKFh$Hv~]~߇!!̄PJ0P9Di^3K/.BED&I9`HV,<~a^I7 2jlRO1>E[G}f ~yDP%8>b W  )Q`2 BžxU#WJz#-756f¦\Ŋ&C=5qd1t/eyūs5x½Pl &&0߳V e QF#c0Jhڛ 13QK2Wǡ}X(bXKz:apФ\F8Gf>:&=t丩^v+ݜ+kJ=,6nI^A$= `?԰ D0 Mo$ $ْL_d_֊Z 7$AX]|t5WۘVglgEqG*4]ezWI;zAE8ٚz{P_X[-nA"X/ \jE}=ݧڰ`Ͷ&/y|еJ78qnWgi\a;L`\0~+D7^`y$tjÂRykTxxDdx/^l,"o͆d25df\zW >u=F(i.u@s0*x3>ONweooC0*Ϋ?P2St<("˲rQ>r^"7xZ4*szb(#ٌuێ~U+pEY(7A!}Dɣc_9_GbNPaR6&¬Ow}Sځ-B0wC_} nd]#] jQ ym)#GSYe׽jb1 rUvoacPt#V.J?L=o1kb~p`M=()Bv~6X!fj3Uze *@\h])!~s`FskKN'ɂ2ƕ'Fԓ@g QU9E,aPrB4vw 57qjQѮmT!y+~ rGk X4i_ޕk0RaduŁT X:7"ܰ4ĊR%̪W鼲|Ҟ-BZ~>)lB%Nh69=%@Ԓ),7FѥFhH0jFϦy>&֎b3i6Jq؋Q|>~vhX )F^!zR=tat7g 򢵮9cOA4![5 Vlc(J;@s7f}`H߫A0 IU9NZtɴD\%}^̔?GR㌰.S݂v51/.ь'/a4PeGڋT 3pߥPlRaQ* g3 28TkJD mez̫֞t޾M=/4{=_!@zI'Hgɼd7doM1M6bƪEX ɻRMtƮ!S5q4?';1'M5:2IMklw'~ʾRp\q&/v?(ԇ|dcpgB}rjҵ:;/v@]#pAh9l&ÀUāSĦ3T']%őePDDM%vYNlw b;܄˭je%%} 5g:xj\涨nT/u _s~ZЈ?6©k!px'ZPҿ.ۂX3_ )(aU8f`}-av V%n@yeV-\'F?rY|V?cӱg+^n/׍ZVhZZJY 63x]RW׽?%~>IKŕ\dzԲfg$ӡĮTovnQ'r2ҙ Fdd_eoo,(e4_0yֆJfI2dխqoE&lYA7.4x%V-!tNxַl5A; |Apފ#4uZyޝGuXgpbSL|уU]w11ދكl;9!mC)cD"@tݽϤPD+܁+T4?DR}JԕqmO!jV=9PꡆoaxJf5CHH^Vx]4ݳk@GN; 5/_ #%Ęfx ]&W==-Pʕ'Md D#0x[ Ba+,chy *GxƎkXpd_$lc慢$]b8-s_~ğ+v0u6ؓ2bVP8ׇ09nCgϿncz9F3ïδr~YA9zzG S{ 'p+f /3J+_hk&7|}h{ݹ@3}e0ҋ "d*T')~Nt0?^a;qzDU%0EkF9Y"ifJ~fTW)QCNj~0a%{p-:$QOOTn_K#j)ļY(.$Um]!ӕF4(8ġզKL=6P#,[msgt\WjASn?{uńȑ-eUrc!OFHK-j$iY hu?I/Dusg54{SrPˣ\l/QA<'Ægpb5{ܒZ{YQF7՝ <9hmCX ?qAYͯ~=l^f!D'hY1F@#/ЄWI 焱O'yD1VUzҗH5aOP ? MT,o䲴k{@K/i_C8~Xj{`*--K{2\f 1Y@b<eyp΂5$é%;_p.ܛ/'o6֓"Po_D#Wպ;\rr=/ `C,Bq $!KdO:QImMߪ;^QWא)TtJ`M8qTjVZ`DtKfԩ#l~ImxF|0Q*ԃC /n4pvBמ[Ƞ>(ELsU69jywHR{Z<:w`}痣*b㤪S2)}6A({Ѥ~t*: z xEUh}P"b{S$˨T%Ȟ:"n-@h_E`c0ڟޫz潼W)R6ryqwU !0v)2לQ#f+X^lF(4dK1z# #JeAӵ w凹]ޮBۓ4us{TS;qtulpfG\1YIur-eη9r{"9գ0%dxCפ@#xAc T5F'`(tDn)w<\Y0@o=6(N'T Kc,M?<50жܛP(ܫ oa{特2 $"{#X VozRkR7~# 盙J\[3tZhcnɰإ+9S!xhy53SDL 1d _bWKۅ*|%-%{Z-^Zu8zmBoxԜ3U 7{vkWSKQKq{?vjN%㑑c#zA5V52z\#_lfuA0;Dj҉#йUWZj?`H?>l/jQP= WCm ?+ydSQn|M0C7mYƅ`Z A'X"&/(ޘ dz'[ȃ 288c %1 |4z4.;,@Bå2m8wB3]-4fRLsŔ_۠Ec6 W[]7];1;ۀ6"㨐*?2;ؒ]3l՝]SjyqwR+va{|De3Q1o YZ