postgresql96-docs-9.6.19-lp152.2.3.1<>,d_6R\/=„*Hȭ)ctO|LqEGu7;ې?ۀd ' I 3<G `}RR R %8R 6R NR S$RdlRzRRDX(8696: 6F. G. RH?hRIPRXUYU \U4R]f|R^Ưb.cdmerfulwuȌRvz 04:|Cpostgresql96-docs9.6.19lp152.2.3.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/postgresql96/html/index.html . Manual pages for the PostgreSQL SQL statements can be found in the postgresql package._6R\lamb05openSUSE Leap 15.2openSUSEPostgreSQLhttp://bugs.opensuse.orgProductivity/Databases/Toolshttps://www.postgresql.org/linuxnoarch y?1)28&>%%%|%A\1U!g( ;420Yr y0u8#,(JrFnv!*DEF1f&@ 04^5{ G&j'8. cL#`=g  $=#`Y8 ICn5%CY!$b:%[Nz+-B'+57Q=xKA(Zr"^ H/ oJ , ,I#0QG 0/97pj(U)k <*@+D#x,1{)g C mM O4? K9d $ l  e< O(y<%%@!1 &D dB#Z%I}%s"Q Y Z(GE A\C + u1h*) B dB6$3!(u Fp1P:=*s,|RL\c,[8,#4(@km /*\ g ?"R0 Df  rP ,.hN+W'1Xp)#"{D,P.0Qts, 2$I- D 8K,g,n:F  A+7 3Z ldRQ2$&ax% 65 4Y[Bn5F5uCRKxyUY &6ZRDp5=WPSP%*J)5{+  [C ]R Qn(/ q)>}~v%'^8 Zb.? v "wٗJE];XR#=o0Jzc$ #b5G >T4O.8#``U,|16F#HnD a<PB:$,XZ1`3:c6V1]_!8qAd#MNy  (Q \ #.%'j1=bV 8pdġ&To\]!}<~-L<'  S  n+ }  2EP2OG` r- F," U =!'#8*J!QT%(I/1P6Df$E*5V37 \3 PN -5c,i'x$Qe=`JzS3,M0.6Fk:[51)dMy5%9{1 "a ;IQ<.CodLU+M5?C x+')$hX mI=C7uY>s3o/_x+!-j*;$z2 =+1v/w!L?6%e;E.I)8w@@"t5 6FH %6, AqsCK$[Y#$&|nG*'^ ( !# F-%a( EH& W /0Y>= m 5<S"_i^<<:.#"%.9##M 4 pqx> %B.Zh+tA1l/s- wV|n)TW.5>FI@iAA큤_6R_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Q_6Qb59149f716e1aae2bd912208157884132df255dfc15d990d2208eaf9c39059a24310bb672abe9012a5e1aefff13d4f57fe91c5a283d63925d29f18e2ca93d2e885b135990a1c8ad7aa982ee613a615d9585ea4e6801be5dba106b236e70c21c77e1496eeac3a41992b300748e0fb08b93c01e14eaba75d0e420d60e8d5ead0f96b24e54ccbdf7e32d8c1840c6fbdc5833af78dc5622033d977957da0f9844550533a3f5beefe4de5fb1ab9b5596622bca4d7d2ff8d8bb605442807d33d9cb2cb23cbd4be3cbcda0c740f9f742baaf1b839d68bc271d5ffd167fdfdcab322898dc66e707f114efa370ce8e3a6a3137714394b5593ea66f170fcf21d7e7a4e1363e0affe11729236b791c56b2f0102feea8744297d4983ee909b49fa1eb420237f2ae3728c7cb0f7597c7c9e7b24fefef471cdbf6790e3db53303c4ecf2fb0537329f74ca0e89d043fbd11fe491e6dbe06e2d8037dec0d725bf38f23ae3169da91894b918c5e8ce1792ae07beb0171b1fcca1945e6f5c6093130477b503169035550c498680c04bdb6542b9dbfcd4ec96df6c470d66a20120c94538f28d6d0290b920fc29552843f19013c4ffaa4c5f8b22ec5483cc44cdaf89a2d417eb7e99432ac660ff9939a661e69f4360f8a71451a81ad78e5b3033617875af1596035f8786c047bcb2cf1bdbb7a89e54df2fc304adc4310ad669c8ae285d72231b3ace517b5b6fb4e9b1baa1c0e6973b2493359c2d0e937f5d9756ca41c2ebbb5488e744f3824353f0bb4e6c01e56f2e49c74adfd7014df004bd3368ce104ade8f1978ab2836418732eeefd6f4062e2f938c75db98d4b953e40de8ff74896f87a1a3f2314a5f7c5b3acf07964d58074d20f703148cec4e316c26945ee5d3d2b347bfb2494a094304a0a4ff9e0f2cc3fad3fb91b030fcb6677dbe57f59ee5d59f60da2d3e1a99abd3469602982fc2bd4bdd3e5c705e3c755cc989d56220c165a99f376ebe7f2e08881b2d305f8a657667af8bd5a908f1eb604b499e00b8dcc0aa360d3fe452508dce7c846f6ecd177582050b6a4f81f3e30dce3555e3b37fa7968569d7fe91b7e22c19ff84f3b4fdc304084468ad6e8cf378521f763bb282ccd62fa631ef86feb72ee4c835ae7803f15977511ff10591eedffdb4133fe209de6c12e4ac5748d952f43a504d772fcc89ef0ad4052a6f2a7e7b4f5f18c794962e143abcb3509c9dd9e7d4721328874a835b40c0950d54de1ba6f213071d2547fa499a3e8108ef65fb1985f8451ad65e226e1bab0be98e35e3487a364570dc6745374af78a258b2786211667fb48999f4894f35c1ed26911b713dc2cef801837db3776455584509e7eaedf33c6e721758de09bd6dd1d74d4b8a0e1f04e20422bf2d7a52ae219bccd7a5df73d80f03b14d90b73be88d2e8dfde0d693913ba78a5cbb6acff05042c1164d91a7f59e2f052cb557d45d0978f225a87e71b6e886918084d75424f3e1f9bd1e6a21acfc17367e7692092297f46bc74840526277d18e2eb3584463814f206a64d616aaaabad636288c2f5cf03ece7a5c7f465d9a215de79aec1ee361a59b29d6e82ea937b31f01e79b7afae3a498669ad0f931d39ba69ed06bec7c614ca75fe637185f7294ee2c43a32210549ff0e45eaec3c719f0a1e90dd74f38f6e883d91bcf5021d0a1e86dace095f21fc58497f3c3898312f291edb9f82b365496d74a23f59c175072d1842334581ca0f4535d23cacdcec8748565370464922daa8750cf4a07fd1cca6f17560139fe68f93825798427fc389dbcc53ecffbd05f0eae4b6b121a8dd17e83950db513d42d96df374371ce652d880e47631b3131207d4c7cb1f2900c67ccedf574f3a91cd28d156530da360f30a7e2e17eeb6e441357d95fd5efb8c538e5c637439dba89c0991752ddf509b6bf63bec83348d2bf63b52b8431726ffadabc8c3d1a29e35441901e47a1158bc4bc23d9e98dac847b8fdf6c26cc30908f0572d043db5e2396459f2aba832c82cf862f5ae57f8f8ff66fe8b9f970ed7e7d8c3c948ea01bdb6c2f51808ede77198ece39e7b75656ebb079477e25d0adc9b53574a0d5bc99151f409c12129947b84302ac9c7223ce30a6a68429b6977736fb1d6cdb2369716e76353d080e3d3294cf284948cd9ee0bf479292fa885c850663d094b1665e5a13cf30f0584226a87331143e23d6684e6e513664d81ede81125464ad20529ee4c45ce907b30053488b90e1c4de644ff4f32d43ffb3e11c3999cf9cac619a651015c06d39a5f3d658b4c46075edd6152d734c0f5648393b79d8f7c9087cb356fa42ee72b8ee1f9126a4bea48df5e0d66b403b267a7f2bd5132d53eb7d0bb7995c6ce9782e54f5cef82853fde68d35db6f8eb17a3e3afde8fe7d99acac81daf31f6738e2747e502071bc5a566184e59ba265616ccd105c4327b4b5b81a02d009d3709907d6d91b56ee5ccf63347b33a63e9a63eb36dab26350a074b3ad6130dfb3c054cc573b8e76d13a0338f42b3d040ceb95753ffd39d16169ea5a194c6902c1a9e3e76e2356e23a91b4504a86c1bbd5f103cd8cc2401ad89d0ab53169fd68957bf4de7a2fa507af6dd4b29dfc9d34997aeef09b588de617d0e0a9b3b6e71c30129420165b598bd062cbf2780daf678599315ffeabd8c54a1e4e036956173c4d9397ca3dab04f064c34f306a1f632a761c5f2fa98de6b09e96fc8fa6239660ed95cb15c2df3acb562b6cdcc63876fbf3d19b89dad485ea57457b79daf0959fe57ea40e5eb2e57bb88413b273a50643fb1409f9cf16088d6de9927d43c90f441cb2bdad879e7dcfe180c70ae36750cff3f332c9461f7b2fe7b894c07ef42afcb0f876a63baa27d6852f88968fc9e4dda0c1954ed68eb9c58c444321d8f2aac51177a5c3e9830b69155ece26048311aee1ee3835c10106f76182263c1551fcb7106e1a77439ea39b07208ed4ef2a223d13164319cb6d4d1efdb267b0df5939c454d81f4597f8e96f4e3c5be41906bcb33ada0bcffa7046dad17042ff8f6878ca48d1e50a4f470d76d4eba8f9a7ec2ab7b87a93dcdc7c22c5c5342807bf4ea6e183b747641fef04e1a0987e21e0996a25b45d7d8554eecd58d1a68e3454056315e3dd4a83d590435cc9e50cc765ec35e8f9958d99a2efda0c08f6db23fb492ad56404c60d059998907c9767fb64b6f1ccedcc36cc7a844cc85bf39a8a3e15a6a428073d46ae1254950f65254ddad5f5c66ed4a6b1c4ea221755180e0bbfd18a0011d013753026b09fa510a7b4df5e28f7c298a4c17305c9556b3fd6ef9c11d4948b20bad803cde3406e14d43b5382b9e53c1d6db41feb6a27647218ac4ecbc9d0fcc331c258eed33ba38edbeec4ebef7e02482509c53d817c0e6bce89a124e68229b11d93d27babe0fe46466417bfe3926f4aa1efbca591272ce0c9cf4438358c96fc167cf179cc9956485ab1cf6718576b48ab13c63cfd9de1c94ceb827fd712b8add586c4a0680e73dfa041f00ec62fe49c422127c83245354cc7f1b74cf93d0a9a1bbdbe85258e6058a307ef67950ba94ce7232970b736145ee69a96fb552958f6ae4f7bd6afde52f5103cd76cd0e08c05aeba27a4b01f634e21c41483fcce979bb1181b6a8c3db667338dcf352b4598bb1c48cd866ad2934d29214d7ea19e2b14f60dbd0bbedfa08e059901edfba8216abedcc8a40b696d331fb0513cf46fa4d6bd6a7796d0b88084e012d0fbfed85e7ece4dd04675abf5125f551dc0bd94c6479afcfc0f8808a2379e2b3f8c1383a846a070af0237bb973d42e3d416c2052ddd563d4df786a560468d4769367d57267800ae6f4073618f5e1be06b02645d57ccbc5fb87ad32173b3584f3ae0addafe9efa49a34e4524a9d55ac0ab25e41220da66e0cf0ec515508b73329cd87514a877fd880f31a6b70513aa59071e0fe83b5adda7abc9afa66697ff009bcfc0a791e6ab224c3605214203eb5443969390904721b573407e613143ca2513d92e5a60c997e955ec3af2873566584ebced08e6e0b26bb7e22ba4b36c61083cbf3e14867383323ce0397367a2519e396f35908c6e5f5f82fc21c48ff098065036967f367e9d2aaa8d3338f0b252a7815fd5f3cd44e2c715f4e70e2c0410fd95c4ac046ccee5005987b3dce0aeef6702419e6d8c61dcca556af609709e1dcb5b355918194ef836a458d5c7e4d1527131ac576379f0f85fcfb4dc8c16bdb57a88ef07d880848fb781774832629090112aaab0dfcd8d3b59a1012a367ecff63e6a30af90fd9ff88b2729e4e2ad5846c2cc0ae20e67262b606011c3e220eec128d74f4c8991b80b67d6419971e7629299502334a2adb27ef8f14a9bfdaaed281c5c6f278ed6116c6c44d1854bc4de57006ceb584da8ac39a098b2bed41994a0b1943f1a7e7d34f489133666226d47a42c41e61d911b0923620a88cddf9fd42e1c7340df59f27b59517d2931d8b3f2ec561e2c12b115add402ded01d014f707f710d37e6667546e50eb68f1c64cab42e9163c438bedcd12b4c645df3aaa39aea56d20a14e3d386b27ec5f8d56fba1bbc51d9a7619691d5acb5d3a5e672e586274be444f4547ce322a2419cfd7221eb369e53e32d49b1bbe536fb6b19982e5d802b3b0b78aa7615399be8a66ffcb5cee48c73b82c585fed1062215343eeb37cd222f297078806a733851fcf504c632a94536ffd0a395c010c040a289cd4de8ad461f680046770f4825912cc8750c3a7bbdf7cb5e4fd1b3e5653a1eea8bae3d7e7e2b820dd8d55723fc8d759ef14f7ae1025a13d3634096679d7a5a68ad23d40926cef5114fc48968aa45ac807b2cd01a1805ac72a05c485a5f701e0c42b4fecdf30ddf51f88b21bfe953631f68ceee9593bc336f159cfbeda0cee072cb4e751f8db2d03448ff38ee782beeffc65210af77df8e6723ee2722440ceb5a0621f422b8eb5a1648cd56fe966e6ba5d178c98b03bea2e443969d6a676a0829ff1e435439f7d10c4beb4cae127f9e959db96ef5d66e7678d6f905c46fdc22939e7397aeb36f759ec23872efa316c88ef428fca9a84b88eefb4dd6eb182ccccd55d77a40743e1dc1e3e27557845d40224074f4c70be91f258c8b02c29ef64f6320a27f6b17ddf413cebb5999dff96f74e541200a033e1530185a3fdcdf4a72f0e280b618aac9b1f142dd31eb3cbb5f1ecfc13bc58d1e9cd1b983c2e9e86009590ed471f1018420a94de4e0dcfb07871009b1f0dd6e52325158739e1f323f2cb6ede3aefc3552b0b6f113c9db5823bf7c03c14b3ab8b6385c2b5458b3d1517ae70d59c4a1b243859943d6e93a5b9a5f2e4912e93ae227a3bdaa59a3d8eab6bb46ca2d725aa53842fb48abed7ca001503caa6a9174689162f0a217bd4e124143eccdbb28cae20d9c0a833cf6fb9a017a6dce83dbf94560f5e23f2ce1bfbc71b84b30956a32ef9f6a5cb1e5e6b1af0edd9c4af65759a9c1ca67584e7823e6f608496f29260d3af0622604a9f4b76689ebcff4379c505414982251ff7e874c1003dfb601659c2073046bb3afb01c73829c033de650a9157aebd5bf5c5747448914bb79d8c4bf5430005e85d42f2ceb70175126a1ab1691cc2ed0b0b3f39737fc5c526490dc238a6111c46463d03ab131e99c391f232cb40be9d4fa49921f85b4be50c2fdefaa2856fc14ecdbfe9f892218a89db17c269e5914eeef2a7b2974bececb6bb0da22afddc34a1ceb41091f1dff575a6f65b8934c97225dce1a2a2e9028b2f39b7fd4a86932f2b8a1e144d74ca411f2850391ae26c535ae2e6ae3db46be9805c0c308def33c96ef0d7516282d80aa72d7628f7fb9bbbdb243f5c0c62a22b3509e5ff9e042a2bdb73b9c70b44eb918f7f5481d48b7a4e15b2a8225df2bc12c715be32f22417e2085ecde654bfb5499c7db5c2a30063cf1120e8ae61a45098b22a6d8ac8f2ba5d1dae545456d5896b17754b4e016616f0b9e43b0b5a91413721b24892a097daa9ecbd69b022786ccdfedcc980d4eb87c534bff89f3843c8e3515909cec3dc6bfd3aa8cf3a439b23d6f3709a7be53b39f3d0d6348634cdad24acbcd61119662032ecded3b199a0e804ecc6c5ae82c981f0572efe0d34f1f32ce2b08f50284a4071f5604bf24ee3fa696243bcf5d220b4fd494578c5136b6e97e0be9da90fd8d7d48d24c97fc5816ccb456e4a15d933ae9dbf1453777438f9f98065a192ad3d884800ec3726d99e4ce7a777e81a2c565cfd810c77a33b03dd2aec5b75a39b99b076c45d4af2313947ad5d83bc6b409f552866a723a626c429478bbd12b70e3a45a95cf60e9374d6276717620243d7992a97f13d0c6618b6ebf4f5c0b196fa352be5def7ef85859b6268b38bb565d52b47fdbfb796fb7439653fbcfb744e47ee400b0752bfed48ec2521cfc57ea7eff77a8384da500a53398551d668fcb51d246841975ab180f184a22418a6d4c797f302b9680771eba543a49ded79582712533a3b8b11afde899213e16b7ea1c0d241676ef2235f453e9d77ab5ab75769e3bfd425846a6185d4525a26731b4977073e6c63f1e3fc6163e1896581610e11e2d21126bc2ca812b8e105f6e11d491e6a97b2d57fad67415b8c89ddfe6c7411bebb8ba43a5dcaad70ed19a8a561e12102c62634cfc89a9af6edc1b18922b052e0b29783cfbe4b43d891ca257b690709bda847a3b2ce38e0209e2eb6237cb5dd9a1138912c580bf9fabdff9f5b5060f532576162381f52ff55cf1a569701a54b254046c8c71381b557ee3c3be28986c3365e212d9d67d32d672d002940736d95840aa9526f16f1ba9c2ee8ee7493fb61490dc5562ff72416755a3d01d5aa2c9a1a8082abad2ee2bcfb6e9e0f1bd3199f5035ceebbb06cccdeb513e1ec761038cc1ad2ce5cd9e3a800c7935b39c6bb2b03014d4456ee4d025b5a8590d732a0402d01d0bbbddae81666efa9cccdb519e1994ff40b5b48da619e2140b21fc87e9d045cb2217220d67693c4c38b1d85d14198b4f111f385220affd7108c85429f780786866ddc8c1f6a495795364a9369c0922a6561baa4291cf9fea130b08bc8331f7cef2b3d6a00428945ad094fbd11412da733f311e02ff33009eb902e179994d812092b7aeae82366d75570eb2e57f59d449e33c6321a7348f2ae3e25248c2ca0cbcb220e7ebe9afcef651e183abbabdea4d96ac46cba9322c55220ffb772c88619916d8f399f6a0fb5ca21eea2e2d066f968acf6ad31507ec949cea3768f897caa774f239a840f702958e81a2c8fabaacb38d8b1ff2970c0a02c40ed4ddcef63578fae9304c7a334b21336a55d72f65587b0670560f41b00fd9de6fdb82ef0d381286a6a7a00b7c5555c277389266e1ddbf699b947e15ca71ef2d21affd7c6958064f0dfb83f27322522004a59e6bda12961fbf2109e900b8c5f1b7c1ee6eba6fd056831cb8b45de9fa3d6443cd70bd5954be9f979d0173045def8b3d05d31d2f7b3f2cd9d0629153b0826c49103c8f433d6d9e6ac5ceea696de0fc1184f3c086e29889e42362a7dda12ce89f4c8b8703f24372298f2eca6f489daaa55cf5c051383c6d74f6907837a0159c20590301a041995ece52d2359d056b703c86ab26105746072d4cfa7b133fd89c5ef52db92705ccbe23367e728aeabe0c836b9dd1dbd94284e88db622c033096267d82eca6ec51f8e59bcad761a6054bc51d758466ec3b9fbca15cfb0a6b32105e181c2531a19e32d83598d6c8c64fe809eb8c5184681eb2713a95e819cc5fd2ff2a01ec627f470e88aaaf6df9ff4c8d6a50116177dfaefa6397457b20f02d78180519fb8d10c461d07bfd19daa9474f40da65efbbadf84fd5a15ae26f223664a7970beac96fb4a907202f8229d94008b85881566de9a9ca959875d0c1a6ba848c48cc3d12fe54ecdf88ffedf26bec40c4a0cfe6254cf81bfe29ebb5e3d508a41010e6b01f3ff45464e5a6b2f8346d652dd318c50158117b52600791360fe60092f8cb7aee5b5a21dfee32e5836d4ed8bef2eeef5205ee59416c2f38ba993a25ee1773a680131aac072702153c419c6b24d4f2cc95fb22bbe25f68606da8837708cf98654446ee7995e068c671401c76a61e14898010a582d05d9de11d5f9d11bb301ea97373a6867a38e189c4d1e12460a0800cda5bc0d4a395df3cad0b879a29c3a4cdebb60912a4e180a8cc2c8afd93fca96254d360da8ab47d638d4383519050a216abce0f8adbc1e469cb555f09938ee97386a5c25497cb36f121ec2e013b5ed5e1f9e3277c2bc9c113f5c85fd049bc93b37b91a2ad20c99f54cc81cd07b63d6f83456ba64bb03fe19848b88c42ece69ef0cd5e069972e5f4ca0619f7942c5db708aeb04d2cec78a45c60d44faff969b55e33f3dc89a5e9ef4513380ff3ca0a5708fbf30206a8f1a317409ca374dd0ebc2cae4bb22d5060ffeded6647eb71b2c527b43647442561ae6b8258b6fb3e2f1173bfda1c3d924050675eb2a0376bcbd1c1b5ed3749d5e656ea601fba29334ff6c9aefe42c42255a90bd3af3880368833bc99fa5b364edab1781a8bef4d5dd13fcce9cfb284f775e2465a28a5590f8689c0397456242b344d4408d8e3a5b6f77fe8ad066713a2e8fb0e334a9218ff3f7d404f5f5dd5bfbf83fb5d19e2fe3fd1450591c435dcce067f0b4ce7a31f32448f4a1e561618ec4813883d833c379fe1b6ed0d552e92b8d9646f4c8d8895373b980bf8be71b002165c83118c78ab3b6768027aaa5496089e346530c8f3d73795f28d5e7ae897c5dee7bb331b94b222fbd2aa4c83efe7d9c9404b0f2a7abe55c4f88de928e9d45a7b438522487b6c83112ef113452cc867ca14dbf03c1482db842837c04d20b8df5188aabb42687abb86abd5816a956c216a4909b10ae39fdfd6cbd31129b6c36a7a54044e10d5524f8f74b0176f7532e0129532c3c95b843fa186fd352980bb3b27d778b546b32d38b9f363bf38dc17e4890ce1ad59bd9a6fe8471206a992b68eb98d9febefa203696a317711159ca0e7c3333341621c22a4bdc22b1700aded15709c2e2bba585aff6d08eb99abd2004797fcf4fd7336effc97907154e60718c7ab6dd56d52b0cd20bcdb8208bc5c6ce8ba6626711a989eb8f73dbba1c8f7df5bc29b728bfaa54e7c317f4ad417351bec5ae7d295b70391773d6745039986e1e0dbf8eba37b792a9a5f82069ce5f1195fbab614506a8c2a00ae85cb8530705556e475540b33bf9f65bcb9d0f4bb7f8e39f50a3241725f76038b98c01e74c7e04bee40e554aab6e94f9774edf2e5dd4c884e7c92afbc20cd8ecd9933c0c24558a7ae92091aa5d1fe0be140f8040b0d22ecd12b5b87be1b0421fff6ddeb794f8f501a5ebd65313687fe83eda3cf7a8b520c008269ae922bf9e747e99431891ad9bb43798c3264066a2b863e81639cbaced671e2622590599bf20bf1b7930bdda2d1b1bb7e3442bacffbd1c49257cb1961242106e3233177c9681ef3fb923a2de06cfcc8cc129238844d9ec098378721fb21863e98ca2c531a4c56e1b49e8790a0c736aa9abb36f1e4e4282f0744e69f516246f0fa39e3167d0b38754d743f1fb6a802384ca5141b953df866cd52cf7b65b38b693d6538eb6e94f98a6787447f174c4a4e9ac502a5fc762e182be4aaa29516f1a52aeeb70a89c93c9233eff506d6993ba06eb9c1087f8523226f44cb27492504652797cb82a34ac855c4b9aa94476814c48134f4ae37e3db18f8b2bddf01a21409cc1791e32af0321ca10eef83c2237ef867f64b359e716390aa931b6db990d2c770ef82d49cd3d3cd7c549548175a3a58a763dba2d85687a6669fda964dce6ed7055faf4bc99ae7658f7971a22557b73319b7a0d26242716d59a35b03c36d1280d272086a6820d36b55eb97dc65ef2d00bdb6e3350a0d5b72a5600b9bf18dd5c15cb73f69c1e8fa18b67ebaa5c34cd30be85057510da318bb89806feab264fa0be40e692176d0a6ce1721ccddd509abdd65dda77867d64319fb5dc9bf36be6d55b86ba820bbd8b3e2ff666ec1d8fa2fe8043c08f737ab8905b58bfa4e9c81f295070d36a1743d7a8082ddbdd4e6dc4b93bb3463d0d670bb1f5be10e8f021d70ab45a6f62f9b5b5ac4bb82209d8859c54ce1f67635cd3bbe57a1be3089719630544910bab1deabde3b60a19a351bedc515403f25edc5373b06aaa04844c91ff22bf4d0e13c6bb811cbda39091ce330e958b3bc2c1e7ed56ff191e1ca38e782fcb05cf34ba0586823fda3b466ce154998ab903c0a9e96dd240f497770cd232af1c2c3c5a1f65d90fabbfde6b926bb69ac35c703c6180523e21f8bd5caf3dab8aca989d546973b4a9b68c111a2ea8acc95e19586a38de6d5a1fada10876fddd15b127c191ceba4b8d93ef7df248ac6796f39cf53b084b743474726f48bb80b3cc2230739c5078375f32b4b8832ba38fe75e38e3e207350a5aacfa1236938e872af0ba0dc4c9894399a67e8101f4396aaf0be3307df503349bfd758ef8161d6aeb1abfdf8fad1cfc1990525d76964cfae13a161ab32e1bb8e373188009b7332b4efe36263071d452aeb4f180a84b4f31382d26af99051c0cb3a47d7d6996bbe091248551e08461bffe2c7d485d8a51868b2ff716eee908ba9d3b5350e7dd12b414da3bbe278075236d4d501f5810c0f423a4fc73d324cf819158f430021cae69a2bac6afbcf0789d6a73dd34bfbe752bbe1c0e0f3002e895dfbbe99ebc7d2c21ccd0f32818d23413c4efb7d1e7524218a1638197f20365a43fbf87b92b97c4d23ddf6966d0ad6b1f32e65ae0f36f4164d5f43273ab597aadc5b38c61af2080d334ee019857c679723329eae164fea1d5c241e5457882b9f173f5f2b949371057dbccab2e4466fd34a89ff666fd5f9cb66b6f812943f4e1f9d090c969a528a26e6326453b8f5dcde15be7864c581853f19aa83fcad62979e3717b805d3e9e6691ff965ecfa56182aef0afbe8de30e0cfb0ff473e20acd8251072d93449f9fd2eceb24dd06b5fe0efc2966c6d5d38729b437c2c5dc211717497134d615a36079b22a8c09124f21a621686e2c6aea08e42fead2b20914b675f99e4a64dafcf0d0f3f9ad11a089cb7cb74dba62e5e7f6c026ad73d02426fe2484e45a46a13accf86c637303a33303845f7540f04db088e2627584f2c8084244e7fd36bfd787688b09d96d61c311aee1ea6de8bab8d2056d506b401600de6b6e7fdb09c3afd2bfadfefb12c5da314d117cfb9ac73b2c64e63b61e334a7e60cd9bea8c9ef7b92b138496cb3e9a2063f7937217cc8a9e46bdb4147f100910ec2eaae00be83bf9f4d8a533ea1ddabf0ce74558838f08c0415711cd8c1f2a05f404eeac12ac07c045254cb22d36fd8e687d48af8bbefb7a6d5493f5abd382dd6bec94f3894eb90daa8f9690956c7c77efd5716c40c11e7e1de0193299b1ae25e30af0db0c6b60dadfd9449c2e066b59fd169c0e6a4d756b99b88028e6e1d3fc7c909b411672c9bddbcd8d92cb63dd94055072d58092f20b4919d572ef0a28cc91de06cd32c3b8079599a71a266665b7628b7cf2c2061b21f6db0ba7862fd9043d47d7822dfc0ca8503f5ce470b09194b71dcdf1fdcc8a51ff0e0cdd40a8395dfce04b3143e96697791c98fd335e3c92f9a5e053ca3d0f2a43720f5276e6df8f6ff708a46880b285ee6350a23c81c92753f9198366a641ffd71ef5d6871adf65a83194046c2a33a1806ddf5b97d357fb3a5e0225c44aaedb478ae64800c6c49a121f70d9fee98b7666fa0af6df890fb920be30a804c64138d7b299a943e66f6cd9de1e5ca40d9ff6f379b612cd3051e2f66fd5ebc4d31c785518381af1f9f38ce82104b24db884c52e095bdd3459fbf3ade3437f1647f1f5d46ce252d81909463fa10e1642cca3b9761ab123ed8ad3a1bb402314837e1a880deeafc8dad0a81f7a5c1595e1a3cbb2cf9f23132e68028c047ea4b06e8312ddb7d413596de6509795b340ba2d8c07d16fbc18aab8ce5ccd02273d8833b38666a509f3755537315a62d39331a7c0de7579b1b588cd78c30980badfe6f626d87c13baed00bdf6596adcf00c5d1e97aab93f727e29a81e43d5f8822d99cfa72d877efc8fb238509fda2c4c4ac1161cbefb907f2242b66fc5539dd2ae20daabe8c432a8f6becfdddc022ceb1544c11bdab546c32624ce636fd4d0d22ce7f10c7b78a69388d34272a0f2bcea6f2252bf0aaaa2f8d5e16c5cd547e80d5f7cfc79fe74d912d0bfd8d91f0d27571a35420e58208eb199dbbab5f342db0857c10bf422e72573202a448883c7677e41592d1f58d44ff59f61ef6d563cff3209f89fc19f0f00650619140362153190f70ee2d1891b0000adcc32dd37f4508dd55fdaec3eb9a0056701c5d444ab481b0d50320bddfa71026ee080cf19c19c34858658097815f347a17364f8c43917ca4f0c44d552a6634519a81a18901caac8543ae321a275f278b0a2e87e7f6e5995b81b9832b9494bc0eeab8e1d43d89c38200280158f97b3653594709638ba6d3a19567693e7ef38edca849c2f335b2ff1ed6c9693eb16e9f85d09cb1b195f60f25a5c9e5a570d8f0e1937f1a137b62f81e8750dcfcb3c7605d945e2864d587230c191f187ad5a9b789d888cea285b95d493a915501e00cbb49a0e07695ec034a161467f6e252528fc297cb648a894b2232473cbd5801ab42819ac2160aaacf4fae73a74d2b2e785dd716f7c5d5563ed15cbd68ef8bd9760ce41277992d9831e9cb88a9caf82fd3d5069983c503acc24dad98553354d0c5b81c12cd4cde1aad70538ac36f45bbc3fef8f51f161f50203435bc50192f814b5137d346f4e5b9b70650cffecfa4e5457ad0b09f9db93531401c5e05d1f940dfcd20dc08668c7ed364e14033ce3c8daf9c56fa17370bb6b6f734e038e3192a395d0f2179e7259e1365ca650e21aff7de12ea7987297b54b0d9e82d7a455ff06a253cdb47b8a61d94a1c73a679885db5798e60c20e528323d8cd1baadbc61f4dd7332384a939b68f7f830c0c62d9d32978c715a7d4f62355873d713a7c01d5ebd6b7981d3087268f9da5da55c22faac4ffa22ede1ee09770ea50a7a9edbd86d7b2151a889e6bee708e07a0ddb9a208396277d20ed14b23b31b8708a47a20536453e9e8606b44ca7ceb952444310efd47e5a5ef877a3e3b734b644e9f77a5bb5fb96208822ba5f0718cc800787554326ef41ae611afb6bbbc5c18bcb846e2dfc06ced761d66282a6e460712688f015451f888684bd5cb664653989fb755d4a12b91bd34f0020d5e1a293aa37d5317d88cd38d061982854ddebf5cebd008ef06e41384be17849870c21026c0c0e4ca8775c63b99a32b334c358211c331d52630df9a704c26a32c78ea0bb4c54e2473f4b2bab71faa836643c590ee861c9df7134988bdb23910d863ed95b1f14f360a402913681c6f1217aa54bbe11e3bb344502131b20ac27060ecfe13a5db5a7bc03050d4796421f571db4144f757e8fbd342e61bbb29b56d6676b28fa0e9e65588de4c08e4d895c2ecaac5086f3a42987a8b791e0a136d1e6e414a3f42af216cc06e9e54ac4ef9439d8ed7c9adab909e19acf8bfd91a96ae463bb81a3f9a462d098f253dd39bb74b84419d42d9ac34db3db87ba3e545f7f663e6182363a839ba74a2bd50ef3182ebab5b4e8c2a12b2d6e3f28c5f92d1627d558a6710fa2a151de51a8abe2ee3b6cef7b0ab892254b36dd2c8d3db7d032ae12dcf534964ceff1b4501f865ff0548672910501bf831405588049ae631203b11de5a7c07c1f8c40d65f53f038fcb864b01f784bc73fa00d6abb5e6289e4f128524e1d961bf6fc14043a623e20e927f53bf6cad77ea079f5ff386ae15b30ef89a98fdbf6cdacf4550fb478c57682b5fb520730382b737216093da25eb9aff343944fb4b3a57e5b364664c24f8499e2643a441e0e3c1427555749ff2101aafa2094e76cc769a8645d1455b5262c17787a238c5870325600244aaad27c0021cece55f0d3b0c266fe522ba1a1b206acf0c0f1ebda48a5fb774edd56075424b26162ec7c7a3a38394757db157ac6098011d29868dd7f1ae0e77b9d3bbfcc9b6f246e86fd598e883bc57a8bb788c2cf1611c93839da0fe702bef0784b782898eefbe7e89b78ca13434353433e898b701f42a7bfd7ff209d7500154468bfccfccaf2d3b29937a4951cedc0bdeac1ad991e2e3c67f63daf03dc2b2e24075223299cf69707d322c44949d33e6740fdd87b3f09c7186c2d130ba49e8a1d5cd656d5f96fab6b66c205667eb1b78fc71f300616cf8e41cd33224886a0fc4c2dc7265e99ad8e2d0387bf109bb259e1a086baca1bcda8a2ac67d43261ce1f23a179938e83b1d854e0b0af81053c8be96af7522c58dfda0c75090d83b2652dcb0ac47c32d605288c19f6504f74abbed88575086303888560f1925cb18b38a8775fdf978344c744aba354f37f8a00a0ced1490bd563ceae3a761a53f0decd76df62858102c7dd8e40c716049e4ceeae1692ddd39a161bda79e0de2b283bc586f072d3b9670a53cd1eda1a23caa522bcbbc26572a956108b12fbbb31d07ddbe971b5bd43fa1567048913d598774e1dd576dda11fd7e30b8863f7968503b62f37db2d496e51d66bb934dce05e0f4cf3ff346ba83ecaf1395329492d1508d5df6bcac3810cec2544c0bca38ed807da94477293da335db00203e3a67057b2681c87594fc495758afdfec2438ae0996a33c3daf4c3f65b083c789d3a88ce18663ec3597ffc39e323af4817c4358aad042c59c0be07711c97e4e0b9c33262212e53b6eabaa625a7ffffe25e8143dda1e7e5cdd1685fa39e9ea4da3f5f96d1c30443f72ffd3c4038bee7c61c0d3d93ef340af80ffa5f89982af2658a60e8a4b5b248ac3accf0a06002cccb93e2480df453f679f5eed2f5f22e8e9aebc7e9d3f9f6f5bbbd868cbd8a88f931ec8dc154c20e8e56d46d2eb52fc00e6452b15e77af918314963b8fb4e5181de583e99a3d6fd8b44e245b420dfb9b9dafa4af3034c6c118c438a8ca219b22f1057a8a5c69e9acc45ca6114b3768f156679fe3b1244d414095625cd85ad9b0dcc06c988230bfeab9d8bcf2d2766eae96c3f74b32b52e1389f8d39248fae0cd99aad5d711562ff88de2bccc8871ed45c2a1df5584312337b26880525690333412e3b4110fd94c3581f2a5c257a33a682643cb90121465b831702cb19e26822aa539dbb1ca4dcaef0f13ccb21f89913469b2d7d80f82156ded82fc4d0b7a4a8857950f53a591ac37ff23fa16d69fbfae4632df2aa12b7352ad881efab73c135f8c2e0e64f16cf8fe3b4cd6aab98c4863703cb5e6f21deec321272cfe364a18ff802d2952bd60b336b5548d79b90074d4266d977a5f13ce218f240d910eadf437b738e205a8aace840f7815e076a05414fc894a0d99b92a4827076209740c09ad666814c793a718e1c35adb4c24cc22f1ac3cf728e1a130648f777e35c90ce4797fa21bd2ba4a73bb48cc252189bb587b5668fee977aa89b2464009f0b7ce3e061967a3192508ea8e83844ac4197e288867a390455d3fde459b024aa96c6ffb20e4d9cff082f2eaa71fa251410f663ff1ffacb8b3a0c4e2b94222831ecf28c9774dafb2c4ea7a52664938dfb377b3d6c20a32d93dd36d5a170bdfd608ff11db3d1ca3e9493edce420c0894a9023bea4148aacee6a10ee5d2f4fd6da9f68d006a07f4904a6ddbe8741a2ddd77d51c25de549bd3dbc4b2eac0cb542b94dfdf718b8e5cd2ed38a1862b6ed03e33edcfcf22d8804fd45cdf31e16d529b849d84a6416689e0dd57584cee18bcc5faa816180fc8ee2bc02e6260230f32849b9b6d573c812a624ab65542ca880535c965d4c2b3c76630ba2e02087e23694668e94a14316621106ae5115d34fbcc5f0b1525e993af5217e954f6e05f0769eab50303d32da1fe968a5913b3cf2cfee0f4eb1e74ab6a89e1d3581c7066c15553747e1b3d1564325173e7a8cfd5c51b253a1575cd70024531aa382b7c02735a64bf528fee27c403e1eed3a987c38dfccf7a614bce84c4eff52ec21d783150e800fc326df40647a8b8a055fd17177241d1700ec5996ca419382cbe96fe0081cf5b363416a56289963c23c2d9de0ad260d4f994344747da05a0c2c8f3a247a39cd5814378b48817bce3c0e1d50b5e218e5333102484f05edbf2319ff9cd4549dad7aecb2d3ccd2e65aee9fe13f2fd9349aecf3f38985a7a39034d052f9d09160ae9e96fa29e263bb826fc34109d6d4c9ffbb4d39494bbf85e7a09f4b462f758ef33f00a19ad3b3fd4a1a21f7894da51e05b2539c1972d4393369a8f378d8df2f571ee0623eacc9b9a52a05cfde456830b6240540fd71fb923f3616975d769e1d9b0f70c1e93d13b12167d6064b0e69d10c4d491a1865cf7bb855cb90fbca78d9a424eacba883e8766ebbf8ab41044b81df228fd3cd87128d562e1f83e398ddd259ac1280c1bcf311a2e2e94c2880a400e10e0a51655a4d995df7d0ddef9bb1e4fb9dcc0d281cb109cfc14d3e5d87364f2790d5b916b4b9930db497d344c488274c9599cccf1967e17343d57176a6afc8534af3a9e9aa7224427f45578b89dbaad0e57170de95a55325b2906e1950441ea16f8d428ece78c62a03399e335d7779bc7fafc1f26814fb6355d31b2df25f3779e2f11f36b19e2d2519bbfe1ba130056e8d76a70c6cdf76d15a44f09523fa9082355ab5cf0c7380531ec2c4c495265cb96f4187535c82c2f898fc61f8f28e1b45655312a92d964a8c8c27b0f487c1a8ba6c8315d1d995c490fa439b5d4a63fe0782ad5bffc4c6ec198a5635d029bcc552386d799bf201833aa45ababcd71f821920117ebfcfa24b9f50435b700e483a3cd5a5a726f9336aa572a691ccc34902e44bc9adb4417e0ef1597df2721a156f1518a0df01ff57e6375b7d1f286ef996a77e8cf73c40c5959877229a302459a3f13c99594ca16073b1622f149b6edfca9c5cdba53b1d2ea7c59ffca1e84102c4a6f8a93fe90d581d56156e4e407dfbba522268bd187de9aa984242f755116825f83d781f3e75d736f5a7a89596bee5214ec8758a752a4ba04d8bfa3f17ef198102e16b81d10f7096f0a3bf668447661c99cf9da24bf6b6ae2f3cba801dcb8fbc798f9d79203ae5e6324be59d4ad261662276c43b4b80e6e73b119df3032dd13e78ff00a88e753b16c256944a11492aec7de2b30883e7ebe53debaf1a14eb9f1a7f8066056ae2687d2e8c6030d6f462f9e2d96b9af3f89f1b0530b5b4d3329b8c54f92bee5a8929e448719b89652d2c2b429c42c580c4267748eee48a5263b6d5632e70df73c91ea23f8992f7cbd4fb93141efb416fc33f0f7423c574fc3265870dedb58219f30f2aaba4f8eb105cb9db5a6f7d086e9ebbefe6507cd66861aaf4fedf0356fb883a6fb5a142708132cf9d47e4a7487faa69631ff25df331baca220e9f2a7df23a03af71dd140db37ba64d6b8b78e6d63d0d53bd772a6d3b1ab35d854f926af2c24cfea048ca1e4007d629f42baf75ccf8b13cdcc01869c81e2f9808e3cb055e66b19e83c33bb859f6e26e1e333710ebbc12d9c82e08c9e6550888b0af13148b2de1d441759e2fc2d2324acd7f489c0fb21134d4c3ec3f0b7675cf5d1f0e67e8d453ff03c5a9c1a55fd1529b36220c264bf27bc4e172206ad3f586e92c147351dbaa60f46b99f36e43208697987cdd460df1d13c9f4e0af4ba073da38a0c02b88f6ac58cbfd530365c7d31361fa361b0622908bfd31fbde6c6bcbcdb2cf9d3f9f9db1b009acc7a570f5b5722cce58427ffe2ca78344ab4247ea04bb4607a8d17415945becd3c1627736929557edab261526e36fc53a0c58425c5d7f09362298390e4ca2f6deb9bf11b1048d065746793844394e9861aeef33b8fd490c1af2c8ee5c90dd921dcd8c520fdda2ad3ccac85e80d43c233bbfaef14e4a35eda2b5424d5fbd8f2bbc0014b5a7b8e76f073bb4738217da322ce0275b7f2188855a3c2620c16ad619164d0772e759a7e2d556ac75f558615842467299a778e959b32f31c7b2d5b4a3ba15af56d811a83bc6fb3157f2d7364e2542f8fbbe3437b14e23b2e506bfd2b94d89eda6f4326bae16d515c2c5567dbd99d4134a6184dadae10d8da33b9cae1deda1f79a80cc701ad6e9dc4c347ba9d7e3f1692c31814d7036de77a209d00d089e234ec9c0583245b3814071a8db2a928c63ce9ae490e5c935f4441c914cc252566762f37ff6e152333c0fa841d233d7927e07df5dabffd9dda0a3663c2acd56615cfb4820b5d8e532628536c8a866004c287c8297a5b90fc04c455ece426fdee21e676351a7d15c23817d7163cb203d5fb7f6aebbb2d298a66c0e11f55de36996ba6a727d4453df3a622afe396bb80ef7188987066fea902509b64742d0eb2740b4c3ae27733c93aeecc02c45e6fe117e30efa0df048ddee83c56e500c18f28469763593ab22c0506eac873a14ac8e1971474c377a3012ddb5cb31925e56b22294a891a90aa7417a543795cb83fe7314251a2c936063f6fd3f44dcc0b5ae9c1afd61b5f9f9ce0f6e56df587429028e1ca1145e579f4d4cc88eb092fc742558c22acb4c4d2264227f036da7a16519b57afab63f0fe4eaca8eca6eb47f96a84976fbfe6ad5ae527c9216b8425254e1121ee0a7d1f6a05574319d68f997175122cabcd434d867a8eca22847c0888f296bef544709b7eba2efe84be664083cfb6a18cb9538dd4f075c906471da87b5b575806ca353f6746536368ec41764ff88520f3ba83a372c41d4ce950431d23a6a9aa76db36fe2901f59be12ac0f06f7ad6db193bc44fd2e8b22d83757065b16b0d4be67bd37c8d27fa713ca68d73769e9113b04f0421e89df59aa32b5bdd6ac42a692044e3675aef2d1e0b505dd7bebd2725021294256d132cad8030fe105431160de8f809d7af621575fd634cde9e4d9ada4111a4a79fe329b3a0478caab00cae5e1c54e59852f1be8d68d6a2698ca93aade26894e4a965dd6243ffd79dc6a5aa55f5eae45e2a1aff0aac88ff806dbdf4b65c629e3936c67a779a060d203bd7294dba0ee27ba8051f0258806b70e8b060734725fa43813e0f2c6c059035c4e500a6a0e54b5fc02bad8c4c2b266c60553dc825a1dc514a1a9e1901e6e102e8f46eeed37dd89868f6a16289a865aac9bc6bd85d157a808103866b02c2977b3a0d48fd4b31f9805a25bd76c57ddb1a5f260c575538393ead4acf087a279879f359aaab0851a5922994b01fcb56188f91ba0746ac07039ebab9f076b32d64604d7512c9df400d13dcb57241ba0008aebafec6b8dc6f354c26e0b96501fb31a869d8cbc2169e12e1bd1b42a707401c70c4e205e133d95fb4e50869c1338f6760a71cc298f256138a3cc6fc53957f39a4b27a8804b1348932c30dafc45ccc9c64e97405cddae95b14a93ceb56410f797e61e28b81284cbe1b9be9af2f835c5a735d11158e37a9b2cadc5ebcd163b2e643ab29e480dfe6d2c5c1360ed95ca9826557d35ddfc1838249aa2372b641183f3d2befaee85ad63ecb0fae3eebaf3bdc98581d9e9900ae6a640d6d1f21f6eaaa1489d2c65d7218a45a2e80dbb507d5c8037465e0d6e857acfbd2e9c7fde6702acb2884c193d6f5b26c8bc183a4431a21c0dfb247d7e6235f9b9b9f3f93916437569b67ea63b48c940f2dee806f6b0b820ea385fef00f7edaf22e0fdc8a08f8ad16e9484d2a11265bfd6b44bdec51712f25e6fb6efa846e7e85a0c733e226550ae7b77e1f4b89e753560e51e21cd41761e14930c9d7e80b22e27abc6fdefec6e39e7258a46e787922b0cbb4097ef2f385eed228e47a6cbcd642742f9442616ce30124e3f02bf40aba1329e14dc9c4a886da1ed66afd450715deccdc8a6c099b68b0780a810fb107e5d2c28d62595ee7da5761b6598b24692c51687ea3f30020585b39140708e50477523c5e8ab443c99f36ddfc9fc000338f0662512661efaf4922b6d25d8aa916e291c8c4c4c4cc112fdfa4632ec85f27450c3f6b40cdf03dd3ce60899287ca6f823c79140d78f522a218bdb963b7fc8ce0214679370785090f07eb80494b8530f206c95bb55551527f6f59aa542554455733b66c04f5f9c943666aa90c27541fdfdb86742f6b462c7bd159916e6477e19edc75fd6b15059c41b9877316ee2cbaf641727f43f230ef295a55a5d83267576dd0fbfc019cc6bfeb6c670ed78d44db7056e392996d467861adebcdf56fcf47306292d20e566218083ea6dab2a2a6ce05dbb460c5287b22f7fc07253b939c88d82900d3ffa4e67791c051c110e850628d433d235e728abc896daec9f425dc1ff968a6c1e6606afe2cf685711ccde345a8fafebe16667fe1936ebba9a2b341d3cda1750751163cbbf7f6e999ecf629758fa37c30659698a90bc60394f53295cd183739149c8fd1dfa752d3d15dcca17f591bcbe46f8c464f8f40239eca8cc0f3cbab8d44351964df88891707457197f1febf7ec1789883b7f411883c0fe58b7f5c2b6664930434c2b5c17a1063c9c44e6416732828f228c5548a5911b895d0f50f363519e340412896ce28f7e1db0e55b795026518e39df009f2ba845361d5928dac6fabf201f869d42c48dadd36a1deb3034216d12e6bbe31c9f82772bad30be518f6919648028440ed7dfd88b9c4291721d6db172187ca0366049ab0afbb4f71b3c96b4e3c688624607191afd39968a3c1f85b1dc04650cb1c4028c7b72fbdba21eacdd059d45893000282e7b4bc868089a2e2586d5eb17d43fe37631ddb81a3f47c3f8b50c12ec64099c03a676ae60d25f27e9e6fa05167358dd0642288a564ac2c3de0118ba0a5a9328821395d3ce13afb495514495f3a981085b0c784e482cf8db3039bb4a76e2bdbd3bb97ec4e401e5aa274d56910bda59ea09a8050cfc2f733da0725af258547f7b63800a10dc02264fe18f3b9842f2aaa4fe1533580580c84ec36d9b02cc197133c5c9f3f37438a2496b733586ab1c43fce4d6c6a44dfb26fceca55f66440b8ae96873df664836a46b3c5555e755ba7ffc80989fc6eb5b9ba4bfb17c271908eb77a55ec0598fcc5a77bd3e55b06e24bf2c85e3bfb2ce03a9892cb241a9d49b4e0518b5e4f9149d66c258a9ca7594fc41b1086f49c6237839fe6a3de4a7d6773f23b7aaef6a7aee2ac76cdb2f34df35512ae03ea1624f52703212b9be232a27878a5daba0292e5fa67cc0d303a67f9e978f5ac8676bd398113efbf58d1d0a3eef9799be0c9878b81b3712cb04c2c7c1cbbc9233f6f2246f8afa4697bdc9b739fc082380ee92975e7051817082bb913e383198a992c50002d610d38e25986d673bfd1398c35aa61b62ba3724f3acc3f5e650459e1727dd9ed9c7f483bcc76f09bf768ae57d72cec2dddd494ca24cbcc1e05ab9ef34fed17bc76a5f121251d60af5fadfe340c9cb18241eae4604450c922ed953eaa7f1b7358bde16371928afe03007cc14da0407f03838e1927ec8cead36c476f5b4237696fcd90f0931f3cdc4a9f5af482ffdd0239b40ee383d1c4353124e091a4bca26f8d898ff881283eb3248373739457022c991d3605ae1532538e26f7332e0667dbbf0c68db64684fb03edc7aa02e7f6b7581a1dfcb40ba6706474c10d004351813a8e71099e7e3f243d40a8d0f2e0f4f6d9f277ec19582270570f2e558c3afde9632bdb2af00165721df1775cda4ac103760a8cd54bfd36699c187f9e6f7471da5d14f7dfc824ddd324af932f4d38a784bb267bbf1b3d7dd690817885097d11977a3c1bda3e00e09b7262ba8594735e75c488c3e1ad6f38eee9f7c705418f8655c085c39f00b20ba2aa70891d6d174c55746a26312f498e323da5743ec60d0639f6d089047066d7dca3e7640a2094d984c708aabe6b0965860cf9c74de8c74539adb59006adf1e2ea4af52b6ad8dccd896a71e50a351820351e2e61fc41f2d517d99680f3bf90c68297c1d383c8eb73f021e5b478c3b092b0914d7a0a28e1d2572f366ee8c36e6406c8e82ef377f6bc3770434a5321309e9eadd27c82703818dbebf791611998fa7af5e1a2d48ca56558683e5077187585a970c38b8e86e6b2f3afbaf18a8dfd5c74068c427d56172ad53690e52d0617824d71e9e00e2e34b31274ddc414b949adefaa12f0b505f7128263d6991f3cbb1bed0cf9782c4bf0d933b2aecb9f03a37c26b7175e811d709b03f5f240eaa379d579a70095487c4b4aa630d394b3435ac01b50c2abace4680c617a9be4ea9db531eafccf3d7964e30bfbc7474617fa128568efc0230f310d78613899df3f97a6c0e9306b40774c247174a37ee82995fb938e166700b20c7dee42098b6e4c0e323fd34e2bc92971983ddc12bff6e73884ab23c58d91067a2a5d163270efce3a818732f855721e9b75348375800cf6a0c22f1826e4ff4cd1883384c243d0f9be0ebf58a133bf3ecda1bf1e65bf6a93137b556de3d77d20f596fce273211ba905ccd0a27607ed8402cfc45cd4134259b2e5d1c34baac925f982a19c7282a1d7158fb8bb214d793b36d9882cca9ad2f4ccb3d8d6d8c52bd665e06d87c0399e6d237cb7d2dbec21cb5f7f5bed9b51fbfb5aebe7cbb53145c597e6984f40ea63b1367e77451a48e5b9fb9ac23ac86b621878b481ad1d3d2c9fe21cc84d79923e1f16a0d37961e7d6063c0cfb07d5256e6aebdada0711ed4c0b0366c6f1a8df591b8c9e0cef39fe1c94053094dab8e5411b92aec099d500e4cd15f20970e350c04702dbb5aec50766ff385e657a9d0a9bda14bb421c64acaf1532f356c3e94bb3e5c2ef51771c9fceb2546635174af670b54dcc9a507806ce862085df939002e5c5a63a051bca45ba5560a63664a2bdcfbde1bf90d6e6be199436a022aad87c2ed1c2cac43fa396efd54923e3721e4ecfe5586a8711bd82f53f079bc42fbd8ee35b5dd3908d6eecc925d8077ada1b43d1eb69aecf6f66de1fc82aa417d9ca45793a2d96a35b9e0edf76002e8b679fcfeffaedc4319ec166e6e568336e6d9ea5dbb9a188002718aa2eac9ddc9e712ed9f6cbbd78624f333cdeb990e5b4449c8761bf5562fde94678ee997a217dc9842a7f0124bd6e418a5e48242d1676e44899f9131b109e159f487597e1f8697b33a50ccb717f95f9a380c92d2439aec8f1525a4d3270f8402d77db497288647afb7bdeed5b4668afe30953114c0d3cbabb4c7a1c86d9229426f51e3fb1b883d16d21e67fab5e7a937d9c702cc2023da9e3866c16c5bf99e93f73ef4d61fdbd0efc358537964bd39c9030a67518766f5b67543f6a4107d7534fdc28288bae06a4a40e1cf961279f7bd681b71f2f0e62f8efad0055e8a7be31352251c757cfe63d66cddd1abd4ef4a8394dfac885fab3a705350058f37f40c5d69654c6e477d4ce12f75352cd6bdec8060531ad55909df786a0eb0ef5de2bcdc90d4b0303a07c0edc9c081e4d2916a1cd3b5087c380f3da14b472507a59f6941a1dda85a4b8b1337c2b832f26498e1f67c69682a39153b8be13c6746a934d22a947745e958580b1512929322b35809ae575a4f549005a3faaf7512a6943338e335157c615c42c231370b9ed984ed492b212aeda61bc70a765e3581772d10b331ecfaefdb2e322a192656c39ec4379fc11936a50d7a6512dedd6e9a62a5976f98aec1a228aedd374b65d0f9784d09f6f075d09d90d20ca936f5cff558c61372f1212d9a70a477b93a7a7fdb2b014a7d392fd4ef084f1c8a4d9554f58647abdf835f8bfcfc513adac66cb7254870b02e5acd01efdf5df73d815e98ca288ae78e93091e44acd51d763c2735a7ee172f9bb666f04f4fa0ba4eaca837cf13045a2d7d46051cd132609c01ea0afa069c8b0ccd99e2017a2caee4680396ae48b4cd703e5681625e7013c76568e60c18f89439914c435a63ed6579f0dd44d63db5cd03810e9e5c9e03aff722a7dc9aa1df40354d13be190dfb0e7a41936dad60975864bb0ea7cf4593c9e76abf28390ae246f5f6850e7936dc8ae5fdd8dcbe43c93894fcb8d242d5cf8b546df9b3d3270b69a263667ca2e3f8d6bdc8180aafd46a5ef30ece1ad48077212eb248cac6f1ec8b272c970f36e2dbf3cf58d404410595f2dd43b84cebc660873da09163ac7444cfae32a3ed1ee2a10996f1c184074c004cbca96a586cecb28e465f2e937353a399fe8c48e98fa09a3ecfab3ed9b918cfd261d7685a67d146d00fc3a0677c2580ce1739c738caeae87c2e742cfd002bd35557c0fb49eb09696eec04de6ef13e34afd48dcdec582597523c94b4b7c418c6e7e5706a4ab74fdd50a530e2f091088fb2896567b960e226265e88526bce46c77573fd723bef4847ca44228e10cfc0192dc43ba847e412468685afd1d6f5c3a55b385fd75967cf6eae6dff85d151ec247a1b7165756ee6d02491d9750fcc9d2190aa64f1fd2e605aca20891d739da0b61518ff1e644214dd9bf4fdddbc307a41891682e40d604d04f10041f480a97767893de030a7e934d30e808a635e441a0bf21d1d771cd8c622409f3c717b51d5263fcdee932e1adf2f3fd2d5e83e745238f1a8ee747560b51e58a8bc21f1b69f24d88b91352b0dd886086c7d44c793afe2ba3b7997166033ab56851306c16fa7ffb1b3072f5529457245836ca90349666a97bbbdfed28674cf75fc48869812162cd09d2a207faceeba82c2d4be801bd3f7d1bece94b3e6be2098ffe9bec4ad3f80244600cceca490d82b536e193201c1538053e90e949e052b9e093b29f67d5565f544ddc3f188d5b14dbd48295ebfc83263ad5892d11215b20e20cc287cb81a833505aac244d5529466200de0094849a47077aa4a0fcd426ff938e5aaf93dd4287a2022d2cfe452708a86ac62dc01d58247875f7e2fd27b8da228efe1a5c1e7f4e038dd0efdc790a5be225326d1f31b636a04a97d07174e0cdb8c647e8495a466248061619723218d5e149c5071b56b0f9b8ce475c78b1b94531eeabb0e718ffeee355cbfa0f405cdaa342310bd51b163e10a23ff953a7d306b8b0dd065898b8cef458bdee889ac46e91af3ab2d2402901f54bd857be9e39c7ba02508cdaae3f28433b94466c82ebde2787476e06626d89daf8fabec94ce2a42ff5668458e7cd1c93563203ed2c6f82c00bb7b309863b8acfb385da0e865aa6bd985083317009e6a091786d0e8805106b03dd7e4198698648e3d182a13d6e9bfa666d355af3472d7e573ac7535bad5f5e2ebfb482eec5ca94a14ca78cb8c53ae1f9862e5a52eab3f79d894a16f2c6cad456a653516249c2440b179c3a103d6b836e17d14ac355adb44c81f8a20936b422cd1259ae3dd127df5dda1b76fae763d0b4ad167342e6458b7f128acfdfee9e49fa1a9bbf04cbbf97b645e12ad0926c492f1af1c0637ea9c74b80fb74264274f2117d7dcb02331ae0e42b3ae1011e47c9ee02f4b858671e33dd2d1f4e25bc5ef58f0b3950445f023a94d9c8fdf4188526b54c6880bb6baa9f9a5c6a80311cb8cb278b056b4d724233886f97450639930fbd166eb2e78897895b2ccf6f5bc7b120d4a89e369058ae17fe62337548e0230516152030650612e146d2eb77710066f269b5c206c01ad2c753acb31896861834ffcdc82afec3b29c97acb81a19665ba41e0000a181b65f67440708db7bfe2e56b491dcd50468f35bae1b02fe4acdea6ea97b5975481ce77a003397ea67a18418b800319d87a02f34bb42041fbd65fdcece297d8a703dec244d69b7ee9cc71b01f190429f5ec0e6c75e14c62a6219a786e308cd7264377fd6888903209638e787e04c6c4a600202a7e9715ba07ab60669601fe844d2eef6ba552dfe1d81e0afd1c5f6f82bdd28700983eeb1a2573b7fcefd8bb63c07fbbbfcd680698756f09d46e8351120d9152d714f85278b167d2412da7a45ef72a2f99b8370a8e5ded53c48aec2a7b434bcbdd9c94f479cd47f4f8bf889fbf7d8e669d744b076e995fe17c29e37e0f591f2c1713edba11fdcabcad1bd23082a8ff718900ea74f63a8fa0323cb1827211ce3791983054cb6672515b172c65141ed091a6acb5860aadd3e0837dc7b9f044f1468d257a77c7ddd610e6f45625e029ddbe0dbba98ee12d015f8e78b983e5af1864037064902d3f8b24697b48292015685d869fc275f56768ca1ccf35f89ad2a611bd9584842b9ecaef7c1aceeccb41b63ec28b94e4a57238c2ecdc6b170fd21225f72e954fc2af0cd12fc93c4c9d048675b4eeedc42eca762599f84382b8a4bda065793b1524d345c6051cef7a9df1fec86061a90afae2933c51a24e7a3f94dfb7b305ce7ba9e02e3b077eb9570d66f8b4a200920a4b0042786f356cc1820228446d1424aa64ed86de26caba38e0b061722b59f001d2e628763b91c1b2b88b3131523d7b9c80ad5ad181e61adc667d13c0da3d6f2e12462bf5a88513607fb7a2646d1030d2c41227b1721832bb87c2729899f3778068447c1fbe6a83d906006a945265cc8a1d21468b0b661574e5b0afe69fac4e731ceefe3f8864bd1b3a62688f4575464031856aa0263e6d913aad889a83e819e37d8aeb4229c6aa185f443bacbcf0d9c4770e70e5d5ded0f3f3522f3356c293a00aabc689a6f8500b9a46891e16444de208fdce627af2440882924bb362df52f3c0c4a6242cb5fe446e66c5a372f82bca5ff32cc07e36189ecac77b93ad77154b5ae3e181d34ef145503eabcc87d2d428585aa186ce5afca7408d93e967dfbe1f4345bce502eade90370e820cbba9e7a4441dc7f486435e4a0927ed5b3ff2f2c86d5c76a35a0367d29bca8b6eefac3ec58b2c886d92908d4ec370b4ea5aa13979b5978ebdd8aae219f2e0226135c39b8f705e391cfbbe48bbf005ff076c8d091802318b2866a92183c7a71689b25eeac6394cd341071cee1488278bb82a1b4bda8cd306cfc728c58e8c4f332d3b3c0071e1293bb7f0c6570b1c5859de7a286a1466c8b6f189e3e7007ba7205cc94bf11ee52265d0f3add05055ec522f6595bf5b3f9371251f7f0ef2b065e5617f548818905fa54c2d74e68c182ca97ed8521f275f444260562768e5df6e67af9ff61d8718d9a47fdac79c82fb40938a34ec7808ff5d43ce7261cca2b703a0a376876991a26db973f40e4fadd70c294333a60170bc9bed3cd799ab235b0e3f83d543ee611c932e5c499bd9f77c86582b2527d30f948b40c811d60461f608786fb96753cf0ce98cdd403a4fc7be4272492fd5f23e6ec5df30999fba2bfc8fe3cf552d2947329ddc0c849951e0efd2e8b7baadcd08c8cbb84a80bd1ecc139a57f53d76c966a053601e3c1fe18db663d83960a2dbfb35ce3f2a9f50d8290f2378185bf691dd9e0dad25d10aa972f3164d324e03dbd63a7b11bda5e6deb2265c2fd56a0c5bd4764a1bb96660dbb304e6c5097bbb3dbe648c62b5e653d444a92351087ab395bb2f577f8266011bb7005c621659a2b6082bc99783ed37f959d70aeb7ca54717a811f4e10d23b51dc6fcef989e38faebe12f153cb42c5de44bb2a1f596ec0e22923003150299137e23586eff3c33412318cea625933a851957153055f5adb839d46ee5ab05a6aa72aabe232fd4e516eb7676965de8af8a9fa7bd1a64496cba3bdfe09a273e0fff4a66c2f94aa408ca5605879eec043eea5ab21fc52457a780e91167d131175a632e37e66bb54fb2c047a581ab852a5c5c04e390954e1813935bd167c00e4ad23791f159eb9178b842f8419884ea8d882127fdac5a5ea9e347a365c98a3cbf70e05adc3e5d58a4f2d068bcef2df4f19e3791a1bf5429d7cde1c0377d4c1caacf7998aabcd1c424cf76ede7a7010171f49ea27a82650e9222947f3247762b175b6d3a50824ace6c589f4de3d7b2c229796bf79384294c1e110fbd514050e2bf925b76c9194c9aa792de7be674a900d222ee147bb0ba5b078c8aa8cabee41b55c5fdc3454f30aa284968e3f5d4c94a583fd7d5a8d6b4b7e67ab64d514daefc9d4821111ce0730d0302a952079de9da4a8f26bc4a172fa7abc38a78e1e051b22225970ffadd9de8c8d4c5df8daf22a66d942cf0a793daf6fb3582374fd3aff9a495684a13643e9f5fba361a7e8c4b6eeb9c52164dfdebc3f1abe614bbfdc1e27ef481861a5d7e9bde8dc00dd056e34a3991e60c44549b0d151d12ed54d06b25a61508ae8d46bc828ae3ba27a21797f9efae33a89ac8ad1c4f72f4ecb050790e541ebd25a3d1419ab5f16090d29a19bf95dcd1802c6496d8b698455f5f0474d6f5337035bd919ecdd63a05fb3401d2d27a057c7508e0b7c7193f5f31113cfc62c0175e3ef8b4252113414b1b41268dba2a8c5dd28f1c5f8f3cc8edd4746cfb3d8f81b9e125e1b358dcb65636dd31b382455a7ca907a034de77740c127cb773f12cce1cf5c5fb89962d158c1a3d9037b5ffe41c60a7f7f3a03e42a73ec4a67691d81a4742447ac9c349b01fac4d6d0c8d3d7b0f96d35892a5ba55a51f8361316b8a1919234348f709e5e0737b28e38dbb32fe305f272fc00b3e331c0135818ad30efb6d457c883d1a824f8146effe6d470860702b5529d42e2519204341e498ed11b0afe60831f6af040096951db8c930405b1cae3972ab8e41f019c0bc20fdfc410ac77a586a24bf7c1c5c662faa9d93b8bad4680c672ce6bbab61fd4b5f851a2d9560f0419b7954b631f52676ce962925074195fd456108a4e06171ef3f397ff9e4150db22b8550687279b74fb83d065531092a2963087ce937f639d8b7874ddd14e1f92aebb14c34b76b400c475f276753deb8b3acc7ed6fff8bff49eb0fd80430f39d37dfafd1a06278676f3b0171f109726e6dd088dd3c1bf03459499b78239209e0a019191384f50bfca59cf69efaa1b2144f24dd23ed00cbee071a5c7f305198c9c4ba0d2a618f3eafa1fcc1ad9f47a4a7dbbfedd0391c246e31284efe2671512e6335df7d2c0734bfec6acf0025f8fa27ebd333e7a639835fe61e98dfc7136c0d28910ff47a8013048b000954c898181c474e176c48ed829f5ecb8534651c360821e5b28ffedfc47fbadb3098470d77c487250dd40c3943075b126a4efc288f702c69fb313e73ecaeff6ffd12bb8da64510b95cd2fa19a041a2170dfaf26bde5f7559bd296f6850cafb148946107d85fddbaa8c3367af61cfbdad68cfa0f70367b4cd59d139e346596c3118185399f5403936019869856832322056bae73f8cee1601ce9fd3c485cf7875bc5230a94dd9cac91ec837917ca5d30f9b9f4097df9e68f44d04bb9cfd54d09c531534af9533565cd8e72cf4be3a01619b2d2bf3f7ea7015a27364852ea06f7f80b64c05b7e4b1292d67ff1041326a4f0025bdec3b3e6a7546a0022a1b29669b3d817ec9c38783e805a44d95374c955a13daa8132076a858d6dccb9755a0c21d1bae5e685c5b07e3836a910ff8ccc4725e84e5f2396a06d77e04e6e5a8552b82b0325e1443d9d905e4d49691e00dcac73ff20bc6372736c4ff4839e3ca5b87110de9b4eeb3d21845be8a4012c9335a9989ac3116967edb7208125500671c00568ff2db2a67d8cd55ab726c316f21186fe464c899a146866efa496fc3bd3690ad559a7238211307606069dc8fe506865232e0148c3fd76ff5f592c515834a3f81e15fec57e698840ce38be36980b9ccd4691d16597d7b2d3e5c2e9911a4fad5a3e949cfc32b1fffc77f853222748fa5aeef02cb9b318395ff142b27838b89a8ad89df64359cea821275f53292dda4d2e47768063bfb6035980051110500b8023dbfd45b387212be4964d4a97e36c7c13e7f0cb0ff579869d49cd7a4eb6c792d833ed332e42387d62e84cf6963d37b8f86e0b3b770b682b4c7fccc78233c2f7ad1fdf4618b71dbf1f1831c14ad9b24606dca7e5d06c029dd6023513b0d835b1344b6402d656b2ebd7a3416c34ccd7db3eacea551592dadfe928f59c024af2fd5d90e2f47c3b8b8801e5dfaff85437f4278c7dd540ca34e7824f652fa3b5b43f3a7ad195fd781e28d1026b18e7457d694486310bf185acaf12cff184e663dcaaadf19885d3ca9cbb7bbc271ef126a81fc25fdd177391395f76c21fe42dfc7c99fd5585dca88b0b45c850e1715b2793e416e55c35dae7abc7562602feef6a3175713cc410c5f2d54729b4de91450c55b4ba1a71e58d24e5d8835b26eda6a3b98fe410734b36e4774a9502e3a4fa9b53ad19aa622ab4d4f580ad334f073182e4991014f361abcdfc041b2569b120b458ca5292364839813bac947e3dbae8299a713159a42c598caa3cc36dda6daf0007ecbc19810c441ea3de32f899e159a6db94d10a10f1ec13fe3566e83e6a9e023e1d560a43dd8c2f7b859c3d84fc415664c2114b3dc171f4e49bd957aca7713c4955e535c6403052c16d2f19fbcd46b1e1bc9fccfec584ee5a052dc82ae8529c349f9d3468fc494376201b90d2c58ba9bfe0f851a0bc6e0cc09295599fc816f03bb8526eb11e6b9ebf1a699a00c2ab062b1a6892cec7d22f7d5fa14a5888a11621563380f548bbe89ddefc9f748fb95389f61764ea3fb2fe0fb2cfbcefb66cfafb6ee18767f875f13867ab2802a50363a7dc7142104ae68caf1a74befa4494da1edf2bb33566c0bedadc8cd24b4f1c25d47bd2f4fbfea1ffc8344def34ceb96c72851902799d72587c03cc64d90b8e9fa6f82a3fd7bd485b1e2fff640efdf40e6e3f5259296c19fc4a39534171ec7e0e92ce35eeb5435c5c4dbe6c4b3b33922dc844548e0cc7c51c84635f4c68e4a67bc3f0a8a8fe8f98daa58034c4b518f2a62794797c6a960cbcab1d3878a5bcedd8c959e1c092cda5a461a33b932ac07b45e089e7b2e23b74b79178fe166da1fe90e8922cfb25eff3d73b395703623741c66e3c2e0bf93352c7dcff9cd40984458267e0151d91517384150f628c2e5aa8ac62210e97d684f9f088162241d39b14007a0e10fb9e4be1d5d3a4fe8c8c70f2b82e54bc0b42a2c0e77b6aae37a5345c0999f70a2808815bd042c003536b538d832c613560440fcc3512e5ac9667dbf56f26454a19b1bc176fdf1c604e841da04c872895b6ad9b38e3741b126dc8f18328beb0c526b0595dcccc1a737228bd692443dccfbe37142a97235d1be09f1a5958c0be6096101f92a46b7e90d8c97d985638a87d77475dbf8595a29c9793ed5e02b8146befa65e9862f2ec0aca028929cc2bcd20b48f2cab7d1922f6384bb1b52a35bdf92b0960f7c9c00106b58371edb2afc9e9e1bba7964761c05953e2d44d6e1434f5fd077bb0a7565ff64b03248a81265d4baf48800984a076b4d264b7815d561d2f14c1bbd01aa1bd9c401e428f11196305762efbfaaec9b4b00ea444ee32f434e506770c74beaebf9200e356fad4d10c26245bb5368c7b15101bbb9ef0f1858f5eb2c5722b2ee582a1ceb31736eda441de38f575342927a1892b35378cc241511120bb335a2e95dc6cac0ac919a5a30bb788fd09c938aac0877396be30d844dd4a8e19d7ec8987306c5bf672f251c3c41db8319092c364fc078df36e6ff08fccffe5ed9bdf59ccd7a4a78811e3c11f9bc9eda4ffd09228bbe802c73b84221930bc1fd7203fbd05a9b71ad08991390dae4ca812019d100fbc7fdba3536370eca397e37442b6856acd76b28d65d07ab73d1c8fedadef6e4cfa79edbdf26b0243b436cbc746f1f85784c6ed2c3f6d8035fa5e197b3f8db7d6f7deaa28d1f27dd4555cef3333bfaf95475693446fc2d9d3f774bed5989762f3d0603e11b944021ea03cbc137e66bafb9fa31855f1edd7ee4effb1754d550d83732be90876a31d2e4bbbdee0dbd0d5632b33667cfa0791e8a25657012914fa2e2ba286a6846f3dfea0595e8d329925f804000d5e9704ac319d80e5c99a7f940e90dd68a315f1af7c5578f7daba8f973f58fdfe411bcfb7f2b1c925363fc9d5c13b59cedc5558522dad9305fc598a62d521e295f4e8ebe2d94a8335017d708c7887330dff226f66b5d6672954619031f4418809c1cfc8413448ac89541da704348b875f3134225384b8d7a3a328ba465e5de388f10b9c56d0e82f5ced835ed358ddf80cfa8c1c6fa3ceff4842e7346b514b512790765cdc3c47514329dd9d8c929272e73c8c1f27b713be0cb930aa03e514f12ac2a35e993609bb91b5f8cf2e0f5e6bc2d681f3e8d7e75d53f4d79a058589caf9331ce4939b26ce562633a145de54f81b9bbb43e961c0949707f7ed6913170743efc303c6838e5e3065262f923a08ef15f9e2106bb194b23345d240f2719633605e45c28171ea89db6be6ba954c00ffb0fff21171291625c6be6b0e4b7dbb42c2d2608b67e36a8da915a5ae8c92321272df07cefe6beea0d84de914de752a485d8f4d82b8de9efc4914b2c0251b9b3d0cb18916cd77eabbee99c7ebeb340eaea76291101e3bd3e1ebcd0ac1cffd243af1f73f3a1f3f602f32bfa57cab3b80f516cb39a91084ab4cef6d0125376ecadebb96c62cb9a6e7a85679848cf38419561e1ffc84f75af2a3acb7e3d47f85a08bb7f7fe0378dea28e4113f936068f5f6a259c0487197b77403f0cd033ad927dedacfc2739cf8a6a75aae76019e559c5eea93c555f326d946fb29ef44c69dc6444f02211e535d777021c512f59e7efc56c2c25b53cb2fa51989922eb37c640af96b083f1ecbaa3585d7391001f11f945eaef7d289583e91a8c972fbae1148f6925847c4340fce1361596001297efef63c2ec0cbeeadaacf2d0181923def62c8dd2a0280d6eb2fd93e65c78146689fa8fa721b5753996a022b9ad5fccb74d23eb00db7d29f949c4585986025e5f3c5148bf6c7c930c6fcafc37c073c2b075c9dc4cbcde9009eea63c27b1fa08a4b07e3620caef3a410d4d6655cce5a81477c0511f2fa966d18d924a01ca681fc05f068705ab42740df7e4ef3f1ea2a08b9deb9c0d47306f9fd15fd4b1ff0ee407ac93bf99a385456aac8b54e33620e07cb7d42a18f45ec494d8bf05ee209b98681cac458a58a83471d68dc0cacbf8cae1fbe2845b28a40ad6f487c6fa8eb70073ef590bd0dd6c91a789f66f949a17a2129231e47c99fc4bd4e8963203aa6ce8f22ac3120fe6789e3ad651f75bd791a2ebf2f1399bb2296f7afa98429a499ad8f2ba2f43ac1f63c74b6d51444bcedd2b61b7969c8c6fdc4daa3bedef54842b2570cb8c7a2cf98939333fbe011fdc1c595c582b59fbdd9e7f617b918e29cc51c47ba5683b8a981d1571656c1bc40e8b79715ed59368738d7e2b8d4db50e3549941d5a70df3f61210b4c4b8b06c439361fbc6cdb358bd7b78e06222a12825a84784145223891d67ac0d20d8d3139f5659e997fa4917dab78c60fb1220a3cf4ea84a9bddcdd39171bcbbd2d926beb18d0c830ae3431f5a4a37cc5df940e657d982427bbf16f1e123e72f5e02d4badd87964f838302b05e0d38516eff41acccf7907252394647c74975bf36c2c14019dae9e11b842a3626070bb69c8ade761d23e02eccc8d485eadd4dd764b9120104496c0b6389ca55d5e6ad745e35ac5dc300298c222dbb9c10e45f62ab736d1024313ac5d445efb6f969544b1615e4ea1ac0deddae49c42f9e093a9b4797d3933afd0a87fa1a6d8fdf72b888b15ea1ad5e20fc58aa75e8faf5f1bad866cae18dcda3ae9d890dd7e3d47b78ae2e42d8af454673471dbce3db8ea181a1ebc41c611892b7de5c8c31bf7bc54f303d1659f0031994f71eceb9a053033099c9e1ae5b4eb7fd57351b08c2d222ec0b75a88f33d25debfe35f9827fba90541f57cd671846296e3c322db7f538cd6f4fe95560d8fa8aafaf2494f77f0003fe9e0d4fdbff80a8c2888b015ca7a712530a36184fef835e05bdab4ca50288fbaa463a8a479108d37ab34cc455615738b52e68a2724b389a4a2befd839cf94126ed2e89247374def1e2ed0831966ca5d9b481fba4ab824456cbe86f35dea5cb4e2963bc12d3f280a9b45518b1c0f36c4970f4a3e3844a08a8e818c6fe5aaa60c90e5bc1f4b2a78137ddebf985f069c924816c2e664661cf997b8df674f354c31d688dd6e6d049277758f08bbb48b573ec25926c1bf30215207518bc56f12ae4246140bbeb3cefe046b4133a16e558974a428f60d7d73573a72c0c48b4287ccf320062027d035cb0fa28651ea4cd54b7dff838bcdf50224f910e6d93de82f7bfcaca0eb988a642dbf0340b646f31681374cf0f8f4d7aa138ea1e740d87eeb1068c1c24aadb5c29e27b3d660999b1bae40ab194c4dc5917e6f157c527af0e36cb41bf850203798b1bbd50f6cb945eed5b94f1174c9fa210f4bd3d6462090ae22cb6dde42bb7c293f12dc646b354e66cfa7c93ba8e83efefead478ae39f454916d5e09e2c20e529e65f2c9757366fcbdae5aed88cbe25be6c2a9a1bc46efa49363c54ae0a5ea70a61249af6ad3b0fe39549bd9cb0ab96e71e4ac901836f616611fd5f4e89fc983fec7e43b0bbe0931a569ed6e63471e5286a8c151d460afa30d957028ab565ecc52825d3f049db73fdd071ca6b528ee474958c0a0d033b8a1144ecf1887e989ac8d085ffe31aa414d3a2da40e76669a8d444ab76b99dc9cea09f8330e0457a4821025e7fdbff810b92b74e94c40186aec1616a51569a916cdc1f2ddc020129864e18625891b6851f6f3c3351cad8a2434bc6113bc0f45ef6926901c9427cac0294cd821492b03dcad6893c4ad77a0b9914b78619cd397fde038e4069290796d75c39b2de2afe1b460f5c25b9be5db80e38e080a2885e5289b8cf5c88600aba093a746386959ced1e203d00f73f97abca87a23b058ca6d3e004470cb75da7b882b4169629980497ec7c1ec02a58ccb56e17a8e1bb38d8cd6fb4c646e4b4c927ee05b9ce5c40791a4793cbd903d25184f4a755679620c327f834a68edbcdd78b4b79f91c6eeb1840abf001efe85c247b2548508d2e86d8c48ab1699c459693fe1efd28cc6f14aca1fb6dd9476dbc32b44498a372dbb05835a62d59a1e22f17f4a4fd6d528499394fbf116c724c72f2974db1995944f311ca3a0dc6c929aec61d8004c85edd6ef7be3b6b1fdfa8d7f2bf78fd8ff0d43c6f786b8ffffbecf30d7366be586dc808b1df95d52919ed1e060adf2fe40f46bd8f7feacd75f8aefe9cdd2d9695940e760e3967a42d0509eaaf51806188b89d896fd053400318fe3a53e06d053f77124f9b2e2c850260150f6493227bfbdcc1fc85673a1f87faf776db770ebd6bea33fb73fb1f75be6f2a591e8c6b474d443573952e0692edfa70ddd9a965df5109aa9199c4eed197ee3a74c59fb5bc1d99f57e21034b82f813d8076ec469ca0b1e1c6cc4a138ea2160d1b1155058bee0f42300bcfcb638996fd834c7ea29674482413781acc12065ee5b0d59ebe0c0449978d79ff12866ee1f02f1c8ec42654c5e14dc16ef46b15477711479910536b7c7d28ba103dfe6806a0017536feec03bdf73275a5f9271081842c945a5c9fe7a3beffd3339f757568e614db5d58a3f220535fef82057a5bdbe3bf535ef6144c2481cebc92f8dbc7683a946fd9c0511ddb112dec4c31b0c42ad7aeddab5b3d842d86ce7edffd919cc9186d0c6f6c21bceb107a16daa057d3944643df16a1aae51c00a27e18e3c38bb7ea8bf4debe3ccfebd9644088161c7a1ed03f224fb2ac57bd3a06d34d3bde2033c32630d99086de88abbbbeff3785c28cfc8a9b6e34d925f1c1a82b308e032a9c66f529cc68296a669d3ecf9840a40491f5028fd7505d23dfc0c73cd2cf2c3fe8f80835d1e7a2d57b2c163348a5fb25603bed220c02f44a6ecb5a213c1ac8a67b984198d61f5ce2a531e611038c6df4b8ec9a4a903066d0b0acaabbf229e5bf36f0a25a6f11c3b1dd84886d64df45e0d5aae522a393b07d61fa83ce9f084e2aa35aebc9f74db4cdbfe9dd3015acdb7dbdff99bc2e42864674030b42133d280bf281e9d010e28246373b0bb4df5d030d36c6bee3e7247db232e74384778c18a17e93ec9f78dfc1b4c5ada5cd6102a7916add99cb249de26207c305b6d35db220c4c1acf8260de1e41b3c14fc9afa754cdf00834bd94124f7e19d3fb9ae210b8f25ca1407ce5da55f1db270a3190689b50e76cd769593e12f9f4fa26e97c8e3ec48ecda8d09826b4a740e7a7aa68c677db933f4ddd6e8363816d03899efba12c68d56cde79749fb4c5db4fc1a6eb527243fff0cca98343f997d29501c9b1f435e2e756cbb2de26d9e7bbbf1870f067d1144cf7d9f2301e46031427c2f3193edb376b5c7ae7ee61e2313c13ed7d574264489c899c215f1e395f8574efdd98111e9f56b17df5e7673a01ab7c6b04e861c494cbd827626e946f288434d2c3aea014258abcfce94beab317f0624877dd0e482f087ca38c00b0e0ad86fd37176f722dcd75e23039690ad4460f9d394677d1b06e4485a5cb1be406d82b1bffa83b4486ab730be9036b68427ab280c60bc9030c3802bc235fd27df918c3711a32e8a60eacc58049e15fc3b2cfd50c2e8c1bfbf4b37e17aeb25c08862655407404f403fa187dad521a06f3577a992ad37f035bf88646fd47917be99fb53fd880567e1cd47a13bca59b4e798fdb6e30b30e30565633aff1729a98dfa8f843481d8657700477ccdef8cf00373e7e56de87fec1d69b3d5e3f56d8fbdd6ba241de81aee2018317d72234d103688e79344581d0987bedb0c5cd00684c1ab06e9c2e0594585af65a2859d12e150e146994803930fedef2d1ab9a791a8a592db2b148f2fcd95ded227a7f9f1f0b3ce7ed389ae0d2b0cddbce24ef643bd54689059b03e3bd33c332ca7fabb87bc89d28e5e4512e91edb8bbcd53d91ea95c0dd574ebdd46a0c363c42435c2b4276faae0beff18ad3e5ab955e531e8ad8d063b132c96134711f3749ec66fa89de04c608ab41acee5a7a6ac37a0225ab0f0d41829ccd21f42051f0a08b02487a585b638ce33eead2558a0ef4fd08ce5ecbb6eca0ab6ef87bc3fd7036cadd801ddbc591a94d93060e1f2488276cdfae6ba07bc8e27374f34960e3edf507bf2d7df66987aaaee47a66c4046ec9adc93038d4e59f2da8399176e069741c62e3577393752e6b71388b4c35d90a9d461c71621d91fe0dd27933c9df2ba9d1d53f9f2eff02fdbcaea1f344db32157f0553fe777427a9f17b2929c8d6bc91fb33871f646c387d0ffdd75e1a916510bd33c3eda0c62f6fed865ad3f496a3d56fc365a9279adae66f85d46ca293c06c6c24e2909bf5cc58c59e1b593785fe64d50a22578ad81a0d6cf53cefc92557ebdcedb0bb3ac3bb6ce888181eec59247000eed8eae586516dd2040034bb35eb6ed8f1fa05ef8751fc114b3b8d4494575899d659308ebdfdfdd9daf5730f1fd22fc57546bdf4907318e195aaec6689a2f719766ba8d3b8cfac180ee2f8321c65ec74df46c372a0f2fba00571f4e500fec2b2b0b1686fdd98ed5f47bc30bac88feaee8137265c987f7f9857010630c51316f7bde0644748e33f9417a2b847b8f3c26f60829e7d0d970db181bdfdd367a6a3a01094606ee3f128a715e29fb2182b4b350095676aa0086ada2a3cdd26fca8b800c8773f2f178cfce656302a41c5b3fad3df43f928bcac5cacd36ec11485636833407be8ed8f172d3d45774a0245d6b09ce041ae089e9985aca7015ea3884cd0d28378376c4685b1cdfa45608cb7980fbf90d7b511b5b68e3245d80918526fcf4dff89c66217ba082579aa7c0bc066095bac64f1befeaddc79143782e2f6282665f71e94f9f9eae02cf2a5998a34379848b99d944708f9c1afbd8bcbe4d11e52b24fc9ad9a7dfdb513396d6bb7fa3936b0c0ad49a662b7fc06b12e045239302e8868bd9e9ba2d7744f65d1b52c8746bbc4fab4d924078e64e38987ada83ce40491378ad3d635d3b94a381c2dd45174db48b571ce7c0a5f44ebca5c2698a423e39c85e8b7a74dd9d8415c80a40c67d326ac215afaad65fee9711775078d7e368616c49ff733c4c4c948eb910ca9369b0898d061030363640492d6eeb52e8a9c839dab743fcc4f4107d4e577570811c2a3476651e525c7df50cacbceb10ad645e41eefad6fd6236914d87c05785a12c06970842579dc8acad9bba74c9471dd7d0f5be3a8fdc32f11257bb04f7b87c47d41bb95b6c0cea2b6be46f781fb80e94025d17b7b0440e25c13495e3424baad287df6ff1c0d3c6454e77804e7b258a4a82b34bdf30b84717b26b57007af78131caac8f94a1c8cd087337de75b9eb1784c89ab6e67a41256e8a678029d1f454d09a4d722a1bf62118438ea0842491529591102bfe52e0918d2c2c9fb7aed94a33213e2c8a86af84b7fe8095f2657b88a7113fde675c720016a6e8c9948553158bc8fce26c8106127245be6ee74cdc67902bb19baffb51ec0884a3409287af8e1a1c98b81ccf463f081fed44b90b5584c86cb9ce2d1c15cdccaa9a70f57d5acce987350ebbc01374b7b8887ed231f56087fc5781c2671e91c57febf0f2d0f92d88bfa070999a35b56f4ae6e5ecea908fdefac18974f209f126b258e3fd5e75a02c2ade3a47eb3e206d0e40ec3ba1d7527815a320b8299b9d3887392dc7699a7a0e61d513051524dc483190e6c169bd4a5bb046ad15e39b639f13a4052a086b4414531691308de445ba9ffd523bdd45fd05a318cbce0d998e050bec01e1376ea04488af35baa5174828f71c0d05bd64f2906a5b91b80125ec7639664c604bee30aa708330b571fc8eca92465e3ba1f854abfa0e894562a8f3e691cd9a881a75d8c83c79eb94b8fc18439f0f1df773cc9d64c721a7f07eb537bc1318115bb758d3beb92ec5a40471bbe4fa329d40bd94c00f82d83ee4813ab1016659ee2357ccae7de2975536e3d3566cb87c5c8d24fbb50948745c91ca3186ca607c492b92c19da968d9db3a6c9094cac33ea0a659dc9ae5b9730739a380dac36edeee77f67920693fa2d61f584f867cfea1c5e13fec888accf9071a8472f720cc25e594266f874597aab5d3dba6c05b591084cfe93383f4b078a982a1cf7364246a3570af978c4ef26e1db21d2fa737aef183df47a31b2d887a9ede53eed55e1b074fe8b1f3e2085e52ffbce621f92a3ed5bcaf754f7f0ba44a59f970911ecdcf135cc87988065aa7f26dab61b414d80e9983c3060c7da3b23b0a664d0ce6743cbe76dd9f467e5e5e279dfa3ef277a50ce6fdb118f635f31bf2336b891118f963fadb7babed4de27a49d6c58dfee634a9b1e02f0709476f8b2fb98b9803b6d8cec578b7659c4c66364bd5513dcecee71a761f620f62d02d35c34d52fd1bd59057b7ea8fc7f717dd3183ac8152189d6d0c3edc1c1bd8198d117d42f93eac9df971ddf2c8c40be30410e0a3e4e07c0411f9b96a9ac4ed32bb78a71119d5e4287f33d8430d3ebb5f6c152296bc8580accf3da56ece7e01dbac300319c7beff3222acdd04ffbfbbafe8b3fe00b3a4fa140cb62acb66164b45a53bd83d0c56b6eebefa4c10bd8decad9b0629b3eb741556617efb8c947119bc4e7d2688f7ca4e4b3846f824e7c92ee907b3fece2276e667c2315e54d069451d674485bf31e319c6d2e515f8f51ee4683e15fadb2e4b13516ff7171165752a7bbc470ee7329fbd584cb23f7a27d21e8c2e034ff18ef096865ae5c6dddeef8425095f4c20230afdd325f1c2611fe4cd2abd4c662a30e1552d94282c2ead778405dead76816ba2c4f9954b9c01ba14e130d0999f0210522f0ce82b75154df442b07f92c75d0714eb83b803bafe6f84721dcdf5b103da6bbbbd4fbc1d02782c181641ce3ae700c66dc3f9168e04c2f52d16a807e46453ac31f0283d636f6a6b20ac352ea4b3a3f92702adca2cab3e59f818dccc377484cef6e3743c428191c7d262f30ec8ad16bc1a7884c35d216dc3666f1797276599ddb8b05d6fd5a10dd48c5bb26cfaa179e5be9cb6ab433fe8744b3856b4cada33e26d18305b9a0c3681d3d3aa5339b56339e08cf40a01b39e38b6750e4ce7559fc6254b96e729e2b85ed71f80675dad617eaefe27ac4e4426cd9b5ebcb53dc3be5e2f75e8e556964afda31d7b01cdff3da4aeac297e74d2a5ce9312468926e25b52f588e1de2f29e137eef07165e2aa9d032d0f2e94738d80ed2b57b463fb56a3186449d9be1e37739680699713f32bf41ab8a83df6710e46b106c4e0086955a9c09859ae3ab711f81790379d4df044e8fce27b9ad9f2007c844e366f05728782d87b2d90bf823d1bf1cb232a579b2de19f0e35dba9edb633168790c485d5a4ba05cfa569509a96a36345977eff14ea294594cac4e19688c17c8cdf7bb6ea0729cfef118324fb17f9236065fe0d53bcda63d0de9ccc58733a538bb093d8b0083609484d94a3a2060a7f4c2cf94a70affc714e100a6a3a5e2f54019ae91d790ecb7473ab9ebfd681336c1bd989a35f3ada86bc63184463903d35df58307664f1005947a90de8b5710033c9913c7d643dc06a61065fe833059f01b00ae614eafe5ee38f20c506c23e646ea03a476c54e5851308e5241c2148d1fbcacc2b6cb9231829d677e2ea3eb0498b22de611df66487c89dcbe0bf98bf67add0f99a8040ebd152e0fe58b24be07aa8aa63efa8731a962421dfdd7cb34f2f0c0a3d09328c8303be0669e697c5772a728a61b459cbd7e35c1c28e4cb8502683695a3a91e1d4fcad6f35f88ad6dcfe9b6fb76414c04b95078a24f050a4eafe985e5b0fe56f55e5c7eea7026ccef6cad32ef9e33e4a4b31a7c33517908ecf923400278385e329ef66554c327228277f0d4d8a3f34bd4516f72ef7dbcc73bc58019fdafd9c1cc1bc4ed61e9d916b1e1076cc9be5ea230d30654a8cb9ccd39c4aa8ec65f9ddc09c3a627b1522d0ec16accfc1b77c3a99db2b6f7524b355559cfebe5ea35b65058d4640c733b71bd58ba439681a47dda3fc091480d2d2e1ef67a9377d995bf2db7dde27b2ef2aa560293d0cb6f0a647e9a957871e7a019f630adf3cda06ffbba256c817e56e36b7e04b3c37bd80e91f4c4d9e2d36cd6359fa15c1e713fb7c6aec891d81c020be5c525d5e7973c7cce436ffdbac2b4f04ad429dcc6f90521862a5043820d4c9f1f9c231f8473b74e8d122d7e2ae0f7112ebc75ff59a82c1facbe8e139539333e0ec56832f94447fa1d9952e0363edac72953abecac8974725010b4d59a0996ae0b5d43ba9e44b3717742d4261aabd4e1117ee72470da58ad2ea7cbd0fc5008b048f8bc0552802385d7230a12f0a769366f8af6893736568dffd642d1ad30d2f9fff571adb2d1cb3bf465f8f5c38ec4a28736fc9de5eab7eab203df8dd10a21b126786df6f9eb2af391fdaefc45c8b5a6856a8c8ff768de90102907e7b070fc379928c58bcddea88d8feda42520c3199a0ebb2fa4abd44c4c030eb938f27613d3ec3d7bdb60271113995d8f010c98dcc1236c16808f22402df8432190ce504192f928788082b0e703f4dcf3518f0c24588135de7be20345ea6b0fd69f93b0a984836a8f2acf85b29feb2d8c89637e9fd36e3bcfc628c2fc0b48e7dbd532a42fbd716a3dbca6b31ce1be8ca73e429718b827f840fa2a97911dae80daf139421f584e08456970a929bcf6f199ebc9e451a7d014abc9868f43e668ee3b057baeeae576e9e60830da6fbae70c29fbe325f5c0d3de5f9aea34258b979ffcc384a77279830ac7ba295455b74ed0ae9c1b6b09fa1c9baf58f0c3766de3fa837045f9a8ed6a83c43a54a566384b5a3bf3b5a2e742620eb17fec8e0abf1cd11acb7822cd9e733dab43a7ca249a6e8c8eaccc40755e8ebcd34608c8ad5aeda9a11903acd60bb0ee3b7aedb7a9479560c2ff6f040955d6e2425274dc2046560cf6c621f982b32fe22da36a893d8a63a3ce51d0ed00f672629938174e68e66a917075c61434a525931fc1b5535aa4bb6ffaf88c9309c8953faa27ea0dbdd8c603d8459c2d84621e4f51ddb749985d6d9c9ef4873b3bc5e23c689ff22ce13dba8939b306be37d020b122ca874a8636ec8e12d70ff6a51e462e6ddc566814fe705ed3fd54f417c07417ea6ca0e5d4151241c977b055d0d1a6797a46f90a3dee2657b20a0e323690a9f0abe685594ab93746cadbb66ee260437f7d19757894b9a57555d99070078a159aea770127aa1cc8571051bcca94c16d450d4a48e88baf1d1fee34f5f13ea227b4a1e45f4fb42b5db14b8d388ca23b4a266316febefd74751fecbdfa3bd8f82a637148461d0be59fb678321b596c70483d0133d7e3c6189643595dac0b1bb26f998baccd6c357c478f5fda06163a62f4a4cfd5f37013eddaa07f809dcfffd1681dd79c744acea7c7d2db4a9dc77b705b4e0fee4767beaa5c5ee09484c484fbe17201ef77bd8b6a299884b2c59f06f1a260a9c31ab4461f86839c6a7b61c129c64c2bf4c96a195dd28a0f33a442539f77542b1f43305fa9f781de4435fdae7656b56b6465cd0945be9610c17a344c88fc8d6a5f1e172ba2bcbf06f22d40605833a9dc50cea706773dbc05cb8e3411185d57f9eb1ba612735d7b303a89a15be9da5bb887cf7779be7acb3e37c96688f1e61a4f2093abb1138c7d56652a3bf27b978ec6a1c4df3dcfa30320c25554b3a68980ee41d8dbb9e60e2f50b5b9c590b05c75677e4399bf65961186528f2ff6ca20c19c7a7de110bea2fd00d6095e52f6c681658bff76a0efb33e20bc3781f78226a4778055fe0b219c64b94f8115d376dadf979b83557ad91ea807f9428155fbd81d314cca720b3075dc000a0ee0377a33dac27086d0d9dcbcce000c2c3e0e4852a5c9b8de3fea63dc8a4c1a09381cf465008e6f53bec68bcf803f26efdf9c0ad1b05dcf842e97ae21ef76955e92ca24547df2f7dbaaba3eb0b0149a2d2eb8e47dabe4c5876e02e701d18843cd227ccbf4d8f1421928f0569986cc17aa4f6c661fa1b80f72e84aad7e19d613d372a1669bc2ff8d5a67342c06b708427caa4e6105016029d7b69a786afd5e600afbe6c2dfab52ee7cc759ab0ddf23e824ff071e321e4dfb9840f668af68d8754ecf6e8e5f27c26767dcfbb4bd132b8ad1b2ff83c142d584922c8447a6bae1f175aadc396a6d8f185e42838a89880fd8a2757ee267a16235bde3214096ef95eaaa796ca2eac80f62419b64ca0510939121399f3c908a9686e640ef2d6319fc29d427df6f0cbc399137b5c5f9ecb45f1ee115e9b4b3b57b10913781d3f9cc1d92f5cf2798e459e650f6e6fe2f54098c2ca70aa2af8e7e8f41dc9e4777e285b273417d71985fd436dd273198f5aa298681f8fd9f92b2e44ce01485e1ed25e9e7c779e40defd030ba1c567a5d1d4fa2afc9b736b27c93e7bcea1cbefe015bcab995a7de61483a5e032fd5ada70be3c66eef0adbe5f381cde90f65b90e304879e58a8590678085c6e92c0c30a37f3558caede43af6c4ed103f5c62f84a79a372fd5947d8d506c537df0c828c69f12b7c3d0c78be64e03c248f5f4725fc38463dee3c6d68ca92dece56f22241a62075a6083e8cc0467ac6e5ae3e8a7e2ed939f16682c1db3207852f94e32102049f8c82edb52e60176f071b91295e33643c0018fe2588124bb508e5b580cc2a92ef2252c0f9d43881839afceb467d6b44bccc2914575ed87903528dcde45afa3557b3598a0ffe913c2eb4240e73cfda324666f541a5ae2ea7c45ce3794b0aef65aa30e5eac5e9f2ffc67b0a72e9f8fecec94b4ff27ba74f7eb15d560163879fa5bf1ca9a0c1ffd3c56c94003cf0615dd5b2abb3c56ab6606705a719d40e4a4d75452dfa56e375aed3e31574d9042ab9156c3e7534013864255f18dc297c7816208e0e0f5c8012362c842338b2b6addbec8bce0d50bfad2c3b291ed4ca64c1fe0006a4074b5993b617a20ff062d01bde37069138811c6e455970014e0bd565decf5412160961555d806d617848ba0bc18575700d9c259f3085658a9ffb8712a15d92aa48b1097ec56e03f526f467bc8e0302488b420265d7eda2016c2c4543616532b168097f633454e9acb532a591c55d9a33de12d1f24aeb80cab7d28b53380835f93145cd7fe5e71683ba3280331b1fe7c042675e652a69b8b9639b327bc08649c9eae856468c3675a0877f966c3a03fbe3e589625f32a22f8613381d853b3b7a4ecaf8f8fd38668305658171641c0ddd941aac90ce85b9d304cb181acaa26ef3e48c4a8b5e6bec5b2ae989f8112d8f9dec86982efb48d8128cb9bf6e35ccd7c672118948189757a75f29973edf8fc86416af456385158e43d918a69c0b815259ca78b7544183f0272caa40d5f9d9f370bbb80d9d6d41ef47226a560e0d0ee3a1c6d0c682835a63da259ddf7de8ca25f91e440b07d5d7019bf6f372833aab5121e25e194d52837fa036d3a13eee960aac63412deee4583e749fd8a96b0b000530e59dedb7018417b80e437170ab20ea99d9af4b8747b33e06990bad940d5db2d6ce2e4b3428f608ca40185ce81bd2a8783a00ae5863c79454a71f812851a442ad8658d6243c6dc8c60b1c1aa035844a7ad34884370ad1702307615953e7b63267175af66885a8b8d143fab0f360215724c8338f828de470ef9b7a804f9d8960d3b32ba85d3e7a91196de0b2712b6e16779aa4e91de276378c32c1cdc1d833446940680f96befe9a4d0d7c657f5fb90176174a6d7ea2a1978cebf409d96f87eca02df14d1a0964ee30bed5237246198fd7ca723cfa6d646facd450c65d5659ce656439be5fbf09105d1903ede9ec0bc9afadad5a640300132696f50131ab4be7085f4cd04c26eff2b04472ba3d1c57ca5a9a7eef722f52ecfc228065bb3cf8006ad0ad9be4fd206b487e787f7e9b7c3084a0ad3ad2365f6dc334e660825f50c5c0c62bb7c245ea2cd351d1396f72a489771b47f18547999f86bfe5bb82585816784fb820baa5372313aaf1ef8149308eaab1820938938607a5675ad58af0125f89d12c87876c1f5bb9e2ce01477c64b1a1123f6dd15ec3a3ff51fb447e71bea91fd3732be5e6b67d3ea51312893a57ad4409a3b87a77bcaae66d631a87285e79e54b722c7ba203fb19ac4ecefefbe0f5113321afa5e2c8663886c6b94473182e436f12d2b928da339ab1c29436937ff64de4b038d7d45ebd24b883ea9399043232028a87c49c5faecd58c8cfb4909f9f57729e7b6e140361813e4db67ac795f40a65e4600a91af7250be69338c484d3a094a9cb308e435154c0c23c4ecadf3dff031f911bfc024aba0126eafc71aa4c5a393eb2aef46c376dfe3350faa0a78b153bd739376b89789f817a999cd71f9b0224df2f0be2bb3745d3f126dfa718ce1b5457e617df2b43d6bb72b09ffb3f603c0015d9dd7cefadc8a68a8269bdeb4c6918d3b555741763e642c4f9a260f67b3ae82b9ca62ad3f82ae19d99dc5fb5848ea0f22b5305e04291655c091aefe0944c4e5526adb6907f54f4afbfd45aa254e1398dd68fc63bbd6fb6d065e878f3b72a604c1fd5ef1ac0b1b3d93e1816f207ad2ec1ca23379989a58ed11d99adea0dc9edb21c252a49bbfa858d5bdc1a3b246a649bf4c570b40a5305738c0d5ad3e87ae1fbc597e988f845588a73404a789d2e4f54a4934a9f14370580f73d5914a0df1c1c034481511728728584b7c30c5fe315ff647c1ecb085ca6fe11d0162c767cc9528e68bdcdfd752caeacf578523ea660392d2c08d514ffa4e18cee618bdf99e97e67d58a76b28c51b7b76ed589322fa9387ebd4a319d671ebd777abe70b0b61edf108e3ffa97524edeb81efe6e4152d0dd28cad3d635feaf83549903b489d22dc73377f566239593e3c55b93d0c1a2ba790b80ade181ccdecf17ea94334210a8bc0626881e8a353467666fc2d0e1b5c3ebbbe42d69f186eb356e2e75f1f1692d3889f5941100fd37269da62af103c13d8aac55e35fe19c4f838e137e18bbc846ff8d886b05e7e6cc3d9c402c6284286f9deedc25f6bd36c927a0d06818a81ff1c83de9398cc010c6aef1ea17ec6b64f7879de470ab9856ac28b92d2d301e924c11a90440063b6c6e17f73b046be040ace21bdcdfc16875ed847e9ab86304db626c91efcf77ef6cf420ebf731059c5498ebef384b96ebbfd946705adc9520be65b76dc22cb303515e03e2a25db879eb44f7287c05f6d0778f1a1cc0962a7b033c358041a21e3666edb4a7c4462eedc4b64b3ee44ab2b5706c82f82164401181cf3fd65131a8508c7a051d5982166fe36061d5ce35859edbf05cad0e481372cd28b51a8b87e78e6fcdc8e92ab16c5f8fd47d5d61adb92aa7e7b5a3101750087d9b1e1f114ecc3521ea3a30d068e938370dbbea9e3c01bffbca447ddf21b70e24021d588759d9448be7956fccd0e87bcb9c49f2731fd20f3015f04a4271e1fd669755e3f98908bcfd26f3cbdd55f1fc4ea20fdb1929b8db5c54db3aadd11ffafe9db85bbf823494fb0aa25aac3f57195041c1401cc99624796e4625567569c2c120de961e4882d6a8d77cf8d36e16686a06f67e6c3f74204834b3889fda5ad9fbed28747f4da1a7df209654b2f5910ab401911287b543be13b42b1f504d3e931302de91f349d416d8bae6653508c08b7e293a3fe27a8befa982ae5411710055d18c274618f4e70a1527007e6286fc216d3d917905291405125348b6f9f83a975e66bbbee4e5b9c38619aaaec9ef07f77dee2be7fd351c2fd88fb09c02b0a60726add88816864fe640e24c6489e6ce32fea5473a622ac41737ce402478cee1593be120597ae4a51f4dd776785b4f5dc7fabf88656aca4d82050686cd5eb9c4f446a70ccc3cda33c02b839a5a6c9ecbd2a31b9a64997114d1b1b9a234f5790becd9a59e5e9b1564e96798d623af42462646ca44f0a7111b59265e3042a462330fdf5b642e8fbb2aff78b0a2988d2828fb371dad9d04a774080eb0c8c0e229483c586005c8ac8dd7406b46aa431c460b540f595ba2f01936bac433b648cafb7de3c49a650f1a9f1bb14b263424c0820e7992536b1a33c8689774fcde9848a07143456da445bef667df0fbe8d19633025a8415381ceb21e0fe51294727f4f52bffb14b609a244c20231b4db7efe3bd03d7de043a3d8842201969935bcae4ef6bdd3c7f1224e64e4d5c8ea279d2d4f552efb7135f2d1d1625ff6503139837c3c689e99c7b985e5ec61934aeb1e08a4798f4d0d4db5521d87679a6df49029d24728ed762c3491c65a5b913b07f8bd912e1b6651ed0be3e2ffd7570024628f5c9d4e16706f6c36c26a64cce488b7332161fc142de3f7ce0337a1e32efcfca353dd60d56420ba504ae7b0fdf4623150d1cf7daca7106c3785b35ce0fff4a37e5d315e7bf211a515535f1c2915a4eb3f0fc0f3195997b0f364dca138b62d4e701c9a17225e66d4fa3dd3b9b34699bf4fe775050f015f1a33d6d8ae86970d5aedb7dad5815c78f7daea7e1631f62036c3a58041004ffe86ef427b19b4485424138824cedaaffd29497853a3ffe53a79b68cc01107689dacfc890443dd4f410d5bac5f3d632a9aa52b5df034e8a62415913883fe714676f44cf9979458f8b9d224270cb5c5fdc04b560f694ed15c5fc329af296d020056cc1a443279c3659f771c617b1f88c4e1c1def3063023e7f243b3e59fb3147c29158aa4af6c2c815d6491649fcc6a95e7e15445c05db86d82992e444e2039d59f5c12fe630ed9d1b7439a568bd9b836bce11510ac0a13e50cfa2bc96945834aeb3e06f90c6412fc743782de560c621d1bf01e556d085a323905ec2777b82f6678fe07cbbb3bc79b7fa6973fb9a1f7f8bf0efb620e1801befc8ed58911ba03ccfc66439428a87a3bddd384791f82f5dad3afebb52f96c4a5623d2613a74e38f7a2131a07bdd4f7c2fa392ce10801ea8193fd03459e8229e130466825bb6987e28b25c80dda1af840ed84cf4af8814a6f387b8031091a812ea09264e98ef1d591e0ee116689b0aaca93ed1ee3dfa335ac38658846e2451bbbba8895ab1cf6fdb06a53851faa34b134e2012faeb49a932ed0b70752aa15287ac7de0d8544baffedfd31a9cd6d6476597dd4388903c5d488a8320b47f9ec6aa73ca58bcbda1dd681ade4619d5da040b5db910d2e43798972dc3e322e42621e92e28dacfa3abbe3a662652aed9156b4e91f401620815fe570d70aeaa4c0d51138ec4223f212c8c85af97582efe8461a88a073c1866f6fdf7a89bebb5f0c9f5e18ebe489b7d0da16ebc4037c08522a27c37ce141b7e25f6cb5b74a33396679a12af867cbcf51b94d5e062d800ee6d180fc6632571acac71b369d9580f45f4018758ee9c70fdd3ed16db436a2729640d96fdcfb96056a66dd9897744d7fefa999be77ce8500baadb3177ef5c083822b30d32f6657ea73387522bc126a3798a49d5f6f84a91bdbdcd58fc1bf9aaae80c69b3ddf237618b87a8b0fdc44f2f5073ac374fa104f37cc9693354f9f3ae55acd6a42cf67443bed35b60582bcb543612aed4b88ce5e635562aa0a1dc116afdb5aac19260cfd3abe9f3cf36babf58b45506ca64bd45d727717de1a28cee84ceca197eed8aee41492179f1751d343685ccb3be5e45dfd506b6392f297eb087e709cd363b6a336bba8eb85c192d4c52371dd6d03e22f9c627f42653417589a7a682b1e8961662cdfb430bd240eeec7fd90e2bf3c551337baac4716240f41ecfeac845f04e0113800dd26bd95be3bc4887fed269da0e0acfc650711165fd0a4a3862661a80e4997a69795905a0e4ade20eac104e96920ddf5a23e56aafd26fe1d0893fb1bf37b9de7f2e5de3d8de95dbdd64c8ace6c32c4f9096e0e964731aed3915318f3bfce700f7cd2a3151db45cd1374103ee081988b974d42b4deaca21e05eac256bc2cbc1c777e56d95fc68af890ad3a9cc385782d1023e3565f6daa7cfef72867acc2447b9933cc2e78b25d4cc589448bc54d5c9114d84b9263c3d5a7428aa3e272b778a2ce15e03044a1f7e47ec27ebb078b8dd04dfe3435196af2e9025cb5a05311376bc5c772aac09b2f9bf16934fa6c57fc39ca7477cd53b49ee90a14b33b1ff7e7d67c03a3a53e2b8343e5c91c42d18137b2deb20fb12dac42486548d8f1f63e068f0fdc00f21dce4d23a2ff0f72ea2e388797590fa8617465ffd4811e6d66eff4107972f398f2fc8ad2eaad3d7d25e5add9e6bfa4ffe96b0c2cc8b6ebfba3551a74c68bc017a4dedb6c5d89f435eea3af47e16d433fe28381d9f47bba55b2a003246ae88fa660f1a64de21df6a33aba7cfe0f4907b3456c47b8c27a955f65bb435a75f804b299a534177c84c639f10caad415b2159b4b1433f78e72cf04fb243e2d47f3af3109bfd37c1e4875828e1bcc9b7f64f3914df58f263223b6cd5645f7818e5b2392990e6046f99669b5f404f1e1715fe3cf30c95ddc499ceeb8214fe85d1c64297a7c6209ae0a5bcdb435c32ca3001702a509285fa66e5f0b3d0e008fd83b342ea10c44d91e797442ff81d87753683f3d42d1e414d30bec86d2d1b40f36127e90205b78243aac80b2329377cdd45cf5b964b3d52edcd476d4288e6c786562de5db6706c943369a3764f15dc8d304083e4df9612b5f1b7dac0a01eba43fe12eeb45d69eb6b4804039f400e6caa3f3d7d79f2e2c7ebffbbe62dd45df2b90cdb76392efc7bdc2e11f0aaa2e617bffc13c252c5e9b398b14d5f867fe41ff21bfffd6dbb743e753c8f2d6fc0aa88ece76e82bbdb65a525151c0b833037bf3a2bb260e43b11edb2519fff91fe387add3538a9cf547cd0eeb4ce289633f39305827bec0a4d5a79cd0f4890f20309abd9167c22020e7358d3132d8013ace36c96f0e908ab544e48e303b7179d40308d6262f8d7ab10f3a7fdbc7f87a4d7ca8c90d1c781588a852f7a22cb5c8511be0da7aa1a072609dacc9033ff4erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpostgresql96-9.6.19-lp152.2.3.1.src.rpmpostgresql-docs-implementationpostgresql96-docs     postgresql-docs-noarchrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)9.63.0.4-14.6.0-14.0-15.2-14.14.1_5+@^@^א^G@^@]]@]QT]D%] \g\~d\s[v[$@[m~@Z@ZZ}@Z&@Z@YZ@Y*@Y@YKY@YJYaY;@YR@X,XYXWWW@WWm W4p@W)@W)@V@VVVZV +U4@U>T@T~TܕTԬT@TY@Reinhard Max Reinhard Max Reinhard Max Marcus Rueckert Lars Vogdt Marcus Rueckert Marcus Rueckert Reinhard Max Martin Liška Marcus Rueckert Reinhard Max Reinhard Max Reinhard Max Reinhard Max Marcus Rueckert max@suse.commax@suse.commrueckert@suse.demax@suse.commrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commrueckert@suse.demrueckert@suse.dedimstar@opensuse.orgmax@suse.comastieger@suse.commrueckert@suse.de13ilya@gmail.commax@suse.commrueckert@suse.defweiss@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commrueckert@suse.dedarin@darins.netdarin@darins.netdarin@darins.net- update to 9.6.19: * CVE-2020-14350, bsc#1175194: Make contrib modules' installation scripts more secure. * https://www.postgresql.org/docs/9.6/release-9-6-19.html - Remove postgresql-regress.patch, it does not apply anymore and it does not seem to be needed anymore. - Pack the /usr/lib/postgresql symlink only into the main package.- Let postgresqlXX conflict with postgresql-noarch < 12.0.1 to get a clean and complete cutover to the new packaging schema.- update to 9.6.18 (bsc#1171924). https://www.postgresql.org/about/news/2038/ https://www.postgresql.org/docs/9.6/release-9-6-18.html - Unify the spec file to work across all current PostgreSQL versions to simplify future maintenance. - Move from the "libs" build flavour to a "mini" package that will only be used inside the build service and not get shipped, to avoid confusion with the debuginfo packages (bsc#1148643).- update to 9.6.17 (CVE-2020-1720, bsc#1163985) https://www.postgresql.org/about/news/2011/ https://www.postgresql.org/docs/9.6/release-9-6-17.html- use and package the sha256 checksum for for source- update to 9.6.16: https://www.postgresql.org/about/news/1994/ https://www.postgresql.org/docs/9.6/release-9-6-16.html- add requires to the devel package for the libs that are returned by pg_config --libs- Update to 9.6.15: * https://www.postgresql.org/about/news/1960/ * https://www.postgresql.org/docs/9.6/release-9-6-15.html * CVE-2019-10208, bsc#1145092: TYPE in pg_temp executes arbitrary SQL during SECURITY DEFINER execution.- Use FAT LTO objects in order to provide proper static library.- Update to 9.6.14: https://www.postgresql.org/docs/9.6/release-9-6-14.html- Update to 9.6.13: * https://www.postgresql.org/docs/9.6/release-9-6-13.html * https://www.postgresql.org/about/news/1939/ * CVE-2019-10130, bsc#1134689: Prevent row-level security policies from being bypassed via selectivity estimators.- Make the server-devel package exclusive across versions.- Update to 9.6.12: * https://www.postgresql.org/docs/9.6/release-9-6-12.html * https://www.postgresql.org/about/news/1920/ * By default, panic instead of retrying after fsync() failure, to avoid possible data corruption. * Numerous other bug fixes. - Overhaul README.SUSE- Update to 9.6.11: * Numerous bug fixes, see the release notes: https://www.postgresql.org/docs/9.6/release-9-6-11.html * Remove unneeded library dependencies from PGXS.- add provides for the new server-devel package that will be introduced in postgresql 11- Update to 9.6.10: https://www.postgresql.org/docs/current/static/release-9-6-10.html * CVE-2018-10915, bsc#1104199: Fix failure to reset libpq's state fully between connection attempts. * CVE-2018-10925, bsc#1104202: Fix INSERT ... ON CONFLICT UPDATE through a view that isn't just SELECT * FROM ...- Update to 9.6.9: https://www.postgresql.org/about/news/1851/ https://www.postgresql.org/docs/current/static/release-9-6-9.html A dump/restore is not required for those running 9.6.X. However, if you use the adminpack extension, you should update it as per the first changelog entry below. Also, if the function marking mistakes mentioned in the second and third changelog entries below affect you, you will want to take steps to correct your database catalogs. * CVE-2018-1115, bsc#1091610: Remove public execute privilege from contrib/adminpack's pg_logfile_rotate() function pg_logfile_rotate() is a deprecated wrapper for the core function pg_rotate_logfile(). When that function was changed to rely on SQL privileges for access control rather than a hard-coded superuser check, pg_logfile_rotate() should have been updated as well, but the need for this was missed. Hence, if adminpack is installed, any user could request a logfile rotation, creating a minor security issue. After installing this update, administrators should update adminpack by performing ALTER EXTENSION adminpack UPDATE in each database in which adminpack is installed. * Fix incorrect volatility markings on a few built-in functions * Fix incorrect parallel-safety markings on a few built-in functions.- Update to PostgreSQL 9.6.8 * https://www.postgresql.org/docs/9.6/static/release-9-6-8.html A dump/restore is not required for those running 9.6.X. However, if you run an installation in which not all users are mutually trusting, or if you maintain an application or extension that is intended for use in arbitrary situations, it is strongly recommended that you read the documentation changes described in the first changelog entry in the link above, and take suitable steps to ensure that your installation or code is secure. Also, the changes described in the second changelog entry in the link above may cause functions used in index expressions or materialized views to fail during auto-analyze, or when reloading from a dump. After upgrading, monitor the server logs for such problems, and fix affected functions. * CVE-2018-1058 bsc#1081925 Uncontrolled search path element in pg_dump and other client applications- Update to PostgreSQL 9.6.7 * https://www.postgresql.org/docs/9.6/static/release-9-6-7.html * CVE-2018-1053, bsc#1077983: Ensure that all temporary files made by pg_upgrade are non-world-readable. * bsc#1079757: Rename pg_rewind's copy_file_range function to avoid conflict with new Linux system call of that name. - Don't %config the symlinks to /etc/alternatives to avoid rpmlint warnings.- Update to version 9.6.6: * https://www.postgresql.org/docs/9.6/static/release-9-6-6.html * Security Issues - CVE-2017-15098, bsc#1067844: Memory disclosure in JSON functions - CVE-2017-15099, bsc#1067841: INSERT ... ON CONFLICT DO UPDATE fails to enforce SELECT privileges Prior to this release, the "INSERT ... ON CONFLICT DO UPDATE" would not check to see if the executing user had permission to perform a "SELECT" on the index performing the conflicting check. Additionally, in a table with row-level security enabled, the "INSERT ... ON CONFLICT DO UPDATE" would not check the SELECT policies for that table before performing the update. This fix ensures that "INSERT ... ON CONFLICT DO UPDATE" checks against table permissions and RLS policies before executing.- port /usr/share/postgresql/install-alternatives usage to the new scheme- Simplify the set of local RPM macros. - Use /usr/share/postgresql/install-alternatives in the respective scriptlets. - Fix the logic around restart on upgrade and stop on removal. We bring the binaries, but we don't own the unit file.- Break a build dependency loop in the server packages that led to bootstrap problems.- Adjust dependencies to the new packaging schema. - Build the libs in 10 rather than 9.6.- Update to version 9.6.5: * https://www.postgresql.org/docs/9.6/static/release-9-6-5.html * Show foreign tables in information_schema.table_privileges view. * Clean up handling of a fatal exit (e.g., due to receipt of SIGTERM) that occurs while trying to execute a ROLLBACK of a failed transaction. * Remove assertion that could trigger during a fatal exit. * Correctly identify columns that are of a range type or domain type over a composite type or domain type being searched for. * Prevent crash when passing fixed-length pass-by-reference data types to parallel worker processe. * Fix crash in pg_restore when using parallel mode and using a list file to select a subset of items to restore. * Change ecpg's parser to allow RETURNING clauses without attached C variables. * Change ecpg's parser to recognize backslash continuation of C preprocessor command lines.- Update to version 9.6.4: * https://www.postgresql.org/docs/9.6/static/release-9-6-4.html * CVE-2017-7547, bsc#1051685: Further restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options. * CVE-2017-7546, bsc#1051684: Disallow empty passwords in all password-based authentication methods. * CVE-2017-7548, bsc#1053259: lo_put() function ignores ACLs.- fix building on sle11 by using krb5-devel again- use multibuild- Replace krb5-devel BuildRequires with pkgconfig(krb5): allow OBS to deliver krb5-mini when applicable.- Update to version 9.6.3: * https://www.postgresql.org/docs/9.6/static/release-9-6-3.html * CVE-2017-7486, bsc#1037624: Restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options. !!! Manual action is needed to fix this in existing databases !!! See upstream release notes for details. * CVE-2017-7485, bsc#1038293: recognize PGREQUIRESSL variable again. * CVE-2017-7484, bsc#1037603: Prevent exposure of statistical information via leaky operators. * Obsoletes postgresql-9.6.2-fix-timezone-tests.patch - Added "Requires: timezone" to Server Package (bsc#973660) - Submit postgresql96 to SLE-12 (bsc#1038474, fate#321481).- fix tests with timezone 2017a postgresql-9.6.2-fix-timezone-tests.patch- upate to 9.6.2 - Build corruption with CREATE INDEX CONCURRENTLY - Fixes for visibility and write-ahead-log stability For the full release notes, see: https://www.postgresql.org/docs/9.6/static/release-9-6-2.html- update to 9.6.1 This release contains a variety of fixes from 9.6.0. For information about new features in the 9.6 major release. For the full release notes, see: https://www.postgresql.org/docs/9.6/static/release-9-6-1.html- Build the libs in 9.6 rather then 9.5.- update to 9.6.0 final For all the details see: https://www.postgresql.org/about/news/1703/ https://wiki.postgresql.org/wiki/NewIn96 https://www.postgresql.org/docs/current/static/release-9-6.html- Update to 9.6beta4: 9.6 Beta 4 includes the security fixes in the 2016-08-11 Security Update, as well as the general bug fixes offered for stable versions. Additionally, it contains fixes for the following beta issues reported since the last beta: * Change minimum max_worker_processes from 1 to 0 * Make array_to_tsvector() sort and de-duplicate the given strings * Fix ts_delete(tsvector, text[]) to cope with duplicate array entries * Fix hard to hit race condition in heapam's tuple locking code * Prevent "snapshot too old" from trying to return pruned TOAST tuples * Make INSERT-from-multiple-VALUES-rows handle targetlist indirection * Do not let PostmasterContext survive into background workers * Add missing casts in information schema * Fix assorted problems in recovery tests * Block interrupts during HandleParallelMessages() * Remove unused arguments from pg_replication_origin_xact_reset function * Correctly handle owned sequences with extensions * Many fixes for tsqueue.c * Eliminate a few more user-visible "cache lookup failed" errors * Teach parser to transform "x IS [NOT] DISTINCT FROM NULL" to a NullTest * Allow functions that return sets of tuples to return simple NULLs * Repair damage done by citext--1.1--1.2.sql * Correctly set up aggregate FILTER expression in partial-aggregation plans This beta also includes many documentation updates and improvements. Due to changes in system catalogs, a pg_upgrade or pg_dump and restore will be required for users migrating databases from earlier betas. Note that some known issues remain unfixed. Before reporting a bug in the beta, please check the Open Items page.- update to 9.6beta3 - This included many more fixes to parallel query: - adding support for TABLESAMPLE - correcting cost data in Gather nodes - check parallel-safety of all appended relations - fix planner issues with initPlans - fix several issues with client_encoding - clean up EXPLAIN output for parallel queries - multiple changes to parallel aggregation internals - Among the other issues addressed were: - add conninfo field to pg_stat_wal_receiver - clear all-frozen visibilitymap status when locking tuples - correctly dump database and tablespace ACLs - avoid invalidating all foreign-join cached plans when user mappings change - fix nested NOT operation cleanup in tsquery - allow IMPORT FOREIGN SCHEMA within pl/pgsql - print a given subplan only once in EXPLAIN - change the GetForeignUpperPaths API - fix several issues in postgres_fdw - added many additional regression tests - many documentation updates and clarifications - multiple translation updates for the docs Due to changes in system catalogs, a pg_upgrade or dump and restore will be required for users migrating databases from earlier betas. This includes a version update to the pg_control tool, making it incompatible with PostgreSQL 9.4 and earlier. This beta also includes patches to many issues shared with earlier versions, which will be updated in an upcoming minor release. Note that some known issues remain unfixed. Before reporting a bug in the beta, please check the Open Items page.- update to 9.6beta2 Our users and contributors reported bugs against 9.6 beta 1, and some of them have been fixed in this release. This includes multiple fixes for failure and performance issues in parallel query. We urge our community to re-test to ensure that these bugs are actually fixed, including: - update most contrib extensions for parallel query - two fixes for pg_trgm (trigram) bugs - rewrite code to estimate join sizes for better performance - correct handling of argument and result datatypes for partial aggregation - fix lazy_scan_heap so that it won't mark pages all-frozen too soon - mark additional functions as parallel-unsafe - check PlaceHolderVars before pushing down a join in postgres_fdw - improve the situation for parallel query versus temp relations - don't generate parallel paths for rels with parallel-restricted outputs - make psql_crosstab plans more stable - finish loose ends for SQL ACCESS METHOD objects, including pg_dump - stop the executor if no more tuples can be sent from worker to leader - several pg_upgrade fixes to support new features - fix regression tests for phrase search - add new snapshot fields to serialize/deserialize functions - measure Bloom index signature-length reloption in bits, not words - many improvements to parallel regression tests - many documentation updates and clarifications - multiple translation updates for the docs Additionally, we've made some user-visible changes to parameters and functions. These may cause dump/restore between beta 1 and beta 2 to generate errors. This includes: - rename max_parallel_degree to max_parallel_workers_per_gather - add integrity-checking functions to pg_visibility - add VACUUM (DISABLE_PAGE_SKIPPING) for emergencies - add pg_truncate_visibility_map function - add min_parallel_relation_size GUC - change default of backend_flush_after GUC to 0 (disabled) Note that some known issues remain unfixed. Before reporting a bug in the beta, please check the Open Items page.- update to 9.6beta1 - Major Features of 9.6 Version 9.6 includes significant changes and exciting enhancements including: - Parallel sequential scans, joins and aggregates - Support for consistent, read-scaling clusters through multiple synchronous standbys and "remote_apply" synchronous commit. - Full text search for phrases - postgres_fdw can now execute sorts, joins, UPDATEs and DELETEs on the remote server - Decreased autovacuum impact on big tables by avoiding "refreezing" old data. - In particular, parallel execution should bring a noticeable increase in performance to supported queries. - Help Test for Bugs As with other major releases, the improvements in PostgreSQL include changes to large amounts of code. We count on you to test the altered version with your workloads and testing tools in order to find bugs and regressions before the release of PostgreSQL 9.6.0. In addition to testing that the new features work as documented, consider testing the following: - Do parallel queries actually improve performance for you? - Can you make parallel queries crash or lose data? - Do our code changes cause PostgreSQL to not function on your platform? - Does improved vacuum freezing safely reduce autovacuum of large tables? - Does phrase search return the results you expect? Version 9.6 Beta 1 also makes changes to the binary backup API. Administrators should test version 9.6 with PostgreSQL backup tools, including pgBackRest, Barman, WAL-E, and other packaged and in-house software. As this is a Beta, minor changes to database behaviors, feature details, and APIs are still possible. Your feedback and testing will help determine the final tweaks on the new features, so test soon. The quality of user testing helps determine when we can make a final release. http://www.postgresql.org/about/news/1668/ http://www.postgresql.org/docs/devel/static/release-9-6.html - refreshed patches to apply cleanly again: postgresql-plperl-keep-rpath.patch postgresql-testsuite-int8.sql.patch postgresql-testsuite-keep-results-file.patch postgresql-var-run-socket.patch - regress part is disabled atm as it causes a buildfailure - also remove static libraries in pglibdir. This release introduced a new file there called pgfeutils.a- Security and bugfix release 9.5.2: (bnc# 978456) This release closes security hole CVE-2016-2193, where a query plan might get reused for more than one ROLE in the same session. This could cause the wrong set of Row Level Security (RLS) policies to be used for the query. The update also fixes CVE-2016-3065, a server crash bug triggered by using pageinspect with BRIN index pages. Since an attacker might be able to expose a few bytes of server memory, this crash is being treated as a security issue. - Fix two bugs in indexed ROW() comparisons - Avoid data loss due to renaming files - Prevent an error in rechecking rows in SELECT FOR UPDATE/SHARE - Fix bugs in multiple json_ and jsonb_ functions - Log lock waits for INSERT ON CONFLICT correctly - Ignore recovery_min_apply_delay until reaching a consistent state - Fix issue with pg_subtrans XID wraparound - Fix assorted bugs in Logical Decoding - Fix planner error with nested security barrier views - Prevent memory leak in GIN indexes - Fix two issues with ispell dictionaries - Avoid a crash on old Windows versions - Skip creating an erroneous delete script in pg_upgrade - Correctly translate empty arrays into PL/Perl - Make PL/Python cope with identifier names - changes from 9.5.1 (bnc# 966435 bnc# 966436 bnc# 978323) This release closes security hole CVE-2016-0773, an issue with regular expression (regex) parsing. Prior code allowed users to pass in expressions which included out-of-range Unicode characters, triggering a backend crash. This issue is critical for PostgreSQL systems with untrusted users or which generate regexes based on user input. The update also fixes CVE-2016-0766, a privilege escalation issue for users of PL/Java. Certain custom configuration settings (GUCS) for PL/Java will now be modifiable only by the database superuser. In addition to the above, many other issues were patched in this release based on bugs reported by our users over the last few months. This includes multiple fixes for new features introduced in version 9.5.0, as well as refactoring of pg_dump to eliminate a number of chronic issues with backing up EXTENSIONs. Among them are: - Fix many issues in pg_dump with specific object types - Prevent over-eager pushdown of HAVING clauses for GROUPING SETS - Fix deparsing error with ON CONFLICT ... WHERE clauses - Fix tableoid errors for postgres_fdw - Prevent floating-point exceptions in pgbench - Make \det search Foreign Table names consistently - Fix quoting of domain constraint names in pg_dump - Prevent putting expanded objects into Const nodes - Allow compile of PL/Java on Windows - Fix "unresolved symbol" errors in PL/Python execution - Allow Python2 and Python3 to be used in the same database - Add support for Python 3.5 in PL/Python - Fix issue with subdirectory creation during initdb - Make pg_ctl report status correctly on Windows - Suppress confusing error when using pg_receivexlog with older servers - Multiple documentation corrections and additions - Fix erroneous hash calculations in gin_extract_jsonb_path() - This update also contains tzdata release 2016a, with updates for Cayman Islands, Metlakatla, Trans-Baikal Territory (Zabaykalsky Krai), and Pakistan. - changes from 9.5.0 A most-requested feature by application developers for several years, "UPSERT" is shorthand for "INSERT, ON CONFLICT UPDATE", allowing new and updated rows to be treated the same. UPSERT simplifies web and mobile application development by enabling the database to handle conflicts between concurrent data changes. This feature also removes the last significant barrier to migrating legacy MySQL applications to PostgreSQL. Developed over the last two years by Heroku programmer Peter Geoghegan, PostgreSQL's implementation of UPSERT is significantly more flexible and powerful than those offered by other relational databases. The new ON CONFLICT clause permits ignoring the new data, or updating different columns or relations in ways which will support complex ETL (Extract, Transform, Load) toolchains for bulk data loading. And, like all of PostgreSQL, it is designed to be absolutely concurrency-safe and to integrate with all other PostgreSQL features, including Logical Replication. PostgreSQL continues to expand database security capabilities with its new Row Level Security (RLS) feature. RLS implements true per-row and per-column data access control which integrates with external label-based security stacks such as SE Linux. PostgreSQL is already known as "the most secure by default." RLS cements its position as the best choice for applications with strong data security requirements, such as compliance with PCI, the European Data Protection Directive, and healthcare data protection standards. RLS is the culmination of five years of security features added to PostgreSQL, including extensive work by KaiGai Kohei of NEC, Stephen Frost of Crunchy Data, and Dean Rasheed. Through it, database administrators can set security "policies" which filter which rows particular users are allowed to update or view. Data security implemented this way is resistant to SQL injection exploits and other application-level security holes. PostgreSQL 9.5 includes multiple new features for bigger databases, and for integrating with other Big Data systems. These features ensure that PostgreSQL continues to have a strong role in the rapidly growing open source Big Data marketplace. Among them are: BRIN Indexing: This new type of index supports creating tiny, but effective indexes for very large, "naturally ordered" tables. For example, tables containing logging data with billions of rows could be indexed and searched in 5% of the time required by standard BTree indexes. Faster Sorts: PostgreSQL now sorts text and NUMERIC data faster, using an algorithm called "abbreviated keys". This makes some queries which need to sort large amounts of data 2X to 12X faster, and can speed up index creation by 20X. CUBE, ROLLUP and GROUPING SETS: These new standard SQL clauses let users produce reports with multiple levels of summarization in one query instead of requiring several. CUBE will also enable tightly integrating PostgreSQL with more Online Analytic Processing (OLAP) reporting tools such as Tableau. Foreign Data Wrappers (FDWs): These already allow using PostgreSQL as a query engine for other Big Data systems such as Hadoop and Cassandra. Version 9.5 adds IMPORT FOREIGN SCHEMA and JOIN pushdown making query connections to external databases both easier to set up and more efficient. TABLESAMPLE: This SQL clause allows grabbing a quick statistical sample of huge tables, without the need for expensive sorting. "The new BRIN index in PostgreSQL 9.5 is a powerful new feature which enables PostgreSQL to manage and index volumes of data that were impractical or impossible in the past. It allows scalability of data and performance beyond what was considered previously attainable with traditional relational databases and makes PostgreSQL a perfect solution for Big Data analytics," said Boyan Botev, Lead Database Administrator, Premier, Inc. http://www.postgresql.org/about/news/1636/ - For the full release notes, see: http://www.postgresql.org/docs/9.5/static/release-9-5.html http://www.postgresql.org/docs/9.5/static/release-9-5-1.html http://www.postgresql.org/docs/9.5/static/release-9-5-2.html - refreshed patches to match new release postgresql-conf.patch postgresql-plperl-keep-rpath.patch postgresql-regress.patch postgresql-testsuite-keep-results-file.patch postgresql-var-run-socket.patch - drop postgresql-testsuite-seclabel-location.patch: the dummy seclabel test is gone- Security and bugfix release 9.4.7: (bnc# 978456) This release closes security hole CVE-2016-2193, where a query plan might get reused for more than one ROLE in the same session. This could cause the wrong set of Row Level Security (RLS) policies to be used for the query. The update also fixes CVE-2016-3065, a server crash bug triggered by using pageinspect with BRIN index pages. Since an attacker might be able to expose a few bytes of server memory, this crash is being treated as a security issue. - Fix two bugs in indexed ROW() comparisons - Avoid data loss due to renaming files - Prevent an error in rechecking rows in SELECT FOR UPDATE/SHARE - Fix bugs in multiple json_ and jsonb_ functions - Log lock waits for INSERT ON CONFLICT correctly - Ignore recovery_min_apply_delay until reaching a consistent state - Fix issue with pg_subtrans XID wraparound - Fix assorted bugs in Logical Decoding - Fix planner error with nested security barrier views - Prevent memory leak in GIN indexes - Fix two issues with ispell dictionaries - Avoid a crash on old Windows versions - Skip creating an erroneous delete script in pg_upgrade - Correctly translate empty arrays into PL/Perl - Make PL/Python cope with identifier names - For the full release notes, see: http://www.postgresql.org/docs/9.4/static/release-9-4-7.html- Security and bugfix release 9.4.6: * *** IMPORTANT *** Users of version 9.4 will need to reindex any jsonb_path_ops indexes they have created, in order to fix a persistent issue with missing index entries. * Fix infinite loops and buffer-overrun problems in regular expressions (CVE-2016-0773, bsc#966436). * Fix regular-expression compiler to handle loops of constraint arcs (CVE-2007-4772). * Prevent certain PL/Java parameters from being set by non-superusers (CVE-2016-0766, bsc#966435). * Fix many issues in pg_dump with specific object types * Prevent over-eager pushdown of HAVING clauses for GROUPING SETS * Fix deparsing error with ON CONFLICT ... WHERE clauses * Fix tableoid errors for postgres_fdw * Prevent floating-point exceptions in pgbench * Make \det search Foreign Table names consistently * Fix quoting of domain constraint names in pg_dump * Prevent putting expanded objects into Const nodes * Allow compile of PL/Java on Windows * Fix "unresolved symbol" errors in PL/Python execution * Allow Python2 and Python3 to be used in the same database * Add support for Python 3.5 in PL/Python * Fix issue with subdirectory creation during initdb * Make pg_ctl report status correctly on Windows * Suppress confusing error when using pg_receivexlog with older servers * Multiple documentation corrections and additions * Fix erroneous hash calculations in gin_extract_jsonb_path() - For the full release notes, see: http://www.postgresql.org/docs/9.4/static/release-9-4-6.html- PL/Perl still needs to be linked with rpath, so that it can find libperl.so at runtime. bsc#578053, postgresql-plperl-keep-rpath.patch- Security and bugfix release 9.4.5: * CVE-2015-5289, bsc#949670: json or jsonb input values constructed from arbitrary user input can crash the PostgreSQL server and cause a denial of service. * CVE-2015-5288, bsc#949669: The crypt() function included with the optional pgCrypto extension could be exploited to read a few additional bytes of memory. No working exploit for this issue has been developed. - For the full release notse, see: http://www.postgresql.org/docs/current/static/release-9-4-5.html - Move systemd related stuff and user creation to postgresql-init. - Remove some obsolete %suse_version conditionals - Adjust build time dependencies. - Fix some more rpmlint warnings. - Relax dependency on libpq to major version.- Make sure that plpgsql.h gets installed, because pldebugger needs it.- Move ~postgres/.bash_profile to postgresql-server to avoid a file conflict between the versioned server packages.- Bring PostgreSQL 9.4 to SLE12 (fate#319049).- Switch from ossp-uuid to libuuid from e2fsprogs. - Re-enable running the test suite during build. - Bugfix release 9.4.4: * Fix possible failure to recover from an inconsistent database state. * Fix rare failure to invalidate relation cache init file. * Avoid deadlock between incoming sessions and CREATE/DROP DATABASE. * Improve planner's cost estimates for semi-joins and anti-joins with inner indexscans - Bugfix release 9.4.3: * Avoid failures while fsync'ing data directory during crash restart. * Fix pg_get_functiondef() to show functions' LEAKPROOF property, if set. * Fix pushJsonbValue() to unpack jbvBinary objects. - Security and bugfix release 9.4.2: * CVE-2015-3165, bsc#931972: Avoid possible crash when client disconnects just before the authentication timeout expires. * CVE-2015-3166, bsc#931973: Consistently check for failure of the *printf() family of functions. * CVE-2015-3167, bsc#931974: In contrib/pgcrypto, uniformly report decryption failures as "Wrong key or corrupt data". * Protect against wraparound of multixact member IDs. - For the full release notse, see: http://www.postgresql.org/docs/9.4/static/release-9-4-2.html http://www.postgresql.org/docs/9.4/static/release-9-4-3.html http://www.postgresql.org/docs/9.4/static/release-9-4-4.html- Align spec file with 9.3 package. - Require systemd only where available and only for the main package. - bnc#888564: Move the server socket from /tmp to /var/run to avoid problems with clients that use PrivateTmp. postgresql-var-run-socket.patch- Switch over to 9.4 by building the libs package and disable it on 9.3. - Remove obsolete patches: * postgresql-sle10-timestamptz.patch * postgresql-plperl.patch- majorversion should only be 9.4- Update to 9.4.1 * Fix buffer overruns in to_char() * Fix buffer overrun in replacement *printf() functions * Fix buffer overruns in contrib/pgcrypto * Fix possible loss of frontend/backend protocol synchronization after an error * Fix information leak via constraint-violation error messages * Lock down regression testing's temporary installations on Windows * Cope with the Windows locale named "Norwegian (Bokmål)" * Fix use-of-already-freed-memory problem in EvalPlanQual processing * Avoid possible deadlock while trying to acquire tuple locks in EvalPlanQual processing * Improve performance of EXPLAIN with large range tables * Fix jsonb Unicode escape processing, and in consequence disallow \u0000 * Fix namespace handling in xpath() * Fix assorted oversights in range-operator selectivity estimation * Revert unintended reduction in maximum size of a GIN index item * Fix query-duration memory leak during repeated GIN index rescans * Fix possible crash when using nonzero gin_fuzzy_search_limit * Assorted fixes for logical decoding * Fix incorrect replay of WAL parameter change records that report changes in the wal_log_hints setting * Change "pgstat wait timeout" warning message to be LOG level, and rephrase it to be more understandable * Warn if OS X's setlocale() starts an unwanted extra thread inside the postmaster * Fix libpq's behavior when /etc/passwd isn't readable * Improve consistency of parsing of psql's special variables * Fix pg_dump to handle comments on event triggers without failing * Allow parallel pg_dump to use --serializable-deferrable * Prevent WAL files created by pg_basebackup -x/-X from being archived again when the standby is promoted * Handle unexpected query results, especially NULLs, safely in contrib/tablefunc's connectby() * Numerous cleanups of warnings from Coverity static code analyzer * Allow CFLAGS from configure's environment to override automatically-supplied CFLAGS * Make pg_regress remove any temporary installation it created upon successful exit * Add CST (China Standard Time) to our lists of timezone abbreviations * Update time zone data files to tzdata release 2015a for DST law changes in Chile and Mexico, plus historical changes in Iceland.- removed %pgbasedir from contrib and server package- Update to 9.4.0 Major enhancements in PostgreSQL 9.4 include: * Add jsonb, a more capable and efficient data type for storing JSON data * Add new SQL command ALTER SYSTEM for changing postgresql.conf configuration file entries * Reduce lock strength for some ALTER TABLE commands * Allow materialized views to be refreshed without blocking concurrent reads * Add support for logical decoding of WAL data, to allow database changes to be streamed out in a customizable format * Allow background worker processes to be dynamically registered, started and terminated * See release notes for a full list of changes: http://www.postgresql.org/docs/9.4/static/release-9-4.htmllamb05 1597395548  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR9.6.19-lp152.2.3.19.6.19-lp152.2.3.1postgresql96htmlLEGALNOTICE.htmlacronyms.htmladmin.htmladminpack.htmlapp-clusterdb.htmlapp-createdb.htmlapp-createlang.htmlapp-createuser.htmlapp-dropdb.htmlapp-droplang.htmlapp-dropuser.htmlapp-ecpg.htmlapp-initdb.htmlapp-pg-ctl.htmlapp-pg-dumpall.htmlapp-pg-isready.htmlapp-pgbasebackup.htmlapp-pgconfig.htmlapp-pgcontroldata.htmlapp-pgdump.htmlapp-pgreceivexlog.htmlapp-pgrecvlogical.htmlapp-pgresetxlog.htmlapp-pgrestore.htmlapp-pgrewind.htmlapp-postgres.htmlapp-postmaster.htmlapp-psql.htmlapp-reindexdb.htmlapp-vacuumdb.htmlappendixes.htmlapplevel-consistency.htmlarchive-recovery-settings.htmlarrays.htmlauth-delay.htmlauth-methods.htmlauth-pg-hba-conf.htmlauth-username-maps.htmlauto-explain.htmlbackup-dump.htmlbackup-file.htmlbackup.htmlbgworker.htmlbiblio.htmlbki-commands.htmlbki-example.htmlbki-format.htmlbki-structure.htmlbki.htmlbloom.htmlbookindex.htmlbrin-builtin-opclasses.htmlbrin-extensibility.htmlbrin-intro.htmlbrin.htmlbtree-gin.htmlbtree-gist.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-pltemplate.htmlcatalog-pg-policy.htmlcatalog-pg-proc.htmlcatalog-pg-range.htmlcatalog-pg-replication-origin.htmlcatalog-pg-rewrite.htmlcatalog-pg-seclabel.htmlcatalog-pg-shdepend.htmlcatalog-pg-shdescription.htmlcatalog-pg-shseclabel.htmlcatalog-pg-statistic.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.htmlchkpass.htmlcitext.htmlclient-authentication-problems.htmlclient-authentication.htmlclient-interfaces.htmlcollation.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-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-keywords.htmldatetime-posix-timezone-specs.htmldatetime-units-history.htmldblink.htmlddl-alter.htmlddl-basics.htmlddl-constraints.htmlddl-default.htmlddl-depend.htmlddl-foreign-data.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.htmldocguide-docbook.htmldocguide-style.htmldocguide-toolsets.htmldocguide.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-pgtypes.htmlecpg-preproc.htmlecpg-process.htmlecpg-sql-allocate-descriptor.htmlecpg-sql-commands.htmlecpg-sql-connect.htmlecpg-sql-deallocate-descriptor.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-string.htmlfunctions-subquery.htmlfunctions-textsearch.htmlfunctions-trigger.htmlfunctions-window.htmlfunctions-xml.htmlfunctions.htmlfuzzystrmatch.htmlgeneric-wal.htmlgeqo-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.htmlgist-builtin-opclasses.htmlgist-examples.htmlgist-extensibility.htmlgist-implementation.htmlgist-intro.htmlgist.htmlgit.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-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-privileges.htmlinfoschema-routines.htmlinfoschema-schema.htmlinfoschema-schemata.htmlinfoschema-sequences.htmlinfoschema-sql-features.htmlinfoschema-sql-implementation-info.htmlinfoschema-sql-languages.htmlinfoschema-sql-packages.htmlinfoschema-sql-parts.htmlinfoschema-sql-sizing-profiles.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-getsource.htmlinstall-post.htmlinstall-procedure.htmlinstall-requirements.htmlinstall-short.htmlinstall-windows-full.htmlinstall-windows-libpq.htmlinstall-windows.htmlinstallation-platform-notes.htmlinstallation.htmlintagg.htmlintarray.htmlinternals.htmlintro-whatis.htmlisn.htmlkernel-resources.htmllargeobjects.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-single-row-mode.htmllibpq-ssl.htmllibpq-status.htmllibpq-threading.htmllibpq.htmllo-examplesect.htmllo-funcs.htmllo-implementation.htmllo-interfaces.htmllo-intro.htmllo.htmllocale.htmllocking-indexes.htmllog-shipping-alternative.htmllogfile-maintenance.htmllogicaldecoding-catalogs.htmllogicaldecoding-example.htmllogicaldecoding-explanation.htmllogicaldecoding-output-plugin.htmllogicaldecoding-sql.htmllogicaldecoding-synchronous.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.htmlmvcc-caveats.htmlmvcc-intro.htmlmvcc.htmlnls-programmer.htmlnls-translator.htmlnls.htmlnon-durability.htmlnotation.htmloid2name.htmloverview.htmlpageinspect.htmlparallel-plans.htmlparallel-query.htmlparallel-safety.htmlparser-stage.htmlpasswordcheck.htmlperformance-tips.htmlperm-functions.htmlpgarchivecleanup.htmlpgbench.htmlpgbuffercache.htmlpgcrypto.htmlpgfreespacemap.htmlpgprewarm.htmlpgrowlocks.htmlpgstandby.htmlpgstatstatements.htmlpgstattuple.htmlpgtestfsync.htmlpgtesttiming.htmlpgtrgm.htmlpgupgrade.htmlpgvisibility.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-trigger.htmlplpgsql.htmlplpython-data.htmlplpython-database.htmlplpython-do.htmlplpython-envar.htmlplpython-funcs.htmlplpython-python23.htmlplpython-sharing.htmlplpython-subtransaction.htmlplpython-trigger.htmlplpython-util.htmlplpython.htmlpltcl-data.htmlpltcl-dbaccess.htmlpltcl-error-handling.htmlpltcl-event-trigger.htmlpltcl-functions.htmlpltcl-global.htmlpltcl-overview.htmlpltcl-procnames.htmlpltcl-trigger.htmlpltcl-unknown.htmlpltcl.htmlpopulate.htmlpostgres-fdw.htmlpostgres-user.htmlpreface.htmlpreventing-server-spoofing.htmlprogress-reporting.htmlprotocol-changes.htmlprotocol-error-fields.htmlprotocol-flow.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.htmlrecovery-target-settings.htmlreference-client.htmlreference-server.htmlreference.htmlregress-coverage.htmlregress-evaluation.htmlregress-run.htmlregress-tap.htmlregress-variant.htmlregress.htmlrelease-9-6-1.htmlrelease-9-6-10.htmlrelease-9-6-11.htmlrelease-9-6-12.htmlrelease-9-6-13.htmlrelease-9-6-14.htmlrelease-9-6-15.htmlrelease-9-6-16.htmlrelease-9-6-17.htmlrelease-9-6-18.htmlrelease-9-6-19.htmlrelease-9-6-2.htmlrelease-9-6-3.htmlrelease-9-6-4.htmlrelease-9-6-5.htmlrelease-9-6-6.htmlrelease-9-6-7.htmlrelease-9-6-8.htmlrelease-9-6-9.htmlrelease-9-6.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.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-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-exec.htmlspi-spi-execp.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-pop.htmlspi-spi-prepare-cursor.htmlspi-spi-prepare-params.htmlspi-spi-prepare.htmlspi-spi-push.htmlspi-spi-returntuple.htmlspi-spi-saveplan.htmlspi-spi-scroll-cursor-fetch.htmlspi-spi-scroll-cursor-move.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-alterrole.htmlsql-alterrule.htmlsql-alterschema.htmlsql-altersequence.htmlsql-alterserver.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-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-createrole.htmlsql-createrule.htmlsql-createschema.htmlsql-createsequence.htmlsql-createserver.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-droprole.htmlsql-droprule.htmlsql-dropschema.htmlsql-dropsequence.htmlsql-dropserver.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-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.htmlstandby-settings.htmlstorage-file-layout.htmlstorage-fsm.htmlstorage-init.htmlstorage-page-layout.htmlstorage-toast.htmlstorage-vm.htmlstorage.htmlstylesheet.csssupported-platforms.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-migration.htmltextsearch-parsers.htmltextsearch-psql.htmltextsearch-tables.htmltextsearch.htmltransaction-iso.htmltrigger-datachanges.htmltrigger-definition.htmltrigger-example.htmltrigger-interface.htmltriggers.htmltsearch2.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.htmltypeconv-func.htmltypeconv-oper.htmltypeconv-overview.htmltypeconv-query.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-config.htmlview-pg-cursors.htmlview-pg-file-settings.htmlview-pg-group.htmlview-pg-indexes.htmlview-pg-locks.htmlview-pg-matviews.htmlview-pg-policies.htmlview-pg-prepared-statements.htmlview-pg-prepared-xacts.htmlview-pg-replication-origin-status.htmlview-pg-replication-slots.htmlview-pg-roles.htmlview-pg-rules.htmlview-pg-seclabels.htmlview-pg-settings.htmlview-pg-shadow.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.htmlwal-async-commit.htmlwal-configuration.htmlwal-internals.htmlwal-intro.htmlwal-reliability.htmlwal.htmlwarm-standby-failover.htmlwarm-standby.htmlwhen-can-parallel-query-be-used.htmlxaggr.htmlxfunc-c.htmlxfunc-internal.htmlxfunc-overload.htmlxfunc-pl.htmlxfunc-sql.htmlxfunc-volatility.htmlxfunc.htmlxindex.htmlxml2.htmlxoper-optimization.htmlxoper.htmlxplang-install.htmlxplang.htmlxtypes.htmlSPI_connect.3pg96.gzSPI_copytuple.3pg96.gzSPI_cursor_close.3pg96.gzSPI_cursor_fetch.3pg96.gzSPI_cursor_find.3pg96.gzSPI_cursor_move.3pg96.gzSPI_cursor_open.3pg96.gzSPI_cursor_open_with_args.3pg96.gzSPI_cursor_open_with_paramlist.3pg96.gzSPI_exec.3pg96.gzSPI_execp.3pg96.gzSPI_execute.3pg96.gzSPI_execute_plan.3pg96.gzSPI_execute_plan_with_paramlist.3pg96.gzSPI_execute_with_args.3pg96.gzSPI_finish.3pg96.gzSPI_fname.3pg96.gzSPI_fnumber.3pg96.gzSPI_freeplan.3pg96.gzSPI_freetuple.3pg96.gzSPI_freetuptable.3pg96.gzSPI_getargcount.3pg96.gzSPI_getargtypeid.3pg96.gzSPI_getbinval.3pg96.gzSPI_getnspname.3pg96.gzSPI_getrelname.3pg96.gzSPI_gettype.3pg96.gzSPI_gettypeid.3pg96.gzSPI_getvalue.3pg96.gzSPI_is_cursor_plan.3pg96.gzSPI_keepplan.3pg96.gzSPI_modifytuple.3pg96.gzSPI_palloc.3pg96.gzSPI_pfree.3pg96.gzSPI_pop.3pg96.gzSPI_prepare.3pg96.gzSPI_prepare_cursor.3pg96.gzSPI_prepare_params.3pg96.gzSPI_push.3pg96.gzSPI_repalloc.3pg96.gzSPI_returntuple.3pg96.gzSPI_saveplan.3pg96.gzSPI_scroll_cursor_fetch.3pg96.gzSPI_scroll_cursor_move.3pg96.gzdblink.3pg96.gzdblink_build_sql_delete.3pg96.gzdblink_build_sql_insert.3pg96.gzdblink_build_sql_update.3pg96.gzdblink_cancel_query.3pg96.gzdblink_close.3pg96.gzdblink_connect.3pg96.gzdblink_connect_u.3pg96.gzdblink_disconnect.3pg96.gzdblink_error_message.3pg96.gzdblink_exec.3pg96.gzdblink_fetch.3pg96.gzdblink_get_connections.3pg96.gzdblink_get_notify.3pg96.gzdblink_get_pkey.3pg96.gzdblink_get_result.3pg96.gzdblink_is_busy.3pg96.gzdblink_open.3pg96.gzdblink_send_query.3pg96.gz/usr/share/doc/packages//usr/share/doc/packages/postgresql96//usr/share/doc/packages/postgresql96/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.opensuse.org/openSUSE:Maintenance:13471/openSUSE_Leap_15.2_Update/d24883fb13e13a9c58da00d4d85390ae-postgresql96.openSUSE_Leap_15.2_Updatedrpmxz5x86_64-suse-linuxdirectoryHTML document, ASCII textC++ source, ASCII textC source, ASCII textPython script, ASCII text executableASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)afVt2-utf-8621b355eca804c40f84f08d172fba88ac230cba28bd80828cfed8aa14f6c376b?P7zXZ !t/gֻ]"k%0#J:fշB3snns ;]&ژ#X7WcQE$:_[Rg KÍN&:}rMWa|A:6qjaJj [={{I+c̩|Nbpx";,֔FƸyG0wv)mL9d.gKtsqYl^|!& >]+CemApdMV>_xL[Ƀ tMijyR:lz iScfkuPS# <0ffENP&"qM7|EX6lBܼFX}KDzrmкA:R}WJm据"ti!5֞L*QX&b+oͣ(^7Jhުy>O|"} _6fL!LCH^N4#h=+!7:n!>h'HeIq 3eڠ ޒ V4W;\`pY[<1M9UL${/gȁ.["ptvI[,n5m=B2j\w,,y+BNQW[FnVU4;ݜ'aX]O*3Iе7iy/1͓ ߊgWp`MLJ'G%>r~]l-g5xs!J޶օ >8Hq0t4LѠVj%[|.fCppbnW5CGGRAct@"#뮉يlc^ ]蚤&rݧ/XlW BA?0#"SSh-X Jp>tp%0SG*o1k U*.:+T,RbS1AGZjlU:/iԢģ̼Lw48҂̟ޝ->2QBln~JVˈz:Ts^Q)M ]_LDyuIxDϥ4D_nTԎ0;$08'!u8&3s[v`R1A灝 <, iM|& /m`uRz5ăB)XAڶ@8&=eVQȞcR, VyVI,<Ǝ.U ,d5VSo`9+ٺ+Q4/ζ[5U vv"}لR,# ^[]a vLIg6(IL#S{C,Y#ٷ,#Ff#Y4Gt=UU῜zSr`67ۨثt4x]֨߈»_9߯p   1CEBlk]Yuu-8dnbU:#~X> N`N0GcP"/$e\ O:6`.haMMb!t<82&##:loX8aP'3 K/0#;dU҃ b'Ǘ(-^4~f_D13퀮[p?:{ap>+B 8#05eO/ꇈA]@ M{T\YJ)@F:Ik+hZ¨G3jUQkȓkTPg祽LK?Lf& o9y 4!w(7bޟgo^-Nܣ>(ݬ$7ijT 򈡧2+, 7r%{MpDXE0Ga"?6!lh'r,ȪG$[H9"<عJGy)Ͳ5,\ ^-ڥSb@4Х;E5eTva '-%a4m/d"XH) AD6txrOK[3XtUwF˧mƑ`#N2,&ZQ`Т*iͳesvwGBEjfzP[xnB9|n)-8Y떀L.̽2/|"ޣzȐdIԃ30U%.ژۍn=k5>Iϓ4t7Pke}YL2= @SzF~oʟ{ L bڸ6| {yQe^9徑,$q^:S bf4E6^:xc{lU Ȟ Ùރɤ?wSQʋFޣ]i2[J?]Y\3=Eumew5Z9 P6Y}"N!n!1 ݿv}'ɖRwXU7~[֏Ʌn(@Uu-^B1.RRN8"?x>9|<-ڝ̖5^]'R^QQA&;1{o79m sX{265U6 EAw6Uծm YS6EŰR8F:?,bkiT~fIdY 47k(FXU0:|~vu3 &lRZ:{zQ5*8Ė<NQh`-3BF;nL2Gc N5 튇g:SY-AܮkzE3{@#i6"Ť&2 :}/Pz|'< B7c30++m`Y?c+nUnbIY77DNcAhgƬ#Fr+hWnQ<+Se~}m's~*iυ^f LȱJG0<;?Xʶ [}yXvi' @KJiPCE^:}ME?R28+_oeIhfx7(7+D}!>ҳK_)QڵT W: fZ?>{i iu}zҊg+:!Y:X౯_wlHXO>pnuu&wagz3宭~ N[{frOO-W[ Aكm#Wb\+pn}Wy|r߳uHskg)[ȄE"p3B٢dpH5}b*&i!Ktl<aN7|ɉŐ7rJ~3D k 0M>geGuRTC )j2ğ׊kTV})-0- yHnDۘ pD4np_)c9&C9(D sԎrS"щ #1evS@Ȏgw>}&Ӡ.^dŚ@>QpNܪH?-9@@u$gx,DW4.k*ldB_A ,lBHUƍ@CVmE?X-,~H2( Z _V>Ʒ݃JCIcHtTӜ9"a ;[.?$LpEĞʺ _>x l7GB^t,Fe$ԐW u!ݺx  bjsB>6?sX7H:[o3y(?iC\ Y14 t]QAk7aeX)Q?B@8vdѱ f ,/g(?4mmCe;83ݺ+I33a i:{f[82Pb8wg h%Q "ԉ(p#M ?羍1Äp)b",=97L>+pkrwb:&!6^UkA"T\( ZӤh{4J ,˾Ei›<-Ŵ6I|\A,'ͭB ί$l*] Xd=c&Pp{qvs\<}'ٙqsnd{ˋXH żo`Rd8X{tzI8XӬkE" YX! n"Bz{cӼձH?NGsr'QρNebۿț \xZ4't Dk LҰ60pDʐ* G%H常l5l.EA&>B͵$[O71A^+ CmWSBI(QiD1_gT1⃍&{_pX Kx:f«2˜3.>և>Ƕ^pN%$Lo;z>sM4&``0Nu T%sJF_Y iXfǭ26.9)*u#K' hB[# 4#%ؽQ~ ˾6LoVQ8R*gi&$yϖA8&\`aGlkL`bbcmaB_eQ yMKcS220| sjg{EH5.[ #^}FM#&{ `>'mY%? ^GyaQ_S~M{}ޭ]'[&WwUPcn>Oײ֋t;^~*+W]^9"soF!!ͬ ^'CTL;n"/%?hKP $sx,Z jXwH,d~;|K.-,u x{}" *r"(+T={! %Z o(S=5Rٗm LQߖ#M(}m`w~Vn}"(|e?a]g'j$+Ah /zfLQD;`fX FDc?57A0S @}&j}>;#s8я|3qt 8hѶ$Xx~`>GK. 1ㆦ@2F#tl`~ܛȥzu8C/1 w1 3ՑdZ0dӘmI*waeI 1O0ܱnЖh3};jogB::1?UP>}\0BXvgUBUM(\R00!xd!U)Np7-v2U&UPCF7~8D;E$\Oց8:S*(ѡ"렽܊$RjxNZ!u$lJ3&\ :[𱕘GJ%@EM+X g vdwncaqL5(ɱ Edr|#q~BVEB8)Ak|mDc仕6:xX8mXvkRmg-Ǭ-~%rh(5'¬(jr9#63ˉF8M9yߣoJ)VZۄ,x{o?(Aґ <8~qNCܶo s(nmgxզZK+HD N@>%҂(kuoGFTl M#aCsL|$$J2 mKJkyAsIc'Yw nQ`W7ԑ1mNI.KN/J@13i%q@DVXdAKXD9 ^$>Mk-/lݑ/?cS̏|J鍔* 8P W0S"Gbzs>bZ Ty'W!):%'P5nۀLۚ킟薦&摐9e#zQuɧ@ wBߗ*Hz!dx?ק\:XzZV*ZS'NaU5ҊWDp}e`T7 Q-ah>~7O:_VߍP5V~٬̂ u D\ڦX: C'! |WA2qK؃-U')5j qQ8$o+Ɨ4'e@7EN 5"͗mOGڙ1hg]K[ B'`C} dBFeEw+cXkByHnS~H /]kKojHs$ M e ㇷ7:U~$FCWξKC2mQh-g)ep~KE1c}5"7ELSQ&\Bf5O*.0jX\øLڃ.$4@sTAO{ؼ̎e7A,l*>=X=yƓO UNHGݕ=cs){*CPoͤ?zg_8e6燐ԌuTWxmdΚX/wIvU<_A.3#2nfLTh檤}Gb\.eU E~4K{=*gߎ1(j~w4YN5GffΉ90k {9L`9Gi9k**-Ȳ X(ŋ.Obv)T R,- 5W#jҏ/M4oxy 2K ih& KxDFxv!jjQxV{B>/nƕBڠJtMv_CC84DN?8Yآ.wlq?=U|^YXfcʊ-mO]-W! BE)59pk~$VYhH-:0>u&P-p@QniVX4g{`HN-aWED%/ Bj)6ރ421qyNc^%j¨J~jV]{qšٸLn@GnLr=$HFGZP8dp*H3`vkb51x)ŭ|ٿNEш O`7M1ȴ$:픮XPpV I E*$pO3t^,ƽmjfU-O9O8GYet1* &*Z s^ځQ(#ʥ1kTBuЬB| _byJk+Bܜ I׊)1c5+h ix"ѧmnOȟOœha@P;es]Ώ SY!!I*!f}sߛր'AbmvxDu "1Cc0\ۈq牸] 8F*ʹECڦ(~DVG(5q|W?7Jwi%zϫL ]j ug-gbbcwW}D @JjɉFz/?R=%71܎cE 72XxuE(_P//gCԓk +٭V:Fk0FAVd(Dvb7pz~5nr<0U0#DU,)OՉJIQ>mHf`y:ɝfP;H⚭mԶ񙯇,du$ueOt!t؀< |FJ(8:k7 t~I%u6Ni[=$W  0a:}ht4ʓ!L}V,wg09 铱DFX9L*+w_kv+HԾ Pc7s*-p ΰag> f)l7 $OY /?; %9bɊ_WʾڽUoėPƕ?J\:1Uچ4##AˈA碑*XВ|Kfh6^Z]wd גƼ#>ᗯMRXGk*G*ape5\bq SqA١ƺh'eĢ6 X>ajJ`}J1e-EkEVAA1{{*"1 eB,58bTPU;-͕ᎇq.Q92ԙ0%x%He'^s8#2PggmV[t}Jt:5u \.Ӹv_,_9iRMJP[SM WW+}Dw veC J$GdۋשXw$=12x+d{S[mмN 9 =qƱEu=77 Pc@L% 2t?QA͎ʿjǷA_OM*|bqbFOC@ֿ' Vn0DI8 rij[)q+'k6 N1upQi2& QAK= u3ܙSz[>8V~m k9޻oZz3NApf%!6~S,,Y`5$~©+!AiYund,3D<1#Rg I+)3)h]N}%Si ޣd.Me_>(g4CЬe@wLLOQgNl:S Pc-A)Wv_udّ1 v쌛_b%Bcrx& i'!1ݯ) ֱu4ЍyoS1(M7F,(l!syJӾ5ul)gM0}s|L76voqwFM^^?|#X4! =W;̚@E)2s/&-ͼC.G&o]+'Sޡ?NVXG2|H5ueN#ZdW ()f8+~x͇X9[3;HC h\dк+<䍣-g6gܕ={RkV}^KAT*Bg33bo z!g$'+/kFeϠ#籶"6M# (>3*JDbzͤ4g cU|F*Neƒpy5> <D`sRChNU1 w93LfF*5 @IzJ_M* `ʂ"7յ!M~ ӭqMp `_"AʾuR ᩸ ,$L5,KC t%Ȼm:'x^G}0I(-|Vmf+Xb_{RFN+NA/9:l)D^İK0o0i#5vUs3@ݲ>bZ+>zu *Sggv<Ȱyo ='MLO:ؼں%EgS2yxjy1 o'A]n>/}܆nci&T4psxzoRE:nχId*c=S^; BXԼڠ>&RݩJXGu69m.zkiַ󠩃ʪ| 綗]M=-x&{NE\5&'3t}>(v(D9Pttu7Iq&X9wBH v K'w(wdn݇ь-7lR|Bn]+@I)IhIvc8{-c[h@K R0E˯T~YnͱP8cn L\s/Fx^`j7?BcjAQk?CbhXFlKRdtrP8@+yاҒe@.֚y[]iT%CX,6lFJ/C{,/£b`FIduDQ/]7.s)0s3wwA7 y AQ<4Rk;W? Ŗl tY(FѢvK[fLo'!&s (Vlբ<M`\ %:I+$N͈v>=vX[jйcȌ~[| Lwn=1ja0nJ`-DPxaly6Q}VIKr(K";Y4D f10WM;'1zOj|, 1$SJUpϳi)iكğ|H;hv&9 j0z*qraV TYQ]=y^H '6ݵ;U5m1i**"2oc"1fNU%uZOFl%RjUa;m^TD$dtH~:Gvӥ*:<03X >:Xe!|bnGTfآWk.3SVSp!z+:[DzNK>@zJIK B;c٥V6b0aZlqo6DވtAEPluؐLXҋÈ)†R}:RU $BuoC#r(D_HjB#T7`$cٹ ?MxVNO\~|t^]ӑSx*P,4<*]JQI>194um.ө)8:a7׳RDIk!.P ,'չڪŞVA8gs*~x[ ]yʴt"ja3Tka.x NU}kA̰e3.y4Fk+͒-D4b1G'ݏW)^S#Չ/80Xs$'wۆTfx1:*T+,^$gG ^\4kH&c0v5|B; )7"(՚PY47&Th#\ҧEEB̳M&8:]/c&Fь{g/,y]bHJv5'yY5#p#"m[z ]]@Al]$3CKB @]MQg3Vۡ@/ M^QTYuqB<$2."v^}Wث!2+7}/gY>ϫZ_bS͂y;O{h'Rs?j76,t QݔaV6ØgA?KGAU#:KT[w@"x`]E2ҷ+0?Y^pCI)?2z15˓;S8fc{L],I0\-L(WϏj%8V!ldj9=A-{=:G NL矉s@LT~)h!\#% ]g',i,sM%&QA }Ic5չݙ-Uc Y{7~z1q6..Vv+ᘊ- gv.C7_|Y![Н@1#4oWCuЬ%s= 5@Vu_*i7x`&Nݿ!)]ݖeGaDkYU` -E:?+K!U(U(*^iU8!ʁQ/}.6w2pySCl/ [GE!GrElPr2'|RQ$rh@AxDw [jp<֯kTon^:uW܈o3v (ܙI~9 7{ C<2[=eF3R~6{Em ׻$ҟf7Nޥ*OH>0j`ƴ w❫\CL iXFZV+:߿}#,4q1儫o-YЬI!Q256' v!;K[XF Ёβ/rq-s͠5@HVz!?"׭]Za"s] v8+k%A ߱9 8~WB{h:nK>I͙5P4ٵyGnXNvFiI,JDoA1y-: #6fw>M^f,]v-. `$okLd"`ݜ'QJ|4iS4XpءNu\qcEz厩w*9( ԋ^rf"@zZ*X+5&~)3N[2)o'bQl(2NSZ-@gAa̦2irG˴"t_c@diΡ+=2 .4U3x,FzJʐ#6(4lOz=l3ע>'PK}GxwooKa֏IܿEX|*~8iX#BA0R1 }6e|+/RZhҦDrD'x_AEiN+tK>n'?U8H6?hGx2H8FiZ+i;ж}\mP^B!MWd.t#Wuuz;W1N1 |6 j(uC |F?z*,l×Q 엹re(T(I." qrT*UZ(dD3Hn7ӱ3s#C8\68B'tTÎ $B KaNI up}{ FP,AYQ;yl&>VQ uN /#Ol|J~u$psskq9%3wwb|=Bďp\IY7%\kY/04_\n3gǥ?EOm|S\( 51|k /8'}{ȜJeQ~+ vTC׼Lv~E٭D-Bqyb8Q*KX\-R KE鬆/ZyL0lK;CE~vCA~ʀIrijt׺Aek}yB8eo`%#WZ+;H_B j0oS fI3+hn8{Mףgo$!iDUZ/u&n&H$5{X'1r$(qcxW|Li@C̯_MP24ޫ]yRݏ&\h~(*c/<]AocnNxܹ[W7"D*ݽ V|=?SPS;m7u3Mq0pZI{im^=Q@fWuzdM%4DO&ϖt}˨a '>iVdA'L0^sK@z?:WbU XS{UU~s>{$>(/*s^O\:p5Qe&]߸7er(Wz'mZ}쁈rP3ZAj2]a]~^T(W?@ԬXX*֗c߃{+eWY]<g%/`kGd_luZtw !R,. 5"ހxT,QgN)Rg[dV5?^ ]E1Sld> D]5ߖ90"f'Df qN?MXE}=ѩo&h@xrhmtASdhSʭ5g.QX93Q>1ShT@Dq`Sn2=EQuy=*SpXZP^tk d |@Tr=SZfZy&iQڪ_Grʟ,c*7]Z|Wj>`9|y^cف Ud,6vp+G5D'~$#kT-y\ HeQ׸hQvsyzD6+A))t n} ɣ m5O-wRdM>jO8(|36ۊDrĵ/5I]=962U`|g&G`[&\&LNRIsZ/j?G0ju9xUT;nLbuK.)dTOwE-GaӹAA۶sDca$4"VzCCwDav$4j7Ye{E`YSQr-QKP@sv+}aA[| cX ]oi!8Z,Ozu|r{Է+<NX ƶFY1Q0kJKqח14+HY39zb'V!^F^u@=Xu?e`LjQݩ>KgR=Io9CػiDjiJC!n̴*;X(ʒpU"AN̺ z3aEHL5[{͜_GJVEx`*!~&=HޗeF)GHxǸGβk3ep."={.(> Rm tÇç>5 o ǂ= <CyЅ@f?H= znIV揗ijIxS }̋߀EGw?6B"OQt.qR֬0[ $Hչ Y44XfE^;;ӂt}Mnh#yӣS s Lc4M$dNeTl8IsUq5hKUmKv!̕(|Ɂ "`j.@/RchuIxE-7ՍRS,J( EKtpg*wŊx2"1Lp j`;ԣ9"(Eܡ%%d4Цmpkqի)g.к`d:!,48kГ" <5X\"W6?ٜxfZ=;elqqpAd"8]{X K.ey\4<:=nkNO#We@ Xj=0RW2j?16H8K]]fM ,Tjqݤo$ *8[G,7-9LW <ڟ<8 ?q|wt5[uHPYӄ*R96hXM{,azաZqOc'7;xu Y ?x+;<#~X[}G"8,'݃ib9&Kf{5mUNjFZ Q[~-3ԟsO"epĶҹFGw [K|o ?.E@Ǹ2ۛyB&LIAM "4K@M K:U|.(FZz.\anQFU;2Fe>K5*h&^siMI~i鿲q,D/6p|~E./q+qJ<~oMe nQEz[p2_\ɞe4qGe-X4n~PDvtm'N|qڨ'{mEh(RBxpʹz>#pB#=/~4((UsS.Ӻ6oPؓŗ4HS|ǗCAk3L/z)oV&ͼm띿 꾻>e(om]R,YN"(9f0K0 V*^ʙǫFf}FM*'u4ǻj]Aop]xl։+.:oV=hϱA%+ W5s h*v`ղ)Q΋AR8(a/wAB'!}5/VmA:&\m"ps4yHוwfpq=<ø+雃/6$rlӯO+X$=Kk.d}4ɜ F7'tCݬ r(*uaoH 2OȒNmE M6/ieV63BK[;{A؄\]~5;/MRA%AꅀK7|0CRT(.P=r*}T$6T- STcvGH[i_Qv0<űv6soe,LPfOxQoYҦ`_r\?礀B$Z&(K &qt}[n&r8Xz)Ք!kny1/+Rq1BYY<)o|/s_ ׅbI B #i¶(lxSrQKL&YyS{aUFjW6H&"l\Wd_eŮd™C\l2$! Q/74#13L)c9L-[:j ,.>*"U Խ %{x,2[0"U$y Md?2c Q Q:9*y.|GTNx$B)UC[$`)<D9e(mxvR<ԥfQj~Us 7`2TxDHLvNhg%Ri@> IV*ԭn0jW 9б11  |2 33VP~9֝M*KiUd(3¹u Y<#I1a"j|Mq`gQBASU`>Nlo}X7#nUQO^)&D迍 #r>K[76J܅`AWA2䔝;{Qq7pY\h^!]E_/ fiDMR)-wö%r1 /yl,h45)HbKؘ_6d/AyC6[mڱ"%N;m-}f߮} l+93(ܫv;OF Ԑ@'B+zS0Cm&G/iP9PH`-̏G(骖T0'R/?Qt(N^.'rƜrf'5#&I*9uRmQI&\baFz7}w}Fk׌ه<ݏ/s)՘f46-apamM/*ykƵ:Bub`I0꽣,FnS|b6`eߓQL"YRʇzG^Vzځ`hK18.ly9Ӯ.Hbti㺐Ĥm@H tQ\L+qM6ZKQ9r4:)z٦թ^ڄ/6qwXZlpb#LNL|Ui{K" ~y7b`J˫J9կ;MتΓ!f8BMh"4GNl:،{U3a&@$[hؾsmnsAS瘲ۄ.we_dQV )ClXbp9x(Ws߼c)4] <6N,U`kw`&zViDžEE21w?@8VIhC;B YձdRṲ̈7SoP:dꁆF2 0Ջ6YC ʹ3rх I\PPlYCVzl , R8DDXmISi$.E`-=tCۭD1#@H1evCv ؐTQ"RFz~Wgmy`t[ >&0MӴM|ߑ>j\[juʼGZKa+S|a/^(d˓֤/<6gyh ڛ. scW9kŎI %ɲ]Cet.%cJ"jo8gcfH uN²=[ F U[ t$xf{_j6YLnei/oUT@tL?cІRP|5a8s+΂y ]#4\qEa xĶq&P%(kt&|:/MS$55YInL^<o|`P -МZRےs֡dWVݒ>0#ZW+Am / $4&Z~J?N@- % 4x[rNU_+;IV~:-H LS_aJǺa {](w ůn*9]) d/2Q:5oLqtՆsl$IVy:tN ,GAƦ:0iQ]ULVI9֕$D F^ YN;ͩe92)iUxD3߬o4 C9G>|RXIDž$K{ѯW2+H!u?T{vu\19HB' <w^$\22aħ 6ٱ˻%b&ԣ]-J ?>#Jk%j,1ӝ`:k]bW2 se;f_Цu( B:w&w%ut/o_MrzZĬ"H9 FP촄:ȑ^S6>L*F3 cQH=f ?&v|Qe`έ{ʼNLxM.1uurx÷>*Í9F<;X\q'iOP/k׆B'B:DݺP:U\WWV\wG*m+̗:-O=7O IԙaA<~ :\ZyhLQU=3ΰ^(cZ+l@a+^h󢈴\vQ͟!0?m=Q}0mpoWrW`/麛cyKW(Ar_u?=Я)4w, =A+Mw?! avk 6̽A4!ô02mZ=\sT?6_+)H߬o?aĮic]%UgAt1Kmr+"ʫz:Mjٽ^A (>ezL9EEQ𑲼bƩ6Y ҢY 1D7BTpr}~s}b>P=G@^.@hj.k?qsRE3u [$ZfMqqOLʤjc-Z%;4E!ح^r^!)|_W0̗fecǟv JvH&?Mi7>&=+Q vhVnf_yU;@iid ؅<XU[$Κbai.^ sϑ-5a7G2t"32v0x,?$ˍ$,+k Yoy׌4Z\tBmwpCWY茽 77]7#VQ"-nks6ՈD<|YtCTB2 ;&v+Qut yPD:^YȏnN`PduK׿EEhVe< {?vG5);k?9)(b\2:;bd6@#hnf.e~~Sj ͶmptMW$`Ӷ;>@9T3zbLwk)[0ꋠAa 2G #'*b,Xe-IFԹ8 xeq'%S 0nqT9lꆊ⹙v+G-D>(]=7&B"<,rϿTl$AiUR7r [8SM$ uо4iJ z K!f-3RMV?5FXZTr ӳ?hճ&!F*/yͮKKm@uE#6ŗ>ְzɧM*̋N!{ܶ#"௡j:DA_=g9c@35B Z+e->*Gxf|.Nֽ"\qCQ,ajpKֹ9g㊻~?i !~8T5߳W>X0m}>md@ SVO }YFO7  sBL[6~7摋,gEQƄ &ĊH1JnXFG fty튫VU_E fKodu%^]D\j!` TKʌl:'\q L \ck-o%AR8hGS [GKFJvӭAe$k*^Vof4G_qC0i?Fg'JЕ?{7L~W=iZD@NAi4#᳎Xt͖V2ZrPBsySy\Kt-4[D`@/J,Ѻ"< pRe.H숣?&a C  ZLA2b;a3rc'iAk^Dk[n52saOawbdҙL%XFϲ" #4<)>`aȈ(x,>M>ɵJuõ;7-[0.t>:P}BXAw܆`a/?%.jĝ Wk!sJ_wkJx1l,A6Y/B+eF5$K 4: 8\C.PYݬ`l]9+!*fc/J(bie][0)h d(poAbc[+~PƠ\7`~>]i0(Y>8BQ\_0\bpP[S@r;_5N\GJ Ż)]+r8UxՌc;""9*W(rʶɜbsw3~s-ƌeM#D&ƥp:\`Ŭ^/A6_2sa܀+XpFd9|F$e'm DO[8pp%f/ h٩G9h(?d󆻡jkR8`qM_j[G2ݗP!YƌZoF{qe,9]z`1zRTqhG;\%^. C c^0c4"2 Z1N2n$(t!4,W2!# s7<l.DeNVtPWFɌ "!f]waxB /ZWaGmG"1rKn}xBc Kڈ zKjfB%+ЖR~Ņ뛳o1 Bw~0dl߁Ȫz]_&3p6R &\`%>" @_~!ƭ_dݧKtS30 j] `ku6SkZ6r0:^BǿeDmS #1QAo9N7 a$bGc9{hoMhm4TeOJKuv]dcƒ}9\U9Pn\(_\W"R~M=%+31w͠#25y‹kPWzw34n/Y)-WZ!Mv2>$@p-EcV+f)?E$̨Nȵ۱Y Mx7]IĔb`l.t&WN. ڣt,?[I[x*KC0f󄍸6>ii6i"rJB?F=Lt1Ae'5yV][ßDE&=B{[Q8Dh΀:6v1bguط_XЛ-G`&(DfNk&FRjH$nƲjur~|ՃQF~hu|T5|x*gD? GDBIP*L;heޕt.c*$7^e5khv ;uJ^jʶd0]z + y7*{Dkr!2c )#I]&38=dX|;+o^HOp޽x^:kuAkZAD7byhү3uu}.onf)hVnh:Έ Bʈt@ `?0IQiR/͐sƹO+M^~j^#̒d2+XwM$?TIafN [QQߕJaS9qZ'/{* n9/+E<-DŝlsإްO6kzp7g&Z®.Lj"G1WÂZ쨏䙘F#;]=G"^'ia>6| I xlKDfy s2X76*M7i& `Y5sW>.DbfߔoNLo@re+5o 5Β,VnDz)=[.IԜ1tw2==YNf>zt'َ="دoÔ۪eGzܿSEIo!R^2b=5ttCou!%׮pJZlȶ?r"V c26uL%y Xo ÄRcky~uR~ZSk0^h#"F5jP_eok:P4Bhehi'iP G&֖0ƘK&0_E,.os'b߾XD|86'PَyDufIZz2y2QUHTS,tqYg rj 7pω_,^zU۩rmI Hʉqj x Sa0;ETkMU>T|xbŘ8T \wF IDiϬWHRP3:ҴD&&YyIq0Sia\M4Nbbuᕓݨrѵ.F!G)O-)o*`Fc'^9i*W\^tjԩXPƙ$U*GYu+~Pu( v5j¢fV}&OuWq@>x0q#Mc?!^?sǢObxҬϭѿa.Q:\oCRj .]**4M# Xg[BKNW5BZ _̖_Ġ2h'`aQ(b3++rˠ9r*8t^ U-hi)A d0[}}G]9'l+ءL;RP<ΫHZH*}2a;HEVO:k">ORd},t zz@ Nqm:g4&=eD%+ +Ut^f-2[ Zw+pWthoMi,#ViRh'2 !%wR1Y[0Hn{:ޏ,ovƹ#<#kx[Ɖv)ԏ`IίC A[Q\K6(,L/Sw?0))&tʖw_ᇫjS3eio^p2ΫGS)GB#r Gk&uo3;NnynW2]HJ=&ߞcTpߣT}z(88 |yP;`. ~/[!$}xvxXoN:4:eA ݠ!^$DTGD %mra.Ⱦ.@W,/X>ٗ z ($ \I41Y7@fHGyS+diKd @t;bեoP^(Td]mNǡ++[. Lzt6M* fz9g |M u0;GAQ/ 9ڍ2KX:PFt^h`?iGD{v#;/]MhFi3I*)eO@lvL?Z6R][NHk!$膊+psݖD붌}H@U*[{2]i酧\+3: AxAX̴Oߎp9Zj Ekk_jdznj{ZQ@ Mojq˝m!+E azKfFNV?[Bl 2tg˽м_ 1r;UWnDlm>TIqaˡqwFӥsNY:vU^ r0s9\jޕ'UOj>Te);P>/a{14=@e /hd]i2 w0{֔:[0[^_!#4g^hy Roye~r8vHd"W\\JuICdCb?DوE{gWxEA'Nn|w*XS=Ar*#Lp_i&fvzZpaB1$6{,B_S;˫|-@: bĺiMx;ʭ߷H.Lv%9LVMіA֖EL32/cL{v)Y[d<^\žުa.JflhV{}V]l @63A5j(ǿ16巆k9~[ _71)/o;"kܔC+Qt+i쨢ّJe װpЉҎ|׈c1n^GƔl0ר_hZ}$͂eSXr-#5BR* KfN"?n7{(զݭn; |K̸t0x :Ɗ19,w 36lnG \ꨮ.@(YóHveßmCib=1^C7\{˲ ;C~1I),[uW`6Õq9Y' \hR>@!"!o!Xp4(h>j?XȽ=HPѢ" ԲApXL֌w^! p|Aɮ/oOB*GS ʩ㿤Tl<+o2 g H>+)`at*E7͆[nLJ)JH#kq{L6zo{%8F,t5-yr?My;rPsvO2m;J(:LWP a9#?^k ݅bݟNH\bA V$ ?sB,\:>hD|G 8M'$ީvU/?5\cK w}G}@ݢA3rd82дBv]ED͙52y;X2JΗ:Q]3SJr>JLy%Aga7zD .Gӧsƻd[a1=ݧ-j4BƉdӱDt/9TeRD|TA?&'.IW-RgT׽o+g4qOXفc4I ,(oKC ]_/b"Ma6ŶcK8ҌyApwH>> چ@{v}mZd-TJ.AM z"zr ˎ3rg ~>j#SBܾۇڌEtKV00#Y: NosQl|4#ֈg3\E=!bu۰"%@ˍ/"+H].|P KNQD]cL,۲ёRpE 45$nq%㆛ 0RJ19R\B6>| =T\5OX@7U83O^(".X+0x\U5٘Sk8x|lfU0d{fk KZ/zbo{?0u.E+U> ||p_$յ H'ssd|k ܒ }5 ž'M_ A4ͷv 2 ՜"jIPc>vVA%m ̺e J%bGϊ_.I4%>yDq@kUMO/ wJFJ!oT!V5H) H"ٕ /+ܩ$fquϟ(4YWbo:&P%JTԥCڟQ#pۡMm#rG]q('!-V9`,Q%3QNGܰrXVuF=>|] 1aB"@0$d6,z5w3\WqFpj%蔌4،{ZɬIYt6zs1կnwrk- W^ёgBLWJCk@lgv:%WB1t\` Tbr'EsY|vŁJCW U|<|ryۆK#GȾk"YD8rVL[?2]&:'l'tauBCiw*Gا0u 5fe0F'vggfN( as/a7?pp^Q9krOB8muYGp3YCxa9/.jPIPUHVLNd9S뫸ZU؋l'$T#:7\.=hĖC,0Ÿ|sCsLKȓ5-r0q6Jc LiǁWU;ѩ-j\.pEق ?Hg.2A,y9 G"L?񈈂 tw)<B)UAΔHm@j?g,2z>*(걖!A8-Pe0x< N -.>^VvcI]mT< "8vJnlU0p`зglhk65ߦfNyBWQlBnu~A <+'P6 ̏ꨜ]v{sF|5"wb8ctF0#> Nl_}0͜ 5 h숛-saUO>ȆZgR~wIۚ)ߌ)*FW6,TTھa5hlZb 1}(MzW]ja4, 3i QsQ933?ǶԘCc(I$o'Y޽׹{jY{.|GG@ }n\#fn6n3XM;L@P%I:nY5؎G[^/W ;.C=J"Et !xSlFФ_^k0)$}Bl9)9 l WvB4] C+l41Mؔ9VÄ3ߗ6i#ȥ+_6˼|[+oT'E0$f(aPURZ ㊔"1zaEJ9I,<w}%y{&zKzve %KJoO,M(9m!xv5+f!ANFF#rYAUXYMdI+ qƞ)K7avG=.גwVK!{Єpu配c1TU%,w$Tdcdz>˅a̦;0 `4U`hÞ,RCJ(to`^eh9/^ivk6 };NQkW*lrt؋`W2{mmA3" p$s$3őQ >} gKŢ*׳sզq T خR''^R!}=lOso1[@62])t|FJi0{9Եԧŭр;X<1xbzƜMJŒG6&=az<YsDbnsf!Hfߤqn:Yەnl\@28#%+E' ~p%)GnhoGy =o;c8ʳDW* \bvBi:rH[EN4 ty-%=Yϛ ^ӄ|]v|G%У-ubDTcE[Z_%jY/l, ;j ;B@ѫעjBJ ip32(P`b(*թ[jZc!aA[LQBJ޿~H_⮽ ǚ92$cP3a-Xm'Ou$Ƨ{T3L[h0@eC$`n:ng鯫U"xOь-zp^.6 +Xv,~G `U[6uֳT!żOlKV °Uۀ1gVUcx!ήz@I&t;򩦻;.88fԄ2GCWҜj}%  ;(QH?͔U8VH{,@L.Gd&+eVnr_]]=^KNnJ{h]\> W`0]j"ϝi-yL}T?/?PC'ã{ٔ_QLJ_eջ+)L3jd") JȪ fz@{E!a=QBPݬ9 h/5#?{Δj19LY02(y5U~&L1^GJ=1rɋ"\|W*`5C,4a 30!<銭Yp0_=Kus0O!)RI4MK4l~I;b:F Ku9M$ht_8pTSY<CxDmVkW'@*ڮl8=1g4t:OZw)a/ѣKWcw4Vs EkG 6yأs xPOPSy@v1Q$p`bt6%}wYxb4:<7j&4Z2&f.˺ $C:P$ p'?u&ʉc2+e{?6"ՠ>tp9M- luSNDx~Fa 3< ?? o庘 ,8vRآ~t #aH#>КdSkF~n9_BC7Jv]cSܑ8UO=˨h}g;~nBy#I43&IF_iH FgO52#`#ɾtqx\ōz+C6#-dWm4*܉[PN6} [ tZ.~}qB-Ay5=cƄEq G`h#Nk+4f QVGaW|g.lCΌ,6Еr Jƹ8 "sLV0-="nUagJ =܇taO^\YETkLC<,5w$C1N]eT02CJN̡>bOLG'n-h f C PeO C/1"tk[2:J:D@&a7ac % r릁ă#GKGZpn<Ʀ7=Ъ\,&[4P|M2n :RWSSY5Ͽ\F'=RsoLo rZsal"BGb{Xc fieP.V|O*?rH+|98IwNGT ]5v U9Y.o=LS' _RcFxh `{W_N9+~U舗xÞ&٧1wnԶ%q"Gu\H)ƳN/X8oMϕROu~jQgĮ,we2`  Zqt.MyiB $(?"GA:l-]v)?=j^"VVF'nŽ$xpDW &0wҚ-|jh˃0|MH>OyͩObɸ_[5N@ҮF0,Fƶ?.ozz5!o4wn˸9}%vqkFGFq!|^>&"K-bZ3&$Qf %<a9wK-a[["EtUu6RB$źuM𾁂V惭sNʓ 1 昭]hl>U:bq>e۾"HΛ]ɫGoKX0lFîAWFvL'܄zpo$ZU~UcklE^yTP>%$UYyy^}SS'?7eö3^y!d͡Ō\^çV _< ,JDءe I/? (1oǺ.I{%Ȍ|(Ȗ}LfHÊq_ hU ᚦbYhTu2AW4rm[y;pŜV+n#rJ,woǂ}KH͚WY0RԆq x䯚NJ,6:ZZEE~]Hox֌魫E=C~c xkIRy;r-QBV{ز[sȂ '03sXEe8ilѲd2BɀD'=r[3sPX?G*C.0u#ŜqzU[%Lf [Ev߄X~Q{3f,& $0DZdrTޅr e}W]1CmawGk?՗+`gz ֐_D[/k24;l6WRW;lQ1P_HE`VS謉jٵ*V 0U|a1bP V;g-4zmF$YmB01t[)M&K%|V'2 9rkO~%}g4M[Խ!3pl\|#C~eÌ2wqh 2_}Fϼ^) eY]A)2tӋAJOam!c)ko 6:nb`fiB7'~[-AYfW(M`ebV 6jfB J/66,3Db|BP=fPs,e Yf]5#s|I=9)\˿#! E]M?]%֔1ڢ 3Kr1 -Y@j TcVxqBVVSޱqW]q1y sB5i9,2'%[+':>_8Zv W{1E侬KN!h|Ҵ #6(*]Cb=5sj5',{Bvr>?U5jy53> TH%" .GݐSQ$ēc,,\o-Q/Symݶx40ljxP wK05j0R;a EQ_y?nN[GX[%.\!exn!'15\YM ic0 T E D6(ɉ E\=j\WnC%BMSvVI5Ө:o%/ YKW_JTHdN%N[ D5GLE%.tP>DGDEWVJ,d/]wbmi{o|e.k!pyPr +3ߓ΅6 mLoc@ū 15"?En, }vVnYnS0/K iib:."> 'ݪ o7$Z2\rDCO Mp3wy̔L.@9 q_`ȔI_η8%o=ud^e=իo}2NF{h5An+ ,9gHN*\.%}"E-W7A#P*d2+~D܏үq˝1LMe=<0̶T&J)8^xd1՜tN!Sh y;_:DY:<ɶcG|1{mKJ'[]qIm'=X=guq.UAx&i@/y pN>sҁa($sVfkjʪ.sVywq3,g <b{:0rڄ=;&:;qք$?;nz>d@'ydcD*8e1x3ĊyO.${!]Ԗ2#P摘j|u,o&WHB+p)8Q0WQDdB 2A Y'ީS![s +cn[[Xs˽J4 y1!oPl,>ʆf,ԡ#y3.6y6SЈ0uVAS zѧ~II3 #f 6cfNuIЩLqH׳0bF>+򀇵X^t"U8D1$VҩlqOɟ_ҀRȈTc1 5- (H@49ӂUԬQg;Dr>!<g\PO1i39sHZåM6!6! $7h2y4s@ϥ0&Ō Шϑb1 1`F*ͦSc`,[D_z-܆xX#TXczTe௡қ:ՇDy{Q^_CW;w #`7$4lxƕ.6WIgp|aG-&)s"( l04<ؾ;@{E-!0rs] :>Owjqn@z$L7HSddOer{T.iS %A P°PVr7oMޡ(en\@3ı [X ٵLS:>\~CeU=~OB3씕 7򟒣 ((,kϣ7a]dd8@K]gY R%z\#&ZR9#Hv'% qǿl,I䫻uh1>bJ;h> U 9XaVZ-e`O) ?;6[ŭހ2u,hNكތpf'CQ?qȳ<-1%St~O H z{+;Vx^TƛEK2 &S(͔UJkBc7&ܹb1$b(;e/'R>PfS[iu%G [<9d6~J̝X<7 81 %ȕ zwha D;©Qd"r¶ < c`~eju} $OҜlN w*_O2^?!K-sD?-TWSݥ81i *U@! # #X*{TEi񷅍> 6ͿuV2G 8;4> ILQ7 a'~N~oivSEo%JT-5*Ɩ 7ބ0QEz5zxrx q=4.a72y׬RA~v5 VsB0ܢv ߅sό t~Ϻ]Uۊ[HW82+;&:gU-"H*xq[#0?9Q;ŷVi/gY瞷^iv-U³g&,y.Z2% /Xs~.KzļeZu_n@"R7Phֳd2SA>@u\hy( OEfIRP $oQ&OWQZ1^LܷT}Sp`u =ȕ(ALeCыf0BtMI/ԁN?2Í*Mos~|R uՒHؚ8-gΐ!Z+[x<=Y̞Mao~ǵbpvf\ET+'w]|Kč 0Z.;K'Bi*tHQKլ3ZoTFY0-':%vc~"6'S75( YEfp㸄MsQERCOQJMaf <4Ac/:`$] KTV4GtŹ)TP'Q}9!