Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1f0A9n-0006xi-Vn for pgadmin-hackers@arkaria.postgresql.org; Sun, 25 Mar 2018 18:14:16 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1f0A9l-0003lE-VC for pgadmin-hackers@arkaria.postgresql.org; Sun, 25 Mar 2018 18:14:14 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1f0A9l-0003l4-FS for pgadmin-hackers@lists.postgresql.org; Sun, 25 Mar 2018 18:14:13 +0000 Received: from mail-oi0-x22f.google.com ([2607:f8b0:4003:c06::22f]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1f0A9f-0005YF-NA for pgadmin-hackers@postgresql.org; Sun, 25 Mar 2018 18:14:12 +0000 Received: by mail-oi0-x22f.google.com with SMTP id 6-v6so10800546oip.8 for ; Sun, 25 Mar 2018 11:14:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=wa2el6plC/oJAbAdL6ju4h/p3PaT4D3fZ9GIA9Fv8kg=; b=ZZs85qIQNNJU11tbUmpvI1Q1jtYL+qXVCJISbCnwueVkjpZMqC5Kz/FPrv5gJftYmD 4WNJNfSjEvFJ73tCPhrk0BtcbdXWLiAMkmncqFKM5zAERS3z/KFO1PC+wBvHSFklE9Fz 1dZHj5lkkadl+ntNM8emZ5dNc6j8+z/zsiK9dC0Qydri2FOSDD5iEd7W/4PUV959Ft/U gawd6pdXX2Or1FHowtMX1Fu9G6UKKuveG9zmselIAj5T77c6cvf1k0u0yBeNUak8nMU9 4+/jzklPK1x2YjSo4piUeyX5s0TCw/zkPRq15IF36mp53LnphkrGTAlSVGXo2z4kUrVI eajw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=wa2el6plC/oJAbAdL6ju4h/p3PaT4D3fZ9GIA9Fv8kg=; b=Iwl+Tr/wKi0byMfa5fr/Ojcuzto8pQWe1vwTCDvuBr1UYA9yd3/5QK/PzFMVbR9i5D YOau4qCkQAtK4VZ3dOjqVK8zRDT7//61kETJ+stdB2UvUOa2EetjBlXLYxX+mHgfVR1g pPKZGbPfQoAf2xvFn2sGt8+pEY8p6a43lHgOUtjqk1tPs7s1XU03n4E24ETbtQwNOIQa kFzSPDM/npZ3V6E89mvD9QaNsnH42NvJHBVGFL73zpdch68XUcvxNrL0VYasddbyKoeM y30jR272U8PmISt+MnB7jhDB9ULUovzKfgyAF5cx2kETXkfl/QNe+MDzzN5xr2AUVdS4 /jHA== X-Gm-Message-State: AElRT7E8ond13aXASZyfqtvu3pzGKC4LuUWYiAz7NOAWVhFpFRYvs6KM PX0OgJ5ebYroUe8tUTtVRVtkNW6xziEGbWm4bIkacQ== X-Google-Smtp-Source: AG47ELvObkX00Fv0WbdMlUapyfacHo5imnOOvbDQRjW9WBtAP0OG/mYQ1oSdDL540y1aCJ1/sJItWNEpLFRhinbWABc= X-Received: by 10.202.106.143 with SMTP id f137mr16438609oic.23.1522001644994; Sun, 25 Mar 2018 11:14:04 -0700 (PDT) MIME-Version: 1.0 Received: by 10.138.6.138 with HTTP; Sun, 25 Mar 2018 11:13:44 -0700 (PDT) From: Murtuza Zabuawala Date: Sun, 25 Mar 2018 23:43:44 +0530 Message-ID: Subject: [pgAdmin4][RM#3055] Allow user to sort the data in View data mode To: pgadmin-hackers Content-Type: multipart/mixed; boundary="001a11407fce6608c30568409fd3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --001a11407fce6608c30568409fd3 Content-Type: multipart/alternative; boundary="001a11407fce6608c10568409fd1" --001a11407fce6608c10568409fd1 Content-Type: text/plain; charset="UTF-8" Hi, PFA patch which allow user to sort the data in View data mode. -- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company --001a11407fce6608c10568409fd1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

PFA patch wh= ich allow user to sort the data in View data mode.

=
--
Regards,
Murtuza ZabuawalaEnterpriseDB:=C2=A0http://www.enterprisedb.com
The Enterprise Po= stgreSQL Company

--001a11407fce6608c10568409fd1-- --001a11407fce6608c30568409fd3 Content-Type: application/octet-stream; name="RM_3055.diff" Content-Disposition: attachment; filename="RM_3055.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jf74eo6j0 ZGlmZiAtLWdpdCBhL2RvY3MvZW5fVVMvZWRpdGdyaWQucnN0IGIvZG9jcy9lbl9VUy9lZGl0Z3Jp ZC5yc3QKaW5kZXggMWNiMjNjZi4uYjhiNThlNSAxMDA2NDQKLS0tIGEvZG9jcy9lbl9VUy9lZGl0 Z3JpZC5yc3QKKysrIGIvZG9jcy9lbl9VUy9lZGl0Z3JpZC5yc3QKQEAgLTQ2LDE2ICs0NiwxOSBA QCBIb3ZlciBvdmVyIGFuIGljb24gdG8gZGlzcGxheSBhIHRvb2x0aXAgdGhhdCBkZXNjcmliZXMg dGhlIGljb24ncyBmdW5jdGlvbmFsaXR5LgogfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8CiB8ICAg ICAgICAgICAgICAgICAgICAgIHwgIFVzZSBvcHRpb25zIG9uIHRoZSAqRmlsdGVyKiBtZW51IHRv IHF1aWNrLXNvcnQgb3IgcXVpY2stZmlsdGVyIHRoZSBkYXRhIHNldDogICAgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgIHwKIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfAotfCAgICAgICAg ICAgICAgICAgICAgICB8ICAgICogRmlsdGVyOiBUaGlzIG9wdGlvbiBvcGVucyBhIGRpYWxvZyB0 aGF0IGFsbG93cyB5b3UgdG8gZGVmaW5lIGEgZmlsdGVyLiAgQSBmaWx0ZXIgaXMgYSAgICAgICAg fCAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgKiBTUUwgRmlsdGVy OiBUaGlzIG9wdGlvbiBvcGVucyBhIGRpYWxvZyB0aGF0IGFsbG93cyB5b3UgdG8gZGVmaW5lIGEg ZmlsdGVyLiAgQSBmaWx0ZXIgaXMgYSAgICB8ICAgICAgICAgICAgIHwKIHwgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgIGNvbmRpdGlvbiB0aGF0IGlzIHN1cHBsaWVkIHRvIGFuIGFyYml0cmFy eSBXSEVSRSBjbGF1c2UgdGhhdCByZXN0cmljdHMgdGhlIHJlc3VsdCBzZXQuICAgICAgIHwgICAg ICAgICAgICAgfAogfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAg ICAgIHwgICAgKiBSZW1vdmUgRmlsdGVyOiBUaGlzIG9wdGlvbiByZW1vdmVzIGFsbCBzZWxlY3Rp b24gLyBleGNsdXNpb24gZmlsdGVyIGNvbmRpdGlvbnMuICAgICAgICAgICAgICB8ICAgICAgICAg ICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgfCAgICAqIERhdGEgU29ydGluZzogVGhpcyBv cHRpb24gYWxsb3dzIHVzZXIgdG8gc29ydCB0aGVpciBkYXRhIGFzIHBlciByZXNwZWN0aXZlIGNv bHVtbnMgb3JkZXIgICAgIHwgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICB8 ICAgICAgdXNpbmcgZGF0YSBzb3J0aW5nIGRpYWxvZy4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8 CiB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgIHwKIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAq IEJ5IFNlbGVjdGlvbjogVGhpcyBvcHRpb24gcmVmcmVzaGVzIHRoZSBkYXRhIHNldCBhbmQgZGlz cGxheXMgb25seSB0aG9zZSByb3dzIHdob3NlICAgICAgICAgIHwgICAgICAgICAgICAgfAogfCAg ICAgICAgICAgICAgICAgICAgICB8ICAgICAgY29sdW1uIHZhbHVlIG1hdGNoZXMgdGhlIHZhbHVl IGluIHRoZSBjZWxsIGN1cnJlbnRseSBzZWxlY3RlZC4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICB8CiB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwKIHwgICAgICAg ICAgICAgICAgICAgICAgfCAgICAqIEV4Y2x1ZGUgU2VsZWN0aW9uOiBUaGlzIG9wdGlvbiByZWZy ZXNoZXMgdGhlIGRhdGEgc2V0IGFuZCBleGNsdWRlcyB0aG9zZSByb3dzIHdob3NlICAgICAgICAg IHwgICAgICAgICAgICAgfAogfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgY29sdW1uIHZh bHVlIG1hdGNoZXMgdGhlIHZhbHVlIGluIHRoZSBjZWxsIGN1cnJlbnRseSBzZWxlY3RlZC4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgfCAgICAqIFJlbW92ZSBGaWx0ZXI6 IFRoaXMgb3B0aW9uIHJlbW92ZXMgYW55IGV4aXN0aW5nIGZpbHRlciBjb25kaXRpb25zLiAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rCiB8ICpObyBsaW1pdCogICAgICAgICAgIHwgVXNlIHRoZSAqTm8gbGltaXQqIGRyb3At ZG93biBsaXN0Ym94IHRvIHNwZWNpZnkgaG93IG1hbnkgcm93cyB0byBkaXNwbGF5IGluIHRoZSBv dXRwdXQgcGFuZWwuICAgICB8ICAgICAgICAgICAgIHwKIHwgICAgICAgICAgICAgICAgICAgICAg fCBTZWxlY3QgZnJvbTogKk5vIGxpbWl0KiAodGhlIGRlZmF1bHQpLCAqMTAwMCByb3dzKiwgKjUw MCByb3dzKiwgb3IgKjEwMCByb3dzKi4gICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg fApAQCAtOTUsNiArOTgsMjAgQEAgVG8gZGVsZXRlIGEgcm93LCBwcmVzcyB0aGUgKkRlbGV0ZSog dG9vbGJhciBidXR0b24uICBBIHBvcHVwIHdpbGwgb3BlbiwgYXNraW5nIHkKIAogVG8gY29tbWl0 IHRoZSBjaGFuZ2VzIHRvIHRoZSBzZXJ2ZXIsIHNlbGVjdCB0aGUgKlNhdmUqIHRvb2xiYXIgYnV0 dG9uLiAgTW9kaWZpY2F0aW9ucyB0byBhIHJvdyBhcmUgd3JpdHRlbiB0byB0aGUgc2VydmVyIGF1 dG9tYXRpY2FsbHkgd2hlbiB5b3Ugc2VsZWN0IGEgZGlmZmVyZW50IHJvdy4KIAorKipUaGUgRGF0 YSBTb3J0aW5nIGRpYWxvZyoqCisKKy4uIGltYWdlOjogaW1hZ2VzL2VkaXRncmlkX2RhdGFfc29y dGluZ19kaWFsb2cucG5nCisgICAgOmFsdDogRWRpdCBncmlkIGRhdGEgc29ydGluZyBkaWFsb2cK KworUHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGF0YSBzb3J0aW5nIGluIHRoZSBlZGl0 IGdyaWQgd2luZG93OgorCitUbyBhZGQgbmV3IGNvbHVtbiBmb3IgZGF0YSBzb3J0aW5nLCBjbGlj ayBvbiB0aGUgWytdIGljb24uCiAKKyogVXNlIHRoZSBkcm9wLWRvd24gKkNvbHVtbiogdG8gc2Vs ZWN0IHRoZSBjb2x1bW4geW91IHdhbnQgdG8gc29ydC4KKyogVXNlIHRoZSBkcm9wLWRvd24gKk9y ZGVyKiB0byBzZWxlY3QgdGhlIHNvcnQgb3JkZXIgZm9yIHRoZSBjb2x1bW4uCiAKK1RvIGRpc2Nh cmQgbmV3bHkgYWRkZWQgb3IgYW4gZXhpc3Rpbmcgcm93KHMpIGZyb20gdGhlIGdyaWQsIGNsaWNr IHRoZSB0cmFzaCBpY29uLgogCisqIENsaWNrIHRoZSAqSGVscCogYnV0dG9uICg/KSB0byBhY2Nl c3Mgb25saW5lIGhlbHAuCisqIENsaWNrIHRoZSAqT2sqIGJ1dHRvbiB0byBzYXZlIHdvcmsuCisq IENsaWNrIHRoZSAqQ2xvc2UqIGJ1dHRvbiB0byBkaXNjYXJkIGN1cnJlbnQgY2hhbmdlcyBhbmQg Y2xvc2UgdGhlIGRpYWxvZy4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9kb2NzL2VuX1VTL2ltYWdlcy9lZGl0Z3JpZF9kYXRhX3NvcnRpbmdfZGlhbG9nLnBuZyBiL2Rv Y3MvZW5fVVMvaW1hZ2VzL2VkaXRncmlkX2RhdGFfc29ydGluZ19kaWFsb2cucG5nCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAuLjRkYjUzZGJlMGZjNmJlOWIzZTIxNjg2NDZiMmFkZDdmMGY0Zjg3MDEKR0lUIGJpbmFyeSBw YXRjaApsaXRlcmFsIDQyMjYyCnpjbVpefjE5V0JFd2t7bDFZfTxCSHVgOU4xUiYzazBReCNRSXYy QUM/dGt8fmdtd25FQ2R1UU1HfEVzbU13bGUySAp6I34yLTc/PC10aFJ0eWRyOHlXfSoydT95PVNQ PSphMU9ObUNUbmg+UUB1YXVCI1RXPCg3VHNKKE5NMXJuaCl+fGEKel9QZT4yMkBzSFljeWNPKWFe ZXM9VjRzRjZoJWB3NkVJKClzPmA9d3hmUkdUK0R1Xl5sLVZoUURqa342M0xzSzU5CnpKRTlfRFZH ZCthdnpqSy11ZjBRRVVQQSl8aER+e202IUBtdWM3b2U+ezBCcWxPN3MxPT9fVD1qSTRxQ19KI0lB egp6aDYpNnNvSEF1TjQ0aVI2e19rcT5TUmp4PTBXP0hecUVJYkRfXnt8YGthelg5UmxsXz0/ZlMo MUMpM1YlTyV9SG8KejVQQmVTKzh0UDNWME1IbkF8Tn43M1V4KERwZDhSOG5MPjwrLTUyemw2ZmtI b0trPH1XZnVTZGRhcnY2Uzl0eHJ1CnpJOEkwKT1IJVhaTlQ2Uk0qUj5IJUFaZWxXQXQhYGVQJEZe Y0xVKzYwP2NMJWA7czg2bEdKJDJIIUIpd2FJezRrYgp6SkVORkdMenxHST5ZVjV6TD1hRmdlYSNz Xi11SW5lJkokODtAWG1Ve1I0cjBTWD1WQW9iSiVoX3t1VVg9dkppYGoKelY5cXJudj1yPGgrQFg1 ZV5gZWwlUFR8O0RBRURGbDxwaC1tbEpEOUU2QT10PzN9LUlqMzxubEU+NUhjeyU7Q3FUCnpxbEp+ ais9M21kWXN6XnNMK1R7dEBKWHdFKmk7YlcjRTVqcjN3MWE4JX05I050WmphZnZzRCZrVHApV1I5 blZPRwp6JjVZK0RfRCRBbkMrPENQaWBNMClEcG5ZcVYlYGU7KGZUKGpzcUE2aztTTCZYRUtLZGIx MWghPztXTmZ9dkxHcz4KellFKytabDdGaCRAY0FqI2ktRVQ8TVokJUNHQnZlO1k9OzwqXmZneHR5 KUI2UCpxQ0tGV0wzWEA1eE1ORykoTilyCnpyYGlZaE9kMU9oUSNrXnhnfkolM0JyVnpEM0lucjJn M3VCTXZ3fSo0RSgkRUhFJnFYZXJfdkd4ZilNdXV5Nnw2KAp6R3ZPZkNtPzkzQ2FGZDY5MytqWFRM U3BZOXB+Xj1ZYUt9S1J4O3ExSk9zeUctaXAwND13Wm8mMGFOcG00TiU/UlMKekl0ejgqI1QmWTxa cWVKMDkyb3dza0lAaXYlMG4wZXFodmYtMXRpRn4oTDBpcWhzKzVYQUVeU3hJQjF5PXgjNE92Cnpa NUxYRWdoVUVONHBrJU1PJTUkWisoJipLV1pOSGhBUSgyOTkjciVtX0lVJGN6TWNqQD57O01kb19v Q1MpKGBJdAp6TD00JlF4eDJicUBjMTZPZlB9aFpZJlo2Rz0rPkttZlFXbEY8Y3VxeSpoclkpditv IXtkdmQtUDJIe0tNZCgoJCoKejFXfHB4S3leYXdmQCVwdWRqZDhXUmNgPjs7aSpCK3FFemoldiRj bnw9NDZidVRMOSNBPUt3YVoqRkUtT3NwMlR0CnoqZVExPUQzZmQ8P15ySVMhe3ledDJCSDEqalFN RF5gfDFnTDlVU2EjZkNTI1cpcU1FWTd9M19QZ1dNMCg+RTIwIQp6dlVWcGFBSEh2PWYhT1UoMFkk bTRUbTchd3l3ZTJrcylueW5SP00mNHluK0NoX3JxU25ZVXg1dTFFSnZ7cmBQfioKel5YRz5JTTxO NiNeOzJnMkdWWHlzNys2dm14VHBfSTM1dXJ3TUlGP2xpQFhaJDFrQUd3Y29IbG9LeHFURjM2YHRO CnoqJCQmMytVNWV9I0B8JlI9bz0ha3BiJXlseTx0IXFOa2JVUW1qNDVCdz5UPHRYZz17XzchVlNY cUFePHlWekJecQp6SmhtfjZWKGQhPD9sKU4/akNrMXt3a3lRTFpATUplQH57UURubmwxQ3t4S3JG bFJ6eFVHNkVFTkFTP3VRcUViXlAKeld+YGNfWFFEViROKFV4NFQrfjgoemd7dUJsJHByQ009Y3VR Vzh5QDFQZ2hBeDJhTlIoUzV1ZTRGR3RwUXhxNzF8Cno4bmlFbldyVGdUTCRgc0xIXnN+ZmJHLUVP cVZHVmg+fmBJWGUhek82ZW5VTCg/TDs7TV5BNGN2anpwOWRDeFYyVwp6ZmllbEE/czRmYz0rUzco WWtAaXM2RENlSGxXKz80e0Y8QzVsT2R1bHhneE00I3ZeZTslMTNeZUN7QylBS3NPWU0KekR6cF5g RW4kLUhvV0dpbmwyNVA1ZWg4fE9ZJGZiTTkyeiQ+TmJDVUI5TUtsKG05Wms/QlpARHRwdkkoanNU aSlYCnpTdjt6JlFCZm1QQWhIYEYqKkZYJjVAO3hLbkx7ZEhMal4tUW83QTNFbzgrMHFVUSR2KlVY b1JVcTh3YXV0eH5GVAp6VSNjdGJVR3gtUkIya31IUT1DfCZjKkp9SmU8WDJhZVQwSkB7ciVmQFZa anUlYEgwelYtQW8tczlmQX0xWThKbGkKens/emBJPHplJjx7Z1ZfYzhtblZIUCg3N0p6bERrZyNC ND47WkFvZDdSI0VMTj1hSipBPCFvJXh5N0t3Rno4UXhfCnpwVl5LJT9kKEU8eX4xYGd4eHxkJVNN fGd+amduQFM+JCpLN0BCdjFYRGxGeyohMnp9YjRiZXQpZyVMIz5aNXBqbwp6TENhWHhSQExsPS13 bHkyMzNzcmtueHtyZiU7Vz1nYFhPSChlfmtRcU5NbGRTN1I4RSEjX1Q3a0h+ekR4cHAmPEQKejk1 cmAyemo+VD1kQHxFcWFWP1FyZkshJjkqUShla2FvPlNvVlZjTU8mOS1HdHc3dTQmSitFSFdHaj1i QXAxQG9HCnoyRzNpMFU2ZnplSHwwKEJtRj85QlI0N20kdzdRIXNhMGF8Ukx8VndWKlEkM20xT1Zx NWcoPSEwRHdzRGJOKWgjQAp6WihhK2MtZHR1ZWhvemNiLUM+X3J7bF9pUnpWKl5DeWcodlhCN0JI MUAlY0JaNjJncjElPFMqLS1gP0x2emkqRnkKelBpSVlBV20wM2hYUGpXeHYtRFllWCU4K0NzcCUo PEIjKyFyO1khJnw9fSY9NnhpMiRRXi0rQ1BieWw0KDMhbFRFCno8REExTzxGPUI9UUE/KnkqRyM4 ckNATjFjcEw3WWQtcEIwMG9NNmdqYXlHSkFRYUEtVWk4I1NOIUMoNCVucyp7fgp6bDc2QlchLXx2 Nj1DWnFSWlBkeHQjST9nXjw9QXZ3YmNuZ0J6T31JUnVyeEZmZXluYCNIMT1aO2NaK0FEZEdScWgK enZLKGdKQnlXVUhFIyVtM1Vaa1NETFRfYmRtREkqXyluakZCV29DODBiXlRgWUQocUpNJGk2I3Ex TTdmdTs8eypHCnpqRGZ2VXVvNl8pKkx+VDItfGhVJGhpfXtnKkxTN0NLR3N7PmktUytnJWVhR2Yt RCFRU2dQR3JtS1NuUWVveTFxawp6SHx5UXktNHU4WmNvRGMyUjJRNUpPY0RlRXFRbGcpZGNSNXor fjhaeng3fX4yLTlOai15SUgjdDFmPlBSaH5TOTQKemIxSEliMT81N0pkV2ReZkxzbnRnQUBAVihM Kz9lSiM3NHQ4UCRaKEdWI350NFApJChDIVkjMDNWYDRFb0VuZUVxCnp1RlZ2amx3aVo0Vmx+aGxg UkFDfmAwcEJfYGs8OyZFR1QlUTlpITZtVD19dylfKnMzX1VScn4/Zl85LT9RT2MxRQp6IXBrS3JC b1kmajY0eGpvJGtmUDM2YkY4Zk47R0dicSo2OzslYVJuMzY8RXQxWEpoaSVrTSo1TlIzcnxRdWNs ZFgKengpMUNgRCY3M3ZrPnpBbHY4RmFYPlVJK0phQ29ZP25hSUdEI1ZoMHw7VzY/U0J9ZzY5OFMo REUtWT8mfnozX2ZXCnplbGgqUV9hcGhvIzIzQiptNEdiVCZhI3ArVF9QPVk2MGM7dWx5PDZUWiZ+ VF9uMmhkfm9mVThRb3dsMWM1QEgjSgp6bjFmTjRVaH1XTm9nPUxLTyQ7P1UpWlR1K0BKWnd3ZGpj eW1IdmVqdGhyeEdWJTIlRHYmUFJ5IWluTkkybGF+QUcKelY7Mz8ySX5DUk5nWTllVHNGeTBQOz4h ckY3ckx3SnZETms+JXk8M182aF9rI1pEWDUobHt4cHsqT0wzcjY5fTF8CnpqPSgxMCNzaykrYTMh Z3cqNjV7bTdaZmV6eGpKdHk8I1BDMGxjcSpVUDFySHE4SjZsV149UCRNSXtNcylURkNUOQp6Kzs+ eHthajhxRmA1MVFUK2l6O09DdWFFKD10czJZSSMjUzcyaGpTXmE/I2pUcFVQSj5pV019cEFLaGpq Ukg5MlkKek49TVc+Yi1wQH1eOzQmbyRYSFRZN0ZlM2hEJElAQGtJdDI9LSMzJCY/cy1gMnBMWDBu OWpCSzBjS1NFd1Ntd1BDCnp3NVArZXNhUVNMWCo0fn5yQSpSQUpFSj9SWG9ZSjxIdD87YylTYlJD O0NLRzlvbk98aWVqUzBJZj9waE8kfX5NJQp6SndBM2xKbDk8RlYtdl5tYUZKVkR0KT8pT3lWaC1P KlNjZjZTMj0tckVfaS1fVjExcChmZ25ieCFAdUVaeHtySXoKenhlZGglOWw/bm9fen4/YnFham5Y X2gpYU0xVzhPJnQ0JDAze3JtZkpPeH1RKVd2bkBZbVFSTDUrcyhzOV8haTE1CnpNTCZoNzlGIzF0 UDNEcnZ6MD5mYXI3M3hhSVh7bTNUfkJrSVc4bmx1MkVUcHhlJFB+LUU9SHtPUm5zNCojWncyUAp6 YmojKDxic2I7K205eDF1eEJnZDIkNTJ4LXNye3okWjU8ei0hVX1MNVVSUyE4clFQR0hkMlU8TXdJ KmxCWF8tYTMKendldE4mTjg4UjhCYDRGM3ZscWBHJil4Z2tiMloqY1UtXjU2VzhjJW49QWpyflNk V0R9JUQxVWl6elRwTjN6Zz9fCnpNZHZCJHVJfWleUlBFRWc+X3FIYygyZGd6KGBEPSMjdWYlPnlO UiNHT1k+WDc/MSslPjxOTkdmPmglMXA8ZHd6Ngp6P0tGRmZ0eEtEO2B8PVhPXjgxRilUQzR5NEVg YnlPJDstano8eEFtPyt5d1k8VXZscT9IXmJNMFVDVygkJnBgTFUKeksqTn16SlB2NjZzQHh3eGZa RW84ZiN9ZShASFRqMzFsODYkUU5KanhWV0VNJmcodGhSaH1lVmJodz1sM1VqdjUpCnptP2xNNntT XkEkcXhYMnAtQShYb2U0TkMmMi1UUjJvNjFwUGxQPWBLITBzWCU3JF9lZHM2IWthMCloPHwtZShj Swp6ZStfKVl4WmBTI2Y8ZjRBVkJMekxGeUBUP1ladD1xSWB+KHN0YktQJXQmYzxqJTEmSXY1ZU52 Sz81e3N5Mn1SUDIKemszOGF3eHc1Kkd4e05mSmsqemhvZnc4VGozQjgtTy1OJEdrQVJhZmFrRlZB eVA2bVctKT5ieC1UeURJP3t+NXZjCnpAJV52STQ4KDswOFJCSGdPUk8jPFBiZyZUVV8hYEImcUJ7 ZyVtKzxLTlhYLTB7R0NmdFNvRDlVZkJlVHdaMDYpLQp6JEhsPGw+Z3IxR2BqeV8rIUlYaUNsYXJI eWsocSYrbmVKbCpvdWoqcmxZdHdaalUmbF83eH07STIlOSg+SWhmbHkKem5jTGJCezxXQHdwez10 TUZFUjA3OH55JEhGUCRjQz1LdCh1PE09O3BlSzUlSSpCYl5WZFBhdS11VzMlXi1+V0g2Cnp7cV5S KilCZU5QZjRBZkxZY1ZjKWIyayQhNFBrUkA2QzF9NSgpYypvOEZ+SiomSHdZfUEze0lQUlIzb3Q2 QUxyKgp6PWMlN3dlVlkwZ0RPXz82PHxaRmZgYiFwa09ncyQjJiRJcy0mJV5NU3Bnc3hpemdxZHYo K3s9cUxHdipEdHp0ZkMKentPPno1S3RLWE82MmprPC1HRVFwQUBvJmVVKkYleSpFfHVDQXhSN1oy fGJIYFpTPUk0bX0lOT1HJVBKR1MhPmw+CnpFTyhaPkVXRXZQOWg7U0YqMmxFbT5qJDA/KFVifUpr O2IqN0poWlJ4NEBKaV4zN3x2bklOckV0SitGQTRWTzhSYwp6ZC1HPk1iN3JIJkJfYEcpTkNOfFZH I1owTmA1YGZhaDt+NkAwK1o7MndWP1paJWZkWkI7aHMzUkhgcjcqbnJIdnQKekh+JF4+WVhsSnoz Zn02LXZXaio5ZEJDOzMzQW1MUzJONHw9JG9GPDdYQD4xelllalcyMj99NjB7V2MoSTVkcSh2Cnpn US1Rck1oPEpRQlZeWnpBJlhLfGA5dEVybUcoJUJfMUN0NCYrfDcqMFV+MyNXNUg7RCtmcWsyZzQo OSskcDE8QQp6enM0e2l7YCQ0Xmp3ZFBteStPbmhLYkgkc3F2OXRLKyk3ZkBxQV9PKk8+a2RyUF87 ViZKNWRlWD1hcXF4QSg2aXYKel58aXA4aU1aY3x1dmtvaUMlZVd1aTYyfTJYJitrK1B3JV9Adyk4 elRgZF9sMzFQKSk/WUlrWmM7NXRLWkxva1J8CnpSb2xGJVpFWCtfI3J7TEtUZV9MNWF8P3tSMVJN c2w7d2xoJHFOWSVZWkx6aFdMK3w8WlopdHc4V2Z0eHllMXMzWgp6OWJSM0ppSy1YOTVYYVIqVHNK WkM+bypaJWZpdXhWODMoU1RsdSYjWGYmWXVqcFRwYkx6R3xAXnpKRjJDQXN9RF8KeipHZCZOQXl3 WFl2QlB7flgobkpOanRLJj9PaEg2KWNQOFJ3JEh8O3E4bUVtSm4waWVURlgoQEFaZk1faGJWSXdP CnpjZmk8TFM3fHlYUmVrPDE2I2BJISE8Q3lBMk11V3JxUCtiTjU/MnZjVE1DRmQySGltJG4+JWsm PVVaS05qamppOQp6cXg2NCNuZUEyPWZOfTgzNlg0NW1DSV8jbGphe2FWVlhiQTV3KUslbmRea0U3 ZHI9Vz9oQlZRX09jXkplaHdxcWUKelR2NipwWj9zbHdrTiQzRmMzVH0kaXs4MkwrPm1WMntEfmpD ST5lJkYqaF8oeXt9N05kK2xYKjwrP0BLOGFzejBECno9Q34+MHsle3UjOV5TPnxWQnQ1TVdrJml5 I3gkYjB3ZDg0ZVo4MTxNLTBiPkt1MikmfV5qJnJBeCh0e1FUSSRNcwp6biF3Q0xKNnY/RTZFSV9F OU1sPnhRe0hSdD9uVGw1O3VHWmw+eWN3Vz5JU2lTTEpsQS1EPX1tUUZ1YVhgTjdncn4KemJaWVZo QkhzTT5rPlorSik5QHwxRHtCOFIhbClRSGA+b2RLdX4kWGpoVGl7UGg1d3ZNRj4yc0xUIyo5dD9W VlBSCnpDKE15IyFOMU9BeUhqLUIhZmxaNEhKX1FVSzRDcChgQThQIVRuOUxgUmMweCh2ZyVvaU9q djI5cXE4IXJUPj9JaAp6d1FjNnVeMldRanVrK2pfXjskeGZXJk4oWVZSY2xHbzB8b3lrQyFDNytK ZGYmYXhpKyo/OGE+SlcxNXpCVV5OcF8KemdeX05hKTU9V289b3cyezN7PS0+Q1VRbk09N2dpZ2kq V3J7dXchQkomZWFZKXVYJjxiLXApNFFQVFd+TXotXmNpCnpYMFZIYTJweWs+bVk/Jk48UldWeGQq OW5xIyNzYGt2ZWMpLXlXbEhGUyV2NlVFfkE4QSFzPXtIXnItbnR5ZFhJNAp6Vll9ck1aQ0ZUe284 V2Qhbz4rbzI/ZDB3M20qWUZHdilUUlppSDZUdyVTVmJNc0xFOXx5VU8mNitMYWBWS1phVSsKenR5 ay01WUg3aUtlMC1GSnF8cC0+aGc0S2pMUEFJMTg8eTdxOT5xWGNLMGhrYiN9QSpMbj4mUU0tbV5B MD9AVFJwCnomczRFVT4oaXxMVl99YWc3fkVSWDA9enlOMSNxNFRXdSphY3M/RyZ4bT5CTz9zVndo YkRBSzJoQlBzR1QhSjtwdQp6Mj8jM0UoaHRoRTIpJW5mRldGcUUkcGMkfHJeTUxhN05qJlkkJDxN cz1GWHRrIVFyT3gmQShfal8oSGc1SmheSTMKenhmUCpPanxwVDNhSiFpYEZ7NUclKWFtOTBrRlZW VSkwLSFoVk1iVEVlcTJ8NHY8fm5RPVAxbnBQb2FVU1RAaloyCnpMNk1RMlRAI0N0bkg2alVoMUIj Sz9YMkZkMF93fDJpWigtV0N1QyM1PkJDNGZVdT5SOShFVmI8QlhebWo7ekhRegp6TnZ2bGcoWnps SV57WGUtdEZ+MFQ5IXhnLWE+TClvNDRBfUQ3JTZWPEY8fjxuZGpSRFo5amh2VUd8MTc+KGY7WU0K emtsaUZhRHlxLTJ2T1QxJWpQfXAkV3BTdDhSYl5oaV5EdVFlWD0jPTMoej8kKCYoZDlHP1BJbFNx PihHSm1iVGJ0CnpOZ1puXll+fFFgNU5acTQlQEtaUmI+TFVLVUdxUkJOdG0tO2hLaGxwMV5MbE05 VHxkUE1DcDk+LXl3WjM1blFsMgp6QmZUWHhUKyt1I2ZzVjJWdkNTaW1BUGx5YDApbShwTjd6K09Q M1hNdEhzc35DJGRpc2dUcSMkdmNDXlozZi1XMz0Kei0wQTJCdXcqZ01zbWRMNCt1QjstSEh4UmlX eTFUWFNDRVpFQSY2cW4oOTxwTjQyODhSYC17ZypqUnB+YUB0NG9hCnpfOT9ueVIyJCROa345MD92 UkIhe3B7YD1jO3EzJlMpdV8hQWs/PiQ8bSNxaD9lSj0rcnRxfCpjSWV+IXxXdHYhKQp6UzNEayQk enl5PThuSVFvWDZuWWducSl8RktjUnU/PUQ1P0AoenVuX1FNO0JoZUQrJHZiTnlebHlFY2dsdEMh fFQKenlSbVVfQjFoPDNWSHJBS1lIQmZVUzZrM25TeXx+Y0d0PWolVVJyJSRyX34pTTsjNjhuTitR bSVSdVBlcUhmcyleCnpEfEF7ez9zcztLX3ZmbmxpRnwpP0VzQDcpKUVDeDhucDFVTGMzT0poLUlj VUE/UHQpdz4/OX5+KmViRyg+JX5SeAp6MkNLTjh3RTNzOzxXaUpaI2hkLSZTZ0VUO1pSQnFSK2xR MHh5SnheWDxZRmV9aEhFOUBCQXtXJSp4R3hpMT5qKTcKel48VFdMQWAqekNoT35JbFlTeUIjXkxP XmxtY3xUUCg0c2g9P30pcDt3SXdneGpnYFk3QC1YNHdJdzxFeztLPjsxCnpOY3dLdHVOcXlQQUEm TTl4aVp0dTExfjdiaHhvU0RXOGF0NGNKMWBwQCFYdDNRUExLUnh8X2hzVmxJS1EqNTVBWgp6c1A/ eEFETTtuJHgtQXpFR0wmPkI1Png7dFk1QVpiM3dzfHtjd1IyMkh3VUd8eUlXUngoLT10dUZGQG47 dzhKVVgKekA3N2IjMWhHVWU3KCFpcFhIOCo2NSUhY2NKY21uPkI8YGEhTU59UkpnZEM5dWA3O0R3 cEImbiYqZ3lHQ1RwVGJTCnpPQitHSzBMTXk3OGwoSjNjPUIqPEQ1SzxkX25HZkpSfGgxNkxxcHhK b3pGVmJYXmg+O2U2REJPSlFyUHs8NlBkUwp6XzRCIzU+bTZzZj1QUHE7SWImTjNOPXd+ITh3MkA0 MkMjSD40Zz9RfTA0KmtPRF9odko8ZT1nfSNmeilSVj57JHYKemRwKnRNZDIxUiRidSt8fWR6a0Bp NEUjXzh3SCtlVDF5akVBUWQ8RWdAOEEoPyVnbD5SPGBRLWdiPX5uOCErYkspCnolfEJEXm0rM1ZZ K0U9NUo4RkFSfkV4YVY4dzI7VEgkKnBgQDlLPE8xWi0hdl9UMWxhXkNpUiRkMkdaTE0yfi1MMQp6 UFBaSiFxKyVxZ3hsTEtCbitFTlA3cDxpZnpZZ0J5cyFEIT1VYGI0MiM+SDw4RlJDYVhVVUIlTXAy ZUhkWjZmJlAKelVTYW8lMVFBQlFGM195UUx0bVUocjlLdFJ2JGJkclprMkVJWl5aXmBYej5Ya0E5 dzZ0UmZxa2FiKVR5IzdjVWV6CnpPVjlFdmBSUmNfUTZTSVgpRVElJCljekArKmBPcE1NNTFtQztx fD1SN14yQVQzcTtAeHFwNGA+WDskRjVVdlo/agp6NUVnNDgqODJ7MThxNDx2TmlCQys+SEJKI21f RzEmemFFPVJxaD5nakR7P1ImT1NDYFRMY35Uc3J9MS1IKEtmeG0KelRDSihpMiY9cG4mNH5mQmtt aWR3Ylg+YUhQTWBnS2xpanwkKlokWVkzb0lRM2JlcUMtWEc2PkBVc2cwdyR9RiowCno9TFZXUjAw diZITk5NQnRqVkhSSHo2KHBQIyVTYURKTGRiK3VwWHdUI2J0RS0oOElvcjVAVkFzdzBpaXBVSjNg awp6I0MpKmxmcylzQlRRckJLbSleXzZSKCNYVDQpQkI3NWM8bkhNTEpYTEV3OWd8MDdhQig8dzZK d3o5dUR2NXMlfUwKenpQOEotZmNEcFYwJkBRNTFyNFdmbUtRWCY+PkRycHM9NGVVdHt8Jj9lQz9L OCZ7QyFHd305QjxJN189X3MmO0twCnpPUkFtU0dGcXZzPkYzQT57VXhLd29DfnlUVSZpc35sJkV2 T1NZeXBCdlooZDZedVNzbFItN01zQ3s8NzZVKig0aAp6Zkdgd3gybW9PaU0wSVJabVJpakpMfVhv NHZJMEhvM3tWU0tSfUxTdmppJmhAUzlZI0Y2NiFzVShNK3tfeTBVK3AKek5HRmAxO35UTGtnWXBp OUtwMj9KNXowaT0/ZXlYR3hsVWhpJThpSk9UckdeRGw1PG1rTmNCcTRRWmpBcngwZWNACnpTdnBQ ZHZRbjd3UTshJjEmO0UrJlpKcnNPM24+IUBCX15WUmNNbX12TDk4cjZqQzkjOGpzVnd9RnprXyRo I0tCcAp6Y3FiLW1RRmc3VGllRV5DXiplZjBDKmkoTlQoZk0jLUckU3EoSCZ0TmU7RyFJPlgpZkJQ THUtWkd+PFJWTDVga0IKeiM+biRmTiM/a204YHpnYWUhaik5Tn0wcGh3YmdBVkY2dG5wMH15IWB3 RnYmVVdeXzt2Qk84TDhkcWVKN3hNclRICnpTbEZIYnVKWDUyc1ducj8zOGtOe15hTkMtPlJsM0Ux dmxRUmxEVjw8dl9tJUJEZzRPYkIxUnRIWD91aFkzI0RObQp6NXVleVhvQT9QK2BgMTFAR2lCc0Jf MW1DfHphc3lvIVhpYHh1TTEhbkQ3al4+eG1yXj4pNkg0P1R9I1dXQlpiaXwKekJvZmgkeT4jMXdf dCo3emdVNzJ+Ti04UyprQzAzdVBqb1dgJEh2WSpOb3xPRy1yS3hpdEZeeSskQUk+V0M1d20rCno5 OWBrQjw4UnFuNSo1U0YrPikyPTtwUHRgdGBzejJITUtxSFE+PW5wPkw4bCVOWVB4V1N9V2JtWT5O N1Bac1VYJAp6eH4jamxmSFVZTTEjI0RGY2l4QldOdkFWWihZJU09SHRVQzM/SSUxX3pfdURqdGlY RiNfYH4mfkh6TXtQM315S3MKej5MS2MzeXdpNF5tTXxYTz5ROXk7XiNLZCU9bmtiNVE5QjErdns8 UCo0e04ySEBJZ19jKE4jVDM9VFFQN0BHcWt6Cnpva2ooZW5vKykyc19AP0A2TEAzWjJGZE8tcThB M2BUfkVxYCkya3lBS2Awb1ZiaE5nPHdJLWc5ZVUyVDBmRn1lYAp6Zj12PUJsV0JyS2d4MCZjeGpC QldfU25gbXhSZkdwVGBGKEFyanR4RTwtS0FMRnhjdH45fWd6eDsjeEFIcHs5MHQKemM5TTJ5djlJ TDR0PURNcj5gQD9FbDd1T19kPmZ9OFR+WX1hRD5UZ2BwekZKdVg/T08pP19oSEZMbUJZKEc+MX5H CnphRUUkKnpoSSlxUjFnZjljfDJwZ1F8OyhsKEFfbSQkeioxcGQzQEVpS1l1PjNLT0pkJFBFSD5D O3F7ajMkR0BaJAp6c0hqO35PTGg1dipASGYrUy1weEVUWmxQY0ZqMXBlKiQyNSg5cXM2JVZ5TkdV YE5Sam8mQShNMmcre0A3b0xKWFUKeldyTXVTRU5BJk1WfkhiX29AaDVKWXg3bmteZmhzT184Y1Uk X2d5RVVBMWd7Yj1LdT9OWXNCJkRhJXJed1ZHWj1fCnokRyg8fkBqZEZxRCshLSslQHtWMkVKanNh cXNNentWPVl9PmUwK31zQkl6dDFFTisoKnlPaG4zQiRwZm04Y0pDcwp6YSt5UnF7YU9KbElYUVhV a2pIWTRIWWc7ZHIzZnVUSVMwe1VpTmRueHM7O3F2TylHfCVzVz1RQ1ZYfjR2YDN5PmYKejduIWs1 QDI2I19Bem9oOUAxY1l4NT8xaV9eZCVJdmowRmcmRFQ0KGU3emJPO2kyS1FZZm5xZ0xWam12YHdw QUswCnpFfWJPQG1SRlomPWc1S0M4U298XlMhczZGR0xGR29FYUowcDc7cjwlSmI3QnBNaXxlN24w UEthb1M4JTR2Wk8+awp6fEEtfVVaOHY3Uz8oa1JubztWd19JemNebU5uY201eGh3Nkh0c1JjU0Ne RDs2LUV8UGNXYVl0RylPeDY/b1FLIUcKekVaTEojd3VXKmh0KGowKS01R2VCcmlOKjJWSER1cUpa KXtvQXc3Q2VgPlFUdmpOVjZHKFAyIW4kVlMwZGNpUHY5CnpNKGZZNnhFUEV5WDFDJjNvY1Q8bDlE cG9VSjBMJXdsO2BFNV9oRChpVn5ANVcofWU4S2JSKEhjPlNucT9ZRWAlbQp6allnRyZWNWY7QW8y Snw9Q1k0cldFOVB8enFxRk5eRG87bk4tU0tzVmQodmdPazdAUTdoMmhzamwkWHJmU1c5WkgKem9Z QS1JUDBiWiVOMUMxbHEwNm5aWHZ9R0xHentqdGJsc1kmVkh4NzJseDV3VTVwUiEwKzBpdGB0cmZ6 djRoeDxYCno+JFBiMTFEQWBqVm89VSpuPFNkWDFkdnAmKzAxUCFiPC1hTz1SJkE/ZFZgKG40RFVE ODZ5Mn1oP3RCKCptKmllOwp6QFR0O2d1PnsoVHhsfCs0KEEmckIlUnp9KSZrTzdPQkM2WFFFbjAw OHZ6TDQyIUBXWlEpMiRSS0YkNEJJNmByZC0KellGRDIpVmRpSX4xPERqMXReQno5JHwrd19tYExx dWNLOW8pbDxlRVpzTkl1LT5xNE5fdFk9aHl2T0s2VkoqTD50CnoyKlFSTEY9MXF4SGhSKlUqUns7 UHRvYEZ8PlVQVTxySzVjKW5mfGg2SnVmMUpJYkZZYFpvM0M3WDtkPDVeNDAqMwp6dDwkbkA5VzxV Jm1PKmFfPVNhPUdZSEJmPlo4PHU/OFApcmg2VXRfQiZYRElSV0NoUjZLR19vcGN5fWp0eVN+MSkK enhrLSN9ejx2dHtnYWF3fChnJWp4KWJKPmRNY0FRY1Joc0AtZCtlYnYmfnFSc0JCQytDZlRIN2wh RHwkQThUMWwkCnpNMmhYUyt1OH1Sa2ZzKX0qfWtRdHkpI2VzJWo4PU14MkBqT291dk1WaWgtTFU8 PWZTcFh4WFlwakYwKExvUVliPgp6UnhvRil7ZHhwUVJJWjY/TU5jWVVDLVBVZF5TLTJTI3BBaUhU JFFrJGsxUG02PUZKdHhvVXhzfGo+flpjWTVtO2EKemMhTn5lYWs2d20mSzxqQnJEZnEpNnk7LXJ0 KEgtMkR8X3glbGZ8UTlgKFUhSTFRNzdHaFdiU2ZIQntMdiZoR2FUCnpQOFU/UXF2aEM2eTNhZkxt TDlSei0taXtnX0IlV3hIY3NqPXdmVmclV3BQJHZfK0xwPUg7PUk0PUY2TUpRfkV6IQp6TFNwfkVL NEhgTFdFPkgzIyNAWHBSJEJkTG1kfEFDLXlmMFhlKC0jV1BATGkhdVU/QD4tUkkhdSMhPm4kWlNV P1oKenRFRSloVStyV0VPSUpFX1NhYjM2SzM5ZCRgTmdnZnh4OSZfRFBwekg/YTVtbmFAZFFQbypk UUlpaDYpIzFtP2d9CnpBa3h1XkZgLUReYi1JSypmTSVtV3AzIzxtRjkzNiooIzJxfER8dSVDMEph P3llMXIzUylWS2cyYnhCVSVpYUkqPwp6SWJAIWY/b29SbjQ2IXBTXkVsVkE+M2h8UXhAYW9xTTlw cl51UkR3OSErT3QpY1pRezFPWnh0SFpSYFgyTz4haWsKemNrMzJFIyR3KFlrZGU2M2c4WEN+RlVM U0Zzfn5SMXhTVlpXdWZ3bkdfSTR+Mm96Qz5mMShPN1djT3JedV94WjhjCnpENVdzKntKc3omcUBq KzsyMSQrcEgteztCK0xoQnQhXl49JXJpenNXMk9yYUFQfCY4amBlaF5BUGswUm5HWmYxXwp6YnEl RHt6Q19xU1UhTVRZSSN2NWM1NnJePWR4IXRXNXBDWUt1RXU0ciV6SmNBSzJONSZUeTIlSiNWRjV4 Z20lfTIKejZeOExPPnUqYStMWiRkfnpwcHJAaCp1KDNKaURkLWdHPzRKKTZmdUVEQ3Y8YlR2QkUt a3hAMEY/TTVVVlFqfnpNCnphUDw4fk45PFBUM35VJSVxTURiQVl6MGFRRlNRNnlPbTk2LUokWS1V b2ZvQFEoRnIyaz5RPSZtNHViQS1nampwYQp6ZEhNO3IwKEtwTC1HJUtLcmhyaWAqVDFQNGs3dHoq dE5iO35HakxjOT1hd194e3MmcGx1fTBNclRleEAxP294ZXgKems2ejA2YHRiTUcqWUBUTTAzITUw TGk1VGsjZlhERmBmSys3c3lsZkVDSWVeNCtoVUUpSWVsc08qUlNrVGFALTRhCnokfl9qSnB+OChZ KGhjKzZ6MzQ7fWJwPE0yX2clRjh5PGdrVl5TP087b1NtSXoxUkVhUnBQJVZoY01EUkVsRGNqYQp6 OHB6Xmlyb0MrSFloWFBBWGs+WUUqP2piKz8+Xl8rP3tlPjR1bEpVJUdGJDJ0Ozs8Z1g+Z3h6ZXFf bEBGSnZaKSEKek09IUUqMHVAZEhQdUpWWHhoJXRNV0VnTSg+cHh1dU9+czRtOShKdntoSFFtND1q IWFsckdgLVkkNnx9RV5hJUtFCnpRITZ2R1ZTTHd9MWxOQzlxI3NkalQ1YH5oJjlfJH1jV3g7ejhh KT5oXjZeM0FHQGlPaG5ldDFPS0QtfCs1eiNhfgp6RXc7JnhFZ1AoVkxSJjZXa1J+KztTZCM9PDti N2dSa1RtNUslNyl5S3YhSihBbDlPLTA1Uzt7RFV6ZkdmKWkybFgKemwrY3psPGtZQnlUNGdIZ0sk T2hUc0ZeJnArU0dtVHlzQT8hJW9ldGB1dTFRP3BaVT5uTmR8SjNpfG04WXFUP0d8Cno5ZHBVMF5W TGlTK3o5OHw2Yl5qKVI1JnRMezcqWEw4IzNSciFRVko2RSlpSjFjQHJQRCVOKWU3ezF9PmRAWUp0 QAp6Qjc4TVpjbEphfXIxQnNCTUdwQl8mQ3dhZEF1Z1dsNm4oPjlaYnVBfWAqRSVnLVZsJEIoaEl6 NTtuNzgoLUw7NDIKeihucHI5Uk5QMENqP3JeWTk7NCtxOWsyNmJsdSsrIXNGP1BRTWhhdFpNKFFv KCMjRCttSndgaSNtdChuKXtXbG1LCnpuJl84ZEc+O21aQyszOTRXX3ZSPmRvKUxmKjZveU1DWU55 UWYpUUxqNDZUbjxzP2woQ2FuSmxmZVJPams4RSlpQAp6byFOQlNvT1IkWiYrM1NHKmtANWpgUHBl QWdWZ0t7ZH5yfnlRdl9GfWoyZ0p1YWo7c2QwJm11MEJpYUIkLXZWVjcKenR3NjI4bClffTczYlF3 JXNEKztgYThmQGA1fiZSfi1mSD9ubmJ+Wn56cnRNJE8qOFZ6cylZdm17a0E0a1owa3JNCnoybzUr eFl6YjIoc3B2cEFfLTNRMWskIypNVGRockglIz9CPGR4YktmWVk8dkd7PnRmPiMmSzU+PG95cW05 fmEjIwp6K14/QGhfezF3PmFqfTMlOUErKClrcWBTRyozVSFJPWhzZlFUO2xsLWZPYTBySGA0ejR4 LSl7U29zQXtqc0hKYjEKelp0bmlkVnteQWc/aH1LVXtgNjc7aE85KGtBbzFeTj1XcWZoLTFXSUJp UUA0P0RXeTM+JDJTNSFQeEFBTmBKVTtsCnp4ZX5aRTtDOEhmK1VkUSltZDc8fT5zJlR9PjswbiFh QTUpeDlua2I2PDs5QGBeZHozcDI3VUopc00tQWhhZ0hqUQp6eyo+a2VXbW5mcjxjTlY8NDBSSTQr YWA5OXBfeVZlc3J4dDVQR1NkKDZ2cSpoSkRtentCbCNrMEticSNtVnkoQioKenh6dHpecDYtMitU MT9ld3todztYLV5xbylRN30reSYtV1d4eD9ubXdUQTVLXk5MNCVJRkVUTlpGcnR2PDEwNnVhCno8 VDBfeUJRfiU5NmU+UVpudVAtdUZnalBFbGZ9UXlIWWZfbiVFbH5uTy03S0BwX3hBYXozX2p8USYr V3NmUnYkVQp6QHo2ZDtTYSh8SD83fi1VKlNfVD9ucGczK248c2JEIztLKzZwQ3c+LTA0YVl5WWBC dWthVkleYmQtfmpUYSNAfD4KemJ3JmJrS3EmdWduO0FoTU5DbGRnd0x3MSQ4b2JxJXlKZ25SOFZA VDh2Ml5oI3ctVD9ZdSNPYSo4YCk4S0VkTH4qCnowOyRCNHElcElXUHk9Q01rYlFsOTU4dXp+OWFt M0NHSmlkM3NIdWg0KUcjWm5zUWVKJW5gVEk+cFpJKnohVVltSgp6UXVMIURCWmEpWVVKT2N9Tj1y ck80OUJHWkFveT0+ODczdHFyM3QocChUQzFqe2xrVm9Ocj5NVDByeCEhbCF6UUEKemArWWx5cTJf V3ArfnJkZFUrTVhpejVkWHIpa1N8PHFTJFN6TCswaz87WCNGcVBQeyo7aXt8bHBmR2kkQVNGaCtE CnpyKyo2QnFxQDRHeiQ2S1cje14wUERWQEk8b0VUZ19WUGopTTJpTWc4dEJeRVY1NStOM0VvYFdV OXg0O2hgNUBIJgp6SXFyYFZtP3hYdVFKciF8ZGhxQ293S1ZebnA4RnZrRVArWW14fUZ9fXd6S351 STZ0SGQ1PEJUZ3FlbXNyI0l1KHQKenRNcEdVXjVhYlc1JkBDMWtJfns7PlhEVlJeR0lBdzVfIUhe XzBAd1ojSnwlSylBV1NyMX1kSFc3c0UxT09RYlJQCno2YWw8UU18aWVNRnpeUTc+Q1VRTSpMNnd6 Q34kaTslZ3B8RHVaKTVQSzAqLSt1YUNeRSU1R0R6T3VIRipjWHdBQAp6TW49VE5nLXRYRF90MjF4 Q2l8bXdWWEpVPWNZNUJgeElWSilUajR0VEtFcXd7XjByU0k4fXF1KXw4OCZuRzhPQ2QKeiQ5USMp TiRQKFFQWDx6YyNoRyVFdkBrazApXyh+Z2gpdEJeVFAmdyQqWTUmcUprTzEhNC1sP1JOTEFhTSho ZyhFCnorN0ROZzgkR0loeWJSMU4tQ2xjcSt4S3tXeT59UFhDfHpTXlZXRXM5YCVMJTt7NDVVd1FJ RzNzKngxbTNLQ2tFNwp6anhyRjUhQzw0UWEyXjBkLV5GMF9fQHpnJUh2PSs3Slh2MTEhPmRePCFU biR8Q29ENDM1cEo+RnZrfDVBQlZTZG8KekhWbHB8PVBAMmN7NVk7blpDcSpyRjgjeDNsdUpyR3c5 fnZFSCtLNmFaKjZUbiNeMWppdUNfUStRZDlSX1oxIWV+Cnp1WGxLSkhgdUhtcCkrSCNuOF88R15D MD1pTCNLM3FSelZrSis9bzt6S1FmZmRJVzFjUUtuJEwmKkQmIWg5V0pwIQp6ODdVS1dqPmlXXlBR dUtMdG0kclpjZTFHNz5DPXdWdmVhPy1KM1pzfXFoeVZCeSswdmxYVUN9UGRDSG4hU2plczUKenk9 PmpNSXBPPkVtQT5zbHU8YzxoKChTemNwMyhWODg1SkZVT0tiZkplSVMrfl9XOHwpZklPUThpPXBp VGd6c1NrCnpSNjNtdlplR1V+Wl9SQlJQVGNES2RIcD9QSUNiKV9ZX1Apcj9xMyFgOX1IZSM8Slo7 I0gjPEsrMFkjUXU/bHNkSwp6QUprPypLbWQ3VGFNT2RFQEZjTzxeSihNdWw0V0gtZzcxVG4+eWh7 VT5pKFRYbThoXz17endYKStoSVghaDUkVmMKempaaWs5SHslQzdJPkA+YHRFTHhSSHZOSEYlY31k blRtc1VWTyhJYW5ZUz9AcUhiWjVOJmordWVvSFR4bE1QWTgxCno0UEtVWWM2NisxI0QxaTEwWk1Z YnYqQVhTdVhwREVUPWw8ZjlLN2YrNitRczl1cGtRPVN3UyVtKUl6IyMyVWU8JQp6M3MjSGtjPz1u OXlAVTR5ZmQ2ZTE/MSY9VTMjOSQlPTstMlJNdmdtJitWVUY5Ry1FVFU4YWpiSHhVNCUldWQ0NjcK eiVBbDlnYzghTjNoLUAmfkk2NVUqTCZBQXJWMVVjTTsjQCpQZnw4RHx6eEJOMXhOTEIjdXREPF51 SiV7cSlTN0o0CnpWI0hvUi1fT3g4JlJPKmcqQE8yMzFlU2V+e2xKOHdSKnNHPSlPPGZ8YlI7czcw ajxMR01LMXooSCNLYGBVMHZPOAp6M0QwNUxaPlFsSjtSZWt7Z1I2cERUS2o5Qj1rNFJzTGJ0ITI8 czFWdl9sRiRIcEx7O192dDd9OCk8ZnxBMEFOdEIKelBYXyRVcmhLPnE4MmBXc3FqMzJHZV5CdDIy fk5qN2VQfHVMOWI0THckXl5rP2kzZD47az4+TU1KcyhjZFNwM3Q1CnoqTDdvfUpNc3RqWFI7e1hQ Sk5CdmZMTlNaVGIqbVZiR3c9U2sxXyF3OUA9Vj44YmtgNik/UUZgM3tgJXt2PTlSQwp6JUA8ZWIl R2F9QnBXKWsmdmJqR2ZCMWg0P2VfdWdnc2FHSUBgd2tMRGBCdzlPUnY9aDBgZUl6Tkk/QVNUZjNr a2MKejd1VjQ9cmlZVy1pSHV2ZitvUmQ+U2FzXy16WjgpTHstRzlhRXd5OHB1ezAqb2QyUD5WJDZ8 Uns2T210V21MVW1DCnopZ1NwTEx6dDFScHVXOSpiP0pMP1ZWMSsmJGVLXk15KyszOGchVjVRPTAw ZkhVRmVMbnRZYCpARSstJFU7PTRePwp6PG8hVTlyI2BUYClaNCN1KmZZY3JJTVhKQWdKYE5tTURY Smk3YXpaPW13IzsoNkxGKUZWR3s0Tm8yK0l4T2pXb3MKemBnTmwzQyN4bCtfbWZrRykzaylGbzg+ WX0yZW9qezNoNGx2P1BDeSV0WDwtVCZzfVhjWWNqKH4hJV5NOD83bHZqCnpyVnlkdSs9NGY5TWcr bWg8NkRETVpZUV59ajVYWV88Y1JpTFJUVSM7TGVUS1ZNNG1XbTRmSnVeT0lXZ1R6WTR4QAp6Y0xg NG92P3QxMFFle2NXdXQ8Xm87PyZnQ1M8fD9aWnN4SEA/UUw7PjhofFMrRSR5SkE2aEM9aChWSmVW bVIrTGAKek8tTGhLX3MzWXhnNCQ9Mz1XaTZ9JENCUyFfXnAlPGtWVThoOUFTeEBhdVI4TSFaaHV9 NVBScVRIbj9XKntSRT9MCnordTEzdmlYe3BDXyZlMkNhcSViRTBhKyF6SCNzUyhUa0M0IWslOSlA PzBzPDUtUkFgTSEodS1tbmJtWDVhVSRudAp6UVFwJEBUM2Q4fVNiUWoqY2tpVjs7a3QoOG0oRTZ+ aW1RazdgLWIlTWB9Wj96UHdOWVFGfkh9SDx1NUl6Sy1OaiUKemRWWi1Cd0tgKnZ5TTcoKEVSOUxJ YktkaSpCPjNPPWAyYEE+TUtqcDxgIWReU0MmJmxfVTxPNzNNNjA+XyZLKCYmCnplaSpoLWZ6SVVZ TjI9Jnw+UUtzb1BVUGA2dzY8VHBBYTxQaUZYIXpLbUJ3TVN2bUlQTFF3ZjFHMj1TSXpvJWhLWAp6 YWlCeGk8diZaflVKcHhSNzhWclghT1NsX2VRTTFCQ1loODNLP1oyPDZTSzJwWGxpSnolaXl5MlQr OyV8am07TjcKemspYVAzMH1LTX0tKGxDTXQ3YXZiXn1wTDBUSlY5X3Y3S2FJKzNaKD5kajghbigh JXdAbzZhamsqT1RwTTwyRVZXCnopbnxfYXo1SzcoQDhBZkclUzNSazw5aTNUNHFuT2FgZSlhJmFl PUo9RF9tOXI0O2k0I3FhV059Xn1tajIyUV40JAp6ZnomY3glcSktYD5pcTJhWlYjNGNDcEVmaTwh NHo1VjJ+cHNCOEo4M1hFIz1MaWRyS2l4T3x4MT44RnRQaHhIOEgKejd1Umw4V3dsdmdYMlNHSDV6 bVVpT3J3N2h0T15wbl5wJUdnMz9xODF1TmtFbDVmfUE5bUhSSEwkKHBXNFhLU0ghCnpYTGt8RFpZ Vkk0aUlOd2plI058SGZ5QyhGVHtmWUNlbUN9Sl9IYkR+YzFUJTtyb0hfWHg5OVRwKjY0dHJVS0Ng eQp6UWZkKHhkOzVsVnFGe3l9RXkxMWhgU3pnfEw3QVVJellqJnhnTEdAfSRfezluJnAxK2lDclA0 NT1ObnRQK2doVEgKek5pWD5vWXd2QjFYSGdWUjdLSX4/IT02Kzl1aGB3Y1NLTHB0UFc1TmY1fj5a cF9IIU91PEdie29uI1RnbXI5czw7CnpZVnlBJTZiWGlrbyVffHZ7Rng0NXA9dyg5dE4oMEtfRnRF PUxSOD9iKlExYENtM19NOW4oSkctaSFeVElANyl4QAp6WEp2SWs7YDtkb1N3cFV1bjdAQDw3SWRr K0YrS15AdkFxTUF5IVF+SDBROTtIXiF8MFk7MzxHVjhaYV89OHZ8cn0Kemc/ZDVia2UlJUkhN2BQ V2ZVSnN1bkczI1MoZEgpcWVFT3lIKSFzezlffT54N2hDRXsycCFGfXRKIzc0aygqdys/Cno2VEha eERuYmwlIV9HR308ITtUND05Jmd6NzxTWjZKc0tKZk5neXRrYDArfGRAfGFpc2gyTmpLPyVFX0Zv RFp3Nwp6X3EzbGNRWGZzNU1pYD02clN6aDVFY24/QG5wcE1qPlo2anpNdDZzViNYPitwdE0zMUAw NlokRjxVby0+aj1WXzYKelItblAzKGFhc2otSFJEe1crcjNOdmdEaDhFOHhwNiM9Vj8oWXVtR0F7 cjRmTiVrLTtMVyktU31nTSNUQTxZTistCnpsb2lwSlhTfmdnZEMqMWZwNX1QRXhucmQ9aTh2QGIw bWo3RV5LVy0lVTcmRk0qaENmc0srUERpI2d0SEsqTzZQaQp6SyVCcG5iYCE1UjxMNiNiQUQhdmM4 dkIjbzEla31rUXxJfkVqZnZYPE4/RnlFT2Iqakcqe1lwUV8+dmYrKjduU3sKekRIdU5GTn1jckQk PyNzUXNOZHpFSTs5dkZ1c057ST8/fHxuUDtxKW5HNHRUM0N5JGZXV3hvKmNidCN5TUxvYGd4Cnoh QkB9cEpJbUlKM1Y0SWYlP344TG57ViR0anJsbzR3WGo4e0NeMTxaJlI3OHBsI3ltMzE2Z2V2NnQ1 SU85JVI1aQp6d3BWeDtCamxuPHRFPH1yc3NpVXBtQ3JUZHpvZlJBPERReUVTSE9zJGk1X2dwakIr dHY7KVNYX09PeW4wTSooJn0Kems4RUU7THtZdyVkbTJMP0p8JFNnOCpOcUYwbiV7UHhrU2o5b2lh OzglP3VnWChgLVNFO1AkRzd8QXdYU0xxXn59CnpEUHxeWTFxbCtIVjdXZVpZX3lOX1NIJCQ2UX1z LS1hYWlRNy05fHp2QEhYKGdMUEpVbD1JLXc5Y0ctX0hsXyFSZgp6O1hKMXlPWnc1NEJ3UTw4Xkx6 I3NeUXR5O00zUEEhVn1lSGluKikyMTRtd3RyQVdFRHwyPzdFbHI9PGl2a19+bUUKem8zblh2UTZ+ X0J7eHJEUT0tSUcpel9tTDY3Y3kwaktXYUYjKzZrZV9ae2ZWZ3JLfjVhJWlgXlhfPEdHKFZTYnU0 Cno7fmFSU2ZeVnw9PUtRfGlaVURGM3ZOPGtRSWxvIWpOemlqeTgheDV3VUUpbT9eT0FKVTR5Mn0t O0FAJDhiQW5vZgp6c1dZdz5BNXBHfkcmYW5+Knp0aV5ua3l6Xj5MNTw5UXtgJF90SDYxOT9eSDhv PyVRbktAJGYtIWF6Jm8yTSpzQjgKelZtQH07Pj8wK0RLV3QrZyVGVzI+TX56Rm53XzV2MCZ3RT4l K0pYJTsqbypXR1d4YHk/TWFFPTN4bVFCIXMqb142CnpUYiRILS1mRXQxUH07blByNDZPK1hDNzYk KWtmJl5WellUSylJdEU+aE5FcnhwN2NNdyptQXl9bjBwbVZ7Xnk7SQp6TkVIMnt0aFo5VStUUlJi dyZwe0tpSWBFPnl9d2lTRyo1c3JaKzszSURWKypiaT9wIW1gajcjWl5BLVB6b1RZIVYKektvdz48 Sz0rdGEmRG09dEIkRjAjYjM2YSFORXhLY1AzQjxZZjwrMDwmI1M5Sj1lfTFhcmxHO2xnRDVha2V6 KEROCnpvQ29rWlNCX3RabDwpUiF1TWlKeDdVZVAqSzt0NzVNMlAjJERXcGwxKGF7JjhYIyg1PyY3 PkphI0s1ME4mdi1oRAp6O2BTeGJOKHMqaGtkUkotKCF0aU9welJCSEM9dFp+IVA1dkx4cW0zR2xw RGN4JGQ7ZVlwKy1gLXdxcCo4XmdwXl4KenhXRFBEJmlsIzFTUWUhMExpaTFaWiQ/dWJUZGs5OD9T ayNDKU0pLW10LSp+THlKPG8rdTdRUDtaJSN5JlhXMmB0CnohY2BlPjVJNCFuIyl8Q0pWQEsrSSph dnk+b1Q4NSE0NntOR3JgRit6cStWY349aHMqcCU3YnskOGgwUXwrQ01RXgp6RlZXeTBuSmBAVXM5 dSRQejdnd3hjYy1kfl5kMnJRNjd8SzgrPE8kUHQ4VCQ+YnpjK0RRWDFjbXEmfUo9QSU8TjMKejw1 SkgrNHJWbEhVIWxnUWEmNHlAaWBYRFc/OVRLJm1INm1MYkx7TzgqJFptVl5RQ0kzSEcyTUZlOz07 Kl4wajVOCno3LTVibThybFE2U14xYk1mRDVtYDw5Ym0tIVdAbDBFaCQ+Pm9FfFcqX1creGkoNmNm RkpgZW48MmQ5TT1jbWYoMQp6U0RGcVRKTDE8YkxTWnA2WmhZX09JfXVARnUlNGN0NDMzSzg7Kyk3 fUlkS30kV1lOTGBTcm90QHRNUS1lVEkoQ00KeihVbFdKLU1nYExWeDZPdVo3LSt4bjdvOD02ITJr VW5TSjt1d0BKMGc2TTU+Yj1ZS2pkNk9ja3pjVWokPj9vYFZiCnpsIUNLUjFESyp0eXpZeWZVe0E2 M3huM18jQURlN1ZmTlFBUWRJU1M1OT0/RmEkMFBiKntxJiQ2VD99LWNJfjReYwp6U09pUjJ5akRn KzxaI0RZRktFUFFAdmxYcCZTODg1cmlDbHw1eD1aKWV6N0N8QClZJFo5c0A3SnEobDA+bEIkYSQK ekopJTBOMW03cnUqZEF+TEVXU35sdFFCY0x2MH19OVU5LSNndkx2fitDO2NTJWUkdTN6IU9Rflor JExVMEtpPURHCno+QUVjKEc0Tytvd1RiakF5ZjA1OSNIJkYtYiF8UiY8eTdYKl4yfTM/bT9BMkRg WG8lXkdzVUx3TkBJMT9mUUJDIwp6JWU8bWpqNXM5VllvUkdnSTZvV29ofj8kbGFIZ0JIQk5YPDcp WnpSMXNPYjl7NlF4T2RjNGpBQj9iV2FzS08kSSkKemJxVj0pdkN9KXB7UjM9VXRzI1chaiNfUypi KnFJd14zIzE3VjRaSSpYaj9Kd3FXMnE+ZFF+JX5EY29fJEteV3F3CnpoTUZJRD5QWmhNWjcwRlYx V2lmYkl7I3ZUO01IS1JVQl9rcVQzVispZzZ5IVk7Q0QkPkhqSmUwSHdgVk9iWFhmNgp6YFkoV01o KUlBezw1dU9oJVAoNjhqdCpgZklIT3ZXJEgxXjJvPSk3IytIQUdYMkgrWGRgdkh5WlRFPklkWGk4 SjkKelVFUXQ4bEdse0tlWUFndGh+SldrVC15RCNFa3t0VStqNGBvZGM2ZiZaZjxVcyE+JU5OXyM9 Tmw/fDd6Zk0tRXVFCnorIT42UXI5Q2dgaCN4LX57YlJuUm8tMXZBJjUxYnFMXldlJmcqYXpSLSYt PSklRzR3V29qezRXaV90QEpSdiRlIwp6KCMjJE9jPDRTWCR9TTBFMilOJS1YdW5KWj59X1JfS3dz e2A4UUJkaUBEPUBmZkoxO0F4Q3d1cXllPVNuY21yc34KekliSXZ6b1peU3A5QzdXM2NATCo/amxU REtoODVtRWd5WUJ4I098MT4/SjF7bCtVVD1xSldoSnU9ITVRUiU4I34/Cno3bD81bVRRQCQ0USFw RCohQmZCPGhsfXw8KHxAMEl6MGIwd0FTUi1RV2t0MX04Mn5kPj9uS1NGMGRTNX1tJTw8bAp6ZUBt NSVKbnAwPzImdDZBKjt6cCV5JjZ4T0x9PF59QHpkKyp7TCt+SDJiNGRaWF4hKVVUSjFQdSVhNURX QTNAdkMKejxmVmBxVVM4eUB3KWNoX0hkSzJ2e3JTRz9rZzYmM014cmh0S0F5V0FyMlJwODNFcmA9 Y19KQmU+ajJnQj9oLUI4Cnp1OHAtSjhFZHt3OyVrSG4rUCtMJXQzNDklRFRxN3lod1FKVVh6TkA/ a1I9dyFtKVJAUDxJYFJQZ1pMKj4xVXlVKAp6c3JGemY3cElPUCttYTFaODF6WFF6aGUjfkVvQipt VipqV3NQWSZidTk8ekR+eFdhYmFxZSNtfGNDKmdKX051KH0KeiZnTW1GWDBheSZEQnk+PkhrU0Zq ZSlQYGhXVXB6b3RtPj9JUFQpa3IkUFQoTkw3SUkwc0JFe0N6P1FFRF9GOFIhCnpHanxBLShNWC16 Q2NQR0orZWs9WlgzPS1DZzdwKVlmX24mLXVhaHJ3UkxuJDc+R0t6IUF3fVB1VSVaR3lFXlhIVgp6 Knc2QmBuZCNVYU5oUlV0VVk0MT5ya2VhTWd0dkNVVl4zPnhre1c+TkRTSWZVPGpNN29KcFM/TyZj VW5Je3sxX2oKeiF+MEI8dH1HYDFeQ3RHXyEqKmZRO2ZuT2l7YzU3IVk/OVRCcWQ1X3VYMihZc3Yl QjVFJlBFaFQjSytnXyp5NmF6Cno7a2IlVjUldGIpaTh1WntRXj9eZmpWeVhFKEZlZ3plWXRqPG0l O2NwKUxWTnxuOTg8Jm0+bnxecjNBaX1uJmAzaAp6K20rMndRaiFCYjw8RTkmb3NUM1l8SSt9cF9X aClUSGZ1OUNhe3tydiMqfDxCSURTQXtuN3A+ZiNJeEkzQkEobE8KejQydTJtcGwqfGVIMmFeQU81 PzBOdUl5b2Rud0p1VSFERU9RWjBEKWF7RDdTOGp8a2Y9SHE2ZTledzhyOHsxQylECnpIRVp8dWwr IzFkZ3YpfnghSSNYRyNnVzVDRkYrXjgjdSNnR1NpJitgRnU2MGNxfWZ1M0tpfjM0X2RTMHRrZ3J3 fgp6WHpJKz9eVUh1Q2tMUkkyTVU+dXlGJkAzVTRPc18yJWE/b1l1VGJsfV9aJXlhLXpwfWAxRlJE PFp5ISVEQ2k9ZSkKekliP2dqYlohNWN0YXlEZzhlTFdpUDxtcy1uUEUxKHhJZlNFYD40YU9eUmdt eno4VHx1VXVWSGIzQkJ1NWFmKTc0CnooJTlFbEZmTTt2K2BoaDhjO1pkRlViUm1YdT1sI09BQ2lA cTh1YWIrQSFkVSRmXllgZHc4KWRMS2dHTikqKmB6UAp6bUpRUTxuZUpoNz9YYCg4KG5xYnQ7Iylj TDhuKk84S3dUakkyTCU7S0JeNDAqS2BkYH13ZlheeU1TbkRDby05O0AKemVqdF5pVVMyI2xFcjta JCM/Yz8zPFR+Mm8qMHFMfkI1UChNbW1GPl91U0UpTiQqcj14c29ZVSRndVM7cEUxYipSCnpKVX59 Wm1QfVJSSnpnTnltT15BQmo4Q0VoIXkoJTNKTz03KXNzJVF6eSVoakA8Sj14OWM9ZXVGPG5neyZK eCgkSQp6JUIpWERCV1dvd2oxZzUhYVNNM1BTaDs9NHBuSkdvUExHcV5UeFIkPjFsOVI5I0k9eU1t UnJheHNFR153KjchJUEKekdETVlealBrUlU3TEBUPWQlI3dNcngjZE9YNSpKbVBoVDNALTtuNDFQ YX10NHl+bzFhP05gSXc0PlhiWGhTTWg1Cnp5S2hER2g3WUJAKnZmMEtjOVlrOV9rU3g/eWdFRElp V2VNbyp5c35hQmorKFd5M0BiMElDMmwlaFZ7WGVMUlc+Tgp6P0RLNEROYGNjSDNOb2RuQ18kLTtj JjNURk1zOzk4c1cmJHhIbnVnUTx0Zz1DNVAhSyptSG0hMCVeci10JUg/JUcKeiVaZSRZeDc5ZkAp YSEyNFVgU25sYHN5am4jNW1aRV9QWms5O1pXJT8mdCRvKHo2dl5hM1U2MFUxUCU1Mitydz43Cnpy dC05QndUKUloM2N2eFhfP0ttPEBPPWhhdnp3SzkyWDA8OW5gPGx6S3RkcldZfG5YO2ImKT1LZ2gy NHYoYlpAOwp6T3VEU1k5ZU00fDNDOEJsakhaJjhGJHg3VSl0MTJ8I3JxN217QFotdEtqN1M/M0tV QlR2WDhRd24kWldtLTFQcVQKenl0Pm4+UVR1JX1LVCk8UDNoUyVnMkwhN3laKHFhRDhzcnN8JC14 SlBvdllNZU88em5OYnkpcX1MS3BsSDF5WSQxCnphTCU3PzEyfW5zX0RoXn4odFp1d0hvOVlNTDgz RzxBP0dmJVl9UCladD8xaitETShBZ15lXm4tMSNaWHNOdEBsIwp6O3lHTkJmdT9HfS03eGlLdiFa WnNkKU9TKlowaHQ+UzVLPyQzcDtObyRSQDN0Sk5XJiU/OUA/WWN3PUJrRXE3IUkKekRxRHw7Y1U8 el9WdXFvVTV0ZCN5OD18U3FzN3ZMd2QzXmhPRksmP0g8eXFicW9ANlJXQ0c2dW1kWGozTTdCMG1l CnpsbGluQmEmVlRTMXYwMV8jWHlxPm5mJHl3JVlYdS1xX2hQSHdyTDtIJnI/Ykxie3dqWmRPZlAz VFZyfFNxZipfVQp6TDZ+JkQ3QTw8SHdlJXNTMD1WMDZ7bWdQdSR0SzJiTUpSeTdJdV5pKXttO2J4 QlckYHdiMD9WMUx6JHN2KUpXMn4KelN9bElid3VtMjZecTcoPVpHNi1lNXZOTWlYVFVFVkRLPTwx Ui1wO0dSdTVVQWM1aXRyajJ1KlFTbmI8U1FAS304Cnp1TXZhMDlKMmF0eDFCVD53R289cUlzTERw N19tS01PNWh2Z3JXbCk0bmkoXj4yV292QFlxNE9KPHJVMUlxZFpiegp6blpkaitJfWk8Xm9BdyQt RElxMWY8Zk51a0BCeDk4P0NLY3ZvLTlMUnNyTHV2PSNpeihNcC1sZkdBRlYpdlU9cCkKelglRzlF NCVraGtzQmM3WmU4JUskTT1taTdiJmdKNW49MGVhZk44a2NGI3RgWmQzMWpMZj1JVDBQI35aWmU9 cTJBCnorcVMlfjVudDxAfEIhXkVGRiEhel9idSlsTCNedXUhYEV2QERzSzNEOVg9MldyNjN2WUQh NSUoeXV3fHV1UXUpQAp6OGpQOWRZSUNEKnFLNWlidEkoUjN5WVFMQWpxNHJsWHF+VGlJT0JXNS1U YzBlc1ByN3d7Qk9NY3NWViNJbCQ2RFMKej98TitgbHJUeGJFdmwlRkhEUD9Xdz5jR0skZG01PDll MTU5bWJATFdLKzZsPDJeTlZxN145eDVzdWB7Nz0waSt2Cnp4d3E7I3hgRWNTdnwmaVpxPjh+Z0xH RiE/JXYkV3dgYjxoQF5AMHc/V3lNMFNQdHRpUU5TcXdTbUZoXkdXfU5oTgp6bTcpXyNzOWQ9YVRk JX0oVmApODFRKyhBfkdpSGtfK2MjcHdGZGQzdE13WklXMnd+XnIpNEp9TW54IV9AUkBDTyMKekJy fHVPKkkpaFltWlJPaCRSNGtfe0w1ZDVtKSRiZEd0NlJzKEA0VTh3TiVfSjMkUGV7OFVndXZzSjhL QDxncCFjCno5U2hpe3hhc2JOYVVyZiglZWM8RFc2Z0pifEFwZ2VPej0wVCpRRnJaNj5ieWA0LUk9 Ync2dnU4UU4hOGpMeV95LQp6PW5sKnp0a181S3oqRC00Um8hJVBuJTNHNkgqeShaUDQxQzxqbVJO RyhOSVZtREVpWHhXeFM0Pm96XjEoMiVUenEKelNpOGRHdSt+UCRafU9sT3tyTEdmc3x5MihYOHo8 bjJaRzZzd1RoJXZSMVhAO151X0I4MWMjKisre24rLUEqYVU3CnpNU3w9LVJLeEMrZ3hfdGZVfklO M1M9YWxvSCt4V1MteyhZfjNKWThATm12SDB3X2FENl5KaEhEJW47UyFDM2BlZAp6Wn5NdzdUbnh4 YUd6YXhtTHVUbzJnNVI5Ujs0dV83ZGtKRURyQz1JemVjN1NDV1dgKEdmPm1UTk5LPytSPC1VJHoK ei1qNyVJJks0cVVSO0dFWT4mYnRzJkkpMn5HMWwlY2Y7fjMtbVU0ZERTOyt8eGdTQmdMKXVyNlY9 bz91e2Vgb3leCno9N2RwZmZSZXsmV2pmZlJ0e0pgMFh3ZUBMe1V3Y3MxKy1He3xGSE1nTz5yJlhf aSU3WDA+T2Y3MipFQTVUa3Mmawp6LTNidWYtOW02cDI9NDk8Z0c7Yk1mOys/REpgQz5xbzU7UTIm K2AoVnN7MFJCNnJBb3AtVFFSIXo0bHRXb2RsTE4KelEkcGZVQHtKRzdgSCVaUDQtPFMlNTJ2WGhp ZlM+PzNSNC1DP2FlYjF0b2pIY3Z0SEljVX5EcEdTWT0pfCUtX3ZyCnp1bF4qKHQzYTktSzdRfG0j aUBKdShhaUx1WUBwY3t1OVlpOExKTWYmP2szfldCUlN3aCVXa2tGKUtySyZNeEU8Nwp6YHRINFNf Tn14Jj99Tzk0KCZmLVd7VS1raFMleH0oNFZ2JVZoUHMpRThZNWk2UEh7NVk5ZkpSWkNGe2xiUGV3 PDkKekZTTWYxZ01KVmY1cEVjPip7X0o7PVpnVmw8PlpLSVI8MEZkJVo+enRFP0R4YnQxIUhzR2s4 OT5vTUd4bU8+T1hwCnokQGp7YXU1ayVfY098ZE07bW51TitQYGRDJWpqKWtKc09VO3tTYytvQXZB TkhPPCE8OyhKWjJTLWlNc1YzKmF7Sgp6dV9yUjxieWwye1Y1NHFgR3o9RyhOSnRWaDAzcHY1SV5s fDBrSVoySSs+cmFNams2T3hTXnFnQ2pyeilPJGVaQj0KejI/QEVTPlo4TE0peSViTHZCVGhIJDJA VVdhflgwJll2VGwoIX1VKUVLSVh8QGdAbjBDP2B3OTJ7QGdNMWtSO081CnpvaDFpdUR2NyhEd2V7 bjRyO3dJMFhLZkpeRStvRmFuYmlhUSM4dkxac0dpTDt0TSgxazwjMmIxVGYqOWhVPDNaUgp6aHEt T2ByOTthfCV3cWA2d2xSanJCQyhpKmZXUHwxYSUmXkpVJCMhKSp8ODdVUjVEQzJzSzRiZFk/RUxf OGxVZy0Kem1eXkwmLUJEa3dAIWlGQktDX1M+YGV+QG10TjkwYGRGSGZRPDVabHskNDB0JVV0YVYl YjxLbFVVUFQ+R2l3a3s9CnpiWF9FODZfe351dVlpVTVCLUdrZzdTLXh4X2BXZj5iPil5a2xMTVpI JkdfbVZHc2FhaDc4O1VTb0ptNXdnQ0kzOAp6KSsjc2JYY05fX1FeTlJIWCRjMz12ZkhObFIzMHJC MCtYQTxua09UQHdgRVZqSjYpOUJqc0tVbCY0T1VaYT9UbCQKemMpZmxkbl9pIV5DTHQkI1Rsaj08 WmJ5QjVwM2JtNDgyeHNtX0dAeW9qOWorclhoMG19eXoqWHMtTmNDRFBGO1NUCnpeQmQpPDU4UytQ ak0pbztwOV5ER2R0Xy1kPmJ8OVpUZEwyfCMlNXxiJHB2ZncqZzt1ckBVT3J0RVJabVU3bXB+OAp6 UjBHTFgxdjRYKjZiNVlUMy1CYmIoV0JaYU54IVVhZyZVezVpbVg1dEImZX01UikzWGFAazF8RkJp enIxLWw0dFgKeldKUGJWcmVsZWxPc25vSEwxb0gha2YtLWslcCNzPCpgekNzcXRDJG5KbENfQXBG OHFwNlNjZE1QSUJzd3kyT3ZSCnpsJGxNdGIyKlgyREdTXld0ZlRZRmApX3tjU0thUypiMlVqLSln a0BsUEV0UnF5YF5ja2NTPTFTViljX2tAK20/MQp6RGk+aVhuNUByQkpGaGh7ZHF+XnNjJXpAX1gh S1J9PkQobUJvMGVHMVRDU0paaH1ASXxvOG0qKGNCVURKbGc7VTMKekx6ZkA+UTEkeVlgPzVFKGda UDwkaFc0UVhURH1YbGBSVkowSXM8WnZMQVg9fjgrYHl2JUxCRmopQU4xdGtGcCU8CnpQVmozWHsw eXVLNiUwQy1gM2EkaUJhcldrdihiKmxNbC0yRDQlYWVoVy0pRGhDU0xGKyRLZzleNiQ8cFNAMHpy dwp6K0xCWDhlTnM8Mnp8fXw1MCRKQDJ6SitLTT02dHFnK1VAV25yKmdOMzJoKGA2Pll2I3ZXTyp8 YnFMeUJKNUxPTyMKel9gUTh1JUtnJUN1OG9+NztNcTVlYjc0TEZ8TTdva0RKaUQ0V1lFWGhveWlh UURwNGp7Kz8/PiV3LTUhbXBCYEVeCnp4YWxzeDFneztfSlZ3cFIta0s8aSZfKStseE5tSnc2NkRN alNgd0tSeHllUmtWc0dqKyp0KUVOMWVwJXNKQ3FTbwp6Un05a3JkX351ZXQxQFNCQ1FUdVNzJi0w RVMkT0UjV0FGfH12M2ttekZOOGFDakh8dX5VRyZDUkBoJXo1I3gqKUkKemkhWH1Hez4paER0fUI7 YUBJR2EjSypue2NXKkdZaWMwcVY5QlhAdT1CWVFYIW16XkE0Y19GYlhAezY8VnFWSnVtCnp4Mmc+ WlFjS2NibFNiY35IVnRwRkY+Uk8wSUd5TjM9TSQpKylLI1kzPitQdUBnRis2aHozMyhLblMmUD9o QXdqWQp6Z3p+dF9PbEgkbDJPSk1IYldvSzJLTHY/VypNRCQ9cDRxJkZSS35fYGQ0VDZwPmdDSl40 WlB3T2hEbylANns2e3YKeiFhdE1nNz9Bc3UwN18kaGM0UT1yOEZSbio7Q1g0UzQ5JiRAZF80MipS NlN8PVIqfUFeay1TaU5DdT02YXtyUzhVCnplWHk5RXBSZEFrYCRURlkoRVAkPWVgRWI8Mmw3MVRh Knl4Sz58SW9wYj5TUGI9PEtTRFpnTmc/Sj89aDwmY15FPgp6aWJ1M0crZmt2PEVnaFIyO14rUjRf QSo5fERzM2UjX1lVISg3aT9aPUI5aSZNU3pGbWVzcUUlXj57UEkkJDNVUzwKenRCRSNkVVJmRCNq S0RSY1AhWnxwOTNOZSM8bHM+JTEoTVFoPzJsN2wzQH4lYDg+Uz5hRl89P2RUK25zVWpOdWFnCno7 TWVkbDNzYzd5czElYGB2XztkVE1pY3poJis9TiFrZWE2KyNCbG5JQEc5UzxFb3ghUk9sNSM/c3I1 UDNac31wbQp6PF4hKzMofDNjMnpANXBDXmQ7V0c/SiFTVXVLY2EtPiVgcjlvbylLcERTbW5uSFkk V2BCfGFyT1g2YF9qcEFDPHYKemZXNE0pUn0zQj0wP1p8fEVuTEdmYXpjbEI/bjFTMDBgIUVvdyNP Qis9N0ppOCZIQnlBK01oa2VVTkV6RShMNmJ7CnpVeVc8OFluMWNuUnhmP15LWTM9b1AhWkppcmFp aGwxN05TUWNjJVMyVjR1QHdpfVpyVFcjeDw0RHpEKiljVj9RZAp6Q1khRUNANUhSNWNlVyRsZnhT KmFzfkZuUntHOzEqaGhtPF9nTFdFfDEkPEw/anFQIypvUWV6VUAqN3NaP19aU3oKemZ9QzJ0NiZU NF44YygyPWBsS3BncnVnanBWVVMtSWZZd2lMP05WZz4ydkBeVFpoTHBgVkZCRH4oPUskUk07dFhe Cno8I3BRMVNIXlcreGFIQzYpRiR1JXE9dHpfQUlaVHF1Wm5CcEVRKVA/cHtDUytRQTE4YzNtTVpF WStPZUI8OH1YJQp6PHpVQlctT04jeWgoTDg3Vmw5NVROYVlkc0pHUUNIWlB7dyFTQmAhfnJhVTBA ezEwO14zbFlxPDkySVkhKnkoQ0oKekNTTm9AIyloc1Yldmhrclh1O25nOTc8ZmBSWDlGU1hPfUJM VUkwK15xK2Y/cC1ebWsxZyNXdmo+bX5adjE9emA+Cno4QiUrKTwhR1lBNF5saDUkaGRIalR2ezVs VSZpckZ7KzclcXU5TChnI04jeklqdG9DP3p4bWBrUlZWWEI+QClecAp6QUFVXmhLZVloPCV+U3Zk O0Y+eD11fm16X1E9VUhuPEY3X3FtaFM+fGA4Rms2TSR0P0wpPCZ2YFlrJHREK0lzdjgKeiNRbEQ8 R247WStyQHNicT1uVjE8IVR1PWFicjhRNGhGPileRVV+cz5edU5odDc9d2YjUFJyTTRSfCE/V2Eo fjdmCnpwcXwhSHomUH4oJCFvJGd5UHgxbTBWRk48PUlAVHdPN0MpUz1yen4+aHFyMm94Rjlid3Fp O0RlQWBNSHVWKXlWOQp6PTFfI1A/ZGlfZGojeXZ+alZickZRO1lIeWkhayo0JF5TKFkhbj8tc2R9 UGpkPXxPY1NmfExJX2x1Sk9tZkpXXnEKek89Mn0zaWRJYi1gYnBRSlR4SEUlJHdBSmRHJWo2UHBH S3RTKXR+b1VMOFVhajQ1aXUtKGAxa0EjQ3FxeXt1JDNeCnpYdjVmYXFKVUgkaVUtcy1wYkNCX2Mo KyFqQUckSXpEOT4+M1FZRXBjIWtZTjhWKkFfQXZhV3coKHx8WHk1bTw7Qgp6NXlTanRjYktNUFNM MWApcjJwO21ARng3THJHTl9gZkRRPm1vfns7RHw4NmZvRCYzZk8jJFRoR3FIJVpwTjhAI3cKeiY9 cklASEM5N0VoTHRiWXhoZSlxV24lcyhUaEBzcy1nJHJ9MXZ9emAyP0Q1TXtDbjdmRVJtUmlZfXZa aj8tMytYCnpsd3EydXkoITBUQ3BrIyQ1M0BsMkp0cyE7bnNpKHNqdkRpYDFsOX17P0hHPTVsVCU/ bG84Ulh7SyFxSHZGfT0kTAp6b3pXLX1FN1gyYz9nbT5IMS1TYH1AIy1sYDJTJWZlekxfNGBQUz4k ayRhUUdIR1VHc3tCSEZyVTB0PVN5VXcmVVIKekdoQjw1R3VYO2JrUT1fN2xIeGs0b2gzYDlwd3Zh MHFfaTVsUn54UnlyUFBvLSVacEo4JnNZJSFxT3dkSyQqKzM+CnpTNWh6akN4V29ZI2pOdGBgQyRM R0VLRzh4bCFfd0lNaGQtTkE3WD1yODNVdVMyMn1ke0tkP2ImRUIrZTJnKW0kZwp6O28rez50ejAj R2x6KXMhMm9uJV8wQGN8Q28rd3VRZE1peCMtbSFkPkRyVGs7VlZYN1c/ITRRaDllcDJgP0hfPDsK emA8cFN+PGBGcTstKHJgXmcpP1Y0KVY3QF9hd1AyMElWR1h6MzF3WEBRTnE4OD1LbklQYUlsQmlS VUE2UjE4NFpiCnpmdkhuNWt6bFJMSyRTSXpAWXw3eU9wezdpQW0kSjY3RENeR2dwJWY1Y0l5fGFu V1ZvZkY/ZGZTNzZvOFVULTkwWQp6KCpmbjllTVUwQjxwNX1NKXklJTJoPkpCYSR1IXsqRDA2KT0h PncldnE9T1N1ODB8REQ0YzhoPWJ1QSgwaDFnPiYKeiNGOXx7aENEbylIXkorTklQNzFeJFEyeGp7 ZkMySXkxUHY/QDBYTz41IzxTKjFtaztzeSYqZ3VCeFhIQFBfY1E2Cno1WlVeRGY7LVR3ITcodXJP T3c3SlUhPC0rKkpBO3pvUERkaFY1IX5KVCRoKFJ4NSU4cEFGKjc3V2RfVkBlaFkwbwp6RGNAd1Yo UzAjN3toKXs3ZE5pYm08N0k0a051VjhycHJqQS16dlF0TVlSWDI8PDtCPVRPTTlIbHd+NndZN15h dCEKelFHfm9VLWtSUjtaN3VEfkB7PCVgZXcrO0hGRHxsNWBNSzwhPTFnLVV6aDJUZW8tbFpSR0d7 KFo0U09xeXo4QXk7CnoxK15kRFNZSlokQWJzKUtZI0p9KEAlWDklRSEwWTcoQlZnPnVwfFAwWlA8 NjA8WkFyJE0lSGpwYzwpWSpuQFY9eQp6eUR0PDF1VGhQPnBfYFhKQi1kPkwlTTQxbGRUU21UTU54 KmxufmJVMWVPVFI0JXkjRVYrVVklIXBDclRQQCNqREgKeiR2IXhDJFZST1FfNDtvSl9TZWhBa2U3 bGl2WDIpYGYwRz5vME5BbTtqYkZOV0I3KG8qUn11c25gRiFoOD5kN3lCCnotZ1R4MGFvQ2tCV24r SFpBN3d9TSptZG4oOSZNdEFndTtSMEdENnhOV2s3O0paNkErcSs7I1FUJjZiR2hfQT4lfQp6ZGVU ZiVwfUBHbmhxeVprNTFBfGBIKX45ZXVfWT5fOWl2OHF4dHlkM2o4RjwlNCMyWFlmPHFyWDlzSzA1 ZU1OUlAKelBNeTBiIVZnMi0pVTZrd1UhWDwleFZZY2RPXmlJNGY9QHB6bSh9bis0P31rZUpvU0cx aUhYSm9ufjYjbUohKStWCnolYGtrfmF8IVhudkdjYC1LUSFOeWBJaFBqYXNMbCphIUFHTUhudyhJ Tlg8YDxsdUNeO3Y5e0ZaPi1TaFZZaHF4LQp6Tj88JktNTW1eJEo3NF9KNXRtJX1DJGBZLXlteUdr ZFRONU0zQTBBZUw5MVpLKXw+c3dVd2ZpR0VoP2ZEcXFmR2gKektUUVljUHFjTCNCcnx1cmFsRyVV KTdncmpvK31XOFB6K0tSJCNxVkxqd1dMT2hUaCU7Q0E+Pys+emVVaEw4UW5NCnokb3Z0R0ZPZT5F cWV9eUcjYmIrQjAzP1Q+SGZIKS1pSWx+KTZuUmd9alA8JkN3PEx+UTI2dSpBPX03UmNzQUc5Jgp6 TXotaFprYkpPKmlucWhtYTNeMyU5TW1LcEtuRFdWNyYzZkRGUXRGTjV+MGNzenRQPShoIXh4VnZE c1ZzdEJoLTsKejRHS1llI0N5ODthaz04aE9KPzB7SVJATmM5OWZzTlJLeHQqVDhSNyVRVng7TE1p b0FZSX59Oyg7fmF3K2ZhfCRQCnp5cDNsfigqKkdaIUxQJDFRZyNBWiNCS0AzZ0tmM1BVMjVIfDR+ XzUzYFVpbEdLZnNuUTc8fnpNJF55ZGREMXtoYAp6Sz5IYiRxMTJ4NnNPdl5aZSFSUTY5QVU9ZTRl TldKM0wzbWhafiZTKEowPkNDPWROJGB0c0c4KnpDMkQwZVVnYTAKejBnSzRiNlErTW48PTdrZTZt UlpDJHNpcXxuYz59dl5NKF4rPnM8aEVRZDlueW0+T0NNKlYobTxSJU12Ynw3K3VTCno2TnV0Nl96 VUVYKzFsQiQpfEk7IWJLaUBkVjE0bFZAa2xHbGRwfiEhaks+KyZHPiRUcW9HJFN5JUV+MGchPioj Sgp6JWNlcExGSXZZQ25zK09ROHFkM3FOcEojYnFpMWF5eHxhMH5xV3NGNGQpZi1ranJ5aG5sRyte a2t1VHFPY0smP3IKei1FNTJCQ29EanxaZWJ0JHFqT1lmeXVlcGAlT3VjMFl+NXM/UG4haDsyVHBK VEJ3LUx0eEk0YStqdSl8WkxVZ3k7CnpoRTZhcU5iJipxcj44MG5MblJzOSkmJVd3THVzRn17bHsw WCRDNjVfPlFUT0RWSi1LQVZXPn0yVndTekRybXR5Qgp6Y1dibkpxPUc1cFZ+fF5iUVdnc1VvVGNY TXYtZUA1PCV+cFhVZ0ojNkIhbl5feXc0cUc7JW9mKnA2QDR6PmFadn0KejJZTylHVldULTheOHwy NVd1QihGKj1CfXUyejVEY3p5SWs5KHx1X2tjJVJ6eEppNWNje0JCNVVjcXxzKXt2czt8CnpqJHxx OUFQLT1jXmFzRmFITiVOfV4pK1hWPlYxdCFQTDtMU3VDITErTGIoP2I+aChPRGdrSWckMT0jKV5U RGcyagp6ZyNRK3MlSGV0ZEt9a3lgTXZ6M0Q2US0pKHJPQD5AN0ZMfn1GYDEwVWV4QjdDQDE+MzJH MzFpI0tYX3F4Q1E4OyoKeiY3QzsyPm5SalA0REtMNDIjQExNdT1QUWFWZE5JMSM3P1k9QiteZDB2 P3BPPEVVfHxeJWMmTkwlVmwhMGZ4bUk4CnpoY1VpSDd8e0NSdEspMDRad3JDMWtgaCsjelI2bldP bCNvQ1poK0sjTWImKDVQT3RrOVFCMjtadkZmKXFWT247MAp6eXxfUGNDLT1LUUd+US0rK3VpVz53 JDFoUFo1S2BJPCFhS0xudUstPFRMK2E8eHt4ZzlILW1HPEdkUjZeeHoyODsKekt8R2kzJCNZRjFm cWF2fiVVVkljIWFsXnBwNEp0JFMhZGYoYUE/XkBUaj03SnRMN2ZrRSRlI0U4PS09Jm9QTjJyCnpS cXl2UUJMJGowRWswLWNKfiV0R1V0dHp5LWt3M19eUlByTFUoZ0pYQDZNdWBNNVUmWGY5PlcqR3Q3 QGJld358Pgp6OypzPDtvV1RLbiY7SGYoN1VYV1kjRmZUUm0tXlhfLTFseVc8b1dlNSVHRUpkWkY+ SzdRZnQlIWokNVJSVGJLTHMKekxWQURlc24zfk5oVGBuTDJ1cmk9QXxEK0JeLUVgUWxhajJKX1Ja cmE9ezZ8Uy1BKCo3MFQjfUZwU3wxSVFab2whCnozJF5SK2tYXmJSMTAwUFJeX05uZyZ5KVBpJU9l eVdkfEp9VHR9KDc1Xyt8NDBUQ3wpPS0qTGwlXz9yJWY2ezRQUgp6VnxzKTg/O0dqcENXNXxRN1Rh aWp1Yig5fnFBcHY9U0pTIVJzbiEpUygoZ0k+RjB9SWdGej50NDJDak5lOGgxU0EKejY3QjBFViNP YTVYPHtXLTBEZ2BxYEJCXk5QUGJtdXdEcHpmQCYzc2ReMU1kbThNQU02N35tZUNeVl9oXz8oNkc1 CnpSayFWKWJlMTRpczZBNFdNM0xSLVgmRypqSj9kOzA8T3h1T1coP0FhMl9aUlMwJFgzNnVwYmFe S1pTcT1GK2hoJgp6IU8jeD1tLW44cDgtMm9+S2F8cnJ5bDBwPj5AbkRhY0FgQ1Ird0lkTE1rVTRm YSV4Y01oQjFPZnRrQyp4VVBYTUkKejtSTU1vPH5ERTRxMj4rMnt9ZEpZbUtwdkVEPEFGRSU/UjNT U3g7LT0/dTxnMjxXYTJkWWd8MXNXKm1iXmBQQ01qCnp7ZG5Vb3dsTTNhNThrM3BUPWFUZWZlRzdC ejhAKjkxRnFGSW03eVA5Tzd7ejxIPEwka0tuRjZ9VVZzNWk9X3E9VAp6TXleJUNBMktscEFzbkJB e1lyTGs8QWdiU0xUTXNkdDtjI25AR3hWJCVvVGxHTyQ4PlViRyh3SDJgIVF9QXhicXoKenZsZ3d8 QnI5ZSZufSFxYndgOzkoaGxKd0tDUHFibHJmO0lgTD9nQWF1dH5uaUhrV0tWPHYwcmdXZHdJc05A eHE/CnpRP0FlMzk0dVVKVkZMQX0oZHY3MmYmZWJlKmxEVF5naFQ5Kz1tWnY+JXNRVUN7VjhrUlkl fnc9KlZ+ZE5RVC0mTAp6JiN2N1NpX00+d19hTjBAaDJELUZrVjw4KXU8bWM9YzU2NEF5TFlLPUJY TUJOZWY9UG14JFhnQ3U8c2tRdCV6KFoKelh9c1BVKSstc0xDWDFXU2kkLVdPUGQ+aWotYTFNalM/ NFI+NiokY0xxa1kxbGdoUHIkVUZ+VjxnPXRzaz17bzByCno1YzFeREJEYzB3QyZlWjJlKV55cD0q N0dmIWZeeDdweHY5JHdOT0JRWUAzJEg4b2VFSkl9UCM8NCpUQVNOfFBXPQp6VGE8SDVuUGtLISZS WWRGZEgxeHIjYkdWO1RnSE8/PDAodlQ0Sj9efEI3Y2AjPGgkfmQoTT49cFBDQUw+PDNpR28Keih3 cSh6akFNRkgybiR0Mkw9Y0xNTz5BPSZrNTRuTEo0ZjVPbytmNiM5Z3shTWwraSNEakU1YD47ejFm LXRgQiVMCnpIQ2hhY3llOT98JDlVSWJyI18+JS0kbkNEdVJNOXhxOzBQeiplanNeYmspQi1HTyEo YUgoUlQ/QHZfeC1nbVcjRwp6PUYkej1yZXdFLWRWcyNzdUdrTG9UTyNuei16fk12PGskTH5SNkhQ Q3s9UXU9KTMySDJ1Y2RQISleVkg+TkZGenQKemsyOXhuOHhnLWpoWChsaG4hXyg/SDZsc0cqWXxI QlpjaD5wJUZBSCs/P2YpMWpyfk03QkJAPVlqVyRAO2kqa3QrCnpVfkFPQyleQmtwU1RibkJGXn5G YnBWT1JoJTdFPGZZVDBWWVpPd30yTWJFQ3UmQzIhUk9jUlh7YylnMiZsbEVuZAp6UGdNcmFyTUxR NFUtdDJzXlBIPzszNSp2a1JLaytVYEF8eHNCPiR8Qj1qUGQ/d3sxbzNRLWdsT1FJK1VYWE8+RkEK elJteE97YnokTGQ5OVhoTyZIUTw5e2JZem9ORUt0QDZGKi1zUVZtMmokKmpCMiQqJX5SKX1UQE9T QkElVT99P3xNCnozQWdYS0ghT1JwNSk4KUxEMzlucmgtZjh5KVcmWT5EcSlmZkR3X145PWxzeEwo NzEmVXliNX5zXk5wQCNVS1pNJQp6VV5DIXQ0KztOaXtYMnJPNEBJNEZeZTZnQlc4TDl0ZyFGKC03 UVNBcTsmN2ZVcDg2P25Ya08qZUNzPiR5PyUpbE0KeipXTWhyIXU2S3FtI1JwcUNFWHxrMTIjUEtz NiZXODVlbnoxbT1TJk0/I1A5PTBeNkk4cmY8KFUoMGg5JFF9Ozc3Cnp2VXB0QVkyMStDMkRrUWdP QS1oOWFlKXJqZW8ycHhnYFlydFomN0pPPys5K04zPzkxWmIoPEpwczJ+P21GcEU4PQp6IU4rUm9N c2FII2JvSWxySDluTjFDJCtVPm52KjROLTlecUcoZ1ZUSVBSMFVGOTleQVJeXjxGe2hQWEZPc0xU N2IKekJDV2hQKzJ4TWcmWEVYYCRoeFBgRklHdHZZS1kmLUlvaypfayVHSTlgcXJSeCtOeDFhak8t Q0hzTiFfQ3VvUy1GCnojNz01IU5FfXF6TGhBIz9FenJaSCRtfm5SKEhCZk4xelUkR3t6NzR6bUZY azJiKEFgUT5lI1QhTCRpMEQlOG12RAp6UVNoSmhnenxNKERERFN1U3dNdlA+aThvIWVuYSRyXmJa bjlTN1lVdXhVXi14X2BeNHxAKkJwSXNrRVBrdCteRTkKekMlOD5zbXlpMEhtOTVEfj5OYEF5YXp3 WEtZQnBOTkpVZSZRe1JqXnp3d0J6emVyVnheYWZZfUgmPTBveXd1cXU1CnpZRz82UTN9RXlwdkZQ fG0mcjl8T2RsbVJvXjxwRUsyVDJ+X2s1MF9COX5WIUAmT1VqYEZuRE12bXBieFIhYkhWSgp6UHc/ YTJzdnpVMEpvaV5fKDxMRFBjaGdDRkJUOH1PSyE7aDBgTnMxTzs7TkU1R0tiYntrV0d1WTEkMEFQ VDRZR3QKelphYkA4amJZajI1JXVjTz10KzxyWmgyUlZiN0pBVGI5WmN6U2F3N290ISZVaiZ0WEtK Nz4tWDIlRiV9YF47KHIxCnpSUyFhXypxZkR1dnRFIVdSJXNFQU5tRTxHdCg+TlkhSXQ3bWtJMjIz PyQ2WUtvUzdIZj1ufXooQG9uRlEjQH5oJQp6UmgkYkgmaGJtUnUjUkhQQipUSndYOD9QOyV8dSYz M2xtYGdSZjBkNUR0YjxDdkxNKSEwRzMxMTglMFY8JSZ1MTgKej1UKk8kYURWcj5OLXNwTWxGXkZT TjJnVyolWSpGQFJaRSlXX3ZzTm1ScHo7Ulh9PndUPllUWV5XTVJEfGdWaD9nCnpvO0s5JiF7KThj P0pwUyNDUTshJlVVY156RSVANXFDO1VQMUNob3dgPms4byRxSzNMUjRCeVM3c21TOyFzQ21lTgp6 PHFNZjk9YTlZTGY9fU1PR1ZJeEojTnY0cEBDam9MT3Z+KSQqbStKaT8xMkMyWVJoTk96Mk1EZlIh ZEJFZS1INHAKekdheylVI1A3Mzk5aTg4RU07X31RYVBWWGh6aTtLdjstKWMma1Q7JEBVeF5acihe aFRnJldlZFI0bTBrM3MrTFNiCnomUG98akRzaW1CT21UbGRHVmIldiUmYmJAWFlTKVErYGBFP3E4 YVJLNENvZFVTJiE/WnlibVFHdCE3QzJGazJUUgp6eypeZH1WYFI2YnVpLXZRZ3tVRnRUSEhfQnY2 MHd+YjNTSCVKak51cVBuMEA3P21kM1EqflRkRjwyPDNXRWpJZUkKelVBazQ+dmFuQGRpVmA2aCNG NlIkT1NjUUtMMGt8TzMyY08pSUFtI0JfcTBtanBzPm9pNyVzZzRRKyRgfVlMSWtgCno/dDJ+Y2x6 TE54QmZLd0VMTFEtYyY/NGg/Y3pqQ2NJYHFgODdFQ313fDB7OTUhaXNIU1MkMH5memRqTXJNfkNo Wgp6S2lzRmNAVTxpTVp1QW5QTmNZam49SSpxQXUyMnxgdTtoUG9YQDd0WWt6Y3NoNUsjUS0/R1Rf OGEyeXtLK3ZWZmMKenYzNkVgeFVqdDFyUztgNiFvbE4tSFlkMlkpODt6a05NK0IxRGpndms9UEoz RSNQZzlWe0pLQiFmWnpONUlHWUN9CnpyRVUrZmB2Z3ZUcU9jdk1fTzdwUnVwUXl6dWYkZF84Zkh0 KWlfe0dtIX50QWJzQjFsJHVoOUF3RiNCUDZTIUNxcgp6MElVR3AxZk9UTkYqYllPLT5+UDhpUEV3 T2pHZkQ2MjB9aCN7LTclKm9kVmxAM05pYm0yPkFzcSFPWEpOJTkhYWIKenRUO2NNcHFefUFOancr UzshXmBtREdHZ3d8OU0kMkUkQz4+YUQpVGVOfCtmdzxPN2l+YylrYzhrNnlVYDMrYEN8CnowKFl0 JU5YempodnVhV00tOSNCaSlZLWs0eUFOJWtSVWhoeSpFQm5wO3kpOTFwUUQoWVhTLUZCKj5XOzc+ NERnRQp6ME99b1JfSDBgS3lIUm1UTmwlKTFOUSV7OFJqaj0jJk0meWc9ZXExemF3UWh+JUc+KSZs dCg7fHQzbjgzSVJqNyEKemV7fFNhJVgldEtYd0ZJQCFhVVpWWmBFYzN5Kig/b0hTbDFwbypjOT51 LWEkKkwoSnkraDY8WiE+MUx1Q0pTdXhyCnpFTGNORm1YcCEtM1dFVCFPckxSUFp6RVd1Pyl1JWRU Ty04VWkzKkROPU9HTDNmYXU2bVFyLXFJSXNnWC1PWSZHRgp6Vnd+QTZ4fE9aVlRRK1JZbTE8WERo QTxSUT5pZTlacFRHSWAwXmh5I3ctQ1dUM0RxTDwxO3p6OTxxbWlecWs1UlIKemUxS0k+YE96Yj9i NmpHQGE2UGFQaStgYU1CVnMrOEUzMUNuRF5Pb2NpIWd5JUZGWldfREdzbmEkbyU+QEFTczBnCnoy VlI4ZlhXNnszPzAqUio5b2pqJDF6TXk/c1BYNGdFRGB4Y3ZmOT9nYnhIOzNWYlJQXmR9ODd7dGpk PiZ4O2g/QQp6SlFfQU9IVV93dUpeOH4pQDVGa2ExPURKI2FAamJWKylvdiZxJF56PHp9O0VfKyFo YjhabUNSZnFkS2NhdmpvQDAKenkqenpZTHJxM01SaGJUOG8wXi1PXnY2O3tjVDR8fnAtQXhyI0t2 TWlDKl8tfVM1YHoqPFhKX096Wk5ucWdfMWRsCnoyKUtAK2xDVUUjdW5XfXtvfDJ9LSZTcEZYY302 cUIlYnQrT0YtWEFGaUhtTV85azw1K0VhLWQ4cWR3UUReQlAyfQp6e1kwKmQzK31fYjJINWxyNTZy bnkrMyNaPUordzhyZFJ3cHJRMGJGK2s+WCZzb3QyNlgpWik0V3B9KmtfNysmbFAKenpjazAoei16 Wj9DdHVteDNJa2l3blA4WjV2O3NWb2x6ZD9VQnp+WnQ0TDJuMEwzK0F1NCpGeDJ7fEpzJnEkJXZC CnpkI2tAVklJJTVHdzA5JHxtNnFNd3BPNWRje2pWTyVMTzRNRFJrV2EwXl9Tek5IbT9zVkQobCg9 MU8lWmxvbW00awp6disjY1NHUUdHKVU9XmVyZDdKMnlXJTYpczRmK2NgJWZtMC1pKFRlITRlKVA0 WDlhVndlUjRnPkhmYHVLSEcrUzYKenNQPD1BSmc/WDBofkx2UUZnVT0zckE5Q290RihlYmFFfD1x ZUYpNllNNUZQdz82aFFRLXBaTX5VMjFJJjRvMFMjCno2NztMdjB6ekI8TkpVNk1oXkBEUVpaUmle KDEyKTxZd2JBVGtrdjJMaT0rKmFQbWVfSSViK3B8QXpAZ0kmPCFmNgp6ITQzJE03SmZOOHZTLXc3 IzF3d0s5ekRKUSszYFFDREkzaDdaVzJVbzN5XiZsXyVvZCFLVVhxSk9qJWh1P3hoeSsKens5Qk9X T3FySlpMRFJQVnZkP0FIYllpTyROVHU/aDwrcXtBVnIkNXNgbGUoPFhDUVV5VmQ1KCkzZy0lNG44 c3lSCnoqel5TQTk8U0FvM1V3Y1ZUZmlIS1dQK1gpUjg7SEZFfXc2TDh5JT1sUEVIbSooOXFEQiFA dUQlU057czRaJkFJYwp6KlRxbE8tQyFMMnYzT0x5MjN5a2gpQVUwTWRpdWR+KTVMXj87TD9pYkw5 e0l4NGc2O15KQm9SeDUwfE4wMkFjYDgKej9APUltPDd3LVVWaDtxSlEkMitGLU5NWGhTaXc1M0Zx OER7JDA5a1M3MU80cldoNHVFIUdGfDEzc05pZ1ZKbV80CnoyZyY5YzR3dmNhe0JBazBvYVJBVCZW Z1FVWnx+THBwPGomR0tALVkkcmtfd3JZM1ZQYEZmWX5VI3l9a1MtVn4tQwp6Wm9GTGJJKTxzTj1m T2JMKjxWRjk0SVdNczh6QmBmaSo1VWM9TzcyejQkPU84TVZnU2pIMzZuM218MXpYJTQ7ITMKemFk K1U+KEgleVU1JGJ6Pyk1SGAxdENGTnNESj4mb1BaRkVTNWxvMV5vPz16dUBKZjR8dHt4QFFQMnVD bTB3KnZgCnpfM2RLalZKMkhPSjNZK3tzYmllUy1lMk5uJml5TTE/V0NtNnk4V3pQfElIejwkdzYk ckkpalZlOGs5fHZzI1pCVAp6SXl3c2NDN2l0fXJBZEF9PCErUDA+cntaI1NNJjdwMDFXRVk3I1NG RnhNV1Z4TipXVHJvZ1pEQzlPSlpfWH1uRm4KejgyVmd4OHxuNSE7UVBJalBlTnA4Xn03e20wJj94 T2NeRiRkJE98RiVVRDNvIzRjITFWb0hyfU8rey07JD1JS0VpCnoyMGt6RzRaUFZEXzt6M1N6K300 YCZvKW0tQ1M3JkR4Iz9TNHs7cmd3Pm9gQ3lFaEZPflZYQC0xNWBkRVIxNm5pMAp6Pj1iREN7ezh6 JmsrfXA8Iz1rbF5tPFdrbWwwfn19bUU3a0ZZaSlmIW9qX2QlZCNHa2NmIUV7ZDgtPTh+Z0lmX1IK ej9hZ3xWQURAdz02JX5QI2lvI0krIWdTWV43VmVfUm9TYXdZUmxBZG9XOGIkNXBPZiVaNn10PGJk KyF3JkU+NnJ+CnprTHJKZTFieCM4WDt9Vk09JE1CVT9yezAxaE0tWDApRjZ4RXRQUHo4QCNPJF4p QHdpR1lvYzJ9bjB+c15xLUpqfgp6ZWA/JWQhU2x9TDY3MUd1YTZ6d2xmTVd1VD8oR1N+Zm41Jihs WXYqWFUxKHBUJUh3emMmRnFpfSFMSXxPcX0wX0QKellISjRiNjxELSU+bEp8KlcpbiMpcjRASCE8 YkhQIVgmemgydjl0K1p5JGtoTHNVLT1SekRHWSRqd2o/O3ZTQW1JCnpTYSFIJlBQOFdRQTJmRHIj akFaaClzUStnayQ8QG1qSjBFbypna2t7PFg3fH1qT1BMd1A0UzZXQ2VpIVdmVzhqVgp6aDJeaCNI XkNVQmR2RH42TmFSfnZIV1BIeEN9I1pLeiVIfUEkQmZJU2x7VGNzcWEmUVpfcFgzSW9INiYoVzQq UHIKekdeWV8hKiFxSjdNSzBsTnRkX0d+ckgmMypRZUxxOEokUFNrREMwRGtEVUVOfnZrWXQ9X1Ru NCMxbVd4TkpaRGY4CnpJUjRfKWVlfFdpcn1mZlFgVG88eCR6YiliI0hPfj9GVXo9P29xKzkhbW0y ZmdpITdPMzBxUFN5dHVrP01ucnlCPQp6KTFpfEtFZWR2Pm87MFRhTCZweUo/JSReeVc7QT5vdENP Qz14Ui1BT292YXE7VyVlPX5EJiUyZiEqVlJZZkAhcSUKekdCQDkzSD9oaE55OFNASD1aVXlUY1V1 YmN5SVV0RztDME0lJHttfU8zTnZse0Y3Tn18e3lTZHxlUkhIMV5XeFVaCnp6Mz5LQm04YntpYXc+ YCpBPi1TMVBWaGN9aEtEUmgtNzFBMVlkOU97e2IkSGhUJSYoJm1SVGw8OUI8P2g4VGZpVQp6dyRy enRwMnB5Z1M1STh9MHM2ZWIxfkIxMmc4Y0pZWit4d1ltJG4/dCVvdDVnTyhXPXNRITB1IUNxV21D M257NzwKejdQNjE5dD5ISz5eQTUzWCpTeik5R2AmWGg7TXUhMjRKcT93O0tlY256Y0ZHbzZUSEZu bHw0bXgkVTczTkZ7Tip1Cno4VntYQnB7PEllaTlAR3k+T3l3KjxFfnpEWmB8QnZKfV98RUUkejM8 O3hicSEpVno2YEJJMyVrfEdTPV95KFpjWQp6YT8hRWRUJE5GVXs7ITM0enRrcGlzKVFSMW9qMT5Q JChhTEhOPXElYyFMLXdqWHJDVyEjeTNPLTFJYFlwPEtEPWQKejt1Z2YmISp0Y25OakxmKyE0TGNL eTlVOEZ1IzxqXzU4an5uJTA0VEI2eCpScCUxcVlwcysmQ1AkKndsKSNgU2lsCnpUUENiQEs/Wis7 MFc+NCk5MndzJkU4USstQl53UTI3VD5eO1pHYDlrYEY0bW10WUNvMmUycDJpVj15dSZ5NVYyLQp6 I21XKVJuQzQ7Qms5NCpKQCo8UUhEUTthdDt8JVc7OFNnYHtXdjh5V04wUDhMViV0Vkk7aFhVby1N WGh1dENydWcKekJJJDxgUyUzezRfY3IpSSZGeDRzIU08VExMUDV7RVN+MUFkRUFkISRlPkgpfXtl QTElMjV+VVU7e156UyNnbCthCnpHSUczWHhYN25RO3VSP05fOzMlVklKdHBUd2goOzFzZXQ+YD0/ YGFIckY9enA/TWkyOWY5KGVhcWF+JVFyRWVjVQp6dyQmZmJiN1BCJWJ6d2B4IUAqTkJRWC09OVZK ZHdQNXJ2enopRU9VbC1SfWQ0LVZuTyU4K2p0ekJtNTkwZjJTajIKelpIPChvcndWd0BYZTJ7Vlgr PSNicn1vTDxAYX1RRHlyRUk4KnZtQEpRUV90Q3IzYnk2KllhaUJyNHhPRkA4I2xZCnoyS05Ldmw3 PDwzbj1KQHZYOHs8UWE3cXtpeURkWjh2MV8tPlh8Nnt5bSpeX1ghYGlXaj5jfSZzcDE+aHVALSlJ OQp6Rk5YIXs0N015dytiLTB9Pn5GKDlOKFlJKVpwIUB0cXleWGtHSj45MXdHSGkzI24qSEdzeHc7 UFRBUiN9eishTWYKejJLcClZdEQqK1B4bXFXK1l4dHU8alo0e05pMlopajYtb2RsOGNFNHpOSVFN OVdgbktYcHI8Xylre3xHOD5JJGN9CnpQNG88cTklS1g9NzxTSSQrViElTjhAPXh7UEBBWG1eZ19A RVNTUG9YbmNufmEoUVVTOyRfdjx1bVojKlBTZDNKYQp6YEdVQXdCZUxXe2BET0E7RURfazRAMUNB e2tIJFJXb242fCFZaSsrTHQrOUZBYl9zJDJEKD4mQWpRbFFgXjZ0XkEKej9MP1JgTEJeRko+Xz9r d2hLZEN4KE9aeD85SXlVcGQ1PHRFaDVaPVAmRiNiM2FgPkZyN29Ta1R7LT8qJDdaIyVxCnpwNDUh PyEwdEJfblpnOEBQPzNxe3QyT1NvJnc3dUlOQW9MamdoIWQrUTdRYThgKkFgOHQtWTZJM2FILXVm amA+ewp6O0NHYWhLUWVffno3eihXWU9GPSpuSnV1NFF1JWl0ejJ2YzI8PytRQ2MhJCQ1Wnxkb2pI TEJ4ckVWSz9mPEN9QloKemcqPG5ERVE4JXZoZjJYSmZLPTBWM0d8fmA+JWlLVEI3aWxOODlAI05v cH1yU3spRn1TKyU2eXhGTTZIKHQ5YjlFCnpqKSEwLTxvWmYhST81NkFfYXZhMWRMMWhJRzJRekQ3 QjFZe3RaIUYxNWl3Q1VSI3J4R291MCZpYGRzSEBxS0U8Ywp6K2NjTDVueiRgdXpuMSN3SEQqVHgk amolaGVMMXRGMlhleGxCZGxFKCptO0NZdXolWXY2Mm88Nlo9RUBZLXJkSW4KekIzTF96JShqP3Aj TkNSZHJrdWtqSj5VcHc/ZWIhOVA/cX5WMXZifnF7I1Z4LVFrfjE4OEx0RSs0TDY/bDkzdEhOCnpf enslI2ghVSVfJXs/XigqKUZ3dSohRGZgUEtKM3hHOz9PJVlwfXRJNyFvfDRkb0ojfThVQDJnOHQy MjE5Wn5QMQp6MnR4NTd1VVBMOF93UzltTEJ6PUM1M0k0ZHE8RWA1MlpVOSVmaUBFdFlOaEg7VllC Tjg9SyY8RmtYUWImTiZDWDIKenFeYGNUMVgoWGw+MSZmbnt4ck5DYHU/cHozflhmeGM1Yl4zNXJa WG8wMDxHd2NoN3EoSmpoNG9kNk5QXjYybSV3Cno2Mk9ZSS16Sm95JmpoaiQmIzIkRmQjOHYrTSNY eDloPHk5TnN1WDV+NkFrVEw7fSZpcUA5PGRnIVRiSGRTMUw/RAp6MjgrWE0xZyRHI0hjWH0mMn1B ZCUmb0F6Y0Q1VXR5eH5mVSVNM3h5KktMMlFqbloqPE0yYytOPUE+cj5mX3ZFfnMKenUpZis2Rj90 YDVEVDdTcDRxWFFYYiZ5WmFIU0FFeD9DZnMmVntmNzVqMllzOylgTEpGOXlTNWBQemY2PnA2fkYy CnolakNoQDdxTU57YElxSDc0UC19NHk4UWglQU9RT0wrI0RJfnBHNkUycEJgfT1CWFpHKWVDZFM0 Mz44MDdhXnV7dwp6eDVsWVpPeV9lYytOPjQpV3VMIXszaWJvI2VkcFVmcjNCRnM2OShzXnBjbmFU KSk5YUleMj4kO0BDZFopZ3ZSUVAKentRbUM9UkNpbm82MGU+QGkoaGE0dEdnIXdSZndvU3FrNUVq KExjWmNHOVgkSm97TGIkQCY5fHcybntwM2BfcWUwCnpmJlZ0WV4xJlkjNy1pPUN7ISlMcClyQ3oj NTs5RlRoNVduT1VxM28/cFJDU04yfXd9PkdoV20kKUZNMD5yR2lFMQp6fEd0RjM2a0ohZWx5fHR+ enJDWiVgUC1BSWRueF4xJXxDNiR6PCk3YHh4JFY1d3xDNWhDI3lWVjdnPTJZSCQqWmQKelIzTzxn OW5ydE5RIXY3SEljUCNmWlRAKnZJN0VTYG45K2kzRGpmZ3pFfXt3bFd4Wi00YU4qeDZ7Y25RKW8x bE5iCnpqc0dtQHpmYkpuJkV2bTQ9KVg8K0A0NH5jRGZadG58Qm5tdHBDOXl9cXhoZEVQMnZCYUM7 ZVpqQG95MEl8SWIpVgp6I1AtJEsqeXZ+czd+VTgkX1hpdko4JSE9U3ohJDN5bnl2RG53QWUzQk91 WFY9X082QT17Tj9vWkd2O0kmfDFTbmIKempafXF1KT9IcCt7YFMpcD9SNkpeSXxjMDBJQSg8SEp7 MFJWO1BIITk5YCNrY3pmRUcpY1kzamZedDJAcW1lO1I7CnpzfkMjcEwtNzAmNipwI1J6MiRIcnpi dStsUT17eU1xTjEjJCEkNFkkRnxJYWd1cjJoQG5QY0NOJFFVPEFKTmo7fAp6JX1IQlRfQjdHUUdM d3gkaWU9JHhORXhaNXYqXn5tPHRLOTlaI09PSz5ncUZfJWhPSjJzVVZrenEzI0sxUkpwZzsKek9W PTszS1hiZU0qfGEpQ3tFXmxkKD9+MjJyRFk7fiFCRl9mbX5mSzh4MTJ7Pyt4WEphT012PFlIPkEx PmRkPCs8CnokYnczajlhY0B4bT07ckg3b2Q+LVluUTdwSkJQYDJfMilNTXhlUW4hbWMwOHA8THRS VUxydWV4RTRzZE5rRTYkRwp6SzJDMSNtZytHRlgjaWlaaXtLUyE3VUpLfmlZRXp2ZD1eQUVGZUU8 K2FKdntwUDs3cj9ydnt4QUZ1ciEqPW85NikKemcqQF9tSXlSTkBjdlpZNykxV04zQS0mT141Pkhl MXxCfkArcnA2eyFScm81KXhsSEdCPjhqSi0tZiNYanVOTlMpCnpgQUJSYVEkUn5PI1NLVDAmIXtD Pmplfj11KExtJWBBTXxGfGJuclhmVGkxT304O1h1TGZPO21sI2NoYnx6UEVxOwp6YHtBQzZLP0Nk RXk1WWxLbUVFN1FWST16X3QpISpwP2EjRi1SPHp1K1M8PEd5dUhfOGJfezImd3U5dSU7elFCPUkK ejRzTXAwe25SaXRvVCpRYjE1QntPaC1oejh2XmNQd1omR3BmeHJlK2hYO2QwQ0FOZndnWmJWb28o JkJsaikxaEJOCnpvTU83QCoxX09gXkZ+X0MkPDlHV01rQjt0VzMpUW54RmM9R0w7ek81SGAmQCFu O2FCVnh3TzZgRUVpb0dGPlFDNgp6RnN6KHFBbFBVfjsheypwc1AjN3pGLSY/XipIRXwtSyUqfF9H dz9jRCpkJEBVIXNhYG00LWJNKW9EQTE9K1VSJkwKenstWlRuWUgta24mZntueGFXZj9YLT51JE1S JFMtWSZXfERZPWArKkNHflM4azJKSHBOLWtGUC02OD9uJGZrbmFhCnpmSj8mM0FWVVNXQDc9VjxB JE1KbDRpNytJODxJezYhXmswbTBER2I/PEpIQUlTa2RteVV+ZiYqZjUmcTV0UzgtRwp6ZXdnVipR bXk8d2lKJTtwKXIlVHA8dClFUHNoZiQjbHlBV2E+ZDczUVduX04mN31QZGp5V3JFK0g0eUF8Uk58 Yj0Kel5jYmt1ZnBUI2xEV0tKaEVkNWM9bkZ6ayNlNn1zUSNVSHxmaW1eVT9AQUhSKTVBYV5QRmNp UUJWeFU5fUZmXkp2CnoyKkhqbj87Q0dTJVg8YXtOQmc3dntxOSl6a3I8eWhLLUB1bmZiWH4pSjcr Yl9fP0hjRjYmO1d1ZDtyczxSckEqWgp6KlJOfGN1OXcqcXcoaz9XPm4/ZXdDbTdOQT18PElFTmZU RXxyRjZIZT5+ZGU9QTJqNXZiO1BzVVpPXnlPK3k8QGwKei1+dD1LOHN1fWlYWWU2PjlQMSllPTcj bT1IdmRAZmNYKDFGKWRncG1OWThhRC0/PWFSZnc5K3ZfZ21iUS1TPUI8Cnp5O0laRGdPPlRPZl53 X3RubzY0K2w+bWUpMXpFKzsrR1A2dXN9YG80SVUkYWBHWCF6ajVRTHE7a3dtWXVTc04tYwp6KTBl QyE+Q0hefT59cms2KWZycE80aHtBc2htMDZHeVFeSGo8LSFlc15rSFlDWmdOSWtWNkRPMlgoME1R VjdaKiUKei1Wb3A0M0JkSUNIeHFqMVBsVEZfbkEpWndHZmJkcEdmJUNvUn5jM1NNMTxlSDl7KmV3 WkpBSj0/fDk+JGp3Tjt+Cno5VEkkS2N3PG5XeCl7eWhIc1pRN3FmIT5KJCg8T3VrMSsmPyopUE5n VGxye258MD84QUtWKVNEUCt6ZHc5Q2d2PAp6e3lkY3F6fWpLNU48TktlSllDZyU2cUh8cmYpZmo3 PUBwXnh7KTNGZFEweyVpd1kjcy0hKigtQ1FiYyskb3JSNXkKemkwSlFCWnhaQXBGYjFTd3dCUytj MHFQOGtGUC1ZI0VAMW8wcGEkNzg8MT03UHlzbG5USVhsSHxiZWcqRjwkNj8xCnpVaFBMXzkrKH1T N1hWcSNyKXZOdUBAUiNxR3E/TWdZY0A2d0g/M3hYWGJqVFBSa0YrYVpociVFPkhCb0t5SHk2ewp6 VTAtVyhTR0EtdVhHfFpsakBfWE1vKXhVcDgoXk9LcHlTY0U+MiFwRDZQOHU5ckBVQGxrQik7P1Z0 UUI2ZExqJE0KenRiPXZURGQyYj9WJjJCeVI1QWJFVTd3MndqOE48fSVkeDkyR2JiR0BJSGZYWHM4 ZVAobmh5QTtfWXJjJVU4WW1OCnp3WXktYiotdDNrbjQtaHNwbngjeWlTTFU3MVdkNTNJdy1Nez5C a3xiJV8jZl9fWClKRXl9YlFNN1NCSFdGZlY4Jgp6cnh4TylUZXtNbVopIXctaXtAJTgzVEZfaiY1 KmF3eTB1KHJrJE5mXzx2N257TW1iTF5sZ2E8VzNoOHV+eWsjKHAKektsV2l0QXg3e2ZZdXQ8SDtE WW9XaVJMNzZ3KHVwaVcpaCZ1K0oxaWwrQl9Mek5yYVZ+Q2FnNXFQezxWMDNxTkQqCnpPdG8jNlZR Iy1OcDA2P3JCejgxZlo0dGd6RmVuclR7JWI5KS1iZlJWMmo8T29LYnFSaF59PGhfXmpMazVocyNn Owp6UGR4Kms+bilzbD1sfjhEWGJmKFQqSDhRb3lwfWZpVTM2VUtyWmYwPi1OdG8yJllxYk03JklL JVlwbTU/U0g2dW0KekErNzlmOyNEciNvUW5aQnRsKERLUyhlRVJtMEM/Umw7YF9FJFUyMF5iVn1W V3NiI3pISG1uV1FCQEtrfXV5S2VZCnpRe0NGQWJVNjJJZ15kZ0wlWExkaGxiWGhiN3p3eUpoeG9s Kmh4bWJgQCMqfW9wfXlzbmRkSHJvU3tIfFdOLW0oWgp6RjBsYjdkZ3ExI19tTkZUa1FyekApPERJ Tm4xNjllaUdffXYraiZfP3tvXjd0eE9+fVhpaXJkbSM9bGg1KExsPU8KenVGdWtZKiVpVWtwVilD e3JVZmhle19DRFckRXtAWiFUZCExeUBIX0hUZjZxX2Y8O2VBeG9yd3w+RjEhbWhYZi0/CnpePE4q UjZCWFpIKDB9R3gobHJvMUQ/PlM3QldfWnVMezNqVVYhcyUwP1BwVWJHRFNSPkNwZmhISTRPQXpT cz47NQp6RVY0QjJGcCR7fVdoPF8qM1dxO2cmWSkpNUZQXiF3ZlplM1JHSVV7KDZsYnFlQ2E5LUh0 eXJkZT0kby1ycktoLUsKekg5NjBibE9hcG9DIWojSWRHeE5seDMwYCgjOHUhVDEjO355NzVrdiol eV4tVjgrJHRfUFpZX0MkWmhBWHYkcip6CnoqejJ9TGVifSolUVFZe1RRKi0pYlM7cDMoKzUkQldz PjN6KHEyV1A8eGU8IXV4V1V2ZzVaeTI8Q3lVQEQ4e3VTQAp6azBrOVRtTC0lcWI8ZEA0Nkd3VXBY M19DPT5RTFE8d3JpLSVjeyE8PUNxUFBWNH0mTX0yYz1tPyFKfkRSMmN3V2UKelYjeyVWZU5OWjNJ dFVIbnZ3b2ojU3Z7YzdUcXZMR1djflVySTlSUXhaVEMyT0pec2VZRCR6Wm82NVJuLStHdjFBCnpf KiYrPW0mS1Fve0FNZzlGRHB3ViF9ckZMN2dBUGhkYzQrSzFGTVFoYGwodnkmQ1d9aWcrPFF0K2dk aigjeDk0KQp6Sms0am5KKShlQjIyQXRWR1FVZnZrV1lxRmUmQiR1UHBtWiZtVSUzO2pPRl5fbyg0 WUlVZEBkWjhmNG05KVhQQGAKekNNVG5fOE0keUM4SD1AKllSbnp4Xl45YTFJfFo/fEZGRTtTekZ1 R294NzJEVXNNWmEhUkhWP1RedT0zeHl3WSk8Cno+Rjs8clI9YWt4YE59dlJjYmhSY1BvWmVnQEdk JDxOVDIhWTs/T3glRzZZdnNkaCkpSnsyc1ZnNGp1KEcmYSFXJQp6eHJ5aE96NX0lRm1YUWBXWVkq dFRtIXheR009NiYkVGAjPFMlcTVSY0pqZHo2WG9EdkN3Zj8tYHRUZiRnXipFQGYKelFzOSsxQCU0 PlNefF9Zd2w7e2UjSTJAVTJ2bzY7M08zKk9fbTUkMENzTGw1MCo/fW98aUUzYmNseGUkRz0zenhh CnpZNih4SFp5MThNXz91d2k9NXBrKjNhWjFxJk5iSHgyPUJ7RiQ1SD4xTipBdi1wd1FhPVR6a0M9 MEdodlQrVnl5cQp6PjlgaWM1PGg2U09uVis5XmgkPlI8TmNGM3BSbzdyPCYlT1daV1lzJjIwIVpy N1lhRkFIa2A5dj5rUy13VSlJM3gKemJsYD5FbygzazBpaSRkejdgXkRjdSVnLUErPWxRWilmdjZD WX1xQHY8dylyOSpaanhQKm0kYUdHMlhmMWB9UHM2CnpYbyt2YHs3dEphSV9mZ1lOcmp8ZUc5SXIj TSViZUB2Vnp0e20kQHtHPHZWJTFFO1cqe20tNTVxR0lMXihsZXpRPQp6TFM9S0B3S1grSkAjfjFe QHdUNEoyfit9U0JTSXNDV3N8eT5pP282eyNpJE49ZyY/UHhhSlkxaCh6SmM5dCljcUMKenNRdnFI ZW1XRGpQV3AqNnB1IVd9Y0BhTkxffXZEd0E3UHUwY2hPUkE2PUQlVGRvUXRXK1MwWkY0VHokKV4q UFl1CnotRk0xI2BfVSp+dDBmajlyeH40Y2A4QjVoUX43ZXplNjFkPHQ4YTZDbzl+PHFqbSZ4NGRZ PEpsa3hhcm9PMkVpaQp6aUFufndiSDdCcnQzVFE4aWVKQW9gaEBOSHtUPmhjKlZFQk44PnllTTxy PzBhUG5rNi1wfF92JSNBb2FLYGs5enMKekdBdmh8bUBCRD08UkxGeSs8NU1lOFFRPnNnM2FuK3hv Zj5MdldySWZLIUEtMldXal91ZUk/az0wdH5KSDY2XndVCnpsYnQ9QllnUCR5ISk9T2lwSHVwI3he UlRvRnVDO2JWZXA7dXFlQk5+VFhffnY9R24hV05WbWg/P3VjaU00T2NqPAp6VXw3Pko1SnRwe2dS IVZ8K1J3fUYyNEh0YlkqcXV3b1Z3YDtoWnU3NypPIzctOV9pe3oxfUEjX2xrSmxIRU1rc1gKeiRD fjYmb3ckRUs7ITsqeW9sVXBMNmpfPFdAOVcmO2VNN2JGMD9xbHNFSyVPZ2YpXzs+aV9kajFXN0pU LUFkPyk2CnopQCZueUNmYV5yQSs4c3BFNyY2VGFJbytVJSZSUXl2QktoYjgpcFVmNntfOCFaRjIx YEp7Y2E+cnpQJWk+Ujd4QAp6Ml5LQjRZZTg9S2ZAQV8tJlVBeCo8PmY3WjNveCNtMClXenA/c2FS dilZfj5PNT1WVGpOPmRxKSlxQXxLZCVJVVIKem5QKy1+I2Fzbj9nUXVgPDtGPz8tMl8xRDJhODxZ MiMhLX1CRk55eX5WNSNaO3tLKnFNQURNVGVzX1pqSitTe0x1CnopVjs9MSkhU2FQYH10JSg+dlFw eFhvP2JVbHV5ejNsN0dxcGk0dDs0LW9HRH1xSU90QnQ2QXNuXyojSVk3KDRaeQp6akBmPGRhWn5a X01iaTR+aFAtI2NrT3JCK3BzZih7dUxiJHJKS3NHYHNIPEh7Qk55N19XTWhRaD82RlNBcCk3bXMK ejNGcShyJSYqWVV5Zn15LVoqaH5HSHd1dm4jSzQpKXoxYHYydio3PEJ8SX5TVFR8dHt4YDIoKHhe dSlTLXhBMGtHCnpuaX00YSFqbEk1P2JTbSFDeV8zUDh+dCtTXlBBJFZfNm1MNURkemhZPWNGTD87 P1RmanB3TENOczl3cWZqTmJNKQp6YnhFYnU4QUo/aWBnITVEPj4wZyZuKCk0eHgjMkZ6JiMlfFZE emg/UjFsc05DJGpSNGVVbXwrQW4jZVdTI1RKd14Kekl+aU47TDhKfHl6MnIwUWpMKX4pPEA0flla N2F8Y2EkVlp9bVlLKlAtMjZDdChuS3ltXkRMU3lLUjw2bnJReG51CnotcH08c3NJWkBBQiRlVEVW Zk58KzlHQGdGLUR1ZXxiSF92SzxtTWVhZW1ASmo3SW8oSklsVUd+Zyl+dzlCfEZHQwp6SD1+eGtr fkhHSD08O2gmUykjZ151RmxkRGdgTG1Dc3BIdVR6dF9EdF42ajdvVFZneFgpSCZ6fmtVWHd8ckFn I2wKelZPbjshZFA3V0xLQTlwWThtakMpfE1JUWdENiFROSN3ZlM/OVhAX1dvQy0hPFUmbipRb142 fGFfbSRXe0dPSz5ICnpfWFpaQi0tKFF9WUVFMFRfRHE2V3NwOytHNFphTmNtTGEqb3NMbEVae0N1 cnQ5N3pSYWRrYkdXOWVKN0MqU0RlVwp6PyN5KXtsfCRtOVhkSjc8UHhUfENjMyFyQyNzVVlUaE07 fGliPDVwVCVpQ01LeyNRX1JAXmFDNiZzXkBkc35xZFEKej9iTikrZzdKRENRIUJ9SWphRXFhMEFz Qk8qJTZIVCY+bWkyZGlSVGJgTktXSFNSakE+MUs5QC1oK3hHZXZqZWV9CnpiKjNoQWpwPVBaVlpX fj97QCtMKTk/emFxaUNxbGZ6ZGt9elRTWEEwMEQtRzBVWkJ6TklUcmRWell1NjBIbXg1WAp6bjFM PU9xQF5neUZ2SVVASm53TkBzNjhfK0B3bSU0RCoxRGQqWlktT2xWZ3ZPWEc7MTc8S3h9REVibnBB K1gweigKem4/S1hfPXIwOVkpR05GblchfDNKbFkrRGgzWHdodSMlVjlINlQxejlHeEBaSHlkUGU5 Km5xajNweVFseEpIKlZSCnpzeWI3a25xQD9JdE5ieSZnOFNEb3V3el5HdGNlX348UGAlVzNkLW9u TjN8WG9UYlR1Q0lDRT16ZDZaYGUqM05EVAp6LS1URXxQSH16e2ZMaG0yYlNCfWc7U0FfbmBaP3NR ZFlAWldhUGdEKj1gUEgpKHN8KFB5KU8xN1UxSWYmLTApZXMKel9rM2ojPVJDI1RLYjBIKDRJdD1j KSlJfFBKND8xaSRrKVU1eE15WUI3UUZzPkpsRWBKQjtuaFNkI2R4cipIIVclCnppd1lqZ3c7T3Fu SHsyKENySW9UXiNsIUVzZUR7YUFxKVhMQD1kPH5NOGZENFJXR1hiTU1mfGdiQTxKMW1sQG1AQAp6 eVc0d2xXZSQoPHBIdXFCRndXTlpgb3s7UT9aVjdab191clo9R003SG03N0NKTUpwZmcmaEZ9WEJl PHFfRSNzQlYKemQtUWE0JXdKMEArWldPIUhGRDktRChDWWk1enQhQF5nMHF2SHRHSWBYc0VpSzRA KkV7IXFTcHR0YHY8cVlUZTdJCnpHdjM8NDRUeW9qRzx2KiFhPCZ3QytHZE97RFVEOGppfjdPTTxX X3xxJGFqcz0lIXpEdHN4JVBTTzBoMTs8a3IkNQp6ZlFAZ3lRY3EqQ1JHZld9Qz8hdk5ie3dNSCht N3dtRV9rO3goUjZZZ0ZfT1J1RGMhZ3RDaV9rKCFUWXVWMkV1UykKekJTOStReV8hczx6QXxtVUd4 MnZSWl9IYGkmeE8kRzBmWElOKlhLSGRzQTJ9Ky1FO1hsJnFqYWBfa0dQMV9yY0EyCnplVk9qeD5V S1FeQGs+NFF3VkokfDxyVUI1PE8hKGdRcSNNbFcmRXMoSTNXKClkKjtyMk9LcU4zQVlBIW0rSEgr Pwp6Q2JQK2NyckN2aHtKOH01MShudiM2ZjV3KEVBKFhzVjlqYDdsRVQwbiVFP1NIeU9YcmQ+MXAj RTFXY0hobEQlRCEKek9AMDZoJWVFX14tNmF3fiRaJFBPcUJBI1VUbntxNXdTNGZOdWlIXmdBTDNu VFNmaDxPTjRATUc1UTtFYE1kdWAtCnohQ20xNFJPRzllVks/aGpWald0NVBaVGs/MF8tLWRNVzVS IzxCbHVAeSlgfmBYYTFTckpUbi1mI09VP2RkfFlXWgp6ckFmWTVNKHBnPTs7VCRTeU50OUJRXygo fjM0QH1OUyQoRFMlKD9TQz9Lam1LN0V1bHxPdG11UCtOYzFXZWRgKnkKeilWQ3coKysmPUt1Unko VF9sRkxQUkdQY3hYfUZ0UC13OW9nbjw9K2Q+TCktbkglITckXkteazA5Sj8yUT9SST1RCnp0S3sw Uj1SYFcmXj04Pis1JClEQW49VSZJWE5NTXQ1VlRUX0F0T0c5QVJCV2FrPUB+NVVYMD5jTH5aJHUz XnVeUAp6d0pBfiR6fVQhNWBxR0hPSXBKbHhrfnhtWlBRd0ZDTEBKLUBjSXlDMSkoVjswVSFhIVlR IypWYE5+eDRSK287NGQKekZleVcxVH5ANiN0Z3RraFoqKUdTVHhBO09ZK1c+a2I0cy02MVdrRG5A c1Z1eksqTmZxcnJoQUBoYUFWMzIzVnhNCnpFKFVjMFlgUjB1R0ghY1dudjdtYmMmPWplUSZ3M2xw JmVBVzloNnVfVmI2fGN7SCVJPzxfTkJxdXEpbGlrRzlHRwp6QG56UDE4JkVGNDQzR3Q7JSZGUH1H KyYldHdxTGVZTUVJVFUmJWB0Z0o2b1ohZSZfcWNLPkt+SHpfOWxaaFgmLSEKenRYOWFmPFdBTkJe eCswTUNPIXQ9d3dMREt5ekojOzd5RTdxPUNJP3g8UXowSkFOfFUla2UxSmBnbG9ZUS1lcjtjCnpZ QFAya3B6a2VkSTNzOXBxMFlRZj5yRTdNeW98JnYkYzBPUFBtVnckS0V0X2JUUDwpP1BRdFI8eH52 NFIqd1RTPQp6MnB1d1o5VmNaZS1NKU04dzFNTCQkUCFUKUdycWcoRUZEQz5EfS0wLXI8PUs/OXRC QEtRKzRYQHNSSTw7UmB6UCkKenUleXwlNkJaJkZtZHlzNWA/UlBfcmdofWw2Qy1WMWxlZkwhLXps a2xeY3FPX2VLJHBIJjJkQjczOXlgdVhse31LCnotZzRQM1E8QGRObHAtZntvKFZNLVpSZGNAdHRT Z05pR1MyfSYjcl47dGJyRnd0emZTTHNZMnMtMSU8R1dkQyVxMAp6dG1IM2Y9bGlVR3c1Y2xNKjNX Z1ZeU2hyLXBSPj95WmowaU5lKFFQV2RCMEc5Jj5hUlh7Y3Qld3pWSz1vIWpQe0QKejZiRyRFbVd8 Kj0tI1dePVVhKzw+VHxPNGgrTExnMHdad3p7WUpaTk5FbmR1LSNKRWcwWGZAVylUOEcpT0FEVFVD CnpBbEQ4KmMmIXJ0dileY1UpX2lfZXJzV3QpPnx8WGoxdmV7fXhoYlpAV3dYcXt7a1YjciUrfmJJ b0ZgTzJHY0EkSQp6dUJgbSlDSm84S2o2LXNsamlIJUtMZzl5PlRYRzNFWj94fEYtdGQwQkwyUjxe aDFjPjBTREohPElAdDJoU0xxMHkKej9oYitQNlpNeWlHe2BOLWkkUlhnYVVZdkRnMXQ1fj83V3BL biUlPSUmJGpUY1hBQGxxaXIzfXhlc350O21lPH51CnpTfi04cnYhTGImKVJtdWNZSFd7KVdMaXB2 ZUhPREUmJkhqNlNST1VxTHQ3ezxuSUhQeHZPMmU5dHNlZjBeaXQ9ZQp6Tmk0cnB2VjZBZEs4aTNj MyluNVE/byo3ZG18fklCNTZ1dlUqTlJDcikxRkk3QmE7bDEyXmtDIW1mTkRLJE4kJlUKem1IMCFV d2MjKE5nLWMyYERNT29PdkxySFkhPVM3YVFNJDVrUyZ9aTxGfmJiejdMdWhJTW47eWdPSmM/e1Z9 P1lECnp2YiorbUI+T3I+VmtVJWQ/KE10WmAyKWBSbyF8UkFAQjkzb19qJTV7PF9KPDhUd3J0NnBM T2ItY1NTYWQmdmhueQp6dXFvayZNbmN6WVdgdz5eS1k+N1AlbUE4MURsWHtSdCZGKzEwd3R0ek17 JldgezcmUkl5dzlEUz97YjVzYzJfblQKej9zRXo4PlMmZzdLTGxLQHBHRGh1NClXVDd6R3BxMTI0 OGxYMTR0KXJANUUlWEheJT9DNiVuR3JTdCRtLUBiaUF8CnprYG5Lanw0PyM3Q0xodTF5OFFgd2l7 bCRWVClVPDlqfFAmVGg3dkQqI28pJlZ6b1pnYzEoaWkme1hjak9fP0xsMAp6ZHIyUDk4PlYxUnFL Rl93M1k/YTA/UykofUVuIWpnSylLaDA7UDQ9MmhtT21QcChzczdNVm41fnpRV28wS1lZaGAKeiMl fGVeSy08QWZqbCReVTxefipRbXtSa3pKI007ajNRdUgkUn13aGRiWCZKSzQkaDRqPWNLaENCKEZe X0BNeFFvCnooe3txb3NrIV5qM2dob2Fad3FUJjl7JnQ5SUBabjNQcj5EdWx5MXlwbCQxYH05Yndl JnhFKDw8aWFOZmhYOVNrPwp6UVM0PDlEV05LOU4zRkEld2Rea09uSipCWUo7KXdLWkxpKURDQz8l LURmUWFxVCM2LWJKK2dkMFVyVjlzPkR+RkAKenVXdlAxNSloRSUmYUh4Zz0zJCshQCk4XldtfWBo cVZyLTBmMGRtY2FUdDBhVSRRISsyME85JHk1Vz9rU2ZTVEBeCnpffHdMVldycU93REd3SDFRd2tZ Vkd9clJjRHU4QkAlZXlWakBrQiRRcygpbXMmOzg9X1ZmO15USEV6b3hKJHNZWgp6LS1MJHs7c0Bp Sm1BMms5bzcpfntmSTNEcnBfQE9aM2hjMllqVnlFfjgtYG1wIzE8KXFAezVQISlIdkM1WUd2PGwK eiV5a0czKmUhR1pgOXF2Z3tBNj57PmNtI2UxTm5WdWBCOVhQbzdETVY7eX5TSjAoWkgrVSFCbnZm O1U4SDljUjRRCnp4c25YWVM1ez5UUzdJLThFSG5YU2IrJE5oS15TSWVod2ZXeGhYQUAhNzBNdX5V Q1gtIThAa3E9dnwpIWhgeiRkKgp6YnUzRF9ITyt+aXJYOWMtRUZ2Iy1ZeGAqUD9YMkpKJStqIVEj ViU+UDY4YnxjTzQ2MEYtSXBpa3QkdUshSUdVTSUKemNWRkx5aHgwRUdPbF5qbDhEIUM+OHVNdmtq YktHcUZzYjhWdU54RStYIzBlUTFMR3woeWVVP1lrMG8/Rj59Wj9gCno9I0d3fFExbkVJTndUbnc0 dm5fNlhZTGRESDxNdyR2dUVnUnkpTmxKbXh9KFBgZ2NkYnYxVGh0YnE9MyhZYXcydQp6ZjxzfWxO PX17WGFCeE8yTDdMdihZZT04VDQ3RjJqcWZUe1oqalFmNkhGREE5QntwPjZpeH5pZ198ZFM0VH1n Y1kKemV6I0lgSkdyI15RUHlWM1hhI0llI2ZNY2wyMjI3Yk42bUB1YlVtMCNROTRzSU4yaHxxelRv WC0rfVpDI29qbXJLCnpyTDhPejx6dzllLWxwR1ZwfENRRygmWH57PH5gfH4teFM8KUdUU18rUXJW VFomPUI5ZWVoVnlWajQ7WSVRPkQkMAp6enpPcFdpTiReZCs7UlIwYG5PcHh3ajE1JGRXS2JERXtE fGVedGI4fCp6Tkw5bkUyPSh4RmlxYXRLc1BvZlJLI2MKekp4PT9WR0Z2QFdfU15CRzY3YG54b21I MSU7XmshaUN9IXN5PmIoeWRxKWBoN0klWl9CVkt9Iz10dzhfJVhYKjl8CnpqfFNCQjY9X2JnQWNQ aiNmJTZWM1p+aH5EJF8wSW0oSzt9NHpqYGVhNmZreylUeVZuKTN0eTZ8SFl6UkNmZDVoVgp6MCM1 TFlASWhMYD5Qez47Jm9KUj50ZHJsc1V9anM5WXV0TFp5JCFSbFVKei1ibWBYNkRXcVBEUmZaPG93 QDUrc0QKenYkb2VxKExpeV4tRktGblhWSDVOST5zJHVwdXwzZmRWfStJZ3AyQ3RLKiNQXmZMOGdQ QUM/eGM4fDFrXmY2ZnVSCnplQW4yRTBUNUNCNSVoOUdYanBpa0FTVlMxZmshPytYfEA9M29oOX5r Sit2VTF2NiszM1RSKU1pMU4qWXduWTdreAp6al4ySld4V0hQeFB3aCtFVFB6NmNEN0ZhaHY7YVo8 QUpeUDs/Q3xCRkA3Mm18PFgrJVlidX1pQyhQWjk4NVktTCsKeitab2ZPMChZWE1uanMmXis0Pmhh PjxfWlFRcm1QXl9wIWV6Q21EYFd6aWszOC1NeFBxVlhnJVZGKERhTz8renRACnpLTGhxb2NtOzZr KHRSbns1KnErcHF6QUFlYXhgKXktLUNubnhQJiVeZTZ+antSc0ptMzdgd0QtPnI7Km9lbnhYSQp6 b2UwaUZCX0NDbnc0KkVvVDFadFlKWkdgSkE/XyhFK1M3STk9ST5HbUV+TmhvcSooVGNAUUpFQ3th ZT4wbmAtTSkKei0rMW99c1hhS2ZibX1pc1VMaz4jNXEzZDRAeWZqdSZwKnJCckpgaE48KmVRLUBo QzthTTxZdWErVXhaVU0pOGJ8CnpnenRSU3E7MVZzclkhNUtWMEQwN2speGE1ZGxHWUYheVMtZGhz MiU0M19yNEtxN3IlZGdLcGBDRSpWU1lQVUhjTwp6dyhyeXZCfXNGVzBTKjk8dyl1VHZITFl1UDdV TWxXUj5IJDckSnBzQUN5MF5fYWBrQlVSPDFTfj1KYTdnbH43Q1cKenNyTjx7U1h8YjNCNmhLOyta QjQoWWArfWA8ZHxpQ1ZzWTF0M3AxTHIxJFk9bD5zXnZGMzswV0pKeSF9aUxSKXQxCno3MFV7b1I8 eUVPa30jV3A1aXFjeStAdFZTPTJ8ND1sN2RraT9LKTgkR0UtVkR2JGkoWUArYlQzS3dSSFNRZSVE Iwp6UUw8M1kyfXZTWGh9Q2cjY2wlJnFya2JwJTVNV0lyTHQzY2A7O3lEMV9MZH5fdDs+JjxFcXhk eCsrLTdOKipGMFgKeiEkbmwlJlQjfEphaig5N09aISp5RUQ3MWkzdTIwWFdHYHsqTUMzQj56UHpa UiYzKmU2MWwpdGVgYmwqazZEYn1gCnpwNHE/eEoqaWhxYlUxfTs4OC01dW1fQzF4MF54Mk52bkBN OEZfWGxPYTJLXlopPz9ubEYhQGlBLX0zYU9EQE87ewp6eDJofX5TVk4pM3hWZ1liK1p+fStKa2t0 Mnljai1jSzE8ZHc5ViVaU185UHQ7Jm9lWl5iTVloQVpwXlRDO3ozSzEKemtDPn0zdzE4NyprRDVG S0ZTNG92WXBHfElibyNzSTE8LWkydGJ0MFpoKkl8bCNFc0ZMZXd7fWskKGpCQVBkKDxOCnpqe0Bk OT9pYT88JTJ1QjBwQyhmQlg1X3BALUFBTEw/c3wlSmt3QXxRKVo/S3J1YCZjQCokYCslZU95PVVF eGdIMQp6OCsqbFJJK0wjeG0rWSR9TEREO3BTOTx9P0Y1S1FTU0lzN3V0TnlSYGFzY0Z2PEJXfn1S R2c1WjF7WFVYTCk8V1UKekpwRWk1OEtNemhyXjd0dWxmSDM0eHUhWEslLW1ebSRaZXgrVW08eUpx b0IwTSgoeH1UcEhXJDwlMjdtdzs/V1c8CnpiaTJlcmpKQXNQND9MWFlAK3MzQ0V0PG1LcSs/NGFS NUtmQDFfIWEmOSlZNXJiO2tVckpMPFNvWCZmVS1jNmpCPQp6YUpoQldaNzEocT90RmdCZGcwaVBz WExGNndGNiVINzh4JEswSV5ZRiVmUj1hckliMVMmSCM4SGo7TVZ9JD80JCsKejhMIXhxQ3ZRbTsx d2FTPlpSOzJQRE9eTjcjTXFPX2haVnZEZCF0MmlVaFIrMSgzMSFDekN5aipqJFJLJnElPGlXCnpA S3whZFRrKU9jazJ7Qjl0WE9oWnlkclBwJmVAdlB3KHlDZU8hfjB3dHNxNjF7S1N5UTkxVCh9dzRA dkdrNVBldAp6I09ZSzQ1O1FsbkNvdj9uN01Mdk1QakgtJjNMNkk3Pio4Kjx4WXEoM3s0bU5jbk92 NiFyUzN5bFl2e3A2bmIpaT4KekUmSEw4TypFNHNJLURfLXlyS3god3FGTTE8VyQkKzdKTjk0eUBh NEB7ZU4+Q2ZpI1Zeall5NDBlV2gkZkVRN2tMCnpTfExpfjwja1c+Y2YheT1tQy1oU2FtdVUtdnl4 dWx6dH13ayE/VXlPdT1pU3sja3YpTkZDc2Zia0t3K1NPPGIrNAp6dGdKd0R6TzMtQTlUdHBgN2BU XzBKdWwkISMxSk1QO1g7YWFPbilpJiVRMH04QXdXYDclJH1aYFlrayt5KVlfMkYKelhTLWwwRXlo UCZ3SEN7dUFMfHF4T1lTdyp6T2wtdkxHQnt3I0c9MU9LNHNkSXI8ZlojKGZNRUYpeiV+UWtwMHps Cnp5eWkxRGY8blJ0bVJENFclbSt+PzdES3poK35LRjNrdXNzMFU8YyteQSFXJj5icjhjXjdlNUU+ d0Vie0N4RW4qfgp6cXBrdTZZdTsjVCprU3ozMyV8KGpWQmY8LTI/RH1SKlM5KVdFMjN5SzFXNHNi cHIrVUtHWWU9LUMhYV9kND0zbzAKekxiWXE5cVRWclQleDNXfERlaV5zREE5cXFCNTg/Qkluezs2 ckN3SGZSIW4mS3RWOWN4SkgpZGxZfkFvZz94K2tmCnp5cHJqUW1mWCtFUFJkRV5tdk4oRFV6QXwt bEhrMz9wdz1wQzJwKFp0eClibnV0UEtTUktfV2tXXmsrcWtveH5maAp6O1llYSNNZi1vZmlzKEQl U3x2Zmw2fFJKenlUY21wMitRWkZvJn1Baml8WGdsUVlqOGFvWSRiZD1fZHc4RSVYPSYKeko1OTxA dEcoWkp4aEFrPyghTjFAX1okIXReQU1lYipCZXM0Xyhvb0J1eE9rfV5NSThmb0xaQW1UTmhBYHN4 U3pYCnpUVDw1K1RIayRqSjNXXz0pMTt5d0x9JUNjWVBVcXVzfWVPKGNtQ0Qzczd4TXMzejxoNktK XzR7Rm8mcnE0PkljRgp6aXQjd344fnskMnF2Pjc9YT55MUomOFBFTiU3PjRtNH1YP0xiPGNufEpl aEhpOHE8clBRO3AzN21KPTdpOzBpbTMKejxwYHQ0b2g9elhiflZsPmMpWTErazhzQGRmPnRafFJ5 YHordWkwbzZuUEJ2Pl5JWDJKOU5ZVzluJl48X2hYQ1VmCnoyaHxtNDtlVTF1OCNUaFoxYWJgMHNt e1Q3LX5vUFVEUVRrPHtnOSpXN0FhQ1ZqMChmSFFUQispJExrUS0lfnN8Nwp6Vl57ZGBrNFhJVXhP OHVRNjxkSDF7JDI8diRyUTxZLUQ2P3ttX05DRmA3JHlUOCY7YmhgQjl7fVlrTj1uSmh3OFIKVFZ4 dV9tQU8zPEZuQ1ZrKkl6UmFAMWRtO1IKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9zcWxlZGl0b3IvZGF0YV9zb3J0aW5nLmpzIGIvd2Vi L3BnYWRtaW4vc3RhdGljL2pzL3NxbGVkaXRvci9kYXRhX3NvcnRpbmcuanMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmMzODQ5YwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL3N0YXRpYy9qcy9zcWxlZGl0b3IvZGF0YV9zb3J0aW5nLmpzCkBAIC0wLDAgKzEsMzM5 IEBACitkZWZpbmUoWworICAnc291cmNlcy9nZXR0ZXh0JywgJ3NvdXJjZXMvdXJsX2ZvcicsICdq cXVlcnknLCAndW5kZXJzY29yZScsICd1bmRlcnNjb3JlLnN0cmluZycsCisgICdwZ2FkbWluLmFs ZXJ0aWZ5anMnLCAnc291cmNlcy9wZ2FkbWluJywgJ2JhY2tib25lJywKKyAgJ3BnYWRtaW4uYmFj a2dyaWQnLCAncGdhZG1pbi5iYWNrZm9ybScsICdheGlvcycsCisgICdzb3VyY2VzL3NxbGVkaXRv ci9xdWVyeV90b29sX2FjdGlvbnMnLAorICAvLydwZ2FkbWluLmJyb3dzZXIubm9kZS51aScsCitd LCBmdW5jdGlvbigKKyAgZ2V0dGV4dCwgdXJsX2ZvciwgJCwgXywgUywgQWxlcnRpZnksIHBnQWRt aW4sIEJhY2tib25lLAorICBCYWNrZ3JpZCwgQmFja2Zvcm0sIGF4aW9zLCBxdWVyeVRvb2xBY3Rp b25zCispIHsKKworICBsZXQgb3JkZXJfbWFwcGluZyA9IHsKKyAgICAnYXNjJzogZ2V0dGV4dCgn QVNDJyksCisgICAgJ2Rlc2MnOiBnZXR0ZXh0KCdERVNDJyksCisgIH07CisKKyAgbGV0IGRhdGFT b3J0aW5nID0geworICAgICdkaWFsb2cnOiBmdW5jdGlvbihoYW5kbGVyKSB7CisgICAgICBsZXQg dGl0bGUgPSBnZXR0ZXh0KCdEYXRhIFNvcnRpbmcnKTsKKyAgICAgIGF4aW9zLmdldCgKKyAgICAg ICAgdXJsX2Zvcignc3FsZWRpdG9yLmdldF9kYXRhX3NvcnRpbmcnLCB7CisgICAgICAgICAgJ3Ry YW5zX2lkJzogaGFuZGxlci50cmFuc0lkLAorICAgICAgICB9KSwKKyAgICAgICAgeyBoZWFkZXJz OiB7J0NhY2hlLUNvbnRyb2wnIDogJ25vLWNhY2hlJ30gfQorICAgICAgKS50aGVuKGZ1bmN0aW9u IChyZXMpIHsKKyAgICAgICAgbGV0IHJlc3BvbnNlID0gcmVzLmRhdGEuZGF0YS5yZXN1bHQ7Cisg ICAgICAgIGxldCBGaWx0ZXJNb2RlbCA9IHBnQWRtaW4uQnJvd3Nlci5EYXRhTW9kZWwuZXh0ZW5k KHsKKyAgICAgICAgICBpZEF0dHJpYnV0ZTogJ25hbWUnLAorICAgICAgICAgIGRlZmF1bHRzOiB7 CisgICAgICAgICAgICBuYW1lOiB1bmRlZmluZWQsCisgICAgICAgICAgICBvcmRlcjogJ2FzYycs CisgICAgICAgICAgfSwKKyAgICAgICAgICBzY2hlbWE6IFt7CisgICAgICAgICAgICBpZDogJ25h bWUnLAorICAgICAgICAgICAgbmFtZTogJ25hbWUnLAorICAgICAgICAgICAgbGFiZWw6IGdldHRl eHQoJ0NvbHVtbicpLAorICAgICAgICAgICAgY2VsbDogJ3NlbGVjdDInLAorICAgICAgICAgICAg ZWRpdGFibGU6IHRydWUsCisgICAgICAgICAgICBjZWxsSGVhZGVyQ2xhc3NlczogJ3dpZHRoX3Bl cmNlbnRfNjAnLAorICAgICAgICAgICAgaGVhZGVyQ2VsbDogQmFja2dyaWQuRXh0ZW5zaW9uLkN1 c3RvbUhlYWRlckNlbGwsCisgICAgICAgICAgICBkaXNhYmxlZDogZmFsc2UsCisgICAgICAgICAg ICBjb250cm9sOiAnc2VsZWN0MicsCisgICAgICAgICAgICBzZWxlY3QyOiB7CisgICAgICAgICAg ICAgIGFsbG93Q2xlYXI6IGZhbHNlLAorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIG9wdGlv bnM6IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1cm4gXy5tYXAocmVzcG9uc2UuY29s dW1uX2xpc3QsIChvYmopID0+IHsKKyAgICAgICAgICAgICAgICByZXR1cm4geworICAgICAgICAg ICAgICAgICAgdmFsdWU6IG9iaiwKKyAgICAgICAgICAgICAgICAgIGxhYmVsOiBvYmosCisgICAg ICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LAorICAgICAg ICAgIH0sCisgICAgICAgICAgeworICAgICAgICAgICAgaWQ6ICdvcmRlcicsCisgICAgICAgICAg ICBuYW1lOiAnb3JkZXInLAorICAgICAgICAgICAgbGFiZWw6IGdldHRleHQoJ09yZGVyJyksCisg ICAgICAgICAgICBjb250cm9sOiAnc2VsZWN0MicsCisgICAgICAgICAgICBjZWxsOiAnc2VsZWN0 MicsCisgICAgICAgICAgICBjZWxsSGVhZGVyQ2xhc3NlczogJ3dpZHRoX3BlcmNlbnRfNDAnLAor ICAgICAgICAgICAgaGVhZGVyQ2VsbDogQmFja2dyaWQuRXh0ZW5zaW9uLkN1c3RvbUhlYWRlckNl bGwsCisgICAgICAgICAgICBlZGl0YWJsZTogdHJ1ZSwKKyAgICAgICAgICAgIGRlcHM6IFsndHlw ZSddLAorICAgICAgICAgICAgc2VsZWN0MjogeworICAgICAgICAgICAgICBhbGxvd0NsZWFyOiBm YWxzZSwKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBvcHRpb25zOiBmdW5jdGlvbigpIHsK KyAgICAgICAgICAgICAgcmV0dXJuIF8ubWFwKG9yZGVyX21hcHBpbmcsICh2YWwsIGtleSkgPT4g eworICAgICAgICAgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICAgICAgICB2YWx1ZToga2V5 LAorICAgICAgICAgICAgICAgICAgbGFiZWw6IHZhbCwKKyAgICAgICAgICAgICAgICB9OworICAg ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgfSwKKyAgICAgICAgICBd LAorICAgICAgICAgIHZhbGlkYXRlOiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGxldCBtc2cg PSBudWxsOworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLmNsZWFyKCk7CisgICAgICAgICAg ICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnbmFtZScpKSB8fAorICAgICAgICAgICAgICBf LmlzTnVsbCh0aGlzLmdldCgnbmFtZScpKSB8fAorICAgICAgICAgICAgICBTdHJpbmcodGhpcy5n ZXQoJ25hbWUnKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgeworICAgICAgICAg ICAgICBtc2cgPSBnZXR0ZXh0KCdQbGVhc2Ugc2VsZWN0IGEgY29sdW1uLicpOworICAgICAgICAg ICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCduYW1lJywgbXNnKTsKKyAgICAgICAgICAgICAgcmV0 dXJuIG1zZzsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgn b3JkZXInKSkgfHwKKyAgICAgICAgICAgICAgXy5pc051bGwodGhpcy5nZXQoJ29yZGVyJykpIHx8 CisgICAgICAgICAgICAgIFN0cmluZyh0aGlzLmdldCgnb3JkZXInKSkucmVwbGFjZSgvXlxzK3xc cyskL2csICcnKSA9PSAnJykgeworICAgICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdQbGVhc2Ug c2VsZWN0IHRoZSBvcmRlci4nKTsKKyAgICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgn b3JkZXInLCBtc2cpOworICAgICAgICAgICAgICByZXR1cm4gbXNnOworICAgICAgICAgICAgfQor ICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgICAgfSwKKyAgICAgICAgfSk7CisKKyAg ICAgICAgbGV0IERhdGFTb3J0aW5nQ29sbGVjdGlvbk1vZGVsID0gcGdBZG1pbi5Ccm93c2VyLkRh dGFNb2RlbC5leHRlbmQoeworICAgICAgICAgIGlkQXR0cmlidXRlOiAnZGF0YV9zb3J0aW5nJywK KyAgICAgICAgICBzY2hlbWE6IFt7CisgICAgICAgICAgICBpZDogJ2RhdGFfc29ydGluZycsCisg ICAgICAgICAgICBuYW1lOiAnZGF0YV9zb3J0aW5nJywKKyAgICAgICAgICAgIGxhYmVsOiBnZXR0 ZXh0KCdQbGVhc2Ugc2VsZWN0IGNvbHVtbihzKScpLAorICAgICAgICAgICAgbW9kZWw6IEZpbHRl ck1vZGVsLAorICAgICAgICAgICAgZWRpdGFibGU6IHRydWUsCisgICAgICAgICAgICB0eXBlOiAn Y29sbGVjdGlvbicsCisgICAgICAgICAgICBtb2RlOiBbJ2NyZWF0ZSddLAorICAgICAgICAgICAg Y29udHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlvbicsCisgICAgICAgICAgICB1bmlxdWVDb2w6 IFsnbmFtZSddLAorICAgICAgICAgICAgY2FuQWRkOiB0cnVlLAorICAgICAgICAgICAgY2FuRWRp dDogZmFsc2UsCisgICAgICAgICAgICBjYW5EZWxldGU6IHRydWUsCisgICAgICAgICAgICB2aXNp YmxlOiB0cnVlLAorICAgICAgICAgICAgdmVyc2lvbl9jb21wYXRpYmxlOiB0cnVlLAorICAgICAg ICAgIH1dLAorICAgICAgICAgIHZhbGlkYXRlOiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHJl dHVybiBudWxsOworICAgICAgICAgIH0sCisgICAgICAgIH0pOworCisgICAgICAgIC8vIENoZWNr IHRoZSBhbGVydGlmeSBkaWFsb2cgYWxyZWFkeSBsb2FkZWQgdGhlbiBkZWxldGUgaXQgdG8gY2xl YXIKKyAgICAgICAgLy8gdGhlIGNhY2hlCisgICAgICAgIGlmIChBbGVydGlmeS5kYXRhU29ydGlu ZykgeworICAgICAgICAgIGRlbGV0ZSBBbGVydGlmeS5kYXRhU29ydGluZzsKKyAgICAgICAgfQor CisgICAgICAgIC8vIENyZWF0ZSBEaWFsb2cKKyAgICAgICAgQWxlcnRpZnkuZGlhbG9nKCdkYXRh U29ydGluZycsIGZ1bmN0aW9uIGZhY3RvcnkoKSB7CisgICAgICAgICAgbGV0ICRjb250YWluZXIg PSAkKCc8ZGl2IGNsYXNzPVwnZGF0YV9zb3J0aW5nX2RpYWxvZ1wnPjwvZGl2PicpOworICAgICAg ICAgIHJldHVybiB7CisgICAgICAgICAgICBtYWluOiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg ICAgdGhpcy5zZXQoJ3RpdGxlJywgZ2V0dGV4dCgnRGF0YSBTb3J0aW5nJykpOworICAgICAgICAg ICAgfSwKKyAgICAgICAgICAgIGJ1aWxkOiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgdGhp cy5lbGVtZW50cy5jb250ZW50LmFwcGVuZENoaWxkKCRjb250YWluZXIuZ2V0KDApKTsKKyAgICAg ICAgICAgICAgQWxlcnRpZnkucGdEaWFsb2dCdWlsZC5hcHBseSh0aGlzKTsKKyAgICAgICAgICAg IH0sCisgICAgICAgICAgICBzZXR1cDogZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJldHVy biB7CisgICAgICAgICAgICAgICAgYnV0dG9uczogW3sKKyAgICAgICAgICAgICAgICAgIHRleHQ6 ICcnLAorICAgICAgICAgICAgICAgICAga2V5OiAyNywKKyAgICAgICAgICAgICAgICAgIGNsYXNz TmFtZTogJ2J0biBidG4tZGVmYXVsdCBwdWxsLWxlZnQgZmEgZmEtbGcgZmEtcXVlc3Rpb24nLAor ICAgICAgICAgICAgICAgICAgYXR0cnM6IHsKKyAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2Rp YWxvZ19oZWxwJywKKyAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsCisgICAgICAg ICAgICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdIZWxwJyksCisgICAgICAgICAgICAgICAgICAg IHVybDogdXJsX2ZvcignaGVscC5zdGF0aWMnLCB7CisgICAgICAgICAgICAgICAgICAgICAgJ2Zp bGVuYW1lJzogJ2VkaXRncmlkLmh0bWwnLAorICAgICAgICAgICAgICAgICAgICB9KSwKKyAgICAg ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgfSwgeworICAgICAgICAgICAgICAgICAg dGV4dDogZ2V0dGV4dCgnT2snKSwKKyAgICAgICAgICAgICAgICAgIGtleTogMjcsCisgICAgICAg ICAgICAgICAgICBjbGFzc05hbWU6ICdidG4gYnRuLXByaW1hcnkgZmEgZmEtbGcgZmEtc2F2ZSBw Zy1hbGVydGlmeS1idXR0b24nLAorICAgICAgICAgICAgICAgICAgJ2RhdGEtYnRuLW5hbWUnOiAn b2snLAorICAgICAgICAgICAgICAgIH0sIHsKKyAgICAgICAgICAgICAgICAgIHRleHQ6IGdldHRl eHQoJ0NhbmNlbCcpLAorICAgICAgICAgICAgICAgICAga2V5OiAyNywKKyAgICAgICAgICAgICAg ICAgIGNsYXNzTmFtZTogJ2J0biBidG4tZGFuZ2VyIGZhIGZhLWxnIGZhLXRpbWVzIHBnLWFsZXJ0 aWZ5LWJ1dHRvbicsCisgICAgICAgICAgICAgICAgICAnZGF0YS1idG4tbmFtZSc6ICdjYW5jZWwn LAorICAgICAgICAgICAgICAgIH1dLAorICAgICAgICAgICAgICAgIC8vIFNldCBvcHRpb25zIGZv ciBkaWFsb2cKKyAgICAgICAgICAgICAgICBvcHRpb25zOiB7CisgICAgICAgICAgICAgICAgICB0 aXRsZTogdGl0bGUsCisgICAgICAgICAgICAgICAgICAvL2Rpc2FibGUgYm90aCBwYWRkaW5nIGFu ZCBvdmVyZmxvdyBjb250cm9sLgorICAgICAgICAgICAgICAgICAgcGFkZGluZzogITEsCisgICAg ICAgICAgICAgICAgICBvdmVyZmxvdzogITEsCisgICAgICAgICAgICAgICAgICBtb2RlbDogMCwK KyAgICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSwKKyAgICAgICAgICAgICAgICAgIG1h eGltaXphYmxlOiB0cnVlLAorICAgICAgICAgICAgICAgICAgcGlubmFibGU6IGZhbHNlLAorICAg ICAgICAgICAgICAgICAgY2xvc2FibGVCeURpbW1lcjogZmFsc2UsCisgICAgICAgICAgICAgICAg ICBtb2RhbDogZmFsc2UsCisgICAgICAgICAgICAgICAgICBhdXRvUmVzZXQ6IGZhbHNlLAorICAg ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgIH07CisgICAgICAgICAgICB9LAorICAgICAg ICAgICAgaG9va3M6IHsKKyAgICAgICAgICAgICAgLy8gdHJpZ2dlcmVkIHdoZW4gdGhlIGRpYWxv ZyBpcyBjbG9zZWQKKyAgICAgICAgICAgICAgb25jbG9zZTogZnVuY3Rpb24oKSB7CisgICAgICAg ICAgICAgICAgaWYgKHRoaXMudmlldykgeworICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhU29y dGluZ0NvbGxlY3Rpb25Nb2RlbC5zdG9wU2Vzc2lvbigpOworICAgICAgICAgICAgICAgICAgdGhp cy52aWV3Lm1vZGVsLnN0b3BTZXNzaW9uKCk7CisgICAgICAgICAgICAgICAgICB0aGlzLnZpZXcu cmVtb3ZlKHsKKyAgICAgICAgICAgICAgICAgICAgZGF0YTogdHJ1ZSwKKyAgICAgICAgICAgICAg ICAgICAgaW50ZXJuYWw6IHRydWUsCisgICAgICAgICAgICAgICAgICAgIHNpbGVudDogdHJ1ZSwK KyAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg fSwKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBwcmVwYXJlOiBmdW5jdGlvbigpIHsKKyAg ICAgICAgICAgICAgbGV0IHNlbGYgPSB0aGlzOworICAgICAgICAgICAgICAkY29udGFpbmVyLmh0 bWwoJycpOworICAgICAgICAgICAgICAvLyBEaXNhYmxlIE9rIGJ1dHRvbgorICAgICAgICAgICAg ICB0aGlzLl9faW50ZXJuYWwuYnV0dG9uc1sxXS5lbGVtZW50LmRpc2FibGVkID0gdHJ1ZTsKKwor ICAgICAgICAgICAgICAvLyBTdGF0dXMgYmFyCisgICAgICAgICAgICAgIHRoaXMuc3RhdHVzQmFy ID0gJCgnPGRpdiBjbGFzcz1cJ3BnLXByb3Atc3RhdHVzLWJhciBwZy1lbC14cy0xMiBoaWRlXCc+ JyArCisgICAgICAgICAgICAgICAgJyAgPGRpdiBjbGFzcz1cJ21lZGlhIGVycm9yLWluLWZvb3Rl ciBiZy1yZWQtMSBib3JkZXItcmVkLTIgZm9udC1yZWQtMyB0ZXh0LTE0XCc+JyArCisgICAgICAg ICAgICAgICAgJyAgICA8ZGl2IGNsYXNzPVwnbWVkaWEtYm9keSBtZWRpYS1taWRkbGVcJz4nICsK KyAgICAgICAgICAgICAgICAnICAgICAgPGRpdiBjbGFzcz1cJ2FsZXJ0LWljb24gZXJyb3ItaWNv blwnPicgKworICAgICAgICAgICAgICAgICcgICAgICAgIDxpIGNsYXNzPVwnZmEgZmEtZXhjbGFt YXRpb24tdHJpYW5nbGVcJyBhcmlhLWhpZGRlbj1cJ3RydWVcJz48L2k+JyArCisgICAgICAgICAg ICAgICAgJyAgICAgIDwvZGl2PicgKworICAgICAgICAgICAgICAgICcgICAgICA8ZGl2IGNsYXNz PVwnYWxlcnQtdGV4dFwnPicgKworICAgICAgICAgICAgICAgICcgICAgICA8L2Rpdj4nICsKKyAg ICAgICAgICAgICAgICAnICAgIDwvZGl2PicgKworICAgICAgICAgICAgICAgICcgIDwvZGl2Picg KworICAgICAgICAgICAgICAgICc8L2Rpdj4nLCB7CisgICAgICAgICAgICAgICAgICB0ZXh0OiAn JywKKyAgICAgICAgICAgICAgICB9KS5hcHBlbmRUbygkY29udGFpbmVyKTsKKworICAgICAgICAg ICAgICAvLyBUbyBzaG93IHByb2dyZXNzIG9uIGZpbHRlciBTYXZpbmcvVXBkYXRpbmcgb24gQUpB WAorICAgICAgICAgICAgICB0aGlzLnNob3dGaWx0ZXJQcm9ncmVzcyA9ICQoCisgICAgICAgICAg ICAgICAgJzxkaXYgaWQ9InNob3dfZmlsdGVyX3Byb2dyZXNzIiBjbGFzcz0id2NMb2FkaW5nSWNv bkNvbnRhaW5lciBidXN5LWZldGNoaW5nIGhpZGRlbiI+JyArCisgICAgICAgICAgICAgICAgJzxk aXYgY2xhc3M9IndjTG9hZGluZ0JhY2tncm91bmQiPjwvZGl2PicgKworICAgICAgICAgICAgICAg ICc8c3BhbiBjbGFzcz0id2NMb2FkaW5nSWNvbiBmYSBmYS1zcGlubmVyIGZhLXB1bHNlIj48L3Nw YW4+JyArCisgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJidXN5LXRleHQgd2NMb2FkaW5n TGFiZWwiPicgKyBnZXR0ZXh0KCdMb2FkaW5nIGRhdGEuLi4nKSArICc8L3NwYW4+JyArCisgICAg ICAgICAgICAgICAgJzwvZGl2PicpLmFwcGVuZFRvKCRjb250YWluZXIpOworCisgICAgICAgICAg ICAgICQoCisgICAgICAgICAgICAgICAgc2VsZi5zaG93RmlsdGVyUHJvZ3Jlc3NbMF0KKyAgICAg ICAgICAgICAgKS5yZW1vdmVDbGFzcygnaGlkZGVuJyk7CisKKyAgICAgICAgICAgICAgc2VsZi5k YXRhU29ydGluZ0NvbGxlY3Rpb25Nb2RlbCA9IG5ldyBEYXRhU29ydGluZ0NvbGxlY3Rpb25Nb2Rl bCgpOworCisgICAgICAgICAgICAgIGxldCBmaWVsZHMgPSBCYWNrZm9ybS5nZW5lcmF0ZVZpZXdT Y2hlbWEoCisgICAgICAgICAgICAgICAgICBudWxsLCBzZWxmLmRhdGFTb3J0aW5nQ29sbGVjdGlv bk1vZGVsLCAnY3JlYXRlJywgbnVsbCwgbnVsbCwgdHJ1ZQorICAgICAgICAgICAgICApOworCisg ICAgICAgICAgICAgIGxldCB2aWV3ID0gdGhpcy52aWV3ID0gbmV3IEJhY2tmb3JtLkRpYWxvZyh7 CisgICAgICAgICAgICAgICAgZWw6ICc8ZGl2PjwvZGl2PicsCisgICAgICAgICAgICAgICAgbW9k ZWw6IHNlbGYuZGF0YVNvcnRpbmdDb2xsZWN0aW9uTW9kZWwsCisgICAgICAgICAgICAgICAgc2No ZW1hOiBmaWVsZHMsCisgICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAgICQodGhpcy5l bGVtZW50cy5ib2R5LmNoaWxkTm9kZXNbMF0pLmFkZENsYXNzKAorICAgICAgICAgICAgICAgICdh bGVydGlmeV90b29sc19kaWFsb2dfcHJvcGVydGllcyBvYmpfcHJvcGVydGllcycKKyAgICAgICAg ICAgICAgKTsKKworICAgICAgICAgICAgICAkY29udGFpbmVyLmFwcGVuZCh2aWV3LnJlbmRlcigp LiRlbCk7CisKKyAgICAgICAgICAgICAgLy8gRW5hYmxlL2Rpc2FibGUgc2F2ZSBidXR0b24gYW5k IHNob3cvaGlkZSBzdGF0dXNiYXIgYmFzZWQgb24gc2Vzc2lvbgorICAgICAgICAgICAgICB2aWV3 Lmxpc3RlblRvKHZpZXcubW9kZWwsICdwZ2FkbWluLXNlc3Npb246c3RhcnQnLCBmdW5jdGlvbigp IHsKKyAgICAgICAgICAgICAgICB2aWV3Lmxpc3RlblRvKHZpZXcubW9kZWwsICdwZ2FkbWluLXNl c3Npb246aW52YWxpZCcsIGZ1bmN0aW9uKG1zZykgeworICAgICAgICAgICAgICAgICAgc2VsZi5z dGF0dXNCYXIucmVtb3ZlQ2xhc3MoJ2hpZGUnKTsKKyAgICAgICAgICAgICAgICAgICQoc2VsZi5z dGF0dXNCYXIuZmluZCgnLmFsZXJ0LXRleHQnKSkuaHRtbChtc2cpOworICAgICAgICAgICAgICAg ICAgLy8gRGlzYWJsZSBPa2F5IGJ1dHRvbgorICAgICAgICAgICAgICAgICAgc2VsZi5fX2ludGVy bmFsLmJ1dHRvbnNbMV0uZWxlbWVudC5kaXNhYmxlZCA9IHRydWU7CisgICAgICAgICAgICAgICAg fSk7CisKKyAgICAgICAgICAgICAgICB2aWV3Lmxpc3RlblRvKHZpZXcubW9kZWwsICdwZ2FkbWlu LXNlc3Npb246dmFsaWQnLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgIHNlbGYuc3Rh dHVzQmFyLmFkZENsYXNzKCdoaWRlJyk7CisgICAgICAgICAgICAgICAgICAkKHNlbGYuc3RhdHVz QmFyLmZpbmQoJy5hbGVydC10ZXh0JykpLmh0bWwoJycpOworICAgICAgICAgICAgICAgICAgLy8g RW5hYmxlIE9rYXkgYnV0dG9uCisgICAgICAgICAgICAgICAgICBzZWxmLl9faW50ZXJuYWwuYnV0 dG9uc1sxXS5lbGVtZW50LmRpc2FibGVkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgfSk7Cisg ICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAgIHZpZXcubGlzdGVuVG8odmlldy5tb2Rl bCwgJ3BnYWRtaW4tc2Vzc2lvbjpzdG9wJywgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg dmlldy5zdG9wTGlzdGVuaW5nKHZpZXcubW9kZWwsICdwZ2FkbWluLXNlc3Npb246aW52YWxpZCcp OworICAgICAgICAgICAgICAgIHZpZXcuc3RvcExpc3RlbmluZyh2aWV3Lm1vZGVsLCAncGdhZG1p bi1zZXNzaW9uOnZhbGlkJyk7CisgICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAgIC8v IFN0YXJ0cyBtb25pdG9yaW5nIGNoYW5nZXMgdG8gbW9kZWwKKyAgICAgICAgICAgICAgdmlldy5t b2RlbC5zdGFydE5ld1Nlc3Npb24oKTsKKworICAgICAgICAgICAgICAvLyBTZXQgIGRhdGEgaW4g Y29sbGVjdGlvbgorICAgICAgICAgICAgICBsZXQgdmlld01vZGVsID0gdmlldy5tb2RlbC5nZXQo J2RhdGFfc29ydGluZycpOworICAgICAgICAgICAgICB2aWV3TW9kZWwuYWRkKHJlc3BvbnNlWydk YXRhX3NvcnRpbmcnXSk7CisKKyAgICAgICAgICAgICAgLy8gSGlkZSBQcm9ncmVzcyAuLi4KKyAg ICAgICAgICAgICAgJCgKKyAgICAgICAgICAgICAgICBzZWxmLnNob3dGaWx0ZXJQcm9ncmVzc1sw XQorICAgICAgICAgICAgICApLmFkZENsYXNzKCdoaWRkZW4nKTsKKworICAgICAgICAgICAgfSwK KyAgICAgICAgICAgIC8vIENhbGxiYWNrIGZ1bmN0aW9ucyB3aGVuIGNsaWNrIG9uIHRoZSBidXR0 b25zIG9mIHRoZSBBbGVydGlmeSBkaWFsb2dzCisgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rp b24oZSkgeworICAgICAgICAgICAgICBpZiAoZS5idXR0b24uZWxlbWVudC5uYW1lID09ICdkaWFs b2dfaGVscCcpIHsKKyAgICAgICAgICAgICAgICBlLmNhbmNlbCA9IHRydWU7CisgICAgICAgICAg ICAgICAgcGdBZG1pbi5Ccm93c2VyLnNob3dIZWxwKGUuYnV0dG9uLmVsZW1lbnQubmFtZSwgZS5i dXR0b24uZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3VybCcpLAorICAgICAgICAgICAgICAgICAgbnVs bCwgbnVsbCwgZS5idXR0b24uZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2xhYmVsJykpOworICAgICAg ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBsZXQgc2Vs ZiA9IHRoaXM7CisKKyAgICAgICAgICAgICAgaWYgKGUuYnV0dG9uWydkYXRhLWJ0bi1uYW1lJ10g PT09ICdvaycpIHsKKyAgICAgICAgICAgICAgICBlLmNhbmNlbCA9IHRydWU7IC8vIERvIG5vdCBj bG9zZSBkaWFsb2cKKworICAgICAgICAgICAgICAgIGxldCBkYXRhU29ydGluZ0NvbGxlY3Rpb25N b2RlbCA9IHRoaXMuZGF0YVNvcnRpbmdDb2xsZWN0aW9uTW9kZWwudG9KU09OKCk7CisKKyAgICAg ICAgICAgICAgICAvLyBTaG93IFByb2dyZXNzIC4uLgorICAgICAgICAgICAgICAgICQoCisgICAg ICAgICAgICAgICAgICBzZWxmLnNob3dGaWx0ZXJQcm9ncmVzc1swXQorICAgICAgICAgICAgICAg ICkucmVtb3ZlQ2xhc3MoJ2hpZGRlbicpOworCisgICAgICAgICAgICAgICAgYXhpb3MucHV0KAor ICAgICAgICAgICAgICAgICAgdXJsX2Zvcignc3FsZWRpdG9yLnNldF9kYXRhX3NvcnRpbmcnLCB7 CisgICAgICAgICAgICAgICAgICAgICd0cmFuc19pZCc6IGhhbmRsZXIudHJhbnNJZCwKKyAgICAg ICAgICAgICAgICAgIH0pLAorICAgICAgICAgICAgICAgICAgZGF0YVNvcnRpbmdDb2xsZWN0aW9u TW9kZWwKKyAgICAgICAgICAgICAgICApLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAgICAgICAg ICAgICAgLy8gSGlkZSBQcm9ncmVzcyAuLi4KKyAgICAgICAgICAgICAgICAgICQoCisgICAgICAg ICAgICAgICAgICAgIHNlbGYuc2hvd0ZpbHRlclByb2dyZXNzWzBdCisgICAgICAgICAgICAgICAg ICApLmFkZENsYXNzKCdoaWRkZW4nKTsKKyAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoCisg ICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgIHNl bGYuY2xvc2UoKTsgLy8gQ2xvc2UgdGhlIGRpYWxvZyBub3cKKyAgICAgICAgICAgICAgICAgICAg ICBBbGVydGlmeS5zdWNjZXNzKGdldHRleHQoJ0ZpbHRlciB1cGRhdGVkIHN1Y2Nlc3NmdWxseScp KTsKKyAgICAgICAgICAgICAgICAgICAgICBxdWVyeVRvb2xBY3Rpb25zLmV4ZWN1dGVRdWVyeSho YW5kbGVyKTsKKyAgICAgICAgICAgICAgICAgICAgfSwgMTAKKyAgICAgICAgICAgICAgICAgICk7 CisKKyAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHsKKyAgICAgICAg ICAgICAgICAgIC8vIEhpZGUgUHJvZ3Jlc3MgLi4uCisgICAgICAgICAgICAgICAgICAkKAorICAg ICAgICAgICAgICAgICAgICBzZWxmLnNob3dGaWx0ZXJQcm9ncmVzc1swXQorICAgICAgICAgICAg ICAgICAgKS5hZGRDbGFzcygnaGlkZGVuJyk7CisKKyAgICAgICAgICAgICAgICAgIHNldFRpbWVv dXQoCisgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAg ICAgIEFsZXJ0aWZ5LmVycm9yKGVycm9yKTsKKyAgICAgICAgICAgICAgICAgICAgfSwgMTAKKyAg ICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgIH0K KyAgICAgICAgICAgIH0sCisgICAgICAgICAgfTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgQWxl cnRpZnkuZGF0YVNvcnRpbmcodGl0bGUpLnJlc2l6ZVRvKCc2NSUnLCAnNjAlJyk7CisgICAgICB9 KTsKKyAgICB9LAorICB9OworICByZXR1cm4gZGF0YVNvcnRpbmc7Cit9KTsKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3RlbXBsYXRlcy9kYXRhZ3JpZC9pbmRleC5odG1s IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVtcGxhdGVzL2RhdGFncmlkL2luZGV4Lmh0 bWwKaW5kZXggMmYzYmIwNS4uMWFkMWM5YSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMv ZGF0YWdyaWQvdGVtcGxhdGVzL2RhdGFncmlkL2luZGV4Lmh0bWwKKysrIGIvd2ViL3BnYWRtaW4v dG9vbHMvZGF0YWdyaWQvdGVtcGxhdGVzL2RhdGFncmlkL2luZGV4Lmh0bWwKQEAgLTE5NCwxMCAr MTk0LDExIEBACiAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgPHVs IGNsYXNzPSJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtcmlnaHQiPgogICAgICAgICAgICAg ICAgICAgICA8bGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8YSBpZD0iYnRuLWZpbHRlci1t ZW51IiBocmVmPSIjIiB0YWJpbmRleD0iMCI+e3sgXygnRmlsdGVyJykgfX08L2E+Ci0gICAgICAg ICAgICAgICAgICAgICAgICA8YSBpZD0iYnRuLXJlbW92ZS1maWx0ZXIiIGhyZWY9IiMiIHRhYmlu ZGV4PSIwIj57eyBfKCdSZW1vdmUgRmlsdGVyJykgfX08L2E+CisgICAgICAgICAgICAgICAgICAg ICAgICA8YSBpZD0iYnRuLWZpbHRlci1tZW51IiBocmVmPSIjIiB0YWJpbmRleD0iMCI+e3sgXygn U1FMIEZpbHRlcicpIH19PC9hPgorICAgICAgICAgICAgICAgICAgICAgICAgPGEgaWQ9ImJ0bi1k YXRhLXNvcnRpbmciIGhyZWY9IiMiIHRhYmluZGV4PSIwIj57eyBfKCdEYXRhIFNvcnRpbmcnKSB9 fTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJidG4taW5jbHVkZS1maWx0ZXIi IGhyZWY9IiMiIHRhYmluZGV4PSIwIj57eyBfKCdCeSBTZWxlY3Rpb24nKSB9fTwvYT4KICAgICAg ICAgICAgICAgICAgICAgICAgIDxhIGlkPSJidG4tZXhjbHVkZS1maWx0ZXIiIGhyZWY9IiMiIHRh YmluZGV4PSIwIj57eyBfKCdFeGNsdWRlIFNlbGVjdGlvbicpIH19PC9hPgorICAgICAgICAgICAg ICAgICAgICAgICAgPGEgaWQ9ImJ0bi1yZW1vdmUtZmlsdGVyIiBocmVmPSIjIiB0YWJpbmRleD0i MCI+e3sgXygnUmVtb3ZlIEZpbHRlcicpIH19PC9hPgogICAgICAgICAgICAgICAgICAgICA8L2xp PgogICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICA8L2Rpdj4KZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL3Rv b2xzL3NxbGVkaXRvci9fX2luaXRfXy5weQppbmRleCA2ZjVkNWI3Li5lZDYwOWQyIDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvX19pbml0X18ucHkKKysrIGIvd2ViL3Bn YWRtaW4vdG9vbHMvc3FsZWRpdG9yL19faW5pdF9fLnB5CkBAIC00MCw2ICs0MCw3IEBAIGZyb20g cGdhZG1pbi50b29scy5zcWxlZGl0b3IudXRpbHMucXVlcnlfdG9vbF9wcmVmZXJlbmNlcyBpbXBv cnQgXAogICAgIFJlZ2lzdGVyUXVlcnlUb29sUHJlZmVyZW5jZXMKIGZyb20gcGdhZG1pbi50b29s cy5zcWxlZGl0b3IudXRpbHMucXVlcnlfdG9vbF9mc191dGlscyBpbXBvcnQgXAogICAgIHJlYWRf ZmlsZV9nZW5lcmF0b3IKK2Zyb20gcGdhZG1pbi50b29scy5zcWxlZGl0b3IudXRpbHMuZGF0YV9z b3J0aW5nIGltcG9ydCBEYXRhU29ydGluZwogCiBNT0RVTEVfTkFNRSA9ICdzcWxlZGl0b3InCiAK QEAgLTEwNiw3ICsxMDcsOSBAQCBjbGFzcyBTcWxFZGl0b3JNb2R1bGUoUGdBZG1pbk1vZHVsZSk6 CiAgICAgICAgICAgICAnc3FsZWRpdG9yLmxvYWRfZmlsZScsCiAgICAgICAgICAgICAnc3FsZWRp dG9yLnNhdmVfZmlsZScsCiAgICAgICAgICAgICAnc3FsZWRpdG9yLnF1ZXJ5X3Rvb2xfZG93bmxv YWQnLAotICAgICAgICAgICAgJ3NxbGVkaXRvci5jb25uZWN0aW9uX3N0YXR1cycKKyAgICAgICAg ICAgICdzcWxlZGl0b3IuY29ubmVjdGlvbl9zdGF0dXMnLAorICAgICAgICAgICAgJ3NxbGVkaXRv ci5nZXRfZGF0YV9zb3J0aW5nJywKKyAgICAgICAgICAgICdzcWxlZGl0b3Iuc2V0X2RhdGFfc29y dGluZycKICAgICAgICAgXQogCiAgICAgZGVmIHJlZ2lzdGVyX3ByZWZlcmVuY2VzKHNlbGYpOgpA QCAtMTU2MSwzICsxNTY0LDM3IEBAIGRlZiBxdWVyeV90b29sX3N0YXR1cyh0cmFuc19pZCk6CiAg ICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoCiAgICAgICAgICAgICBlcnJvcm1z Zz1nZXR0ZXh0KCJUcmFuc2FjdGlvbiBzdGF0dXMgY2hlY2sgZmFpbGVkLiIpCiAgICAgICAgICkK KworCitAYmx1ZXByaW50LnJvdXRlKAorICAgICcvZGF0YV9zb3J0aW5nLzxpbnQ6dHJhbnNfaWQ+ JywKKyAgICBtZXRob2RzPVsiR0VUIl0sIGVuZHBvaW50PSdnZXRfZGF0YV9zb3J0aW5nJworKQor QGxvZ2luX3JlcXVpcmVkCitkZWYgZ2V0X2RhdGFfc29ydGluZyh0cmFuc19pZCk6CisgICAgIiIi CisgICAgVGhpcyBtZXRob2QgaXMgdXNlZCB0byBnZXQgYWxsIHRoZSBjb2x1bW5zIGZvciBkYXRh IHNvcnRpbmcgZGlhbG9nLgorCisgICAgQXJnczoKKyAgICAgICAgdHJhbnNfaWQ6IHVuaXF1ZSB0 cmFuc2FjdGlvbiBpZAorICAgICIiIgorICAgIHJldHVybiBEYXRhU29ydGluZy5nZXQoKmNoZWNr X3RyYW5zYWN0aW9uX3N0YXR1cyh0cmFuc19pZCkpCisKKworQGJsdWVwcmludC5yb3V0ZSgKKyAg ICAnL2RhdGFfc29ydGluZy88aW50OnRyYW5zX2lkPicsCisgICAgbWV0aG9kcz1bIlBVVCJdLCBl bmRwb2ludD0nc2V0X2RhdGFfc29ydGluZycKKykKK0Bsb2dpbl9yZXF1aXJlZAorZGVmIHNldF9k YXRhX3NvcnRpbmcodHJhbnNfaWQpOgorICAgICIiIgorICAgIFRoaXMgbWV0aG9kIGlzIHVzZWQg dG8gdXBkYXRlIHRoZSBjb2x1bW5zIGZvciBkYXRhIHNvcnRpbmcgZGlhbG9nLgorCisgICAgQXJn czoKKyAgICAgICAgdHJhbnNfaWQ6IHVuaXF1ZSB0cmFuc2FjdGlvbiBpZAorICAgICIiIgorICAg IHJldHVybiBEYXRhU29ydGluZy5zYXZlKAorICAgICAgICAqY2hlY2tfdHJhbnNhY3Rpb25fc3Rh dHVzKHRyYW5zX2lkKSwKKyAgICAgICAgcmVxdWVzdD1yZXF1ZXN0LAorICAgICAgICB0cmFuc19p ZD10cmFuc19pZAorICAgICkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRv ci9jb21tYW5kLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL2NvbW1hbmQucHkKaW5k ZXggOGNjOTZlMC4uOTkzYjBkOSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRp dG9yL2NvbW1hbmQucHkKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL2NvbW1hbmQu cHkKQEAgLTE0MSw2ICsxNDEsMTAgQEAgY2xhc3MgU1FMRmlsdGVyKG9iamVjdCk6CiAgICAgICAt IFRoaXMgbWV0aG9kIHJlbW92ZXMgdGhlIGZpbHRlciBhcHBsaWVkLgogICAgICogdmFsaWRhdGVf ZmlsdGVyKHJvd19maWx0ZXIpCiAgICAgICAtIFRoaXMgbWV0aG9kIHZhbGlkYXRlcyB0aGUgZ2l2 ZW4gZmlsdGVyLgorICAgICogZ2V0X2RhdGFfc29ydGluZygpCisgICAgICAtIFRoaXMgbWV0aG9k IHJldHVybnMgY29sdW1ucyBmb3IgZGF0YSBzb3J0aW5nCisgICAgKiBzZXRfZGF0YV9zb3J0aW5n KCkKKyAgICAgIC0gVGhpcyBtZXRob2Qgc2F2ZXMgY29sdW1ucyBmb3IgZGF0YSBzb3J0aW5nCiAg ICAgIiIiCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgKiprd2FyZ3MpOgpAQCAtMTYwLDggKzE2 NCw4IEBAIGNsYXNzIFNRTEZpbHRlcihvYmplY3QpOgogICAgICAgICBzZWxmLnNpZCA9IGt3YXJn c1snc2lkJ10KICAgICAgICAgc2VsZi5kaWQgPSBrd2FyZ3NbJ2RpZCddCiAgICAgICAgIHNlbGYu b2JqX2lkID0ga3dhcmdzWydvYmpfaWQnXQotICAgICAgICBzZWxmLl9fcm93X2ZpbHRlciA9IGt3 YXJnc1snc3FsX2ZpbHRlciddIGlmICdzcWxfZmlsdGVyJyBpbiBrd2FyZ3MgXAotICAgICAgICAg ICAgZWxzZSBOb25lCisgICAgICAgIHNlbGYuX19yb3dfZmlsdGVyID0ga3dhcmdzLmdldCgnc3Fs X2ZpbHRlcicsIE5vbmUpCisgICAgICAgIHNlbGYuX19kYXJhX3NvcnRpbmcgPSBrd2FyZ3MuZ2V0 KCdkYXRhX3NvcnRpbmcnLCBOb25lKQogCiAgICAgICAgIG1hbmFnZXIgPSBnZXRfZHJpdmVyKFBH X0RFRkFVTFRfRFJJVkVSKS5jb25uZWN0aW9uX21hbmFnZXIoc2VsZi5zaWQpCiAgICAgICAgIGNv bm4gPSBtYW5hZ2VyLmNvbm5lY3Rpb24oZGlkPXNlbGYuZGlkKQpAQCAtMjEwLDIwICsyMTQsNDEg QEAgY2xhc3MgU1FMRmlsdGVyKG9iamVjdCk6CiAKICAgICAgICAgcmV0dXJuIHN0YXR1cywgbXNn CiAKKyAgICBkZWYgZ2V0X2RhdGFfc29ydGluZyhzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAg IFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgZmlsdGVyLgorICAgICAgICAiIiIKKyAgICAgICAg aWYgc2VsZi5fX2RhcmFfc29ydGluZyBhbmQgbGVuKHNlbGYuX19kYXJhX3NvcnRpbmcpID4gMDoK KyAgICAgICAgICAgIHJldHVybiBzZWxmLl9fZGFyYV9zb3J0aW5nCisgICAgICAgIHJldHVybiBO b25lCisKKyAgICBkZWYgc2V0X2RhdGFfc29ydGluZyhzZWxmLCBkYXRhX2ZpbHRlcik6CisgICAg ICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHZhbGlkYXRlcyB0aGUgZmlsdGVyIGFuZCBz ZXQgdGhlCisgICAgICAgIGdpdmVuIGZpbHRlciB0byBtZW1iZXIgdmFyaWFibGUuCisgICAgICAg ICIiIgorICAgICAgICBzZWxmLl9fZGFyYV9zb3J0aW5nID0gZGF0YV9maWx0ZXJbJ2RhdGFfc29y dGluZyddCisKICAgICBkZWYgaXNfZmlsdGVyX2FwcGxpZWQoc2VsZik6CiAgICAgICAgICIiIgog ICAgICAgICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgVHJ1ZSBpZiBmaWx0ZXIgaXMgYXBwbGllZCBl bHNlIEZhbHNlLgogICAgICAgICAiIiIKKyAgICAgICAgaXNfZmlsdGVyX2FwcGxpZWQgPSBUcnVl CiAgICAgICAgIGlmIHNlbGYuX19yb3dfZmlsdGVyIGlzIE5vbmUgb3Igc2VsZi5fX3Jvd19maWx0 ZXIgPT0gJyc6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgIGlzX2ZpbHRl cl9hcHBsaWVkID0gRmFsc2UKIAotICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICBpZiBub3Qg aXNfZmlsdGVyX2FwcGxpZWQ6CisgICAgICAgICAgICBpZiBzZWxmLl9fZGFyYV9zb3J0aW5nIGFu ZCBsZW4oc2VsZi5fX2RhcmFfc29ydGluZykgPiAwOgorICAgICAgICAgICAgICAgIGlzX2ZpbHRl cl9hcHBsaWVkID0gVHJ1ZQorCisgICAgICAgIHJldHVybiBpc19maWx0ZXJfYXBwbGllZAogCiAg ICAgZGVmIHJlbW92ZV9maWx0ZXIoc2VsZik6CiAgICAgICAgICIiIgogICAgICAgICBUaGlzIGZ1 bmN0aW9uIHJlbW92ZSB0aGUgZmlsdGVyIGJ5IHNldHRpbmcgdmFsdWUgdG8gTm9uZS4KICAgICAg ICAgIiIiCiAgICAgICAgIHNlbGYuX19yb3dfZmlsdGVyID0gTm9uZQorICAgICAgICBzZWxmLl9f ZGFyYV9zb3J0aW5nID0gTm9uZQogCiAgICAgZGVmIGFwcGVuZF9maWx0ZXIoc2VsZiwgcm93X2Zp bHRlcik6CiAgICAgICAgICIiIgpAQCAtMzI1LDEzICszNTAsNTggQEAgY2xhc3MgR3JpZENvbW1h bmQoQmFzZUNvbW1hbmQsIFNRTEZpbHRlciwgRmV0Y2hlZFJvd1RyYWNrZXIpOgogICAgICAgICBz ZWxmLmNtZF90eXBlID0ga3dhcmdzWydjbWRfdHlwZSddIGlmICdjbWRfdHlwZScgaW4ga3dhcmdz IGVsc2UgTm9uZQogICAgICAgICBzZWxmLmxpbWl0ID0gLTEKIAotICAgICAgICBpZiBzZWxmLmNt ZF90eXBlID09IFZJRVdfRklSU1RfMTAwX1JPV1Mgb3IgXAotICAgICAgICAgICAgICAgIHNlbGYu Y21kX3R5cGUgPT0gVklFV19MQVNUXzEwMF9ST1dTOgorICAgICAgICBpZiBzZWxmLmNtZF90eXBl IGluIChWSUVXX0ZJUlNUXzEwMF9ST1dTLCBWSUVXX0xBU1RfMTAwX1JPV1MpOgogICAgICAgICAg ICAgc2VsZi5saW1pdCA9IDEwMAogCiAgICAgZGVmIGdldF9wcmltYXJ5X2tleXMoc2VsZiwgKmFy Z3MsICoqa3dhcmdzKToKICAgICAgICAgcmV0dXJuIE5vbmUsIE5vbmUKIAorICAgIGRlZiBnZXRf YWxsX2NvbHVtbnNfd2l0aF9vcmRlcihzZWxmLCBkZWZhdWx0X2Nvbm4pOgorICAgICAgICAiIiIK KyAgICAgICAgUmVzcG9uc2libGUgZm9yIGZldGNoaW5nIGNvbHVtbnMgZnJvbSBnaXZlbiBvYmpl Y3QKKworICAgICAgICBBcmdzOgorICAgICAgICAgICAgZGVmYXVsdF9jb25uOiBDb25uZWN0aW9u IG9iamVjdAorCisgICAgICAgIFJldHVybnM6CisgICAgICAgICAgICBhbGxfc29ydGVkX2NvbHVt bnM6IENvbHVtbnMgd2hpY2ggYXJlIGFscmVhZHkgc29ydGVkIHdoaWNoIHdpbGwKKyAgICAgICAg ICAgICAgICAgICAgICAgICBiZSB1c2VkIHRvIHBvcHVsYXRlIHRoZSBHcmlkIGluIHRoZSBkaWFs b2cKKyAgICAgICAgICAgIGFsbF9jb2x1bW5zOiBMaXN0IG9mIGFsbCB0aGUgY29sdW1uIGZvciBn aXZlbiBvYmplY3Qgd2hpY2ggd2lsbAorICAgICAgICAgICAgICAgICAgICAgICAgIGJlIHVzZWQg dG8gZmlsbCBjb2x1bW5zIG9wdGlvbnMKKyAgICAgICAgIiIiCisgICAgICAgIGRyaXZlciA9IGdl dF9kcml2ZXIoUEdfREVGQVVMVF9EUklWRVIpCisgICAgICAgIGlmIGRlZmF1bHRfY29ubiBpcyBO b25lOgorICAgICAgICAgICAgbWFuYWdlciA9IGRyaXZlci5jb25uZWN0aW9uX21hbmFnZXIoc2Vs Zi5zaWQpCisgICAgICAgICAgICBjb25uID0gbWFuYWdlci5jb25uZWN0aW9uKGRpZD1zZWxmLmRp ZCwgY29ubl9pZD1zZWxmLmNvbm5faWQpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb25u ID0gZGVmYXVsdF9jb25uCisKKyAgICAgICAgYWxsX3NvcnRlZF9jb2x1bW5zID0gW10KKyAgICAg ICAgZGF0YV9zb3J0aW5nID0gc2VsZi5nZXRfZGF0YV9zb3J0aW5nKCkKKyAgICAgICAgYWxsX2Nv bHVtbnMgPSBbXQorICAgICAgICBpZiBjb25uLmNvbm5lY3RlZCgpOgorICAgICAgICAgICAgIyBG ZXRjaCB0aGUgcmVzdCBvZiB0aGUgY29sdW1uIG5hbWVzCisgICAgICAgICAgICBxdWVyeSA9IHJl bmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICAgICAiLyIuam9pbihbc2VsZi5zcWxfcGF0aCwg J2dldF9jb2x1bW5zLnNxbCddKSwKKyAgICAgICAgICAgICAgICBvYmpfaWQ9c2VsZi5vYmpfaWQK KyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHN0YXR1cywgcmVzdWx0ID0gY29ubi5leGVjdXRl X2RpY3QocXVlcnkpCisgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAg IHJhaXNlIEV4Y2VwdGlvbihyZXN1bHQpCisKKyAgICAgICAgICAgIGZvciByb3cgaW4gcmVzdWx0 Wydyb3dzJ106CisgICAgICAgICAgICAgICAgYWxsX2NvbHVtbnMuYXBwZW5kKHJvd1snYXR0bmFt ZSddKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKAorICAgICAg ICAgICAgICAgIGdldHRleHQoJ05vdCBjb25uZWN0ZWQgdG8gc2VydmVyIG9yIGNvbm5lY3Rpb24g d2l0aCB0aGUgJworICAgICAgICAgICAgICAgICAgICAgICAgJ3NlcnZlciBoYXMgYmVlbiBjbG9z ZWQuJykKKyAgICAgICAgICAgICkKKyAgICAgICAgIyBJZiB1c2VyIGhhcyBjdXN0b20gZGF0YSBz b3J0aW5nIHRoZW4gcGFzcyBhcyBpdCBhcyBpdCBpcworICAgICAgICBpZiBkYXRhX3NvcnRpbmcg YW5kIGxlbihkYXRhX3NvcnRpbmcpID4gMDoKKyAgICAgICAgICAgIGFsbF9zb3J0ZWRfY29sdW1u cyA9IGRhdGFfc29ydGluZworCisgICAgICAgIHJldHVybiBhbGxfc29ydGVkX2NvbHVtbnMsIGFs bF9jb2x1bW5zCisKICAgICBkZWYgc2F2ZShzZWxmLCBjaGFuZ2VkX2RhdGEsIGRlZmF1bHRfY29u bj1Ob25lKToKICAgICAgICAgcmV0dXJuIGZvcmJpZGRlbigKICAgICAgICAgICAgIGVycm1zZz1n ZXR0ZXh0KCJEYXRhIGNhbm5vdCBiZSBzYXZlZCBmb3IgdGhlIGN1cnJlbnQgb2JqZWN0LiIpCkBA IC0zNTEsNiArNDIxLDE3IEBAIGNsYXNzIEdyaWRDb21tYW5kKEJhc2VDb21tYW5kLCBTUUxGaWx0 ZXIsIEZldGNoZWRSb3dUcmFja2VyKToKICAgICAgICAgIiIiCiAgICAgICAgIHNlbGYubGltaXQg PSBsaW1pdAogCisgICAgZGVmIGdldF9wa19vcmRlcihzZWxmKToKKyAgICAgICAgIiIiCisgICAg ICAgIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgb3JkZXIgcmVxdWlyZWQgZm9yIHByaW1hcnkga2V5 cworICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5jbWRfdHlwZSBpbiAoVklFV19GSVJTVF8x MDBfUk9XUywgVklFV19BTExfUk9XUyk6CisgICAgICAgICAgICByZXR1cm4gJ2FzYycKKyAgICAg ICAgZWxpZiBzZWxmLmNtZF90eXBlID09IFZJRVdfTEFTVF8xMDBfUk9XUzoKKyAgICAgICAgICAg IHJldHVybiAnZGVzYycKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisK IAogY2xhc3MgVGFibGVDb21tYW5kKEdyaWRDb21tYW5kKToKICAgICAiIiIKQEAgLTM4NSw2ICs0 NjYsNyBAQCBjbGFzcyBUYWJsZUNvbW1hbmQoR3JpZENvbW1hbmQpOgogICAgICAgICBoYXNfb2lk cyA9IHNlbGYuaGFzX29pZHMoZGVmYXVsdF9jb25uKQogCiAgICAgICAgIHNxbF9maWx0ZXIgPSBz ZWxmLmdldF9maWx0ZXIoKQorICAgICAgICBkYXRhX3NvcnRpbmcgPSBzZWxmLmdldF9kYXRhX3Nv cnRpbmcoKQogCiAgICAgICAgIGlmIHNxbF9maWx0ZXIgaXMgTm9uZToKICAgICAgICAgICAgIHNx bCA9IHJlbmRlcl90ZW1wbGF0ZSgKQEAgLTM5Miw3ICs0NzQsOCBAQCBjbGFzcyBUYWJsZUNvbW1h bmQoR3JpZENvbW1hbmQpOgogICAgICAgICAgICAgICAgIG9iamVjdF9uYW1lPXNlbGYub2JqZWN0 X25hbWUsCiAgICAgICAgICAgICAgICAgbnNwX25hbWU9c2VsZi5uc3BfbmFtZSwgcGtfbmFtZXM9 cGtfbmFtZXMsCiAgICAgICAgICAgICAgICAgY21kX3R5cGU9c2VsZi5jbWRfdHlwZSwgbGltaXQ9 c2VsZi5saW1pdCwKLSAgICAgICAgICAgICAgICBwcmltYXJ5X2tleXM9cHJpbWFyeV9rZXlzLCBo YXNfb2lkcz1oYXNfb2lkcworICAgICAgICAgICAgICAgIHByaW1hcnlfa2V5cz1wcmltYXJ5X2tl eXMsIGhhc19vaWRzPWhhc19vaWRzLAorICAgICAgICAgICAgICAgIGRhdGFfc29ydGluZz1kYXRh X3NvcnRpbmcKICAgICAgICAgICAgICkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNxbCA9 IHJlbmRlcl90ZW1wbGF0ZSgKQEAgLTQwMSw3ICs0ODQsNyBAQCBjbGFzcyBUYWJsZUNvbW1hbmQo R3JpZENvbW1hbmQpOgogICAgICAgICAgICAgICAgIG5zcF9uYW1lPXNlbGYubnNwX25hbWUsIHBr X25hbWVzPXBrX25hbWVzLAogICAgICAgICAgICAgICAgIGNtZF90eXBlPXNlbGYuY21kX3R5cGUs IHNxbF9maWx0ZXI9c3FsX2ZpbHRlciwKICAgICAgICAgICAgICAgICBsaW1pdD1zZWxmLmxpbWl0 LCBwcmltYXJ5X2tleXM9cHJpbWFyeV9rZXlzLAotICAgICAgICAgICAgICAgIGhhc19vaWRzPWhh c19vaWRzCisgICAgICAgICAgICAgICAgaGFzX29pZHM9aGFzX29pZHMsIGRhdGFfc29ydGluZz1k YXRhX3NvcnRpbmcKICAgICAgICAgICAgICkKIAogICAgICAgICByZXR1cm4gc3FsCkBAIC00NDcs NiArNTMwLDczIEBAIGNsYXNzIFRhYmxlQ29tbWFuZChHcmlkQ29tbWFuZCk6CiAKICAgICAgICAg cmV0dXJuIHBrX25hbWVzLCBwcmltYXJ5X2tleXMKIAorICAgIGRlZiBnZXRfYWxsX2NvbHVtbnNf d2l0aF9vcmRlcihzZWxmLCBkZWZhdWx0X2Nvbm49Tm9uZSk6CisgICAgICAgICIiIgorICAgICAg ICBJdCBpcyBvdmVycmlkZGVuIG1ldGhvZCBzcGVjaWFsbHkgZm9yIFRhYmxlIGJlY2F1c2Ugd2Ug YWxsIGhhdmUgdG8KKyAgICAgICAgZmV0Y2ggcHJpbWFyeSBrZXlzIGFuZCByZXN0IG9mIHRoZSBj b2x1bW5zIGJvdGguCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGRlZmF1bHRfY29ubjog Q29ubmVjdGlvbiBvYmplY3QKKworICAgICAgICBSZXR1cm5zOgorICAgICAgICAgICAgYWxsX3Nv cnRlZF9jb2x1bW5zOiBTb3J0ZWQgY29sdW1ucyBmb3IgdGhlIEdyaWQKKyAgICAgICAgICAgIGFs bF9jb2x1bW5zOiBMaXN0IG9mIGNvbHVtbnMgZm9yIHRoZSBzZWxlY3QyIG9wdGlvbnMKKyAgICAg ICAgIiIiCisgICAgICAgIGRyaXZlciA9IGdldF9kcml2ZXIoUEdfREVGQVVMVF9EUklWRVIpCisg ICAgICAgIGlmIGRlZmF1bHRfY29ubiBpcyBOb25lOgorICAgICAgICAgICAgbWFuYWdlciA9IGRy aXZlci5jb25uZWN0aW9uX21hbmFnZXIoc2VsZi5zaWQpCisgICAgICAgICAgICBjb25uID0gbWFu YWdlci5jb25uZWN0aW9uKGRpZD1zZWxmLmRpZCwgY29ubl9pZD1zZWxmLmNvbm5faWQpCisgICAg ICAgIGVsc2U6CisgICAgICAgICAgICBjb25uID0gZGVmYXVsdF9jb25uCisKKyAgICAgICAgYWxs X3NvcnRlZF9jb2x1bW5zID0gW10KKyAgICAgICAgZGF0YV9zb3J0aW5nID0gc2VsZi5nZXRfZGF0 YV9zb3J0aW5nKCkKKyAgICAgICAgYWxsX2NvbHVtbnMgPSBbXQorICAgICAgICBpZiBjb25uLmNv bm5lY3RlZCgpOgorCisgICAgICAgICAgICAjIEZldGNoIHRoZSBwcmltYXJ5IGtleSBjb2x1bW4g bmFtZXMKKyAgICAgICAgICAgIHF1ZXJ5ID0gcmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAg ICAgICIvIi5qb2luKFtzZWxmLnNxbF9wYXRoLCAncHJpbWFyeV9rZXlzLnNxbCddKSwKKyAgICAg ICAgICAgICAgICBvYmpfaWQ9c2VsZi5vYmpfaWQKKyAgICAgICAgICAgICkKKworICAgICAgICAg ICAgc3RhdHVzLCByZXN1bHQgPSBjb25uLmV4ZWN1dGVfZGljdChxdWVyeSkKKyAgICAgICAgICAg IGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKHJlc3VsdCkK KworICAgICAgICAgICAgZm9yIHJvdyBpbiByZXN1bHRbJ3Jvd3MnXToKKyAgICAgICAgICAgICAg ICBhbGxfY29sdW1ucy5hcHBlbmQocm93WydhdHRuYW1lJ10pCisgICAgICAgICAgICAgICAgYWxs X3NvcnRlZF9jb2x1bW5zLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgICAgICAgICAgJ25hbWUnOiByb3dbJ2F0dG5hbWUnXSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICdvcmRlcic6IHNlbGYuZ2V0X3BrX29yZGVyKCkKKyAgICAgICAgICAgICAgICAgICAg fQorICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyBGZXRjaCB0aGUgcmVzdCBvZiB0 aGUgY29sdW1uIG5hbWVzCisgICAgICAgICAgICBxdWVyeSA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAg ICAgICAgICAgICAgICAiLyIuam9pbihbc2VsZi5zcWxfcGF0aCwgJ2dldF9jb2x1bW5zLnNxbCdd KSwKKyAgICAgICAgICAgICAgICBvYmpfaWQ9c2VsZi5vYmpfaWQKKyAgICAgICAgICAgICkKKyAg ICAgICAgICAgIHN0YXR1cywgcmVzdWx0ID0gY29ubi5leGVjdXRlX2RpY3QocXVlcnkpCisgICAg ICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbihy ZXN1bHQpCisKKyAgICAgICAgICAgIGZvciByb3cgaW4gcmVzdWx0Wydyb3dzJ106CisgICAgICAg ICAgICAgICAgIyBPbmx5IGFwcGVuZCBpZiBub3QgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBsaXN0 CisgICAgICAgICAgICAgICAgaWYgcm93WydhdHRuYW1lJ10gbm90IGluIGFsbF9jb2x1bW5zOgor ICAgICAgICAgICAgICAgICAgICBhbGxfY29sdW1ucy5hcHBlbmQocm93WydhdHRuYW1lJ10pCisg ICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oCisgICAgICAgICAgICAg ICAgZ2V0dGV4dCgnTm90IGNvbm5lY3RlZCB0byBzZXJ2ZXIgb3IgY29ubmVjdGlvbiB3aXRoIHRo ZSAnCisgICAgICAgICAgICAgICAgICAgICAgICAnc2VydmVyIGhhcyBiZWVuIGNsb3NlZC4nKQor ICAgICAgICAgICAgKQorICAgICAgICAjIElmIHVzZXIgaGFzIGN1c3RvbSBkYXRhIHNvcnRpbmcg dGhlbiBwYXNzIGFzIGl0IGFzIGl0IGlzCisgICAgICAgIGlmIGRhdGFfc29ydGluZyBhbmQgbGVu KGRhdGFfc29ydGluZykgPiAwOgorICAgICAgICAgICAgYWxsX3NvcnRlZF9jb2x1bW5zID0gZGF0 YV9zb3J0aW5nCisKKyAgICAgICAgcmV0dXJuIGFsbF9zb3J0ZWRfY29sdW1ucywgYWxsX2NvbHVt bnMKKwogICAgIGRlZiBjYW5fZWRpdChzZWxmKToKICAgICAgICAgcmV0dXJuIFRydWUKIApAQCAt NzcxLDIwICs5MjEsMjIgQEAgY2xhc3MgVmlld0NvbW1hbmQoR3JpZENvbW1hbmQpOgogICAgICAg ICB0byBmZXRjaCB0aGUgZGF0YSBmb3IgdGhlIHNwZWNpZmllZCB2aWV3CiAgICAgICAgICIiIgog ICAgICAgICBzcWxfZmlsdGVyID0gc2VsZi5nZXRfZmlsdGVyKCkKKyAgICAgICAgZGF0YV9zb3J0 aW5nID0gc2VsZi5nZXRfZGF0YV9zb3J0aW5nKCkKIAogICAgICAgICBpZiBzcWxfZmlsdGVyIGlz IE5vbmU6CiAgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoCiAgICAgICAgICAgICAg ICAgIi8iLmpvaW4oW3NlbGYuc3FsX3BhdGgsICdvYmplY3RxdWVyeS5zcWwnXSksCiAgICAgICAg ICAgICAgICAgb2JqZWN0X25hbWU9c2VsZi5vYmplY3RfbmFtZSwKICAgICAgICAgICAgICAgICBu c3BfbmFtZT1zZWxmLm5zcF9uYW1lLCBjbWRfdHlwZT1zZWxmLmNtZF90eXBlLAotICAgICAgICAg ICAgICAgIGxpbWl0PXNlbGYubGltaXQKKyAgICAgICAgICAgICAgICBsaW1pdD1zZWxmLmxpbWl0 LCBkYXRhX3NvcnRpbmc9ZGF0YV9zb3J0aW5nCiAgICAgICAgICAgICApCiAgICAgICAgIGVsc2U6 CiAgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoCiAgICAgICAgICAgICAgICAgIi8i LmpvaW4oW3NlbGYuc3FsX3BhdGgsICdvYmplY3RxdWVyeS5zcWwnXSksCiAgICAgICAgICAgICAg ICAgb2JqZWN0X25hbWU9c2VsZi5vYmplY3RfbmFtZSwKICAgICAgICAgICAgICAgICBuc3BfbmFt ZT1zZWxmLm5zcF9uYW1lLCBjbWRfdHlwZT1zZWxmLmNtZF90eXBlLAotICAgICAgICAgICAgICAg IHNxbF9maWx0ZXI9c3FsX2ZpbHRlciwgbGltaXQ9c2VsZi5saW1pdAorICAgICAgICAgICAgICAg IHNxbF9maWx0ZXI9c3FsX2ZpbHRlciwgbGltaXQ9c2VsZi5saW1pdCwKKyAgICAgICAgICAgICAg ICBkYXRhX3NvcnRpbmc9ZGF0YV9zb3J0aW5nCiAgICAgICAgICAgICApCiAKICAgICAgICAgcmV0 dXJuIHNxbApAQCAtODMyLDIwICs5ODQsMjIgQEAgY2xhc3MgRm9yZWlnblRhYmxlQ29tbWFuZChH cmlkQ29tbWFuZCk6CiAgICAgICAgIHRvIGZldGNoIHRoZSBkYXRhIGZvciB0aGUgc3BlY2lmaWVk IGZvcmVpZ24gdGFibGUKICAgICAgICAgIiIiCiAgICAgICAgIHNxbF9maWx0ZXIgPSBzZWxmLmdl dF9maWx0ZXIoKQorICAgICAgICBkYXRhX3NvcnRpbmcgPSBzZWxmLmdldF9kYXRhX3NvcnRpbmco KQogCiAgICAgICAgIGlmIHNxbF9maWx0ZXIgaXMgTm9uZToKICAgICAgICAgICAgIHNxbCA9IHJl bmRlcl90ZW1wbGF0ZSgKICAgICAgICAgICAgICAgICAiLyIuam9pbihbc2VsZi5zcWxfcGF0aCwg J29iamVjdHF1ZXJ5LnNxbCddKSwKICAgICAgICAgICAgICAgICBvYmplY3RfbmFtZT1zZWxmLm9i amVjdF9uYW1lLAogICAgICAgICAgICAgICAgIG5zcF9uYW1lPXNlbGYubnNwX25hbWUsIGNtZF90 eXBlPXNlbGYuY21kX3R5cGUsCi0gICAgICAgICAgICAgICAgbGltaXQ9c2VsZi5saW1pdAorICAg ICAgICAgICAgICAgIGxpbWl0PXNlbGYubGltaXQsIGRhdGFfc29ydGluZz1kYXRhX3NvcnRpbmcK ICAgICAgICAgICAgICkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90 ZW1wbGF0ZSgKICAgICAgICAgICAgICAgICAiLyIuam9pbihbc2VsZi5zcWxfcGF0aCwgJ29iamVj dHF1ZXJ5LnNxbCddKSwKICAgICAgICAgICAgICAgICBvYmplY3RfbmFtZT1zZWxmLm9iamVjdF9u YW1lLAogICAgICAgICAgICAgICAgIG5zcF9uYW1lPXNlbGYubnNwX25hbWUsIGNtZF90eXBlPXNl bGYuY21kX3R5cGUsCi0gICAgICAgICAgICAgICAgc3FsX2ZpbHRlcj1zcWxfZmlsdGVyLCBsaW1p dD1zZWxmLmxpbWl0CisgICAgICAgICAgICAgICAgc3FsX2ZpbHRlcj1zcWxfZmlsdGVyLCBsaW1p dD1zZWxmLmxpbWl0LAorICAgICAgICAgICAgICAgIGRhdGFfc29ydGluZz1kYXRhX3NvcnRpbmcK ICAgICAgICAgICAgICkKIAogICAgICAgICByZXR1cm4gc3FsCkBAIC04ODMsMjAgKzEwMzcsMjIg QEAgY2xhc3MgQ2F0YWxvZ0NvbW1hbmQoR3JpZENvbW1hbmQpOgogICAgICAgICB0byBmZXRjaCB0 aGUgZGF0YSBmb3IgdGhlIHNwZWNpZmllZCBjYXRhbG9nIG9iamVjdAogICAgICAgICAiIiIKICAg ICAgICAgc3FsX2ZpbHRlciA9IHNlbGYuZ2V0X2ZpbHRlcigpCisgICAgICAgIGRhdGFfc29ydGlu ZyA9IHNlbGYuZ2V0X2RhdGFfc29ydGluZygpCiAKICAgICAgICAgaWYgc3FsX2ZpbHRlciBpcyBO b25lOgogICAgICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKAogICAgICAgICAgICAgICAg ICIvIi5qb2luKFtzZWxmLnNxbF9wYXRoLCAnb2JqZWN0cXVlcnkuc3FsJ10pLAogICAgICAgICAg ICAgICAgIG9iamVjdF9uYW1lPXNlbGYub2JqZWN0X25hbWUsCiAgICAgICAgICAgICAgICAgbnNw X25hbWU9c2VsZi5uc3BfbmFtZSwgY21kX3R5cGU9c2VsZi5jbWRfdHlwZSwKLSAgICAgICAgICAg ICAgICBsaW1pdD1zZWxmLmxpbWl0CisgICAgICAgICAgICAgICAgbGltaXQ9c2VsZi5saW1pdCwg ZGF0YV9zb3J0aW5nPWRhdGFfc29ydGluZwogICAgICAgICAgICAgKQogICAgICAgICBlbHNlOgog ICAgICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKAogICAgICAgICAgICAgICAgICIvIi5q b2luKFtzZWxmLnNxbF9wYXRoLCAnb2JqZWN0cXVlcnkuc3FsJ10pLAogICAgICAgICAgICAgICAg IG9iamVjdF9uYW1lPXNlbGYub2JqZWN0X25hbWUsCiAgICAgICAgICAgICAgICAgbnNwX25hbWU9 c2VsZi5uc3BfbmFtZSwgY21kX3R5cGU9c2VsZi5jbWRfdHlwZSwKLSAgICAgICAgICAgICAgICBz cWxfZmlsdGVyPXNxbF9maWx0ZXIsIGxpbWl0PXNlbGYubGltaXQKKyAgICAgICAgICAgICAgICBz cWxfZmlsdGVyPXNxbF9maWx0ZXIsIGxpbWl0PXNlbGYubGltaXQsCisgICAgICAgICAgICAgICAg ZGF0YV9zb3J0aW5nPWRhdGFfc29ydGluZwogICAgICAgICAgICAgKQogCiAgICAgICAgIHJldHVy biBzcWwKQEAgLTkyOSw2ICsxMDg1LDkgQEAgY2xhc3MgUXVlcnlUb29sQ29tbWFuZChCYXNlQ29t bWFuZCwgRmV0Y2hlZFJvd1RyYWNrZXIpOgogICAgIGRlZiBnZXRfc3FsKHNlbGYsIGRlZmF1bHRf Y29ubj1Ob25lKToKICAgICAgICAgcmV0dXJuIE5vbmUKIAorICAgIGRlZiBnZXRfYWxsX2NvbHVt bnNfd2l0aF9vcmRlcihzZWxmLCBkZWZhdWx0X2Nvbm49Tm9uZSk6CisgICAgICAgIHJldHVybiBO b25lCisKICAgICBkZWYgY2FuX2VkaXQoc2VsZik6CiAgICAgICAgIHJldHVybiBGYWxzZQogCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2Nzcy9zcWxlZGl0 b3IuY3NzIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9jc3Mvc3FsZWRpdG9y LmNzcwppbmRleCA0NjU4OGRjLi4yNTU5OWE0IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29s cy9zcWxlZGl0b3Ivc3RhdGljL2Nzcy9zcWxlZGl0b3IuY3NzCisrKyBiL3dlYi9wZ2FkbWluL3Rv b2xzL3NxbGVkaXRvci9zdGF0aWMvY3NzL3NxbGVkaXRvci5jc3MKQEAgLTYwMiwzICs2MDIsMTAg QEAgaW5wdXQuZWRpdG9yLWNoZWNrYm94OmZvY3VzIHsKICAgZm9udC1zaXplOiAxM3B4OwogICBs aW5lLWhlaWdodDogM2VtOwogfQorCisvKiBGb3IgRmlsdGVyIHN0YXR1cyBiYXIgKi8KKy5kYXRh X3NvcnRpbmdfZGlhbG9nIC5wZy1wcm9wLXN0YXR1cy1iYXIgeworICBwb3NpdGlvbjogYWJzb2x1 dGU7CisgIGJvdHRvbTogMzdweDsKKyAgei1pbmRleDogNTsKK30KZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvanMvc3FsZWRpdG9yLmpzIGIvd2ViL3BnYWRt aW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9zcWxlZGl0b3IuanMKaW5kZXggOTIzY2NlYS4u ZTJiMjNiZSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9q cy9zcWxlZGl0b3IuanMKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9q cy9zcWxlZGl0b3IuanMKQEAgLTE0LDYgKzE0LDcgQEAgZGVmaW5lKCd0b29scy5xdWVyeXRvb2wn LCBbCiAgICdzb3VyY2VzL3NxbGVkaXRvcl91dGlscycsCiAgICdzb3VyY2VzL3NxbGVkaXRvci9l eGVjdXRlX3F1ZXJ5JywKICAgJ3NvdXJjZXMvc3FsZWRpdG9yL2lzX25ld190cmFuc2FjdGlvbl9y ZXF1aXJlZCcsCisgICdzb3VyY2VzL3NxbGVkaXRvci9kYXRhX3NvcnRpbmcnLAogICAnc291cmNl cy9oaXN0b3J5L2luZGV4LmpzJywKICAgJ3NvdXJjZXMvLi4vanN4L2hpc3RvcnkvcXVlcnlfaGlz dG9yeScsCiAgICdyZWFjdCcsICdyZWFjdC1kb20nLApAQCAtMzAsNyArMzEsNyBAQCBkZWZpbmUo J3Rvb2xzLnF1ZXJ5dG9vbCcsIFsKIF0sIGZ1bmN0aW9uKAogICBiYWJlbFBvbGx5ZmlsbCwgZ2V0 dGV4dCwgdXJsX2ZvciwgJCwgXywgUywgYWxlcnRpZnksIHBnQWRtaW4sIEJhY2tib25lLCBjb2Rl bWlycm9yLAogICBwZ0V4cGxhaW4sIEdyaWRTZWxlY3RvciwgQWN0aXZlQ2VsbENhcHR1cmUsIGNs aXBib2FyZCwgY29weURhdGEsIFJhbmdlU2VsZWN0aW9uSGVscGVyLCBoYW5kbGVRdWVyeU91dHB1 dEtleWJvYXJkRXZlbnQsCi0gIFhDZWxsU2VsZWN0aW9uTW9kZWwsIHNldFN0YWdlZFJvd3MsIFNx bEVkaXRvclV0aWxzLCBFeGVjdXRlUXVlcnksIHRyYW5zYWN0aW9uLAorICBYQ2VsbFNlbGVjdGlv bk1vZGVsLCBzZXRTdGFnZWRSb3dzLCBTcWxFZGl0b3JVdGlscywgRXhlY3V0ZVF1ZXJ5LCB0cmFu c2FjdGlvbiwgRGF0YVNvcnRpbmdIYW5kbGVyLAogICBIaXN0b3J5QnVuZGxlLCBxdWVyeUhpc3Rv cnksIFJlYWN0LCBSZWFjdERPTSwKICAga2V5Ym9hcmRTaG9ydGN1dHMsIHF1ZXJ5VG9vbEFjdGlv bnMsIERhdGFncmlkKSB7CiAgIC8qIFJldHVybiBiYWNrLCB0aGlzIGhhcyBiZWVuIGNhbGxlZCBt b3JlIHRoYW4gb25jZSAqLwpAQCAtNzEsNiArNzIsNyBAQCBkZWZpbmUoJ3Rvb2xzLnF1ZXJ5dG9v bCcsIFsKICAgICAgICdjbGljayAjYnRuLWRlbGV0ZS1yb3cnOiAnb25fZGVsZXRlJywKICAgICAg ICdjbGljayAjYnRuLWZpbHRlcic6ICdvbl9zaG93X2ZpbHRlcicsCiAgICAgICAnY2xpY2sgI2J0 bi1maWx0ZXItbWVudSc6ICdvbl9zaG93X2ZpbHRlcicsCisgICAgICAnY2xpY2sgI2J0bi1kYXRh LXNvcnRpbmcnOiAnb25fZGF0YV9zb3J0aW5nJywKICAgICAgICdjbGljayAjYnRuLWluY2x1ZGUt ZmlsdGVyJzogJ29uX2luY2x1ZGVfZmlsdGVyJywKICAgICAgICdjbGljayAjYnRuLWV4Y2x1ZGUt ZmlsdGVyJzogJ29uX2V4Y2x1ZGVfZmlsdGVyJywKICAgICAgICdjbGljayAjYnRuLXJlbW92ZS1m aWx0ZXInOiAnb25fcmVtb3ZlX2ZpbHRlcicsCkBAIC0xMzY2LDYgKzEzNjgsMjEgQEAgZGVmaW5l KCd0b29scy5xdWVyeXRvb2wnLCBbCiAgICAgICApOwogICAgIH0sCiAKKyAgICAvLyBDYWxsYmFj ayBmdW5jdGlvbiBmb3IgZGF0YSBzb3J0aW5nIGJ1dHRvbiBjbGljay4KKyAgICBvbl9kYXRhX3Nv cnRpbmc6IGZ1bmN0aW9uKGV2KSB7CisgICAgICB2YXIgc2VsZiA9IHRoaXM7CisKKyAgICAgIHRo aXMuX3N0b3BFdmVudFByb3BvZ2F0aW9uKGV2KTsKKyAgICAgIHRoaXMuX2Nsb3NlRHJvcERvd24o ZXYpOworCisgICAgICAvLyBUcmlnZ2VyIHRoZSBkYXRhX3NvcnRpbmcgc2lnbmFsIHRvIHRoZSBT cWxFZGl0b3JDb250cm9sbGVyIGNsYXNzCisgICAgICBzZWxmLmhhbmRsZXIudHJpZ2dlcigKKyAg ICAgICAgJ3BnYWRtaW4tc3FsZWRpdG9yOmJ1dHRvbjpkYXRhX3NvcnRpbmcnLAorICAgICAgICBz ZWxmLAorICAgICAgICBzZWxmLmhhbmRsZXIKKyAgICAgICk7CisgICAgfSwKKwogICAgIC8vIENh bGxiYWNrIGZ1bmN0aW9uIGZvciBpbmNsdWRlIGZpbHRlciBidXR0b24gY2xpY2suCiAgICAgb25f aW5jbHVkZV9maWx0ZXI6IGZ1bmN0aW9uKGV2KSB7CiAgICAgICB2YXIgc2VsZiA9IHRoaXM7CkBA IC0yMDU3LDYgKzIwNzQsNyBAQCBkZWZpbmUoJ3Rvb2xzLnF1ZXJ5dG9vbCcsIFsKICAgICAgICAg c2VsZi5vbigncGdhZG1pbi1zcWxlZGl0b3I6YnV0dG9uOnNhdmUnLCBzZWxmLl9zYXZlLCBzZWxm KTsKICAgICAgICAgc2VsZi5vbigncGdhZG1pbi1zcWxlZGl0b3I6YnV0dG9uOmRlbGV0ZXJvdycs IHNlbGYuX2RlbGV0ZSwgc2VsZik7CiAgICAgICAgIHNlbGYub24oJ3BnYWRtaW4tc3FsZWRpdG9y OmJ1dHRvbjpzaG93X2ZpbHRlcicsIHNlbGYuX3Nob3dfZmlsdGVyLCBzZWxmKTsKKyAgICAgICAg c2VsZi5vbigncGdhZG1pbi1zcWxlZGl0b3I6YnV0dG9uOmRhdGFfc29ydGluZycsIHNlbGYuX2Rh dGFfc29ydGluZywgc2VsZik7CiAgICAgICAgIHNlbGYub24oJ3BnYWRtaW4tc3FsZWRpdG9yOmJ1 dHRvbjppbmNsdWRlX2ZpbHRlcicsIHNlbGYuX2luY2x1ZGVfZmlsdGVyLCBzZWxmKTsKICAgICAg ICAgc2VsZi5vbigncGdhZG1pbi1zcWxlZGl0b3I6YnV0dG9uOmV4Y2x1ZGVfZmlsdGVyJywgc2Vs Zi5fZXhjbHVkZV9maWx0ZXIsIHNlbGYpOwogICAgICAgICBzZWxmLm9uKCdwZ2FkbWluLXNxbGVk aXRvcjpidXR0b246cmVtb3ZlX2ZpbHRlcicsIHNlbGYuX3JlbW92ZV9maWx0ZXIsIHNlbGYpOwpA QCAtMzI0NSw2ICszMjYzLDEyIEBAIGRlZmluZSgndG9vbHMucXVlcnl0b29sJywgWwogICAgICAg ICB9KTsKICAgICAgIH0sCiAKKyAgICAgIC8vIFRoaXMgZnVuY3Rpb24gd2lsbCB1c2VkIHdoZW4g dXNlciB3YW50cyBjdXN0b20gZGF0YSBzb3J0aW5nCisgICAgICBfZGF0YV9zb3J0aW5nOiBmdW5j dGlvbigpIHsKKyAgICAgICAgbGV0IHNlbGYgPSB0aGlzOworICAgICAgICBEYXRhU29ydGluZ0hh bmRsZXIuZGlhbG9nKHNlbGYpOworICAgICAgfSwKKwogICAgICAgLy8gVGhpcyBmdW5jdGlvbiB3 aWxsIGluY2x1ZGUgdGhlIGZpbHRlciBieSBzZWxlY3Rpb24uCiAgICAgICBfaW5jbHVkZV9maWx0 ZXI6IGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdGVtcGxhdGVzL3NxbGVkaXRvci9zcWwvZGVmYXVs dC9nZXRfY29sdW1ucy5zcWwgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdGVtcGxhdGVz L3NxbGVkaXRvci9zcWwvZGVmYXVsdC9nZXRfY29sdW1ucy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNjEwNzQ3ZAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L3Rvb2xzL3NxbGVkaXRvci90ZW1wbGF0ZXMvc3FsZWRpdG9yL3NxbC9kZWZhdWx0L2dldF9jb2x1 bW5zLnNxbApAQCAtMCwwICsxLDkgQEAKK3sjID09PT09PT09PT09PT0gRmV0Y2ggdGhlIGNvbHVt bnMgPT09PT09PT09PT09PSAjfQoreyUgaWYgb2JqX2lkICV9CitTRUxFQ1QgYXQuYXR0bmFtZSwg dHkudHlwbmFtZQorICAgIEZST00gcGdfYXR0cmlidXRlIGF0CisgICAgTEVGVCBKT0lOIHBnX3R5 cGUgdHkgT04gKHR5Lm9pZCA9IGF0LmF0dHR5cGlkKQorV0hFUkUgYXR0cmVsaWQ9e3tvYmpfaWR9 fTo6b2lkCisgICAgQU5EIGF0LmF0dG51bSA+IDAKKyAgICBBTkQgYXQuYXR0aXNkcm9wcGVkID0g RkFMU0UKK3slIGVuZGlmICV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0 b3IvdGVtcGxhdGVzL3NxbGVkaXRvci9zcWwvZGVmYXVsdC9vYmplY3RxdWVyeS5zcWwgYi93ZWIv cGdhZG1pbi90b29scy9zcWxlZGl0b3IvdGVtcGxhdGVzL3NxbGVkaXRvci9zcWwvZGVmYXVsdC9v YmplY3RxdWVyeS5zcWwKaW5kZXggMWNiNjBkOS4uYWRkMTY1OCAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vdG9vbHMvc3FsZWRpdG9yL3RlbXBsYXRlcy9zcWxlZGl0b3Ivc3FsL2RlZmF1bHQvb2Jq ZWN0cXVlcnkuc3FsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci90ZW1wbGF0ZXMv c3FsZWRpdG9yL3NxbC9kZWZhdWx0L29iamVjdHF1ZXJ5LnNxbApAQCAtMyw3ICszLDExIEBAIFNF TEVDVCB7JSBpZiBoYXNfb2lkcyAlfW9pZCwgeyUgZW5kaWYgJX0qIEZST00ge3sgY29ubnxxdElk ZW50KG5zcF9uYW1lLCBvYmplY3RfCiB7JSBpZiBzcWxfZmlsdGVyICV9CiBXSEVSRSB7eyBzcWxf ZmlsdGVyIH19CiB7JSBlbmRpZiAlfQoteyUgaWYgcHJpbWFyeV9rZXlzICV9Cit7JSBpZiBkYXRh X3NvcnRpbmcgYW5kIGRhdGFfc29ydGluZ3xsZW5ndGggPiAwICV9CitPUkRFUiBCWSB7JSBmb3Ig b2JqIGluIGRhdGFfc29ydGluZyAlfQore3sgY29ubnxxdElkZW50KG9iai5uYW1lKSB9fSB7eyBv Ymoub3JkZXJ8dXBwZXIgfX17JSBpZiBub3QgbG9vcC5sYXN0ICV9LCB7JSBlbHNlICV9IHslIGVu ZGlmICV9Cit7JSBlbmRmb3IgJX0KK3slIGVsaWYgcHJpbWFyeV9rZXlzICV9CiBPUkRFUiBCWSB7 JSBmb3IgcCBpbiBwcmltYXJ5X2tleXMgJX17e2Nvbm58cXRJZGVudChwKX19eyUgaWYgY21kX3R5 cGUgPT0gMSBvciBjbWRfdHlwZSA9PSAzICV9IEFTQ3slIGVsaWYgY21kX3R5cGUgPT0gMiAlfSBE RVNDeyUgZW5kaWYgJX0KIHslIGlmIG5vdCBsb29wLmxhc3QgJX0sIHslIGVsc2UgJX0geyUgZW5k aWYgJX17JSBlbmRmb3IgJX0KIHslIGVuZGlmICV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90 b29scy9zcWxlZGl0b3IvdXRpbHMvZGF0YV9zb3J0aW5nLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMv c3FsZWRpdG9yL3V0aWxzL2RhdGFfc29ydGluZy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi43YTRjNDA2Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMv c3FsZWRpdG9yL3V0aWxzL2RhdGFfc29ydGluZy5weQpAQCAtMCwwICsxLDkxIEBACisjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHly aWdodCAoQykgMjAxMyAtIDIwMTgsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhp cyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworCisiIiJDb2RlIHRvIGhhbmRsZSBkYXRhIHNvcnRpbmcgaW4gdmll dyBkYXRhIG1vZGUuIiIiCitpbXBvcnQgcGlja2xlCitpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29u Citmcm9tIGZsYXNrX2JhYmVsIGltcG9ydCBnZXR0ZXh0Citmcm9tIHBnYWRtaW4udXRpbHMuYWph eCBpbXBvcnQgbWFrZV9qc29uX3Jlc3BvbnNlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IKK2Zyb20g cGdhZG1pbi50b29scy5zcWxlZGl0b3IudXRpbHMudXBkYXRlX3Nlc3Npb25fZ3JpZF90cmFuc2Fj dGlvbiBpbXBvcnQgXAorICAgIHVwZGF0ZV9zZXNzaW9uX2dyaWRfdHJhbnNhY3Rpb24KKworCitj bGFzcyBEYXRhU29ydGluZyhvYmplY3QpOgorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgZ2V0 KCphcmdzKToKKyAgICAgICAgIiIiVG8gZmV0Y2ggdGhlIGN1cnJlbnQgc29ydGVkIGNvbHVtbnMi IiIKKyAgICAgICAgc3RhdHVzLCBlcnJvcl9tc2csIGNvbm4sIHRyYW5zX29iaiwgc2Vzc2lvbl9v YmogPSBhcmdzCisgICAgICAgIGlmIGVycm9yX21zZyA9PSBnZXR0ZXh0KCdUcmFuc2FjdGlvbiBJ RCBub3QgZm91bmQgaW4gdGhlIHNlc3Npb24uJyk6CisgICAgICAgICAgICByZXR1cm4gbWFrZV9q c29uX3Jlc3BvbnNlKAorICAgICAgICAgICAgICAgIHN1Y2Nlc3M9MCwKKyAgICAgICAgICAgICAg ICBlcnJvcm1zZz1lcnJvcl9tc2csCisgICAgICAgICAgICAgICAgaW5mbz0nREFUQUdSSURfVFJB TlNBQ1RJT05fUkVRVUlSRUQnLAorICAgICAgICAgICAgICAgIHN0YXR1cz00MDQKKyAgICAgICAg ICAgICkKKyAgICAgICAgY29sdW1uX2xpc3QgPSBbXQorICAgICAgICBpZiBzdGF0dXMgYW5kIGNv bm4gaXMgbm90IE5vbmUgYW5kIFwKKyAgICAgICAgICAgICAgICB0cmFuc19vYmogaXMgbm90IE5v bmUgYW5kIHNlc3Npb25fb2JqIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgbXNnID0gZ2V0dGV4 dCgnU3VjY2VzcycpCisgICAgICAgICAgICBjb2x1bW5zLCBjb2x1bW5fbGlzdCA9IHRyYW5zX29i ai5nZXRfYWxsX2NvbHVtbnNfd2l0aF9vcmRlcihjb25uKQorICAgICAgICBlbHNlOgorICAgICAg ICAgICAgc3RhdHVzID0gRmFsc2UKKyAgICAgICAgICAgIG1zZyA9IGVycm9yX21zZworICAgICAg ICAgICAgY29sdW1ucyA9IE5vbmUKKworICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNl KAorICAgICAgICAgICAgZGF0YT17CisgICAgICAgICAgICAgICAgJ3N0YXR1cyc6IHN0YXR1cywK KyAgICAgICAgICAgICAgICAnbXNnJzogbXNnLAorICAgICAgICAgICAgICAgICdyZXN1bHQnOiB7 CisgICAgICAgICAgICAgICAgICAgICdkYXRhX3NvcnRpbmcnOiBjb2x1bW5zLAorICAgICAgICAg ICAgICAgICAgICAnY29sdW1uX2xpc3QnOiBjb2x1bW5fbGlzdAorICAgICAgICAgICAgICAgIH0K KyAgICAgICAgICAgIH0KKyAgICAgICAgKQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBz YXZlKCphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICIiIlRvIHNhdmUgdGhlIHNvcnRlZCBjb2x1 bW5zIiIiCisgICAgICAgICMgQ2hlY2sgdGhlIHRyYW5zYWN0aW9uIGFuZCBjb25uZWN0aW9uIHN0 YXR1cworICAgICAgICBzdGF0dXMsIGVycm9yX21zZywgY29ubiwgdHJhbnNfb2JqLCBzZXNzaW9u X29iaiA9IGFyZ3MKKyAgICAgICAgdHJhbnNfaWQgPSBrd2FyZ3NbJ3RyYW5zX2lkJ10KKyAgICAg ICAgcmVxdWVzdCA9IGt3YXJnc1sncmVxdWVzdCddCisKKyAgICAgICAgaWYgcmVxdWVzdC5kYXRh OgorICAgICAgICAgICAgc29ydGluZ19kYXRhID0ganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEsIGVu Y29kaW5nPSd1dGYtOCcpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzb3J0aW5nX2RhdGEg PSByZXF1ZXN0LmFyZ3Mgb3IgcmVxdWVzdC5mb3JtCisKKyAgICAgICAgaWYgZXJyb3JfbXNnID09 IGdldHRleHQoJ1RyYW5zYWN0aW9uIElEIG5vdCBmb3VuZCBpbiB0aGUgc2Vzc2lvbi4nKToKKyAg ICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICAgICAgc3Vj Y2Vzcz0wLAorICAgICAgICAgICAgICAgIGVycm9ybXNnPWVycm9yX21zZywKKyAgICAgICAgICAg ICAgICBpbmZvPSdEQVRBR1JJRF9UUkFOU0FDVElPTl9SRVFVSVJFRCcsCisgICAgICAgICAgICAg ICAgc3RhdHVzPTQwNAorICAgICAgICAgICAgKQorCisgICAgICAgIGlmIHN0YXR1cyBhbmQgY29u biBpcyBub3QgTm9uZSBhbmQgXAorICAgICAgICAgICB0cmFuc19vYmogaXMgbm90IE5vbmUgYW5k IHNlc3Npb25fb2JqIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgdHJhbnNfb2JqLnNldF9kYXRh X3NvcnRpbmcoc29ydGluZ19kYXRhKQorICAgICAgICAgICAgIyBBcyB3ZSBjaGFuZ2VkIHRoZSB0 cmFuc2FjdGlvbiBvYmplY3Qgd2UgbmVlZCB0bworICAgICAgICAgICAgIyByZXN0b3JlIGl0IGFu ZCB1cGRhdGUgdGhlIHNlc3Npb24gdmFyaWFibGUuCisgICAgICAgICAgICBzZXNzaW9uX29ialsn Y29tbWFuZF9vYmonXSA9IHBpY2tsZS5kdW1wcyh0cmFuc19vYmosIC0xKQorICAgICAgICAgICAg dXBkYXRlX3Nlc3Npb25fZ3JpZF90cmFuc2FjdGlvbih0cmFuc19pZCwgc2Vzc2lvbl9vYmopCisg ICAgICAgICAgICByZXMgPSBnZXR0ZXh0KCdEYXRhIHNvcnRpbmcgb2JqZWN0IHVwZGF0ZWQgc3Vj Y2Vzc2Z1bGx5JykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9z ZXJ2ZXJfZXJyb3IoCisgICAgICAgICAgICAgICAgZXJyb3Jtc2c9Z2V0dGV4dCgnRmFpbGVkIHRv IHVwZGF0ZSB0aGUgZGF0YSBvbiBzZXJ2ZXIuJykKKyAgICAgICAgICAgICkKKworICAgICAgICBy ZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAgICAgZGF0YT17CisgICAgICAgICAg ICAgICAgJ3N0YXR1cyc6IHN0YXR1cywKKyAgICAgICAgICAgICAgICAncmVzdWx0JzogcmVzCisg ICAgICAgICAgICB9CisgICAgICAgICkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3Nx bGVkaXRvci91dGlscy90ZXN0cy90ZXN0X2RhdGFfc29ydGluZ19jYWxsYmFja3MucHkgYi93ZWIv cGdhZG1pbi90b29scy9zcWxlZGl0b3IvdXRpbHMvdGVzdHMvdGVzdF9kYXRhX3NvcnRpbmdfY2Fs bGJhY2tzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzNjRjZmIKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdXRpbHMvdGVzdHMv dGVzdF9kYXRhX3NvcnRpbmdfY2FsbGJhY2tzLnB5CkBAIC0wLDAgKzEsMTAzIEBACisjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdo dCAoQykgMjAxMyAtIDIwMTgsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBz b2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworCisiIiJBcHBseSBFeHBsYWluIHBsYW4gd3JhcHBlciB0byBzcWwgb2Jq ZWN0LiIiIgorZnJvbSBwZ2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNwb25z ZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9yCitmcm9tIHBnYWRtaW4udG9vbHMuc3FsZWRpdG9yLnV0 aWxzLmRhdGFfc29ydGluZyBpbXBvcnQgRGF0YVNvcnRpbmcKK2Zyb20gcGdhZG1pbi51dGlscy5y b3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKKworVFhfSURfRVJST1JfTVNHID0gJ1RyYW5z YWN0aW9uIElEIG5vdCBmb3VuZCBpbiB0aGUgc2Vzc2lvbi4nCitGQUlMRURfVFhfTVNHID0gJ0Zh aWxlZCB0byB1cGRhdGUgdGhlIGRhdGEgb24gc2VydmVyLicKKworCitjbGFzcyBNb2NrUmVxdWVz dChvYmplY3QpOgorICAgICJUbyBtb2NrIHJlcXVlc3Qgb2JqZWN0IgorICAgIGRlZiBfX2luaXRf XyhzZWxmKToKKyAgICAgICAgc2VsZi5kYXRhID0gTm9uZQorICAgICAgICBzZWxmLmFyZ3MgPSAi VGVzdCBkYXRhIiwKKworCitjbGFzcyBTdGFydFJ1bm5pbmdEYXRhU29ydGluZ1Rlc3QoQmFzZVRl c3RHZW5lcmF0b3IpOgorICAgICIiIgorICAgIENoZWNrIHRoYXQgdGhlIERhdGFTb3J0aW5nIG1l dGhvZHMgd29ya3MgYXMKKyAgICBpbnRlbmRlZAorICAgICIiIgorICAgIHNjZW5hcmlvcyA9IFsK KyAgICAgICAgKCdXaGVuIHdlIGRvIG5vdCBmaW5kIFRyYW5zYWN0aW9uIElEIGluIHNlc3Npb24g aW4gZ2V0JywgZGljdCgKKyAgICAgICAgICAgIGlucHV0X3BhcmFtZXRlcnM9KE5vbmUsIFRYX0lE X0VSUk9SX01TRywgTm9uZSwgTm9uZSwgTm9uZSksCisgICAgICAgICAgICBleHBlY3RlZF9yZXR1 cm5fcmVzcG9uc2U9eworICAgICAgICAgICAgICAgICdzdWNjZXNzJzogMCwKKyAgICAgICAgICAg ICAgICAnZXJyb3Jtc2cnOiBUWF9JRF9FUlJPUl9NU0csCisgICAgICAgICAgICAgICAgJ2luZm8n OiAnREFUQUdSSURfVFJBTlNBQ1RJT05fUkVRVUlSRUQnLAorICAgICAgICAgICAgICAgICdzdGF0 dXMnOiA0MDQKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB0eXBlPSdnZXQnCisgICAgICAg ICkpLAorICAgICAgICAoJ1doZW4gd2UgcGFzcyBhbGwgdGhlIHZhbHVlcyBhcyBOb25lIGluIGdl dCcsIGRpY3QoCisgICAgICAgICAgICBpbnB1dF9wYXJhbWV0ZXJzPShOb25lLCBOb25lLCBOb25l LCBOb25lLCBOb25lKSwKKyAgICAgICAgICAgIGV4cGVjdGVkX3JldHVybl9yZXNwb25zZT17Cisg ICAgICAgICAgICAgICAgJ2RhdGEnOiB7CisgICAgICAgICAgICAgICAgICAgICdzdGF0dXMnOiBG YWxzZSwKKyAgICAgICAgICAgICAgICAgICAgJ21zZyc6IE5vbmUsCisgICAgICAgICAgICAgICAg ICAgICdyZXN1bHQnOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YV9zb3J0aW5nJzog Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdjb2x1bW5fbGlzdCc6IFtdCisgICAgICAg ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAg ICAgICAgdHlwZT0nZ2V0JworICAgICAgICApKSwKKworICAgICAgICAoJ1doZW4gd2UgZG8gbm90 IGZpbmQgVHJhbnNhY3Rpb24gSUQgaW4gc2Vzc2lvbiBpbiBzYXZlJywgZGljdCgKKyAgICAgICAg ICAgIGlucHV0X2FyZ19wYXJhbWV0ZXJzPShOb25lLCBUWF9JRF9FUlJPUl9NU0csIE5vbmUsIE5v bmUsIE5vbmUpLAorICAgICAgICAgICAgaW5wdXRfa3dhcmdfcGFyYW1ldGVycz17CisgICAgICAg ICAgICAgICAgJ3RyYW5zX2lkJzogTm9uZSwKKyAgICAgICAgICAgICAgICAncmVxdWVzdCc6IE1v Y2tSZXF1ZXN0KCkKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBleHBlY3RlZF9yZXR1cm5f cmVzcG9uc2U9eworICAgICAgICAgICAgICAgICdzdWNjZXNzJzogMCwKKyAgICAgICAgICAgICAg ICAnZXJyb3Jtc2cnOiBUWF9JRF9FUlJPUl9NU0csCisgICAgICAgICAgICAgICAgJ2luZm8nOiAn REFUQUdSSURfVFJBTlNBQ1RJT05fUkVRVUlSRUQnLAorICAgICAgICAgICAgICAgICdzdGF0dXMn OiA0MDQKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB0eXBlPSdzYXZlJworICAgICAgICAp KSwKKworICAgICAgICAoJ1doZW4gd2UgcGFzcyBhbGwgdGhlIHZhbHVlcyBhcyBOb25lIGluIHNh dmUnLCBkaWN0KAorICAgICAgICAgICAgaW5wdXRfYXJnX3BhcmFtZXRlcnM9KE5vbmUsIE5vbmUs IE5vbmUsIE5vbmUsIE5vbmUpLAorICAgICAgICAgICAgaW5wdXRfa3dhcmdfcGFyYW1ldGVycz17 CisgICAgICAgICAgICAgICAgJ3RyYW5zX2lkJzogTm9uZSwKKyAgICAgICAgICAgICAgICAncmVx dWVzdCc6IE1vY2tSZXF1ZXN0KCkKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBleHBlY3Rl ZF9yZXR1cm5fcmVzcG9uc2U9eworICAgICAgICAgICAgICAgICdzdGF0dXMnOiA1MDAsCisgICAg ICAgICAgICAgICAgJ3N1Y2Nlc3MnOiAwLAorICAgICAgICAgICAgICAgICdlcnJvcm1zZyc6IEZB SUxFRF9UWF9NU0cKKworICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHR5cGU9J3NhdmUnCisg ICAgICAgICkpCisgICAgXQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgIGV4cGVj dGVkX3Jlc3BvbnNlID0gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAgICAgKipzZWxmLmV4 cGVjdGVkX3JldHVybl9yZXNwb25zZQorICAgICAgICApCisgICAgICAgIGlmIHNlbGYudHlwZSA9 PSAnZ2V0JzoKKyAgICAgICAgICAgIHJlc3VsdCA9IERhdGFTb3J0aW5nLmdldCgqc2VsZi5pbnB1 dF9wYXJhbWV0ZXJzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoCisgICAgICAgICAg ICAgICAgcmVzdWx0LnN0YXR1c19jb2RlLCBleHBlY3RlZF9yZXNwb25zZS5zdGF0dXNfY29kZQor ICAgICAgICAgICAgKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmVzdWx0ID0gRGF0YVNv cnRpbmcuc2F2ZSgKKyAgICAgICAgICAgICAgICAqc2VsZi5pbnB1dF9hcmdfcGFyYW1ldGVycywg KipzZWxmLmlucHV0X2t3YXJnX3BhcmFtZXRlcnMKKyAgICAgICAgICAgICkKKyAgICAgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWxzKAorICAgICAgICAgICAgICAgIHJlc3VsdC5zdGF0dXNfY29kZSwg ZXhwZWN0ZWRfcmVzcG9uc2Uuc3RhdHVzX2NvZGUKKyAgICAgICAgICAgICkKZGlmZiAtLWdpdCBh L3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvc3FsZWRpdG9yL2RhdGFfc29ydGluZ19zcGVjcy5q cyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvc3FsZWRpdG9yL2RhdGFfc29ydGluZ19zcGVj cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjE5NTU2Ci0tLSAvZGV2 L251bGwKKysrIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9zcWxlZGl0b3IvZGF0YV9zb3J0 aW5nX3NwZWNzLmpzCkBAIC0wLDAgKzEsMzAgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8g cGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworLy8KKy8vIENvcHlyaWdodCAoQykgMjAxMyAt IDIwMTgsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMg cmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vCitpbXBvcnQgZGF0YVNvcnRpbmcgZnJvbSAnc291cmNlcy9zcWxlZGl0b3IvZGF0YV9zb3J0 aW5nJzsKKworZGVzY3JpYmUoJ2RhdGFTb3J0aW5nJywgKCkgPT4geworICBsZXQgc3FsRWRpdG9y Q29udHJvbGxlcjsKKyAgc3FsRWRpdG9yQ29udHJvbGxlciA9IGphc21pbmUuY3JlYXRlU3B5KCdz cWxFZGl0b3JDb250cm9sbGVyJykKKyAgZGVzY3JpYmUoJ2RhdGFTb3J0aW5nJywgKCkgPT4gewor ICAgIGRlc2NyaWJlKCd3aGVuIGRhdGEgc29ydGluZyBmaWx0ZXIgZGlhbG9nJywgKCkgPT4gewor ICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7CisgICAgICAgIHNweU9uKGRhdGFTb3J0aW5nLCAnZGlh bG9nJyk7CisgICAgICB9KTsKKworICAgICAgaXQoIml0IHNob3VsZCBiZSBkZWZpbmVkIGFzIGZ1 bmN0aW9uIiwgZnVuY3Rpb24oKSB7CisgICAgICAgIGV4cGVjdChkYXRhU29ydGluZy5kaWFsb2cp LnRvQmVEZWZpbmVkKCk7CisgICAgICB9KTsKKworICAgICAgaXQoJ2l0IHNob3VsZCBjYWxsIHdp dGhvdXQgcHJvcGVyIGhhbmRsZXInLCAoKSA9PiB7CisgICAgICAgIGV4cGVjdChkYXRhU29ydGlu Zy5kaWFsb2cpLm5vdC50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7fSk7CisgICAgICB9KTsKKworICAg IH0pOworICB9KTsKK30pOwo= --001a11407fce6608c30568409fd3--