Open rdubya opened 7 years ago
There is another issue opened at Rails rails/rails#30543 about 'ASCII-8BIT' differences between CRuby and JRuby.
I do not know if they are related.
FYI Here is the step to reproduce.
$ cd rails/activerecord
$ git checkout 5-1-stable
$ bundle install
$ ARCONN=jdbcpostgresql bin/test test/cases/binary_test.rb:40
$ ARCONN=jdbcpostgresql bin/test test/cases/binary_test.rb:40
Using jdbcpostgresql
Run options: --seed 49669
# Running:
F
Finished in 0.317993s, 3.1447 runs/s, 9.4342 assertions/s.
1) Failure:
BinaryTest#test_load_save [/home/yahonda/git/rails/activerecord/test/cases/binary_test.rb:40]:
Reloaded data differs from original.
--- expected
+++ actual
@@ -2,19 +2,19 @@
\x0E\v\v\x0E\x14\r\v\r\x14\x17\x11\x0E\x0E\x11\x17\e\x15\x15\x15\x15\x15\e\e\x15\x17\x17\x17\x17\x15\e\x1A\x1E ! \x1E\x1A''**''555556666666666\xFF\xDB\x00C\x01\x0E\r\r\x11\x11\x11\x17\x11\x11\x17\x17\x13\x14\x13\x17\x1D\x19\x1A\x1A\x19\x1D&\x1D\x1D\x1E\x1D\x1D&,$ $,(+&&&+(//,,//666666666666666\xFF\xC0\x00\x11\b\x00\xAF\x00\x83\x03\x01\x11\x00\x02\x11\x01\x03\x11\x01\xFF\xC4\x00\e\x00\x00\x02\x03\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x05\x00\x03\x06\x02\x01\a\xFF\xC4\x00@\x10\x00\x02\x01\x03\x02\x04\x03\x05\a\x03\x01\x05\t\x00\x00\x00\x01\x02\x03\x00\x04\x11\x12!\x05\x131A\"Qa\x142q\x81\x91\x06#BR\xB1\xC1\xD13b\xA1\x92\x15$C\xE1\xF0%5Ers\x82\xA2\xB2\xF1\xFF\xC4\x00\x19\x01\x00\x03\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\xFF\xC4\x00*\x11\x00\x02\x02\x01\x04\x01\x04\x02\x02\x02\x03\x00\x00\x00\x00\x00\x00\x01\x02\x11\x03\x12!1AQ\x04\x13\"a2q\x81\xA1BR\x91\xB1\xC1\xFF\xDA\x00\f\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xFAu\x00J\x00\x94\x01(\x03\xC6`\xA3'`:\x93@\x03{t.\x9A\xA1a >\xEB\x03\xE1?:\x00M-\xE7\eY\xC0\x95\xA1\x106\x7F\xA5\x9C\x8F\xF5oQ+\xF24p\xED#\x9C\xBB\xB3|\xEA
-\x05\x91\xD9.\xE0\x8E,\xB4\x92\x86P3\x801\x83\x9F\x8D\v\xE8d\x1CZ\xFCY\xC8\xE9!\x8A\xE2/y\x1F\xC4\x03)\xF1/\x8A\x9D\xB4*\x1CA\xC6\\m:g\xFB\x93\xF8\xAAS\xF2'\x11\x9C\x170\xCE3\x13\x06\xF3\x1D\xC7\xC4U\x92[@\x12\x80%\x00J\x00\x94\x01(\x02P\x04\xA0
+\x05\x91\xD9.\xE0\x8E,\xB4\x92\x86P3\x801\x83\x9F\x8D\v\xE8d\x1CZ\xFCY\xC8\xE9!\x8A\xE2/y\x1F\xC4\x03)\xF1/\x8A\x9D\xB4*\x1CA\xC6\xC7\xFB\x93\xF8\xAAS\xF2'\x11\x9C\x170\xCE3\x13\x06\xF3\x1D\xC7\xC4U\x92[@\x12\x80%\x00J\x00\x94\x01(\x02P\x04\xA0
\xE6\x99 Mnv\xFDh\x01-\xC5\xD1\xBBm2\x8F\xF7n\xF1\xF5\r\xE8|\xEAu\x0E\x84\xF0\t,\xB8\xA2C\x00+d\xC1\xA5\x8E3\xDB\xF3\xA0\xF9\x9C\x8A\x9B\xDC\xAA\x0Ff\xD5;\x9Fx6\xEAN\xD8\xCF\xE1\xF9R`\x8Ee\x8F\x98\x85r\xC9\x9E\xEB\xD6\x90\xC9\xC3\xD2$\xBB\x8E\x15b\xEF\x04n_\x99\xBB\xE5\xCA\xEF\x9F\xF1U\x12Y_\x1C\xE1\xF1i\x92\xECJ\xD13i\f\x80\x02\x1D\x89
>t\xE6\x87\a\xB9\xCC\bQ\x0233c\xF1>\xE4\xFD*\x06\x10\e\x94D\x88\xDA]w\f\x0F\xEBBbh{mw\xAD\x13\x9D\x84\x91\xB1\xF0'\xC8V\xA4\x05S\x02P\x04\xA0\t@\x12\x80%\x00W4\xCB\fe\xDB\xA0\xFF\x004\x00\x8E\xEA\xE5\xA5nd\x87\x03\xB0\xF2\x15\x93e$\f. '\xDF\x1F\xF5\xF1\xA40N-7\xB3\xC5\x15\xD2\x8C\x88d\f\xC4vC\xE1}\xBE\x06\x81\xA0\xE0WfS\xA8\x1D\xC1\xF3\xA0EW\x00\x90\x19_C\xAF\xBA\xDF\x87\xE0\xD5\x12_\xC3\x00k{\xA8\x92\xE2)B\xE6\xE5\xC3\xA4\x9E\x99\xC1\xC1\xF8i\xDA\x9C2/\xE4<\x97\xDE\xCE\xEFo\x99PJQ\xD5\x91F\xD9\xF1\x01\x83\xBF\xAD[v$[\xF1\xD8\xD2(\x8C\aO:H\v\x183\xBE\xB6\xDC\xF6\xF4\xF8UY#k\v\xDEg\xDDI\xFDA\xD0\xFEo\xF9\xD5\xC6V*\x0E\xAA\x11(\x02P\x04\xA0\x0F\t\xC6\xE7\xA5\x00cn~\xD0\xDE__\xFB5\xAD\xB1\xE5\xE5\x84%\xF6\xD5\xA7\xAB|\xFBTs\xC1T\x17\x0F\vk\x91\xCC\xE2;\xB7\xE1\x81N\x15~%z\xD5$+\xF0v\xFC\x13\x87\x91\xE1C\x19\xECQ\xD8\x1F\xD4\xD1H,_\r\x85\xC4\xBA\x843\x00\x9A@d\x90j\r\xAB \xEE?\x8A\x88\xAB-\xB0Ks}iqu\x98\xD5\xC20B\x01\xDBe\f
-\xE7\xB1\x06\x93A\xF6\x1F\xED\x1CDu\xB1\x93\xE4W\xF9\xA3K\r\xBC\x8B\xC4\x80_,\xC6\x17Y\x9C2\xAC[n\xDD\x06\xC3\xD2\xB3\xAA\x95\xF6\x05\xD7w\x97\x1C\x9C\ei\"%\x97K\x91\xB6C\x03\xF5\xDA\xAD\x8E!\v\xC4gm\xFD\x8Em\xF7\xCE\x93\xDF\xE5N\x98\x89\xED\x97\xB2\x9D0\xDA\xE1\xBA\x10\xE4\x021\xE7\x9AT\x04x\xF8\xA8\x01\xA4h\xE3Rp@:\x8F\xE8?Zzh\x9B;\x83\x86\xCD\"\xAC\xC6\xF2Eoyt(\xDB\xCB\xAEi\xC6=\x85\xF4jm&\xE6\xC42r\xE3g\xF8\xF9\xFC\xEBBK\xE8\x02P\x04\xA0\x05|r\xE5\xA3\x84@\x9De\xF7\x8Eq\x85\x1Dw\xF5\xA8\x9B\xD8q\x10XG\x8E#\x13`\xED\xAB\xF1\x03\x8D\x8DL\v\x97\x03\xFA\xD4\xCC\xE4\xD0\x00\x16\e\x16\x1E\x83\xF7\xA8\x87eK\xA0.\"R\xD7\x88\xAC\xF37\xFB\xB5\xDAr\x9B;\x05\x92?w\xEA\xA4\xD2\x91Q\xE3\xF43\x92\xE1bTc\x9C1\x03`OZ\xD3\xA2R\xE4I*I%\xCE\xB5(\x80K\xA66'\xDE\xF7\xB6\xF8\xEF\xDA\xB2\xADOb\xC6\x9E\xD5k\x1D\xB1\xE6\x00\xED\a\x8Du\xEF\x92\x9D\xC0\xF4\xAD*\x8A\x866\xE4\x97\x91e\xA7\xDA\x8Fj\x91W\x90\xC6F\xD5\xA8)\xF0\xAE\x06\xD98\xEFI3\xBE~\x93Ga\xF0\xDE\xDB\x99QX\xE2Y\x01\xD2H#\xA7\\\x93\x8A\x7Fg>_N\xDAmtYv|*=s\xF4\x14\xA6q\"\xD86\x89\a\xA0\xA7\x1E\x84\xF9\t\xB6\x9F\x95 o\xC2vo\x850\x1CP\x04\xA0\t@\x19\xFE.\x9E\xD1\"\xB6\xDBg\xA8\xCE\xDBTL\xA8\x8B\xEDa\t{\x13\x16_{\xF2\x80z\x1F*\x98\x94\xC7u\xA9\x99\xC94\x00\xBE\xD0\xE2F\xFF\x00\xCB\xFB\xD4C\xB2\xA5\xC2\x01\xFBA$-\x1AD\xE7\x05\x1CI\xAB\x19\v\x83\x9D\xC0\xED\x8AO\xC7\x82\xB1\xFD\x16O~\xAC]r\xBE\x02\xA9\x19\xF1\x1F\xBD\xC6\xAF\xBC\xD1\xD8yU\x96\xA3B\xC7\x9AYR9 p\x913\x06d x\\\x90\x03\x8F\xCA\xB9\x1D*S\xE7\xA0\xDA\x9D-\xD9&\x97\xD9\x88\xD36\xB4V\xD0#
-\xBF\xD59b\xCCF:\xD3\x1A\x93T\xD8\x14\x87\x97\x1C\xB7\x1C>]\x00)Y`n\xA7G\x84\x10q\x827\xF8\xD2[\xEE\x8FC\x0Eu\x9A?(\xFC\xAF\x90\xC2\xF7\r\x1CV\xC62\xCA\xB0\x86R\xB8\xD4\xF2\xF8I\xD1\xBE<>T\xFE\x84\xA5\x15'\xBE\xF7\xFD\x0E$.a\x8C>\xAEg,\xEB\xD5\x8DY\xC67\xD3\xB5)\xF4y\xD9)\xCEMp\x16\x9B(\x1E\x95}\x18\x9E\xE6\x80\x19\xF0\xAB\x93<\f\e\x1A\xA2b\xBB~_\xC2i\x00u0*\xB9m1\x9F3\xB5\x00 \xE2hI_\t`\xC0\xAE\a\xD6\xA2EDZ\x90\xC8\xD7v\xE3C\f8\xDF\x18\xE9\xB9\xA9\x8B)\xF6h\rjfTdQ \x8F>22\a\xA0\xA5}\x00\f\a\x12\xB7\xC0\xFE\xB58\xF95\xAB\xA4'\xE2\x92\\\xC9w\x88\xE3\xD5\x14\x89\xA6B?-k\xED\xBB\x7Fq:a\x87E\xAF(\xF7\x82K\xED6\xA1\x9BSJF\x18\xAA\xE0dl\tm\xA8\xAF\x8A\xB6L\x93\xD2\x96\xC9\x15_\xDDK\x15\xBC\x91\x90K4J\xBC\xDF\x0E\x87rq\xB8\xC7Z\xCE]\x99\xC9m\xB7\x90;\xD4kH\xA2\x8C\x9Dn\xAD\xE3\x93c\xE2\x18\xD8m\x9E\x86\xB9\xF3)mO\x83\x06\xD8W\x06\xB1\xBA\xD5\x97\x99\xA3\x86\xD9\xB5{8\aF\xE38l\xEC{U\xE1\x1Cd\xD7\x01\xE6\xD9o\xF7s\x87\x8C\xAB\xA3\x0F\xC2w\xE9\xF2\xAB\x8Ff\x8AzX\\\xC7\xC7\x8F\xED\x03\xEAh\x97(\x85\xD8]hA(\x03\x8E\x054\xB1]\x98\x9DN\x96\xCA\x13\x8D\xB27\x15\x9A\xE4\xA7\xC1\xA5\xAD\t\x04\xBCm\xD5~t\x00\xA3\x8A{\x91\x9D\xBA\x9E\xBA\xBC\xBF\xB6\xA2eG\x91\\X\xF6\xB86A\xE3\x1D\xA4\xCDDy-\xF06\xBA\xBF\x86\xD43Jt\x85\x19\xFF\x00\xF2\xB64\xC5\xE9\xDC\xBF\x91g\x0F\xBE\x8F\x88\xDE\xB5\xC4D\xE8\x84\x159\x1D{\r>\x9E~\xB5\x9E\x8B\x9E\xAB'6\x0Fm\xAD\xF9\x05\xE2\xB7\xEBm\e\xE9\xF1\xC9\xBA\xE8\x1E\xA7l\xFF\x00\x15\xB4!M\xBB\xB3\xA7\x0E*\xA6\xC5S\xDDp\xF7\x9F\x97ur\xDBD0W!\x03\x1C\xE4xz\x11\xE4kG8n^L\xF0\xDE \x91q\xF3\r\xBF*\xDEF\x8F\xC7\x94\xDBa\x96\xC9\xDA\xB9\x8E\t>>\xCB\xEEx\x94\x93\x05\xE7\x81\".\xD8\x03\x04\x83\xDF\x1Et\xB5o\xB9\xA4\xAA\xB6{\x92Y\xDA\xE1R\xDD\xCF\xDD\x06b\xAC\x06\xE7>u\x9C\xDFH\xC9\xFC\xBA\b\xB7\x96[)|\x124\x9C\xD5\v\"\xBF\x9Bt#\xE5Y\xDB\x8C\x92]\x90\xB9\e\xC38\xB4\xD5\xCC\xF4\xD5\x8D\xF4\x8F\\Wlq\xD2m\xB3\xAB\xD8rWt[\x04\xF1]\xC8\xC63\x901\x83\xF0\xA1AM6\x81a\xF86\x1EH\x03'\xA0\xEAi\x1C\xA7\xA8I\x00\x91\xA7\xE3S`\x05k IK\x822\xAF\x9Fy\xC7CQ\xD9\xA5lk\x95\xB5\x00GC\xB8\xADL\xC0.\x0EeoM\xA8\x01\x7F\x10\x94\xC6\xAB\x81\x9E\xB5\x13*\"\xB6\xBA\x90\xCB\x10P\x17S\x01\x9C\xFA\xD4G\x92\xD0/\x16K\x9Bf\x9295L\x93+(\xC8\xCF\x8C\xF4\xD3\xF4\xAD\x8FS\x14\xA0\xD2\xAD\x9A\x01\xE1w\xE6\xD2F\xB7}P\xAF,\xA1o\xC4\xBD\xC3|\r`\xA4\xD4\xDD\xAB<\xE9\xEA\x96W\xB5\xFC\x85\xBCBy\xF0|GV\xE7#\xC8\xF5\xC7\xCA\xAAZ\xB57{2\xBDLrc\x93\xDF\x91T<\xA1&\xB9N\xC8A\xD1\xF9\xBD)\xA3\x96?e\xF7\xE6+\x999\x96\xC9\xE1\x032h\x18\x00y\x90:SEK\xF1T]i,dbl\xBA.H\xE9\x9D\xBC\xB5VR\x8E\xE2\xF0\xC7\x16\x170\xF8B\x1C\xB1\x04\xBA`\x17!w\xC2\x1F3\x9Ax\xF6\xAF&\x8B\xFBe\x17\xC5\x12\xE3\x96\x8A\xC3#\x9CK\xF8YCo\x8D;\xD2\xC9\xF1vC\xE5\xA0G\xE2\xCE\xC7\x94\xFF\x00\xD2\xCF\x88\xAE\xCCW\xD6\xAAR\x94\x95^\xC5{\xD2{>\a\x96\xB7\x10\xAB\x97\xB7;H\x00\xC7@\xB8\xF3\xAD\xE7\x9A\x11KA\xE8Jq\xD0\x92\f\x17\xD7\x12\xC6B\xA8\a>\x1DL\a\xC3\xC2q\xD3\xF5\xAEi9\xC9=?\xD9\xC1,oy\x04A\x13\x84\xD4\xFA\xA4\x91Fw\xC6\a}\xB79\xA9\xC7\x8D\xF3&\xDB2<\xB6\xBA\x97\x1D\xB4\xFCw\xAD\r\r?\x0F\x9F\x9Bg\x13\xB6\xCCF\xFF\x00-\xABT\xCC\xC1\xA49v>\xA6\x98\x00\xF1A\xFE\xED\x9E\x84\x1D\x898\xFDj2p4gV\xF5#V,\x83\x9D\xD15\x1D\x87\x9F\x9F\xD6\xB9\xB0\xE4z\xDCd\xBFF\xFE\x9F\xF2\xA9\x96p[\x86\x9Aq\xED=X\x9EK9\xDC\x8F,\xF7;Wg\xEC\xEB\xF5q\x8Cb\x9C^\xFE\x0E\xF8\xC4\x96\xD7\x17H\xAE\xEA\x96\xF6\xFE\x06`<\xCF\x89[\xD3\xCA\x88\xB8\xB7\xA5\xF2\x1E\x8Ej*K\x9C\x8F\xC9\xDC\xDC.\x12\xA0\xDBx0WX\xF7\xB5F:\xAE\xFF\x00\x98WC\xC6\x99\xAC\xDC\xB2GK*\xBD\xFB9\xC3\xAE\x1Dd\x8Dy9*HOw\x1D\xC6\x9E\xC4\x8A~\xC4\x19\x83\xF4\xD0\x7FL\xE1\xBE\xCD\xD9\xC2&kPQ\xE5VD\x8C\x9C\xA7\x88i\xDF9>\xB4\xA5\x81t)zeN\xB6\x03o\xB2\xD1[[.\xA2\xD3\xC8\xA0\x99
+\xE7\xB1\x06\x93A\xF6\x1F\xED\x1CDu\xB1\x93\xE4W\xF9\xA3K\r\xBC\x8B\xC4\x80_,\xC6\x17Y\x9C2\xAC[n\xDD\x06\xC3\xD2\xB3\xAA\x95\xF6\x05\xD7w\x97\x1C\x9C\ei\"%\x97K\x91\xB6C\x03\xF5\xDA\xAD\x8E!\v\xC4gm\xFD\x8Em\xF7\xCE\x93\xDF\xE5N\x98\x89\xED\x97\xB2\x9D0\xDA\xE1\xBA\x10\xE4\x021\xE7\x9AT\x04x\xF8\xA8\x01\xA4h\xE3Rp@:\x8F\xE8?Zzh\x9B;\x83\x86\xCD\"\xAC\xC6\xF2Eoyt(\xDB\xCB\xAEi\xC6=\x85\xF4jm&\xE6\xC42r\xE3g\xF8\xF9\xFC\xEBBK\xE8\x02P\x04\xA0\x05|r\xE5\xA3\x84@\x9De\xF7\x8Eq\x85\x1Dw\xF5\xA8\x9B\xD8q\x10XG\x8E#\x13`\xED\xAB\xF1\x03\x8D\x8DL\v\x97\x03\xFA\xD4\xCC\xE4\xD0\x00\x16\e\x16\x1E\x83\xF7\xA8\x87eK\xA0.\"R\xD7\x88\xAC\xF37\xFB\xB5\xDAr\x9B;\x05\x92?w\xEA\xA4\xD2\x91Q\xE3\xF43\x92\xE1bTc\x9C1\x03`OZ\xD3\xA2R\xE4I*I%\xCE\xB5(\x80K\xA66'\xDE\xF7\xB6\xF8\xEF\xDA\xB2\xADOb\xC6\x9E\xD5k\x1D\xB1\xE6\x00\xED\a\x8Du\xEF\x92\x9D\xC0\xF4\xAD*\x8A\x866\xE4\x97\x91e\xA7\xDA\x8Fj\x91W\x90\xC6F\xD5\xA8)\xF0\xAE\x06\xD98\xEFI3\xBE~\x93Ga\xF0\xDE\xDB\x99QX\xE2Y\x01\xD2H#\xA7\xDFg>_N\xDAmtYv|*=s\xF4\x14\xA6q\"\xD86\x89\a\xA0\xA7\x1E\x84\xF9\t\xB6\x9F\x95 o\xC2vo\x850\x1CP\x04\xA0\t@\x19\xFE.\x9E\xD1\"\xB6\xDBg\xA8\xCE\xDBTL\xA8\x8B\xEDa\t{\x13\x16_{\xF2\x80z\x1F*\x98\x94\xC7u\xA9\x99\xC94\x00\xBE\xD0\xE2F\xFF\x00\xCB\xFB\xD4C\xB2\xA5\xC2\x01\xFBA$-\x1AD\xE7\x05\x1CI\xAB\x19\v\x83\x9D\xC0\xED\x8AO\xC7\x82\xB1\xFD\x16O~\xAC]r\xBE\x02\xA9\x19\xF1\x1F\xBD\xC6\xAF\xBC\xD1\xD8yU\x96\xA3B\xC7\x9AYR9 p\x913\x06d x\xF7\xCA\xB9\x1D*S\xE7\xA0\xDA\x9D-\xD9&\x97\xD9\x88\xD36\xB4V\xD0#
+\xBF\xD59b\xCCF:\xD3\x1A\x93T\xD8\x14\x87\x97\x1C\xB7\x1C>]\x00)Y`n\xA7G\x84\x10q\x827\xF8\xD2[\xEE\x8FC\x0Eu\x9A?(\xFC\xAF\x90\xC2\xF7\r\x1CV\xC62\xCA\xB0\x86R\xB8\xD4\xF2\xF8I\xD1\xBE<>T\xFE\x84\xA5\x15'\xBE\xF7\xFD\x0E$.a\x8C>\xAEg,\xEB\xD5\x8DY\xC67\xD3\xB5)\xF4y\xD9)\xCEMp\x16\x9B(\x1E\x95}\x18\x9E\xE6\x80\x19\xF0\xAB\x93<\f\e\x1A\xA2b\xBB~_\xC2i\x00u0*\xB9m1\x9F3\xB5\x00 \xE2hI_\t`\xC0\xAE\a\xD6\xA2EDZ\x90\xC8\xD7v\xE3C\f8\xDF\x18\xE9\xB9\xA9\x8B)\xF6h\rjfTdQ \x8F>22\a\xA0\xA5}\x00\f\a\x12\xB7\xC0\xFE\xB58\xF95\xAB\xA4'\xE2\x92\xD0\xE3\xD5\x14\x89\xA6B?-k\xED\xBB\x7Fq:a\x87E\xAF(\xF7\x82K\xED6\xA1\x9BSJF\x18\xAA\xE0dl\tm\xA8\xAF\x8A\xB6L\x93\xD2\x96\xC9\x15_\xDDK\x15\xBC\x91\x90K4J\xBC\xDF\x0E\x87rq\xB8\xC7Z\xCE]\x99\xC9m\xB7\x90;\xD4kH\xA2\x8C\x9Dn\xAD\xE3\x93c\xE2\x18\xD8m\x9E\x86\xB9\xF3)mO\x83\x06\xD8W\x06\xB1\xBA\xD5\x97\x99\xA3\x86\xD9\xB5{8\aF\xE38l\xEC{U\xE1\x1Cd\xD7\x01\xE6\xD9o\xF7s\x87\x8C\xAB\xA3\x0F\xC2w\xE9\xF2\xAB\x8Ff\x8AzX\xD7\xED\x03\xEAh\x97(\x85\xD8]hA(\x03\x8E\x054\xB1]\x98\x9DN\x96\xCA\x13\x8D\xB27\x15\x9A\xE4\xA7\xC1\xA5\xAD\t\x04\xBCm\xD5~t\x00\xA3\x8A{\x91\x9D\xBA\x9E\xBA\xBC\xBF\xB6\xA2eG\x91\xB86A\xE3\x1D\xA4\xCDDy-\xF06\xBA\xBF\x86\xD43Jt\x85\x19\xFF\x00\xF2\xB64\xC5\xE9\xDC\xBF\x91g\x0F\xBE\x8F\x88\xDE\xB5\xC4D\xE8\x84\x159\x1D{\r>\x9E~\xB5\x9E\x8B\x9E\xAB'6\x0Fm\xAD\xF9\x05\xE2\xB7\xEBm\e\xE9\xF1\xC9\xBA\xE8\x1E\xA7l\xFF\x00\x15\xB4!M\xBB\xB3\xA7\x0E*\xA6\xC5S\xDDp\xF7\x9F\x97ur\xDBD0W!\x03\x1C\xE4xz\x11\xE4kG8n^L\xF0\xDE \x91q\xF3\r\xBF*\xDEF\x8F\xC7\x94\xDBa\x96\xC9\xDA\xB9\x8E\t>>\xCB\xEEx\x94\x93\x05\xE7\x81\".\xD8\x03\x04\x83\xDF\x1Et\xB5o\xB9\xA4\xAA\xB6{\x92Y\xDA\xE1R\xDD\xCF\xDD\x06b\xAC\x06\xE7>u\x9C\xDFH\xC9\xFC\xBA\b\xB7\x96[)|\x124\x9C\xD5\v\"\xBF\x9Bt#\xE5Y\xDB\x8C\x92]\x90\xB9\e\xC38\xB4\xD5\xCC\xF4\xD5\x8D\xF4\x8F\xE1\xD2m\xB3\xAB\xD8rWt[\x04\xF1]\xC8\xC63\x901\x83\xF0\xA1AM6\x81a\xF86\x1EH\x03'\xA0\xEAi\x1C\xA7\xA8I\x00\x91\xA7\xE3S`\x05k IK\x822\xAF\x9Fy\xC7CQ\xD9\xA5lk\x95\xB5\x00GC\xB8\xADL\xC0.\x0EeoM\xA8\x01\x7F\x10\x94\xC6\xAB\x81\x9E\xB5\x13*\"\xB6\xBA\x90\xCB\x10P\x17S\x01\x9C\xFA\xD4G\x92\xD0/\x16K\x9Bf\x9295L\x93+(\xC8\xCF\x8C\xF4\xD3\xF4\xAD\x8FS\x14\xA0\xD2\xAD\x9A\x01\xE1w\xE6\xD2F\xB7}P\xAF,\xA1o\xC4\xBD\xC3|\r`\xA4\xD4\xDD\xAB<\xE9\xEA\x96W\xB5\xFC\x85\xBCBy\xF0|GV\xE7#\xC8\xF5\xC7\xCA\xAAZ\xB57{2\xBDLrc\x93\xDF\x91T<\xA1&\xB9N\xC8A\xD1\xF9\xBD)\xA3\x96?e\xF7\xE6+\x999\x96\xC9\xE1\x032h\x18\x00y\x90:SEK\xF1T]i,dbl\xBA.H\xE9\x9D\xBC\xB5VR\x8E\xE2\xF0\xC7\x16\x170\xF8B\x1C\xB1\x04\xBA`\x17!w\xC2\x1F3\x9Ax\xF6\xAF&\x8B\xFBe\x17\xC5\x12\xE3\x96\x8A\xC3#\x9CK\xF8YCo\x8D;\xD2\xC9\xF1vC\xE5\xA0G\xE2\xCE\xC7\x94\xFF\x00\xD2\xCF\x88\xAE\xCCW\xD6\xAAR\x94\x95^\xC5{\xD2{>\a\x96\xB7\x10\xAB\x97\xB7;H\x00\xC7@\xB8\xF3\xAD\xE7\x9A\x11KA\xE8Jq\xD0\x92\f\x17\xD7\x12\xC6B\xA8\a>\x1DL\a\xC3\xC2q\xD3\xF5\xAEi9\xC9=?\xD9\xC1,oy\x04A\x13\x84\xD4\xFA\xA4\x91Fw\xC6\a}\xB79\xA9\xC7\x8D\xF3&\xDB2<\xB6\xBA\x97\x1D\xB4\xFCw\xAD\r\r?\x0F\x9F\x9Bg\x13\xB6\xCCF\xFF\x00-\xABT\xCC\xC1\xA49v>\xA6\x98\x00\xF1A\xFE\xED\x9E\x84\x1D\x898\xFDj2p4gV\xF5#V,\x83\x9D\xD15\x1D\x87\x9F\x9F\xD6\xB9\xB0\xE4z\xDCd\xBFF\xFE\x9F\xF2\xA9\x96p[\x86\x9Aq\xED=X\x9EK9\xDC\x8F,\xF7;Wg\xEC\xEB\xF5q\x8Cb\x9C^\xFE\x0E\xF8\xC4\x96\xD7\x17H\xAE\xEA\x96\xF6\xFE\x06`<\xCF\x89[\xD3\xCA\x88\xB8\xB7\xA5\xF2\x1E\x8Ej*K\x9C\x8F\xC9\xDC\xDC.\x12\xA0\xDBx0WX\xF7\xB5F:\xAE\xFF\x00\x98WC\xC6\x99\xAC\xDC\xB2GK*\xBD\xFB9\xC3\xAE\x1Dd\x8Dy9*HOw\x1D\xC6\x9E\xC4\x8A~\xC4\x19\x83\xF4\xD0\x7FL\xE1\xBE\xCD\xD9\xC2&kPQ\xE5VD\x8C\x9C\xA7\x88i\xDF9>\xB4\xA5\x81t)zeN\xB6\x03o\xB2\xD1[[.\xA2\xD3\xC8\xA0\x99
\x1D;\xFF\x00h \xD62\xC5F\x12\xF4\xF5Evp\b\"\x8F\x11lQ\xBD\xA5\xA5\x1E1\xD4\xFD\xD6\xAD\x81\xC7\xD6\xA3I:R\xB0P\xD1\xDCj0\xEA\x9B\xC3\xA7\x98\xC3\x127\x7F\x10\xC9\xE9\xD2\xB9r\xDB\x92\xA4d\xFEO\x80GHc i\xCB\x0E\xB8\xDCg\xCC\xE7\xBD;\xD4\x97B\xAE\x92\er\xB4Ih\":\xDFc+u@\xBEX\xEF]\x91\xC2\x92K\xFEOF8\xB6\x8F\xF66\x89a\x92\xE1\xE1\x8D\x902\xE1\xD7\x03\xC2z{\xB9\xCDi\fJ-\xD7\x06\x8B\x1A\x8A\xE3\x91\x9471\x82bv
\xE3\xA0#N\x7F\x9A\x9C\x90\xA3\x936
\xDD\x01\xDB$:\x0F\x85s\xB9\xEA\xE3\xF6\xAEZ1\x1Fp\xF6\ti\x1A\x81\xB6?\x7FZ\xB4f\xCFj\xC4\r\x7F\xBC\x18\xCE2|\x81\xFDje\xC0\xE3\xC9\x98\xE36\xBFr\x93,\x9E8\xBB\xE3\xAF\xCB\xA6?Z\x85Gf)\xC6\x9Cf\xAC\x058a\xDAF\x90-\xCA\x7F\xA0\xF9|)\xFBz\xA3\xCD\rzmq\xD7\xA8'\x87-\xF3\xCE\xD3s \x8DG\x87,A\xD4;\xAE\x93\xFA\xD6\x9E\x9A5\xD8`\xED7\x7F\xF66\xF6\x86\x1F\x93#o\xBB`G\xFAz\xD7i\xD9\x14pn%bDJ[O\xBD\x8E\xD5\xC9\x93\xD5(\xBA\x14\xA5\x15\xDD\x1E\xAD\xF8\xEAv=7\xED[\xE3\xC8\xA6\xAC\xB5\e\xDC
-n0\x92\xBA\xDB\xC2\x19\xD9\xDB\xEF\x1Dv\xC2w\xD2z\x13Jr\xE8\xE6\xCA\xFAE/p\xC1\xCB\xAE\x1A\xDC!g\x18/\xB0l\x92\x84\xFE\x95\x8B\xE4\xE7\x92\xAF\xD2+\x8E+;\x84of\x1C\xB9\\\xEA\x8D\x88\xC1q\x9D\xC9\xEF\xDE\xA2PSO\xAF\x04i\xB5h/\x84\xF0\x94\x9Ab\xD3\xC5\xD0\x11\xD7c\x8F\xCE:\xD6k\x13\xB5uHQ\x86\xF61kX/\x11\xCC:#\xB8\x85\xF4\x8C\xFB\x85\x97\xA2\xB67\xC7\xC2\xB7S\xA3\xAF\xE7\x0E;BKf\x9E\xDC\xE9\xB8\x02+\xCBl\xC4\xC9\x8D\xB3\x92\xCB\x82z\xAB)\xEB\xE5Zj\xF8\xDD\xEE\x11\xCDp\xDF\x94\x1Fuw\xAE\rm\xA0\\\xC4\x03h\a9\xD5\xB7\x83=}+/q\xEFdc\xCFM\xDE\xE8\xA7\x87\xCFp\x92+]\x86S\x19\xD5\x1A\xB6I=T\xE8\xF2\xDE\xB2\xDF\x96c?>M\r\xB5\xC34*U\t\x1Et\xD1\xCE\eV ^ \x85\xAD\xC9\x1DW\x7F/J\x89p4f\xEF\x91\xD6\x16\xC4`\x9F\"\xC3?-\xEB\e-\xFD\x01O\xCBh\x91b\x85\xA1\x7F\xF8\x9A\x9F^O\xE8+\f\x99\x1Di[$O\xBB*\xD3{\x04\xF0\xB9\x95J\xDB2G\xA5\xCF\xBE\xF9\xCF\xA0\x15\xBF\xA3\xCD\xF2Pu\xBF\xF9vm\xE9\xB2S\xA1\xA0\xF6\tY\x96\x10\x92\x14\xF7\xCA\xE0\x85\xF8\x91\xB5z\xCA\x99\xE8\xC6w\xD9X\x13@\xA4\xC7\x8D,s\x82+\x97'\xA1\x8C\x9D\x8EX\xA3#\x81h\x87y\xC6\xA0\xDDs\xD3>\xB5\xBE<+\x1A\xA2\xB8Tywm\x05\xB42>y8\x1A\xB20\t\xD3\xBE\x9C\xB7\x9D)\xAF\xB3\x9F/\x9F\x06v\xEEHx\x8A\xC6\xD1I\x99\xCE\xC1b\x04\x00\xB8\xF7]O\xAF\x95s\xB3\x8D\xD4\xB7\xEC;\x84{M\xBD\xB9\x0E\x8550*q\xA5\xF0z\xB0\r\xBFjQ|\xEC<H\xD0p\xB9\xB2\x99\\\xB1\xCE\x99d#K1\x1Eb\x8B5\xD2\x9D\x94q?\xB9\xBD[\xB8QL\e\t\x11\x01\xC8~\xC5\x82\xD0i\x8F%A\xC1\xFE^D\\j\xF1n/\"\xBA\xDC\xF2\x93\x97\x83\xD0\x8E\xE3m\xFA\x1Cnj%#\xCF\x9EO\x96\xC5\xBC\xCEu\xA3\xCF\x1C ,X\x8C\x05\xC1\xC0\e\xEF\xA8t\xA5v\x9B.\xEE:\x82\xF8l\xC8\xD6\xD8]*\xFAq\xA7}Z\x8FRs\xDB\xD0z\xD0\xA5q~F\xDE\xA4Z\"\xBB\xC6\xD2O\x8FM |\xB0j\xA2\xB6'cQp\xC2\"\xE4\x82B\x9E\x8A2~\x82\x9B\xDBs1\x1F\x14\xE2\xC0\x8EHA\xA3\xF1s2\b\xF8\xA8\xFD\xEB\x97.[\xDB\xFF\x00\x04g\xE5\xBB\xCE\xF1\xC7\xF7q\x9C\xEB\xC6\x01\xF5\xD5\xB95\t?\xD0\xCF}\xAC\xCE\xE5\xDF\xDEc\x96\xF8\x9A\xC6wn\xC4qs\x8D'=\b?\xA5\x10\xE51\xAD\x86\x1C#\x88\xF0\xB88d1G \xC2iY\x17\xA3\xC93\xF5\x01{\xEF\xDE\xBD\xB8MR;\xF1d\x8E\x95\xB8\xD7R\xCE0\xBF\xD2\x04\x82\xC7l\x91\xD8f\xB5\xD4t)\x00\xC7\x7F\x14\x17>\xCB;j\xE7&\xB8\x83m\xA9A+\xA4g\xBDK\x9FB\x96Eu\xC3\x16q\xCB\xF8\xAD\xAD\xFD\x9C\xB0\x94\xC84\xB4-\xBE<\x8E{Vs\x9A1\xCF\x964\xD7\x90^\a?\f\xE1\xF2\xDA\xDC\xCA\xC08}$\xE4\xE4j\xF0\xB9#\xA6\x06v>U\x89\xC9qIy\x1E^\xAC\x13]9_\xBE\\\x02e\x8D\xBE`\x02\r\x16\x8E\x88\xB0\xCBK\xB5\a2\x10;*\xE4\r\xBD3\x8AE\xB5\xC0\xA7\xED\x04\xC5.RH\x9B\x97\xCCS\xADU\xBA\xF6\xC9\xED\xB8\xAE|\xCD\xA6\xA8\xE5\xCC\xF7\xE4\xCF<\xA5\xA5lo\x8F\xFA\xDA\x8F\xC9&\xCEq\xDF\x02\x91R\xD6\xE8I\xBA\x9F\xF8G\xA3m\xDF\xEBZF\xAB\x93l_\x83\xB2\xDE\x1D$v\x89\xA2vQ\xF9J\x8F\xC2|\xF4\xEFS\xAE+\xB1^\xC6\xCA\xC1\xA1\x9E\xD69b\xDD\e\xA7\x84\x8E\xF8\xADT\x91\x05\xD7`\x89[\x1D\xF7\x15@d\xF8\xC5\x97\x14\xE63\xB9\x13[\x03\xA8\x15\xC2\x01\x9E\xE5|\xFDk7|\x92\xD3\x14\xB8\xF0\xE0\xE1\x87\xC7\"\xA1\xC9x\x16\x86M\xA5r\xC4\xE9\x98\x05A\x16\x9F\x7F\e\x0F\x98\xFF\x005\x13\x86\xB5\xF65\xF7\xC9\xCD\xE8\xE5\xDB3\xC8\b\xE5\xF8Xw\xDF\xA7Z\xE6\x8C^\xB4\x8A3\xA0\b\xDA7G\xC9\xD9\xB2:\xA9\xF29\xEE=+\xD0\xBA\x12u\xC0|\xF3\xDF\xDD\x01$\xB3hT`\xCA\xA3\xDD\xC8\xEF\x8Ao?\xF2\xCD}\xD9\xBE\xCA\xB8\x9F\x12\x92\xF6Q!# \x05_O\x85-NN\xE4D\xF290{{w\xB8\x90\"\xF5\xDC\x96\xFD\xE9\xD3\x04\x9B\xA2\xE9-9(\xDC\xC1\xBE\xDF,\xF4\xAC\xDA\x96\xA1J4[i\xC6\xE7\xB2\xB4kEDtl\xE2B0\xCB\xAB\xAFC\x83\xE9Z\x15\x19\xD0\xF7\x88}\xA2\xE1og\b\xB2\xCB^\xC5\x80L\x88}\xDC`\xFA\x1A\x19\xA4\xB2\x89y\xAD).\xF2\x12\xCC{\x8E\x9FJ\xE5\x931{\x9E{8> \xE3$\x8D\xB7\xDE\x8D[5D\xD7\xD8tv\xF2\x85\xD4\xCAB\xF9\xF6\xF2\xEBQ\xA6_\xC0\xD5\xF00\xB4\xE1\xB2?\x89\x94\xE3\xB61\xF5&\xB4\x86?%\xD7\x93\xE8vQrma\x8F\xF2\xA0\x15\xD5D\x94\xDF.\xEA\xDF*`\x01r\xA1\xE1u=0je\xD8\x19{\xDBx\x8C2\x80\xAA\xA4\xA9\xC6\x14\xAF\xADbh\xF8`6\x96\xF7R4|\xED\x81\xDCI\x8C\x91\x8D\xF7?\xB9\xA1&d\xAF\x91\xBD\xED\xBC\x13\xDA\x8F\xBBof#,\xD8\xDC\xA8\xE9\x8DnI\xDF\xA6\xF5R]\x94c\xAFx`\x84\xE5d\xD5\x11\xCE\x9F\t\xCF\xF1\xFEiG#\xFF\x00Qi\x18\xF0\v\xAB(\v\xFBx\xD3\xA9q\x038:t\x0E\xA0u\xDE\xAA\x97&\x91h]y\xECr\xDC\xCA\xD6\xDFwo\xEB\xFB
+n0\x92\xBA\xDB\xC2\x19\xD9\xDB\xEF\x1Dv\xC2w\xD2z\x13Jr\xE8\xE6\xCA\xFAE/p\xC1\xCB\xAE\x1A\xDC!g\x18/\xB0l\x92\x84\xFE\x95\x8B\xE4\xE7\x92\xAF\xD2+\x8E+;\x84of\x1C\xB9\xC0\xC1q\x9D\xC9\xEF\xDE\xA2PSO\xAF\x04i\xB5h/\x84\xF0\x94\x9Ab\xD3\xC5\xD0\x11\xD7c\x8F\xCE:\xD6k\x13\xB5uHQ\x86\xF61kX/\x11\xCC:#\xB8\x85\xF4\x8C\xFB\x85\x97\xA2\xB67\xC7\xC2\xB7S\xA3\xAF\xE7\x0E;BKf\x9E\xDC\xE9\xB8\x02+\xCBl\xC4\xC9\x8D\xB3\x92\xCB\x82z\xAB)\xEB\xE5Zj\xF8\xDD\xEE\x11\xCDp\xDF\x94\x1Fuw\xAE\rm\xA0\xD0\a9\xD5\xB7\x83=}+/q\xEFdc\xCFM\xDE\xE8\xA7\x87\xCFp\x92+]\x86S\x19\xD5\x1A\xB6I=T\xE8\xF2\xDE\xB2\xDF\x96c?>M\r\xB5\xC34*U\t\x1Et\xD1\xCE\eV ^ \x85\xAD\xC9\x1DW\x7F/J\x89p4f\xEF\x91\xD6\x16\xC4`\x9F\"\xC3?-\xEB\e-\xFD\x01O\xCBh\x91b\x85\xA1\x7F\xF8\x9A\x9F^O\xE8+\f\x99\x1Di[$O\xBB*\xD3{\x04\xF0\xB9\x95J\xDB2G\xA5\xCF\xBE\xF9\xCF\xA0\x15\xBF\xA3\xCD\xF2Pu\xBF\xF9vm\xE9\xB2S\xA1\xA0\xF6\tY\x96\x10\x92\x14\xF7\xCA\xE0\x85\xF8\x91\xB5z\xCA\x99\xE8\xC6w\xD9X\x13@\xA4\xC7\x8D,s\x82+\x97'\xA1\x8C\x9D\x8EX\xA3#\x81h\x87y\xC6\xA0\xDDs\xD3>\xB5\xBE<+\x1A\xA2\xB8Tywm\x05\xB42>y8\x1A\xB20\t\xD3\xBE\x9C\xB7\x9D)\xAF\xB3\x9F/\x9F\x06v\xEEHx\x8A\xC6\xD1I\x99\xCE\xC1b\x04\x00\xB8\xF7]O\xAF\x95s\xB3\x8D\xD4\xB7\xEC;\x84{M\xBD\xB9\x0E\x8550*q\xA5\xF0z\xB0\r\xBFjQ|\xEC<H\xD0p\xB9\xB2\x99\x99d#K1\x1Eb\x8B5\xD2\x9D\x94q?\xB9\xBD[\xB8QL\e\t\x11\x01\xC8~\xC5\x82\xD0i\x8F%A\xC1\xFE^D\xC6/\"\xBA\xDC\xF2\x93\x97\x83\xD0\x8E\xE3m\xFA\x1Cnj%#\xCF\x9EO\x96\xC5\xBC\xCEu\xA3\xCF\x1C ,X\x8C\x05\xC1\xC0\e\xEF\xA8t\xA5v\x9B.\xEE:\x82\xF8l\xC8\xD6\xD8]*\xFAq\xA7}Z\x8FRs\xDB\xD0z\xD0\xA5q~F\xDE\xA4Z\"\xBB\xC6\xD2O\x8FM |\xB0j\xA2\xB6'cQp\xC2\"\xE4\x82B\x9E\x8A2~\x82\x9B\xDBs1\x1F\x14\xE2\xC0\x8EHA\xA3\xF1s2\b\xF8\xA8\xFD\xEB\x97.[\xDB\xFF\x00\x04g\xE5\xBB\xCE\xF1\xC7\xF7q\x9C\xEB\xC6\x01\xF5\xD5\xB95\t?\xD0\xCF}\xAC\xCE\xE5\xDF\xDEc\x96\xF8\x9A\xC6wn\xC4qs\x8D'=\b?\xA5\x10\xE51\xAD\x86\x1C#\x88\xF0\xB88d1G \xC2iY\x17\xA3\xC93\xF5\x01{\xEF\xDE\xBD\xB8MR;\xF1d\x8E\x95\xB8\xD7R\xCE0\xBF\xD2\x04\x82\xC7l\x91\xD8f\xB5\xD4t)\x00\xC7\x7F\x14\x17>\xCB;j\xE7&\xB8\x83m\xA9A+\xA4g\xBDK\x9FB\x96Eu\xC3\x16q\xCB\xF8\xAD\xAD\xFD\x9C\xB0\x94\xC84\xB4-\xBE<\x8E{Vs\x9A1\xCF\x964\xD7\x90^\a?\f\xE1\xF2\xDA\xDC\xCA\xC08}$\xE4\xE4j\xF0\xB9#\xA6\x06v>U\x89\xC9qIy\x1E^\xAC\x13]9_\xBE\x85\xBE`\x02\r\x16\x8E\x88\xB0\xCBK\xB5\a2\x10;*\xE4\r\xBD3\x8AE\xB5\xC0\xA7\xED\x04\xC5.RH\x9B\x97\xCCS\xADU\xBA\xF6\xC9\xED\xB8\xAE|\xCD\xA6\xA8\xE5\xCC\xF7\xE4\xCF<\xA5\xA5lo\x8F\xFA\xDA\x8F\xC9&\xCEq\xDF\x02\x91R\xD6\xE8I\xBA\x9F\xF8G\xA3m\xDF\xEBZF\xAB\x93l_\x83\xB2\xDE\x1D$v\x89\xA2vQ\xF9J\x8F\xC2|\xF4\xEFS\xAE+\xB1^\xC6\xCA\xC1\xA1\x9E\xD69b\xDD\e\xA7\x84\x8E\xF8\xADT\x91\x05\xD7`\x89[\x1D\xF7\x15@d\xF8\xC5\x97\x14\xE63\xB9\x13[\x03\xA8\x15\xC2\x01\x9E\xE5|\xFDk7|\x92\xD3\x14\xB8\xF0\xE0\xE1\x87\xC7\"\xA1\xC9x\x16\x86M\xA5r\xC4\xE9\x98\x05A\x16\x9F\x7F\e\x0F\x98\xFF\x005\x13\x86\xB5\xF65\xF7\xC9\xCD\xE8\xE5\xDB3\xC8\b\xE5\xF8Xw\xDF\xA7Z\xE6\x8C^\xB4\x8A3\xA0\b\xDA7G\xC9\xD9\xB2:\xA9\xF29\xEE=+\xD0\xBA\x12u\xC0|\xF3\xDF\xDD\x01$\xB3hT`\xCA\xA3\xDD\xC8\xEF\x8Ao?\xF2\xCD}\xD9\xBE\xCA\xB8\x9F\x12\x92\xF6Q!# \x05_O\x85-NN\xE4D\xF290{{w\xB8\x90\"\xF5\xDC\x96\xFD\xE9\xD3\x04\x9B\xA2\xE9-9(\xDC\xC1\xBE\xDF,\xF4\xAC\xDA\x96\xA1J4[i\xC6\xE7\xB2\xB4kEDtl\xE2B0\xCB\xAB\xAFC\x83\xE9Z\x15\x19\xD0\xF7\x88}\xA2\xE1og\b\xB2\xCB^\xC5\x80L\x88}\xDC`\xFA\x1A\x19\xA4\xB2\x89y\xAD).\xF2\x12\xCC{\x8E\x9FJ\xE5\x931{\x9E{8> \xE3$\x8D\xB7\xDE\x8D[5D\xD7\xD8tv\xF2\x85\xD4\xCAB\xF9\xF6\xF2\xEBQ\xA6_\xC0\xD5\xF00\xB4\xE1\xB2?\x89\x94\xE3\xB61\xF5&\xB4\x86?%\xD7\x93\xE8vQrma\x8F\xF2\xA0\x15\xD5D\x94\xDF.\xEA\xDF*`\x01r\xA1\xE1u=0je\xD8\x19{\xDBx\x8C2\x80\xAA\xA4\xA9\xC6\x14\xAF\xADbh\xF8`6\x96\xF7R4|\xED\x81\xDCI\x8C\x91\x8D\xF7?\xB9\xA1&d\xAF\x91\xBD\xED\xBC\x13\xDA\x8F\xBBof#,\xD8\xDC\xA8\xE9\x8DnI\xDF\xA6\xF5R]\x94c\xAFx`\x84\xE5d\xD5\x11\xCE\x9F\t\xCF\xF1\xFEiG#\xFF\x00Qi\x18\xF0\v\xAB(\v\xFBx\xD3\xA9q\x038:t\x0E\xA0u\xDE\xAA\x97&\x91h]y\xECr\xDC\xCA\xD6\xDFwo\xEB\xFB
\x9D\xD1\x94\xB9\xD8\x1E&x\xDC\x18X\xA9\x1D\b\xDB\x1F
\xADl\x13g\xB2\xF3t\xAA\xC9#:\x82q\x93\x9E\xBB\x9C\xD1\xA9\xBE\xB7\vo\x93\xA1n\x92` \xD4v\x00g\x7F\x95E\xB5\xC8\x1C\vit\x99\x84gJ\x10\v|kNP\xE81\xFE\xE5SR6H\xDBn\xA7\xA9\xAEd\xB57\xB8\r\xF8-\xB5\xB5\xCA\t\x96T\xE7\xAFX\xDFu\x19\xE8\x0F}\xFD+hc^D\x86\x97\xF3J!\xB8\xB6u:\xB4\xAC\x9Ea\x97P\x19\r\xDC\xE7m\xEA\xFE\x8AG\xBC99\xAF\x14a[\xC6\xC0{\x9F\xBEjW%>\r\xDE+b
-\xAE\x93\\G\xCCn>T\x00\xB1\xB1\xA4\xE7\xA6(\xE8\f\xDD\xE4\v\xCB>&9\xEA2k\x9D\x9A\x84/\x0F\xF6\xFB;V\x18U\xD0\x16\\m\x9D9^\xD5\xB7D'\xC8\xD5\xE2\x8D\xE3\xE5\xB2\x82\x98\xC6>\x1D)\xD1&W\x8D\xD9%\xA6\x03\x92\xEA\xCANN\xFE\x9F\xA5g-\x8B]\x8B\"\xE1W\x17\x96b\xE5\x80\x10(\xD1\x18\xFCM\x8C\xF4\xDE\x9AD\xA5\xA9\x89\xB4\x10\xE4\x03\x826\xC8\xE9\xF2\xA1\x8A\xB7\xA0\x9B{e:L\x92}\xE3\xBE\x00\xF2\xC7z\x99_]\x13 \x99\xA0\x8A\xE6-*\xCC\\\x1C\x91\xB7n\xB8\xA9\x86\xCFp\\\xEE\x11%\x85\x9Ebx\xD8#\x91\x902G\xBA\x03g\xB8\xC8\xEF\xBDm$\xA9\xF0\xCD\x9Cc\xD1[_\xCC\x8Bqk\x8CK\x96
-\xD9\xF7s\x8E\x9D\xB7\xEFS\xABF\xDC\xD1:\xEA\xD1e\x97\x00\xE2\x13\xDA\xC6#\xB9\v\e\xE4\xBCz\xB2\xA0~\x16\xDB\xCF\xCB\xADJ\x8A{\xAEL\xC3\xED\xF8-\xDD\x9C\xAA\xF2D\x971\xFB\xB2r\xFD\xFD>\x80\xFE\xD48\xF9\xDC\x06\xBCE\"\x86\xC5\x160@gP5d\x9Cn\xD8\xF1o\xDA\xA9\xD2\x8F\x05\xC4a\xF6n.l\xFA\xFF\x00\f#?\xFB\x8E\xC2\x94\x11R5\x15\xA9\x04\xA0\x0571\xF2\xD9\xD3\xB6\xF8\xF8Q\xD0\x19[\x96nY\x05\xB65\xCEj6\xE0\x87\xFE\xCD\x8B\xD3P\xFF\x00\xE4ke\xC23a\xA6\xA8BO\xB4P\x89#\x88\x9E\x81\x88?\xAF\xEDY\xE4\xE8\xA8\x83\x7F\xE0(\xAA2F\xF8\xF2\xF1\x9AM\xFCE\xC33\x8Fo\x87o\xEE;\x7F\x02\xB1\x8C\xAET\x89\xEC\xF0F\xC9\xBFa\xE7]\x89\x14z\xED\xA0g\xDD\xF5\xC5\x14\x9FB\xA0\xABH\x9Av\xB7\xFC\x85\xF5\f\x8E\xFD\x8DL\x97K\x81\xF4qug\xEC\xB7\\\xADZ\xE5`\x19\xDF\xCD\x9Bs\x8A\xE6\xC9\x16\xBB \xD5\xC1o\xC8\xC7(\r'\xAA\xF4\xF8\x91[\xC65E\x05
+\xAE\x93\xDE>T\x00\xB1\xB1\xA4\xE7\xA6(\xE8\f\xDD\xE4\v\xCB>&9\xEA2k\x9D\x9A\x84/\x0F\xF6\xFB;V\x18U\xD0\x16\xB1^\xD5\xB7D'\xC8\xD5\xE2\x8D\xE3\xE5\xB2\x82\x98\xC6>\x1D)\xD1&W\x8D\xD9%\xA6\x03\x92\xEA\xCANN\xFE\x9F\xA5g-\x8B]\x8B\"\xE1W\x17\x96b\xE5\x80\x10(\xD1\x18\xFCM\x8C\xF4\xDE\x9AD\xA5\xA9\x89\xB4\x10\xE4\x03\x826\xC8\xE9\xF2\xA1\x8A\xB7\xA0\x9B{e:L\x92}\xE3\xBE\x00\xF2\xC7z\x99_]\x13 \x99\xA0\x8A\xE6-*\xCC\x8Fn\xB8\xA9\x86\xCFp}\x85\x9Ebx\xD8#\x91\x902G\xBA\x03g\xB8\xC8\xEF\xBDm$\xA9\xF0\xCD\x9Cc\xD1[_\xCC\x8Bqk\x8CK\x96
+\xD9\xF7s\x8E\x9D\xB7\xEFS\xABF\xDC\xD1:\xEA\xD1e\x97\x00\xE2\x13\xDA\xC6#\xB9\v\e\xE4\xBCz\xB2\xA0~\x16\xDB\xCF\xCB\xADJ\x8A{\xAEL\xC3\xED\xF8-\xDD\x9C\xAA\xF2D\x971\xFB\xB2r\xFD\xFD>\x80\xFE\xD48\xF9\xDC\x06\xBCE\"\x86\xC5\x160@gP5d\x9Cn\xD8\xF1o\xDA\xA9\xD2\x8F\x05\xC4a\xF6n.l\xFA\xFF\x00\f#?\xFB\x8E\xC2\x94\x11R5\x15\xA9\x04\xA0\x0571\xF2\xD9\xD3\xB6\xF8\xF8Q\xD0\x19[\x96nY\x05\xB65\xCEj6\xE0\x87\xFE\xCD\x8B\xD3P\xFF\x00\xE4ke\xC23a\xA6\xA8BO\xB4P\x89#\x88\x9E\x81\x88?\xAF\xEDY\xE4\xE8\xA8\x83\x7F\xE0(\xAA2F\xF8\xF2\xF1\x9AM\xFCE\xC33\x8Fo\x87o\xEE;\x7F\x02\xB1\x8C\xAET\x89\xEC\xF0F\xC9\xBFa\xE7]\x89\x14z\xED\xA0g\xDD\xF5\xC5\x14\x9FB\xA0\xABH\x9Av\xB7\xFC\x85\xF5\f\x8E\xFD\x8DL\x97K\x81\xF4qug\xEC\xB7E`\x19\xDF\xCD\x9Bs\x8A\xE6\xC9\x16\xBB \xD5\xC1o\xC8\xC7(\r'\xAA\xF4\xF8\x91[\xC65E\x05
\xB0\x02\xE3C0E\xFF\x00\xAA\x0F\xD0\x1A\x99\xF08\xF2h\xF8\r\x99\xB5\xB1]C\xEFe\xF1\xBF\xCF\xA0\xFAQ\x15\xB01\x95P\x89@\x03^\xC3\xAD5\x0Fy\x7FN\xF4\x01\x88\xB9\xC0\xCA\xFER\x7FZ\xC3\xB3^\x86\x9C\x13\xFE\xEF\x8F\xE2\xFF\x00\xFD\x8Dk\x1E\x11\x9B\x0E\xAA\x10\xB3\x8D`\xDBc;\xEA\a\x1D\xEB9\xF0Ty\x16\xC7y\x17\xFB7\xD9\xF4\xB3>\xE3\xA6\xC3\xC5\x9E\xB52\x7F
-\xF2\x0F\x91|\xF11n\x80\x9Cg>\xBEB\xAE\x18R\xA1Q\xE4jU\x83\f\xE9;\x95;\xAB|A\xADEE\xAEe\xF7\x92 \x02\xF6\x03\x1FJ\xA0\xA3\xB7f\xD2\x1F\x1A\\\xFF\x00\x8AR\xBE(\x11\xC8\xE5\xDD\xDE3K\xEEeA\xF9\x01\xD2\xB9\xE6\xBE[\x95[\x0FV\xE6\x11\xDC\xD5\xEAD\xD1b\xDC\xC3\xF9\xA9\xEAAA\x10\xD9/\x12\x9A\x11\x90a\x85\xF9\x92\xFC\x81\xC2\xFC\xCD\x1C\x81\xA5\xA6\x04\xA0\t@\x12\x801\xFF\x00hl\x1A\xD6s*\x8C\xC11$\x1F\xCA\xDDJ\xFF\x00\x15\x94\xD7e\xA7\xD0\xBA\xD3\x89K\x1C\v\x04xP\x85\xB7\xC6N\xE4\x9E\xF4\xD4\xB6\x06\x8BZ\xEAV\xF7\x9C\x9F\x9DM\x85 i\x98\xB0\xEBI\x8C\x17u\x04o\xBE\xE6\x84\a\x88\xFAH\xD7\xDF?*\xDD0\t\x8A\xEA8\x81\x1AF\xAFZ\xD3Q\x0E%r\xDEHz\xE9\xC7\x96(\xD4- \\\xC9$r26\xEA\x0E\xC4\x7F5.E\xD0\\1\xFD|\xEB\x9D\xF20\xC4\xCD\x00]\x1CRJ\xE24\\\xBB\x1C\x01\xEB@\xAC\xD8p\xDB\x15\xB1\xB7\x11\r\xDC\xEF#y\xB5j\x88\v\xA6\x04\xA0\t@\x12\x80)\xB9\xB6\x8A\xEA\x16\x86a\xAA7\x18\"\x90\x18\xAB\x9E\v/\r\x95\x95\xFCq\xB1&91\xEF\x0F#\xEBY8\xD1\xA2eZw\xA4\a,\xB4\xC0\x1D\xD4\xD0\x00\xD3.\t\xE85ucW\x16\x05<\xD0\xE3\r\xDB\xCF\xF6#z\xB0=b1\xF8\xB6\xFE\xF1\xFB\xD1`Kx\xF5\xC84\x8D\xBE\xBF\xE4\xD4\xC9\x80\xDA8\xB0:Vb/H\xCB0Q\xD4\xFB\xA0w\xA0\rG\t\xE1b\xD1y\xB2\xEFp\xC3\xFD#\xC8V\x89\x10\xC6u@J\x00\x94\x01(\x02P\x04\xA0
+\xF2\x0F\x91|\xF11n\x80\x9Cg>\xBEB\xAE\x18R\xA1Q\xE4jU\x83\f\xE9;\x95;\xAB|A\xADEE\xAEe\xF7\x92 \x02\xF6\x03\x1FJ\xA0\xA3\xB7f\xD2\x1F\x1A\x9AR\xBE(\x11\xC8\xE5\xDD\xDE3K\xEEeA\xF9\x01\xD2\xB9\xE6\xBE[\x95[\x0FV\xE6\x11\xDC\xD5\xEAD\xD1b\xDC\xC3\xF9\xA9\xEAAA\x10\xD9/\x12\x9A\x11\x90a\x85\xF9\x92\xFC\x81\xC2\xFC\xCD\x1C\x81\xA5\xA6\x04\xA0\t@\x12\x801\xFF\x00hl\x1A\xD6s*\x8C\xC11$\x1F\xCA\xDDJ\xFF\x00\x15\x94\xD7e\xA7\xD0\xBA\xD3\x89K\x1C\v\x04xP\x85\xB7\xC6N\xE4\x9E\xF4\xD4\xB6\x06\x8BZ\xEAV\xF7\x9C\x9F\x9DM\x85 i\x98\xB0\xEBI\x8C\x17u\x04o\xBE\xE6\x84\a\x88\xFAH\xD7\xDF?*\xDD0\t\x8A\xEA8\x81\x1AF\xAFZ\xD3Q\x0E%r\xDEHz\xE9\xC7\x96(\xD4- \"26\xEA\x0E\xC4\x7F5.E\xD0\xF4\xEB\x9D\xF20\xC4\xCD\x00]\x1CRJ\xE24\xF1\xEB@\xAC\xD8p\xDB\x15\xB1\xB7\x11\r\xDC\xEF#y\xB5j\x88\v\xA6\x04\xA0\t@\x12\x80)\xB9\xB6\x8A\xEA\x16\x86a\xAA7\x18\"\x90\x18\xAB\x9E\v/\r\x95\x95\xFCq\xB1&91\xEF\x0F#\xEBY8\xD1\xA2eZw\xA4\a,\xB4\xC0\x1D\xD4\xD0\x00\xD3.\t\xE85ucW\x16\x05<\xD0\xE3\r\xDB\xCF\xF6#z\xB0=b1\xF8\xB6\xFE\xF1\xFB\xD1`Kx\xF5\xC84\x8D\xBE\xBF\xE4\xD4\xC9\x80\xDA8\xB0:Vb/H\xCB0Q\xD4\xFB\xA0w\xA0\rG\t\xE1b\xD1y\xB2\xEFp\xC3\xFD#\xC8V\x89\x10\xC6u@J\x00\x94\x01(\x02P\x04\xA0
\xE7\x82+\x88\xCCr\xAE\xA4=\xA9\x01\x99\xE2<\x1A[R^0e\x83\xCF\xBA\xFCG\xEFP\xE2Rb\xAC\x7FmH\xCEY\t\x1D?\xC5\x00W-\xB70c\x18\xA7\xFA\x01|\xDC>\xE7W\x85s\xFD\xD9\xABR\x1D\x9E\xA7\x0F\xBB;\x11\x81\xEA\x7F\xE7F\xA0\xD8aoj\x90\r\xDB\xC5\xDE\xA2\xC4\x1Fkk%\xCB\xE8\x81K\x1E\xFEC\xE2i\xD0\x8D/\x0E\xE11Y\xF8\xDB\xC7?\xE7\xF2\xF4Z\xB4\x89\xB1\x850%\x00J\x00\x94\x01(\x02P\x04\xA0\t@\x12\x80\x00\xBB\xE0\xF6\xD79;\xC4\xE7\xF1'\xEE:R\xA0\xB1<\xFF\x00g\xEE\xE3\xC9\x8C\xAC\xA3\xE3\xA4\xFD\x0F\xF3S\xA4\xAB\x17\xC9\f\xF16\x97M?O\xDA\x90\x1Ex\xF3\x85\xA40\xA8xE\xF5\xC6\xE1F\x9F6a\xFBoE1X\xCA\xDB\xEC\xDC`\xEA\xB9}g\xF2&\xC3\xEB\xD6\xABH\xACq\f1B\xBA\"P\x8B\xE4*\xC4Y@\x12\x80%\x00J\x00\x94\x01\xFF\xD9"
1 runs, 3 assertions, 1 failures, 0 errors, 0 skips
$
Any ideas what is wrong with this one? Any workarounds?
I haven't looked at it in a few months, but iirc it looks like the data stays correct up until the point where it gets set as a parameter in the postgres driver and then it gets stored incorrectly. We were guessing it was potentially an encoding issue or something since the data is treated as a string, but we never came up with anything solid.
I have a case in my application where the binary data is stored OK, but it is corrupted when read from the database using ARJDBC 50 or 51. ARJDBC 1.3.x and pg (MRI) can read the content OK.
The corruption only occurs when I use a model finder like
Attachment.find_by(filename: filename)
A workaround for my case is to use a raw SQL query like
Attachment.connection.execute("SELECT content FROM attachments WHERE filename = '#{filename}'")[0]['content']
This works and returns the content without any corruption.
Interesting, that gives me a new place to look. Once I get back into it I'll see if I can track anything down on that side, if somebody else doesn't get to it first :-)
We are currently failing a binary data rails test (test/cases/binary_test.rb#test_load_save) when using prepared statements because it is not being correctly converted from a string to binary data. This only occurs for large blobs, when the size of the data is small it is stored correctly.
This is one of the bugs mentioned in https://github.com/jruby/activerecord-jdbc-adapter/issues/824