--mimepart_4ca32aadbbef1_ef05a293101393c Content-Type: text/plain Content-Transfer-Encoding: Quoted-printable Content-Disposition: inline Backport #3887: extension socket fails to compile with "two or more data types in declaration specifiers" under MinGW http://redmine.ruby-lang.org/issues/show/3887 Author: Luis Lavena Status: Open, Priority: Normal Hello, This seems to be the same issue as the closed report #1292 make[1]: Entering directory `/c/Users/Luis/Projects/oss/oci/rubyinstaller/sandbox/ruby18_build/ext/socket' gcc -I. -I../.. -I../../../../../../ruby -I../../../../../../ruby/ext/socket -DHAVE_SOCKADDR_STORAGE -DHAVE_INET_NTOA -DHAVE_GETSERVBYPORT -Dsocklen_t=int -DHAVE_WSACLEANUP -DHAVE_GETHOSTNAME -I. -g -O2 -DFD_SETSIZE=256 -c ../../../../../../ruby/ext/socket/socket.c In file included from ../../../../../../ruby/win32/win32.h:30:0, from ../../../../../../ruby/defines.h:183, from ../../../../../../ruby/ruby.h:37, from ../../../../../../ruby/ext/socket/socket.c:13: c:\users\luis\projects\oss\oci\rubyinstaller\sandbox\devkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/ws2tcpip.h:272:13: error: two or more data types in declaration specifiers make[1]: *** [socket.o] Error 1 make[1]: Leaving directory `/c/Users/Luis/Projects/oss/oci/rubyinstaller/sandbox/ruby18_build/ext/socket' make: *** [all] Error 1 This is ruby_1_8_6 r29162 with #3883 patch applied. Ruby configuration options were: sh ../configure --enable-shared --with-winsock2 --disable-install-doc CFLAGS='-g -O2 -DFD_SETSIZE=256' mkmf check for socklen_t: -------------------- have_type: checking for socklen_t... -------------------- no "gcc -I../.. -I../../../../../../ruby -I../../../../../../ruby/ext/socketI. -g -O2 -DFD_SETSIZE=256 -c conftest.c" conftest.c:5:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'conftest_type' conftest.c:6:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'conftestval' checked program was: /* begin */ 1: #include <windows.h> 2: #include <winsock.h> 3: : /*top*/ 5: typedef socklen_t conftest_type; 6: static conftest_type conftestval[sizeof(conftest_type)?1:-1]; /* end */ -------------------- Checking rbconfig.rb COMMON_HEADERS: CONFIG["COMMON_HEADERS"] = "windows.h winsock.h" Which could indicate even --with-winsock2 has been defined, winsock.h is been forced. Find attached the full file and generated Makefile, also config.log generated by the configure process. GCC been used: gcc (tdm-1) 4.5.1 Package provided by tdragon: http://tdm-gcc.tdragon.net/ ---------------------------------------- http://redmine.ruby-lang.org --mimepart_4ca32aadbbef1_ef05a293101393c Content-Type: text/plain; name=mkmf.log Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename=mkmf.log aGF2ZV9saWJyYXJ5OiBjaGVja2luZyBmb3IgV1NBQ2xlYW51cCgpIGluIC1s d3MyXzMyLi4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIHllcw0KDQoiZ2NjIC1v IGNvbmZ0ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1J Li4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0ICAgLWcgLU8yIC1E RkRfU0VUU0laRT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAtTC4uLy4uIC1MLiAg ICAgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0aWMgLWx3czJfMzIgIC1sc2hlbGwz MiAtbHdzMl8zMiAgIg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2lu ICovDQoxOiAjaW5jbHVkZSA8d2luZG93cy5oPg0KMjogI2luY2x1ZGUgPHdp bnNvY2suaD4NCjM6IA0KNDogLyp0b3AqLw0KNTogaW50IG1haW4oKSB7IHJl dHVybiAwOyB9DQo2OiBpbnQgdCgpIHsgdm9pZCAoKCp2b2xhdGlsZSBwKSgp KTsgcCA9ICh2b2lkICgoKikoKSkpV1NBQ2xlYW51cDsgcmV0dXJuIDA7IH0N Ci8qIGVuZCAqLw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpoYXZlX2hl YWRlcjogY2hlY2tpbmcgZm9yIGFycGEvaW5ldC5oLi4uIC0tLS0tLS0tLS0t LS0tLS0tLS0tIG5vDQoNCiJnY2MgLUUgLUkuLi8uLiAtSS4uLy4uLy4uLy4u Ly4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4dC9zb2Nr ZXQgICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgIGNvbmZ0ZXN0LmMgLW8g Y29uZnRlc3QuaSINCmNvbmZ0ZXN0LmM6MToyMzogZmF0YWwgZXJyb3I6IGFy cGEvaW5ldC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb21waWxh dGlvbiB0ZXJtaW5hdGVkLg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJl Z2luICovDQoxOiAjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+DQovKiBlbmQgKi8N Cg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY2hlY2tpbmcgZm9yIGlwdjYu Li4gLS0tLS0tLS0tLS0tLS0tLS0tLS0gbm8NCg0KImdjYyAtbyBjb25mdGVz dCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieSAtSS4uLy4uLy4u Ly4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAgIC1nIC1PMiAtREZEX1NFVFNJ WkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4gICAgIC1sd3My XzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljICAtbHNoZWxsMzIgLWx3czJf MzIgICINCmNvbmZ0ZXN0LmM6MjoyNDogZmF0YWwgZXJyb3I6IHN5cy9zb2Nr ZXQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KY29tcGlsYXRpb24g dGVybWluYXRlZC4NCmNoZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdpbiAq Lw0KMTogI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KMjogI2luY2x1ZGUgPHN5 cy9zb2NrZXQuaD4NCjM6IGludA0KNDogbWFpbigpDQo1OiB7DQo2OiAgIHNv Y2tldChBRl9JTkVUNiwgU09DS19TVFJFQU0sIDApOw0KNzogfQ0KLyogZW5k ICovDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmhhdmVfc3RydWN0X21l bWJlcjogY2hlY2tpbmcgZm9yIHN0cnVjdCBzb2NrYWRkcl9pbi5zaW5fbGVu Li4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIG5vDQoNCiJnY2MgLUkuLi8uLiAt SS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9y dWJ5L2V4dC9zb2NrZXQgICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgICAt YyBjb25mdGVzdC5jIg0KY29uZnRlc3QuYzo2OjQyOiBlcnJvcjogJ3N0cnVj dCBzb2NrYWRkcl9pbicgaGFzIG5vIG1lbWJlciBuYW1lZCAnc2luX2xlbicN CmNoZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdpbiAqLw0KMTogI2luY2x1 ZGUgPHdpbmRvd3MuaD4NCjI6ICNpbmNsdWRlIDx3aW5zb2NrLmg+DQozOiAN CjQ6IC8qdG9wKi8NCjU6IGludCBtYWluKCkgeyByZXR1cm4gMDsgfQ0KNjog aW50IHMgPSAoY2hhciAqKSYoKHN0cnVjdCBzb2NrYWRkcl9pbiopMCktPnNp bl9sZW4gLSAoY2hhciAqKTA7DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0t LS0tLS0tLS0NCg0KaGF2ZV9zdHJ1Y3RfbWVtYmVyOiBjaGVja2luZyBmb3Ig c3RydWN0IHNvY2thZGRyX3N0b3JhZ2Uuc3NfZmFtaWx5Li4uIC0tLS0tLS0t LS0tLS0tLS0tLS0tIHllcw0KDQoiZ2NjIC1JLi4vLi4gLUkuLi8uLi8uLi8u Li8uLi8uLi9ydWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29j a2V0ICAgLWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgICAgLWMgY29uZnRlc3Qu YyINCmNoZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdpbiAqLw0KMTogI2lu Y2x1ZGUgPHdpbmRvd3MuaD4NCjI6ICNpbmNsdWRlIDx3aW5zb2NrLmg+DQoz OiANCjQ6IC8qdG9wKi8NCjU6IGludCBtYWluKCkgeyByZXR1cm4gMDsgfQ0K NjogaW50IHMgPSAoY2hhciAqKSYoKHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdl KikwKS0+c3NfZmFtaWx5IC0gKGNoYXIgKikwOw0KLyogZW5kICovDQoNCi0t LS0tLS0tLS0tLS0tLS0tLS0tDQoNCmhhdmVfc3RydWN0X21lbWJlcjogY2hl Y2tpbmcgZm9yIHN0cnVjdCBzb2NrYWRkci5zYV9sZW4uLi4gLS0tLS0tLS0t LS0tLS0tLS0tLS0gbm8NCg0KImdjYyAtSS4uLy4uIC1JLi4vLi4vLi4vLi4v Li4vLi4vcnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tl dCAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2ICAgIC1jIGNvbmZ0ZXN0LmMi DQpjb25mdGVzdC5jOjY6Mzk6IGVycm9yOiAnc3RydWN0IHNvY2thZGRyJyBo YXMgbm8gbWVtYmVyIG5hbWVkICdzYV9sZW4nDQpjaGVja2VkIHByb2dyYW0g d2FzOg0KLyogYmVnaW4gKi8NCjE6ICNpbmNsdWRlIDx3aW5kb3dzLmg+DQoy OiAjaW5jbHVkZSA8d2luc29jay5oPg0KMzogDQo0OiAvKnRvcCovDQo1OiBp bnQgbWFpbigpIHsgcmV0dXJuIDA7IH0NCjY6IGludCBzID0gKGNoYXIgKikm KChzdHJ1Y3Qgc29ja2FkZHIqKTApLT5zYV9sZW4gLSAoY2hhciAqKTA7DQov KiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaGF2ZV9oZWFk ZXI6IGNoZWNraW5nIGZvciBuZXRpbmV0L3RjcC5oLi4uIC0tLS0tLS0tLS0t LS0tLS0tLS0tIG5vDQoNCiJnY2MgLUUgLUkuLi8uLiAtSS4uLy4uLy4uLy4u Ly4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4dC9zb2Nr ZXQgICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgIGNvbmZ0ZXN0LmMgLW8g Y29uZnRlc3QuaSINCmNvbmZ0ZXN0LmM6MToyNTogZmF0YWwgZXJyb3I6IG5l dGluZXQvdGNwLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNCmNvbXBp bGF0aW9uIHRlcm1pbmF0ZWQuDQpjaGVja2VkIHByb2dyYW0gd2FzOg0KLyog YmVnaW4gKi8NCjE6ICNpbmNsdWRlIDxuZXRpbmV0L3RjcC5oPg0KLyogZW5k ICovDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmhhdmVfaGVhZGVyOiBj aGVja2luZyBmb3IgbmV0aW5ldC91ZHAuaC4uLiAtLS0tLS0tLS0tLS0tLS0t LS0tLSBubw0KDQoiZ2NjIC1FIC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8u Li9ydWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0ICAg LWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgICBjb25mdGVzdC5jIC1vIGNvbmZ0 ZXN0LmkiDQpjb25mdGVzdC5jOjE6MjU6IGZhdGFsIGVycm9yOiBuZXRpbmV0 L3VkcC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb21waWxhdGlv biB0ZXJtaW5hdGVkLg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2lu ICovDQoxOiAjaW5jbHVkZSA8bmV0aW5ldC91ZHAuaD4NCi8qIGVuZCAqLw0K DQotLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpoYXZlX2Z1bmM6IGNoZWNraW5n IGZvciBzZW5kbXNnKCkuLi4gLS0tLS0tLS0tLS0tLS0tLS0tLS0gbm8NCg0K ImdjYyAtbyBjb25mdGVzdCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4v cnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAgIC1n IC1PMiAtREZEX1NFVFNJWkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8u LiAtTC4gICAgIC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1s d3MyXzMyICAtbHNoZWxsMzIgLWx3czJfMzIgICINCmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICd0JzoNCmNvbmZ0ZXN0LmM6Njo1MzogZXJyb3I6ICdzZW5k bXNnJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikN CmNvbmZ0ZXN0LmM6Njo1Mzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9u IGl0IGFwcGVhcnMgaW4NCmNoZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdp biAqLw0KMTogI2luY2x1ZGUgPHdpbmRvd3MuaD4NCjI6ICNpbmNsdWRlIDx3 aW5zb2NrLmg+DQozOiANCjQ6IC8qdG9wKi8NCjU6IGludCBtYWluKCkgeyBy ZXR1cm4gMDsgfQ0KNjogaW50IHQoKSB7IHZvaWQgKCgqdm9sYXRpbGUgcCko KSk7IHAgPSAodm9pZCAoKCopKCkpKXNlbmRtc2c7IHJldHVybiAwOyB9DQov KiBlbmQgKi8NCg0KImdjYyAtbyBjb25mdGVzdCAtSS4uLy4uIC1JLi4vLi4v Li4vLi4vLi4vLi4vcnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0 L3NvY2tldCAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2ICBjb25mdGVzdC5j ICAtTC4gLUwuLi8uLiAtTC4gICAgIC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5 MTgtc3RhdGljIC1sd3MyXzMyICAtbHNoZWxsMzIgLWx3czJfMzIgICINCkM6 XFVzZXJzXEx1aXNcQXBwRGF0YVxMb2NhbFxUZW1wXGNjTXNCS0lwLm86IElu IGZ1bmN0aW9uIGB0JzoNCkM6XFVzZXJzXEx1aXNcUHJvamVjdHNcb3NzXG9j aVxydWJ5aW5zdGFsbGVyXHNhbmRib3hccnVieTE4X2J1aWxkXGV4dFxzb2Nr ZXQvY29uZnRlc3QuYzozOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzZW5k bXNnJw0KY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCmNo ZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdpbiAqLw0KMTogLyp0b3AqLw0K MjogaW50IG1haW4oKSB7IHJldHVybiAwOyB9DQozOiBpbnQgdCgpIHsgc2Vu ZG1zZygpOyByZXR1cm4gMDsgfQ0KLyogZW5kICovDQoNCi0tLS0tLS0tLS0t LS0tLS0tLS0tDQoNCmhhdmVfZnVuYzogY2hlY2tpbmcgZm9yIHJlY3Ztc2co KS4uLiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBubw0KDQoiZ2NjIC1vIGNvbmZ0 ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4v Li4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0ICAgLWcgLU8yIC1ERkRfU0VU U0laRT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAtTC4uLy4uIC1MLiAgICAgLWx3 czJfMzIgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0aWMgLWx3czJfMzIgIC1sc2hl bGwzMiAtbHdzMl8zMiAgIg0KY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ3Qn Og0KY29uZnRlc3QuYzo2OjUzOiBlcnJvcjogJ3JlY3Ztc2cnIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZnRlc3QuYzo2 OjUzOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBv cnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBp bg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICovDQoxOiAjaW5j bHVkZSA8d2luZG93cy5oPg0KMjogI2luY2x1ZGUgPHdpbnNvY2suaD4NCjM6 IA0KNDogLyp0b3AqLw0KNTogaW50IG1haW4oKSB7IHJldHVybiAwOyB9DQo2 OiBpbnQgdCgpIHsgdm9pZCAoKCp2b2xhdGlsZSBwKSgpKTsgcCA9ICh2b2lk ICgoKikoKSkpcmVjdm1zZzsgcmV0dXJuIDA7IH0NCi8qIGVuZCAqLw0KDQoi Z2NjIC1vIGNvbmZ0ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9y dWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0ICAgLWcg LU8yIC1ERkRfU0VUU0laRT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAtTC4uLy4u IC1MLiAgICAgLWx3czJfMzIgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0aWMgLWx3 czJfMzIgIC1sc2hlbGwzMiAtbHdzMl8zMiAgIg0KQzpcVXNlcnNcTHVpc1xB cHBEYXRhXExvY2FsXFRlbXBcY2NHUjNaZ28ubzogSW4gZnVuY3Rpb24gYHQn Og0KQzpcVXNlcnNcTHVpc1xQcm9qZWN0c1xvc3Ncb2NpXHJ1YnlpbnN0YWxs ZXJcc2FuZGJveFxydWJ5MThfYnVpbGRcZXh0XHNvY2tldC9jb25mdGVzdC5j OjM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHJlY3Ztc2cnDQpjb2xsZWN0 MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cw0KY2hlY2tlZCBwcm9ncmFt IHdhczoNCi8qIGJlZ2luICovDQoxOiAvKnRvcCovDQoyOiBpbnQgbWFpbigp IHsgcmV0dXJuIDA7IH0NCjM6IGludCB0KCkgeyByZWN2bXNnKCk7IHJldHVy biAwOyB9DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K Y2hlY2tpbmcgZm9yIHdpZGUgZ2V0YWRkcmluZm8uLi4gLS0tLS0tLS0tLS0t LS0tLS0tLS0gbm8NCg0KImdjYyAtbyBjb25mdGVzdCAtSS4uLy4uIC1JLi4v Li4vLi4vLi4vLi4vLi4vcnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1Ynkv ZXh0L3NvY2tldCAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2ICBjb25mdGVz dC5jICAtTC4gLUwuLi8uLiAtTC4gICAgIC1sd3MyXzMyICAtbG1zdmNydC1y dWJ5MTgtc3RhdGljICAtbHNoZWxsMzIgLWx3czJfMzIgICINCmNvbmZ0ZXN0 LmM6IEluIGZ1bmN0aW9uICdtYWluJzoNCmNvbmZ0ZXN0LmM6MTg6MTk6IGVy cm9yOiBzdG9yYWdlIHNpemUgb2YgJ2hpbnRzJyBpc24ndCBrbm93bg0KY29u ZnRlc3QuYzoxOToxNjogZXJyb3I6ICdJTkVUNl9BRERSU1RSTEVOJyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikNCmNvbmZ0ZXN0 LmM6MTk6MTY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlz IHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBl YXJzIGluDQpjb25mdGVzdC5jOjIyOjU6IHdhcm5pbmc6IGluY29tcGF0aWJs ZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAn bWVtc2V0Jw0KY29uZnRlc3QuYzoyMzoyMzogZXJyb3I6ICdBRl9VTlNQRUMn IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29u ZnRlc3QuYzoyNDoyNTogZXJyb3I6ICdJUFBST1RPX1RDUCcgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pDQpjb25mdGVzdC5jOjI1 OjMyOiBlcnJvcjogJ0FJX1BBU1NJVkUnIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZnRlc3QuYzoyNjoyNTogZXJyb3I6 ICdTT0NLX1NUUkVBTScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pDQpjb25mdGVzdC5jOjMxOjMzOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQ0KY29uZnRlc3QuYzoz MjoxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUNCmNvbmZ0ZXN0LmM6MzI6Mjg6IGVycm9yOiAnQUZfVU5JWCcg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pDQpjb25m dGVzdC5jOjMzOjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQ0KY29uZnRlc3QuYzo0MzoxMzogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUNCmNvbmZ0 ZXN0LmM6NDQ6MjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlDQpjb25mdGVzdC5jOjQ0OjM4OiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQ0KY29uZnRl c3QuYzo0NjoyMzogZXJyb3I6ICdOSV9OVU1FUklDSE9TVCcgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pDQpjb25mdGVzdC5jOjQ2 OjM4OiBlcnJvcjogJ05JX05VTUVSSUNTRVJWJyB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikNCmNvbmZ0ZXN0LmM6NTI6MTc6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl DQpjb25mdGVzdC5jOjUzOjEyOiBlcnJvcjogJ0FGX0lORVQnIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZnRlc3QuYzo2 NToxMjogZXJyb3I6ICdBRl9JTkVUNicgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pDQpjaGVja2VkIHByb2dyYW0gd2FzOg0KLyog YmVnaW4gKi8NCiAgMTogI2luY2x1ZGUgPHN0ZGxpYi5oPg0KICAyOiANCiAg MzogI2lmbmRlZiBFWElUX1NVQ0NFU1MNCiAgNDogI2RlZmluZSBFWElUX1NV Q0NFU1MgMA0KICA1OiAjZW5kaWYNCiAgNjogI2lmbmRlZiBFWElUX0ZBSUxV UkUNCiAgNzogI2RlZmluZSBFWElUX0ZBSUxVUkUgMQ0KICA4OiAjZW5kaWYN CiAgOTogDQogMTA6ICNpZm5kZWYgQUZfTE9DQUwNCiAxMTogI2RlZmluZSBB Rl9MT0NBTCBBRl9VTklYDQogMTI6ICNlbmRpZg0KIDEzOiANCiAxNDogaW50 DQogMTU6IG1haW4oKQ0KIDE2OiB7DQogMTc6ICAgaW50IHBhc3NpdmUsIGdh aWVyciwgaW5ldDQgPSAwLCBpbmV0NiA9IDA7DQogMTg6ICAgc3RydWN0IGFk ZHJpbmZvIGhpbnRzLCAqYWksICphaXRvcDsNCiAxOTogICBjaGFyIHN0cmFk ZHJbSU5FVDZfQUREUlNUUkxFTl0sIHN0cnBvcnRbMTZdOw0KIDIwOiANCiAy MTogICBmb3IgKHBhc3NpdmUgPSAwOyBwYXNzaXZlIDw9IDE7IHBhc3NpdmUr Kykgew0KIDIyOiAgICAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKGhpbnRz KSk7DQogMjM6ICAgICBoaW50cy5haV9mYW1pbHkgPSBBRl9VTlNQRUM7DQog MjQ6ICAgICBoaW50cy5haV9wcm90b2NvbCA9IElQUFJPVE9fVENQOw0KIDI1 OiAgICAgaGludHMuYWlfZmxhZ3MgPSBwYXNzaXZlID8gQUlfUEFTU0lWRSA6 IDA7DQogMjY6ICAgICBoaW50cy5haV9zb2NrdHlwZSA9IFNPQ0tfU1RSRUFN Ow0KIDI3OiAgICAgaWYgKChnYWllcnIgPSBnZXRhZGRyaW5mbyhOVUxMLCAi NTQzMjEiLCAmaGludHMsICZhaXRvcCkpICE9IDApIHsNCiAyODogICAgICAg KHZvaWQpZ2FpX3N0cmVycm9yKGdhaWVycik7DQogMjk6ICAgICAgIGdvdG8g YmFkOw0KIDMwOiAgICAgfQ0KIDMxOiAgICAgZm9yIChhaSA9IGFpdG9wOyBh aTsgYWkgPSBhaS0+YWlfbmV4dCkgew0KIDMyOiAgICAgICBpZiAoYWktPmFp X2ZhbWlseSA9PSBBRl9MT0NBTCkgY29udGludWU7DQogMzM6ICAgICAgIGlm IChhaS0+YWlfYWRkciA9PSBOVUxMKQ0KIDM0OiAgICAgICAgIGdvdG8gYmFk Ow0KIDM1OiAjaWYgZGVmaW5lZChfQUlYKQ0KIDM2OiAgICAgICBpZiAoYWkt PmFpX2ZhbWlseSA9PSBBRl9JTkVUNiAmJiBwYXNzaXZlKSB7DQogMzc6ICAg ICAgICAgaW5ldDYrKzsNCiAzODogICAgICAgICBjb250aW51ZTsNCiAzOTog ICAgICAgfQ0KIDQwOiAgICAgICBhaS0+YWlfYWRkci0+c2FfbGVuID0gYWkt PmFpX2FkZHJsZW47DQogNDE6ICAgICAgIGFpLT5haV9hZGRyLT5zYV9mYW1p bHkgPSBhaS0+YWlfZmFtaWx5Ow0KIDQyOiAjZW5kaWYNCiA0MzogICAgICAg aWYgKGFpLT5haV9hZGRybGVuID09IDAgfHwNCiA0NDogICAgICAgICAgIGdl dG5hbWVpbmZvKGFpLT5haV9hZGRyLCBhaS0+YWlfYWRkcmxlbiwNCiA0NTog ICAgICAgICAgICAgICAgICAgICAgIHN0cmFkZHIsIHNpemVvZihzdHJhZGRy KSwgc3RycG9ydCwgc2l6ZW9mKHN0cnBvcnQpLA0KIDQ2OiAgICAgICAgICAg ICAgICAgICAgICAgTklfTlVNRVJJQ0hPU1R8TklfTlVNRVJJQ1NFUlYpICE9 IDApIHsNCiA0NzogICAgICAgICBnb3RvIGJhZDsNCiA0ODogICAgICAgfQ0K IDQ5OiAgICAgICBpZiAoc3RyY21wKHN0cnBvcnQsICI1NDMyMSIpICE9IDAp IHsNCiA1MDogICAgICAgICBnb3RvIGJhZDsNCiA1MTogICAgICAgfQ0KIDUy OiAgICAgICBzd2l0Y2ggKGFpLT5haV9mYW1pbHkpIHsNCiA1MzogICAgICAg Y2FzZSBBRl9JTkVUOg0KIDU0OiAgICAgICAgIGlmIChwYXNzaXZlKSB7DQog NTU6ICAgICAgICAgICBpZiAoc3RyY21wKHN0cmFkZHIsICIwLjAuMC4wIikg IT0gMCkgew0KIDU2OiAgICAgICAgICAgICBnb3RvIGJhZDsNCiA1NzogICAg ICAgICAgIH0NCiA1ODogICAgICAgICB9IGVsc2Ugew0KIDU5OiAgICAgICAg ICAgaWYgKHN0cmNtcChzdHJhZGRyLCAiMTI3LjAuMC4xIikgIT0gMCkgew0K IDYwOiAgICAgICAgICAgICBnb3RvIGJhZDsNCiA2MTogICAgICAgICAgIH0N CiA2MjogICAgICAgICB9DQogNjM6ICAgICAgICAgaW5ldDQrKzsNCiA2NDog ICAgICAgICBicmVhazsNCiA2NTogICAgICAgY2FzZSBBRl9JTkVUNjoNCiA2 NjogICAgICAgICBpZiAocGFzc2l2ZSkgew0KIDY3OiAgICAgICAgICAgaWYg KHN0cmNtcChzdHJhZGRyLCAiOjoiKSAhPSAwKSB7DQogNjg6ICAgICAgICAg ICAgIGdvdG8gYmFkOw0KIDY5OiAgICAgICAgICAgfQ0KIDcwOiAgICAgICAg IH0gZWxzZSB7DQogNzE6ICAgICAgICAgICBpZiAoc3RyY21wKHN0cmFkZHIs ICI6OjEiKSAhPSAwKSB7DQogNzI6ICAgICAgICAgICAgIGdvdG8gYmFkOw0K IDczOiAgICAgICAgICAgfQ0KIDc0OiAgICAgICAgIH0NCiA3NTogICAgICAg ICBpbmV0NisrOw0KIDc2OiAgICAgICAgIGJyZWFrOw0KIDc3OiAgICAgICBj YXNlIEFGX1VOU1BFQzoNCiA3ODogICAgICAgICBnb3RvIGJhZDsNCiA3OTog ICAgICAgICBicmVhazsNCiA4MDogICAgICAgZGVmYXVsdDoNCiA4MTogICAg ICAgICAvKiBhbm90aGVyIGZhbWlseSBzdXBwb3J0PyAqLw0KIDgyOiAgICAg ICAgIGJyZWFrOw0KIDgzOiAgICAgICB9DQogODQ6ICAgICB9DQogODU6ICAg fQ0KIDg2OiANCiA4NzogICBpZiAoIShpbmV0NCA9PSAwIHx8IGluZXQ0ID09 IDIpKQ0KIDg4OiAgICAgZ290byBiYWQ7DQogODk6ICAgaWYgKCEoaW5ldDYg PT0gMCB8fCBpbmV0NiA9PSAyKSkNCiA5MDogICAgIGdvdG8gYmFkOw0KIDkx OiANCiA5MjogICBpZiAoYWl0b3ApDQogOTM6ICAgICBmcmVlYWRkcmluZm8o YWl0b3ApOw0KIDk0OiAgIGV4aXQoRVhJVF9TVUNDRVNTKTsNCiA5NTogDQog OTY6ICBiYWQ6DQogOTc6ICAgaWYgKGFpdG9wKQ0KIDk4OiAgICAgZnJlZWFk ZHJpbmZvKGFpdG9wKTsNCiA5OTogICBleGl0KEVYSVRfRkFJTFVSRSk7DQox MDA6IH0NCi8qIGVuZCAqLw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpo YXZlX3N0cnVjdF9tZW1iZXI6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaW42X2Fk ZHIuczZfYWRkcjguLi4gLS0tLS0tLS0tLS0tLS0tLS0tLS0gbm8NCg0KImdj YyAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieSAtSS4uLy4uLy4u Ly4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAgIC1nIC1PMiAtREZEX1NFVFNJ WkU9MjU2ICAgIC1jIGNvbmZ0ZXN0LmMiDQpjb25mdGVzdC5jOjY6Mzk6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl DQpjaGVja2VkIHByb2dyYW0gd2FzOg0KLyogYmVnaW4gKi8NCjE6ICNpbmNs dWRlIDx3aW5kb3dzLmg+DQoyOiAjaW5jbHVkZSA8d2luc29jay5oPg0KMzog DQo0OiAvKnRvcCovDQo1OiBpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0NCjY6 IGludCBzID0gKGNoYXIgKikmKChzdHJ1Y3QgaW42X2FkZHIqKTApLT5zNl9h ZGRyOCAtIChjaGFyICopMDsNCi8qIGVuZCAqLw0KDQotLS0tLS0tLS0tLS0t LS0tLS0tLQ0KDQpoYXZlX2Z1bmM6IGNoZWNraW5nIGZvciBpbmV0X250b3Ao KS4uLiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBubw0KDQoiZ2NjIC1vIGNvbmZ0 ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4v Li4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAtREZE X1NFVFNJWkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4gICAg IC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1sd3MyXzMyICAt bHNoZWxsMzIgLWx3czJfMzIgICINCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICd0JzoNCmNvbmZ0ZXN0LmM6Njo1MzogZXJyb3I6ICdpbmV0X250b3AnIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZnRl c3QuYzo2OjUzOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBp cyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBw ZWFycyBpbg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICovDQox OiAjaW5jbHVkZSA8d2luZG93cy5oPg0KMjogI2luY2x1ZGUgPHdpbnNvY2su aD4NCjM6IA0KNDogLyp0b3AqLw0KNTogaW50IG1haW4oKSB7IHJldHVybiAw OyB9DQo2OiBpbnQgdCgpIHsgdm9pZCAoKCp2b2xhdGlsZSBwKSgpKTsgcCA9 ICh2b2lkICgoKikoKSkpaW5ldF9udG9wOyByZXR1cm4gMDsgfQ0KLyogZW5k ICovDQoNCiJnY2MgLW8gY29uZnRlc3QgLUkuLi8uLiAtSS4uLy4uLy4uLy4u Ly4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4dC9zb2Nr ZXQgLUkuICAgLWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgIGNvbmZ0ZXN0LmMg IC1MLiAtTC4uLy4uIC1MLiAgICAgLWx3czJfMzIgIC1sbXN2Y3J0LXJ1Ynkx OC1zdGF0aWMgLWx3czJfMzIgIC1sc2hlbGwzMiAtbHdzMl8zMiAgIg0KQzpc VXNlcnNcTHVpc1xBcHBEYXRhXExvY2FsXFRlbXBcY2NBNUlwbUQubzogSW4g ZnVuY3Rpb24gYHQnOg0KQzpcVXNlcnNcTHVpc1xQcm9qZWN0c1xvc3Ncb2Np XHJ1YnlpbnN0YWxsZXJcc2FuZGJveFxydWJ5MThfYnVpbGRcZXh0XHNvY2tl dC9jb25mdGVzdC5jOjM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGluZXRf bnRvcCcNCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQpj aGVja2VkIHByb2dyYW0gd2FzOg0KLyogYmVnaW4gKi8NCjE6IC8qdG9wKi8N CjI6IGludCBtYWluKCkgeyByZXR1cm4gMDsgfQ0KMzogaW50IHQoKSB7IGlu ZXRfbnRvcCgpOyByZXR1cm4gMDsgfQ0KLyogZW5kICovDQoNCi0tLS0tLS0t LS0tLS0tLS0tLS0tDQoNCmhhdmVfZnVuYzogY2hlY2tpbmcgZm9yIGluZXRf bnRvYSgpLi4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIHllcw0KDQoiZ2NjIC1v IGNvbmZ0ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1J Li4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0IC1JLiAgIC1nIC1P MiAtREZEX1NFVFNJWkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8uLiAt TC4gICAgIC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1sd3My XzMyICAtbHNoZWxsMzIgLWx3czJfMzIgICINCmNoZWNrZWQgcHJvZ3JhbSB3 YXM6DQovKiBiZWdpbiAqLw0KMTogI2luY2x1ZGUgPHdpbmRvd3MuaD4NCjI6 ICNpbmNsdWRlIDx3aW5zb2NrLmg+DQozOiANCjQ6IC8qdG9wKi8NCjU6IGlu dCBtYWluKCkgeyByZXR1cm4gMDsgfQ0KNjogaW50IHQoKSB7IHZvaWQgKCgq dm9sYXRpbGUgcCkoKSk7IHAgPSAodm9pZCAoKCopKCkpKWluZXRfbnRvYTsg cmV0dXJuIDA7IH0NCi8qIGVuZCAqLw0KDQotLS0tLS0tLS0tLS0tLS0tLS0t LQ0KDQpoYXZlX2Z1bmM6IGNoZWNraW5nIGZvciBpbmV0X3B0b24oKS4uLiAt LS0tLS0tLS0tLS0tLS0tLS0tLSBubw0KDQoiZ2NjIC1vIGNvbmZ0ZXN0IC1J Li4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4vLi4vLi4v Li4vLi4vcnVieS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAtREZEX1NFVFNJ WkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4gICAgIC1sd3My XzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1sd3MyXzMyICAtbHNoZWxs MzIgLWx3czJfMzIgICINCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICd0JzoN CmNvbmZ0ZXN0LmM6Njo1MzogZXJyb3I6ICdpbmV0X3B0b24nIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZnRlc3QuYzo2 OjUzOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBv cnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBp bg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICovDQoxOiAjaW5j bHVkZSA8d2luZG93cy5oPg0KMjogI2luY2x1ZGUgPHdpbnNvY2suaD4NCjM6 IA0KNDogLyp0b3AqLw0KNTogaW50IG1haW4oKSB7IHJldHVybiAwOyB9DQo2 OiBpbnQgdCgpIHsgdm9pZCAoKCp2b2xhdGlsZSBwKSgpKTsgcCA9ICh2b2lk ICgoKikoKSkpaW5ldF9wdG9uOyByZXR1cm4gMDsgfQ0KLyogZW5kICovDQoN CiJnY2MgLW8gY29uZnRlc3QgLUkuLi8uLiAtSS4uLy4uLy4uLy4uLy4uLy4u L3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4dC9zb2NrZXQgLUku ICAgLWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAt TC4uLy4uIC1MLiAgICAgLWx3czJfMzIgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0 aWMgLWx3czJfMzIgIC1sc2hlbGwzMiAtbHdzMl8zMiAgIg0KQzpcVXNlcnNc THVpc1xBcHBEYXRhXExvY2FsXFRlbXBcY2NxRklmTFkubzogSW4gZnVuY3Rp b24gYHQnOg0KQzpcVXNlcnNcTHVpc1xQcm9qZWN0c1xvc3Ncb2NpXHJ1Ynlp bnN0YWxsZXJcc2FuZGJveFxydWJ5MThfYnVpbGRcZXh0XHNvY2tldC9jb25m dGVzdC5jOjM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGluZXRfcHRvbicN CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQpjaGVja2Vk IHByb2dyYW0gd2FzOg0KLyogYmVnaW4gKi8NCjE6IC8qdG9wKi8NCjI6IGlu dCBtYWluKCkgeyByZXR1cm4gMDsgfQ0KMzogaW50IHQoKSB7IGluZXRfcHRv bigpOyByZXR1cm4gMDsgfQ0KLyogZW5kICovDQoNCi0tLS0tLS0tLS0tLS0t LS0tLS0tDQoNCmhhdmVfZnVuYzogY2hlY2tpbmcgZm9yIGluZXRfYXRvbigp Li4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIG5vDQoNCiJnY2MgLW8gY29uZnRl c3QgLUkuLi8uLiAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkgLUkuLi8uLi8u Li8uLi8uLi8uLi9ydWJ5L2V4dC9zb2NrZXQgLUkuICAgLWcgLU8yIC1ERkRf U0VUU0laRT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAtTC4uLy4uIC1MLiAgICAg LWx3czJfMzIgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0aWMgLWx3czJfMzIgIC1s c2hlbGwzMiAtbHdzMl8zMiAgIg0KY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J3QnOg0KY29uZnRlc3QuYzo2OjUzOiBlcnJvcjogJ2luZXRfYXRvbicgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pDQpjb25mdGVz dC5jOjY6NTM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlz IHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBl YXJzIGluDQpjaGVja2VkIHByb2dyYW0gd2FzOg0KLyogYmVnaW4gKi8NCjE6 ICNpbmNsdWRlIDx3aW5kb3dzLmg+DQoyOiAjaW5jbHVkZSA8d2luc29jay5o Pg0KMzogDQo0OiAvKnRvcCovDQo1OiBpbnQgbWFpbigpIHsgcmV0dXJuIDA7 IH0NCjY6IGludCB0KCkgeyB2b2lkICgoKnZvbGF0aWxlIHApKCkpOyBwID0g KHZvaWQgKCgqKSgpKSlpbmV0X2F0b247IHJldHVybiAwOyB9DQovKiBlbmQg Ki8NCg0KImdjYyAtbyBjb25mdGVzdCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4v Li4vLi4vcnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tl dCAtSS4gICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgY29uZnRlc3QuYyAg LUwuIC1MLi4vLi4gLUwuICAgICAtbHdzMl8zMiAgLWxtc3ZjcnQtcnVieTE4 LXN0YXRpYyAtbHdzMl8zMiAgLWxzaGVsbDMyIC1sd3MyXzMyICAiDQpDOlxV c2Vyc1xMdWlzXEFwcERhdGFcTG9jYWxcVGVtcFxjY1VJT0hNUy5vOiBJbiBm dW5jdGlvbiBgdCc6DQpDOlxVc2Vyc1xMdWlzXFByb2plY3RzXG9zc1xvY2lc cnVieWluc3RhbGxlclxzYW5kYm94XHJ1YnkxOF9idWlsZFxleHRcc29ja2V0 L2NvbmZ0ZXN0LmM6MzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgaW5ldF9h dG9uJw0KY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCmNo ZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdpbiAqLw0KMTogLyp0b3AqLw0K MjogaW50IG1haW4oKSB7IHJldHVybiAwOyB9DQozOiBpbnQgdCgpIHsgaW5l dF9hdG9uKCk7IHJldHVybiAwOyB9DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0NCg0KaGF2ZV9mdW5jOiBjaGVja2luZyBmb3IgZ2V0c2Vy dmJ5cG9ydCgpLi4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIHllcw0KDQoiZ2Nj IC1vIGNvbmZ0ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5 IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0IC1JLiAgIC1n IC1PMiAtREZEX1NFVFNJWkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8u LiAtTC4gICAgIC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1s d3MyXzMyICAtbHNoZWxsMzIgLWx3czJfMzIgICINCmNoZWNrZWQgcHJvZ3Jh bSB3YXM6DQovKiBiZWdpbiAqLw0KMTogI2luY2x1ZGUgPHdpbmRvd3MuaD4N CjI6ICNpbmNsdWRlIDx3aW5zb2NrLmg+DQozOiANCjQ6IC8qdG9wKi8NCjU6 IGludCBtYWluKCkgeyByZXR1cm4gMDsgfQ0KNjogaW50IHQoKSB7IHZvaWQg KCgqdm9sYXRpbGUgcCkoKSk7IHAgPSAodm9pZCAoKCopKCkpKWdldHNlcnZi eXBvcnQ7IHJldHVybiAwOyB9DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0t LS0tLS0tLS0NCg0KaGF2ZV9mdW5jOiBjaGVja2luZyBmb3IgZ2FpX3N0cmVy cm9yKCkuLi4gLS0tLS0tLS0tLS0tLS0tLS0tLS0gbm8NCg0KImdjYyAtbyBj b25mdGVzdCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieSAtSS4u Ly4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAtSS4gICAtZyAtTzIg LURGRF9TRVRTSVpFPTI1NiAgY29uZnRlc3QuYyAgLUwuIC1MLi4vLi4gLUwu ICAgICAtbHdzMl8zMiAgLWxtc3ZjcnQtcnVieTE4LXN0YXRpYyAtbHdzMl8z MiAgLWxzaGVsbDMyIC1sd3MyXzMyICAiDQpjb25mdGVzdC5jOiBJbiBmdW5j dGlvbiAndCc6DQpjb25mdGVzdC5jOjY6NTM6IGVycm9yOiAnZ2FpX3N0cmVy cm9yJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikN CmNvbmZ0ZXN0LmM6Njo1Mzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9u IGl0IGFwcGVhcnMgaW4NCmNoZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdp biAqLw0KMTogI2luY2x1ZGUgPHdpbmRvd3MuaD4NCjI6ICNpbmNsdWRlIDx3 aW5zb2NrLmg+DQozOiANCjQ6IC8qdG9wKi8NCjU6IGludCBtYWluKCkgeyBy ZXR1cm4gMDsgfQ0KNjogaW50IHQoKSB7IHZvaWQgKCgqdm9sYXRpbGUgcCko KSk7IHAgPSAodm9pZCAoKCopKCkpKWdhaV9zdHJlcnJvcjsgcmV0dXJuIDA7 IH0NCi8qIGVuZCAqLw0KDQoiZ2NjIC1vIGNvbmZ0ZXN0IC1JLi4vLi4gLUku Li8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVi eS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2ICBj b25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4gICAgIC1sd3MyXzMyICAtbG1z dmNydC1ydWJ5MTgtc3RhdGljIC1sd3MyXzMyICAtbHNoZWxsMzIgLWx3czJf MzIgICINCkM6XFVzZXJzXEx1aXNcQXBwRGF0YVxMb2NhbFxUZW1wXGNjOG1X N3RFLm86IEluIGZ1bmN0aW9uIGB0JzoNCkM6XFVzZXJzXEx1aXNcUHJvamVj dHNcb3NzXG9jaVxydWJ5aW5zdGFsbGVyXHNhbmRib3hccnVieTE4X2J1aWxk XGV4dFxzb2NrZXQvY29uZnRlc3QuYzozOiB1bmRlZmluZWQgcmVmZXJlbmNl IHRvIGBnYWlfc3RyZXJyb3InDQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBl eGl0IHN0YXR1cw0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICov DQoxOiAvKnRvcCovDQoyOiBpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0NCjM6 IGludCB0KCkgeyBnYWlfc3RyZXJyb3IoKTsgcmV0dXJuIDA7IH0NCi8qIGVu ZCAqLw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpoYXZlX2hlYWRlcjog Y2hlY2tpbmcgZm9yIGFycGEvbmFtZXNlci5oLi4uIC0tLS0tLS0tLS0tLS0t LS0tLS0tIG5vDQoNCiJnY2MgLUUgLUkuLi8uLiAtSS4uLy4uLy4uLy4uLy4u Ly4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4dC9zb2NrZXQg LUkuICAgLWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgICBjb25mdGVzdC5jIC1v IGNvbmZ0ZXN0LmkiDQpjb25mdGVzdC5jOjE6MjY6IGZhdGFsIGVycm9yOiBh cnBhL25hbWVzZXIuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KY29t cGlsYXRpb24gdGVybWluYXRlZC4NCmNoZWNrZWQgcHJvZ3JhbSB3YXM6DQov KiBiZWdpbiAqLw0KMTogI2luY2x1ZGUgPGFycGEvbmFtZXNlci5oPg0KLyog ZW5kICovDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmhhdmVfaGVhZGVy OiBjaGVja2luZyBmb3IgcmVzb2x2LmguLi4gLS0tLS0tLS0tLS0tLS0tLS0t LS0gbm8NCg0KImdjYyAtRSAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4v cnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAtSS4g ICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgIGNvbmZ0ZXN0LmMgLW8gY29u ZnRlc3QuaSINCmNvbmZ0ZXN0LmM6MToyMDogZmF0YWwgZXJyb3I6IHJlc29s di5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb21waWxhdGlvbiB0 ZXJtaW5hdGVkLg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICov DQoxOiAjaW5jbHVkZSA8cmVzb2x2Lmg+DQovKiBlbmQgKi8NCg0KLS0tLS0t LS0tLS0tLS0tLS0tLS0NCg0KaGF2ZV90eXBlOiBjaGVja2luZyBmb3Igc29j a2xlbl90Li4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIG5vDQoNCiJnY2MgLUku Li8uLiAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8u Li8uLi9ydWJ5L2V4dC9zb2NrZXQgLUkuICAgLWcgLU8yIC1ERkRfU0VUU0la RT0yNTYgICAgLWMgY29uZnRlc3QuYyINCmNvbmZ0ZXN0LmM6NToxOTogZXJy b3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJp YnV0ZV9fJyBiZWZvcmUgJ2NvbmZ0ZXN0X3R5cGUnDQpjb25mdGVzdC5jOjY6 MjI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAn X19hdHRyaWJ1dGVfXycgYmVmb3JlICdjb25mdGVzdHZhbCcNCmNoZWNrZWQg cHJvZ3JhbSB3YXM6DQovKiBiZWdpbiAqLw0KMTogI2luY2x1ZGUgPHdpbmRv d3MuaD4NCjI6ICNpbmNsdWRlIDx3aW5zb2NrLmg+DQozOiANCjQ6IC8qdG9w Ki8NCjU6IHR5cGVkZWYgc29ja2xlbl90IGNvbmZ0ZXN0X3R5cGU7DQo2OiBz dGF0aWMgY29uZnRlc3RfdHlwZSBjb25mdGVzdHZhbFtzaXplb2YoY29uZnRl c3RfdHlwZSk/MTotMV07DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0tLS0t LS0tLS0NCg0KaGF2ZV9oZWFkZXI6IGNoZWNraW5nIGZvciBzeXMvdW4uaC4u LiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBubw0KDQoiZ2NjIC1FIC1JLi4vLi4g LUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4v cnVieS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2 ICAgY29uZnRlc3QuYyAtbyBjb25mdGVzdC5pIg0KY29uZnRlc3QuYzoxOjIw OiBmYXRhbCBlcnJvcjogc3lzL3VuLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkNCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuDQpjaGVja2VkIHByb2dy YW0gd2FzOg0KLyogYmVnaW4gKi8NCjE6ICNpbmNsdWRlIDxzeXMvdW4uaD4N Ci8qIGVuZCAqLw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpoYXZlX2hl YWRlcjogY2hlY2tpbmcgZm9yIHN5cy91aW8uaC4uLiAtLS0tLS0tLS0tLS0t LS0tLS0tLSBubw0KDQoiZ2NjIC1FIC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8u Li8uLi9ydWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0 IC1JLiAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2ICAgY29uZnRlc3QuYyAt byBjb25mdGVzdC5pIg0KY29uZnRlc3QuYzoxOjIxOiBmYXRhbCBlcnJvcjog c3lzL3Vpby5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb21waWxh dGlvbiB0ZXJtaW5hdGVkLg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJl Z2luICovDQoxOiAjaW5jbHVkZSA8c3lzL3Vpby5oPg0KLyogZW5kICovDQoN Ci0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmhhdmVfZnVuYzogY2hlY2tpbmcg Zm9yIFdTQUNsZWFudXAoKS4uLiAtLS0tLS0tLS0tLS0tLS0tLS0tLSB5ZXMN Cg0KImdjYyAtbyBjb25mdGVzdCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4v Li4vcnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAt SS4gICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgY29uZnRlc3QuYyAgLUwu IC1MLi4vLi4gLUwuICAgICAtbHdzMl8zMiAgLWxtc3ZjcnQtcnVieTE4LXN0 YXRpYyAtbHdzMl8zMiAgLWxzaGVsbDMyIC1sd3MyXzMyICAiDQpjaGVja2Vk IHByb2dyYW0gd2FzOg0KLyogYmVnaW4gKi8NCjE6ICNpbmNsdWRlIDx3aW5k b3dzLmg+DQoyOiAjaW5jbHVkZSA8d2luc29jay5oPg0KMzogDQo0OiAvKnRv cCovDQo1OiBpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0NCjY6IGludCB0KCkg eyB2b2lkICgoKnZvbGF0aWxlIHApKCkpOyBwID0gKHZvaWQgKCgqKSgpKSlX U0FDbGVhbnVwOyByZXR1cm4gMDsgfQ0KLyogZW5kICovDQoNCi0tLS0tLS0t LS0tLS0tLS0tLS0tDQoNCmhhdmVfZnVuYzogY2hlY2tpbmcgZm9yIGhzdGVy cm9yKCkuLi4gLS0tLS0tLS0tLS0tLS0tLS0tLS0gbm8NCg0KImdjYyAtbyBj b25mdGVzdCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieSAtSS4u Ly4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAtSS4gICAtZyAtTzIg LURGRF9TRVRTSVpFPTI1NiAgY29uZnRlc3QuYyAgLUwuIC1MLi4vLi4gLUwu ICAgICAtbHdzMl8zMiAgLWxtc3ZjcnQtcnVieTE4LXN0YXRpYyAtbHdzMl8z MiAgLWxzaGVsbDMyIC1sd3MyXzMyICAiDQpjb25mdGVzdC5jOiBJbiBmdW5j dGlvbiAndCc6DQpjb25mdGVzdC5jOjY6NTM6IGVycm9yOiAnaHN0ZXJyb3In IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29u ZnRlc3QuYzo2OjUzOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmll ciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQg YXBwZWFycyBpbg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICov DQoxOiAjaW5jbHVkZSA8d2luZG93cy5oPg0KMjogI2luY2x1ZGUgPHdpbnNv Y2suaD4NCjM6IA0KNDogLyp0b3AqLw0KNTogaW50IG1haW4oKSB7IHJldHVy biAwOyB9DQo2OiBpbnQgdCgpIHsgdm9pZCAoKCp2b2xhdGlsZSBwKSgpKTsg cCA9ICh2b2lkICgoKikoKSkpaHN0ZXJyb3I7IHJldHVybiAwOyB9DQovKiBl bmQgKi8NCg0KImdjYyAtbyBjb25mdGVzdCAtSS4uLy4uIC1JLi4vLi4vLi4v Li4vLi4vLi4vcnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3Nv Y2tldCAtSS4gICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgY29uZnRlc3Qu YyAgLUwuIC1MLi4vLi4gLUwuICAgICAtbHdzMl8zMiAgLWxtc3ZjcnQtcnVi eTE4LXN0YXRpYyAtbHdzMl8zMiAgLWxzaGVsbDMyIC1sd3MyXzMyICAiDQpD OlxVc2Vyc1xMdWlzXEFwcERhdGFcTG9jYWxcVGVtcFxjY0N6WE1pWC5vOiBJ biBmdW5jdGlvbiBgdCc6DQpDOlxVc2Vyc1xMdWlzXFByb2plY3RzXG9zc1xv Y2lccnVieWluc3RhbGxlclxzYW5kYm94XHJ1YnkxOF9idWlsZFxleHRcc29j a2V0L2NvbmZ0ZXN0LmM6MzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgaHN0 ZXJyb3InDQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cw0K Y2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICovDQoxOiAvKnRvcCov DQoyOiBpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0NCjM6IGludCB0KCkgeyBo c3RlcnJvcigpOyByZXR1cm4gMDsgfQ0KLyogZW5kICovDQoNCi0tLS0tLS0t LS0tLS0tLS0tLS0tDQoNCmhhdmVfZnVuYzogY2hlY2tpbmcgZm9yIGdldGlw bm9kZWJ5bmFtZSgpLi4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIG5vDQoNCiJn Y2MgLW8gY29uZnRlc3QgLUkuLi8uLiAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1 YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4dC9zb2NrZXQgLUkuICAg LWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAtTC4u Ly4uIC1MLiAgICAgLWx3czJfMzIgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0aWMg LWx3czJfMzIgIC1sc2hlbGwzMiAtbHdzMl8zMiAgIg0KY29uZnRlc3QuYzog SW4gZnVuY3Rpb24gJ3QnOg0KY29uZnRlc3QuYzo2OjUzOiBlcnJvcjogJ2dl dGlwbm9kZWJ5bmFtZScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pDQpjb25mdGVzdC5jOjY6NTM6IG5vdGU6IGVhY2ggdW5kZWNs YXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFj aCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluDQpjaGVja2VkIHByb2dyYW0gd2Fz Og0KLyogYmVnaW4gKi8NCjE6ICNpbmNsdWRlIDx3aW5kb3dzLmg+DQoyOiAj aW5jbHVkZSA8d2luc29jay5oPg0KMzogDQo0OiAvKnRvcCovDQo1OiBpbnQg bWFpbigpIHsgcmV0dXJuIDA7IH0NCjY6IGludCB0KCkgeyB2b2lkICgoKnZv bGF0aWxlIHApKCkpOyBwID0gKHZvaWQgKCgqKSgpKSlnZXRpcG5vZGVieW5h bWU7IHJldHVybiAwOyB9DQovKiBlbmQgKi8NCg0KImdjYyAtbyBjb25mdGVz dCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieSAtSS4uLy4uLy4u Ly4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAtSS4gICAtZyAtTzIgLURGRF9T RVRTSVpFPTI1NiAgY29uZnRlc3QuYyAgLUwuIC1MLi4vLi4gLUwuICAgICAt bHdzMl8zMiAgLWxtc3ZjcnQtcnVieTE4LXN0YXRpYyAtbHdzMl8zMiAgLWxz aGVsbDMyIC1sd3MyXzMyICAiDQpDOlxVc2Vyc1xMdWlzXEFwcERhdGFcTG9j YWxcVGVtcFxjY3dkd29QQS5vOiBJbiBmdW5jdGlvbiBgdCc6DQpDOlxVc2Vy c1xMdWlzXFByb2plY3RzXG9zc1xvY2lccnVieWluc3RhbGxlclxzYW5kYm94 XHJ1YnkxOF9idWlsZFxleHRcc29ja2V0L2NvbmZ0ZXN0LmM6MzogdW5kZWZp bmVkIHJlZmVyZW5jZSB0byBgZ2V0aXBub2RlYnluYW1lJw0KY29sbGVjdDI6 IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCmNoZWNrZWQgcHJvZ3JhbSB3 YXM6DQovKiBiZWdpbiAqLw0KMTogLyp0b3AqLw0KMjogaW50IG1haW4oKSB7 IHJldHVybiAwOyB9DQozOiBpbnQgdCgpIHsgZ2V0aXBub2RlYnluYW1lKCk7 IHJldHVybiAwOyB9DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0tLS0tLS0t LS0NCg0KaGF2ZV9mdW5jOiBjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFtZTIo KS4uLiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBubw0KDQoiZ2NjIC1vIGNvbmZ0 ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4v Li4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAtREZE X1NFVFNJWkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4gICAg IC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1sd3MyXzMyICAt bHNoZWxsMzIgLWx3czJfMzIgICINCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICd0JzoNCmNvbmZ0ZXN0LmM6Njo1MzogZXJyb3I6ICdnZXRob3N0YnluYW1l MicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pDQpj b25mdGVzdC5jOjY6NTM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlm aWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBp dCBhcHBlYXJzIGluDQpjaGVja2VkIHByb2dyYW0gd2FzOg0KLyogYmVnaW4g Ki8NCjE6ICNpbmNsdWRlIDx3aW5kb3dzLmg+DQoyOiAjaW5jbHVkZSA8d2lu c29jay5oPg0KMzogDQo0OiAvKnRvcCovDQo1OiBpbnQgbWFpbigpIHsgcmV0 dXJuIDA7IH0NCjY6IGludCB0KCkgeyB2b2lkICgoKnZvbGF0aWxlIHApKCkp OyBwID0gKHZvaWQgKCgqKSgpKSlnZXRob3N0YnluYW1lMjsgcmV0dXJuIDA7 IH0NCi8qIGVuZCAqLw0KDQoiZ2NjIC1vIGNvbmZ0ZXN0IC1JLi4vLi4gLUku Li8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVi eS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2ICBj b25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4gICAgIC1sd3MyXzMyICAtbG1z dmNydC1ydWJ5MTgtc3RhdGljIC1sd3MyXzMyICAtbHNoZWxsMzIgLWx3czJf MzIgICINCkM6XFVzZXJzXEx1aXNcQXBwRGF0YVxMb2NhbFxUZW1wXGNjYU9z WWd3Lm86IEluIGZ1bmN0aW9uIGB0JzoNCkM6XFVzZXJzXEx1aXNcUHJvamVj dHNcb3NzXG9jaVxydWJ5aW5zdGFsbGVyXHNhbmRib3hccnVieTE4X2J1aWxk XGV4dFxzb2NrZXQvY29uZnRlc3QuYzozOiB1bmRlZmluZWQgcmVmZXJlbmNl IHRvIGBnZXRob3N0YnluYW1lMicNCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAx IGV4aXQgc3RhdHVzDQpjaGVja2VkIHByb2dyYW0gd2FzOg0KLyogYmVnaW4g Ki8NCjE6IC8qdG9wKi8NCjI6IGludCBtYWluKCkgeyByZXR1cm4gMDsgfQ0K MzogaW50IHQoKSB7IGdldGhvc3RieW5hbWUyKCk7IHJldHVybiAwOyB9DQov KiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaGF2ZV9mdW5j OiBjaGVja2luZyBmb3Igc29ja2V0cGFpcigpLi4uIC0tLS0tLS0tLS0tLS0t LS0tLS0tIG5vDQoNCiJnY2MgLW8gY29uZnRlc3QgLUkuLi8uLiAtSS4uLy4u Ly4uLy4uLy4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4 dC9zb2NrZXQgLUkuICAgLWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgIGNvbmZ0 ZXN0LmMgIC1MLiAtTC4uLy4uIC1MLiAgICAgLWx3czJfMzIgIC1sbXN2Y3J0 LXJ1YnkxOC1zdGF0aWMgLWx3czJfMzIgIC1sc2hlbGwzMiAtbHdzMl8zMiAg Ig0KY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ3QnOg0KY29uZnRlc3QuYzo2 OjUzOiBlcnJvcjogJ3NvY2tldHBhaXInIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZnRlc3QuYzo2OjUzOiBub3RlOiBl YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9u Y2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbg0KY2hlY2tlZCBw cm9ncmFtIHdhczoNCi8qIGJlZ2luICovDQoxOiAjaW5jbHVkZSA8d2luZG93 cy5oPg0KMjogI2luY2x1ZGUgPHdpbnNvY2suaD4NCjM6IA0KNDogLyp0b3Aq Lw0KNTogaW50IG1haW4oKSB7IHJldHVybiAwOyB9DQo2OiBpbnQgdCgpIHsg dm9pZCAoKCp2b2xhdGlsZSBwKSgpKTsgcCA9ICh2b2lkICgoKikoKSkpc29j a2V0cGFpcjsgcmV0dXJuIDA7IH0NCi8qIGVuZCAqLw0KDQoiZ2NjIC1vIGNv bmZ0ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4v Li4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAt REZEX1NFVFNJWkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4g ICAgIC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1sd3MyXzMy ICAtbHNoZWxsMzIgLWx3czJfMzIgICINCkM6XFVzZXJzXEx1aXNcQXBwRGF0 YVxMb2NhbFxUZW1wXGNjcFJ5RXdpLm86IEluIGZ1bmN0aW9uIGB0JzoNCkM6 XFVzZXJzXEx1aXNcUHJvamVjdHNcb3NzXG9jaVxydWJ5aW5zdGFsbGVyXHNh bmRib3hccnVieTE4X2J1aWxkXGV4dFxzb2NrZXQvY29uZnRlc3QuYzozOiB1 bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzb2NrZXRwYWlyJw0KY29sbGVjdDI6 IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCmNoZWNrZWQgcHJvZ3JhbSB3 YXM6DQovKiBiZWdpbiAqLw0KMTogLyp0b3AqLw0KMjogaW50IG1haW4oKSB7 IHJldHVybiAwOyB9DQozOiBpbnQgdCgpIHsgc29ja2V0cGFpcigpOyByZXR1 cm4gMDsgfQ0KLyogZW5kICovDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tDQoN CmhhdmVfZnVuYzogY2hlY2tpbmcgZm9yIGdldGhvc3RuYW1lKCkuLi4gLS0t LS0tLS0tLS0tLS0tLS0tLS0geWVzDQoNCiJnY2MgLW8gY29uZnRlc3QgLUku Li8uLiAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8u Li8uLi9ydWJ5L2V4dC9zb2NrZXQgLUkuICAgLWcgLU8yIC1ERkRfU0VUU0la RT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAtTC4uLy4uIC1MLiAgICAgLWx3czJf MzIgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0aWMgLWx3czJfMzIgIC1sc2hlbGwz MiAtbHdzMl8zMiAgIg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2lu ICovDQoxOiAjaW5jbHVkZSA8d2luZG93cy5oPg0KMjogI2luY2x1ZGUgPHdp bnNvY2suaD4NCjM6IA0KNDogLyp0b3AqLw0KNTogaW50IG1haW4oKSB7IHJl dHVybiAwOyB9DQo2OiBpbnQgdCgpIHsgdm9pZCAoKCp2b2xhdGlsZSBwKSgp KTsgcCA9ICh2b2lkICgoKikoKSkpZ2V0aG9zdG5hbWU7IHJldHVybiAwOyB9 DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K --mimepart_4ca32aadbbef1_ef05a293101393c Content-Type: text/plain; name=Makefile Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename=Makefile ClNIRUxMID0gL2Jpbi9zaAoKIyMjIyBTdGFydCBvZiBzeXN0ZW0gY29uZmln dXJhdGlvbiBzZWN0aW9uLiAjIyMjCgpzcmNkaXIgPSAkKHRvcF9zcmNkaXIp L2V4dC9zb2NrZXQKdG9wZGlyID0gLi4vLi4KaGRyZGlyID0gJCh0b3Bfc3Jj ZGlyKQpWUEFUSCA9ICQoc3JjZGlyKTokKHRvcGRpcik6JChoZHJkaXIpClJV QllMSUIgPSAtClJVQllPUFQgPSAtcnB1cmVsaWIucmIKCkRFU1RESVIgPSBD OgpwcmVmaXggPSAkKERFU1RESVIpL1VzZXJzL0x1aXMvUHJvamVjdHMvb3Nz L29jaS9ydWJ5aW5zdGFsbGVyL3NhbmRib3gvcnVieTE4X21pbmd3CmV4ZWNf cHJlZml4ID0gJChERVNURElSKS9Vc2Vycy9MdWlzL1Byb2plY3RzL29zcy9v Y2kvcnVieWluc3RhbGxlci9zYW5kYm94L3J1YnkxOF9taW5ndwpzaXRlZGly ID0gJChERVNURElSKS9Vc2Vycy9MdWlzL1Byb2plY3RzL29zcy9vY2kvcnVi eWluc3RhbGxlci9zYW5kYm94L3J1YnkxOF9taW5ndy9saWIvcnVieS9zaXRl X3J1YnkKcnVieWxpYmRpciA9ICQobGliZGlyKS9ydWJ5LyQocnVieV92ZXJz aW9uKQpkb2NkaXIgPSAkKGRhdGFyb290ZGlyKS9kb2MvJChQQUNLQUdFKQpk dmlkaXIgPSAkKGRvY2RpcikKZGF0YXJvb3RkaXIgPSAkKHByZWZpeCkvc2hh cmUKdG9wX3NyY2RpciA9ICQodG9wZGlyKS8uLi8uLi8uLi8uLi9ydWJ5CmFy Y2hkaXIgPSAkKHJ1YnlsaWJkaXIpLyQoYXJjaCkKc2JpbmRpciA9ICQoZXhl Y19wcmVmaXgpL3NiaW4KcHNkaXIgPSAkKGRvY2RpcikKbG9jYWxlZGlyID0g JChkYXRhcm9vdGRpcikvbG9jYWxlCmh0bWxkaXIgPSAkKGRvY2RpcikKZGF0 YWRpciA9ICQoZGF0YXJvb3RkaXIpCmluY2x1ZGVkaXIgPSAkKHByZWZpeCkv aW5jbHVkZQppbmZvZGlyID0gJChkYXRhcm9vdGRpcikvaW5mbwpzeXNjb25m ZGlyID0gJChwcmVmaXgpL2V0YwptYW5kaXIgPSAkKGRhdGFyb290ZGlyKS9t YW4KbGliZGlyID0gJChleGVjX3ByZWZpeCkvbGliCnNoYXJlZHN0YXRlZGly ID0gJChwcmVmaXgpL2NvbQpvbGRpbmNsdWRlZGlyID0gJChERVNURElSKS91 c3IvaW5jbHVkZQpwZGZkaXIgPSAkKGRvY2RpcikKc2l0ZWFyY2hkaXIgPSAk KHNpdGVsaWJkaXIpLyQoc2l0ZWFyY2gpCmJpbmRpciA9ICQoZXhlY19wcmVm aXgpL2Jpbgpsb2NhbHN0YXRlZGlyID0gJChwcmVmaXgpL3ZhcgpzaXRlbGli ZGlyID0gJChzaXRlZGlyKS8kKHJ1YnlfdmVyc2lvbikKbGliZXhlY2RpciA9 ICQoZXhlY19wcmVmaXgpL2xpYmV4ZWMKCkNDID0gZ2NjCkxJQlJVQlkgPSBs aWIkKExJQlJVQllfU08pLmEKTElCUlVCWV9BID0gbGliJChSVUJZX1NPX05B TUUpLXN0YXRpYy5hCkxJQlJVQllBUkdfU0hBUkVEID0gLWwkKFJVQllfU09f TkFNRSkKTElCUlVCWUFSR19TVEFUSUMgPSAtbCQoUlVCWV9TT19OQU1FKS1z dGF0aWMKClJVQllfRVhUQ09ORl9IID0gCkNGTEFHUyAgID0gIC1nIC1PMiAt REZEX1NFVFNJWkU9MjU2ICAKSU5DRkxBR1MgPSAtSS4gLUkuLi8uLiAtSS4u Ly4uLy4uLy4uLy4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5 L2V4dC9zb2NrZXQKREVGUyAgICAgPSAKQ1BQRkxBR1MgPSAtREhBVkVfU09D S0FERFJfU1RPUkFHRSAtREhBVkVfSU5FVF9OVE9BIC1ESEFWRV9HRVRTRVJW QllQT1JUIC1Ec29ja2xlbl90PWludCAtREhBVkVfV1NBQ0xFQU5VUCAtREhB VkVfR0VUSE9TVE5BTUUgLUkuICAKQ1hYRkxBR1MgPSAkKENGTEFHUykgCkRM REZMQUdTID0gLUwuICAgLVdsLC0tZW5hYmxlLWF1dG8taW1hZ2UtYmFzZSwt LWVuYWJsZS1hdXRvLWltcG9ydCwtLWV4cG9ydC1hbGwgCkxEU0hBUkVEID0g Z2NjIC1zaGFyZWQgLXMKQVIgPSBhcgpFWEVFWFQgPSAuZXhlCgpSVUJZX0lO U1RBTExfTkFNRSA9IHJ1YnkKUlVCWV9TT19OQU1FID0gbXN2Y3J0LXJ1Ynkx OAphcmNoID0gaTM4Ni1taW5ndzMyCnNpdGVhcmNoID0gaTM4Ni1tc3ZjcnQK cnVieV92ZXJzaW9uID0gMS44CnJ1YnkgPSAkKHRvcGRpcikvbWluaXJ1Ynku ZXhlIC1JJyQodG9wZGlyKScgLUknJCh0b3Bfc3JjZGlyKS9saWInIC1JJyQo ZXh0b3V0KS8kKGFyY2gpJyAtSSckKGV4dG91dCkvY29tbW9uJyAtSSckKGhk cmRpcikvZXh0JyAtcnB1cmVsaWIucmIKUlVCWSA9ICQocnVieSkKUk0gPSBy bSAtZgpNQUtFRElSUyA9IGluc3RhbGwgLWQKSU5TVEFMTCA9IC91c3IvYmlu L2luc3RhbGwgLWMKSU5TVEFMTF9QUk9HID0gJChJTlNUQUxMKSAtbSAwNzU1 CklOU1RBTExfREFUQSA9ICQoSU5TVEFMTCkgLW0gNjQ0CkNPUFkgPSBjcAoK IyMjIyBFbmQgb2Ygc3lzdGVtIGNvbmZpZ3VyYXRpb24gc2VjdGlvbi4gIyMj IwoKcHJlbG9hZCA9IAoKbGlicGF0aCA9IC4gJCh0b3BkaXIpCkxJQlBBVEgg PSAgLUwuIC1MJCh0b3BkaXIpCkRFRkZJTEUgPSAKCkNMRUFORklMRVMgPSBt a21mLmxvZwpESVNUQ0xFQU5GSUxFUyA9IAoKZXh0b3V0ID0gJCh0b3BkaXIp Ly5leHQKZXh0b3V0X3ByZWZpeCA9ICQoZXh0b3V0KSQodGFyZ2V0X3ByZWZp eCkvCnRhcmdldF9wcmVmaXggPSAKTE9DQUxfTElCUyA9IApMSUJTID0gJChM SUJSVUJZQVJHX1NIQVJFRCkgLWx3czJfMzIgIC1sc2hlbGwzMiAtbHdzMl8z MiAgClNSQ1MgPSBzb2NrZXQuYyBnZXRhZGRyaW5mby5jIGdldG5hbWVpbmZv LmMKT0JKUyA9IHNvY2tldC5vIGdldGFkZHJpbmZvLm8gZ2V0bmFtZWluZm8u bwpUQVJHRVQgPSBzb2NrZXQKRExMSUIgPSAkKFRBUkdFVCkuc28KRVhUU1RB VElDID0gClNUQVRJQ19MSUIgPSAkKFRBUkdFVCkuYQoKUlVCWUNPTU1PTkRJ UiA9ICQoZXh0b3V0KS9jb21tb24KUlVCWUxJQkRJUiAgICA9ICQoUlVCWUNP TU1PTkRJUikkKHRhcmdldF9wcmVmaXgpClJVQllBUkNIRElSICAgPSAkKGV4 dG91dCkvJChhcmNoKSQodGFyZ2V0X3ByZWZpeCkKClRBUkdFVF9TTyAgICAg PSAkKFJVQllBUkNIRElSKS8kKERMTElCKQpDTEVBTkxJQlMgICAgID0gJChS VUJZQVJDSERJUikvJChUQVJHRVQpLnNvICQoUlVCWUFSQ0hESVIpLyQoVEFS R0VUKS5pbD8gJChSVUJZQVJDSERJUikvJChUQVJHRVQpLnRkcyAkKFJVQllB UkNIRElSKS8kKFRBUkdFVCkubWFwCkNMRUFOT0JKUyAgICAgPSAqLm8gKi5h ICouc1tvbF0gKi5wZGIgKi5leHAgKi5iYWsKCmFsbDoJCWluc3RhbGwKc3Rh dGljOgkJJChTVEFUSUNfTElCKSBpbnN0YWxsLXJiCgpjbGVhbjoKCQlALSQo Uk0pICQoQ0xFQU5MSUJTKSAkKENMRUFOT0JKUykgJChDTEVBTkZJTEVTKQoK ZGlzdGNsZWFuOgljbGVhbgoJCUAtJChSTSkgTWFrZWZpbGUgJChSVUJZX0VY VENPTkZfSCkgY29uZnRlc3QuKiBta21mLmxvZwoJCUAtJChSTSkgY29yZSBy dWJ5JChFWEVFWFQpICp+ICQoRElTVENMRUFORklMRVMpCgpyZWFsY2xlYW46 CWRpc3RjbGVhbgppbnN0YWxsOiBpbnN0YWxsLXNvIGluc3RhbGwtcmIKCmlu c3RhbGwtc286ICQoUlVCWUFSQ0hESVIpCmluc3RhbGwtc286ICQoUlVCWUFS Q0hESVIpLyQoRExMSUIpCmluc3RhbGwtcmI6IHByZS1pbnN0YWxsLXJiIGlu c3RhbGwtcmItZGVmYXVsdAppbnN0YWxsLXJiLWRlZmF1bHQ6IHByZS1pbnN0 YWxsLXJiLWRlZmF1bHQKcHJlLWluc3RhbGwtcmI6IE1ha2VmaWxlCnByZS1p bnN0YWxsLXJiLWRlZmF1bHQ6IE1ha2VmaWxlCiQoUlVCWUFSQ0hESVIpOgoJ JChNQUtFRElSUykgJEAKCnNpdGUtaW5zdGFsbDogc2l0ZS1pbnN0YWxsLXNv IHNpdGUtaW5zdGFsbC1yYgpzaXRlLWluc3RhbGwtc286IGluc3RhbGwtc28K c2l0ZS1pbnN0YWxsLXJiOiBpbnN0YWxsLXJiCgouU1VGRklYRVM6IC5jIC5t IC5jYyAuY3h4IC5jcHAgLm8KCi5jYy5vOgoJJChDWFgpICQoSU5DRkxBR1Mp ICQoQ1BQRkxBR1MpICQoQ1hYRkxBR1MpIC1jICQ8CgouY3h4Lm86CgkkKENY WCkgJChJTkNGTEFHUykgJChDUFBGTEFHUykgJChDWFhGTEFHUykgLWMgJDwK Ci5jcHAubzoKCSQoQ1hYKSAkKElOQ0ZMQUdTKSAkKENQUEZMQUdTKSAkKENY WEZMQUdTKSAtYyAkPAoKLmMubzoKCSQoQ0MpICQoSU5DRkxBR1MpICQoQ1BQ RkxBR1MpICQoQ0ZMQUdTKSAtYyAkPAoKJChSVUJZQVJDSERJUikvJChETExJ Qik6ICQoT0JKUykgTWFrZWZpbGUKCUAtJChSTSkgJEAKCUAtJChNQUtFRElS UykgJChARCkKCSQoTERTSEFSRUQpIC1vICRAICQoT0JKUykgJChMSUJQQVRI KSAkKERMREZMQUdTKSAkKExPQ0FMX0xJQlMpICQoTElCUykKCiQoU1RBVElD X0xJQik6ICQoT0JKUykKCSQoQVIpIGNydSAkQCAkKE9CSlMpCglALXJhbmxp YiAkKERMTElCKSAyPiAvZGV2L251bGwgfHwgdHJ1ZQoKIyMjCnNvY2tldC5v IDogc29ja2V0LmMgJChoZHJkaXIpL3J1YnkuaCAkKHRvcGRpcikvY29uZmln LmggJChoZHJkaXIpL2RlZmluZXMuaCAkKGhkcmRpcikvcnVieWlvLmggJCho ZHJkaXIpL3J1YnlzaWcuaCBzb2NrcG9ydC5oCmdldG5hbWVpbmZvLm86IGdl dG5hbWVpbmZvLmMgJCh0b3BkaXIpL2NvbmZpZy5oIGFkZHJpbmZvLmggc29j a3BvcnQuaApnZXRhZGRyaW5mby5vOiBnZXRhZGRyaW5mby5jICQodG9wZGly KS9jb25maWcuaCBhZGRyaW5mby5oIHNvY2twb3J0LmgK --mimepart_4ca32aadbbef1_ef05a293101393c Content-Type: application/x-zip-compressed; name=config.log.zip Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename=config.log.zip UEsDBBQAAAAIAGRGPT1lzXywOUwAAAqvBQAKAAAAY29uZmlnLmxvZ+xdeXPi NhT/u5npd1DPJG05bGNj06YdSsgubRYyQHpuh3FsA26MTX0kocd375NsY8tH lmDapq0ymyzoHXo630/Pkjxdmh6am5aBNMf2VdP2kGpv0MrwPHVheGjtOnqg GTq62QDHag2croful/D/kRvYtmkvsOTcXASu8QnyHaSaOtKNm2CxwDRznpDR Sr01QD9amZ4PH+tHRwMf3ase0lxD9cNMEmU4F22J6UcLwzbcmOPF8Bp1A9/B nIivS+06QgP7ztFU33RsbOVKtXVkmbZBhI8Qeh/V643tPze42TQSq2o1w1Zv LKPmLVXX0OH7vekv4Y/tOdotD9910yMMkOKrllXTHQ31Li67LyZntQWqjYDn /OJ8NulPJ4Mf+me8KIHQ2jXm5sNZr9O49qDOGpeB6TWuXOdnQ/O9huPBr2YS WyK1htvwwPAb54GkcvJsBTV4f3T03nugLvpB772Hv19Zqj933FUdvufoR0vH 8211ZaAz9HV/NO4fBeRbbQUJpiRL8XcXvnP1Zp0TT5r1VrshNPjTmOYB7dVg +OJbgZ8NpzWpzsWUO6DwTa5Za7ZrTQnxfKfZOjpqBJ7buDHtRsS1Bq7AvrWd e/sonf4dwj8JLSSqLrR0/ENzEM0JU+22kAG3553x0FgYvrfxTHvuFGnAFUNo +Cdr4ErVltBnHrfB8SzjzrBCer6I5h00dagiW86r7vRlBzW0PbrDWtcCUOvh TKrocdaG7XlWVTW/WuZNSgeum+xX0nOr5mPiNq2qZKHfrEp11BfGKpwOHmSp RowW+AZXl0slpo5jeY0xiBC5GvDW27W10ORrppDooOW/NW3dufca0DN9YyXw OUqedRKxNr69MVbl5Djhyrk33MnSsKzGHYzoRrntbyjZC9NvaCv9EY7Jnf0G HS8XjxCvbfPhDfLfmEmJcTMvXHWFLkwLfMcJtNNp4yv1Tm38rN9ydanenHFh a0XzZHam7DkwxfuG53vJXEnPlltP0OElvtlB2tLQbrHvuglMS0dhoyF/szYo VqHVQa7hBZbfIZNqba3FrU/xia2USjwBlWqU2rtplNspjb7qLoxSne1mcyed SktO6QTPghaaRjFIrQ6kB7aeGeCNLGNbTHKkaQLfbGVy6W1BBcIzJ/hvip8T iA5osoiKPv9QPIKUuvFgoBNfX9W4U9Sqi3Xu7aOes9645mLpo5PeKfFQ6MI1 DDRx5v69Cr3gAptPQMInABi0+ttHBP3Avznm8yK+T5EH3/wlTglczSCGaqA8 wjq6iVVAd0LTpQFqQX44evsIRF3V9jefItvxETgJmwi+6o97L7vDaffLweVg +j2CpIvBdNifTNDFaIy66Ko7ng5615fdMbq6Hl+NJn0w7G2qGniotve/AGfS LK6dO1It117caX1AKshbG5pXP+qNLi/7vensRa8HWOQ1GWyv8WB7HU+grx0P fjXzNTWBvo4m0Ne6cXdr+q9Jg7+GBn8dVf9W8+V0NPt23L266o/PtE4jIMPZ wsN5vdsUHeaQdCmM0cDFQB4a7l2NeE4l7dywfKd276rrteESM6ZkAHRQ3Kt7 cQ3pCOO4TgT9PJcoqxElFPojw/wsEk/QoKXaiwBj4DPtE1VXP9E+/vgTaFAf GvkT5+ZnDf+pQWIi4S8BxureGSDHtCIoygI6eZIAJUi+zAPL2tT0DaAjU6t5 vgt2ULKer2sPDzUMqRNCPB5quJXNOUgCGPfNVSiRgqy2lf5GLKu5xsKEjDYp grdZYY0JbA0rPS1quK7jJgZgm+aWuvDOjmtz24Fy2JpPLDLI/6ALJ8N4U7dJ xzG2Xt8uogKckTGcwuA/Wz/XjAfNWBOJWADKHrjW2dL3151GA8vgXujrrrpw 7Lpt+A3g8I6mpAXQytENq4NIafFsEc8t4UyxnTeeNMa+SU89HXRc++YYOcRI tApgUl+qdwaCrhisDNsv1swVa/4lso7OILBdQ3MWtvmroccZHW95jxNG20Gm vQ58sorzdsm5lZ6F75eGD9MYnu/Ss/G9497SyiQptLdsxYPI0g172rqGcFko 6XazqHoFTk6cxYa2Hmqo3FnoxlwFIeQEflx0hNcXtAIhUa5CZWWoSka9F8yh 5yNnjvDME/jQHzMWCXEVOElZgXe/KhFaxVUi8YnVOaPloqa7xx3PgEU0TLNR FQGZklP4Q1quSAWWQ3kEsLiR1k+T24VSfKq8tkOT2qVN5Nxgz5Lv862WEpX0 kZ6alC1btJYoFBrZToE9h6bI5S0SEI8MKSRmkXRfSoHSrmSwUlirYlMqHVgi J+ZNJiaoGp53PbCD4hfElIVZYzKchca0HzFGEfLAM57vfCcyCQ0mI9STlbSk JEYVt2fNEfm8sVK7me6PNswrhqEbOsWjSBSmv8eWggOOJlFwoYB8NAihOVRT t/m4qftpw3IseaPaLa5QMvnY4ZodHrriHPythYiv7kDlzXAJHsDbg1OqAxYa OjCGtGU4YUJl66YLw8hxN0dh31TDejdccP843lbPWJH3JzhLUKajdbhQwyG3 ztHvqPERMRQmaq++RB81IOk9+IIDLFfd3tfdF/3ZsPuqj959t4Ay7Y7Lid/0 x5PBaFhMnEzHELQqpn15/WLcvxqNp8Xk6/ElTbieYJnB5XQwnF2MwZ5Z9/x8 jJE7FxbQsPVUIesoKqZpa1agG+izbP1/TtWmtB0VcdtSZFl6Y2eRC+dhudl8 Bp0FrGCd5WCdRc6hlQVMMjDfqBh52jqOjVgOkMDzw0cc/64ZlAI5FVzYRjOx EopL4TPZGFkWRWyVKMp0YEVqFrsZMqGCk4GVVLiUVq1M3+SUTN/0Fr6/ebRL vl3WJ9/O9vsmrTvkdaoojwustEqQTKvZbBdDbtxet/DR9AhEsHRKilOyfjOh 8UJeYzTqEz9OGyG04nmBwoFmbnpJ+JPpJUluCeVWKc1M/7kxPSqm0+KaUhRI SnpPnolL9VZCRbUNxdDOQkNYlsPSl+JRhJKQVZ6Xb6baroAsZYef6lJ0WSzJ KsOnpOZ8mgTwOJuFR9H5stJk+NJxSZok5sJv9oqi882SLDJ8ApdkkSEpEp0F XoTrLt1LJI4vyaeIOb2KK6LL2cilblk4PpRmajfLopdFzFwqgllElzPViBcj erCimORmWV0WMXOpCi2iC1mQHEeroqgPOr+8pATE5uHWe6G2/EQgSymrV96d 5vppsiIXLTMsGMneNrqQMCvUKvCTaOmkgVNZ03xSXil5rgxBW5jx3j951f26 f5oSEZvlMQYYEFx20KEvJ+c1PN3DZH8DfiAKV6aluKZS4AIjRliNULx81qN2 h5MBLBKWEKgy3O0CNhFo8RXWg0Q831Yiz4mH6xBYW0km2QDALlJ8bnWY0IRc kGbjNfBDDoBQNGOVZT8Wj03LJD/RNOgC/jO0zNfBoT1Hu1z4+PzsWhkrQH3P z66wvp5h1zdt/7kOSl837Wc4JGGrCJj2j9slpr3TysTP5kMyLMMDePADkWR/ Q0vs556iBRgsHnmJXoBR2VYNO2D7WNghDDtkuL4dDCej3tc8RZhMz3uzl/3u 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 yp7DsdXRIeycPg2Y2QL8ALAjnbIQfHuOPa6htWwU1CQKJQolCiUKJQolCiUK JQolCr0ihSYh/jwTgu2c2NNp+DBl1PRrDhWx7hX5tH6eHBFPEk8STxJPEk8S TxJPEk8ST95SnkxjnjeFlesfjB712u+LegbOmShUqRtSrx70lEo2CloSoxKj EqMSoxKjEqMSoxKjEqPeOKOmXzUoXp1N66fJq4c8iSaJJokmiSaJJokmiSaJ JokmPwhNphHPG4LKioBn/z0Bz3DCzs0K2wGqrq5XLRnJ1U+iDnoFFTOvArlL 1agx6lYc76DdzguTdUGaOAztS/w9jefMjyAKYMqiaRjEC2FU7g5r2A7jyfj4 lWChOH4ec3H8eLF4akf28fPAsb3jl2y+OHacg8vZj5fL3cDk+z+zbR5MCYdh 8BdzInEcCPzv8OMwPr3kPp5Qz2PhsbD9yWlwoVKt4clpzL3J17kpgmWh8WI/ u9xD5rJQ7uYlrfLnyiwNuSMEynOizhi8Sdr3sLyl9n9IN374vGA92jaCJhc0 uaDJBU0uaHLxCUwuijZ6hS3heCl/nRw93f+1JHdtxrpuqnt05RRGZbyc2f6Z kK73J37G4AgLIkIoCFKr4KXPphkPzXhu3YxnNfodPHsKiMIySUEl/PT4N50v v+FYDDgYN+UA+S008eN3ID+P5Wc516mYQEF6FeFvwaI/ZEuv1UQo2cZiB/zk W+xLWH6TlT63vYe5DU7U17cA8m/Slvq8KzMQVR9YSoi64poc5OYQwOEbdVz4 6auv0p0+Mi34aywj66t2VJ6PKStu1mv3kgot+FraQCejUq0dyBWSy/vgAVg7 confZ5BWU6LlCLEvadsP/Af/sDDA7pxrSjA2V2NHyP6OecjA9tOZDorGduSu GC9xFEmPAGZyLztfwHLG/GyEQimzIIyUrdBt5aTPAzzTnImV1EyMFm5uueHj 2W3jdZWZyn8NX5i2emtMF/p6EicFGnnG/oWp/GwyJzc0sT08Gn/isVAY9Yaj rSavG95dGXTGem+M84BP5NHFTG1pwqeSDyZgC8ATFsTTmZpnnrKCfnRfhaY+ NPWhqQ9NfWjqc+enPlnawf7Lg6MXrw5xwJY5G97XMWctOiMBAEytZMcMGe43 U1hotneg3Wrh3xY8Qu+7SVh90B7p7ROUu89nWtaoELVeBqH6bHte4Ni7M6N0 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 AAA-mimepart_4ca32aadbbef1_ef05a293101393c--