LyoKICogQ29weXJpZ2h0IDIwMDggYnkgSmVucyBBbGJyZXRzZW4gPGplbnNAYWxicmV0c2VuLmRrPgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgpMQU5HVUFHRSBMQU5HX0RBTklTSCwgU1VCTEFOR19ERUZBVUxUCgpJRE1fTUFJTk1FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiZGaWwiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImTnkuLi5cdEN0cmwrTiIsICAgICAgICAgICAgSURfRklMRV9ORVcKICAgICAgICBNRU5VSVRFTSAiJsViZW4uLi5cdEN0cmwrTyIsICAgICAgICAgIElEX0ZJTEVfT1BFTgogICAgICAgIE1FTlVJVEVNICImR2VtbWVcdEN0cmwrUyIsICAgICAgICAgICAgSURfRklMRV9TQVZFCiAgICAgICAgTUVOVUlURU0gIkdlbW1lICZzb20uLi4iLCAgICAgICAgICAgICBJRF9GSUxFX1NBVkVBUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImVWRza3Jpdi4uLlx0Q3RybCtQIiwgICAgICAgSURfUFJJTlQKICAgICAgICBNRU5VSVRFTSAiJkZvcmjlbmRzdmlzbmluZy4uLiIsICAgICAgIElEX1BSRVZJRVcKICAgICAgICBNRU5VSVRFTSAiJlNpZGUgaW5kc3RpbGxpbmdlci4uLiIsICAgIElEX1BSSU5UU0VUVVAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkFmc2x1dCIsICAgICAgICAgICAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgRU5ECiAgICBQT1BVUCAiUiZlZGlnZXIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImRm9ydHJ5ZFx0Q3RybCtaIiwgICAgICAgICAgSURfRURJVF9VTkRPCiAgICAgICAgTUVOVUlURU0gIiZHZW5kYWdcdEN0cmwrWSIsICAgICAgICAgICBJRF9FRElUX1JFRE8KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJktsaXBcdEN0cmwrWCIsICAgICAgICAgICAgIElEX0VESVRfQ1VUCiAgICAgICAgTUVOVUlURU0gIksmb3BpZXJcdEN0cmwrQyIsICAgICAgICAgICBJRF9FRElUX0NPUFkKICAgICAgICBNRU5VSVRFTSAiJkluZHPmdFx0Q3RybCtWIiwgICAgICAgICAgIElEX0VESVRfUEFTVEUKICAgICAgICBNRU5VSVRFTSAiJkZqZXJuXHRERUwiLCAgICAgICAgICAgICAgIElEX0VESVRfQ0xFQVIKICAgICAgICBNRU5VSVRFTSAiJk1hcmtlciBhbHRcdEN0cmwrQSIsICAgICAgIElEX0VESVRfU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZT+GcgZWZ0ZXIuLi5cdENydGwrRiIsICAgICBJRF9GSU5ECiAgICAgICAgTUVOVUlURU0gIlP4ZyBlZnRlciAmbuZzdGVcdEYzIiwgICAgICBJRF9GSU5EX05FWFQKICAgICAgICBNRU5VSVRFTSAiRSZyc3RhdC4uLlx0Q3RybCtIIiwgICAgICAgIElEX1JFUExBQ0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiUyZrcml2ZWJlc2t5dHRldCIsICAgICAgICAgIElEX0VESVRfUkVBRE9OTFkKICAgICAgICBNRU5VSVRFTSAixiZuZHJldCIsICAgICAgICAgICAgICAgICAgIElEX0VESVRfTU9ESUZJRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBQT1BVUCAiJkVrc3RyYSIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJkluZm9ybWF0aW9uIG9tIG1hcmtlcmV0IG9tcuVkZSIsIElEX0VESVRfU0VMRUNUSU9OSU5GTwogICAgICAgICAgICBNRU5VSVRFTSAiVGVnbiZmb3JtYXQiLCAgICAgICAgICAgSURfRURJVF9DSEFSRk9STUFUCiAgICAgICAgICAgIE1FTlVJVEVNICJTdGFuJmRhcmQgdGVnbmZvcm1hdCIsICBJRF9FRElUX0RFRkNIQVJGT1JNQVQKICAgICAgICAgICAgTUVOVUlURU0gIiZBZnNuaXRzZm9ybWF0IiwgICAgICAgIElEX0VESVRfUEFSQUZPUk1BVAogICAgICAgICAgICBNRU5VSVRFTSAiJkhlbnQgdGVrc3QiLCAgICAgICAgICAgSURfRURJVF9HRVRURVhUCiAgICAgICAgRU5ECiAgICBFTkQKICAgIFBPUFVQICImVmlzIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiVuZyayZ0+GpzbGluaWUiLCAgICAgICAgICAgIElEX1RPR0dMRV9UT09MQkFSCiAgICAgICAgTUVOVUlURU0gIiZGb3JtYXR0ZXJpbmdsaW5pZSIsICAgICAgICBJRF9UT0dHTEVfRk9STUFUQkFSCiAgICAgICAgTUVOVUlURU0gIiZMaW5lYWwiLCAgICAgICAgICAgICAgICAgICBJRF9UT0dHTEVfUlVMRVIKICAgICAgICBNRU5VSVRFTSAiJlN0YXR1c2xpbmllIiwgICAgICAgICAgICAgIElEX1RPR0dMRV9TVEFUVVNCQVIKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkFsdGVybmF0aXZlci4uLiIsICAgICAgICAgIElEX1ZJRVdQUk9QRVJUSUVTCiAgICBFTkQKICAgIFBPUFVQICImSW5kc+Z0IgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkRhdG8gb2cgdGlkLi4uIiwgICAgICAgICAgIElEX0RBVEVUSU1FCiAgICBFTkQKICAgIFBPUFVQICJGJm9ybWF0IgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJlNrcmlmdHR5cGUuLi4iLCAgICAgICAgICAgIElEX0ZPTlRTRVRUSU5HUwogICAgICAgIE1FTlVJVEVNICImQnVsbGV0cyIgICAgICAgICAgICAgICAgICAgSURfQlVMTEVUCiAgICAgICAgTUVOVUlURU0gIiZBZnNuaXQuLi4iICAgICAgICAgICAgICAgICBJRF9QQVJBRk9STUFUCiAgICAgICAgTUVOVUlURU0gIiZUYWJ1bGF0b3Jlci4uLiIgICAgICAgICAgICBJRF9UQUJTVE9QUwogICAgICAgIFBPUFVQICImQmFnZ3J1bmQiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZTeXN0ZW1cdEN0cmwrMSIsICAgICAgIElEX0JBQ0tfMQogICAgICAgICAgICBNRU5VSVRFTSAiJkh1c2tlc2VkZGVsXHRDdHJsKzIiLCAgSURfQkFDS18yCiAgICAgICAgRU5ECiAgICBFTkQKICAgIFBPUFVQICImSGrmbHAiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImT20gV2luZSBXb3JkcGFkIiAgICAgICAgICAgSURfQUJPVVQKICAgIEVORApFTkQKCklETV9QT1BVUCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJktsaXAiICAgICAgICAgICAgICAgIElEX0VESVRfQ1VUCiAgICAgICAgTUVOVUlURU0gIksmb3BpZXIiICAgICAgICAgICAgICBJRF9FRElUX0NPUFkKICAgICAgICBNRU5VSVRFTSAiJkluZHPmdCIgICAgICAgICAgICAgIElEX0VESVRfUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkJ1bGxldHMiICAgICAgICAgICAgIElEX0JVTExFVAogICAgICAgIE1FTlVJVEVNICImQWZzbml0Li4uIiAgICAgICAgICAgSURfUEFSQUZPUk1BVAogICAgRU5ECkVORAoKSUREX0RBVEVUSU1FIERJQUxPRyBESVNDQVJEQUJMRSAzMCwgMjAsIDEzMCwgODAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkRhdG8gb2cgdGlkIgpGT05UIDEwLCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIExURVhUICAgICAgICAiVGlsZ+ZuZ2VsaWdlIGZvcm1hdGVyIiwwLDMsMiwxMDAsMTUKICAgIExJU1RCT1ggICAgICBJRENfREFURVRJTUUsMywxMiw4MCw2NSxMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IExCU19OT1RJRlkKICAgIFBVU0hCVVRUT04gICAiJk9LIixJRE9LLDg3LDEyLDQwLDEyCiAgICBQVVNIQlVUVE9OICAgIiZBbm51bGxlciIsSURDQU5DRUwsODcsMjYsNDAsMTIKRU5ECgpJRERfTkVXRklMRSBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAxNDAsIDgwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJOeSIKRk9OVCAxMCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBMVEVYVCAgICAgICAgIk55IGRva3VtZW50dHlwZSIsMCwzLDIsMTAwLDE1CiAgICBMSVNUQk9YICAgICAgSURDX05FV0ZJTEUsMywxMiw5MCw2NSxMQlNfTk9JTlRFR1JBTEhFSUdIVAogICAgUFVTSEJVVFRPTiAgICImT0siLElET0ssOTcsMTIsNDAsMTIKICAgIFBVU0hCVVRUT04gICAiJkFubnVsbGVyIixJRENBTkNFTCw5NywyNiw0MCwxMgpFTkQKCklERF9QQVJBRk9STUFUIERJQUxPRyBESVNDQVJEQUJMRSAzMCwgMjAsIDIwMCwgMTEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDYXB0aW9uICJGb3JtYXRlciBhZnNuaXQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICJJbmRyeWsiLCAwLCAxMCwgMTAsIDEyMCwgNjgKICAgIExURVhUICJWZW5zdHJlIiwgMCwgMTUsIDIyLCA0MCwgMTMKICAgIEVESVRURVhUIElEQ19QQVJBX0xFRlQsIDU1LCAyMCwgNjAsIDEzCiAgICBMVEVYVCAiSPhqcmUiLCAwLCAxNSwgNDAsIDQwLCAxMwogICAgRURJVFRFWFQgSURDX1BBUkFfUklHSFQsIDU1LCAzOCwgNjAsIDEzCiAgICBMVEVYVCAiRvhyc3RlIGxpbmllIiwgMCwgMTUsIDU4LCA0MCwgMTMKICAgIEVESVRURVhUIElEQ19QQVJBX0ZJUlNULCA1NSwgNTYsIDYwLCAxMwogICAgTFRFWFQgIkp1c3RlcmluZyIsIDAsIDE1LCA4NywgNDAsIDEzCiAgICBDT01CT0JPWCBJRENfUEFSQV9BTElHTiwgNTUsIDg1LCA2MCwgNjAsIENCU19EUk9QRE9XTkxJU1QKICAgIFBVU0hCVVRUT04gIiZPSyIsIElET0ssIDEzNywgMTUsIDUwLCAxNQogICAgUFVTSEJVVFRPTiAiJkFubnVsbGVyIiwgSURDQU5DRUwsIDEzNywgMzMsIDUwLCAxNQpFTkQKCklERF9UQUJTVE9QUyBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAyMDAsIDExMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ2FwdGlvbiAiVGFidWxhdG9yZXIiCkZPTlQgOCwgIk1TIFNIZWxsIERMZyIKQkVHSU4KICAgIEdST1VQQk9YICJUYWJ1bGF0b3JzdG9wIiwgMCwgMTAsIDEwLCAxMjAsIDkwCiAgICBDT01CT0JPWCBJRENfVEFCU1RPUFMsIDIwLCAyMCwgMTAwLCA2MCwgQ0JTX1NJTVBMRSB8IENCU19TT1JUCiAgICBERUZQVVNIQlVUVE9OICImVGlsZvhqIiwgSURfVEFCX0FERCwgMjAsIDgwLCA0NSwgMTUKICAgIFBVU0hCVVRUT04gIiZGamVybiIsIElEX1RBQl9ERUwsIDcyLCA4MCwgNDUsIDE1CiAgICBQVVNIQlVUVE9OICImT0siLCBJRE9LLCAxMzcsIDE1LCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIiZBbm51bGxlciIsIElEQ0FOQ0VMLCAxMzcsIDMzLCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIkZqZXJuIGFsbCZlIiwgSURfVEFCX0VNUFRZLCAxMzcsIDUxLCA1MCwgMTUKRU5ECgpJRERfRk9STUFUT1BUUyBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCAxMTAKU1RZTEUgRFNfU1lTTU9EQUwKQ2FwdGlvbiAiIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAiTGluaWVicnlkbmluZyIsIDAsIDEwLCAxMCwgMTMwLCA4NQogICAgUkFESU9CVVRUT04gIk5vIGxpbmUgd3JhcHBpbmciLCBJRENfUEFHRUZNVF9XTiwgMTgsIDI1LCAxMTcsIDE1CiAgICBSQURJT0JVVFRPTiAiQnJ5ZCB0ZWtzdCBlZnRlciB2JmluZHVzYnJlZGRlbiIsIElEQ19QQUdFRk1UX1dXLCAxOCwgNDUsIDExNywgMTUKICAgIFJBRElPQlVUVE9OICJCcnlkIHRla3N0IGVmdGVyICZtYXJnZW4iLCBJRENfUEFHRUZNVF9XTSwgMTgsIDY1LCAxMTcsIDE1CiAgICBHUk9VUEJPWCAiVuZya3T4anNsaW5pZXIiLCAwLCAxNTAsIDEwLCAxMjAsIDg1CiAgICBDSEVDS0JPWCAiJlbmcmt0+GpzbGluaWUiLCBJRENfUEFHRUZNVF9UQiwgMTYwLCAyMCwgODAsIDE1CiAgICBDSEVDS0JPWCAiJkZvcm1hdHRlcmluZ2xpbmllIiwgSURDX1BBR0VGTVRfRkIsIDE2MCwgMzgsIDgwLCAxNQogICAgQ0hFQ0tCT1ggIiZMaW5lYWwiLCBJRENfUEFHRUZNVF9SVSwgMTYwLCA1NiwgODAsIDE1CiAgICBDSEVDS0JPWCAiJlN0YXR1c2xpbmllIiwgSURDX1BBR0VGTVRfU0IsIDE2MCwgNzQsIDgwLCAxNQogICAgTFRFWFQgIiIsIElEQ19QQUdFRk1UX0lELCAwLDAsMCwwCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19SSUNIVEVYVF9GSUxFU19SVEYsICAgICAiUmlnIHRla3N0Zm9ybWF0ICgqLnJ0ZikiCiAgICBTVFJJTkdfVEVYVF9GSUxFU19UWFQsICAgICAgICAgIlRla3N0ZG9rdW1lbnQgKCoudHh0KSIKICAgIFNUUklOR19URVhUX0ZJTEVTX1VOSUNPREVfVFhULCAiVW5pY29kZS10ZWtzdGRva3VtZW50ICgqLnR4dCkiCiAgICBTVFJJTkdfQUxMX0ZJTEVTLCAgICAgICAgICAgICAgIkFsbGUgZmlsZXIgKCouKikiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19ORVdGSUxFX1JJQ0hURVhULCAgICAgIlJpZyB0ZWtzdGRva3VtZW50IgogICAgU1RSSU5HX05FV0ZJTEVfVFhULCAgICAgICAgICAiVGVrc3Rkb2t1bWVudCIKICAgIFNUUklOR19ORVdGSUxFX1RYVF9VTklDT0RFLCAgIlRla3N0ZG9rdW1lbnQgKFVuaWNvZGUpIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfQUxJR05fTEVGVCwgICAgICAgICAgICAiVmVuc3RyZXN0aWxsZXQiCiAgICBTVFJJTkdfQUxJR05fUklHSFQsICAgICAgICAgICAiSPhqcmVzdGlsbGV0IgogICAgU1RSSU5HX0FMSUdOX0NFTlRFUiwgICAgICAgICAgIk1pZHRlcnN0aWxsZXQiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19QUklOVEVSX0ZJTEVTX1BSTiwgICAgICAgICJQcmludGVyZmlsZXIgKCouUFJOKSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1ZJRVdQUk9QU19USVRMRSwgICAgICAgICAgIkFsdGVybmF0aXZlciIKICAgIFNUUklOR19WSUVXUFJPUFNfVEVYVCwgICAgICAgICAgICJUZWtzdCIKICAgIFNUUklOR19WSUVXUFJPUFNfUklDSFRFWFQsICAgICAgICJSaWcgdGVrc3QiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19QUkVWSUVXX1BSSU5ULCAgICAgICAgICAgICJVZHNrcml2IgogICAgU1RSSU5HX1BSRVZJRVdfTkVYVFBBR0UsICAgICAgICAgIk7mc3RlIHNpZGUiCiAgICBTVFJJTkdfUFJFVklFV19QUkVWUEFHRSwgICAgICAgICAiRm9ycmlnZSBzaWRlIgogICAgU1RSSU5HX1BSRVZJRVdfVFdPUEFHRVMsICAgICAgICAgIlRvIHNpZGVyIgogICAgU1RSSU5HX1BSRVZJRVdfT05FUEFHRSwgICAgICAgICAgIsluIHNpZGUiCiAgICBTVFJJTkdfUFJFVklFV19DTE9TRSwgICAgICAgICAgICAiTHVrIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfVU5JVFNfQ00sICAgICAgICAgICAgICJjbSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX0RFRkFVTFRfRklMRU5BTUUsICAgICAiRG9rdW1lbnQiCiAgICBTVFJJTkdfUFJPTVBUX1NBVkVfQ0hBTkdFUywgICJHZW1tZSDmbmRyaW5nZXIgaSCrJXO7PyIKICAgIFNUUklOR19TRUFSQ0hfRklOSVNIRUQsICAgICAgIkbmcmRpZyBtZWQgYXQgc/hnZSBpIGRva3VtZW50ZXQuIgogICAgU1RSSU5HX0xPQURfUklDSEVEX0ZBSUxFRCwgICAiS3VubmUgaWtrZSBpbmRs5nNlIFJpY2hFZGl0LWJpYmxpb3Rla2V0LiIKICAgIFNUUklOR19TQVZFX0xPU0VGT1JNQVRUSU5HLCAgIkR1IGhhciB2YWxndCBhdCBnZW1tZSBpIHJlbnQgdGVrc3Rmb3JtYXQsIG5vZ2V0IHNvbSAiIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZpbCBtZWRm+HJlIGF0IGFsIGZvcm1hdGVyaW5nIGflciB0YWJ0LiBFciBkdSAiIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpa2tlciBw5SBhdCBkdSB2aWwgZm9ydHPmdHRlPyIKICAgIFNUUklOR19JTlZBTElEX05VTUJFUiwgICAgICAgIlVneWxkaWd0IHRhbGZvcm1hdCIKICAgIFNUUklOR19PTEVfU1RPUkFHRV9OT1RfU1VQUE9SVEVELCAiT0xFIHN0b3JhZ2UgZG9rdW1lbnRlciBlciBpa2tlIHVuZGVyc3T4dHRldCIKRU5ECg==