1671341443
AwuilbDvXz%3Aa3d429d347a190e48f8b25b9e931be13-224ab7c7ecbcae920d74d23d7e44f681
s:407428:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxMjp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDA6IlB1bGwgZGF0YSBmcm9tIFNhbGVzZm9yY2UgaW50byBXb3JkUHJlc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo1OiJjbGFzcyI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzA6Ik9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljIjoyOntzOjc6IgAqAG5hbWUiO3M6NzoicGFja2FnZSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjI6Ik9iamVjdF9TeW5jX1NhbGVzZm9yY2UiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6IjIyNGFiN2M3ZWNiY2FlOTIwZDc0ZDIzZDdlNDRmNjgxIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWUiO3M6NDA6ImNsYXNzLW9iamVjdC1zeW5jLXNmLXNhbGVzZm9yY2UtcHVsbC5waHAiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo0ODoiY2xhc3Nlcy9jbGFzcy1vYmplY3Qtc3luYy1zZi1zYWxlc2ZvcmNlLXB1bGwucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoxMDE0MzQ6Ijw/cGhwCi8qKgogKiBQdWxsIGRhdGEgZnJvbSBTYWxlc2ZvcmNlIGludG8gV29yZFByZXNzCiAqCiAqIEBjbGFzcyAgIE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbAogKiBAcGFja2FnZSBPYmplY3RfU3luY19TYWxlc2ZvcmNlCiAqLwoKZGVmaW5lZCggJ0FCU1BBVEgnICkgfHwgZXhpdDsKCi8qKgogKiBPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwgY2xhc3MuCiAqLwpjbGFzcyBPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwgewoKCS8qKgoJICogQ3VycmVudCB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4KCSAqCgkgKiBAdmFyIHN0cmluZwoJICovCglwdWJsaWMgJHZlcnNpb247CgoJLyoqCgkgKiBUaGUgbWFpbiBwbHVnaW4gZmlsZQoJICoKCSAqIEB2YXIgc3RyaW5nCgkgKi8KCXB1YmxpYyAkZmlsZTsKCgkvKioKCSAqIEdsb2JhbCBvYmplY3Qgb2YgYCR3cGRiYCwgdGhlIFdvcmRQcmVzcyBkYXRhYmFzZQoJICoKCSAqIEB2YXIgb2JqZWN0CgkgKi8KCXB1YmxpYyAkd3BkYjsKCgkvKioKCSAqIFRoZSBwbHVnaW4ncyBzbHVnIHNvIHdlIGNhbiBpbmNsdWRlIGl0IHdoZW4gbmVjZXNzYXJ5CgkgKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHVibGljICRzbHVnOwoKCS8qKgoJICogVGhlIHBsdWdpbidzIHByZWZpeCB3aGVuIHNhdmluZyBvcHRpb25zIHRvIHRoZSBkYXRhYmFzZQoJICoKCSAqIEB2YXIgc3RyaW5nCgkgKi8KCXB1YmxpYyAkb3B0aW9uX3ByZWZpeDsKCgkvKioKCSAqIExvZ2luIGNyZWRlbnRpYWxzIGZvciB0aGUgU2FsZXNmb3JjZSBBUEk7IGNvbWVzIGZyb20gd3AtY29uZmlnIG9yIGZyb20gdGhlIHBsdWdpbiBzZXR0aW5ncwoJICoKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHVibGljICRsb2dpbl9jcmVkZW50aWFsczsKCgkvKioKCSAqIEFycmF5IG9mIHdoYXQgY2xhc3NlcyBpbiB0aGUgcGx1Z2luIGNhbiBiZSBzY2hlZHVsZWQgdG8gb2NjdXIgd2l0aCBgd3BfY3JvbmAgZXZlbnRzCgkgKgoJICogQHZhciBhcnJheQoJICovCglwdWJsaWMgJHNjaGVkdWxhYmxlX2NsYXNzZXM7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9RdWV1ZSBjbGFzcwoJICoKCSAqIEB2YXIgb2JqZWN0CgkgKi8KCXB1YmxpYyAkcXVldWU7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9Mb2dnaW5nIGNsYXNzCgkgKgoJICogQHZhciBvYmplY3QKCSAqLwoJcHVibGljICRsb2dnaW5nOwoKCS8qKgoJICogT2JqZWN0X1N5bmNfU2ZfTWFwcGluZyBjbGFzcwoJICoKCSAqIEB2YXIgb2JqZWN0CgkgKi8KCXB1YmxpYyAkbWFwcGluZ3M7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9Xb3JkUHJlc3MgY2xhc3MKCSAqCgkgKiBAdmFyIG9iamVjdAoJICovCglwdWJsaWMgJHdvcmRwcmVzczsKCgkvKioKCSAqIE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2UgY2xhc3MKCSAqIFRoaXMgY29udGFpbnMgU2FsZXNmb3JjZSBBUEkgbWV0aG9kcwoJICoKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHVibGljICRzYWxlc2ZvcmNlOwoKCS8qKgoJICogT2JqZWN0X1N5bmNfU2ZfUHVsbF9PcHRpb25zIGNsYXNzCgkgKgoJICogQHZhciBvYmplY3QKCSAqLwoJcHVibGljICRwdWxsX29wdGlvbnM7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9TeW5jX1RyYW5zaWVudHMgY2xhc3MKCSAqCgkgKiBAdmFyIG9iamVjdAoJICovCglwdWJsaWMgJHN5bmNfdHJhbnNpZW50czsKCgkvKioKCSAqIFRoZSBuYW1lIG9mIHRoZSBBY3Rpb25TY2hlZHVsZXIgcXVldWUKCSAqCgkgKiBAdmFyIHN0cmluZwoJICovCglwdWJsaWMgJHNjaGVkdWxlX25hbWU7CgoJLyoqCgkgKiBXaGV0aGVyIHRvIGJhdGNoIFNPUUwgcXVlcmllcwoJICoKCSAqIEB2YXIgYm9vbAoJICovCglwcml2YXRlICRiYXRjaF9zb3FsX3F1ZXJpZXM7CgoJLyoqCgkgKiBNaW5pbXVtIHNpemUgb2YgYSBTT1FMIGJhdGNoCgkgKgoJICogQHZhciBpbnQKCSAqLwoJcHJpdmF0ZSAkbWluX3NvcWxfYmF0Y2hfc2l6ZTsKCgkvKioKCSAqIE1heGltdW0gc2l6ZSBvZiBhIFNPUUwgYmF0Y2gKCSAqCgkgKiBAdmFyIGludAoJICovCglwcml2YXRlICRtYXhfc29xbF9zaXplOwoKCS8qKgoJICogVHlwZXMgb2YgU2FsZXNmb3JjZSByZWNvcmRzIHRoYXQgY2FuIGJlIG1lcmdlZAoJICoKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHVibGljICRtZXJnZWFibGVfcmVjb3JkX3R5cGVzOwoKCS8qKgoJICogV2hldGhlciB0aGUgcGx1Z2luIGlzIGluIGRlYnVnIG1vZGUKCSAqCgkgKiBAdmFyIHN0cmluZwoJICovCglwdWJsaWMgJGRlYnVnOwoKCS8qKgoJICogQ29uc3RydWN0b3IgZm9yIHB1bGwgY2xhc3MKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgewoJCSR0aGlzLT52ZXJzaW9uICAgICAgICAgICAgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+dmVyc2lvbjsKCQkkdGhpcy0+ZmlsZSAgICAgICAgICAgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPmZpbGU7CgkJJHRoaXMtPndwZGIgICAgICAgICAgICAgICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT53cGRiOwoJCSR0aGlzLT5zbHVnICAgICAgICAgICAgICAgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+c2x1ZzsKCQkkdGhpcy0+b3B0aW9uX3ByZWZpeCAgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPm9wdGlvbl9wcmVmaXg7CgkJJHRoaXMtPmxvZ2luX2NyZWRlbnRpYWxzICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5sb2dpbl9jcmVkZW50aWFsczsKCQkkdGhpcy0+c2NoZWR1bGFibGVfY2xhc3NlcyA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPnNjaGVkdWxhYmxlX2NsYXNzZXM7CgoJCSR0aGlzLT5xdWV1ZSAgICAgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+cXVldWU7CgkJJHRoaXMtPmxvZ2dpbmcgICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5sb2dnaW5nOwoJCSR0aGlzLT5tYXBwaW5ncyAgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+bWFwcGluZ3M7CgkJJHRoaXMtPndvcmRwcmVzcyAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT53b3JkcHJlc3M7CgkJJHRoaXMtPnNhbGVzZm9yY2UgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5zYWxlc2ZvcmNlOwoKCQkkdGhpcy0+cHVsbF9vcHRpb25zICAgID0gbmV3IE9iamVjdF9TeW5jX1NmX1B1bGxfT3B0aW9ucygpOwoJCSR0aGlzLT5zeW5jX3RyYW5zaWVudHMgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfU3luY19UcmFuc2llbnRzKCk7CgoJCSR0aGlzLT5zY2hlZHVsZV9uYW1lID0gJ3NhbGVzZm9yY2VfcHVsbCc7CgoJCS8vIFRvIGJlIGNsZWFyOiB3ZSBzaG91bGQgb25seSBldmVyIHNldCB0aGlzIHRvIHRydWUgaWYgU2FsZXNmb3JjZSBhY3R1YWxseSBzdGFydHMgdG8gcmVsaWFibHkgc3VwcG9ydCBpdCBpbnN0ZWFkIG9mIGdlbmVyYWxseSBpZ25vcmluZyBpdC4KCQkkdGhpcy0+YmF0Y2hfc29xbF9xdWVyaWVzID0gJHRoaXMtPmJhdGNoX3NvcWxfcXVlcmllcyggZmFsc2UgKTsKCgkJLy8gTWF4aW11bSBvZmZzZXQgc2l6ZSBmb3IgYSBTT1FMIHF1ZXJ5IHRvIFNhbGVzZm9yY2UKCQkvLyBTZWU6IGh0dHBzOi8vZGV2ZWxvcGVyLnNhbGVzZm9yY2UuY29tL2RvY3MvYXRsYXMuZW4tdXMuc29xbF9zb3NsLm1ldGEvc29xbF9zb3NsL3Nmb3JjZV9hcGlfY2FsbHNfc29xbF9zZWxlY3Rfb2Zmc2V0Lmh0bQoJCS8vIEZyb20gU2FsZXNmb3JjZTogIlRoZSBtYXhpbXVtIG9mZnNldCBpcyAyLDAwMCByb3dzLiBSZXF1ZXN0aW5nIGFuIG9mZnNldCBncmVhdGVyIHRoYW4gMiwwMDAgcmVzdWx0cyBpbiBhIE5VTUJFUl9PVVRTSURFX1ZBTElEX1JBTkdFIGVycm9yLiIuCgkJJHRoaXMtPm1pbl9zb3FsX2JhdGNoX3NpemUgPSAyMDA7IC8vIGJhdGNoZXMgY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAyMDAgcmVjb3Jkcy4KCQkkdGhpcy0+bWF4X3NvcWxfc2l6ZSAgICAgICA9IDIwMDA7CgoJCSR0aGlzLT5tZXJnZWFibGVfcmVjb3JkX3R5cGVzID0gYXJyYXkoICdMZWFkJywgJ0NvbnRhY3QnLCAnQWNjb3VudCcgKTsKCgkJLy8gQ3JlYXRlIGFjdGlvbiBob29rcyBmb3IgV29yZFByZXNzIG9iamVjdHMuIFdlIHJ1biB0aGlzIGFmdGVyIHBsdWdpbnMgYXJlIGxvYWRlZCBpbiBjYXNlIHNvbWV0aGluZyBkZXBlbmRzIG9uIGFub3RoZXIgcGx1Z2luLgoJCWFkZF9hY3Rpb24oICdwbHVnaW5zX2xvYWRlZCcsIGFycmF5KCAkdGhpcywgJ2FkZF9hY3Rpb25zJyApICk7CgoJCS8vIGRlcHJlY2F0ZWQgYWN0aW9ucy4KCQkkdGhpcy0+ZGVwcmVjYXRlZF9hY3Rpb25zKCk7CgoJCSR0aGlzLT5kZWJ1ZyA9IGdldF9vcHRpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ2RlYnVnX21vZGUnLCBmYWxzZSApOwoJCSR0aGlzLT5kZWJ1ZyA9IGZpbHRlcl92YXIoICR0aGlzLT5kZWJ1ZywgRklMVEVSX1ZBTElEQVRFX0JPT0xFQU4gKTsKCgl9CgoJLyoqCgkgKiBXaGV0aGVyIHRvIHVzZSB0aGUgYmF0Y2hTaXplIHBhcmFtZXRlciBvbiBTT1FMIHF1ZXJpZXMKCSAqCgkgKiBAcGFyYW0gYm9vbCAkYmF0Y2hfc29xbF9xdWVyaWVzIHdoZXRoZXIgdG8gYmF0Y2ggdGhlIHF1ZXJpZXMuCgkgKiBAcmV0dXJuIGJvb2wgJGJhdGNoX3NvcWxfcXVlcmllcwoJICovCglwcml2YXRlIGZ1bmN0aW9uIGJhdGNoX3NvcWxfcXVlcmllcyggJGJhdGNoX3NvcWxfcXVlcmllcyApIHsKCQkvLyBhcyBvZiB2ZXJzaW9uIDM0LjAsIHRoZSBTYWxlc2ZvcmNlIFJFU1QgQVBJIGFjY2VwdHMgYSBiYXRjaFNpemUgb3B0aW9uIG9uIHRoZSBTZm9yY2UtQ2FsbC1PcHRpb25zIGhlYWRlci4KCQlpZiAoIHZlcnNpb25fY29tcGFyZSggJHRoaXMtPmxvZ2luX2NyZWRlbnRpYWxzWydyZXN0X2FwaV92ZXJzaW9uJ10sICczNC4wJywgJzwnICkgKSB7CgkJCSRiYXRjaF9zb3FsX3F1ZXJpZXMgPSBmYWxzZTsKCQl9CgkJLy8gb3RoZXJ3aXNlLCByZXR1cm4gd2hhdGV2ZXIgdGhlIHBsdWdpbidzIGRlZmF1bHQgdmFsdWUgaXMuCgkJLy8gdGhpcyBhbGxvd3MgdXMgdG8gZGVjaWRlIHRvIHN1cHBvcnQgcXVlcnkgYmF0Y2hpbmcgaWYgaXQgaXMgZXZlciBub3QgYWJzdXJkbHkgYmFkLgoJCXJldHVybiAkYmF0Y2hfc29xbF9xdWVyaWVzOwoJfQoKCS8qKgoJICogQ3JlYXRlIHRoZSBhY3Rpb24gaG9va3MgYmFzZWQgb24gd2hhdCBvYmplY3QgbWFwcyBleGlzdCBmcm9tIHRoZSBhZG1pbiBzZXR0aW5ncwoJICogcm91dGUgaXMgaHR0cDovL2V4YW1wbGUuY29tL3dwLWpzb24vc2FsZXNmb3JjZS1yZXN0LWFwaS9wdWxsLyBwbHVzIHBhcmFtcyB3ZSBkZWNpZGUgdG8gYWNjZXB0LgoJICovCglwdWJsaWMgZnVuY3Rpb24gYWRkX2FjdGlvbnMoKSB7CgoJCS8vIGFqYXggaG9vay4KCQlhZGRfYWN0aW9uKCAnd3BfYWpheF9zYWxlc2ZvcmNlX3B1bGxfd2ViaG9vaycsIGFycmF5KCAkdGhpcywgJ3NhbGVzZm9yY2VfcHVsbF93ZWJob29rJyApICk7CgoJCS8vIGFjdGlvbi1zY2hlZHVsZXIgbmVlZHMgdHdvIGhvb2tzOiBvbmUgdG8gY2hlY2sgZm9yIHJlY29yZHMsIGFuZCBvbmUgdG8gcHJvY2VzcyB0aGVtLgoJCWFkZF9hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfY2hlY2tfcmVjb3JkcycsIGFycmF5KCAkdGhpcywgJ3NhbGVzZm9yY2VfcHVsbCcgKSwgMTAgKTsKCQlhZGRfYWN0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX3Byb2Nlc3NfcmVjb3JkcycsIGFycmF5KCAkdGhpcywgJ3NhbGVzZm9yY2VfcHVsbF9wcm9jZXNzX3JlY29yZHMnICksIDEwLCAzICk7Cgl9CgoJLyoqCgkgKiBEZXByZWNhdGVkIGFjdGlvbnMKCSAqLwoJcHVibGljIGZ1bmN0aW9uIGRlcHJlY2F0ZWRfYWN0aW9ucygpIHsKCQkvLyBwcmV2aW91cyBvcHRpb24gbmFtZXMuCgkJYWRkX2ZpbHRlciggJ29iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlX3B1bGxfb3B0aW9uX2xlZ2FjeV9rZXknLCBhcnJheSggJHRoaXMsICdkZXByZWNhdGVkX3B1bGxfb3B0aW9uX25hbWVzJyApLCAxMCwgMiApOwoJfQoKCS8qKgoJICogTW9kaWZ5IGxlZ2FjeSBuYW1lZCBpbmRpdmlkdWFsIG9wdGlvbiByZWNvcmRzIGZvciBzeW5jIG9wZXJhdGlvbnMKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRrZXkgdGhlIHBsdWdpbidzIHN1Z2dlc3RlZCBrZXkgbmFtZS4KCSAqIEBwYXJhbSBhcnJheSAgJHBhcmFtcyB0aGUgYXJyYXkgb2YgcGFyYW1ldGVycyB0byBtYWtlIHRoZSBrZXkuCgkgKiBAcmV0dXJuIG1peGVkICR2YWx1ZSB0aGUgdmFsdWUgb2YgdGhlIGl0ZW0uIEZhbHNlIGlmIGl0J3MgZW1wdHkuCgkgKiBAZGVwcmVjYXRlZCAgIHRoaXMgd2FzIGFkZGVkIGluIDIuMS4wIHRvIHVwZ3JhZGUgb2xkIG9wdGlvbiBrZXlzLCBidXQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBkZXByZWNhdGVkX3B1bGxfb3B0aW9uX25hbWVzKCAka2V5LCAkcGFyYW1zICkgewoJCWlmICggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9sYXN0X2lkJyA9PT0gJGtleSApIHsKCQkJJGtleSA9ICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ2xhc3RfcHVsbF9pZCc7CgkJfQoJCWlmICggaXNzZXQoICRwYXJhbXNbJ29iamVjdF90eXBlJ10gKSApIHsKCQkJaWYgKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX2N1cnJlbnRfcXVlcnlfJyAuICRwYXJhbXNbJ29iamVjdF90eXBlJ10gPT09ICRrZXkgKSB7CgkJCQkka2V5ID0gJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAnY3VycmVudGx5X3B1bGxpbmdfcXVlcnlfJyAuICRwYXJhbXNbJ29iamVjdF90eXBlJ107CgkJCX0KCQl9CgkJcmV0dXJuICRrZXk7Cgl9CgoJLyoqCgkgKiBSRVNUIEFQSSBjYWxsYmFjayBmb3Igc2FsZXNmb3JjZSBwdWxsLiBSZXR1cm5zIHN0YXR1cyBvZiAyMDAgZm9yIHN1Y2Nlc3NmdWwKCSAqIGF0dGVtcHQgb3IgNDAzIGZvciBhIGZhaWxlZCBwdWxsIGF0dGVtcHQgKFNGIG5vdCBhdXRob3JpemVkLCB0aHJlc2hob2xkCgkgKiByZWFjaGVkLCBldGMuCgkgKgoJICogQHBhcmFtIFdQX1JFU1RfUmVxdWVzdCAkcmVxdWVzdCBUaGlzIGlzIGEgbWVyZ2VkIG9iamVjdCBvZiBhbGwgdGhlIGFyZ3VtZW50cyBmcm9tIHRoZSBBUEkgcmVxdWVzdC4KCSAqIEByZXR1cm4gYXJyYXkKCSAqIGNvZGU6IDIwMQoJICogZGF0YToKCSAqICAgc3VjY2VzcyA6IHRydWUKCSAqLwoJcHVibGljIGZ1bmN0aW9uIHNhbGVzZm9yY2VfcHVsbF93ZWJob29rKCBXUF9SRVNUX1JlcXVlc3QgJHJlcXVlc3QgKSB7CgoJCS8vIHJ1biBhIHB1bGwgcmVxdWVzdCBhbmQgdGhlbiBydW4gdGhlIHNjaGVkdWxlIGlmIGFueXRoaW5nIGlzIGluIHRoZXJlLgoJCSRkYXRhID0gJHRoaXMtPnNhbGVzZm9yY2VfcHVsbCgpOwoKCQkvLyBzYWxlc2ZvcmNlX3B1bGwgY3VycmVudGx5IHJldHVybnMgdHJ1ZSBpZiBpdCBydW5zIHN1Y2Nlc3NmdWxseS4KCQlpZiAoIHRydWUgPT09ICRkYXRhICkgewoJCQkkY29kZSA9ICcyMDEnOwoJCQkvLyBjaGVjayB0byBzZWUgaWYgYW55dGhpbmcgaXMgaW4gdGhlIHF1ZXVlIGFuZCBoYW5kbGUgaXQgaWYgaXQgaXMKCQkJLy8gc2luZ2xlIHRhc2sgZm9yIGFjdGlvbi1zY2hlZHVsZXIgdG8gY2hlY2sgZm9yIGRhdGEuCgkJCSR0aGlzLT5xdWV1ZS0+YWRkKAoJCQkJJHRoaXMtPnNjaGVkdWxhYmxlX2NsYXNzZXNbICR0aGlzLT5zY2hlZHVsZV9uYW1lIF1bJ2luaXRpYWxpemVyJ10sCgkJCQlhcnJheSgpLAoJCQkJJHRoaXMtPnNjaGVkdWxlX25hbWUKCQkJKTsKCQl9IGVsc2UgewoJCQkkY29kZSA9ICc0MDMnOwoJCX0KCgkJJHJlc3VsdCA9IGFycmF5KAoJCQknY29kZScgPT4gJGNvZGUsCgkJCSdkYXRhJyA9PiBhcnJheSgKCQkJCSdzdWNjZXNzJyA9PiAkZGF0YSwKCQkJKSwKCQkpOwoKCQlyZXR1cm4gJHJlc3VsdDsKCgl9CgoJLyoqCgkgKiBDYWxsYmFjayBmb3IgdGhlIHN0YW5kYXJkIHB1bGwgcHJvY2VzcyB1c2VkIGJ5IHdlYmhvb2tzIGFuZCBjcm9uLgoJICovCglwdWJsaWMgZnVuY3Rpb24gc2FsZXNmb3JjZV9wdWxsKCkgewoJCSRzZmFwaSA9ICR0aGlzLT5zYWxlc2ZvcmNlWydzZmFwaSddOwoKCQlpZiAoIHRydWUgPT09ICR0aGlzLT5zYWxlc2ZvcmNlWydpc19hdXRob3JpemVkJ10gJiYgdHJ1ZSA9PT0gJHRoaXMtPmNoZWNrX3Rocm90dGxlKCkgKSB7CgoJCQkkdGhpcy0+Z2V0X3VwZGF0ZWRfcmVjb3JkcygpOwoJCQkkdGhpcy0+Z2V0X21lcmdlZF9yZWNvcmRzKCk7CgkJCSR0aGlzLT5nZXRfZGVsZXRlZF9yZWNvcmRzKCk7CgoJCQkvLyBTdG9yZSB0aGlzIHJlcXVlc3QgdGltZSBmb3IgdGhlIHRocm90dGxlIGNoZWNrLgoJCQkkdGhpcy0+cHVsbF9vcHRpb25zLT5zZXQoICdsYXN0X3N5bmMnLCAnJywgJycsIHRpbWUoKSApOwoJCQlyZXR1cm4gdHJ1ZTsKCgkJfSBlbHNlIHsKCQkJLy8gTm8gcHVsbCBoYXBwZW5lZC4KCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCgkvKioKCSAqIERldGVybWluZXMgaWYgdGhlIFNhbGVzZm9yY2UgcHVsbCBzaG91bGQgYmUgYWxsb3dlZCwgb3IgdGhyb3R0bGVkLgoJICogUHJldmVudHMgdG9vIG1hbnkgcHVsbCBwcm9jZXNzZXMgZnJvbSBydW5uaW5nIGF0IG9uY2UuCgkgKgoJICogQHJldHVybiBib29sIFJldHVybnMgZmFsc2UgaWYgdGhlIHRpbWUgZWxhcHNlZCBiZXR3ZWVuIHJlY2VudCBwdWxscyBpcyB0b28gc2hvcnQuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gY2hlY2tfdGhyb3R0bGUoKSB7CgkJJHB1bGxfdGhyb3R0bGUgPSAkdGhpcy0+cHVsbF9vcHRpb25zLT5nZXQoICd0aHJvdHRsZScsICcnLCAnJywgNSApOwoJCSRsYXN0X3N5bmMgICAgID0gJHRoaXMtPnB1bGxfb3B0aW9ucy0+Z2V0KCAnbGFzdF9zeW5jJywgJycsICcnLCAwICk7CgoJCWlmICggdGltZSgpID4gKCAkbGFzdF9zeW5jICsgJHB1bGxfdGhyb3R0bGUgKSApIHsKCQkJcmV0dXJuIHRydWU7CgkJfSBlbHNlIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCgkvKioKCSAqIFB1bGwgdXBkYXRlZCByZWNvcmRzIGZyb20gU2FsZXNmb3JjZSBhbmQgcGxhY2UgdGhlbSBpbiB0aGUgcXVldWUuCgkgKiBFeGVjdXRlcyBhIFNPUUwgcXVlcnkgYmFzZWQgb24gZGVmaW5lZCBtYXBwaW5ncywgbG9vcHMgdGhyb3VnaCB0aGUgcmVzdWx0cywKCSAqIGFuZCBwbGFjZXMgZWFjaCB1cGRhdGVkIFNGIG9iamVjdCBpbnRvIHRoZSBxdWV1ZSBmb3IgbGF0ZXIgcHJvY2Vzc2luZy4KCSAqIFdlIGNvcHkgdGhlIGNvbnZlbnRpb24gZnJvbSB0aGUgRHJ1cGFsIG1vZHVsZSBoZXJlLCBhbmQgcnVuIGEgc2VwYXJhdGUgU09RTCBxdWVyeSBmb3IgZWFjaCB0eXBlIG9mIG9iamVjdCBpbiBTRgoJICogSWYgd2UgcmV0dXJuIHNvbWV0aGluZyBoZXJlLCBpdCdzIGJlY2F1c2UgdGhlcmUgaXMgYW4gZXJyb3IuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gZ2V0X3VwZGF0ZWRfcmVjb3JkcygpIHsKCQkkc2ZhcGkgPSAkdGhpcy0+c2FsZXNmb3JjZVsnc2ZhcGknXTsKCQlmb3JlYWNoICggJHRoaXMtPm1hcHBpbmdzLT5nZXRfZmllbGRtYXBzKCBudWxsLCAkdGhpcy0+bWFwcGluZ3MtPmFjdGl2ZV9maWVsZG1hcF9jb25kaXRpb25zICkgYXMgJHNhbGVzZm9yY2VfbWFwcGluZyApIHsKCQkJJG1hcF9zeW5jX3RyaWdnZXJzID0gJHNhbGVzZm9yY2VfbWFwcGluZ1snc3luY190cmlnZ2VycyddOyAvLyB0aGlzIHNldHMgd2hpY2ggU2FsZXNmb3JjZSB0cmlnZ2VycyBhcmUgYWxsb3dlZCBmb3IgdGhlIG1hcHBpbmcuCgkJCSR0eXBlICAgICAgICAgICAgICA9ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J107IC8vIHRoaXMgc2V0cyB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZSBmb3IgdGhlIFNPUUwgcXVlcnkuCgoJCQkkc29xbCA9ICR0aGlzLT5nZXRfcHVsbF9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCgkJCS8vIGdldF9wdWxsX3F1ZXJ5IHJldHVybnMgbnVsbCBpZiBpdCBoYXMgbm8gbWF0Y2hpbmcgZmllbGRzLgoJCQlpZiAoIG51bGwgPT09ICRzb3FsICkgewoJCQkJY29udGludWU7CgkJCX0KCgkJCS8vIHdlIGRvbid0IHdhbnQgdG8gY2FjaGUgdGhpcyBiZWNhdXNlIHRpbWVzdGFtcHMuCgkJCSRxdWVyeV9vcHRpb25zID0gYXJyYXkoCgkJCQknY2FjaGUnID0+IGZhbHNlLAoJCQkpOwoKCQkJLy8gaWYgd2UgYXJlIGJhdGNoaW5nIHNvcWwgcXVlcmllcywgbGV0J3MgZG8gaXQuCgkJCWlmICggdHJ1ZSA9PT0gJHRoaXMtPmJhdGNoX3NvcWxfcXVlcmllcyApIHsKCQkJCS8vIHB1bGwgcXVlcnkgYmF0Y2ggc2l6ZSBvcHRpb24gbmFtZS4KCQkJCSRwdWxsX3F1ZXJ5X2JhdGNoX3NpemUgPSAkdGhpcy0+cHVsbF9vcHRpb25zLT5nZXQoICdxdWVyeV9iYXRjaF9zaXplJywgJycsICcnLCAnJyApOwoJCQkJaWYgKCAnJyAhPT0gJHB1bGxfcXVlcnlfYmF0Y2hfc2l6ZSApIHsKCQkJCQkkYmF0Y2hfc2l6ZSA9IGZpbHRlcl92YXIoICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ3F1ZXJ5X2JhdGNoX3NpemUnLCAnJywgJycsICR0aGlzLT5taW5fc29xbF9iYXRjaF9zaXplICksIEZJTFRFUl9WQUxJREFURV9JTlQgKTsKCQkJCX0gZWxzZSB7CgkJCQkJLy8gb2xkIGxpbWl0IHZhbHVlLgoJCQkJCS8vIERlcHJlY2F0ZWQgaW4gMi4wLjMuCgkJCQkJJGJhdGNoX3NpemUgPSBmaWx0ZXJfdmFyKCAkdGhpcy0+cHVsbF9vcHRpb25zLT5nZXQoICdxdWVyeV9saW1pdCcsICcnLCAnJywgJHRoaXMtPm1pbl9zb3FsX2JhdGNoX3NpemUgKSwgRklMVEVSX1ZBTElEQVRFX0lOVCApOwoJCQkJfQoJCQkJJGJhdGNoX3NpemUgPSBmaWx0ZXJfdmFyKAoJCQkJCSRiYXRjaF9zaXplLAoJCQkJCUZJTFRFUl9WQUxJREFURV9JTlQsCgkJCQkJYXJyYXkoCgkJCQkJCSdvcHRpb25zJyA9PiBhcnJheSgKCQkJCQkJCSdtaW5fcmFuZ2UnID0+ICR0aGlzLT5taW5fc29xbF9iYXRjaF9zaXplLAoJCQkJCQkJJ21heF9yYW5nZScgPT4gJHRoaXMtPm1heF9zb3FsX3NpemUsCgkJCQkJCSksCgkJCQkJKQoJCQkJKTsKCQkJCWlmICggZmFsc2UgIT09ICRiYXRjaF9zaXplICkgewoJCQkJCS8vIHRoZSBTZm9yY2UtUXVlcnktT3B0aW9ucyBoZWFkZXIgaXMgYSBjb21tYSBkZWxpbWl0ZWQgc3RyaW5nLgoJCQkJCSRxdWVyeV9vcHRpb25zWydoZWFkZXJzJ11bJ1Nmb3JjZS1RdWVyeS1PcHRpb25zJ10gPSAnYmF0Y2hTaXplPScgLiAkYmF0Y2hfc2l6ZTsKCQkJCX0KCQkJfQoKCQkJLy8gcnVuIHRoZSBfX3RvU3RyaW5nIG1ldGhvZCB0byBjb252ZXJ0IHRoZSBTT1FMIHF1ZXJ5IG9iamVjdCB0byBhIHN0cmluZy4KCQkJJHNvcWxfc3RyaW5nID0gKHN0cmluZykgJHNvcWw7CgoJCQkvLyBFeGVjdXRlIHF1ZXJ5LgoJCQkkcmVzdWx0cyA9ICRzZmFwaS0+cXVlcnkoCgkJCQkkc29xbF9zdHJpbmcsCgkJCQkkcXVlcnlfb3B0aW9ucwoJCQkpOwoKCQkJJHJlc3BvbnNlICAgICA9ICRyZXN1bHRzWydkYXRhJ107CgkJCSR2ZXJzaW9uX3BhdGggPSB3cF9wYXJzZV91cmwoICRzZmFwaS0+Z2V0X2FwaV9lbmRwb2ludCgpLCBQSFBfVVJMX1BBVEggKTsKCgkJCSRzZl9sYXN0X3N5bmMgPSAkdGhpcy0+cHVsbF9vcHRpb25zLT5nZXQoICdsYXN0X3N5bmMnLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgbnVsbCApOwoJCQkkbGFzdF9zeW5jICAgID0gZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkc2ZfbGFzdF9zeW5jICk7CgoJCQlpZiAoICEgaXNzZXQoICRyZXNwb25zZVsnZXJyb3JDb2RlJ10gKSAmJiAwIDwgY291bnQoICRyZXNwb25zZVsncmVjb3JkcyddICkgKSB7CgkJCQkvLyBXcml0ZSBpdGVtcyB0byB0aGUgcXVldWUuCgkJCQlmb3JlYWNoICggJHJlc3BvbnNlWydyZWNvcmRzJ10gYXMgJGtleSA9PiAkcmVzdWx0ICkgewoJCQkJCS8vIGlmIHdlJ3ZlIGFscmVhZHkgcHVsbGVkLCBvciB0cmllZCB0byBwdWxsLCB0aGUgY3VycmVudCBJRCwgZG9uJ3QgZG8gaXQgYWdhaW4uCgkJCQkJJGxhc3RfaWQgPSAkdGhpcy0+cHVsbF9vcHRpb25zLT5nZXQoICdsYXN0X2lkJywgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sICcnICk7CgkJCQkJaWYgKCAkbGFzdF9pZCA9PT0gJHJlc3VsdFsnSWQnXSApIHsKCQkJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgcHVsbC4KCQkJCQkJCSRzdGF0dXMgPSAnZGVidWcnOwoJCQkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB0aGUgU2FsZXNmb3JjZSBJRC4KCQkJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogU2FsZXNmb3JjZSBJRCAlMiRzIGhhcyBhbHJlYWR5IGJlZW4gYXR0ZW1wdGVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCQkJZXNjX2F0dHIoICRyZXN1bHRbJ0lkJ10gKQoJCQkJCQkJKTsKCgkJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCQl9CgoJCQkJCQkJJGRlYnVnID0gYXJyYXkoCgkJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCQknbWVzc2FnZScgPT4gZXNjX2h0bWxfXyggJ1RoaXMgSUQgaGFzIGFscmVhZHkgYmVlbiBhdHRlbXB0ZWQgc28gaXQgd2FzIG5vdCBwdWxsZWQgYWdhaW4uJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJCSd0cmlnZ2VyJyA9PiAwLAoJCQkJCQkJCSdwYXJlbnQnICA9PiAnJywKCQkJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkJCSk7CgoJCQkJCQkJJGxvZ2dpbmctPnNldHVwKCAkZGVidWcgKTsKCQkJCQkJfQoKCQkJCQkJY29udGludWU7CgkJCQkJfQoKCQkJCQkvLyBpZiB0aGlzIHJlY29yZCBpcyBuZXcgYXMgb2YgdGhlIGxhc3Qgc3luYywgdXNlIHRoZSBjcmVhdGUgdHJpZ2dlci4KCQkJCQlpZiAoIGlzc2V0KCAkcmVzdWx0WydDcmVhdGVkRGF0ZSddICkgJiYgJHJlc3VsdFsnQ3JlYXRlZERhdGUnXSA+ICRsYXN0X3N5bmMgKSB7CgkJCQkJCSRzZl9zeW5jX3RyaWdnZXIgPSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfY3JlYXRlOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSRzZl9zeW5jX3RyaWdnZXIgPSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfdXBkYXRlOwoJCQkJCX0KCgkJCQkJLy8gT25seSBxdWV1ZSB3aGVuIHRoZSByZWNvcmQncyB0cmlnZ2VyIGlzIGNvbmZpZ3VyZWQgZm9yIHRoZSBtYXBwaW5nLgoJCQkJCWlmICggaXNzZXQoICRtYXBfc3luY190cmlnZ2VycyApICYmIGlzc2V0KCAkc2Zfc3luY190cmlnZ2VyICkgJiYgaW5fYXJyYXkoICRzZl9zeW5jX3RyaWdnZXIsICRtYXBfc3luY190cmlnZ2VycywgdHJ1ZSApICkgeyAvLyB3cCBvciBzZiBjcnVkIGV2ZW50LgoJCQkJCQkkZGF0YSA9IGFycmF5KAoJCQkJCQkJJ29iamVjdF90eXBlJyAgICAgPT4gJHR5cGUsCgkJCQkJCQknb2JqZWN0JyAgICAgICAgICA9PiAkcmVzdWx0LAoJCQkJCQkJJ21hcHBpbmcnICAgICAgICAgPT4gJHNhbGVzZm9yY2VfbWFwcGluZywKCQkJCQkJCSdzZl9zeW5jX3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsIC8vIHVzZSB0aGUgYXBwcm9wcmlhdGUgdHJpZ2dlciBiYXNlZCBvbiB3aGVuIHRoaXMgd2FzIGNyZWF0ZWQuCgkJCQkJCSk7CgoJCQkJCQkkcHVsbF9hbGxvd2VkID0gJHRoaXMtPmlzX3B1bGxfYWxsb3dlZCggJHR5cGUsICRyZXN1bHQsICRzZl9zeW5jX3RyaWdnZXIsICRzYWxlc2ZvcmNlX21hcHBpbmcsICRtYXBfc3luY190cmlnZ2VycyApOwoKCQkJCQkJaWYgKCBmYWxzZSA9PT0gJHB1bGxfYWxsb3dlZCApIHsKCQkJCQkJCS8vIHVwZGF0ZSB0aGUgY3VycmVudCBzdGF0ZSBzbyB3ZSBkb24ndCBlbmQgdXAgb24gdGhlIHNhbWUgcmVjb3JkIGFnYWluIGlmIHRoZSBsb29wIGZhaWxzLgoJCQkJCQkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+c2V0KCAnbGFzdF9pZCcsICcnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAkcmVzdWx0WydJZCddICk7CgkJCQkJCQlpZiAoIHRydWUgPT09ICR0aGlzLT5kZWJ1ZyApIHsKCQkJCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgcHVsbC4KCQkJCQkJCQkkc3RhdHVzID0gJ2RlYnVnJzsKCQkJCQkJCQkkdGl0bGUgID0gc3ByaW50ZigKCQkJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB0aGUgU2FsZXNmb3JjZSBJRC4KCQkJCQkJCQkJZXNjX2h0bWxfXyggJyUxJHM6IFNhbGVzZm9yY2UgSUQgJTIkcyBpcyBub3QgYWxsb3dlZC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCQkJCQkJZXNjX2F0dHIoICRyZXN1bHRbJ0lkJ10gKQoJCQkJCQkJCSk7CgoJCQkJCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCQkJCQl9CgoJCQkJCQkJCSRkZWJ1ZyA9IGFycmF5KAoJCQkJCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCQkJCQknbWVzc2FnZScgPT4gZXNjX2h0bWxfXyggJ1RoaXMgSUQgaXMgbm90IHB1bGxhYmxlIHNvIGl0IHdhcyBza2lwcGVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCQkJCSdwYXJlbnQnICA9PiAnJywKCQkJCQkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkJCQkJKTsKCgkJCQkJCQkJJGxvZ2dpbmctPnNldHVwKCAkZGVidWcgKTsKCQkJCQkJCX0KCQkJCQkJCWNvbnRpbnVlOwoJCQkJCQl9CgoJCQkJCQlpZiAoIHRydWUgPT09ICR0aGlzLT5kZWJ1ZyApIHsKCQkJCQkJCS8vIGNyZWF0ZSBsb2cgZW50cnkgZm9yIHF1ZXVlIGFkZGl0aW9uLgoJCQkJCQkJJHN0YXR1cyA9ICdkZWJ1Zyc7CgkJCQkJCQkkdGl0bGUgID0gc3ByaW50ZigKCQkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMsIDIpIHRoZSBTYWxlc2ZvcmNlIElELgoJCQkJCQkJCWVzY19odG1sX18oICclMSRzOiBBZGQgU2FsZXNmb3JjZSBJRCAlMiRzIHRvIHRoZSBxdWV1ZScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCQkJZXNjX2F0dHIoICRyZXN1bHRbJ0lkJ10gKQoJCQkJCQkJKTsKCgkJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCQl9CgoJCQkJCQkJJG1lc3NhZ2UgPSBzcHJpbnRmKAoJCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiAxKSBpcyB0aGUgbmFtZSBvZiB0aGUgaG9vayB0aGF0IHdhcyBjYWxsZWQsIDIpIGlzIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLCAzKSBpcyB0aGUgSUQgZm9yIHRoZSBvYmplY3QgbWFwLCA0KSBpcyB0aGUgZXZlbnQgdHJpZ2dlciB0aGF0IGlzIHJ1bm5pbmcsIGFuZCA1KSBpcyB0aGUgbmFtZSBvZiB0aGUgc2NoZWR1bGUgdGhhdCBpcyBydW5uaW5nLgoJCQkJCQkJCWVzY19odG1sX18oICdUaGlzIHJlY29yZCBpcyBiZWluZyBzZW50IHRvIHRoZSBxdWV1ZS4gVGhlIGhvb2sgbmFtZSBpcyAlMSRzLiBUaGUgYXJndW1lbnRzIGZvciB0aGUgaG9vayBhcmU6IG9iamVjdCB0eXBlICUyJHMsIG9iamVjdCBtYXAgSUQgJTMkcywgc3luYyB0cmlnZ2VyICU0JHMuIFRoZSBzY2hlZHVsZSBuYW1lIGlzICU1JHMuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJCWVzY19hdHRyKCAkdGhpcy0+c2NoZWR1bGFibGVfY2xhc3Nlc1sgJHRoaXMtPnNjaGVkdWxlX25hbWUgXVsnY2FsbGJhY2snXSApLAoJCQkJCQkJCWVzY19hdHRyKCAkdHlwZSApLAoJCQkJCQkJCWFic2ludCggJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSApLAoJCQkJCQkJCSRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCQkJJHRoaXMtPnNjaGVkdWxlX25hbWUKCQkJCQkJCSk7CgoJCQkJCQkJJGRlYnVnID0gYXJyYXkoCgkJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCQknbWVzc2FnZScgPT4gJG1lc3NhZ2UsCgkJCQkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCQkJJ3BhcmVudCcgID0+ICcnLAoJCQkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCQkJKTsKCgkJCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRkZWJ1ZyApOwoJCQkJCQl9CgoJCQkJCQkvLyBhZGQgYSBxdWV1ZSBhY3Rpb24gdG8gc2F2ZSBkYXRhIGZyb20gc2FsZXNmb3JjZS4KCQkJCQkJJHRoaXMtPnF1ZXVlLT5hZGQoCgkJCQkJCQkkdGhpcy0+c2NoZWR1bGFibGVfY2xhc3Nlc1sgJHRoaXMtPnNjaGVkdWxlX25hbWUgXVsnY2FsbGJhY2snXSwKCQkJCQkJCWFycmF5KAoJCQkJCQkJCSdvYmplY3RfdHlwZScgICAgID0+ICR0eXBlLAoJCQkJCQkJCSdvYmplY3QnICAgICAgICAgID0+ICRyZXN1bHRbJ0lkJ10sCgkJCQkJCQkJJ3NmX3N5bmNfdHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJCSksCgkJCQkJCQkkdGhpcy0+c2NoZWR1bGVfbmFtZQoJCQkJCQkpOwoJCQkJCQkvLyB1cGRhdGUgdGhlIGN1cnJlbnQgc3RhdGUgc28gd2UgZG9uJ3QgZW5kIHVwIG9uIHRoZSBzYW1lIHJlY29yZCBhZ2FpbiBpZiB0aGUgbG9vcCBmYWlscy4KCQkJCQkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+c2V0KCAnbGFzdF9pZCcsICcnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAkcmVzdWx0WydJZCddICk7CgkJCQkJCWlmICggdHJ1ZSA9PT0gJHRoaXMtPmRlYnVnICkgewoJCQkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3Igc3VjY2Vzc2Z1bCBwdWxsLgoJCQkJCQkJJHN0YXR1cyA9ICdkZWJ1Zyc7CgkJCQkJCQkkdGl0bGUgID0gc3ByaW50ZigKCQkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMsIDIpIHRoZSBTYWxlc2ZvcmNlIElELgoJCQkJCQkJCWVzY19odG1sX18oICclMSRzOiBTYWxlc2ZvcmNlIElEICUyJHMgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHB1bGxlZC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCQkJCWVzY19hdHRyKCAkcmVzdWx0WydJZCddICkKCQkJCQkJCSk7CgoJCQkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCQkJfQoKCQkJCQkJCSRkZWJ1ZyA9IGFycmF5KAoJCQkJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJCQkJJ21lc3NhZ2UnID0+IGVzY19odG1sX18oICdUaGlzIElEIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBwdWxsZWQgYW5kIGFkZGVkIHRvIHRoZSBxdWV1ZSBmb3IgcHJvY2Vzc2luZy4gSXQgY2Fubm90IGJlIHB1bGxlZCBhZ2FpbiB3aXRob3V0IGJlaW5nIG1vZGlmaWVkIGFnYWluLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJCQkncGFyZW50JyAgPT4gJycsCgkJCQkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkJCQkpOwoJCQkJCQkJJGxvZ2dpbmctPnNldHVwKCAkZGVidWcgKTsKCQkJCQkJfSAvLyBlbmQgb2YgZGVidWcKCQkJCQl9IC8vIGVuZCBpZgoJCQkJfSAvLyBlbmQgZm9yZWFjaAoKCQkJCS8vIHdlJ3JlIGRvbmUgd2l0aCB0aGUgZm9yZWFjaC4gc3RvcmUgdGhlIExhc3RNb2RpZmllZERhdGUgb2YgdGhlIGxhc3QgaXRlbSBwcm9jZXNzZWQsIG9yIHRoZSBjdXJyZW50IHRpbWUgaWYgaXQgaXNuJ3QgdGhlcmUuCgkJCQkkbGFzdF9kYXRlX2Zvcl9xdWVyeSA9IGlzc2V0KCAkcmVzdWx0WydMYXN0TW9kaWZpZWREYXRlJ10gKSA/ICRyZXN1bHRbJ0xhc3RNb2RpZmllZERhdGUnXSA6ICcnOwoJCQkJJHRoaXMtPmluY3JlbWVudF9jdXJyZW50X3R5cGVfZGF0ZXRpbWUoICR0eXBlLCAkbGFzdF9kYXRlX2Zvcl9xdWVyeSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSApOwoKCQkJCWlmICggdHJ1ZSA9PT0gJHRoaXMtPmJhdGNoX3NvcWxfcXVlcmllcyApIHsKCQkJCQkvLyBpZiBhcHBsaWNhYmxlLCBwcm9jZXNzIHRoZSBuZXh0IGJhdGNoIG9mIHJlY29yZHMuCgkJCQkJJHRoaXMtPmdldF9uZXh0X3JlY29yZF9iYXRjaCggJGxhc3Rfc3luYywgJHNhbGVzZm9yY2VfbWFwcGluZywgJG1hcF9zeW5jX3RyaWdnZXJzLCAkdHlwZSwgJHZlcnNpb25fcGF0aCwgJHF1ZXJ5X29wdGlvbnMsICRyZXNwb25zZSApOwoJCQkJfSBlbHNlIHsKCQkJCQkvLyBIZXJlLCB3ZSBjaGVjayBhbmQgc2VlIGlmIHRoZSBxdWVyeSBoYXMgcmVzdWx0cyB3aXRoIGFuIGFkZGl0aW9uYWwgb2Zmc2V0LgoJCQkJCS8vIElmIGl0IGRvZXMsIHdlIHJlZ2VuZXJhdGUgdGhlIHF1ZXJ5IHNvIGl0IHdpbGwgaGF2ZSBhbiBvZmZzZXQgbmV4dCB0aW1lIGl0IHJ1bnMuCgkJCQkJLy8gSWYgaXQgZG9lcyBub3QsIHdlIGNsZWFyIHRoZSBxdWVyeSBpZiB3ZSd2ZSBqdXN0IHByb2Nlc3NlZCB0aGUgbGFzdCByb3cuCgkJCQkJLy8gdGhpcyBhbGxvd3MgdXMgdG8gcnVuIGFuIG9mZnNldCBvbiB0aGUgc3RvcmVkIHF1ZXJ5IGluc3RlYWQgb2YgY2xlYXJpbmcgaXQuCgkJCQkJJGRvZXNfbmV4dF9vZmZzZXRfaGF2ZV9yZXN1bHRzID0gJHRoaXMtPmNoZWNrX29mZnNldF9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcsICRxdWVyeV9vcHRpb25zICk7CgkJCQkJZW5kKCAkcmVzcG9uc2VbJ3JlY29yZHMnXSApOwoJCQkJCSRsYXN0X3JlY29yZF9rZXkgPSBrZXkoICRyZXNwb25zZVsncmVjb3JkcyddICk7CgkJCQkJaWYgKCB0cnVlID09PSAkZG9lc19uZXh0X29mZnNldF9oYXZlX3Jlc3VsdHMgKSB7CgkJCQkJCS8vIGluY3JlbWVudCBTT1FMIHF1ZXJ5IHRvIHJ1bi4KCQkJCQkJJHNvcWwgPSAkdGhpcy0+Z2V0X3B1bGxfcXVlcnkoICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgkJCQkJfSBlbHNlaWYgKCAkbGFzdF9yZWNvcmRfa2V5ID09PSAka2V5ICkgewoJCQkJCQkvLyBjbGVhciB0aGUgc3RvcmVkIHF1ZXJ5LiB3ZSBkb24ndCBuZWVkIHRvIG9mZnNldCBhbmQgd2UndmUgZmluaXNoZWQgdGhlIGxvb3AuCgkJCQkJCSR0aGlzLT5jbGVhcl9jdXJyZW50X3R5cGVfcXVlcnkoICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddICk7CgkJCQkJfQoJCQkJfSAvLyBlbmQgaWYKCQkJfSBlbHNlaWYgKCAhIGlzc2V0KCAkcmVzcG9uc2VbJ2Vycm9yQ29kZSddICkgJiYgMCA9PT0gY291bnQoICRyZXNwb25zZVsncmVjb3JkcyddICkgJiYgZmFsc2UgPT09ICR0aGlzLT5iYXRjaF9zb3FsX3F1ZXJpZXMgKSB7CgkJCQkvLyBvbmx5IHVwZGF0ZS9jbGVhciB0aGVzZSBvcHRpb24gdmFsdWVzIGlmIHdlIGFyZSBjdXJyZW50bHkgc3RpbGwgcHJvY2Vzc2luZyBhIHF1ZXJ5LgoJCQkJJGN1cnJlbnRfcXVlcnkgPSAkdGhpcy0+cHVsbF9vcHRpb25zLT5nZXQoICdjdXJyZW50X3F1ZXJ5JywgJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sICcnICk7CgkJCQlpZiAoICcnICE9PSAkY3VycmVudF9xdWVyeSApIHsKCQkJCQkkdGhpcy0+Y2xlYXJfY3VycmVudF90eXBlX3F1ZXJ5KCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSApOwoJCQkJfQoJCQkJLy8gdHJ5IHRvIGNoZWNrIGZvciBzcGVjaWZpYyBlcnJvciBjb2RlcyBmcm9tIFNhbGVzZm9yY2UuCgkJCX0gZWxzZWlmICggaXNzZXQoICRyZXNwb25zZVsnZXJyb3JDb2RlJ10gKSAmJiAnSU5WQUxJRF9GSUVMRCcgPT09ICRyZXNwb25zZVsnZXJyb3JDb2RlJ10gKSB7CgkJCQkvLyBzZXQgdXAgbG9nIGVudHJ5LgoJCQkJJHN0YXR1cyAgICA9ICdlcnJvcic7CgkJCQkkbG9nX3RpdGxlID0gc3ByaW50ZigKCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMsIDIpIHRoZSBzZXJ2ZXIgZXJyb3IgY29kZSwgYW5kIDMpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdC4KCQkJCQllc2NfaHRtbF9fKCAnJTEkczogJTIkcyB3aGVuIHB1bGxpbmcgJTMkcyBkYXRhIGZyb20gU2FsZXNmb3JjZS4gQ2hlY2sgYW5kIHJlc2F2ZSB0aGUgZmllbGRtYXAuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCQllc2NfYXR0ciggJHJlc3BvbnNlWydlcnJvckNvZGUnXSApLAoJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICkKCQkJCSk7CgkJCQkkbG9nX2JvZHkgPSAnPHA+JyAuIGVzY19odG1sX18oICdBIGZpZWxkIG1heSBoYXZlIGJlZW4gZGVsZXRlZCBmcm9tIFNhbGVzZm9yY2UsIG9yIGl0IGhhcyBvdGhlcndpc2UgYmVjb21lIGludmFsaWQuIFlvdSBtYXkgbmVlZCB0byBjaGVjayBhbmQgcmVzYXZlIHlvdXIgZmllbGRtYXAuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvcD4nOwoKCQkJCS8vIGlmIGl0J3MgYW4gaW52YWxpZCBmaWVsZCwgdHJ5IHRvIGNsZWFyIHRoZSBjYWNoZWQgcXVlcnkgc28gaXQgY2FuIHRyeSBhZ2FpbiBuZXh0IHRpbWUuCgkJCQkkY3VycmVudF9xdWVyeSA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ2N1cnJlbnRfcXVlcnknLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgJycgKTsKCQkJCWlmICggJycgIT09ICRjdXJyZW50X3F1ZXJ5ICkgewoJCQkJCSR0aGlzLT5jbGVhcl9jdXJyZW50X3R5cGVfcXVlcnkoICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddICk7CgkJCQkJJGxvZ190aXRsZSAuPSBlc2NfaHRtbF9fKCAnIFRoZSBzdG9yZWQgcXVlcnkgaGFzIGJlZW4gY2xlYXJlZC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICk7CgkJCQkJJGxvZ19ib2R5ICAuPSAnPHA+JyAuIGVzY19odG1sX18oICdUaGUgY3VycmVudGx5IHN0b3JlZCBxdWVyeSBmb3IgdGhpcyBvYmplY3QgdHlwZSBoYXMgYmVlbiBkZWxldGVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L3A+JzsKCQkJCX0KCgkJCQkkbG9nX2JvZHkgLj0gc3ByaW50ZigKCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIFNhbGVzZm9yY2UgQVBJIHJlc3BvbnNlIG1lc3NhZ2UuCgkJCQkJJzxwPicgLiBlc2NfaHRtbF9fKCAnU2FsZXNmb3JjZSBBUEkgUmVzcG9uc2U6ICUxJHMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPicsCgkJCQkJJHJlc3BvbnNlWydtZXNzYWdlJ10KCQkJCSk7CgoJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJfQoKCQkJCSRyZXN1bHQgPSBhcnJheSgKCQkJCQkndGl0bGUnICAgPT4gJGxvZ190aXRsZSwKCQkJCQknbWVzc2FnZScgPT4gJGxvZ19ib2R5LAoJCQkJCSd0cmlnZ2VyJyA9PiAwLAoJCQkJCSdwYXJlbnQnICA9PiAnJywKCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCSk7CgoJCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgkJCX0gZWxzZWlmICggaXNzZXQoICRyZXNwb25zZVsnZXJyb3JDb2RlJ10gKSApIHsKCQkJCS8vIGNyZWF0ZSBsb2cgZW50cnkgZm9yIGZhaWxlZCBwdWxsLgoJCQkJJHN0YXR1cyA9ICdlcnJvcic7CgkJCQkkdGl0bGUgID0gc3ByaW50ZigKCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMsIDIpIHRoZSBzZXJ2ZXIgZXJyb3IgY29kZSwgYW5kIDMpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdC4KCQkJCQllc2NfaHRtbF9fKCAnJTEkczogJTIkcyB3aGVuIHB1bGxpbmcgJTMkcyBkYXRhIGZyb20gU2FsZXNmb3JjZScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJZXNjX2F0dHIoICRyZXNwb25zZVsnZXJyb3JDb2RlJ10gKSwKCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApCgkJCQkpOwoKCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCX0KCgkJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQknbWVzc2FnZScgPT4gJHJlc3BvbnNlWydtZXNzYWdlJ10sCgkJCQkJJ3RyaWdnZXInID0+IDAsCgkJCQkJJ3BhcmVudCcgID0+ICcnLAoJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJKTsKCgkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCQlyZXR1cm4gJHJlc3VsdDsKCgkJCX0gLy8gRW5kIGlmKCkgc3RhdGVtZW50LgoJCX0gLy8gRW5kIGZvcmVhY2goKSBsb29wLgoJfQoKCS8qKgoJICogUHVsbCB0aGUgbmV4dCBiYXRjaCBvZiByZWNvcmRzIGZyb20gdGhlIFNhbGVzZm9yY2UgQVBJLCBpZiBhcHBsaWNhYmxlCgkgKiBFeGVjdXRlcyBhIG5leHRSZWNvcmRzVXJsIFNPUUwgcXVlcnkgYmFzZWQgb24gdGhlIHByZXZpb3VzIHJlc3VsdCwKCSAqIGFuZCBwbGFjZXMgZWFjaCB1cGRhdGVkIFNGIG9iamVjdCBpbnRvIHRoZSBxdWV1ZSBmb3IgbGF0ZXIgcHJvY2Vzc2luZy4KCSAqCgkgKiBAcGFyYW0gZGF0ZXRpbWUgJGxhc3Rfc3luYyB3aGVuIGl0IHdhcyBsYXN0IHN5bmNlZC4KCSAqIEBwYXJhbSBhcnJheSAgICAkc2FsZXNmb3JjZV9tYXBwaW5nIHRoZSBmaWVsZG1hcC4KCSAqIEBwYXJhbSBhcnJheSAgICAkbWFwX3N5bmNfdHJpZ2dlcnMgdGhlIHN5bmMgdHJpZ2dlciBiaXQgdmFsdWVzLgoJICogQHBhcmFtIHN0cmluZyAgICR0eXBlIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLgoJICogQHBhcmFtIHN0cmluZyAgICR2ZXJzaW9uX3BhdGggdGhlIEFQSSBwYXRoIGZvciB0aGUgU2FsZXNmb3JjZSB2ZXJzaW9uLgoJICogQHBhcmFtIGFycmF5ICAgICRxdWVyeV9vcHRpb25zIHRoZSBTT1FMIHF1ZXJ5IG9wdGlvbnMuCgkgKiBAcGFyYW0gYXJyYXkgICAgJHJlc3BvbnNlIHRoZSBwcmV2aW91cyByZXNwb25zZS4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRfbmV4dF9yZWNvcmRfYmF0Y2goICRsYXN0X3N5bmMsICRzYWxlc2ZvcmNlX21hcHBpbmcsICRtYXBfc3luY190cmlnZ2VycywgJHR5cGUsICR2ZXJzaW9uX3BhdGgsICRxdWVyeV9vcHRpb25zLCAkcmVzcG9uc2UgKSB7CgkJLy8gSGFuZGxlIG5leHQgYmF0Y2ggb2YgcmVjb3JkcyBpZiBpdCBleGlzdHMuCgkJJG5leHRfcmVjb3Jkc191cmwgPSBpc3NldCggJHJlc3BvbnNlWyduZXh0UmVjb3Jkc1VybCddICkgPyBzdHJfcmVwbGFjZSggJHZlcnNpb25fcGF0aCwgJycsICRyZXNwb25zZVsnbmV4dFJlY29yZHNVcmwnXSApIDogZmFsc2U7CgkJd2hpbGUgKCAkbmV4dF9yZWNvcmRzX3VybCApIHsKCQkJLy8gc2hvdWxkbid0IGNhY2hlIHRoaXMgZWl0aGVyLiBpdCdzIGdvaW5nIGludG8gdGhlIHF1ZXVlIGlmIGl0IGV4aXN0cyBhbnl3YXkuCgkJCSRuZXdfcmVzdWx0cyAgPSAkc2ZhcGktPmFwaV9jYWxsKAoJCQkJJG5leHRfcmVjb3Jkc191cmwsCgkJCQlhcnJheSgpLAoJCQkJJ0dFVCcsCgkJCQkkcXVlcnlfb3B0aW9ucwoJCQkpOwoJCQkkbmV3X3Jlc3BvbnNlID0gJG5ld19yZXN1bHRzWydkYXRhJ107CgkJCWlmICggISBpc3NldCggJG5ld19yZXNwb25zZVsnZXJyb3JDb2RlJ10gKSApIHsKCQkJCS8vIFdyaXRlIGl0ZW1zIHRvIHRoZSBxdWV1ZS4KCQkJCWZvcmVhY2ggKCAkbmV3X3Jlc3BvbnNlWydyZWNvcmRzJ10gYXMgJHJlc3VsdCApIHsKCQkJCQkvLyBpZiB0aGlzIHJlY29yZCBpcyBuZXcgYXMgb2YgdGhlIGxhc3Qgc3luYywgdXNlIHRoZSBjcmVhdGUgdHJpZ2dlci4KCQkJCQlpZiAoIGlzc2V0KCAkcmVzdWx0WydDcmVhdGVkRGF0ZSddICkgJiYgJHJlc3VsdFsnQ3JlYXRlZERhdGUnXSA+ICRsYXN0X3N5bmMgKSB7CgkJCQkJCSRzZl9zeW5jX3RyaWdnZXIgPSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfY3JlYXRlOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSRzZl9zeW5jX3RyaWdnZXIgPSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfdXBkYXRlOwoJCQkJCX0KCQkJCQkvLyBPbmx5IHF1ZXVlIHdoZW4gdGhlIHJlY29yZCdzIHRyaWdnZXIgaXMgY29uZmlndXJlZCBmb3IgdGhlIG1hcHBpbmcuCgkJCQkJaWYgKCBpc3NldCggJG1hcF9zeW5jX3RyaWdnZXJzICkgJiYgaXNzZXQoICRzZl9zeW5jX3RyaWdnZXIgKSAmJiBpbl9hcnJheSggJHNmX3N5bmNfdHJpZ2dlciwgJG1hcF9zeW5jX3RyaWdnZXJzLCB0cnVlICkgKSB7IC8vIHdwIG9yIHNmIGNydWQgZXZlbnQuCgkJCQkJCSRkYXRhID0gYXJyYXkoCgkJCQkJCQknb2JqZWN0X3R5cGUnICAgICA9PiAkdHlwZSwKCQkJCQkJCSdvYmplY3QnICAgICAgICAgID0+ICRyZXN1bHQsCgkJCQkJCQknbWFwcGluZycgICAgICAgICA9PiAkc2FsZXNmb3JjZV9tYXBwaW5nLAoJCQkJCQkJJ3NmX3N5bmNfdHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwgLy8gdXNlIHRoZSBhcHByb3ByaWF0ZSB0cmlnZ2VyIGJhc2VkIG9uIHdoZW4gdGhpcyB3YXMgY3JlYXRlZC4KCQkJCQkJKTsKCQkJCQkJLy8gYWRkIGEgcXVldWUgYWN0aW9uIHRvIHNhdmUgZGF0YSBmcm9tIHNhbGVzZm9yY2UuCgkJCQkJCSR0aGlzLT5xdWV1ZS0+YWRkKAoJCQkJCQkJJHRoaXMtPnNjaGVkdWxhYmxlX2NsYXNzZXNbICR0aGlzLT5zY2hlZHVsZV9uYW1lIF1bJ2NhbGxiYWNrJ10sCgkJCQkJCQlhcnJheSgKCQkJCQkJCQknb2JqZWN0X3R5cGUnICAgICA9PiAkdHlwZSwKCQkJCQkJCQknb2JqZWN0JyAgICAgICAgICA9PiAkcmVzdWx0WydJZCddLAoJCQkJCQkJCSdzZl9zeW5jX3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCQkpLAoJCQkJCQkJJHRoaXMtPnNjaGVkdWxlX25hbWUKCQkJCQkJKTsKCQkJCQkJLy8gVXBkYXRlIHRoZSBsYXN0IHB1bGwgc3luYyB0aW1lc3RhbXAgZm9yIHRoaXMgcmVjb3JkIHR5cGUgdG8gYXZvaWQgcmUtcHJvY2Vzc2luZyBpbiBjYXNlIG9mIGVycm9yLgoJCQkJCQkkbGFzdF9zeW5jX3B1bGxfdHJpZ2dlciA9IERhdGVUaW1lOjpjcmVhdGVGcm9tRm9ybWF0KCAnWS1tLWRcVEg6aTpzKycsICRyZXN1bHRbICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdHJpZ2dlcl9maWVsZCddIF0sIG5ldyBEYXRlVGltZVpvbmUoICdVVEMnICkgKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJJG5leHRfcmVjb3Jkc191cmwgPSBpc3NldCggJG5ld19yZXNwb25zZVsnbmV4dFJlY29yZHNVcmwnXSApID8gc3RyX3JlcGxhY2UoICR2ZXJzaW9uX3BhdGgsICcnLCAkbmV3X3Jlc3BvbnNlWyduZXh0UmVjb3Jkc1VybCddICkgOiBmYWxzZTsKCQl9IC8vIGVuZCB3aGlsZSBsb29wCgl9CgoJLyoqCgkgKiBHZXQgdGhlIG5leHQgb2Zmc2V0IHF1ZXJ5LiBJZiBjaGVjayBpcyB0cnVlLCBvbmx5IHNlZSBpZiB0aGF0IHF1ZXJ5IHdvdWxkIGhhdmUgcmVzdWx0cy4gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIFNPUUwgb2JqZWN0LgoJICogV2hlbiBiYXRjaFNpemUgaXMgbm90IGluIHVzZSwgcnVuIGEgY2hlY2sgd2l0aCBhbiBvZmZzZXQuCgkgKgoJICogQHBhcmFtIHN0cmluZyAkdHlwZSB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZS4KCSAqIEBwYXJhbSBhcnJheSAgJHNhbGVzZm9yY2VfbWFwcGluZyB0aGUgbWFwIGJldHdlZW4gb2JqZWN0IHR5cGVzLgoJICogQHBhcmFtIGFycmF5ICAkcXVlcnlfb3B0aW9ucyB0aGUgb3B0aW9ucyBmb3IgdGhlIFNPUUwgcXVlcnkuCgkgKiBAcmV0dXJuIG9iamVjdHxib29sICRzb3FsfCRkb2VzX25leHRfb2Zmc2V0X2hhdmVfcmVzdWx0cwoJICovCglwcml2YXRlIGZ1bmN0aW9uIGNoZWNrX29mZnNldF9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcsICRxdWVyeV9vcHRpb25zICkgewoKCQkkc29xbCAgICAgICAgICAgICAgICAgICAgICAgICAgPSAkdGhpcy0+Z2V0X3B1bGxfcXVlcnkoICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgkJJGRvZXNfbmV4dF9vZmZzZXRfaGF2ZV9yZXN1bHRzID0gZmFsc2U7CgoJCS8vIHJ1biB0aGUgX190b1N0cmluZyBtZXRob2QgdG8gY29udmVydCB0aGUgU09RTCBxdWVyeSBvYmplY3QgdG8gYSBzdHJpbmcuCgkJJHNvcWxfc3RyaW5nID0gKHN0cmluZykgJHNvcWw7CgoJCSRzZmFwaSA9ICR0aGlzLT5zYWxlc2ZvcmNlWydzZmFwaSddOwoJCS8vIEV4ZWN1dGUgcXVlcnkKCQkvLyBoYXZlIHRvIGNhc3QgaXQgdG8gc3RyaW5nIHRvIG1ha2Ugc3VyZSBpdCB1c2VzIHRoZSBtYWdpYyBtZXRob2QKCQkvLyB3ZSBkb24ndCB3YW50IHRvIGNhY2hlIHRoaXMgYmVjYXVzZSB0aW1lc3RhbXBzLgoJCSRyZXN1bHRzID0gJHNmYXBpLT5xdWVyeSgKCQkJJHNvcWxfc3RyaW5nLAoJCQkkcXVlcnlfb3B0aW9ucwoJCSk7CgoJCSRyZXNwb25zZSA9ICRyZXN1bHRzWydkYXRhJ107CgkJaWYgKCAhIGlzc2V0KCAkcmVzcG9uc2VbJ2Vycm9yQ29kZSddICkgJiYgMCA8IGNvdW50KCAkcmVzcG9uc2VbJ3JlY29yZHMnXSApICkgewoJCQkkZG9lc19uZXh0X29mZnNldF9oYXZlX3Jlc3VsdHMgPSB0cnVlOwoJCX0KCQlyZXR1cm4gJGRvZXNfbmV4dF9vZmZzZXRfaGF2ZV9yZXN1bHRzOwoJfQoKCgkvKioKCSAqIEdpdmVuIGEgU09iamVjdCB0eXBlIG5hbWUsIGJ1aWxkIGFuIFNPUUwgcXVlcnkgdG8gaW5jbHVkZSBhbGwgZmllbGRzIGZvciBhbGwKCSAqIGZpZWxkbWFwcyBtYXBwZWQgdG8gdGhhdCBTT2JqZWN0LgoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJHR5cGUgZS5nLiAiQ29udGFjdCIsICJBY2NvdW50IiwgZXRjLgoJICogQHBhcmFtIGFycmF5ICAkc2FsZXNmb3JjZV9tYXBwaW5nIHRoZSBmaWVsZG1hcCB0aGF0IG1hcHMgdGhlIHR3byBvYmplY3QgdHlwZXMuCgkgKiBAcmV0dXJuIE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfU2VsZWN0X1F1ZXJ5IG9yIG51bGwgaWYgbm8gbWFwcGluZ3Mgb3Igbm8gbWFwcGVkIGZpZWxkcyB3ZXJlIGZvdW5kLgoJICogQHNlZSBPYmplY3RfU3luY19TZl9NYXBwaW5nOjpnZXRfbWFwcGVkX2ZpZWxkcwoJICogQHNlZSBPYmplY3RfU3luY19TZl9NYXBwaW5nOjpnZXRfbWFwcGVkX3JlY29yZF90eXBlcwoJICovCglwcml2YXRlIGZ1bmN0aW9uIGdldF9wdWxsX3F1ZXJ5KCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZyA9IGFycmF5KCkgKSB7CgkJLy8gd2UgbmVlZCB0byBkZXRlcm1pbmUgd2hhdCB0byBkbyB3aXRoIHNhdmVkIHF1ZXJpZXMuIHRoaXMgaXMgd2hhdCB3ZSBjdXJyZW50bHkgZG8gYnV0IGl0IGRvZXNuJ3Qgd29yay4KCQkvLyBjaGVjayBpZiB3ZSBoYXZlIGEgc3RvcmVkIG5leHQgcXVlcnkgdG8gcnVuIGZvciB0aGlzIHR5cGUuIGlmIHNvLCB1bnNlcmlhbGl6ZSBpdCBzbyB3ZSBoYXZlIGFuIG9iamVjdC4KCQkkcHVsbF9xdWVyeV9ydW5uaW5nID0gJHRoaXMtPnB1bGxfb3B0aW9ucy0+Z2V0KCAnY3VycmVudF9xdWVyeScsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAnJyApOwoJCWlmICggJycgIT09ICRwdWxsX3F1ZXJ5X3J1bm5pbmcgKSB7CgkJCSRzYXZlZF9xdWVyeSA9IG1heWJlX3Vuc2VyaWFsaXplKCAkcHVsbF9xdWVyeV9ydW5uaW5nICk7CgkJfQoKCQkkbWFwcGVkX2ZpZWxkcyAgICAgICA9IGFycmF5KCk7CgkJJG1hcHBlZF9yZWNvcmRfdHlwZXMgPSBhcnJheSgpOwoKCQkvLyBvbmx5IHVzZSBmaWVsZHMgdGhhdCBjb21lIGZyb20gU2FsZXNmb3JjZSB0byBXb3JkUHJlc3MsIG9yIHRoYXQgc3luYy4KCQkkbWFwcGVkX2ZpZWxkcyA9IGFycmF5X21lcmdlKAoJCQkkbWFwcGVkX2ZpZWxkcywKCQkJJHRoaXMtPm1hcHBpbmdzLT5nZXRfbWFwcGVkX2ZpZWxkcygKCQkJCSRzYWxlc2ZvcmNlX21hcHBpbmcsCgkJCQlhcnJheSggJHRoaXMtPm1hcHBpbmdzLT5kaXJlY3Rpb25fc3luYywgJHRoaXMtPm1hcHBpbmdzLT5kaXJlY3Rpb25fc2Zfd29yZHByZXNzICkKCQkJKQoJCSk7CgoJCS8vIElmIFJlY29yZCBUeXBlIGlzIHNwZWNpZmllZCwgcmVzdHJpY3QgcXVlcnkuCgkJJG1hcHBpbmdfcmVjb3JkX3R5cGVzID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfbWFwcGVkX3JlY29yZF90eXBlcyggJHNhbGVzZm9yY2VfbWFwcGluZyApOwoKCQkvLyBJZiBSZWNvcmQgVHlwZSBpcyBub3Qgc3BlY2lmaWVkIGZvciBhIGdpdmVuIG1hcHBpbmcsIGVuc3VyZSBxdWVyeSBpcyB1bnJlc3RyaWN0ZWQuCgkJaWYgKCBlbXB0eSggJG1hcHBpbmdfcmVjb3JkX3R5cGVzICkgKSB7CgkJCSRtYXBwZWRfcmVjb3JkX3R5cGVzID0gZmFsc2U7CgkJfSBlbHNlaWYgKCBpc19hcnJheSggJG1hcHBlZF9yZWNvcmRfdHlwZXMgKSApIHsKCQkJJG1hcHBlZF9yZWNvcmRfdHlwZXMgPSBhcnJheV9tZXJnZSggJG1hcHBlZF9yZWNvcmRfdHlwZXMsICRtYXBwaW5nX3JlY29yZF90eXBlcyApOwoJCX0KCgkJLy8gVGhlcmUgYXJlIG5vIGZpZWxkIG1hcHBpbmdzIGNvbmZpZ3VyZWQgdG8gcHVsbCBkYXRhIGZyb20gU2FsZXNmb3JjZSBzbwoJCS8vIG1vdmUgb24gdG8gdGhlIG5leHQgbWFwcGVkIG9iamVjdC4gUHJldmVudHMgcXVlcnlpbmcgdW5tYXBwZWQgZGF0YS4KCQlpZiAoIGVtcHR5KCAkbWFwcGVkX2ZpZWxkcyApICkgewoJCQlyZXR1cm4gbnVsbDsKCQl9CgoJCWlmICggISBpc3NldCggJHNhdmVkX3F1ZXJ5ICkgKSB7CgkJCSRzb3FsID0gbmV3IE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfU2VsZWN0X1F1ZXJ5KCAkdHlwZSApOwoKCQkJLy8gQ29udmVydCBmaWVsZCBtYXBwaW5ncyB0byBTT1FMLgoJCQkkc29xbC0+ZmllbGRzID0gYXJyYXlfbWVyZ2UoCgkJCQkkbWFwcGVkX2ZpZWxkcywKCQkJCWFycmF5KAoJCQkJCSdJZCcgPT4gJ0lkJywKCQkJCQkkc2FsZXNmb3JjZV9tYXBwaW5nWydwdWxsX3RyaWdnZXJfZmllbGQnXSA9PiAkc2FsZXNmb3JjZV9tYXBwaW5nWydwdWxsX3RyaWdnZXJfZmllbGQnXSwKCQkJCSkKCQkJKTsKCgkJCS8vIGNoZWNrIGlmIHRoaXMgaXMgYSBTYWxlc2ZvcmNlIGNyZWF0ZSBldmVudC4KCQkJaWYgKCBpbl9hcnJheSggJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2NyZWF0ZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snc3luY190cmlnZ2VycyddLCB0cnVlICkgKSB7CgkJCQkkc29xbC0+ZmllbGRzWydDcmVhdGVkRGF0ZSddID0gJ0NyZWF0ZWREYXRlJzsKCQkJfQoKCQkJLy8gT3JkZXIgYnkgdGhlIHRyaWdnZXIgZmllbGQsIHJlcXVlc3RpbmcgdGhlIG9sZGVzdCByZWNvcmRzIGZpcnN0LgoJCQkkc29xbC0+b3JkZXIgPSBhcnJheSgKCQkJCSRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdHJpZ2dlcl9maWVsZCddID0+ICdBU0MnLAoJCQkpOwoKCQkJLy8gU2V0IGEgbGltaXQgb24gdGhlIG51bWJlciBvZiByZWNvcmRzIHRoYXQgY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBBUEkgYXQgb25lIHRpbWUuCgkJCSRzb3FsLT5saW1pdCA9IGZpbHRlcl92YXIoICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ3F1ZXJ5X2xpbWl0JywgJycsICcnLCAyNSApLCBGSUxURVJfVkFMSURBVEVfSU5UICk7CgoJCQkvLyBpZiB0aGVyZSBhcmUgcmVjb3JkIHR5cGVzIG9uIHRoaXMgZmllbGRtYXAsIHVzZSB0aGVtIGFzIGEgY29uZGl0aW9uYWwuCgkJCWlmICggISBlbXB0eSggJG1hcHBlZF9yZWNvcmRfdHlwZXMgKSApIHsKCQkJCSRzb3FsLT5hZGRfY29uZGl0aW9uKCAnUmVjb3JkVHlwZUlkJywgYXJyYXlfdmFsdWVzKCAkbWFwcGVkX3JlY29yZF90eXBlcyApLCAnSU4nICk7CgkJCX0KCQl9IGVsc2UgewoJCQkkc29xbCA9ICRzYXZlZF9xdWVyeTsKCQl9CgoJCS8vIEdldCB0aGUgdmFsdWUgZm9yIHRoZSBwdWxsIHRyaWdnZXIgZmllbGQuIE9mdGVuIHRoaXMgd2lsbCBMYXN0TW9kaWZpZWREYXRlLiBJdCBuZWVkcyB0byBjaGFuZ2Ugd2hlbiB0aGUgcXVlcnkgZ2V0cyByZWdlbmVyYXRlZCBhZnRlciB0aGUgbWF4IG9mZnNldCBoYXMgYmVlbiByZWFjaGVkLgoJCSRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWUgPSAkdGhpcy0+Z2V0X3B1bGxfZGF0ZV92YWx1ZSggJHR5cGUsICRzb3FsLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddICk7CgoJCS8vIHdlIGNoZWNrIHRvIHNlZSBpZiB0aGUgc3RvcmVkIGRhdGUgaXMgdGhlIHNhbWUgYXMgdGhlIG5ldyBvbmUuIGlmIGl0IGlzIG5vdCwgd2Ugd2lsbCB3YW50IHRvIHJlc2V0IHRoZSBvZmZzZXQuCgkJJHJlc2V0X29mZnNldCA9IGZhbHNlOwoJCSRoYXNfZGF0ZSAgICAgPSBmYWxzZTsKCQkka2V5ICAgICAgICAgID0gYXJyYXlfc2VhcmNoKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydwdWxsX3RyaWdnZXJfZmllbGQnXSwgYXJyYXlfY29sdW1uKCAkc29xbC0+Y29uZGl0aW9ucywgJ2ZpZWxkJyApLCB0cnVlICk7CgkJaWYgKCBmYWxzZSAhPT0gJGtleSApIHsKCQkJJGhhc19kYXRlID0gdHJ1ZTsKCQkJaWYgKCAkc29xbC0+Y29uZGl0aW9uc1sgJGtleSBdWyd2YWx1ZSddICE9PSAkcHVsbF90cmlnZ2VyX2ZpZWxkX3ZhbHVlICkgewoJCQkJJHJlc2V0X29mZnNldCA9IHRydWU7CgkJCX0KCQl9CgoJCWlmICggZmFsc2UgPT09ICRoYXNfZGF0ZSApIHsKCQkJJHJlc2V0X29mZnNldCA9IHRydWU7CgkJCSRzb3FsLT5hZGRfY29uZGl0aW9uKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydwdWxsX3RyaWdnZXJfZmllbGQnXSwgJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZSwgJz4nICk7CgkJfSBlbHNlIHsKCQkJJHNvcWwtPmNvbmRpdGlvbnNbICRrZXkgXVsndmFsdWUnXSA9ICRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWU7CgkJfQoKCQkvLyBHZXQgdGhlIHZhbHVlIGZvciB0aGUgU09RTCBvZmZzZXQuIElmIG1heCBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQsIGl0IGlzIHplcm8uCgkJJHNvcWwtPm9mZnNldCA9ICR0aGlzLT5nZXRfcHVsbF9vZmZzZXQoICR0eXBlLCAkc29xbCwgJHJlc2V0X29mZnNldCApOwoKCQkvLyBhZGQgYSBmaWx0ZXIgaGVyZSB0byBtb2RpZnkgdGhlIHF1ZXJ5CgkJLy8gSG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIG1vZGlmeSB0aGUgU09RTCBxdWVyeSBiZWZvcmUgaXQgaXMgc2VudCB0byBTYWxlc2ZvcmNlLgoJCSRzb3FsID0gYXBwbHlfZmlsdGVycyggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9xdWVyeV9tb2RpZnknLCAkc29xbCwgJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcsICRtYXBwZWRfZmllbGRzICk7CgoJCS8vIHF1aWNrIGV4YW1wbGUgdG8gY2hhbmdlIHRoZSBvcmRlciB0byBkZXNjZW5kaW5nLgoJCS8qIC8vIHBocGNzOmlnbm9yZSBTcXVpei5QSFAuQ29tbWVudGVkT3V0Q29kZS5Gb3VuZAoJCWFkZF9maWx0ZXIoICdvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZV9wdWxsX3F1ZXJ5X21vZGlmeScsICdjaGFuZ2VfcHVsbF9xdWVyeScsIDEwLCA0ICk7CgkJLy8gY2FuIGFsd2F5cyByZWR1Y2UgdGhpcyBudW1iZXIgaWYgYWxsIHRoZSBhcmd1bWVudHMgYXJlIG5vdCBuZWNlc3NhcnkKCQlmdW5jdGlvbiBjaGFuZ2VfcHVsbF9xdWVyeSggJHNvcWwsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nLCAkbWFwcGVkX2ZpZWxkcyApIHsKCQkJJHNvcWwtPm9yZGVyID0gJ0RFU0MnOwoJCQlyZXR1cm4gJHNvcWw7CgkJfQoJCSovCgoJCS8vIE1ha2Ugc3VyZSBvdXIgU09RTCBvYmplY3QgcHJvcGVydGllcyB0aGF0IGFyZSBhcnJheXMgYXJlIHVuaXF1ZS4gVGhpcyBwcmV2ZW50cyB2YWx1ZXMgYWRkZWQgdmlhIGRldmVsb3BlciBob29rIGZyb20gYmVpbmcgYWRkZWQgcmVwZWF0ZWRseSB3aGVuIGEgcXVlcnkgaXMgY2FjaGVkLgoJCWlmICggdmVyc2lvbl9jb21wYXJlKCBQSFBfVkVSU0lPTiwgJzcuMC44JywgJz49JyApICkgewoJCQkkc29xbC0+ZmllbGRzICAgICA9IGFycmF5X3VuaXF1ZSggJHNvcWwtPmZpZWxkcywgU09SVF9SRUdVTEFSICk7CgkJCSRzb3FsLT5vcmRlciAgICAgID0gYXJyYXlfdW5pcXVlKCAkc29xbC0+b3JkZXIsIFNPUlRfUkVHVUxBUiApOwoJCQkkc29xbC0+Y29uZGl0aW9ucyA9IGFycmF5X3VuaXF1ZSggJHNvcWwtPmNvbmRpdGlvbnMsIFNPUlRfUkVHVUxBUiApOwoJCX0gZWxzZSB7CgkJCSRzb3FsLT5maWVsZHMgICAgID0gYXJyYXlfbWFwKCAndW5zZXJpYWxpemUnLCBhcnJheV91bmlxdWUoIGFycmF5X21hcCggJ3NlcmlhbGl6ZScsICRzb3FsLT5maWVsZHMgKSApICk7CgkJCSRzb3FsLT5vcmRlciAgICAgID0gYXJyYXlfbWFwKCAndW5zZXJpYWxpemUnLCBhcnJheV91bmlxdWUoIGFycmF5X21hcCggJ3NlcmlhbGl6ZScsICRzb3FsLT5vcmRlciApICkgKTsKCQkJJHNvcWwtPmNvbmRpdGlvbnMgPSBhcnJheV9tYXAoICd1bnNlcmlhbGl6ZScsIGFycmF5X3VuaXF1ZSggYXJyYXlfbWFwKCAnc2VyaWFsaXplJywgJHNvcWwtPmNvbmRpdGlvbnMgKSApICk7CgkJfQoKCQkvLyBzZXJpYWxpemUgdGhlIGN1cnJlbnRseSBydW5uaW5nIFNPUUwgcXVlcnkgYW5kIHN0b3JlIGl0IGZvciB0aGlzIHR5cGUuCgkJJHNlcmlhbGl6ZWRfY3VycmVudF9xdWVyeSA9IG1heWJlX3NlcmlhbGl6ZSggJHNvcWwgKTsKCQkkdGhpcy0+cHVsbF9vcHRpb25zLT5zZXQoICdjdXJyZW50X3F1ZXJ5JywgJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sICRzZXJpYWxpemVkX2N1cnJlbnRfcXVlcnksIGZhbHNlICk7CgkJcmV0dXJuICRzb3FsOwoJfQoKCgkvKioKCSAqIERldGVybWluZSB0aGUgb2Zmc2V0IGZvciB0aGUgU09RTCBxdWVyeSB0byBydW4KCSAqCgkgKiBAcGFyYW0gc3RyaW5nICR0eXBlIGUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4KCSAqIEBwYXJhbSBvYmplY3QgJHNvcWwgdGhlIFNPUUwgb2JqZWN0LgoJICogQHBhcmFtIGJvb2wgICAkcmVzZXQgd2hldGhlciB0byByZXNldCB0aGUgb2Zmc2V0LgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGdldF9wdWxsX29mZnNldCggJHR5cGUsICRzb3FsLCAkcmVzZXQgPSBmYWxzZSApIHsKCQkvLyBzZXQgYW4gb2Zmc2V0LiBpZiB0aGVyZSBpcyBhIHNhdmVkIG9mZnNldCwgYWRkIHRoZSBsaW1pdCB0byBpdCBhbmQgbW92ZSBvbi4gb3RoZXJ3aXNlLCB1c2UgdGhlIGxpbWl0LgoJCSRvZmZzZXQgPSBpc3NldCggJHNvcWwtPm9mZnNldCApID8gJHNvcWwtPm9mZnNldCArICRzb3FsLT5saW1pdCA6ICRzb3FsLT5saW1pdDsKCQlpZiAoIHRydWUgPT09ICRyZXNldCB8fCAkb2Zmc2V0ID4gJHRoaXMtPm1heF9zb3FsX3NpemUgKSB7CgkJCSRvZmZzZXQgPSAwOwoJCX0KCQlyZXR1cm4gJG9mZnNldDsKCX0KCgkvKioKCSAqIEdpdmVuIGEgU09iamVjdCB0eXBlIG5hbWUsIGRldGVybWluZSB0aGUgZGF0ZXRpbWUgdmFsdWUgdGhlIFNPUUwgb2JqZWN0IHNob3VsZCB1c2UgdG8gZmlsdGVyIHJlc3VsdHMuIE9mdGVuIHRoaXMgd2lsbCBiZSBMYXN0TW9kaWZpZWREYXRlLgoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJHR5cGUgZS5nLiAiQ29udGFjdCIsICJBY2NvdW50IiwgZXRjLgoJICogQHBhcmFtIG9iamVjdCAkc29xbCB0aGUgU09RTCBvYmplY3QuCgkgKiBAcGFyYW0gaW50ICAgICRmaWVsZG1hcF9pZCBpcyB0aGUgZmllbGRtYXAgSUQgdGhhdCBnb2VzIHdpdGggdGhpcyBxdWVyeS4KCSAqIEByZXR1cm4gdGltZXN0YW1wICRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWUKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRfcHVsbF9kYXRlX3ZhbHVlKCAkdHlwZSwgJHNvcWwsICRmaWVsZG1hcF9pZCA9ICcnICkgewoJCS8vIElmIG5vIGxhc3R1cGRhdGUsIGdldCBhbGwgcmVjb3JkcywgZWxzZSBnZXQgcmVjb3JkcyBzaW5jZSBsYXN0IHB1bGwuCgkJLy8gdGhpcyBzaG91bGQgYmUgd2hhdCBrZWVwcyBpdCBmcm9tIGdldHRpbmcgYWxsIHRoZSByZWNvcmRzLCB3aGV0aGVyIG9yIG5vdCB0aGV5J3ZlIGV2ZXIgYmVlbiB1cGRhdGVkCgkJLy8gd2UgYWxzbyB1c2UgdGhlIG9wdGlvbiBmb3Igd2hlbiB0aGUgcGx1Z2luIHdhcyBpbnN0YWxsZWQsIGFuZCBkb24ndCBnbyBiYWNrIGZ1cnRoZXIgdGhhbiB0aGF0IGJ5IGRlZmF1bHQuCgoJCSRzZl9hY3RpdmF0ZV90aW1lID0gZ2V0X29wdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAnYWN0aXZhdGVfdGltZScsICcnICk7CgkJJHNmX2xhc3Rfc3luYyAgICAgPSAkdGhpcy0+cHVsbF9vcHRpb25zLT5nZXQoICdsYXN0X3N5bmMnLCAkdHlwZSwgJGZpZWxkbWFwX2lkLCBudWxsICk7CgkJaWYgKCAkc2ZfbGFzdF9zeW5jICkgewoJCQkkcHVsbF90cmlnZ2VyX2ZpZWxkX3ZhbHVlID0gZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkc2ZfbGFzdF9zeW5jICk7CgkJfSBlbHNlIHsKCQkJJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZSA9IGdtZGF0ZSggJ1ktbS1kXFRIOmk6c1xaJywgJHNmX2FjdGl2YXRlX3RpbWUgKTsKCQl9CgoJCS8vIEhvb2sgdG8gYWxsb3cgb3RoZXIgcGx1Z2lucyB0byBzZXQgdGhlICJsYXN0IHB1bGwgZGF0ZSIgdG8gd2hlbmV2ZXIgdGhleSB3YW50LCBpbmNsdWRpbmcgYSBkYXRldGltZSBmcm9tIGJlZm9yZSB0aGUgcGx1Z2luIHdhcyBhY3RpdmF0ZWQuCgkJJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZSA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ2NoYW5nZV9wdWxsX2RhdGVfdmFsdWUnLCAkcHVsbF90cmlnZ2VyX2ZpZWxkX3ZhbHVlLCAkdHlwZSwgJHNvcWwsICRmaWVsZG1hcF9pZCApOwoKCQkvLyBleGFtcGxlIHRvIHVzZSBhbm90aGVyIGRhdGV0aW1lIHZhbHVlLgoJCS8vIHRoZSB2YWx1ZSBuZWVkcyB0byBiZSBhIGdtZGF0ZSwgZm9ybWF0dGVkIGZvciBTYWxlc2ZvcmNlOiAnWS1tLWRcVEg6aTpzXFonLgoJCS8qIC8vIHBocGNzOmlnbm9yZSBTcXVpei5QSFAuQ29tbWVudGVkT3V0Q29kZS5Gb3VuZAoJCWFkZF9maWx0ZXIoICdvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZV9jaGFuZ2VfcHVsbF9kYXRlX3ZhbHVlJywgJ2NoYW5nZV9wdWxsX2RhdGVfdmFsdWUnLCAxMCwgNSApOwoJCS8vIGNhbiBhbHdheXMgcmVkdWNlIHRoaXMgbnVtYmVyIGlmIGFsbCB0aGUgYXJndW1lbnRzIGFyZSBub3QgbmVjZXNzYXJ5CgkJZnVuY3Rpb24gY2hhbmdlX3B1bGxfZGF0ZV92YWx1ZSggJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZSwgJG9iamVjdF90eXBlLCAkc29xbCwgJGZpZWxkbWFwX2lkICkgewoJCQlpZiAoICdDb250YWN0JyA9PT0gJG9iamVjdF90eXBlICApIHsKCQkJCS8vIGV4YW1wbGU6IGdvIGJhY2sgdG8gMjAwNi0wMS0wMVQyMzowMTowMSswMTowMCwgd2hpY2ggaXMgMTEzNjE1Mjg2MS4KCQkJCSRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWUgPSBnbWRhdGUoICdZLW0tZFxUSDppOnNcWicsIDExMzYxNTI4NjEgKTsKCQkJfQoJCQlyZXR1cm4gJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZTsKCQl9CgkJKi8KCgkJcmV0dXJuICRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWU7CgoJfQoKCS8qKgoJICogR2V0IG1lcmdlZCByZWNvcmRzIGZyb20gU2FsZXNmb3JjZS4KCSAqIE5vdGUgdGhhdCBtZXJnZXMgY2FuIGN1cnJlbnRseSBvbmx5IHdvcmsgaWYgdGhlIFNvYXAgQVBJIGlzIGVuYWJsZWQuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gZ2V0X21lcmdlZF9yZWNvcmRzKCkgewoKCQkkdXNlX3NvYXAgPSAkdGhpcy0+c2FsZXNmb3JjZVsnc29hcF9sb2FkZWQnXTsKCQlpZiAoIHRydWUgPT09ICR1c2Vfc29hcCApIHsKCQkJJHNvYXAgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9Tb2FwX1BhcnRuZXIoKTsKCQl9CgkJJHNlY29uZHMgPSA2MDsKCgkJJG1lcmdlZF9yZWNvcmRzID0gYXJyYXkoKTsKCgkJLy8gTG9hZCBmaWVsZG1hcHMgZm9yIG1lcmdlYWJsZSB0eXBlcy4KCQlmb3JlYWNoICggJHRoaXMtPm1lcmdlYWJsZV9yZWNvcmRfdHlwZXMgYXMgJHR5cGUgKSB7CgkJCSRtYXBwaW5ncyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2ZpZWxkbWFwcygKCQkJCW51bGwsCgkJCQlhcnJheV9tZXJnZSgKCQkJCQkkdGhpcy0+bWFwcGluZ3MtPmFjdGl2ZV9maWVsZG1hcF9jb25kaXRpb25zLAoJCQkJCWFycmF5KAoJCQkJCQknc2FsZXNmb3JjZV9vYmplY3QnID0+ICR0eXBlLAoJCQkJCSkKCQkJCSksCgkJCSk7CgoJCQkvLyBJdGVyYXRlIG92ZXIgZWFjaCBmaWVsZCBtYXBwaW5nIHRvIGRldGVybWluZSBvdXIgcXVlcnkgcGFyYW1ldGVycy4KCQkJZm9yZWFjaCAoICRtYXBwaW5ncyBhcyAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoJCQkJJGxhc3RfbWVyZ2Vfc3luYyA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ21lcmdlX2xhc3QnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddLCAnJywgdGltZSgpICk7CgkJCQkkbm93ICAgICAgICAgICAgID0gdGltZSgpOwoJCQkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+c2V0KCAnbWVyZ2VfbGFzdCcsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10sICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sICRub3cgKTsKCgkJCQkvLyBnZXRfZGVsZXRlZCgpIGNvbnN0cmFpbnQ6IHN0YXJ0RGF0ZSBjYW5ub3QgYmUgbW9yZSB0aGFuIDMwIGRheXMgYWdvCgkJCQkvLyAodXNpbmcgYW4gaW5jb21wYXRpYmxlIGRhdGUgbWF5IGxlYWQgdG8gZXhjZXB0aW9ucykuCgkJCQkkbGFzdF9tZXJnZV9zeW5jID0gJGxhc3RfbWVyZ2Vfc3luYyA+ICggdGltZSgpIC0gMjUwNTYwMCApID8gJGxhc3RfbWVyZ2Vfc3luYyA6ICggdGltZSgpIC0gMjUwNTYwMCApOwoKCQkJCS8vIGdldF9kZWxldGVkKCkgY29uc3RyYWludDogc3RhcnREYXRlIG11c3QgYmUgYXQgbGVhc3Qgb25lIG1pbnV0ZSBncmVhdGVyCgkJCQkvLyB0aGFuIGVuZERhdGUuCgkJCQkkbm93ID0gJG5vdyA+ICggJGxhc3RfbWVyZ2Vfc3luYyArIDYwICkgPyAkbm93IDogJG5vdyArIDYwOwoKCQkJCS8vIG5lZWQgdG8gYmUgdXNpbmcgZ21kYXRlIGZvciBTYWxlc2ZvcmNlIGNhbGwuCgkJCQkkbGFzdF9tZXJnZV9zeW5jX3NmID0gZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkbGFzdF9tZXJnZV9zeW5jICk7CgkJCQkkbWVyZ2VkICAgICAgICAgICAgID0gYXJyYXkoKTsKCQkJCS8vIHRoZXJlIGRvZXNuJ3QgYXBwZWFyIHRvIGJlIGEgd2F5IHRvIGRvIHRoaXMgaW4gdGhlIHJlc3QgYXBpOyBmb3Igbm93IHdlJ2xsIGRvIHNvYXAuCgkJCQlpZiAoIHRydWUgPT09ICR1c2Vfc29hcCApIHsKCQkJCQkkdHlwZSAgID0gJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXTsKCQkJCQkkcXVlcnkgID0gIlNFTEVDVCBJZCwgaXNEZWxldGVkLCBtYXN0ZXJSZWNvcmRJZCBGUk9NICR0eXBlIFdIRVJFIG1hc3RlclJlY29yZElkICE9ICcnIEFORCBTeXN0ZW1Nb2RTdGFtcCA+ICRsYXN0X21lcmdlX3N5bmNfc2YiOwoJCQkJCSRtZXJnZWQgPSAkc29hcC0+dHJ5X3NvYXAoICdxdWVyeUFsbCcsICRxdWVyeSApOwoJCQkJCWlmICggISBlbXB0eSggJG1lcmdlZC0+cmVjb3JkcyApICkgewoJCQkJCQkkbWVyZ2VkID0ganNvbl9kZWNvZGUoIHdwX2pzb25fZW5jb2RlKCAkbWVyZ2VkLT5yZWNvcmRzICksIHRydWUgKTsKCQkJCQl9IGVsc2UgewoJCQkJCQljb250aW51ZTsKCQkJCQl9CgoJCQkJCWZvcmVhY2ggKCAkbWVyZ2VkIGFzICRyZXN1bHQgKSB7CgkJCQkJCSRyZWNvcmQgPSBhcnJheSgpOwoJCQkJCQlpZiAoIGlzX2FycmF5KCBhcnJheV91bmlxdWUoICRyZXN1bHRbJ0lkJ10gKSApICkgewoJCQkJCQkJJHJlY29yZFsnSWQnXSA9IGFycmF5X3VuaXF1ZSggJHJlc3VsdFsnSWQnXSApWzBdOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJJHJlY29yZFsnSWQnXSA9ICRyZXN1bHRbJ0lkJ107CgkJCQkJCX0KCQkJCQkJaWYgKCBpc3NldCggJHJlc3VsdFsnYW55J10gKSApIHsKCQkJCQkJCWxpYnhtbF91c2VfaW50ZXJuYWxfZXJyb3JzKCB0cnVlICk7CgkJCQkJCQkkYW55ID0gc2ltcGxleG1sX2xvYWRfc3RyaW5nKCAnPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJ5ZXMiPz48cm9vdD4nIC4gJHJlc3VsdFsnYW55J10gLiAnPC9yb290PicgKTsKCQkJCQkJCWlmICggJGFueSApIHsKCQkJCQkJCQkkanNvbiAgID0gd3BfanNvbl9lbmNvZGUoICRhbnkgKTsKCQkJCQkJCQkkYXJyYXkgID0ganNvbl9kZWNvZGUoICRqc29uLCB0cnVlICk7CgkJCQkJCQkJJHJlY29yZCA9IGFycmF5X21lcmdlKCAkcmVjb3JkLCAkYXJyYXkgKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQkkbWVyZ2VkX3JlY29yZHNbXSA9ICRyZWNvcmQ7CgkJCQkJCSR0aGlzLT5yZXNwb25kX3RvX3NhbGVzZm9yY2VfbWVyZ2UoICR0eXBlLCAkcmVjb3JkICk7CgkJCQkJfSAvLyBFbmQgZm9yZWFjaCBvbiBtZXJnZWQKCQkJCX0gLy8gRW5kIGlmIG9uIHNvYXAKCQkJCWlmICggISBlbXB0eSggJG1lcmdlZF9yZWNvcmRzICkgKSB7CgkJCQkJJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+c2V0KCAnc2FsZXNmb3JjZV9tZXJnZWQnLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgJG1lcmdlZF9yZWNvcmRzLCAkc2Vjb25kcyApOwoJCQkJfQoJCQl9IC8vIEVuZCBmb3JlYWNoIG9uIG1hcHBpbmdzCgkJfSAvLyBlbmQgZm9yZWFjaCBvbiB0eXBlcwoKCX0KCgkvKioKCSAqIFJlc3BvbmQgdG8gU2FsZXNmb3JjZSBtZXJnZSBldmVudHMKCSAqIFRoaXMgbWVhbnMgd2UgdXBkYXRlIHRoZSBtYXBwaW5nIG9iamVjdCB0byBjb250YWluIHRoZSBuZXcgU2FsZXNmb3JjZSBJZCwgYW5kIHB1bGwgaXRzIGRhdGEKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRvYmplY3RfdHlwZSB3aGF0IHR5cGUgb2YgU2FsZXNmb3JjZSBvYmplY3QgaXQgaXMuCgkgKiBAcGFyYW0gYXJyYXkgICRtZXJnZWRfcmVjb3JkIHRoZSByZWNvcmQgdGhhdCB3YXMgbWVyZ2VkLgoJICovCglwcml2YXRlIGZ1bmN0aW9uIHJlc3BvbmRfdG9fc2FsZXNmb3JjZV9tZXJnZSggJG9iamVjdF90eXBlLCAkbWVyZ2VkX3JlY29yZCApIHsKCQkkb3AgPSAnTWVyZ2UnOwoJCWlmICggaXNzZXQoICRtZXJnZWRfcmVjb3JkWydJZCddICkgJiYgdHJ1ZSA9PT0gZmlsdGVyX3ZhciggJG1lcmdlZF9yZWNvcmRbJ3NmOklzRGVsZXRlZCddLCBGSUxURVJfVkFMSURBVEVfQk9PTEVBTiApICYmICcnICE9PSAkbWVyZ2VkX3JlY29yZFsnc2Y6TWFzdGVyUmVjb3JkSWQnXSApIHsKCQkJJHByZXZpb3VzX3NmX2lkICA9ICRtZXJnZWRfcmVjb3JkWydJZCddOwoJCQkkbmV3X3NmX2lkICAgICAgID0gJG1lcmdlZF9yZWNvcmRbJ3NmOk1hc3RlclJlY29yZElkJ107CgkJCSRtYXBwaW5nX29iamVjdHMgPSAkdGhpcy0+bWFwcGluZ3MtPmxvYWRfb2JqZWN0X21hcHNfYnlfc2FsZXNmb3JjZV9pZCggJHByZXZpb3VzX3NmX2lkICk7CgkJCWZvcmVhY2ggKCAkbWFwcGluZ19vYmplY3RzIGFzICRtYXBwaW5nX29iamVjdCApIHsKCQkJCSR3b3JkcHJlc3NfdHlwZSAgICAgICAgICAgICAgICAgID0gJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3Nfb2JqZWN0J107CgkJCQkkd29yZHByZXNzX2lkICAgICAgICAgICAgICAgICAgICA9ICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ107CgkJCQkkbWFwcGluZ19vYmplY3RbJ3NhbGVzZm9yY2VfaWQnXSA9ICRuZXdfc2ZfaWQ7CgkJCQkkbWFwcGluZ19vYmplY3QgICAgICAgICAgICAgICAgICA9ICR0aGlzLT5tYXBwaW5ncy0+dXBkYXRlX29iamVjdF9tYXAoICRtYXBwaW5nX29iamVjdCwgJG1hcHBpbmdfb2JqZWN0WydpZCddICk7CgoJCQkJJHN0YXR1cyA9ICdzdWNjZXNzJzsKCgkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQl9CgoJCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMsIDIpIHdoYXQgb3BlcmF0aW9uIGlzIGhhcHBlbmluZywgMykgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUsIDQpIHRoZSBwcmV2aW91cyBTYWxlc2ZvcmNlIElkIHZhbHVlLCA1KSB0aGUgbmV3IFNhbGVzZm9yY2UgSWQgdmFsdWUsIDYpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0LCA3KSB0aGUgV29yZFByZXNzIGlkIHZhbHVlLgoJCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIFNhbGVzZm9yY2UgJTMkcyBvYmplY3RzIHdpdGggSWRzICU0JHMgYW5kICU1JHMgd2VyZSBtZXJnZWQgKCU1JHMgaXMgdGhlIHJlbWFpbmluZyBJRC4gSXQgaXMgbWFwcGVkIHRvIFdvcmRQcmVzcyAlNiRzIHdpdGggJTckcy4pJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCQllc2NfYXR0ciggJG9wICksCgkJCQkJZXNjX2F0dHIoICRvYmplY3RfdHlwZSApLAoJCQkJCWVzY19hdHRyKCAkcHJldmlvdXNfc2ZfaWQgKSwKCQkJCQllc2NfYXR0ciggJG5ld19zZl9pZCApLAoJCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX3R5cGUgKSwKCQkJCQllc2NfYXR0ciggJHdvcmRwcmVzc19pZCApCgkJCQkpOwoKCQkJCSRyZXN1bHQgPSBhcnJheSgKCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCSdtZXNzYWdlJyA9PiAnJywKCQkJCQkndHJpZ2dlcicgPT4gMCwKCQkJCQkncGFyZW50JyAgPT4gJHdvcmRwcmVzc19pZCwKCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCSk7CgoJCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkJLy8gYWZ0ZXIgaXQgaGFzIGJlZW4gbWVyZ2VkLCBwdWxsIGl0LgoJCQkJJHJlc3VsdCA9ICR0aGlzLT5tYW51YWxfcHVsbCggJG9iamVjdF90eXBlLCAkbmV3X3NmX2lkICk7CgoJCQl9CgkJfQoJfQoKCS8qKgoJICogR2V0IGRlbGV0ZWQgcmVjb3JkcyBmcm9tIHNhbGVzZm9yY2UuCgkgKiBOb3RlIHRoYXQgZGVsZXRpb25zIGNhbiBvbmx5IGJlIHF1ZXJpZWQgdmlhIFJFU1Qgd2l0aCBhbiBBUEkgdmVyc2lvbiA+PSAyOS4wLgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGdldF9kZWxldGVkX3JlY29yZHMoKSB7CgoJCSRzZmFwaSA9ICR0aGlzLT5zYWxlc2ZvcmNlWydzZmFwaSddOwoKCQkvLyBUaGUgRHJ1cGFsIG1vZHVsZSBydW5zIGEgY2hlY2tfbWVyZ2VkX3JlY29yZHMgY2FsbCByaWdodCBoZXJlLCBidXQgaXQgc2VlbXMgdG8gYmUgYW4gaW52YWxpZCBTT1FMIHF1ZXJ5LgoJCS8vIFdlIGFyZSBub3QgaW5jb3Jwb3JhdGluZyB0aGF0IHBhcnQgb2YgdGhpcyBicmFuY2ggYXQgdGhpcyB0aW1lCgkJLy8gU2VlIEdpdEh1YiBpc3N1ZSAxOTcgdG8gdHJhY2sgdGhpcyBzdGF0dXMuIGh0dHBzOi8vZ2l0aHViLmNvbS9NaW5uUG9zdC9vYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZS9pc3N1ZXMvMTk3LgoKCQkvLyBMb2FkIGFsbCB1bmlxdWUgU0YgcmVjb3JkIHR5cGVzIHRoYXQgd2UgaGF2ZSBtYXBwaW5ncyBmb3IuIFRoaXMgcmVzdWx0cyBpbiBhIGRvdWJsZSBsb29wLgoJCWZvcmVhY2ggKCAkdGhpcy0+bWFwcGluZ3MtPmdldF9maWVsZG1hcHMoIG51bGwsICR0aGlzLT5tYXBwaW5ncy0+YWN0aXZlX2ZpZWxkbWFwX2NvbmRpdGlvbnMgKSBhcyAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoKCQkJJG1hcF9zeW5jX3RyaWdnZXJzID0gJHNhbGVzZm9yY2VfbWFwcGluZ1snc3luY190cmlnZ2VycyddOyAvLyB0aGlzIHNldHMgd2hpY2ggU2FsZXNmb3JjZSB0cmlnZ2VycyBhcmUgYWxsb3dlZCBmb3IgdGhlIG1hcHBpbmcuCgkJCSR0eXBlICAgICAgICAgICAgICA9ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J107IC8vIHRoaXMgc2V0cyB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZSBmb3IgdGhlIFNPUUwgcXVlcnkuCgoJCQkkbWFwcGluZ3MgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9maWVsZG1hcHMoCgkJCQludWxsLAoJCQkJYXJyYXlfbWVyZ2UoCgkJCQkJJHRoaXMtPm1hcHBpbmdzLT5hY3RpdmVfZmllbGRtYXBfY29uZGl0aW9ucywKCQkJCQlhcnJheSgKCQkJCQkJJ3NhbGVzZm9yY2Vfb2JqZWN0JyA9PiAkdHlwZSwKCQkJCQkpCgkJCQkpLAoJCQkpOwoKCQkJLy8gSXRlcmF0ZSBvdmVyIGVhY2ggZmllbGQgbWFwcGluZyB0byBkZXRlcm1pbmUgb3VyIHF1ZXJ5IHBhcmFtZXRlcnMuCgkJCWZvcmVhY2ggKCAkbWFwcGluZ3MgYXMgJHNhbGVzZm9yY2VfbWFwcGluZyApIHsKCgkJCQkkbGFzdF9kZWxldGVfc3luYyA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ2RlbGV0ZV9sYXN0JywgJHR5cGUsICcnLCB0aW1lKCkgKTsKCQkJCSRub3cgICAgICAgICAgICAgID0gdGltZSgpOwoJCQkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+c2V0KCAnZGVsZXRlX2xhc3QnLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgJG5vdyApOwoKCQkJCS8vIGdldF9kZWxldGVkKCkgY29uc3RyYWludDogc3RhcnREYXRlIGNhbm5vdCBiZSBtb3JlIHRoYW4gMzAgZGF5cyBhZ28KCQkJCS8vICh1c2luZyBhbiBpbmNvbXBhdGlibGUgZGF0ZSBtYXkgbGVhZCB0byBleGNlcHRpb25zKS4KCQkJCSRsYXN0X2RlbGV0ZV9zeW5jID0gJGxhc3RfZGVsZXRlX3N5bmMgPiAoIHRpbWUoKSAtIDI1MDU2MDAgKSA/ICRsYXN0X2RlbGV0ZV9zeW5jIDogKCB0aW1lKCkgLSAyNTA1NjAwICk7CgoJCQkJLy8gZ2V0X2RlbGV0ZWQoKSBjb25zdHJhaW50OiBzdGFydERhdGUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgbWludXRlIGdyZWF0ZXIKCQkJCS8vIHRoYW4gZW5kRGF0ZS4KCQkJCSRub3cgPSAkbm93ID4gKCAkbGFzdF9kZWxldGVfc3luYyArIDYwICkgPyAkbm93IDogJG5vdyArIDYwOwoKCQkJCS8vIG5lZWQgdG8gYmUgdXNpbmcgZ21kYXRlIGZvciBTYWxlc2ZvcmNlIGNhbGwuCgkJCQkkbGFzdF9kZWxldGVfc3luY19zZiA9IGdtZGF0ZSggJ1ktbS1kXFRIOmk6c1xaJywgJGxhc3RfZGVsZXRlX3N5bmMgKTsKCQkJCSRub3dfc2YgICAgICAgICAgICAgID0gZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkbm93ICk7CgoJCQkJLy8gU2FsZXNmb3JjZSBjYWxsLgoJCQkJJGRlbGV0ZWQgPSAkc2ZhcGktPmdldF9kZWxldGVkKCAkdHlwZSwgJGxhc3RfZGVsZXRlX3N5bmNfc2YsICRub3dfc2YgKTsKCQkJCSRtZXJnZWQgID0gJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+Z2V0KCAnc2FsZXNmb3JjZV9tZXJnZWQnLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSApOwoJCQkJaWYgKCBmYWxzZSAhPT0gJG1lcmdlZCAmJiBpc3NldCggJGRlbGV0ZWRbJ2RhdGEnXVsnZGVsZXRlZFJlY29yZHMnXSApICkgewoJCQkJCWZvcmVhY2ggKCAkbWVyZ2VkIGFzICRrZXkgKSB7CgkJCQkJCSRkZWxldGVkWydkYXRhJ11bJ2RlbGV0ZWRSZWNvcmRzJ10gPSBhcnJheV9maWx0ZXIoCgkJCQkJCQkkZGVsZXRlZFsnZGF0YSddWydkZWxldGVkUmVjb3JkcyddLAoJCQkJCQkJZnVuY3Rpb24oICR4ICkgdXNlICggJGtleSApIHsKCQkJCQkJCQlpZiAoICEgaXNzZXQoICR4WydJZCddICkgJiYgaXNzZXQoICR4WydpZCddICkgKSB7CgkJCQkJCQkJCSR4WydJZCddID0gJHhbJ2lkJ107CgkJCQkJCQkJfQoJCQkJCQkJCXJldHVybiAkeFsnSWQnXSAhPT0gJGtleTsKCQkJCQkJCX0KCQkJCQkJKTsKCQkJCQl9CgkJCQl9CgoJCQkJaWYgKCBlbXB0eSggJGRlbGV0ZWRbJ2RhdGEnXVsnZGVsZXRlZFJlY29yZHMnXSApICkgewoJCQkJCWNvbnRpbnVlOwoJCQkJfQoKCQkJCWZvcmVhY2ggKCAkZGVsZXRlZFsnZGF0YSddWydkZWxldGVkUmVjb3JkcyddIGFzICRyZXN1bHQgKSB7CgoJCQkJCSRzZl9zeW5jX3RyaWdnZXIgPSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfZGVsZXRlOwoKCQkJCQkvLyBTYWxlc2ZvcmNlIHNlcmlvdXNseSByZXR1cm5zIElkIGZvciB1cGRhdGUgcmVxdWVzdHMgYW5kIGlkIGZvciBkZWxldGUgcmVxdWVzdHMgYW5kIHRoaXMgbWFrZXMgbm8gc2Vuc2UgYnV0IG1heWJlIG9uZSBkYXkgdGhleSBtaWdodCBjaGFuZ2UgaXQgc29tZWhvdz8KCQkJCQlpZiAoICEgaXNzZXQoICRyZXN1bHRbJ0lkJ10gKSAmJiBpc3NldCggJHJlc3VsdFsnaWQnXSApICkgewoJCQkJCQkkcmVzdWx0WydJZCddID0gJHJlc3VsdFsnaWQnXTsKCQkJCQl9CgkJCQkJJGRhdGEgPSBhcnJheSgKCQkJCQkJJ29iamVjdF90eXBlJyAgICAgPT4gJHR5cGUsCgkJCQkJCSdvYmplY3QnICAgICAgICAgID0+ICRyZXN1bHQsCgkJCQkJCSdtYXBwaW5nJyAgICAgICAgID0+ICRzYWxlc2ZvcmNlX21hcHBpbmcsCgkJCQkJCSdzZl9zeW5jX3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsIC8vIHNmIGRlbGV0ZSB0cmlnZ2VyLgoJCQkJCSk7CgoJCQkJCS8vIGRlZmF1bHQgaXMgcHVsbCBpcyBhbGxvd2VkLgoJCQkJCSRwdWxsX2FsbG93ZWQgPSB0cnVlOwoKCQkJCQkvLyBpZiB0aGUgY3VycmVudCBmaWVsZG1hcCBkb2VzIG5vdCBhbGxvdyBkZWxldGUsIHNldCBwdWxsX2FsbG93ZWQgdG8gZmFsc2UuCgkJCQkJaWYgKCBpc3NldCggJG1hcF9zeW5jX3RyaWdnZXJzICkgJiYgISBpbl9hcnJheSggJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2RlbGV0ZSwgJG1hcF9zeW5jX3RyaWdnZXJzLCB0cnVlICkgKSB7CgkJCQkJCSRwdWxsX2FsbG93ZWQgPSBmYWxzZTsKCQkJCQl9CgoJCQkJCS8vIEhvb2sgdG8gYWxsb3cgb3RoZXIgcGx1Z2lucyB0byBwcmV2ZW50IGEgcHVsbCBwZXItbWFwcGluZy4KCQkJCQkvLyBQdXR0aW5nIHRoZSBwdWxsX2FsbG93ZWQgaG9vayBoZXJlIHdpbGwga2VlcCB0aGUgcXVldWUgZnJvbSBkZWxldGluZyBhIFdvcmRQcmVzcyByZWNvcmQgd2hlbiBpdCBpcyBub3Qgc3VwcG9zZWQgdG8gZGVsZXRlIGl0LgoJCQkJCSRwdWxsX2FsbG93ZWQgPSBhcHBseV9maWx0ZXJzKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX29iamVjdF9hbGxvd2VkJywgJHB1bGxfYWxsb3dlZCwgJHR5cGUsICRyZXN1bHQsICRzZl9zeW5jX3RyaWdnZXIsICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCgkJCQkJLy8gZXhhbXBsZSB0byBrZWVwIGZyb20gZGVsZXRpbmcgdGhlIFdvcmRQcmVzcyByZWNvcmQgbWFwcGVkIHRvIHRoZSBDb250YWN0IHdpdGggSWQgb2YgYWJjZGVmLgoJCQkJCS8qIC8vIHBocGNzOmlnbm9yZSBTcXVpei5QSFAuQ29tbWVudGVkT3V0Q29kZS5Gb3VuZAoJCQkJCWFkZF9maWx0ZXIoICdvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZV9wdWxsX29iamVjdF9hbGxvd2VkJywgJ2NoZWNrX3VzZXInLCAxMCwgNSApOwoJCQkJCS8vIGNhbiBhbHdheXMgcmVkdWNlIHRoaXMgbnVtYmVyIGlmIGFsbCB0aGUgYXJndW1lbnRzIGFyZSBub3QgbmVjZXNzYXJ5CgkJCQkJZnVuY3Rpb24gY2hlY2tfdXNlciggJHB1bGxfYWxsb3dlZCwgJG9iamVjdF90eXBlLCAkb2JqZWN0LCAkc2Zfc3luY190cmlnZ2VyLCAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoJCQkJCQlpZiAoICdDb250YWN0JyA9PT0gJG9iamVjdF90eXBlICYmICdhYmNkZWYnID09PSAkb2JqZWN0WydJZCddICkgewoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9CgkJCQkJfQoJCQkJCSovCgoJCQkJCWlmICggZmFsc2UgPT09ICRwdWxsX2FsbG93ZWQgKSB7CgkJCQkJCWNvbnRpbnVlOwoJCQkJCX0KCgkJCQkJLy8gc2V0dXAgdGhlIElkIGFuZCB0aGUgZGVsZXRlZERhdGUgZm9yIHBhc3NpbmcgdG8gdGhlIHF1ZXVlLgoJCQkJCSRkZWxldGVkX2l0ZW0gPSBhcnJheSgKCQkJCQkJJ0lkJyAgICAgICAgICA9PiAkcmVzdWx0WydJZCddLAoJCQkJCQknZGVsZXRlZERhdGUnID0+ICRyZXN1bHRbJ2RlbGV0ZWREYXRlJ10sCgkJCQkJKTsKCgkJCQkJLy8gQWRkIGEgcXVldWUgYWN0aW9uIHRvIGRlbGV0ZSBkYXRhIGZyb20gV29yZFByZXNzIGFmdGVyIGl0IGhhcyBiZWVuIGRlbGV0ZWQgZnJvbSBTYWxlc2ZvcmNlLgoJCQkJCSR0aGlzLT5xdWV1ZS0+YWRkKAoJCQkJCQkkdGhpcy0+c2NoZWR1bGFibGVfY2xhc3Nlc1sgJHRoaXMtPnNjaGVkdWxlX25hbWUgXVsnY2FsbGJhY2snXSwKCQkJCQkJYXJyYXkoCgkJCQkJCQknb2JqZWN0X3R5cGUnICAgICA9PiAkdHlwZSwKCQkJCQkJCSdvYmplY3QnICAgICAgICAgID0+ICRkZWxldGVkX2l0ZW0sCgkJCQkJCQknc2Zfc3luY190cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkpLAoJCQkJCQkkdGhpcy0+c2NoZWR1bGVfbmFtZQoJCQkJCSk7CgoJCQkJfSAvLyBlbmQgZm9yZWFjaC4KCgkJCQkkdGhpcy0+cHVsbF9vcHRpb25zLT5zZXQoICdkZWxldGVfbGFzdCcsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCB0aW1lKCkgKTsKCgkJCX0gLy8gRW5kIGZvcmVhY2goKSBsb29wLgoJCX0gLy8gRW5kIGZvcmVhY2goKSBsb29wLgoJfQoKCS8qKgoJICogTWV0aG9kIGZvciBhamF4IGhvb2tzIHRvIGNhbGwgZm9yIHB1bGxpbmcgbWFudWFsbHkKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRvYmplY3RfdHlwZSB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZS4KCSAqIEBwYXJhbSBzdHJpbmcgJHNhbGVzZm9yY2VfaWQgdGhlIFNhbGVzZm9yY2UgcmVjb3JkIElELgoJICogQHJldHVybiBhcnJheSAkcmVzdWx0CgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBtYW51YWxfcHVsbCggJG9iamVjdF90eXBlLCAkc2FsZXNmb3JjZV9pZCA9ICcnICkgewoKCQlpZiAoICcnID09PSAkc2FsZXNmb3JjZV9pZCApIHsKCQkJJHNmX3N5bmNfdHJpZ2dlciA9ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9jcmVhdGU7CgkJfSBlbHNlIHsKCQkJJHNmX3N5bmNfdHJpZ2dlciA9ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl91cGRhdGU7CgkJfQoKCQkkcmVzdWx0cyA9ICR0aGlzLT5zYWxlc2ZvcmNlX3B1bGxfcHJvY2Vzc19yZWNvcmRzKCAkb2JqZWN0X3R5cGUsICRzYWxlc2ZvcmNlX2lkLCAkc2Zfc3luY190cmlnZ2VyICk7CgoJCSRjb2RlID0gJzIwMSc7CgkJZm9yZWFjaCAoICRyZXN1bHRzIGFzICRyZXN1bHQgKSB7CgkJCWlmICggISBpc3NldCggJHJlc3VsdFsnc3RhdHVzJ10gKSB8fCAnc3VjY2VzcycgIT09ICRyZXN1bHRbJ3N0YXR1cyddICkgewoJCQkJJGNvZGUgPSAnNDAzJzsKCQkJfQoJCX0KCgkJJHJlc3VsdCA9IGFycmF5KAoJCQknY29kZScgPT4gJGNvZGUsCgkJCSdkYXRhJyA9PiBhcnJheSgKCQkJCSdzdWNjZXNzJyA9PiAkcmVzdWx0cywKCQkJKSwKCQkpOwoKCQlyZXR1cm4gJHJlc3VsdDsKCgl9CgoJLyoqCgkgKiBTeW5jIFdvcmRQcmVzcyBvYmplY3RzIGFuZCBTYWxlc2ZvcmNlIG9iamVjdHMgZnJvbSB0aGUgcXVldWUgdXNpbmcgdGhlIFJFU1QgQVBJLgoJICoKCSAqIEBwYXJhbSBzdHJpbmcgICAgICAgJG9iamVjdF90eXBlIFR5cGUgb2YgU2FsZXNmb3JjZSBvYmplY3QuCgkgKiBAcGFyYW0gYXJyYXl8c3RyaW5nICRvYmplY3QgVGhlIFNhbGVzZm9yY2UgZGF0YSBvciBpdHMgSWQgdmFsdWUuCgkgKiBAcGFyYW0gaW50ICAgICAgICAgICRzZl9zeW5jX3RyaWdnZXIgVHJpZ2dlciBmb3IgdGhpcyBzeW5jLgoJICogQHJldHVybiBib29sIHRydWUgb3IgZXhpdCB0aGUgbWV0aG9kCgkgKiBAdGhyb3dzIE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiBFeGNlcHRpb24gJGUuCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBzYWxlc2ZvcmNlX3B1bGxfcHJvY2Vzc19yZWNvcmRzKCAkb2JqZWN0X3R5cGUsICRvYmplY3QsICRzZl9zeW5jX3RyaWdnZXIgKSB7CgoJCSRzZmFwaSA9ICR0aGlzLT5zYWxlc2ZvcmNlWydzZmFwaSddOwoKCQlpZiAoIGlzX3N0cmluZyggJG9iamVjdCApICkgewoJCQkkc2FsZXNmb3JjZV9pZCA9ICRvYmplY3Q7CgkJCS8vIExvYWQgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IGRhdGEgdG8gc2F2ZSBpbiBXb3JkUHJlc3MuIFdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhpcyBkYXRhIGRvZXMgbm90IGdldCBjYWNoZWQsIHdoaWNoIGlzIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBwdWxsIGJlaGF2aW9yIGFzIHdlbGwgYXMgaW4gb3RoZXIgbWV0aG9kcyBpbiB0aGlzIGNsYXNzLgoJCQkvLyBXZSBzaG91bGQgb25seSBkbyB0aGlzIGlmIHdlJ3JlIG5vdCB0cnlpbmcgdG8gZGVsZXRlIGRhdGEgaW4gV29yZFByZXNzIC0gb3RoZXJ3aXNlLCB3ZSdsbCBnZXQgYSA0MDQgZnJvbSBTYWxlc2ZvcmNlIGFuZCB0aGUgZGVsZXRlIHdpbGwgZmFpbC4KCQkJaWYgKCAkc2Zfc3luY190cmlnZ2VyICE9PSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfZGVsZXRlICkgewoJCQkJJG9iamVjdCA9ICRzZmFwaS0+b2JqZWN0X3JlYWQoCgkJCQkJJG9iamVjdF90eXBlLAoJCQkJCSRzYWxlc2ZvcmNlX2lkLAoJCQkJCWFycmF5KAoJCQkJCQknY2FjaGUnID0+IGZhbHNlLAoJCQkJCSkKCQkJCSlbJ2RhdGEnXTsKCQkJfSBlbHNlIHsKCQkJCWlmICggdHJ1ZSA9PT0gJHRoaXMtPmRlYnVnICkgewoJCQkJCS8vIGNyZWF0ZSBsb2cgZW50cnkgZm9yIGZhaWxlZCBwdWxsLgoJCQkJCSRzdGF0dXMgPSAnZGVidWcnOwoJCQkJCSR0aXRsZSAgPSBzcHJpbnRmKAoJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMuCgkJCQkJCWVzY19odG1sX18oICclMSRzOiB3ZSBhcmUgbWlzc2luZyBhIGRlbGV0ZWREYXRlIGF0dHJpYnV0ZSBoZXJlLCBidXQgYXJlIGV4cGVjdGVkIHRvIGRlbGV0ZSBhbiBpdGVtLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApCgkJCQkJKTsKCgkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCX0KCgkJCQkJJGRlYnVnID0gYXJyYXkoCgkJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJCSdtZXNzYWdlJyA9PiAnJywKCQkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCSdwYXJlbnQnICA9PiAnJywKCQkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkJKTsKCgkJCQkJJGxvZ2dpbmctPnNldHVwKCAkZGVidWcgKTsKCQkJCX0KCgkJCQkkb2JqZWN0ID0gYXJyYXkoCgkJCQkJJ0lkJyAgICAgICAgICA9PiAkb2JqZWN0LAoJCQkJCSdkZWxldGVkRGF0ZScgPT4gZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonICksIC8vIHRoaXMgc2hvdWxkIGhvcGVmdWxseSBuZXZlciBoYXBwZW4uCgkJCQkpOwoJCQl9IC8vIGRlbGV0ZWQgcmVjb3JkcyBzaG91bGQgYWx3YXlzIGNvbWUgdGhyb3VnaCB3aXRoIHRoZWlyIG93biBkZWxldGVkRGF0ZSB2YWx1ZS4KCQl9CgoJCSRtYXBwaW5nX2NvbmRpdGlvbnMgPSBhcnJheSgKCQkJJ3NhbGVzZm9yY2Vfb2JqZWN0JyA9PiAkb2JqZWN0X3R5cGUsCgkJKTsKCgkJaWYgKCBpc3NldCggJG9iamVjdFsnUmVjb3JkVHlwZUlkJ10gKSAmJiAkb2JqZWN0WydSZWNvcmRUeXBlSWQnXSAhPT0gJHRoaXMtPm1hcHBpbmdzLT5zYWxlc2ZvcmNlX2RlZmF1bHRfcmVjb3JkX3R5cGUgKSB7CgkJCS8vIHVzZSB0aGlzIGNvbmRpdGlvbiB0byBmaWx0ZXIgdGhlIG1hcHBpbmdzLCBhdCB0aGF0IHRpbWUuCgkJCSRtYXBwaW5nX2NvbmRpdGlvbnNbJ3NhbGVzZm9yY2VfcmVjb3JkX3R5cGUnXSA9ICRvYmplY3RbJ1JlY29yZFR5cGVJZCddOwoJCX0KCgkJJHNhbGVzZm9yY2VfbWFwcGluZ3MgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9maWVsZG1hcHMoCgkJCW51bGwsCgkJCWFycmF5X21lcmdlKAoJCQkJJHRoaXMtPm1hcHBpbmdzLT5hY3RpdmVfZmllbGRtYXBfY29uZGl0aW9ucywKCQkJCSRtYXBwaW5nX2NvbmRpdGlvbnMsCgkJCSksCgkJKTsKCgkJLy8gZnJvbSBkcnVwYWw6IGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgbWFwcGluZywgZG9uJ3QgdGhyb3cgZXhjZXB0aW9ucy4KCQkkaG9sZF9leGNlcHRpb25zID0gY291bnQoICRzYWxlc2ZvcmNlX21hcHBpbmdzICkgPiAxOwoJCSRleGNlcHRpb24gICAgICAgPSBmYWxzZTsKCgkJJGZyZXF1ZW5jaWVzID0gJHRoaXMtPnF1ZXVlLT5nZXRfZnJlcXVlbmNpZXMoKTsKCQkkc2Vjb25kcyAgICAgPSByZXNldCggJGZyZXF1ZW5jaWVzIClbJ2ZyZXF1ZW5jeSddICsgNjA7CgoJCSR0cmFuc2llbnRzX3RvX2RlbGV0ZSA9IGFycmF5KCk7CgoJCSRyZXN1bHRzID0gYXJyYXkoKTsKCgkJZm9yZWFjaCAoICRzYWxlc2ZvcmNlX21hcHBpbmdzIGFzICRmaWVsZG1hcF9rZXkgPT4gJHNhbGVzZm9yY2VfbWFwcGluZyApIHsKCQkJJHRyYW5zaWVudHNfdG9fZGVsZXRlWyAkZmllbGRtYXBfa2V5IF0gPSBhcnJheSgKCQkJCSdmaWVsZG1hcCcgICA9PiAkc2FsZXNmb3JjZV9tYXBwaW5nLAoJCQkJJ3RyYW5zaWVudHMnID0+IGFycmF5KCksCgkJCSk7CgkJCS8vIHRoaXMgcmV0dXJucyB0aGUgcm93IHRoYXQgbWFwcyBhbiBpbmRpdmlkdWFsIFNhbGVzZm9yY2Ugcm93IHRvIGFuIGluZGl2aWR1YWwgV29yZFByZXNzIHJvdy4KCQkJaWYgKCBpc3NldCggJG9iamVjdFsnSWQnXSApICkgewoJCQkJJG1hcHBpbmdfb2JqZWN0cyA9ICR0aGlzLT5tYXBwaW5ncy0+bG9hZF9vYmplY3RfbWFwc19ieV9zYWxlc2ZvcmNlX2lkKCAkb2JqZWN0WydJZCddLCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgkJCX0gZWxzZSB7CgkJCQkvLyBpZiB3ZSBkb24ndCBoYXZlIGEgU2FsZXNmb3JjZSBvYmplY3QgaWQsIHdlJ3ZlIGdvdCBubyBidXNpbmVzcyBkb2luZyBzdHVmZiBpbiBXb3JkUHJlc3MuCgkJCQkkc3RhdHVzID0gJ2Vycm9yJzsKCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCX0KCgkJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cy4KCQkJCQllc2NfaHRtbF9fKCAnJTEkczogU2FsZXNmb3JjZSBQdWxsOiB1bmFibGUgdG8gcHJvY2VzcyBxdWV1ZSBpdGVtIGJlY2F1c2UgaXQgaGFzIG5vIFNhbGVzZm9yY2UgSWQuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKQoJCQkJKTsKCQkJCSRyZXN1bHQgPSBhcnJheSgKCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCSdtZXNzYWdlJyA9PiBwcmludF9yKCAkb2JqZWN0LCB0cnVlICksIC8vIHBocGNzOmlnbm9yZSBXb3JkUHJlc3MuUEhQLkRldmVsb3BtZW50RnVuY3Rpb25zLmVycm9yX2xvZ19wcmludF9yCgkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJJ3BhcmVudCcgID0+IDAsIC8vIHBhcmVudCBpZCBnb2VzIGhlcmUgYnV0IHdlIGRvbid0IGhhdmUgb25lLCBzbyBtYWtlIGl0IDAuCgkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkpOwoKCQkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJCSRyZXN1bHRzW10gPSAkcmVzdWx0OwoJCQkJY29udGludWU7CgkJCX0KCgkJCS8vIElzIHRoaXMgU2FsZXNmb3JjZSBvYmplY3QgYWxyZWFkeSBjb25uZWN0ZWQgdG8gYXQgbGVhc3Qgb25lIFdvcmRQcmVzcyBvYmplY3Q/CgkJCWlmICggaXNzZXQoICRtYXBwaW5nX29iamVjdHNbMF1bJ2lkJ10gKSApIHsKCQkJCSRpc19uZXcgPSBmYWxzZTsKCQkJfSBlbHNlIHsKCQkJCS8vIHRoZXJlIGlzIG5vdCBhIG1hcHBpbmcgb2JqZWN0IGZvciB0aGlzIFNhbGVzZm9yY2Ugb2JqZWN0IGlkIHlldAoJCQkJLy8gY2hlY2sgdG8gc2VlIGlmIHRoZXJlIGlzIGEgcHVzaGluZyB0cmFuc2llbnQgZm9yIHRoYXQgU2FsZXNmb3JjZSBJZC4KCQkJCSRpc19uZXcgPSB0cnVlOwoJCQl9CgoJCQkvLyBieSBkZWZhdWx0LCB3ZSdyZSBub3QgZG9pbmcgYSBtZXJnZS4KCQkJJGlzX21lcmdlID0gZmFsc2U7CgkJCSRtZXJnZWQgICA9ICR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPmdldCggJ3NhbGVzZm9yY2VfbWVyZ2VkJywgJG9iamVjdF90eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddICk7CgkJCWlmICggZmFsc2UgIT09ICRtZXJnZWQgKSB7CgkJCQkka2V5ID0gYXJyYXlfc2VhcmNoKCAkb2JqZWN0WydJZCddLCBhcnJheV9jb2x1bW4oICRtZXJnZWQsICdJZCcgKSwgdHJ1ZSApOwoJCQkJaWYgKCBmYWxzZSAhPT0gJGtleSApIHsKCQkJCQkkaXNfbWVyZ2UgPSB0cnVlOwoJCQkJCSRpc19uZXcgICA9IGZhbHNlOwoJCQkJfQoJCQl9CgoJCQkkbWFwcGluZ19vYmplY3RfaWRfdHJhbnNpZW50ID0gJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+Z2V0KCAnc2FsZXNmb3JjZV9wdXNoaW5nX29iamVjdF9pZCcsICcnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddICk7CgkJCWlmICggZmFsc2UgPT09ICRtYXBwaW5nX29iamVjdF9pZF90cmFuc2llbnQgKSB7CgkJCQkkbWFwcGluZ19vYmplY3RfaWRfdHJhbnNpZW50ID0gJG9iamVjdFsnSWQnXTsKCQkJfQoJCQkvLyBIZXJlJ3Mgd2hlcmUgd2UgY2hlY2sgdG8gc2VlIHdoZXRoZXIgdGhlIGN1cnJlbnQgcmVjb3JkIHdhcyB1cGRhdGVkIGJ5IGEgcHVzaCBmcm9tIHRoaXMgcGx1Z2luIG9yIG5vdC4gSGVyZSdzIGhvdyBpdCB3b3JrczoKCQkJLy8gMS4gQSByZWNvcmQgZ2V0cyBwdXNoZWQgdG8gU2FsZXNmb3JjZSBieSB0aGlzIHBsdWdpbi4KCQkJLy8gMi4gV2Ugc2F2ZSB0aGUgTGFzdE1vZGlmaWVkRGF0ZSBmcm9tIHRoZSBTYWxlc2ZvcmNlIHJlc3VsdCBhcyBhIHRpbWVzdGFtcCBpbiB0aGUgdHJhbnNpZW50LgoJCQkvLyAzLiBCZWxvdywgaW4gYWRkaXRpb24gdG8gY2hlY2tpbmcgdGhlIFNhbGVzZm9yY2UgSWQsIHdlIGNoZWNrIGFnYWluc3QgJG9iamVjdCdzIExhc3RNb2RpZmllZERhdGUgYW5kIGlmIGl0J3Mgbm90IGxhdGVyIHRoYW4gdGhlIHRyYW5zaWVudCB2YWx1ZSwgd2Ugc2tpcCBpdCBiZWNhdXNlIGl0J3Mgc3RpbGwgcHVzaGluZyBmcm9tIG91ciBhY3Rpdml0eS4KCQkJJHNhbGVzZm9yY2VfcHVzaGluZyA9IChpbnQpICR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPmdldCggJ3NhbGVzZm9yY2VfcHVzaGluZ18nIC4gJG1hcHBpbmdfb2JqZWN0X2lkX3RyYW5zaWVudCwgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKTsKCgkJCWlmICggMSAhPT0gJHNhbGVzZm9yY2VfcHVzaGluZyApIHsKCQkJCS8vIHRoZSBmb3JtYXQgdG8gY29tcGFyZSBpcyBsaWtlIHRoaXM6IGdtZGF0ZSggJ1ktbS1kXFRIOmk6c1xaJywgJHNhbGVzZm9yY2VfcHVzaGluZyApLgoJCQkJaWYgKCAkbWFwcGluZ19vYmplY3RfaWRfdHJhbnNpZW50ICE9PSAkb2JqZWN0WydJZCddICkgewoJCQkJCSRzYWxlc2ZvcmNlX3B1c2hpbmcgPSAwOwoJCQkJfSBlbHNlaWYgKCAwID09PSAkc2FsZXNmb3JjZV9wdXNoaW5nIHx8ICggaXNzZXQoICRvYmplY3RbJ0xhc3RNb2RpZmllZERhdGUnXSApICYmIHN0cnRvdGltZSggJG9iamVjdFsnTGFzdE1vZGlmaWVkRGF0ZSddICkgPiAkc2FsZXNmb3JjZV9wdXNoaW5nICkgfHwgKCBpc3NldCggJG9iamVjdFsnZGVsZXRlZERhdGUnXSApICYmIHN0cnRvdGltZSggJG9iamVjdFsnZGVsZXRlZERhdGUnXSApID4gJHNhbGVzZm9yY2VfcHVzaGluZyApICkgewoJCQkJCSRzYWxlc2ZvcmNlX3B1c2hpbmcgPSAwOwoJCQkJfSBlbHNlIHsKCQkJCQkkc2FsZXNmb3JjZV9wdXNoaW5nID0gMTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCSRzYWxlc2ZvcmNlX3B1c2hpbmcgPSAxOwoJCQl9CgoJCQlpZiAoIDEgPT09ICRzYWxlc2ZvcmNlX3B1c2hpbmcgKSB7CgkJCQkkdHJhbnNpZW50c190b19kZWxldGVbICRmaWVsZG1hcF9rZXkgXVsndHJhbnNpZW50cyddW10gPSAkbWFwcGluZ19vYmplY3RfaWRfdHJhbnNpZW50OwoJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgZmFpbGVkIHB1bGwuCgkJCQkJJHN0YXR1cyA9ICdkZWJ1Zyc7CgkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgdGhlIG1hcHBpbmcgb2JqZWN0IElEIHRyYW5zaWVudC4KCQkJCQkJZXNjX2h0bWxfXyggJyUxJHM6IG1hcHBpbmcgb2JqZWN0IHRyYW5zaWVudCBJRCAlMiRzIGlzIGN1cnJlbnRseSBwdXNoaW5nLCBzbyB3ZSBkbyBub3QgcHVsbCBpdC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCQkJJG1hcHBpbmdfb2JqZWN0X2lkX3RyYW5zaWVudAoJCQkJCSk7CgoJCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCQl9CgoJCQkJCSRkZWJ1ZyA9IGFycmF5KAoJCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCQknbWVzc2FnZScgPT4gJycsCgkJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkncGFyZW50JyAgPT4gJycsCgkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCSk7CgoJCQkJCSRsb2dnaW5nLT5zZXR1cCggJGRlYnVnICk7CgkJCQl9CgoJCQkJY29udGludWU7CgkJCX0KCgkJCSRzdHJ1Y3R1cmUgICAgICAgICAgICAgICA9ICR0aGlzLT53b3JkcHJlc3MtPmdldF93b3JkcHJlc3NfdGFibGVfc3RydWN0dXJlKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKTsKCQkJJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lID0gJHN0cnVjdHVyZVsnaWRfZmllbGQnXTsKCgkJCS8vIG9ubHkgZGVhbCB3aXRoIHBhcmFtZXRlcnMgaWYgd2UgYXJlIG5vdCBkZWxldGluZy4KCQkJaWYgKCAoIHRydWUgPT09ICRpc19uZXcgJiYgJHNmX3N5bmNfdHJpZ2dlciA9PT0gJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2NyZWF0ZSApIHx8ICRzZl9zeW5jX3RyaWdnZXIgPT09ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl91cGRhdGUgKSB7IC8vIHRyaWdnZXIgaXMgYSBiaXQgb3BlcmF0b3IKCQkJCS8vIG1hcCB0aGUgU2FsZXNmb3JjZSB2YWx1ZXMgdG8gV29yZFByZXNzIGZpZWxkcy4KCQkJCSRwYXJhbXMgPSAkdGhpcy0+bWFwcGluZ3MtPm1hcF9wYXJhbXMoICRzYWxlc2ZvcmNlX21hcHBpbmcsICRvYmplY3QsICRzZl9zeW5jX3RyaWdnZXIsIGZhbHNlLCAkaXNfbmV3LCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKTsKCgkJCQkvLyBob29rIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gbW9kaWZ5IHRoZSAkcGFyYW1zIGFycmF5CgkJCQkvLyB1c2UgaG9vayB0byBtYXAgZmllbGRzIGJldHdlZW4gdGhlIFdvcmRQcmVzcyBhbmQgU2FsZXNmb3JjZSBvYmplY3RzCgkJCQkvLyByZXR1cm5zICRwYXJhbXMuCgkJCQkkcGFyYW1zID0gYXBwbHlfZmlsdGVycyggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9wYXJhbXNfbW9kaWZ5JywgJHBhcmFtcywgJHNhbGVzZm9yY2VfbWFwcGluZywgJG9iamVjdCwgJHNmX3N5bmNfdHJpZ2dlciwgZmFsc2UsICRpc19uZXcgKTsKCgkJCQkvLyBzZXR1cCBwcmVtYXRjaCBwYXJhbWV0ZXJzLgoJCQkJJHByZW1hdGNoID0gYXJyYXkoKTsKCgkJCQkvLyBpZiB0aGVyZSBpcyBhIHByZW1hdGNoIFdvcmRQcmVzcyBmaWVsZCAtIGllIGVtYWlsIC0gb24gdGhlIGZpZWxkbWFwIG9iamVjdC4KCQkJCWlmICggaXNzZXQoICRwYXJhbXNbJ3ByZW1hdGNoJ10gKSAmJiBpc19hcnJheSggJHBhcmFtc1sncHJlbWF0Y2gnXSApICkgewoJCQkJCSRwcmVtYXRjaFsnZmllbGRfd29yZHByZXNzJ10gID0gJHBhcmFtc1sncHJlbWF0Y2gnXVsnd29yZHByZXNzX2ZpZWxkJ107CgkJCQkJJHByZW1hdGNoWydmaWVsZF9zYWxlc2ZvcmNlJ10gPSAkcGFyYW1zWydwcmVtYXRjaCddWydzYWxlc2ZvcmNlX2ZpZWxkJ107CgkJCQkJJHByZW1hdGNoWyd2YWx1ZSddICAgICAgICAgICAgPSAkcGFyYW1zWydwcmVtYXRjaCddWyd2YWx1ZSddOwoJCQkJCSRwcmVtYXRjaFsnbWV0aG9kcyddICAgICAgICAgID0gYXJyYXkoCgkJCQkJCSdtZXRob2RfbWF0Y2gnICA9PiBpc3NldCggJHBhcmFtc1sncHJlbWF0Y2gnXVsnbWV0aG9kX21hdGNoJ10gKSA/ICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ21ldGhvZF9tYXRjaCddIDogJHBhcmFtc1sncHJlbWF0Y2gnXVsnbWV0aG9kX3JlYWQnXSwKCQkJCQkJJ21ldGhvZF9jcmVhdGUnID0+ICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ21ldGhvZF9jcmVhdGUnXSwKCQkJCQkJJ21ldGhvZF91cGRhdGUnID0+ICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ21ldGhvZF91cGRhdGUnXSwKCQkJCQkJJ21ldGhvZF9yZWFkJyAgID0+ICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ21ldGhvZF9yZWFkJ10sCgkJCQkJKTsKCQkJCQl1bnNldCggJHBhcmFtc1sncHJlbWF0Y2gnXSApOwoJCQkJfQoKCQkJCS8vIGlmIHRoZXJlIGlzIGFuIGV4dGVybmFsIGtleSBmaWVsZCBpbiBTYWxlc2ZvcmNlIC0gaWUgYSBNYWlsY2hpbXAgdXNlciBpZCAtIG9uIHRoZSBmaWVsZG1hcCBvYmplY3QsIHRoaXMgc2hvdWxkIG5vdCBhZmZlY3QgaG93IFdvcmRQcmVzcyBoYW5kbGVzIGl0IGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcHVsbCBwYXJhbWV0ZXJzLgoKCQkJCS8vIGlmIHdlIGRvbid0IGdldCBhbnkgcGFyYW1zLCB0aGVyZSBhcmUgbm8gZmllbGRzIHRoYXQgc2hvdWxkIGJlIHNlbnQgdG8gV29yZFByZXNzLgoJCQkJaWYgKCBlbXB0eSggJHBhcmFtcyApICkgewoKCQkJCQkvLyBpZiB0aGUgcGFyYW1ldGVycyBhcnJheSBpcyBlbXB0eSBhdCB0aGlzIHBvaW50LCB3ZSBzaG91bGQgY3JlYXRlIGEgbG9nIGVudHJ5IHRvIHRoYXQgZWZmZWN0LgoJCQkJCS8vIEkgdGhpbmsgaXQgc2hvdWxkIGJlIGEgZGVidWcgbWVzc2FnZSwgdW5sZXNzIHdlIGxlYXJuIGZyb20gdXNlcnMgdGhhdCBpdCBzaG91bGQgYmUgcmFpc2VkIHRvIGFuIGVycm9yLgoJCQkJCWlmICggdHJ1ZSA9PT0gJHRoaXMtPmRlYnVnICkgewoJCQkJCQkkc3RhdHVzID0gJ2RlYnVnJzsKCQkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCQl9CgoJCQkJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJCQkJLy8gdHJhbnNsYXRvcnM6ICUxJHMgaXMgdGhlIGxvZyBzdGF0dXMuCgkJCQkJCQllc2NfaHRtbF9fKCAnJTEkcyBNYXBwaW5nOiBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgcGx1Z2luIHNldHRpbmdzLCB0aGVyZSBhcmUgbm8gcGFyYW1ldGVycyBpbiB0aGUgY3VycmVudCBkYXRhc2V0IHRoYXQgY2FuIGJlIHB1bGxlZCBmcm9tIFNhbGVzZm9yY2UuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApCgkJCQkJCSk7CgoJCQkJCQkkYm9keSA9ICcnOwoKCQkJCQkJJGJvZHkgLj0gc3ByaW50ZigKCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgZmllbGRtYXAgcm93IElELCAyKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCwgMykgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LgoJCQkJCQkJJzxwPicgLiBlc2NfaHRtbF9fKCAnVGhlcmUgaXMgYSBmaWVsZG1hcCB3aXRoIElEIG9mICUxJHMgYW5kIGl0IG1hcHMgdGhlIFdvcmRQcmVzcyAlMiRzIG9iamVjdCB0byB0aGUgU2FsZXNmb3JjZSAlMyRzIG9iamVjdC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPicsCgkJCQkJCQlhYnNpbnQoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKSwKCQkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICkKCQkJCQkJKTsKCgkJCQkJCS8vIHdoZXRoZXIgaXQncyBhIG5ldyBtYXBwaW5nIG9iamVjdCBvciBub3QuCgkJCQkJCWlmICggZmFsc2UgPT09ICRpc19uZXcgKSB7CgkJCQkJCQkvLyB0aGlzIG9uZSBpcyBub3QgbmV3LgoJCQkJCQkJZm9yZWFjaCAoICRtYXBwaW5nX29iamVjdHMgYXMgJG1hcHBpbmdfb2JqZWN0ICkgewoJCQkJCQkJCSRib2R5IC49IHNwcmludGYoCgkJCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbWFwcGluZyBvYmplY3Qgcm93IElELCAyKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCwgMykgdGhlIElEIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0LCA0KSB0aGUgSUQgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IGl0IHdhcyB0cnlpbmcgdG8gbWFwLgoJCQkJCQkJCQknPHA+JyAuIGVzY19odG1sX18oICdUaGVyZSBpcyBhbiBleGlzdGluZyBvYmplY3QgbWFwIHdpdGggSUQgb2YgJTEkcyBhbmQgaXQgaXMgbWFwcGVkIHRvIHRoZSBXb3JkUHJlc3MgJTIkcyB3aXRoIElEIG9mICUzJHMgYW5kIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB3aXRoIElEIG9mICU0JHMuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvcD4nLAoJCQkJCQkJCQlhYnNpbnQoICRtYXBwaW5nX29iamVjdFsnaWQnXSApLAoJCQkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10gKSwKCQkJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddICkKCQkJCQkJCQkpOwoJCQkJCQkJfQoJCQkJCQl9IGVsc2UgewoJCQkJCQkJLy8gdGhpcyBvbmUgaXMgbmV3LgoJCQkJCQkJJGJvZHkgLj0gc3ByaW50ZigKCQkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIElEIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCwgMikgdGhlIFdvcmRQcmVzcyBvYmplY3QgdHlwZS4KCQkJCQkJCQknPHA+JyAuIGVzY19odG1sX18oICdUaGUgcGx1Z2luIHdhcyB0cnlpbmcgdG8gcHVsbCB0aGUgU2FsZXNmb3JjZSBvYmplY3Qgd2l0aCBJRCBvZiAlMSRzIHRvIHRoZSBXb3JkUHJlc3MgJTIkcyBvYmplY3QgdHlwZS4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPicsCgkJCQkJCQkJZXNjX2F0dHIoICRvYmplY3RbJ0lkJ10gKSwKCQkJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICkKCQkJCQkJCSk7CgkJCQkJCX0KCgkJCQkJCSRib2R5IC49IHNwcmludGYoCgkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZSAxKSB0aGUgb2JqZWN0J3MgZGF0YSB0aGF0IHdhcyBhdHRlbXB0ZWQuCgkJCQkJCQknPHA+JyAuIGVzY19odG1sX18oICdUaGUgU2FsZXNmb3JjZSBvYmplY3QgZGF0YSB0aGF0IHdhcyBhdHRlbXB0ZWQ6ICUxJHMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPicsCgkJCQkJCQlwcmludF9yKCAkb2JqZWN0LCB0cnVlICkgLy8gcGhwY3M6aWdub3JlIFdvcmRQcmVzcy5QSFAuRGV2ZWxvcG1lbnRGdW5jdGlvbnMuZXJyb3JfbG9nX3ByaW50X3IKCQkJCQkJKTsKCgkJCQkJCSRsb2dnaW5nLT5zZXR1cCgKCQkJCQkJCSR0aXRsZSwKCQkJCQkJCSRib2R5LAoJCQkJCQkJJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJCTAsCgkJCQkJCQkkc3RhdHVzCgkJCQkJCSk7CgkJCQkJfSAvLyBlbmQgZGVidWcgbW9kZSBjaGVjay4KCgkJCQkJY29udGludWU7CgkJCQl9IC8vIGVuZCBpZiBwYXJhbXMgYXJlIGVtcHR5LgoJCQl9IGVsc2VpZiAoICRzZl9zeW5jX3RyaWdnZXIgPT09ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9kZWxldGUgKSB7CgkJCQkvLyB0aGlzIGlzIGEgZGVsZXRpb24uIGRvbid0IGRlYWwgd2l0aCBwYXJhbWV0ZXJzLgoJCQkJJGlzX25ldyA9IGZhbHNlOwoJCQl9IC8vIGVuZCBjaGVja2luZyBmb3IgY3JlYXRlL3VwZGF0ZS9kZWxldGUuCgoJCQkvLyBpZiB0aGlzIFNhbGVzZm9yY2UgcmVjb3JkIGlzIG5ldyB0byBXb3JkUHJlc3MsIHdlIGNhbiB0cnkgdG8gY3JlYXRlIGl0LgoJCQlpZiAoIHRydWUgPT09ICRpc19uZXcgKSB7CgkJCQlpZiAoIGlzc2V0KCAkbWFwcGluZ19vYmplY3RzWzBdICkgKSB7CgkJCQkJJG1hcHBpbmdfb2JqZWN0ID0gJG1hcHBpbmdfb2JqZWN0c1swXTsKCQkJCX0gZWxzZSB7CgkJCQkJJG1hcHBpbmdfb2JqZWN0ID0gJG1hcHBpbmdfb2JqZWN0czsKCQkJCX0KCQkJCSRzeW5jZWRfb2JqZWN0ID0gJHRoaXMtPmdldF9zeW5jZWRfb2JqZWN0KCAkb2JqZWN0LCAkbWFwcGluZ19vYmplY3QsICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkJCSRjcmVhdGUgICAgICAgID0gJHRoaXMtPmNyZWF0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCAkc2Zfc3luY190cmlnZ2VyLCAkc3luY2VkX29iamVjdCwgJHBhcmFtcywgJHByZW1hdGNoLCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUsICRzZWNvbmRzICk7CgkJCQkkcmVzdWx0cyAgICAgICA9IGFycmF5X21lcmdlKCAkcmVzdWx0cywgJGNyZWF0ZSApOwoJCQl9IGVsc2VpZiAoIGZhbHNlID09PSAkaXNfbmV3ICYmIGZhbHNlID09PSAkaXNfbWVyZ2UgKSB7CgkJCQkvLyB1bmxlc3Mgd2UncmUgb24gYSBkZWxldGUsIHRoZXJlIGlzIGFscmVhZHkgYXQgbGVhc3Qgb25lIG1hcHBpbmdfb2JqZWN0WydpZCddIGFzc29jaWF0ZWQgd2l0aCB0aGlzIFNhbGVzZm9yY2UgSWQKCQkJCS8vIHJpZ2h0IGhlcmUgd2Ugc2hvdWxkIHNldCB0aGUgcHVsbGluZyB0cmFuc2llbnQuCgkJCQkkdGhpcy0+c3luY190cmFuc2llbnRzLT5zZXQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfJyAuICRvYmplY3RbJ0lkJ10sICcnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAxLCAkc2Vjb25kcyApOwoJCQkJJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+c2V0KCAnc2FsZXNmb3JjZV9wdWxsaW5nX29iamVjdF9pZCcsICcnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAkb2JqZWN0WydJZCddICk7CgoJCQkJZm9yZWFjaCAoICRtYXBwaW5nX29iamVjdHMgYXMgJG1hcHBpbmdfb2JqZWN0ICkgewoJCQkJCSRzeW5jZWRfb2JqZWN0ID0gJHRoaXMtPmdldF9zeW5jZWRfb2JqZWN0KCAkb2JqZWN0LCAkbWFwcGluZ19vYmplY3QsICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkJCQkvLyBpZiBwYXJhbXMgaXMgc2V0LCB0aGlzIGlzIGFuIHVwZGF0ZSByZXF1ZXN0LiBpZiBub3QsIGl0IGlzIGEgZGVsZXRlLgoJCQkJCWlmICggaXNzZXQoICRwYXJhbXMgKSApIHsKCQkJCQkJJHVwZGF0ZSAgPSAkdGhpcy0+dXBkYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoICRzZl9zeW5jX3RyaWdnZXIsICRzeW5jZWRfb2JqZWN0LCAkcGFyYW1zLCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUsICRzZWNvbmRzICk7CgkJCQkJCSRyZXN1bHRzID0gYXJyYXlfbWVyZ2UoICRyZXN1bHRzLCAkdXBkYXRlICk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJJGRlbGV0ZSAgPSAkdGhpcy0+ZGVsZXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoICRzZl9zeW5jX3RyaWdnZXIsICRzeW5jZWRfb2JqZWN0LCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUsICRzZWNvbmRzLCAkbWFwcGluZ19vYmplY3RzICk7CgkJCQkJCSRyZXN1bHRzID0gYXJyYXlfbWVyZ2UoICRyZXN1bHRzLCAkZGVsZXRlICk7CgkJCQkJfQoJCQkJfQoJCQl9IGVsc2VpZiAoIGZhbHNlID09PSAkaXNfbmV3ICkgewoJCQkJLy8gb24gbWVyZ2UsIHdlIHNob3VsZCBzdGlsbCB1cGRhdGUgdGhlIHRyYW5zaWVudC4KCQkJCSR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPnNldCggJ3NhbGVzZm9yY2VfcHVsbGluZ18nIC4gJG9iamVjdFsnSWQnXSwgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sIDEsICRzZWNvbmRzICk7CgkJCQkkdGhpcy0+c3luY190cmFuc2llbnRzLT5zZXQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfb2JqZWN0X2lkJywgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sICRvYmplY3RbJ0lkJ10gKTsKCQkJfQoJCX0gLy8gRW5kIGZvcmVhY2goKSBvbiAkc2FsZXNmb3JjZV9tYXBwaW5ncy4KCgkJLy8gZGVsZXRlIHRyYW5zaWVudHMgdGhhdCB3ZSd2ZSBhbHJlYWR5IHByb2Nlc3NlZCBmb3IgdGhpcyBTYWxlc2ZvcmNlIG9iamVjdC4KCQlmb3JlYWNoICggJHRyYW5zaWVudHNfdG9fZGVsZXRlIGFzICRrZXkgPT4gJHZhbHVlICkgewoJCQkkZmllbGRtYXBfaWQgPSAkdmFsdWVbJ2ZpZWxkbWFwJ11bJ2lkJ107CgkJCSR0cmFuc2llbnRzICA9ICR2YWx1ZVsndHJhbnNpZW50cyddOwoJCQlmb3JlYWNoICggJHRyYW5zaWVudHMgYXMgJHRyYW5zaWVudF9lbmQgKSB7CgkJCQkkdGhpcy0+c3luY190cmFuc2llbnRzLT5kZWxldGUoICdzYWxlc2ZvcmNlX3B1c2hpbmdfJyAuICR0cmFuc2llbnRfZW5kLCAnJywgJGZpZWxkbWFwX2lkICk7CgkJCX0KCQkJJHB1c2hpbmdfaWQgPSAkdGhpcy0+c3luY190cmFuc2llbnRzLT5nZXQoICdzYWxlc2ZvcmNlX3B1c2hpbmdfb2JqZWN0X2lkJywgJycsICRmaWVsZG1hcF9pZCApOwoJCQlpZiAoIGluX2FycmF5KCAkcHVzaGluZ19pZCwgJHRyYW5zaWVudHMsIHRydWUgKSApIHsKCQkJCSR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPmRlbGV0ZSggJ3NhbGVzZm9yY2VfcHVzaGluZ19vYmplY3RfaWQnLCAnJywgJGZpZWxkbWFwX2lkICk7CgkJCX0KCQl9CgoJCWlmICggISBlbXB0eSggJGV4Y2VwdGlvbiApICkgewoJCQl0aHJvdyAkZXhjZXB0aW9uOwoJCX0KCgkJcmV0dXJuICRyZXN1bHRzOwoKCX0KCgkvKioKCSAqIEdlbmVyYXRlIHRoZSBzeW5jZWRfb2JqZWN0IGFycmF5CgkgKgoJICogQHBhcmFtIGFycmF5ICRvYmplY3QgVGhlIGRhdGEgZm9yIHRoZSBTYWxlc2ZvcmNlIG9iamVjdC4KCSAqIEBwYXJhbSBhcnJheSAkbWFwcGluZ19vYmplY3QgVGhlIGRhdGEgZm9yIHRoZSBtYXBwaW5nIG9iamVjdCBiZXR3ZWVuIHRoZSBpbmRpdmlkdWFsIFNhbGVzZm9yY2UgYW5kIFdvcmRQcmVzcyBpdGVtcy4KCSAqIEBwYXJhbSBhcnJheSAkc2FsZXNmb3JjZV9tYXBwaW5nIFRoZSBkYXRhIGZvciB0aGUgZmllbGRtYXAgYmV0d2VlbiB0aGUgb2JqZWN0IHR5cGVzLgoJICogQHJldHVybiBhcnJheSAkc3luY2VkX29iamVjdCBUaGUgY29tYmluZWQgYXJyYXkgb2YgdGhlc2UgaXRlbXMuIEl0IGFsbG93cyBmb3IgZmlsdGVyaW5nIG9mLCBhdCBsZWFzdCwgdGhlIG1hcHBpbmdfb2JqZWN0LgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGdldF9zeW5jZWRfb2JqZWN0KCAkb2JqZWN0LCAkbWFwcGluZ19vYmplY3QsICRzYWxlc2ZvcmNlX21hcHBpbmcgKSB7CgkJLy8gaWYgdGhlcmUncyBhbHJlYWR5IGEgY29ubmVjdGlvbiBiZXR3ZWVuIHRoZSBvYmplY3RzLCAkbWFwcGluZ19vYmplY3Qgd2lsbCBiZSBhbiBhcnJheSBhdCB0aGlzIHBvaW50CgkJLy8gaWYgaXQncyBub3QgYWxyZWFkeSBjb25uZWN0ZWQgKGllIG9uIGNyZWF0ZSksIHRoZSBhcnJheSB3aWxsIGJlIGVtcHR5LgoKCQkvLyBob29rIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gZGVmaW5lIG9yIGFsdGVyIHRoZSBtYXBwaW5nIG9iamVjdC4KCQkkbWFwcGluZ19vYmplY3QgPSBhcHBseV9maWx0ZXJzKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX21hcHBpbmdfb2JqZWN0JywgJG1hcHBpbmdfb2JqZWN0LCAkb2JqZWN0LCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgoJCS8vIHdlIGFscmVhZHkgaGF2ZSB0aGUgZGF0YSBmcm9tIFNhbGVzZm9yY2UgYXQgdGhpcyBwb2ludDsgd2UganVzdCBuZWVkIHRvIHdvcmsgd2l0aCBpdCBpbiBXb3JkUHJlc3MuCgkJJHN5bmNlZF9vYmplY3QgPSBhcnJheSgKCQkJJ3NhbGVzZm9yY2Vfb2JqZWN0JyA9PiAkb2JqZWN0LAoJCQknbWFwcGluZ19vYmplY3QnICAgID0+ICRtYXBwaW5nX29iamVjdCwKCQkJJ21hcHBpbmcnICAgICAgICAgICA9PiAkc2FsZXNmb3JjZV9tYXBwaW5nLAoJCSk7CgkJcmV0dXJuICRzeW5jZWRfb2JqZWN0OwoJfQoKCS8qKgoJICogQ3JlYXRlIHJlY29yZHMgaW4gV29yZFByZXNzIGZyb20gYSBTYWxlc2ZvcmNlIHB1bGwKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRzZl9zeW5jX3RyaWdnZXIgVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4KCSAqIEBwYXJhbSBhcnJheSAgJHN5bmNlZF9vYmplY3QgQ29tYmluZWQgZGF0YSBmb3IgZmllbGRtYXAsIG1hcHBpbmcgb2JqZWN0LCBhbmQgU2FsZXNmb3JjZSBvYmplY3QgZGF0YS4KCSAqIEBwYXJhbSBhcnJheSAgJHBhcmFtcyBBcnJheSBvZiBtYXBwZWQga2V5IHZhbHVlIHBhaXJzIGJldHdlZW4gV29yZFByZXNzIGFuZCBTYWxlc2ZvcmNlIGZpZWxkcy4KCSAqIEBwYXJhbSBhcnJheSAgJHByZW1hdGNoIEFycmF5IG9mIGNyaXRlcmlhIHRvIGRldGVybWluZSB3aGF0IHRvIGRvIG9uIHVwc2VydCBvcGVyYXRpb25zLgoJICogQHBhcmFtIHN0cmluZyAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgVGhlIG5hbWUgb2YgdGhlIElEIGZpZWxkIGZvciB0aGlzIHBhcnRpY3VsYXIgV29yZFByZXNzIG9iamVjdCB0eXBlLgoJICogQHBhcmFtIGludCAgICAkc2Vjb25kcyBUaW1lb3V0IGZvciB0aGUgdHJhbnNpZW50IHZhbHVlIHRvIGRldGVybWluZSB0aGUgZGlyZWN0aW9uIGZvciBhIHN5bmMuCgkgKiBAcmV0dXJuIGFycmF5ICRyZXN1bHRzIEN1cnJlbnRseSB0aGlzIGNvbnRhaW5zIGFuIGFycmF5IG9mIGxvZyBlbnRyaWVzIGZvciBlYWNoIGF0dGVtcHQuCgkgKiBAdGhyb3dzIE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiBFeGNlcHRpb24gJGUuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gY3JlYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoICRzZl9zeW5jX3RyaWdnZXIsICRzeW5jZWRfb2JqZWN0LCAkcGFyYW1zLCAkcHJlbWF0Y2gsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSwgJHNlY29uZHMgKSB7CgoJCSRzYWxlc2ZvcmNlX21hcHBpbmcgPSAkc3luY2VkX29iamVjdFsnbWFwcGluZyddOwoJCSRvYmplY3QgICAgICAgICAgICAgPSAkc3luY2VkX29iamVjdFsnc2FsZXNmb3JjZV9vYmplY3QnXTsKCQkvLyBtZXRob2RzIHRvIHJ1biB0aGUgd3AgdXBkYXRlIG9wZXJhdGlvbnMuCgkJJHJlc3VsdHMgPSBhcnJheSgpOwoJCSRvcCAgICAgID0gJyc7CgoJCS8vIHNldHVwIFNGIHJlY29yZCB0eXBlLiBDYW1wYWlnbk1lbWJlciBvYmplY3RzIGdldCB0aGVpciBDYW1wYWlnbidzIHR5cGUKCQkvLyBpIGFtIHN0aWxsIGEgYml0IGNvbmZ1c2VkIGFib3V0IHRoaXMKCQkvLyB3ZSBzaG91bGQgc3RvcmUgdGhpcyBhcyBhIG1ldGEgZmllbGQgb24gZWFjaCBvYmplY3QsIGlmIGl0IG1lZXRzIHRoZXNlIGNyaXRlcmlhCgkJLy8gd2UgbmVlZCB0byBzdG9yZSB0aGUgcmVhZC9tb2RpZnkgYXR0cmlidXRlcyBiZWNhdXNlIHRoZSBmaWVsZCBkb2Vzbid0IGV4aXN0IGluIHRoZSBtYXBwaW5nLgoJCWlmICggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9yZWNvcmRfdHlwZV9kZWZhdWx0J10gIT09ICR0aGlzLT5tYXBwaW5ncy0+c2FsZXNmb3JjZV9kZWZhdWx0X3JlY29yZF90eXBlICYmIGVtcHR5KCAkcGFyYW1zWydSZWNvcmRUeXBlSWQnXSApICYmICggJ0NhbXBhaWduTWVtYmVyJyAhPT0gJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApICkgewoJCQkkdHlwZSA9ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXTsKCQkJaWYgKCAnY2F0ZWdvcnknID09PSAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gfHwgJ3RhZycgPT09ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSB8fCAncG9zdF90YWcnID09PSAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSB7CgkJCQkkdHlwZSA9ICd0ZXJtJzsKCQkJfQoJCQkkcGFyYW1zWydSZWNvcmRUeXBlSWQnXSA9IGFycmF5KAoJCQkJJ3ZhbHVlJyAgICAgICAgID0+ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2VfcmVjb3JkX3R5cGVfZGVmYXVsdCddLAoJCQkJJ21ldGhvZF9tb2RpZnknID0+ICd1cGRhdGVfJyAuICR0eXBlIC4gJ19tZXRhJywKCQkJCSdtZXRob2RfcmVhZCcgICA9PiAnZ2V0XycgLiAkdHlwZSAuICdfbWV0YScsCgkJCSk7CgkJfQoKCQl0cnkgewoKCQkJLy8gaG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIG1vZGlmeSB0aGUgJHdvcmRwcmVzc19pZCBzdHJpbmcgaGVyZQoJCQkvLyB1c2UgaG9vayB0byBjaGFuZ2UgdGhlIG9iamVjdCB0aGF0IGlzIGJlaW5nIG1hdGNoZWQgdG8gZGV2ZWxvcGVyJ3Mgb3duIGNyaXRlcmlhCgkJCS8vIGV4OiBtYXRjaCBhIFdvcmRQcmVzcyB1c2VyIGJhc2VkIG9uIHNvbWUgb3RoZXIgY3JpdGVyaWEgdGhhbiB0aGUgcHJlZGVmaW5lZCBvbmVzCgkJCS8vIHJldHVybnMgYSAkd29yZHByZXNzX2lkLgoJCQkvLyBpdCBzaG91bGQga2VlcCBOVUxMIGlmIHRoZXJlIGlzIG5vIG1hdGNoCgkJCS8vIHRoZSBmdW5jdGlvbiB0aGF0IGNhbGxzIHRoaXMgaG9vayBuZWVkcyB0byBjaGVjayB0aGUgbWFwcGluZyB0byBtYWtlIHN1cmUgdGhlIFdvcmRQcmVzcyBvYmplY3QgaXMgdGhlIHJpZ2h0IHR5cGUuCgkJCSR3b3JkcHJlc3NfaWQgPSBhcHBseV9maWx0ZXJzKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdmaW5kX3dwX29iamVjdF9tYXRjaCcsIG51bGwsICRvYmplY3QsICRzYWxlc2ZvcmNlX21hcHBpbmcsICdwdWxsJyApOwoKCQkJLy8gaG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIGRvIHNvbWV0aGluZyByaWdodCBiZWZvcmUgV29yZFByZXNzIGRhdGEgaXMgc2F2ZWQKCQkJLy8gZXg6IHJ1biBvdXRzaWRlIG1ldGhvZHMgb24gYW4gb2JqZWN0IGlmIGl0IGV4aXN0cywgb3IgZG8gc29tZXRoaW5nIGluIHByZXBhcmF0aW9uIGZvciBpdCBpZiBpdCBkb2Vzbid0LgoJCQlkb19hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3ByZV9wdWxsJywgJHdvcmRwcmVzc19pZCwgJHNhbGVzZm9yY2VfbWFwcGluZywgJG9iamVjdCwgJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lLCAkcGFyYW1zICk7CgoJCQlpZiAoIGlzc2V0KCAkcHJlbWF0Y2hbJ2ZpZWxkX3NhbGVzZm9yY2UnXSApIHx8IG51bGwgIT09ICR3b3JkcHJlc3NfaWQgKSB7CgoJCQkJJG9wID0gJ1Vwc2VydCc7CgoJCQkJLy8gaWYgYSBwcmVtYXRjaCBjcml0ZXJpYSBleGlzdHMsIG1ha2UgdGhlIHZhbHVlcyBxdWVyeWFibGUuCgkJCQlpZiAoIGlzc2V0KCAkcHJlbWF0Y2hbJ2ZpZWxkX3NhbGVzZm9yY2UnXSApICkgewoJCQkJCSR1cHNlcnRfa2V5ICAgICA9ICRwcmVtYXRjaFsnZmllbGRfd29yZHByZXNzJ107CgkJCQkJJHVwc2VydF92YWx1ZSAgID0gJHByZW1hdGNoWyd2YWx1ZSddOwoJCQkJCSR1cHNlcnRfbWV0aG9kcyA9ICRwcmVtYXRjaFsnbWV0aG9kcyddOwoJCQkJfQoKCQkJCWlmICggbnVsbCAhPT0gJHdvcmRwcmVzc19pZCApIHsKCQkJCQkkdXBzZXJ0X2tleSAgICAgPSAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWU7CgkJCQkJJHVwc2VydF92YWx1ZSAgID0gJHdvcmRwcmVzc19pZDsKCQkJCQkkdXBzZXJ0X21ldGhvZHMgPSBhcnJheSgpOwoJCQkJfQoKCQkJCS8vIHdpdGggdGhlIGZsYWcgYXQgdGhlIGVuZCwgdXBzZXJ0IHJldHVybnMgYSAkd29yZHByZXNzX2lkIG9ubHkKCQkJCS8vIHdlIGNhbiB0aGVuIGNoZWNrIHRvIHNlZSBpZiBpdCBoYXMgYSBtYXBwaW5nIG9iamVjdAoJCQkJLy8gd2Ugc2hvdWxkIG9ubHkgZG8gdGhpcyBpZiB0aGUgYWJvdmUgaG9vayBkaWRuJ3QgYWxyZWFkeSBzZXQgdGhlICR3b3JkcHJlc3NfaWQuCgkJCQlpZiAoIG51bGwgPT09ICR3b3JkcHJlc3NfaWQgKSB7CgkJCQkJJHdvcmRwcmVzc19pZCA9ICR0aGlzLT53b3JkcHJlc3MtPm9iamVjdF91cHNlcnQoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSwgJHVwc2VydF9rZXksICR1cHNlcnRfdmFsdWUsICR1cHNlcnRfbWV0aG9kcywgJHBhcmFtcywgJHNhbGVzZm9yY2VfbWFwcGluZ1sncHVsbF90b19kcmFmdHMnXSwgdHJ1ZSApOwoJCQkJfQoKCQkJCS8vIHBsYWNlaG9sZGVyIG1hcHBpbmcgb2JqZWN0LgoJCQkJJG1hcHBpbmdfb2JqZWN0ID0gYXJyYXkoKTsKCgkJCQkvLyBmaW5kIG91dCBpZiB0aGVyZSBpcyBhIG1hcHBpbmcgb2JqZWN0IGZvciB0aGlzIFdvcmRQcmVzcyBvYmplY3QgYWxyZWFkeQoJCQkJLy8gZG9uJ3QgZG8gaXQgaWYgdGhlIFdvcmRQcmVzcyBpZCBpcyAwLgoJCQkJaWYgKCAwICE9PSAkd29yZHByZXNzX2lkICkgewoJCQkJCSRtYXBwaW5nX29iamVjdHMgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9hbGxfb2JqZWN0X21hcHMoCgkJCQkJCWFycmF5KAoJCQkJCQkJJ3dvcmRwcmVzc19pZCcgICAgID0+ICR3b3JkcHJlc3NfaWQsCgkJCQkJCQknd29yZHByZXNzX29iamVjdCcgPT4gJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddLAoJCQkJCQkpCgkJCQkJKTsKCQkJCQlpZiAoIGlzc2V0KCAkbWFwcGluZ19vYmplY3RzWzBdICkgJiYgaXNfYXJyYXkoICRtYXBwaW5nX29iamVjdHNbMF0gKSApIHsKCQkJCQkJJG1hcHBpbmdfb2JqZWN0ID0gJG1hcHBpbmdfb2JqZWN0c1swXTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCS8vIGlmIHRoZSB3cCBvYmplY3QgaXMgMCwgY2hlY2sgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgb2JqZWN0IG1hcHMgdGhhdCBoYXZlIGFuIGlkIG9mIDAuIGlmIHRoZXJlIGFyZSBhbnksIGxvZyB0aGVtLgoJCQkJCSRtYXBwaW5nX29iamVjdF9kZWJ1ZyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2FsbF9vYmplY3RfbWFwcygKCQkJCQkJYXJyYXkoCgkJCQkJCQknd29yZHByZXNzX2lkJyA9PiAkd29yZHByZXNzX2lkLAoJCQkJCQkpCgkJCQkJKTsKCgkJCQkJaWYgKCAhIGVtcHR5KCAkbWFwcGluZ19vYmplY3RfZGVidWcgKSApIHsKCQkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSB0byB3YXJuIGFib3V0IGF0IGxlYXN0IG9uZSBpZCBvZiAwLgoJCQkJCQkkc3RhdHVzID0gJ2Vycm9yJzsKCQkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMuCgkJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogVGhlcmUgaXMgYXQgbGVhc3Qgb25lIG9iamVjdCBtYXAgd2l0aCBhIFdvcmRQcmVzcyBJRCBvZiAwLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKQoJCQkJCQkpOwoKCQkJCQkJaWYgKCAxID09PSBjb3VudCggJG1hcHBpbmdfb2JqZWN0X2RlYnVnICkgKSB7CgkJCQkJCQkkYm9keSA9IHNwcmludGYoCgkJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBtYXBwaW5nIG9iamVjdCByb3cgSUQsIDIpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0LCAzKSB0aGUgSUQgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IGl0IHdhcyB0cnlpbmcgdG8gbWFwLgoJCQkJCQkJCWVzY19odG1sX18oICdUaGVyZSBpcyBhbiBvYmplY3QgbWFwIHdpdGggSUQgb2YgJTEkcyBhbmQgaXQgaXMgbWFwcGVkIHRvIHRoZSBXb3JkUHJlc3MgJTIkcyB3aXRoIElEIG9mIDAgYW5kIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB3aXRoIElEIG9mICUzJHMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQkJYWJzaW50KCAkbWFwcGluZ19vYmplY3RfZGVidWdbMF1bJ2lkJ10gKSwKCQkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0X2RlYnVnWzBdWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0X2RlYnVnWzBdWydzYWxlc2ZvcmNlX2lkJ10gKQoJCQkJCQkJKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCSRib2R5ID0gc3ByaW50ZiggZXNjX2h0bWxfXyggJ1RoZXJlIGFyZSBtdWx0aXBsZSBvYmplY3QgbWFwcyB3aXRoIFdvcmRQcmVzcyBJRCBvZiAwLiBUaGVpciBJRHMgYXJlOiAnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPHVsPicgKTsKCQkJCQkJCWZvcmVhY2ggKCAkbWFwcGluZ19vYmplY3RfZGVidWcgYXMgJG1hcHBpbmdfb2JqZWN0ICkgewoJCQkJCQkJCSRib2R5IC49IHNwcmludGYoCgkJCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbWFwcGluZyBvYmplY3Qgcm93IElELCAyKSB0aGUgSUQgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LCAzKSB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLgoJCQkJCQkJCQknPGxpPicgLiBlc2NfaHRtbF9fKCAnTWFwcGluZyBvYmplY3QgaWQ6ICUxJHMuIFNhbGVzZm9yY2UgSWQ6ICUyJHMuIFdvcmRQcmVzcyBvYmplY3QgdHlwZTogJTMkcycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L2xpPicsCgkJCQkJCQkJCWFic2ludCggJG1hcHBpbmdfb2JqZWN0WydpZCddICksCgkJCQkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3NhbGVzZm9yY2VfaWQnXSApLAoJCQkJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICkKCQkJCQkJCQkpOwoJCQkJCQkJfQoJCQkJCQkJJGJvZHkgLj0gc3ByaW50ZiggJzwvdWw+JyApOwoJCQkJCQl9CgoJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCX0KCQkJCQkJJHBhcmVudCA9IDA7CgoJCQkJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCQkJJ21lc3NhZ2UnID0+ICRib2R5LAoJCQkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCQkncGFyZW50JyAgPT4gJHBhcmVudCwKCQkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCQkpOwoKCQkJCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCQkJCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCQkJCX0gLy8gRW5kIGlmKCkgc3RhdGVtZW50LgoKCQkJCS8vIHRoZXJlIGlzIGFscmVhZHkgYSBtYXBwaW5nIG9iamVjdC4gZG9uJ3QgY2hhbmdlIHRoZSBXb3JkUHJlc3MgZGF0YSB0byBtYXRjaCB0aGlzIG5ldyBTYWxlc2ZvcmNlIHJlY29yZCwgYnV0IGxvZyBpdC4KCQkJCWlmICggaXNzZXQoICRtYXBwaW5nX29iamVjdFsnaWQnXSApICkgewoJCQkJCS8vIHNldCB0aGUgdHJhbnNpZW50cyBzbyB0aGF0IHNhbGVzZm9yY2VfcHVzaCBkb2Vzbid0IHN0YXJ0IGRvaW5nIHN0dWZmLCB0aGVuIHJldHVybiBvdXQgb2YgaGVyZS4KCQkJCQkkdGhpcy0+c3luY190cmFuc2llbnRzLT5zZXQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfJyAuICRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddLCAnJywgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgMSwgJHNlY29uZHMgKTsKCQkJCQkkdGhpcy0+c3luY190cmFuc2llbnRzLT5zZXQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfb2JqZWN0X2lkJywgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sICRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddICk7CgkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSB0byBpbmRpY2F0ZSB0aGF0IG5vdGhpbmcgaGFwcGVuZWQuCgkJCQkJJHN0YXR1cyA9ICdub3RpY2UnOwoJCQkJCSR0aXRsZSAgPSBzcHJpbnRmKAoJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgbG9nIHN0YXR1cywgMikgbWFwcGluZyBvYmplY3Qgcm93IGlkLCAzKSBXb3JkUHJlc3Mgb2JqZWN0IHR5b2UsIDQpIGluZGl2aWR1YWwgV29yZFByZXNzIGl0ZW0gSUQsIDUpIGluZGl2aWR1YWwgU2FsZXNmb3JjZSBpdGVtIElELgoJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogQmVjYXVzZSBvYmplY3QgbWFwICUyJHMgYWxyZWFkeSBleGlzdHMsIFdvcmRQcmVzcyAlMyRzICU0JHMgd2FzIG5vdCBtYXBwZWQgdG8gU2FsZXNmb3JjZSBJZCAlNSRzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCWFic2ludCggJG1hcHBpbmdfb2JqZWN0WydpZCddICksCgkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJYWJzaW50KCAkd29yZHByZXNzX2lkICksCgkJCQkJCWVzY19hdHRyKCAkb2JqZWN0WydJZCddICkKCQkJCQkpOwoKCQkJCQkkYm9keSA9IHNwcmludGYoCgkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlIDEpIFdvcmRQcmVzcyBvYmplY3QgdHlwZSwgMikgZmllbGQgbmFtZSBmb3IgdGhlIFdvcmRQcmVzcyBpZCwgMykgdGhlIFdvcmRQcmVzcyBpZCB2YWx1ZSwgNCkgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUsIDUpIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCBJZCB0aGF0IHdhcyBtb2RpZmllZCwgNikgdGhlIG1hcHBpbmcgb2JqZWN0IHJvdyBpZC4KCQkJCQkJZXNjX2h0bWxfXyggJ1RoZSBXb3JkUHJlc3MgJTEkcyB3aXRoICUyJHMgb2YgJTMkcyBpcyBhbHJlYWR5IG1hcHBlZCB0byB0aGUgU2FsZXNmb3JjZSAlNCRzIHdpdGggSWQgb2YgJTUkcyBpbiB0aGUgbWFwcGluZyBvYmplY3Qgd2l0aCBpZCBvZiAlNiRzLiBUaGUgU2FsZXNmb3JjZSAlNCRzIHdpdGggSWQgb2YgJTUkcyB3YXMgY3JlYXRlZCBvciBtb2RpZmllZCBpbiBTYWxlc2ZvcmNlLCBhbmQgd291bGQgb3RoZXJ3aXNlIGhhdmUgYmVlbiBtYXBwZWQgdG8gdGhpcyBXb3JkUHJlc3MgcmVjb3JkLiBObyBXb3JkUHJlc3MgZGF0YSBoYXMgYmVlbiBjaGFuZ2VkIHRvIHByZXZlbnQgY2hhbmdpbmcgZGF0YSB1bmludGVudGlvbmFsbHkuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICksCgkJCQkJCWVzY19hdHRyKCAkc3RydWN0dXJlWydpZF9maWVsZCddICksCgkJCQkJCWFic2ludCggJHdvcmRwcmVzc19pZCApLAoJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApLAoJCQkJCQllc2NfYXR0ciggJG9iamVjdFsnSWQnXSApLAoJCQkJCQlhYnNpbnQoICRtYXBwaW5nX29iamVjdFsnaWQnXSApCgkJCQkJKTsKCgkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCX0KCgkJCQkJLy8gaWYgd2Uga25vdyB0aGUgV29yZFByZXNzIG9iamVjdCBpZCB3ZSBjYW4gcHV0IGl0IGluIHRoZXJlLgoJCQkJCWlmICggbnVsbCAhPT0gJHdvcmRwcmVzc19pZCApIHsKCQkJCQkJJHBhcmVudCA9ICR3b3JkcHJlc3NfaWQ7CgkJCQkJfSBlbHNlIHsKCQkJCQkJJHBhcmVudCA9IDA7CgkJCQkJfQoKCQkJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJCSdtZXNzYWdlJyA9PiAkYm9keSwKCQkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCSdwYXJlbnQnICA9PiAkcGFyZW50LAoJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkpOwoKCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgoJCQkJfSAvLyBFbmQgaWYoKSBzdGF0ZW1lbnQuCgoJCQkJLy8gcmlnaHQgaGVyZSB3ZSBzaG91bGQgc2V0IHRoZSBwdWxsaW5nIHRyYW5zaWVudAoJCQkJLy8gdGhpcyBtZWFucyB3ZSBoYXZlIHRvIGNyZWF0ZSB0aGUgbWFwcGluZyBvYmplY3QgaGVyZSBhcyB3ZWxsLCBhbmQgdXBkYXRlIGl0IHdpdGggdGhlIGNvcnJlY3QgSURzIGFmdGVyIHN1Y2Nlc3NmdWwgcmVzcG9uc2UKCQkJCS8vIGNyZWF0ZSB0aGUgbWFwcGluZyBvYmplY3QgYmV0d2VlbiB0aGUgcm93cy4KCQkJCSRtYXBwaW5nX29iamVjdF9pZCA9ICR0aGlzLT5jcmVhdGVfb2JqZWN0X21hcCggJG9iamVjdCwgJHRoaXMtPm1hcHBpbmdzLT5nZW5lcmF0ZV90ZW1wb3JhcnlfaWQoICdwdWxsJyApLCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgkJCQkkdGhpcy0+c3luY190cmFuc2llbnRzLT5zZXQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfJyAuICRvYmplY3RbJ0lkJ10sICcnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAxLCAkc2Vjb25kcyApOwoJCQkJJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+c2V0KCAnc2FsZXNmb3JjZV9wdWxsaW5nX29iamVjdF9pZCcsICcnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAkb2JqZWN0WydJZCddICk7CgkJCQkkbWFwcGluZ19vYmplY3RzID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfYWxsX29iamVjdF9tYXBzKAoJCQkJCWFycmF5KAoJCQkJCQknaWQnID0+ICRtYXBwaW5nX29iamVjdF9pZCwKCQkJCQkpCgkJCQkpOwoJCQkJaWYgKCBpc3NldCggJG1hcHBpbmdfb2JqZWN0c1swXSApICYmIGlzX2FycmF5KCAkbWFwcGluZ19vYmplY3RzWzBdICkgKSB7CgkJCQkJJG1hcHBpbmdfb2JqZWN0ID0gJG1hcHBpbmdfb2JqZWN0c1swXTsKCQkJCX0KCQkJCS8vIG5vdyB3ZSBjYW4gdXBzZXJ0IHRoZSBvYmplY3QgaW4gd3AgaWYgd2UndmUgZ290dGVuIHRvIHRoaXMgcG9pbnQKCQkJCS8vIHRoaXMgY29tbWFuZCB3aWxsIGVpdGhlciBjcmVhdGUgb3IgdXBkYXRlIHRoZSBvYmplY3QuCgkJCQkkcmVzdWx0ID0gJHRoaXMtPndvcmRwcmVzcy0+b2JqZWN0X3Vwc2VydCggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddLCAkdXBzZXJ0X2tleSwgJHVwc2VydF92YWx1ZSwgJHVwc2VydF9tZXRob2RzLCAkcGFyYW1zLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydwdWxsX3RvX2RyYWZ0cyddICk7CgoJCQl9IGVsc2UgewoJCQkJLy8gTm8ga2V5IG9yIHByZW1hdGNoIGZpZWxkIGV4aXN0cyBvbiB0aGlzIGZpZWxkIG1hcCBvYmplY3QsIGNyZWF0ZSBhIG5ldyBvYmplY3QgaW4gV29yZFByZXNzLgoJCQkJJG9wICAgICAgICAgICAgICAgID0gJ0NyZWF0ZSc7CgkJCQkkbWFwcGluZ19vYmplY3RfaWQgPSAkdGhpcy0+Y3JlYXRlX29iamVjdF9tYXAoICRvYmplY3QsICR0aGlzLT5tYXBwaW5ncy0+Z2VuZXJhdGVfdGVtcG9yYXJ5X2lkKCAncHVsbCcgKSwgJHNhbGVzZm9yY2VfbWFwcGluZyApOwoJCQkJJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+c2V0KCAnc2FsZXNmb3JjZV9wdWxsaW5nXycgLiAkbWFwcGluZ19vYmplY3RfaWQsICcnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAxLCAkc2Vjb25kcyApOwoJCQkJJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+c2V0KCAnc2FsZXNmb3JjZV9wdWxsaW5nX29iamVjdF9pZCcsICcnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAkbWFwcGluZ19vYmplY3RfaWQgKTsKCQkJCSRtYXBwaW5nX29iamVjdHMgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9hbGxfb2JqZWN0X21hcHMoCgkJCQkJYXJyYXkoCgkJCQkJCSdpZCcgPT4gJG1hcHBpbmdfb2JqZWN0X2lkLAoJCQkJCSkKCQkJCSk7CgkJCQlpZiAoIGlzc2V0KCAkbWFwcGluZ19vYmplY3RzWzBdICkgJiYgaXNfYXJyYXkoICRtYXBwaW5nX29iamVjdHNbMF0gKSApIHsKCQkJCQkkbWFwcGluZ19vYmplY3QgPSAkbWFwcGluZ19vYmplY3RzWzBdOwoJCQkJfQoKCQkJCSRyZXN1bHQgPSAkdGhpcy0+d29yZHByZXNzLT5vYmplY3RfY3JlYXRlKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10sICRwYXJhbXMgKTsKCQkJfSAvLyBFbmQgaWYoKSBzdGF0ZW1lbnQuCgkJfSBjYXRjaCAoIE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiAkZSApIHsKCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgZmFpbGVkIGNyZWF0ZSBvciB1cHNlcnQuCgkJCSRzdGF0dXMgPSAnZXJyb3InOwoJCQkkdGl0bGUgID0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCBhbmQgMykgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QuCgkJCQllc2NfaHRtbF9fKCAnJTEkczogJTIkcyBXb3JkUHJlc3MgJTMkcycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKQoJCQkpOwoKCQkJaWYgKCBudWxsICE9PSAkc2FsZXNmb3JjZV9pZCApIHsKCQkJCSR0aXRsZSAuPSAnICcgLiAkc2FsZXNmb3JjZV9pZDsKCQkJfQoKCQkJJHRpdGxlIC49IHNwcmludGYoCgkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LCBhbmQgMikgSWQgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LgoJCQkJZXNjX2h0bWxfXyggJyAoU2FsZXNmb3JjZSAlMSRzIHdpdGggSWQgb2YgJTIkcyknLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddLAoJCQkJJG9iamVjdFsnSWQnXQoJCQkpOwoKCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQl9CgoJCQkvLyBpZiB3ZSBrbm93IHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHdlIGNhbiBwdXQgaXQgaW4gdGhlcmUuCgkJCWlmICggbnVsbCAhPT0gJHdvcmRwcmVzc19pZCApIHsKCQkJCSRwYXJlbnQgPSAkd29yZHByZXNzX2lkOwoJCQl9IGVsc2UgewoJCQkJJHBhcmVudCA9IDA7CgkJCX0KCgkJCSRyZXN1bHQgPSBhcnJheSgKCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQknbWVzc2FnZScgPT4gJGUtPmdldE1lc3NhZ2UoKSwKCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJJ3BhcmVudCcgID0+ICRwYXJlbnQsCgkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJKTsKCgkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgoJCQlpZiAoIGZhbHNlID09PSAkaG9sZF9leGNlcHRpb25zICkgewoJCQkJdGhyb3cgJGU7CgkJCX0KCQkJaWYgKCBlbXB0eSggJGV4Y2VwdGlvbiApICkgewoJCQkJJGV4Y2VwdGlvbiA9ICRlOwoJCQl9IGVsc2UgewoJCQkJJG15X2NsYXNzICA9IGdldF9jbGFzcyggJGUgKTsKCQkJCSRleGNlcHRpb24gPSBuZXcgJG15X2NsYXNzKCAkZS0+Z2V0TWVzc2FnZSgpLCAkZS0+Z2V0Q29kZSgpLCAkZXhjZXB0aW9uICk7CgkJCX0KCgkJCS8vIGhvb2sgZm9yIHB1bGwgZmFpbC4KCQkJZG9fYWN0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX2ZhaWwnLCAkb3AsICRyZXN1bHQsICRzeW5jZWRfb2JqZWN0ICk7CgoJCX0gLy8gRW5kIHRyeSgpIG1ldGhvZC4KCgkJLy8gc2V0ICR3b3JkcHJlc3NfZGF0YSB0byB0aGUgcXVlcnkgcmVzdWx0LgoJCSR3b3JkcHJlc3NfZGF0YSA9ICRyZXN1bHRbJ2RhdGEnXTsKCQlpZiAoIGlzc2V0KCAkd29yZHByZXNzX2RhdGFbICIkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUiIF0gKSApIHsKCQkJJHdvcmRwcmVzc19pZCA9ICR3b3JkcHJlc3NfZGF0YVsgIiR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSIgXTsKCQl9IGVsc2UgewoJCQkkd29yZHByZXNzX2lkID0gMDsKCQl9CgoJCS8vIFdvcmRQcmVzcyBjcnVkIGNhbGwgd2FzIHN1Y2Nlc3NmdWwKCQkvLyB0aGlzIG1lYW5zIHRoZSBvYmplY3QgaGFzIGFscmVhZHkgYmVlbiBjcmVhdGVkL3VwZGF0ZWQgaW4gV29yZFByZXNzCgkJLy8gdGhpcyBpcyBub3QgcmVkdW5kYW50IGJlY2F1c2UgdGhpcyBpcyB3aGVyZSBpdCBjcmVhdGVzIHRoZSBvYmplY3QgbWFwcGluZyByb3dzIGluIFdvcmRQcmVzcyBpZiB0aGUgb2JqZWN0IGRvZXMgbm90IGFscmVhZHkgaGF2ZSBvbmUgKHdlIGFyZSBzdGlsbCBpbnNpZGUgJGlzX25ldyA9PT0gVFJVRSBoZXJlKS4KCgkJaWYgKCBlbXB0eSggJHJlc3VsdFsnZXJyb3JzJ10gKSApIHsKCQkJJHN0YXR1cyA9ICdzdWNjZXNzJzsKCgkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJfQoKCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCAzKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLCA0KSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUsIDUpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHZhbHVlLCA2KSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIDcpIHRoZSBTYWxlc2ZvcmNlIElkIHZhbHVlLgoJCQkJZXNjX2h0bWxfXyggJyUxJHM6ICUyJHMgV29yZFByZXNzICUzJHMgd2l0aCAlNCRzIG9mICU1JHMgKFNhbGVzZm9yY2UgJTYkcyBJZCBvZiAlNyRzKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKSwKCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkICksCgkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApLAoJCQkJZXNjX2F0dHIoICRvYmplY3RbJ0lkJ10gKQoJCQkpOwoKCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCSdtZXNzYWdlJyA9PiAnJywKCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJJ3BhcmVudCcgID0+ICR3b3JkcHJlc3NfaWQsCgkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJKTsKCgkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgoJCQkvLyB1cGRhdGUgdGhhdCBtYXBwaW5nIG9iamVjdC4KCQkJJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSA9ICR3b3JkcHJlc3NfaWQ7CgkJCSRtYXBwaW5nX29iamVjdCAgICAgICAgICAgICAgICAgPSAkdGhpcy0+bWFwcGluZ3MtPnVwZGF0ZV9vYmplY3RfbWFwKCAkbWFwcGluZ19vYmplY3QsICRtYXBwaW5nX29iamVjdFsnaWQnXSApOwoKCQkJLy8gaG9vayBmb3IgcHVsbCBzdWNjZXNzLgoJCQlkb19hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfc3VjY2VzcycsICRvcCwgJHJlc3VsdCwgJHN5bmNlZF9vYmplY3QgKTsKCQl9IGVsc2UgewoKCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgZmFpbGVkIGNyZWF0ZSBvciB1cHNlcnQKCQkJLy8gdGhpcyBpcyBwYXJ0IG9mIHRoZSBkcnVwYWwgbW9kdWxlIGJ1dCBpIGFtIGZhaWxpbmcgdG8gdW5kZXJzdGFuZCB3aGVuIGl0IHdvdWxkIGV2ZXIgZmlyZSwgc2luY2UgdGhlIGNhdGNoIHNob3VsZCBjYXRjaCB0aGUgZXJyb3JzCgkJCS8vIGlmIHdlIHNlZSB0aGlzIGluIHRoZSBsb2cgZW50cmllcywgd2UgY2FuIHVuZGVyc3RhbmQgd2hhdCBpdCBkb2VzLCBidXQgcHJvYmFibHkgbm90IHVudGlsIHRoZW4uCgkJCSRzdGF0dXMgPSAnZXJyb3InOwoJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCX0KCgkJCWlmICggaXNfb2JqZWN0KCAkd29yZHByZXNzX2lkICkgKSB7CgkJCQkvLyBwcmludCB0aGlzIGFycmF5IGJlY2F1c2UgaWYgdGhpcyBoYXBwZW5zLCBzb21ldGhpbmcgd2VpcmQgaGFzIGhhcHBlbmVkIGFuZCB3ZSB3YW50IHRvIGxvZyB3aGF0ZXZlciB3ZSBoYXZlLgoJCQkJJHdvcmRwcmVzc19pZCA9IHByaW50X3IoICR3b3JkcHJlc3NfaWQsIHRydWUgKTsgLy8gcGhwY3M6aWdub3JlIFdvcmRQcmVzcy5QSFAuRGV2ZWxvcG1lbnRGdW5jdGlvbnMuZXJyb3JfbG9nX3ByaW50X3IKCQkJfQoKCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCAzKSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZSwgNCkgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IElkIHZhbHVlLgoJCQkJZXNjX2h0bWxfXyggJyUxJHMgc3luY2luZzogJTIkcyB0byBXb3JkUHJlc3MgKFNhbGVzZm9yY2UgJTMkcyBJZCAlNCRzKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQllc2NfYXR0ciggJG9iamVjdFsnSWQnXSApCgkJCSk7CgoJCQkkYm9keSA9IHNwcmludGYoCgkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QgdHlwZSwgMikgdGhlIFdvcmRQcmVzcyBpZCBmaWVsZCBuYW1lLCAzKSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIHZhbHVlLCA0KSB0aGUgYXJyYXkgb2YgZXJyb3JzLgoJCQkJJzxwPicgLiBlc2NfaHRtbF9fKCAnT2JqZWN0OiAlMSRzIHdpdGggJTIkcyBvZiAlMyRzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvcD48cD4nIC4gZXNjX2h0bWxfXyggJ01lc3NhZ2U6ICcsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICclNCRzPC9wPicsCgkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICksCgkJCQllc2NfYXR0ciggJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lICksCgkJCQllc2NfYXR0ciggJHdvcmRwcmVzc19pZCApLAoJCQkJcHJpbnRfciggJHJlc3VsdFsnZXJyb3JzJ10sIHRydWUgKSAvLyBwaHBjczppZ25vcmUgV29yZFByZXNzLlBIUC5EZXZlbG9wbWVudEZ1bmN0aW9ucy5lcnJvcl9sb2dfcHJpbnRfcgoJCQkpOwoKCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCSdtZXNzYWdlJyA9PiAkYm9keSwKCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJJ3BhcmVudCcgID0+ICR3b3JkcHJlc3NfaWQsCgkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJKTsKCgkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgoJCQkvLyBob29rIGZvciBwdWxsIGZhaWwuCgkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9mYWlsJywgJG9wLCAkcmVzdWx0LCAkc3luY2VkX29iamVjdCApOwoKCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCQlyZXR1cm4gJHJlc3VsdHM7Cgl9CgoJLyoqCgkgKiBVcGRhdGUgcmVjb3JkcyBpbiBXb3JkUHJlc3MgZnJvbSBhIFNhbGVzZm9yY2UgcHVsbAoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJHNmX3N5bmNfdHJpZ2dlciBUaGUgY3VycmVudCBvcGVyYXRpb24ncyB0cmlnZ2VyLgoJICogQHBhcmFtIGFycmF5ICAkc3luY2VkX29iamVjdCBDb21iaW5lZCBkYXRhIGZvciBmaWVsZG1hcCwgbWFwcGluZyBvYmplY3QsIGFuZCBTYWxlc2ZvcmNlIG9iamVjdCBkYXRhLgoJICogQHBhcmFtIGFycmF5ICAkcGFyYW1zIEFycmF5IG9mIG1hcHBlZCBrZXkgdmFsdWUgcGFpcnMgYmV0d2VlbiBXb3JkUHJlc3MgYW5kIFNhbGVzZm9yY2UgZmllbGRzLgoJICogQHBhcmFtIHN0cmluZyAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgVGhlIG5hbWUgb2YgdGhlIElEIGZpZWxkIGZvciB0aGlzIHBhcnRpY3VsYXIgV29yZFByZXNzIG9iamVjdCB0eXBlLgoJICogQHBhcmFtIGludCAgICAkc2Vjb25kcyBUaW1lb3V0IGZvciB0aGUgdHJhbnNpZW50IHZhbHVlIHRvIGRldGVybWluZSB0aGUgZGlyZWN0aW9uIGZvciBhIHN5bmMuCgkgKiBAcmV0dXJuIGFycmF5ICRyZXN1bHRzIEN1cnJlbnRseSB0aGlzIGNvbnRhaW5zIGFuIGFycmF5IG9mIGxvZyBlbnRyaWVzIGZvciBlYWNoIGF0dGVtcHQuCgkgKiBAdGhyb3dzIE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiBFeGNlcHRpb24gJGUuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gdXBkYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoICRzZl9zeW5jX3RyaWdnZXIsICRzeW5jZWRfb2JqZWN0LCAkcGFyYW1zLCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUsICRzZWNvbmRzICkgewoKCQkkc2FsZXNmb3JjZV9tYXBwaW5nID0gJHN5bmNlZF9vYmplY3RbJ21hcHBpbmcnXTsKCQkkbWFwcGluZ19vYmplY3QgICAgID0gJHN5bmNlZF9vYmplY3RbJ21hcHBpbmdfb2JqZWN0J107CgkJJG9iamVjdCAgICAgICAgICAgICA9ICRzeW5jZWRfb2JqZWN0WydzYWxlc2ZvcmNlX29iamVjdCddOwoKCQkvLyBtZXRob2RzIHRvIHJ1biB0aGUgd3AgdXBkYXRlIG9wZXJhdGlvbnMuCgkJJHJlc3VsdHMgPSBhcnJheSgpOwoJCSRvcCAgICAgID0gJyc7CgoJCS8vIGlmIHRoZSBsYXN0IHN5bmMgaXMgZ3JlYXRlciB0aGFuIHRoZSBsYXN0IHRpbWUgdGhpcyBvYmplY3Qgd2FzIHVwZGF0ZWQgYnkgU2FsZXNmb3JjZSwgc2tpcCBpdAoJCS8vIHRoaXMga2VlcHMgdXMgZnJvbSBkb2luZyByZWR1bmRhbnQgc3luY3MKCQkvLyBiZWNhdXNlIFNGIHN0b3JlcyBhbGwgRGF0ZVRpbWVzIGluIFVUQy4KCQkkbWFwcGluZ19vYmplY3RbJ29iamVjdF91cGRhdGVkJ10gPSBjdXJyZW50X3RpbWUoICdteXNxbCcgKTsKCgkJJHB1bGxfdHJpZ2dlcl9maWVsZCA9ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdHJpZ2dlcl9maWVsZCddOwoJCSRwdWxsX3RyaWdnZXJfdmFsdWUgPSAkb2JqZWN0WyAkcHVsbF90cmlnZ2VyX2ZpZWxkIF07CgoJCS8vIGhvb2sgdG8gYWxsb3cgb3RoZXIgcGx1Z2lucyB0byBkbyBzb21ldGhpbmcgcmlnaHQgYmVmb3JlIFdvcmRQcmVzcyBkYXRhIGlzIHNhdmVkCgkJLy8gZXg6IHJ1biBvdXRzaWRlIG1ldGhvZHMgb24gYW4gb2JqZWN0IGlmIGl0IGV4aXN0cywgb3IgZG8gc29tZXRoaW5nIGluIHByZXBhcmF0aW9uIGZvciBpdCBpZiBpdCBkb2Vzbid0LgoJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHJlX3B1bGwnLCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddLCAkc2FsZXNmb3JjZV9tYXBwaW5nLCAkb2JqZWN0LCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUsICRwYXJhbXMgKTsKCgkJdHJ5IHsKCgkJCSRvcCAgICAgPSAnVXBkYXRlJzsKCQkJJHJlc3VsdCA9ICR0aGlzLT53b3JkcHJlc3MtPm9iamVjdF91cGRhdGUoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSwgJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSwgJHBhcmFtcywgJG1hcHBpbmdfb2JqZWN0ICk7CgoJCQkkbWFwcGluZ19vYmplY3RbJ2xhc3Rfc3luY19zdGF0dXMnXSAgPSAkdGhpcy0+bWFwcGluZ3MtPnN0YXR1c19zdWNjZXNzOwoJCQkkbWFwcGluZ19vYmplY3RbJ2xhc3Rfc3luY19tZXNzYWdlJ10gPSBlc2NfaHRtbF9fKCAnTWFwcGluZyBvYmplY3QgdXBkYXRlZCB2aWEgZnVuY3Rpb246ICcsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuIF9fRlVOQ1RJT05fXzsKCgkJCSRzdGF0dXMgPSAnc3VjY2Vzcyc7CgkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJfQoKCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCAzKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLCA0KSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUsIDUpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHZhbHVlLCA2KSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIDcpIHRoZSBTYWxlc2ZvcmNlIElkIHZhbHVlLgoJCQkJZXNjX2h0bWxfXyggJyUxJHM6ICUyJHMgV29yZFByZXNzICUzJHMgd2l0aCAlNCRzIG9mICU1JHMgKFNhbGVzZm9yY2UgJTYkcyBJZCBvZiAlNyRzKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKSwKCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddICksCgkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApLAoJCQkJZXNjX2F0dHIoICRvYmplY3RbJ0lkJ10gKQoJCQkpOwoKCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCSdtZXNzYWdlJyA9PiAnJywKCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJJ3BhcmVudCcgID0+ICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10sCgkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJKTsKCgkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgoJCQkvLyBob29rIGZvciBwdWxsIHN1Y2Nlc3MuCgkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9zdWNjZXNzJywgJG9wLCAkcmVzdWx0LCAkc3luY2VkX29iamVjdCApOwoKCQl9IGNhdGNoICggT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uICRlICkgewoJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgdXBkYXRlLgoJCQkkc3RhdHVzID0gJ2Vycm9yJzsKCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQl9CgoJCQkkdGl0bGUgLj0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCAzKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCwgNCkgdGhlIFdvcmRQcmVzcyBpZCBmaWVsZCBuYW1lLCA1KSB0aGUgV29yZFByZXNzIG9iamVjdCBpZCB2YWx1ZSwgNikgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LCA3KSB0aGUgU2FsZXNmb3JjZSBJZCB2YWx1ZS4KCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIFdvcmRQcmVzcyAlMyRzIHdpdGggJTQkcyBvZiAlNSRzIChTYWxlc2ZvcmNlICU2JHMgd2l0aCBJZCBvZiAlNyRzKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKSwKCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddICksCgkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApLAoJCQkJZXNjX2F0dHIoICRvYmplY3RbJ0lkJ10gKQoJCQkpOwoKCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCSdtZXNzYWdlJyA9PiAkZS0+Z2V0TWVzc2FnZSgpLAoJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkncGFyZW50JyAgPT4gJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSwKCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkpOwoKCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCSRtYXBwaW5nX29iamVjdFsnbGFzdF9zeW5jX3N0YXR1cyddICA9ICR0aGlzLT5tYXBwaW5ncy0+c3RhdHVzX2Vycm9yOwoJCQkkbWFwcGluZ19vYmplY3RbJ2xhc3Rfc3luY19tZXNzYWdlJ10gPSAkZS0+Z2V0TWVzc2FnZSgpOwoKCQkJaWYgKCBmYWxzZSA9PT0gJGhvbGRfZXhjZXB0aW9ucyApIHsKCQkJCXRocm93ICRlOwoJCQl9CgkJCWlmICggZW1wdHkoICRleGNlcHRpb24gKSApIHsKCQkJCSRleGNlcHRpb24gPSAkZTsKCQkJfSBlbHNlIHsKCQkJCSRteV9jbGFzcyAgPSBnZXRfY2xhc3MoICRlICk7CgkJCQkkZXhjZXB0aW9uID0gbmV3ICRteV9jbGFzcyggJGUtPmdldE1lc3NhZ2UoKSwgJGUtPmdldENvZGUoKSwgJGV4Y2VwdGlvbiApOwoJCQl9CgoJCQkvLyBob29rIGZvciBwdWxsIGZhaWwuCgkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9mYWlsJywgJG9wLCAkcmVzdWx0LCAkc3luY2VkX29iamVjdCApOwoKCQl9IC8vIEVuZCB0cnkoKSBtZXRob2QuCgoJCS8vIG5lZWQgdG8gbW92ZSB0aGVzZSBpbnRvIHRoZSBzdWNjZXNzIGNoZWNrLgoKCQkvLyBtYXliZSBjYW4gY2hlY2sgdG8gc2VlIGlmIHdlIGFjdHVhbGx5IHVwZGF0ZWQgYW55dGhpbmcgaW4gV29yZFByZXNzCgkJLy8gdGVsbCB0aGUgbWFwcGluZyBvYmplY3QgLSB3aGV0aGVyIGl0IGlzIG5ldyBvciBhbHJlYWR5IGV4aXN0ZWQgLSBob3cgd2UganVzdCB1c2VkIGl0LgoJCSRtYXBwaW5nX29iamVjdFsnbGFzdF9zeW5jX2FjdGlvbiddID0gJ3B1bGwnOwoJCSRtYXBwaW5nX29iamVjdFsnbGFzdF9zeW5jJ10gICAgICAgID0gY3VycmVudF90aW1lKCAnbXlzcWwnICk7CgoJCS8vIHVwZGF0ZSB0aGF0IG1hcHBpbmcgb2JqZWN0LiB0aGUgU2FsZXNmb3JjZSBkYXRhIHZlcnNpb24gd2lsbCBiZSBzZXQgaGVyZSBhcyB3ZWxsIGJlY2F1c2Ugd2Ugc2V0IGl0IGVhcmxpZXIuCgkJJHVwZGF0ZV9vYmplY3RfbWFwID0gJHRoaXMtPm1hcHBpbmdzLT51cGRhdGVfb2JqZWN0X21hcCggJG1hcHBpbmdfb2JqZWN0LCAkbWFwcGluZ19vYmplY3RbJ2lkJ10gKTsKCgkJcmV0dXJuICRyZXN1bHRzOwoKCX0KCgkvKioKCSAqIERlbGV0ZSByZWNvcmRzIGluIFdvcmRQcmVzcyBmcm9tIGEgU2FsZXNmb3JjZSBwdWxsCgkgKgoJICogQHBhcmFtIHN0cmluZyAkc2Zfc3luY190cmlnZ2VyIFRoZSBjdXJyZW50IG9wZXJhdGlvbidzIHRyaWdnZXIuCgkgKiBAcGFyYW0gYXJyYXkgICRzeW5jZWRfb2JqZWN0IENvbWJpbmVkIGRhdGEgZm9yIGZpZWxkbWFwLCBtYXBwaW5nIG9iamVjdCwgYW5kIFNhbGVzZm9yY2Ugb2JqZWN0IGRhdGEuCgkgKiBAcGFyYW0gc3RyaW5nICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSBUaGUgbmFtZSBvZiB0aGUgSUQgZmllbGQgZm9yIHRoaXMgcGFydGljdWxhciBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUuCgkgKiBAcGFyYW0gaW50ICAgICRzZWNvbmRzIFRpbWVvdXQgZm9yIHRoZSB0cmFuc2llbnQgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gZm9yIGEgc3luYy4KCSAqIEBwYXJhbSBhcnJheSAgJG1hcHBpbmdfb2JqZWN0cyBUaGUgZGF0YSBmb3IgdGhlIG1hcHBpbmcgb2JqZWN0cyBiZXR3ZWVuIHRoZSBpbmRpdmlkdWFsIFNhbGVzZm9yY2UgYW5kIFdvcmRQcmVzcyBpdGVtcy4gV2Ugb25seSBwYXNzIHRoaXMgYmVjYXVzZSBvZiB0aGUgbmVlZCB0byBjb3VudCBiZWZvcmUgZGVsZXRpbmcgcmVjb3Jkcy4KCSAqIEByZXR1cm4gYXJyYXkgJHJlc3VsdHMgQ3VycmVudGx5IHRoaXMgY29udGFpbnMgYW4gYXJyYXkgb2YgbG9nIGVudHJpZXMgZm9yIGVhY2ggYXR0ZW1wdC4KCSAqIEB0aHJvd3MgT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIEV4Y2VwdGlvbiAkZS4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBkZWxldGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSggJHNmX3N5bmNfdHJpZ2dlciwgJHN5bmNlZF9vYmplY3QsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSwgJHNlY29uZHMsICRtYXBwaW5nX29iamVjdHMgKSB7CgoJCSRzYWxlc2ZvcmNlX21hcHBpbmcgPSAkc3luY2VkX29iamVjdFsnbWFwcGluZyddOwoJCSRtYXBwaW5nX29iamVjdCAgICAgPSAkc3luY2VkX29iamVjdFsnbWFwcGluZ19vYmplY3QnXTsKCgkJLy8gbWV0aG9kcyB0byBydW4gdGhlIHdwIGRlbGV0ZSBvcGVyYXRpb25zLgoJCSRyZXN1bHRzID0gYXJyYXkoKTsKCQkkb3AgICAgICA9ICcnOwoKCQkvLyBkZWxldGluZyBtYXBwZWQgb2JqZWN0cy4KCQlpZiAoICRzZl9zeW5jX3RyaWdnZXIgPT09ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9kZWxldGUgKSB7IC8vIHRyaWdnZXIgaXMgYSBiaXQgb3BlcmF0b3IuCgkJCWlmICggaXNzZXQoICRtYXBwaW5nX29iamVjdFsnaWQnXSApICkgewoKCQkJCSRvcCA9ICdEZWxldGUnOwoKCQkJCS8vIG9ubHkgZGVsZXRlIGlmIHRoZXJlIGFyZSBubyBhZGRpdGlvbmFsIG1hcHBpbmcgb2JqZWN0cyBmb3IgdGhpcyByZWNvcmQuCgkJCQlpZiAoIDEgPT09IGNvdW50KCAkbWFwcGluZ19vYmplY3RzICkgKSB7CgoJCQkJCSR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPnNldCggJ3NhbGVzZm9yY2VfcHVsbGluZ18nIC4gJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10sICcnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAxLCAkc2Vjb25kcyApOwoJCQkJCSR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPnNldCggJ3NhbGVzZm9yY2VfcHVsbGluZ19vYmplY3RfaWQnLCAnJywgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gKTsKCgkJCQkJdHJ5IHsKCQkJCQkJJHJlc3VsdCA9ICR0aGlzLT53b3JkcHJlc3MtPm9iamVjdF9kZWxldGUoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSwgJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSApOwoJCQkJCX0gY2F0Y2ggKCBPYmplY3RfU3luY19TZl9FeGNlcHRpb24gJGUgKSB7CgkJCQkJCSRzdGF0dXMgPSAnZXJyb3InOwoJCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgZGVsZXRlLgoJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCX0KCgkJCQkJCSR0aXRsZSA9IHNwcmludGYoCgkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMsIDIpIHdoYXQgb3BlcmF0aW9uIGlzIGhhcHBlbmluZywgMykgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QgdHlwZSwgNCkgdGhlIFdvcmRQcmVzcyBpZCBmaWVsZCBuYW1lLCA1KSB0aGUgV29yZFByZXNzIG9iamVjdCBpZCB2YWx1ZSwgNikgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LCA3KSB0aGUgU2FsZXNmb3JjZSBJZCB2YWx1ZS4KCQkJCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIFdvcmRQcmVzcyAlMyRzIHdpdGggJTQkcyBvZiAlNSRzICglNiRzICU3JHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApLAoJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10gKSwKCQkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gKQoJCQkJCQkpOwoKCQkJCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCSdtZXNzYWdlJyA9PiAkZS0+Z2V0TWVzc2FnZSgpLAoJCQkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCQkncGFyZW50JyAgPT4gJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSwKCQkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCQkpOwoKCQkJCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCQkJCWlmICggZmFsc2UgPT09ICRob2xkX2V4Y2VwdGlvbnMgKSB7CgkJCQkJCQl0aHJvdyAkZTsKCQkJCQkJfQoJCQkJCQlpZiAoIGVtcHR5KCAkZXhjZXB0aW9uICkgKSB7CgkJCQkJCQkkZXhjZXB0aW9uID0gJGU7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQkkbXlfY2xhc3MgID0gZ2V0X2NsYXNzKCAkZSApOwoJCQkJCQkJJGV4Y2VwdGlvbiA9IG5ldyAkbXlfY2xhc3MoICRlLT5nZXRNZXNzYWdlKCksICRlLT5nZXRDb2RlKCksICRleGNlcHRpb24gKTsKCQkJCQkJfQoKCQkJCQkJLy8gaG9vayBmb3IgcHVsbCBmYWlsLgoJCQkJCQlkb19hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfZmFpbCcsICRvcCwgJHJlc3VsdCwgJHN5bmNlZF9vYmplY3QgKTsKCgkJCQkJfSAvLyBFbmQgdHJ5KCkgbWV0aG9kLgoKCQkJCQlpZiAoICEgaXNzZXQoICRlICkgKSB7CgkJCQkJCS8vIGNyZWF0ZSBsb2cgZW50cnkgZm9yIHN1Y2Nlc3NmdWwgZGVsZXRlIGlmIHRoZSByZXN1bHQgaGFkIG5vIGVycm9ycy4KCQkJCQkJJHN0YXR1cyA9ICdzdWNjZXNzJzsKCQkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCQl9CgoJCQkJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIDMpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUsIDQpIHRoZSBXb3JkUHJlc3MgaWQgZmllbGQgbmFtZSwgNSkgdGhlIFdvcmRQcmVzcyBvYmplY3QgaWQgdmFsdWUsIDYpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCwgNykgdGhlIFNhbGVzZm9yY2UgSWQgdmFsdWUuCgkJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogJTIkcyBXb3JkUHJlc3MgJTMkcyB3aXRoICU0JHMgb2YgJTUkcyAoJTYkcyAlNyRzKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKSwKCQkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddICksCgkJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApLAoJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddICkKCQkJCQkJKTsKCgkJCQkJCSRyZXN1bHQgPSBhcnJheSgKCQkJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJCQknbWVzc2FnZScgPT4gJycsCgkJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJCSdwYXJlbnQnICA9PiAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddLAoJCQkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkJCSk7CgoJCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCQkJCSRyZXN1bHRzW10gPSAkcmVzdWx0OwoKCQkJCQkJLy8gaG9vayBmb3IgcHVsbCBzdWNjZXNzLgoJCQkJCQlkb19hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfc3VjY2VzcycsICRvcCwgJHJlc3VsdCwgJHN5bmNlZF9vYmplY3QgKTsKCQkJCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudCBpZiBpdCB3YXMgc3VjY2Vzc2Z1bC4KCQkJCX0gZWxzZSB7CgkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgYWRkaXRpb25hbCBtYXBwZWQgaXRlbXMuCgkJCQkJJG1vcmVfaWRzID0gc3ByaW50ZigKCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBhcmFtZXRlciBpcyB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUuCgkJCQkJCSc8cD4nIC4gZXNjX2h0bWxfXyggJ1RoZSBXb3JkUHJlc3MgcmVjb3JkIHdhcyBub3QgZGVsZXRlZCBiZWNhdXNlIHRoZXJlIGFyZSBtdWx0aXBsZSBTYWxlc2ZvcmNlIElEcyB0aGF0IG1hdGNoIHRoaXMgV29yZFByZXNzICUxJHMuKSBUaGV5IGFyZTonLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPicsCgkJCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKQoJCQkJCSk7CgoJCQkJCSRtb3JlX2lkcyAuPSAnPHVsPic7CgkJCQkJZm9yZWFjaCAoICRtYXBwaW5nX29iamVjdHMgYXMgJG1hdGNoICkgewoJCQkJCQkkbW9yZV9pZHMgLj0gJzxsaT4nIC4gJG1hdGNoWydzYWxlc2ZvcmNlX2lkJ10gLiAnPC9saT4nOwoJCQkJCX0KCQkJCQkkbW9yZV9pZHMgLj0gJzwvdWw+JzsKCgkJCQkJJG1vcmVfaWRzIC49ICc8cD4nIC4gZXNjX2h0bWxfXyggJ1RoZSBtYXAgcm93IGJldHdlZW4gdGhpcyBTYWxlc2ZvcmNlIG9iamVjdCBhbmQgdGhlIFdvcmRQcmVzcyBvYmplY3QsIGFzIHN0b3JlZCBpbiB0aGUgV29yZFByZXNzIGRhdGFiYXNlLCB3aWxsIGJlIGRlbGV0ZWQsIGFuZCB0aGlzIFNhbGVzZm9yY2Ugb2JqZWN0IGhhcyBiZWVuIGRlbGV0ZWQsIGJ1dCBXb3JkUHJlc3Mgb2JqZWN0IGRhdGEgd2lsbCByZW1haW4gdW50b3VjaGVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L3A+JzsKCgkJCQkJJHN0YXR1cyA9ICdub3RpY2UnOwoJCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCQl9CgoJCQkJCSR0aXRsZSA9IHNwcmludGYoCgkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgb3BlcmF0aW9uIHRoYXQgaXMgaGFwcGVuaW5nLCAyKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLCAzKSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUsIDQpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHZhbHVlLCA1KSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZSwgNikgdGhlIFNhbGVzZm9yY2UgSWQuCgkJCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIG9uIFdvcmRQcmVzcyAlMyRzIHdpdGggJTQkcyBvZiAlNSRzIHdhcyBzdG9wcGVkIGJlY2F1c2UgdGhlcmUgYXJlIG90aGVyIFdvcmRQcmVzcyByZWNvcmRzIG1hcHBlZCB0byBTYWxlc2ZvcmNlICU2JHMgb2YgJTckcycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCQllc2NfYXR0ciggJG9wICksCgkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApLAoJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSApLAoJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApLAoJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gKQoJCQkJCSk7CgoJCQkJCSRub3RpY2UgPSBhcnJheSgKCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJJ21lc3NhZ2UnID0+ICRtb3JlX2lkcywKCQkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCSdwYXJlbnQnICA9PiAwLAoJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkpOwoKCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRub3RpY2UgKTsKCQkJCX0gLy8gRW5kIGlmKCkgb24gY291bnQKCQkJCS8vIGRlbGV0ZSB0aGUgbWFwIHJvdyBmcm9tIFdvcmRQcmVzcyBhZnRlciB0aGUgV29yZFByZXNzIHJvdyBoYXMgYmVlbiBkZWxldGVkCgkJCQkvLyB3ZSBkZWxldGUgdGhlIG1hcCByb3cgZXZlbiBpZiB0aGUgV29yZFByZXNzIGRlbGV0ZSBmYWlsZWQsIGJlY2F1c2UgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IGlzIGdvbmUuCgkJCQkkdGhpcy0+bWFwcGluZ3MtPmRlbGV0ZV9vYmplY3RfbWFwKCAkbWFwcGluZ19vYmplY3RbJ2lkJ10gKTsKCQkJCS8vIHRoZXJlIGlzIG5vIG1hcCByb3cgaWYgd2UgZW5kIHRoaXMgaWYgc3RhdGVtZW50LgoJCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCgkJcmV0dXJuICRyZXN1bHRzOwoKCX0KCgkvKioKCSAqIENsZWFyIHRoZSBjdXJyZW50bHkgc3RvcmVkIHF1ZXJ5IGZvciB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgdHlwZQoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJHR5cGUgZS5nLiAiQ29udGFjdCIsICJBY2NvdW50IiwgZXRjLgoJICogQHBhcmFtIGludCAgICAkZmllbGRtYXBfaWQgaXMgdGhlIGZpZWxkbWFwIElEIHRoYXQgZ29lcyB3aXRoIHRoaXMgcXVlcnkuCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBjbGVhcl9jdXJyZW50X3R5cGVfcXVlcnkoICR0eXBlLCAkZmllbGRtYXBfaWQgPSAnJyApIHsKCQkvLyB1cGRhdGUgdGhlIGxhc3Qgc3luYyB0aW1lc3RhbXAgZm9yIHRoaXMgY29udGVudCB0eXBlLgoJCSR0aGlzLT5pbmNyZW1lbnRfY3VycmVudF90eXBlX2RhdGV0aW1lKCAkdHlwZSwgJycsICRmaWVsZG1hcF9pZCApOwoJCS8vIGRlbGV0ZSB0aGUgb3B0aW9uIHZhbHVlIGZvciB0aGUgY3VycmVudGx5IHB1bGxpbmcgcXVlcnkgZm9yIHRoaXMgdHlwZS4KCQkkdGhpcy0+cHVsbF9vcHRpb25zLT5kZWxldGUoICdjdXJyZW50X3F1ZXJ5JywgJHR5cGUsICRmaWVsZG1hcF9pZCApOwoJCS8vIGRlbGV0ZSB0aGUgb3B0aW9uIHZhbHVlIGZvciB0aGUgbGFzdCBwdWxsIHJlY29yZCBpZC4KCQkkdGhpcy0+cHVsbF9vcHRpb25zLT5kZWxldGUoICdsYXN0X2lkJywgJycsICRmaWVsZG1hcF9pZCApOwoJfQoKCS8qKgoJICogSW5jcmVtZW50IHRoZSBjdXJyZW50bHkgcnVubmluZyBxdWVyeSdzIGRhdGV0aW1lCgkgKgoJICogQHBhcmFtIHN0cmluZyAgICAkdHlwZSBlLmcuICJDb250YWN0IiwgIkFjY291bnQiLCBldGMuCgkgKiBAcGFyYW0gdGltZXN0YW1wICRuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUgdGhlIGxhc3QgcmVjb3JkJ3MgbW9kaWZpZWQgZGF0ZXRpbWUsIG9yIHRoZSBjdXJyZW50IHRpbWUgaWYgdGhlcmUgaXNuJ3Qgb25lLgoJICogQHBhcmFtIGludCAgICAgICAkZmllbGRtYXBfaWQgaXMgdGhlIGZpZWxkbWFwIElEIHRoYXQgZ29lcyB3aXRoIHRoaXMgcXVlcnkuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gaW5jcmVtZW50X2N1cnJlbnRfdHlwZV9kYXRldGltZSggJHR5cGUsICRuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUgPSAnJywgJGZpZWxkbWFwX2lkID0gJycgKSB7CgkJLy8gdXBkYXRlIHRoZSBsYXN0IHN5bmMgdGltZXN0YW1wIGZvciB0aGlzIGNvbnRlbnQgdHlwZS4KCQlpZiAoICcnID09PSAkbmV4dF9xdWVyeV9tb2RpZmllZF9kYXRlICkgewoJCQkkbmV4dF9xdWVyeV9tb2RpZmllZF9kYXRlID0gdGltZSgpOwoJCX0gZWxzZSB7CgkJCSRuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUgPSBzdHJ0b3RpbWUoICRuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUgKTsKCQl9CgkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+c2V0KCAnbGFzdF9zeW5jJywgJHR5cGUsICRmaWVsZG1hcF9pZCwgJG5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSApOwoJfQoKCS8qKgoJICogQ3JlYXRlIGFuIG9iamVjdCBtYXAgYmV0d2VlbiBhIFNhbGVzZm9yY2Ugb2JqZWN0IGFuZCBhIFdvcmRQcmVzcyBvYmplY3QKCSAqCgkgKiBAcGFyYW0gYXJyYXkgICRzYWxlc2ZvcmNlX29iamVjdCBBcnJheSBvZiB0aGUgc2FsZXNmb3JjZSBvYmplY3QncyBkYXRhLgoJICogQHBhcmFtIHN0cmluZyAkd29yZHByZXNzX2lkIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgV29yZFByZXNzIG9iamVjdC4KCSAqIEBwYXJhbSBhcnJheSAgJGZpZWxkX21hcHBpbmcgVGhlIHJvdyB0aGF0IG1hcHMgdGhlIG9iamVjdCB0eXBlcyB0b2dldGhlciwgaW5jbHVkaW5nIHdoaWNoIGZpZWxkcyBtYXRjaCB3aGljaCBvdGhlciBmaWVsZHMuCgkgKiBAcmV0dXJuIGludCAkd3BkYi0+aW5zZXJ0X2lkIFRoaXMgaXMgdGhlIGRhdGFiYXNlIHJvdyBmb3IgdGhlIG1hcCBvYmplY3QKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVfb2JqZWN0X21hcCggJHNhbGVzZm9yY2Vfb2JqZWN0LCAkd29yZHByZXNzX2lkLCAkZmllbGRfbWFwcGluZyApIHsKCQkvLyBDcmVhdGUgb2JqZWN0IG1hcCBhbmQgc2F2ZSBpdC4KCQkkbWFwcGluZ19vYmplY3QgPSAkdGhpcy0+bWFwcGluZ3MtPmNyZWF0ZV9vYmplY3RfbWFwKAoJCQlhcnJheSgKCQkJCSd3b3JkcHJlc3NfaWQnICAgICAgPT4gJHdvcmRwcmVzc19pZCwgLy8gV29yZFByZXNzIHVuaXF1ZSBpZC4KCQkJCSdzYWxlc2ZvcmNlX2lkJyAgICAgPT4gJHNhbGVzZm9yY2Vfb2JqZWN0WydJZCddLCAvLyBTYWxlc2ZvcmNlIHVuaXF1ZSBpZC4gd2UgZG9uJ3QgY2FyZSB3aGF0IGtpbmQgb2Ygb2JqZWN0IGl0IGlzIGF0IHRoaXMgcG9pbnQuCgkJCQknd29yZHByZXNzX29iamVjdCcgID0+ICRmaWVsZF9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10sIC8vIGtlZXAgdHJhY2sgb2Ygd2hhdCBraW5kIG9mIFdvcmRQcmVzcyBvYmplY3QgdGhpcyBpcy4KCQkJCSdsYXN0X3N5bmMnICAgICAgICAgPT4gY3VycmVudF90aW1lKCAnbXlzcWwnICksCgkJCQknbGFzdF9zeW5jX2FjdGlvbicgID0+ICdwdWxsJywKCQkJCSdsYXN0X3N5bmNfc3RhdHVzJyAgPT4gJHRoaXMtPm1hcHBpbmdzLT5zdGF0dXNfc3VjY2VzcywKCQkJCSdsYXN0X3N5bmNfbWVzc2FnZScgPT4gZXNjX2h0bWxfXyggJ01hcHBpbmcgb2JqZWN0IGNyZWF0ZWQgdmlhIGZ1bmN0aW9uOiAnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiBfX0ZVTkNUSU9OX18sCgkJCQknYWN0aW9uJyAgICAgICAgICAgID0+ICdjcmVhdGVkJywKCQkJKQoJCSk7CgoJCXJldHVybiAkbWFwcGluZ19vYmplY3Q7CgoJfQoKCS8qKgoJICogRmluZCBvdXQgaWYgcHVsbCBpcyBhbGxvd2VkIGZvciB0aGlzIHJlY29yZAoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJG9iamVjdF90eXBlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuCgkgKiBAcGFyYW0gYXJyYXkgICRvYmplY3QgQXJyYXkgb2YgdGhlIHNhbGVzZm9yY2Ugb2JqZWN0J3MgZGF0YS4KCSAqIEBwYXJhbSBzdHJpbmcgJHNmX3N5bmNfdHJpZ2dlciBUaGUgY3VycmVudCBvcGVyYXRpb24ncyB0cmlnZ2VyLgoJICogQHBhcmFtIGFycmF5ICAkc2FsZXNmb3JjZV9tYXBwaW5nIHRoZSBmaWVsZG1hcCB0aGF0IG1hcHMgdGhlIHR3byBvYmplY3QgdHlwZXMuCgkgKiBAcGFyYW0gYXJyYXkgICRtYXBfc3luY190cmlnZ2VycyB0aGUgdHJpZ2dlcnMgdGhhdCBhcmUgZW5hYmxlZC4KCSAqIEByZXR1cm4gYm9vbCAkcHVsbF9hbGxvd2VkIFdoZXRoZXIgYWxsIHRoaXMgc3R1ZmYgYWxsb3dzIHRoZSAkcmVzdWx0IHRvIGJlIHB1bGxlZCBpbnRvIFdvcmRQcmVzcwoJICovCglwcml2YXRlIGZ1bmN0aW9uIGlzX3B1bGxfYWxsb3dlZCggJG9iamVjdF90eXBlLCAkb2JqZWN0LCAkc2Zfc3luY190cmlnZ2VyLCAkc2FsZXNmb3JjZV9tYXBwaW5nLCAkbWFwX3N5bmNfdHJpZ2dlcnMgKSB7CgoJCS8vIGRlZmF1bHQgaXMgcHVsbCBpcyBhbGxvd2VkLgoJCSRwdWxsX2FsbG93ZWQgPSB0cnVlOwoKCQkvLyBpZiB0aGUgY3VycmVudCBmaWVsZG1hcCBkb2VzIG5vdCBhbGxvdyBjcmVhdGUsIHdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlcmUgaXMgYW4gb2JqZWN0IG1hcCBmb3IgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IElkLiBpZiBub3QsIHNldCBwdWxsX2FsbG93ZWQgdG8gZmFsc2UuCgkJaWYgKCAhIGluX2FycmF5KCAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfY3JlYXRlLCAkbWFwX3N5bmNfdHJpZ2dlcnMsIHRydWUgKSApIHsKCQkJJG9iamVjdF9tYXAgPSAkdGhpcy0+bWFwcGluZ3MtPmxvYWRfb2JqZWN0X21hcHNfYnlfc2FsZXNmb3JjZV9pZCggJG9iamVjdFsnSWQnXSwgJHNhbGVzZm9yY2VfbWFwcGluZyApOwoJCQlpZiAoIGVtcHR5KCAkb2JqZWN0X21hcCApICkgewoJCQkJJHB1bGxfYWxsb3dlZCA9IGZhbHNlOwoJCQl9CgkJfQoKCQkvLyBIb29rIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gcHJldmVudCBhIHB1bGwgcGVyLW1hcHBpbmcuCgkJLy8gUHV0dGluZyB0aGUgcHVsbF9hbGxvd2VkIGhvb2sgaGVyZSB3aWxsIGtlZXAgdGhlIHF1ZXVlIGZyb20gc3RvcmluZyBkYXRhIHdoZW4gaXQgaXMgbm90IHN1cHBvc2VkIHRvIHN0b3JlIGl0LgoJCSRwdWxsX2FsbG93ZWQgPSBhcHBseV9maWx0ZXJzKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX29iamVjdF9hbGxvd2VkJywgJHB1bGxfYWxsb3dlZCwgJG9iamVjdF90eXBlLCAkb2JqZWN0LCAkc2Zfc3luY190cmlnZ2VyLCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgoJCS8vIGV4YW1wbGUgdG8ga2VlcCBmcm9tIHB1bGxpbmcgdGhlIENvbnRhY3Qgd2l0aCBpZCBvZiBhYmNkZWYuCgkJLyogLy8gcGhwY3M6aWdub3JlIFNxdWl6LlBIUC5Db21tZW50ZWRPdXRDb2RlLkZvdW5kCgkJYWRkX2ZpbHRlciggJ29iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlX3B1bGxfb2JqZWN0X2FsbG93ZWQnLCAnY2hlY2tfdXNlcicsIDEwLCA1ICk7CgkJLy8gY2FuIGFsd2F5cyByZWR1Y2UgdGhpcyBudW1iZXIgaWYgYWxsIHRoZSBhcmd1bWVudHMgYXJlIG5vdCBuZWNlc3NhcnkKCQlmdW5jdGlvbiBjaGVja191c2VyKCAkcHVsbF9hbGxvd2VkLCAkb2JqZWN0X3R5cGUsICRvYmplY3QsICRzZl9zeW5jX3RyaWdnZXIsICRzYWxlc2ZvcmNlX21hcHBpbmcgKSB7CgkJCWlmICggJ0NvbnRhY3QnID09PSAkb2JqZWN0X3R5cGUgJiYgJ2FiY2RlZicgPT09ICRvYmplY3RbJ0lkJ10gKSB7CgkJCQkkcHVsbF9hbGxvd2VkID0gZmFsc2U7CgkJCX0KCQkJcmV0dXJuICRwdWxsX2FsbG93ZWQ7CgkJfQoJCSovCgoJCXJldHVybiAkcHVsbF9hbGxvd2VkOwoJfQoKfQoiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YTowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNsYXNzZXMiO2E6MTp7czozMToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbCI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18iOjExOntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozMToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjMwOiJPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjM3OiJPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwgY2xhc3MuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcGFyZW50IjtOO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBpbXBsZW1lbnRzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AY29uc3RhbnRzIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YToyMDp7czo0MToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHZlcnNpb24iO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDE6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiR2ZXJzaW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NzoidmVyc2lvbiI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyOToiQ3VycmVudCB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6Mzg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRmaWxlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM4OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokZmlsZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjQ6ImZpbGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MjA6IlRoZSBtYWluIHBsdWdpbiBmaWxlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjM4OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokd3BkYiI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozODoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHdwZGIiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJ3cGRiIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQ4OiJHbG9iYWwgb2JqZWN0IG9mIGAkd3BkYmAsIHRoZSBXb3JkUHJlc3MgZGF0YWJhc2UiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjM4OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokc2x1ZyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozODoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHNsdWciO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJzbHVnIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjUzOiJUaGUgcGx1Z2luJ3Mgc2x1ZyBzbyB3ZSBjYW4gaW5jbHVkZSBpdCB3aGVuIG5lY2Vzc2FyeSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0NzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG9wdGlvbl9wcmVmaXgiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDc6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRvcHRpb25fcHJlZml4IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTM6Im9wdGlvbl9wcmVmaXgiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTU6IlRoZSBwbHVnaW4ncyBwcmVmaXggd2hlbiBzYXZpbmcgb3B0aW9ucyB0byB0aGUgZGF0YWJhc2UiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NTE6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRsb2dpbl9jcmVkZW50aWFscyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGxvZ2luX2NyZWRlbnRpYWxzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTc6ImxvZ2luX2NyZWRlbnRpYWxzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjkwOiJMb2dpbiBjcmVkZW50aWFscyBmb3IgdGhlIFNhbGVzZm9yY2UgQVBJOyBjb21lcyBmcm9tIHdwLWNvbmZpZyBvciBmcm9tIHRoZSBwbHVnaW4gc2V0dGluZ3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjUxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1NjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokc2NoZWR1bGFibGVfY2xhc3NlcyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHNjaGVkdWxhYmxlX2NsYXNzZXMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToic2NoZWR1bGFibGVfY2xhc3NlcyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo4MzoiQXJyYXkgb2Ygd2hhdCBjbGFzc2VzIGluIHRoZSBwbHVnaW4gY2FuIGJlIHNjaGVkdWxlZCB0byBvY2N1ciB3aXRoIGB3cF9jcm9uYCBldmVudHMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjU4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo2MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjM5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokcXVldWUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRxdWV1ZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjU6InF1ZXVlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI2OiJPYmplY3RfU3luY19TZl9RdWV1ZSBjbGFzcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtOO31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjcwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDE6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRsb2dnaW5nIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQxOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbG9nZ2luZyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6ImxvZ2dpbmciO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mjg6Ik9iamVjdF9TeW5jX1NmX0xvZ2dpbmcgY2xhc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjcyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQyOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbWFwcGluZ3MiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDI6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRtYXBwaW5ncyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjg6Im1hcHBpbmdzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI4OiJPYmplY3RfU3luY19TZl9NYXBwaW5nIGNsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHdvcmRwcmVzcyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHdvcmRwcmVzcyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjk6IndvcmRwcmVzcyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozMDoiT2JqZWN0X1N5bmNfU2ZfV29yZFByZXNzIGNsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4NjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0NDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHNhbGVzZm9yY2UiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRzYWxlc2ZvcmNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTA6InNhbGVzZm9yY2UiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Njg6Ik9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2UgY2xhc3MKVGhpcyBjb250YWlucyBTYWxlc2ZvcmNlIEFQSSBtZXRob2RzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo5MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHB1bGxfb3B0aW9ucyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHB1bGxfb3B0aW9ucyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEyOiJwdWxsX29wdGlvbnMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzM6Ik9iamVjdF9TeW5jX1NmX1B1bGxfT3B0aW9ucyBjbGFzcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtOO31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTAxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMDY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHN5bmNfdHJhbnNpZW50cyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHN5bmNfdHJhbnNpZW50cyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJzeW5jX3RyYW5zaWVudHMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzY6Ik9iamVjdF9TeW5jX1NmX1N5bmNfVHJhbnNpZW50cyBjbGFzcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtOO31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTA4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMTM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0NzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHNjaGVkdWxlX25hbWUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDc6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRzY2hlZHVsZV9uYW1lIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTM6InNjaGVkdWxlX25hbWUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mzc6IlRoZSBuYW1lIG9mIHRoZSBBY3Rpb25TY2hlZHVsZXIgcXVldWUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTE1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo1MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGJhdGNoX3NvcWxfcXVlcmllcyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGJhdGNoX3NvcWxfcXVlcmllcyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE4OiJiYXRjaF9zb3FsX3F1ZXJpZXMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mjk6IldoZXRoZXIgdG8gYmF0Y2ggU09RTCBxdWVyaWVzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyNztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbWluX3NvcWxfYmF0Y2hfc2l6ZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG1pbl9zb3FsX2JhdGNoX3NpemUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToibWluX3NvcWxfYmF0Y2hfc2l6ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyODoiTWluaW11bSBzaXplIG9mIGEgU09RTCBiYXRjaCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMzQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0NzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG1heF9zb3FsX3NpemUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDc6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRtYXhfc29xbF9zaXplIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTM6Im1heF9zb3FsX3NpemUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mjg6Ik1heGltdW0gc2l6ZSBvZiBhIFNPUUwgYmF0Y2giO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTM2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTQxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NTY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRtZXJnZWFibGVfcmVjb3JkX3R5cGVzIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbWVyZ2VhYmxlX3JlY29yZF90eXBlcyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIyOiJtZXJnZWFibGVfcmVjb3JkX3R5cGVzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQ2OiJUeXBlcyBvZiBTYWxlc2ZvcmNlIHJlY29yZHMgdGhhdCBjYW4gYmUgbWVyZ2VkIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNDM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE0ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjM5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokZGVidWciO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRkZWJ1ZyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjU6ImRlYnVnIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjM1OiJXaGV0aGVyIHRoZSBwbHVnaW4gaXMgaW4gZGVidWcgbW9kZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNTA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE1NTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO319czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGhvZHMiO2E6Mjc6e3M6NDY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6Ol9fY29uc3RydWN0KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI2OiJDb25zdHJ1Y3RvciBmb3IgcHVsbCBjbGFzcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTU3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpfX2NvbnN0cnVjdCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6Il9fY29uc3RydWN0Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpiYXRjaF9zb3FsX3F1ZXJpZXMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTQ6IldoZXRoZXIgdG8gdXNlIHRoZSBiYXRjaFNpemUgcGFyYW1ldGVyIG9uIFNPUUwgcXVlcmllcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToyOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTg6ImJhdGNoX3NvcWxfcXVlcmllcyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyOToid2hldGhlciB0byBiYXRjaCB0aGUgcXVlcmllcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE5OiIkYmF0Y2hfc29xbF9xdWVyaWVzIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIwMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6YmF0Y2hfc29xbF9xdWVyaWVzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiYmF0Y2hfc29xbF9xdWVyaWVzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxODoiYmF0Y2hfc29xbF9xdWVyaWVzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjA4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmFkZF9hY3Rpb25zKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjE3NDoiQ3JlYXRlIHRoZSBhY3Rpb24gaG9va3MgYmFzZWQgb24gd2hhdCBvYmplY3QgbWFwcyBleGlzdCBmcm9tIHRoZSBhZG1pbiBzZXR0aW5ncwpyb3V0ZSBpcyBodHRwOi8vZXhhbXBsZS5jb20vd3AtanNvbi9zYWxlc2ZvcmNlLXJlc3QtYXBpL3B1bGwvIHBsdXMgcGFyYW1zIHdlIGRlY2lkZSB0byBhY2NlcHQuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMTg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmFkZF9hY3Rpb25zKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiYWRkX2FjdGlvbnMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjIyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmRlcHJlY2F0ZWRfYWN0aW9ucygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxODoiRGVwcmVjYXRlZCBhY3Rpb25zIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMzI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmRlcHJlY2F0ZWRfYWN0aW9ucygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTg6ImRlcHJlY2F0ZWRfYWN0aW9ucyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMzU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo2MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6ZGVwcmVjYXRlZF9wdWxsX29wdGlvbl9uYW1lcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo2NToiTW9kaWZ5IGxlZ2FjeSBuYW1lZCBpbmRpdmlkdWFsIG9wdGlvbiByZWNvcmRzIGZvciBzeW5jIG9wZXJhdGlvbnMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NDp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjM6ImtleSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMjoidGhlIHBsdWdpbidzIHN1Z2dlc3RlZCBrZXkgbmFtZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NjoicGFyYW1zIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0MDoidGhlIGFycmF5IG9mIHBhcmFtZXRlcnMgdG8gbWFrZSB0aGUga2V5LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo1MDoiJHZhbHVlIHRoZSB2YWx1ZSBvZiB0aGUgaXRlbS4gRmFsc2UgaWYgaXQncyBlbXB0eS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0OToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcRGVwcmVjYXRlZCI6Mzp7czo3OiIAKgBuYW1lIjtzOjEwOiJkZXByZWNhdGVkIjtzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcRGVwcmVjYXRlZAB2ZXJzaW9uIjtOO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjkyOiJ0aGlzIHdhcyBhZGRlZCBpbiAyLjEuMCB0byB1cGdyYWRlIG9sZCBvcHRpb24ga2V5cywgYnV0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNDA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmRlcHJlY2F0ZWRfcHVsbF9vcHRpb25fbmFtZXMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI4OiJkZXByZWNhdGVkX3B1bGxfb3B0aW9uX25hbWVzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjM6ImtleSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6InBhcmFtcyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI0ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjU4OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpzYWxlc2ZvcmNlX3B1bGxfd2ViaG9vaygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxNjE6IlJFU1QgQVBJIGNhbGxiYWNrIGZvciBzYWxlc2ZvcmNlIHB1bGwuIFJldHVybnMgc3RhdHVzIG9mIDIwMCBmb3Igc3VjY2Vzc2Z1bAphdHRlbXB0IG9yIDQwMyBmb3IgYSBmYWlsZWQgcHVsbCBhdHRlbXB0IChTRiBub3QgYXV0aG9yaXplZCwgdGhyZXNoaG9sZApyZWFjaGVkLCBldGMuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo3OiJyZXF1ZXN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjE2OiJcV1BfUkVTVF9SZXF1ZXN0IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6IldQX1JFU1RfUmVxdWVzdCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjY2OiJUaGlzIGlzIGEgbWVyZ2VkIG9iamVjdCBvZiBhbGwgdGhlIGFyZ3VtZW50cyBmcm9tIHRoZSBBUEkgcmVxdWVzdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMjoiY29kZTogMjAxCmRhdGE6CiAgc3VjY2VzcyA6IHRydWUiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjYwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU4OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpzYWxlc2ZvcmNlX3B1bGxfd2ViaG9vaygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjM6InNhbGVzZm9yY2VfcHVsbF93ZWJob29rIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6InJlcXVlc3QiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoxNjoiXFdQX1JFU1RfUmVxdWVzdCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJXUF9SRVNUX1JlcXVlc3QiO319czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjcxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTA6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnNhbGVzZm9yY2VfcHVsbCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo2NToiQ2FsbGJhY2sgZm9yIHRoZSBzdGFuZGFyZCBwdWxsIHByb2Nlc3MgdXNlZCBieSB3ZWJob29rcyBhbmQgY3Jvbi4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMwMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6c2FsZXNmb3JjZV9wdWxsKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToic2FsZXNmb3JjZV9wdWxsIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMwNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQ5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpjaGVja190aHJvdHRsZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo2NjoiRGV0ZXJtaW5lcyBpZiB0aGUgU2FsZXNmb3JjZSBwdWxsIHNob3VsZCBiZSBhbGxvd2VkLCBvciB0aHJvdHRsZWQuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjU0OiJQcmV2ZW50cyB0b28gbWFueSBwdWxsIHByb2Nlc3NlcyBmcm9tIHJ1bm5pbmcgYXQgb25jZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjY4OiJSZXR1cm5zIGZhbHNlIGlmIHRoZSB0aW1lIGVsYXBzZWQgYmV0d2VlbiByZWNlbnQgcHVsbHMgaXMgdG9vIHNob3J0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMjM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmNoZWNrX3Rocm90dGxlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNDoiY2hlY2tfdGhyb3R0bGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMyOTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjU0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfdXBkYXRlZF9yZWNvcmRzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjY1OiJQdWxsIHVwZGF0ZWQgcmVjb3JkcyBmcm9tIFNhbGVzZm9yY2UgYW5kIHBsYWNlIHRoZW0gaW4gdGhlIHF1ZXVlLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMTk6IkV4ZWN1dGVzIGEgU09RTCBxdWVyeSBiYXNlZCBvbiBkZWZpbmVkIG1hcHBpbmdzLCBsb29wcyB0aHJvdWdoIHRoZSByZXN1bHRzLAphbmQgcGxhY2VzIGVhY2ggdXBkYXRlZCBTRiBvYmplY3QgaW50byB0aGUgcXVldWUgZm9yIGxhdGVyIHByb2Nlc3NpbmcuCldlIGNvcHkgdGhlIGNvbnZlbnRpb24gZnJvbSB0aGUgRHJ1cGFsIG1vZHVsZSBoZXJlLCBhbmQgcnVuIGEgc2VwYXJhdGUgU09RTCBxdWVyeSBmb3IgZWFjaCB0eXBlIG9mIG9iamVjdCBpbiBTRgpJZiB3ZSByZXR1cm4gc29tZXRoaW5nIGhlcmUsIGl0J3MgYmVjYXVzZSB0aGVyZSBpcyBhbiBlcnJvci4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzQwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfdXBkYXRlZF9yZWNvcmRzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiZ2V0X3VwZGF0ZWRfcmVjb3JkcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzQ3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9uZXh0X3JlY29yZF9iYXRjaCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyMDc6IlB1bGwgdGhlIG5leHQgYmF0Y2ggb2YgcmVjb3JkcyBmcm9tIHRoZSBTYWxlc2ZvcmNlIEFQSSwgaWYgYXBwbGljYWJsZQpFeGVjdXRlcyBhIG5leHRSZWNvcmRzVXJsIFNPUUwgcXVlcnkgYmFzZWQgb24gdGhlIHByZXZpb3VzIHJlc3VsdCwKYW5kIHBsYWNlcyBlYWNoIHVwZGF0ZWQgU0Ygb2JqZWN0IGludG8gdGhlIHF1ZXVlIGZvciBsYXRlciBwcm9jZXNzaW5nLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo3OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6OToibGFzdF9zeW5jIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjk6IlxkYXRldGltZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjg6ImRhdGV0aW1lIjt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjQ6IndoZW4gaXQgd2FzIGxhc3Qgc3luY2VkLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxODoic2FsZXNmb3JjZV9tYXBwaW5nIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMzoidGhlIGZpZWxkbWFwLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxNzoibWFwX3N5bmNfdHJpZ2dlcnMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI4OiJ0aGUgc3luYyB0cmlnZ2VyIGJpdCB2YWx1ZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjc6InRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMjoidmVyc2lvbl9wYXRoIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQwOiJ0aGUgQVBJIHBhdGggZm9yIHRoZSBTYWxlc2ZvcmNlIHZlcnNpb24uIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo1O086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJxdWVyeV9vcHRpb25zIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMzoidGhlIFNPUUwgcXVlcnkgb3B0aW9ucy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjY7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6ODoicmVzcG9uc2UiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjIyOiJ0aGUgcHJldmlvdXMgcmVzcG9uc2UuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjY3NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X25leHRfcmVjb3JkX2JhdGNoKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMToiZ2V0X25leHRfcmVjb3JkX2JhdGNoIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTo3OntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo5OiJsYXN0X3N5bmMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxODoic2FsZXNmb3JjZV9tYXBwaW5nIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTc6Im1hcF9zeW5jX3RyaWdnZXJzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTozO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoidHlwZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6NDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEyOiJ2ZXJzaW9uX3BhdGgiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjU7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMzoicXVlcnlfb3B0aW9ucyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6NjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6InJlc3BvbnNlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Njg3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmNoZWNrX29mZnNldF9xdWVyeSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxMjI6IkdldCB0aGUgbmV4dCBvZmZzZXQgcXVlcnkuIElmIGNoZWNrIGlzIHRydWUsIG9ubHkgc2VlIGlmIHRoYXQgcXVlcnkgd291bGQgaGF2ZSByZXN1bHRzLiBPdGhlcndpc2UsIHJldHVybiB0aGUgU09RTCBvYmplY3QuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjU3OiJXaGVuIGJhdGNoU2l6ZSBpcyBub3QgaW4gdXNlLCBydW4gYSBjaGVjayB3aXRoIGFuIG9mZnNldC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo0OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoidHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNzoidGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI5OiJ0aGUgbWFwIGJldHdlZW4gb2JqZWN0IHR5cGVzLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMzoicXVlcnlfb3B0aW9ucyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6InRoZSBvcHRpb25zIGZvciB0aGUgU09RTCBxdWVyeS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozNjoiJHNvcWx8JGRvZXNfbmV4dF9vZmZzZXRfaGF2ZV9yZXN1bHRzIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjczNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2hlY2tfb2Zmc2V0X3F1ZXJ5KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiY2hlY2tfb2Zmc2V0X3F1ZXJ5Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTg6InNhbGVzZm9yY2VfbWFwcGluZyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJxdWVyeV9vcHRpb25zIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzQ0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9wdWxsX3F1ZXJ5KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjExMDoiR2l2ZW4gYSBTT2JqZWN0IHR5cGUgbmFtZSwgYnVpbGQgYW4gU09RTCBxdWVyeSB0byBpbmNsdWRlIGFsbCBmaWVsZHMgZm9yIGFsbApmaWVsZG1hcHMgbWFwcGVkIHRvIHRoYXQgU09iamVjdC4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NTp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTg6InNhbGVzZm9yY2VfbWFwcGluZyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDQ6InRoZSBmaWVsZG1hcCB0aGF0IG1hcHMgdGhlIHR3byBvYmplY3QgdHlwZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9TZWxlY3RfUXVlcnkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czozODoiT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9TZWxlY3RfUXVlcnkiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTQ6Im9yIG51bGwgaWYgbm8gbWFwcGluZ3Mgb3Igbm8gbWFwcGVkIGZpZWxkcyB3ZXJlIGZvdW5kLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MztPOjQyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xTZWUiOjM6e3M6NzoiACoAbmFtZSI7czozOiJzZWUiO3M6OToiACoAcmVmZXJzIjtPOjU0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcRnFzZW4iOjE6e3M6NjE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcRnFzZW4AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MjoiXE9iamVjdF9TeW5jX1NmX01hcHBpbmc6OmdldF9tYXBwZWRfZmllbGRzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTc6ImdldF9tYXBwZWRfZmllbGRzIjt9fXM6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO31pOjQ7Tzo0MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlIjozOntzOjc6IgAqAG5hbWUiO3M6Mzoic2VlIjtzOjk6IgAqAHJlZmVycyI7Tzo1NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuIjoxOntzOjYxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDg6IlxPYmplY3RfU3luY19TZl9NYXBwaW5nOjpnZXRfbWFwcGVkX3JlY29yZF90eXBlcyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIzOiJnZXRfbWFwcGVkX3JlY29yZF90eXBlcyI7fX1zOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tjt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc2OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X3B1bGxfcXVlcnkoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE0OiJnZXRfcHVsbF9xdWVyeSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoidHlwZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjc6ImFycmF5KCkiO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3Nzk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X3B1bGxfb2Zmc2V0KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQ2OiJEZXRlcm1pbmUgdGhlIG9mZnNldCBmb3IgdGhlIFNPUUwgcXVlcnkgdG8gcnVuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJ0eXBlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMxOiJlLmcuICJDb250YWN0IiwgIkFjY291bnQiLCBldGMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InNvcWwiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtOO31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE2OiJ0aGUgU09RTCBvYmplY3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjU6InJlc2V0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI4OiJ3aGV0aGVyIHRvIHJlc2V0IHRoZSBvZmZzZXQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjkwNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X3B1bGxfb2Zmc2V0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToiZ2V0X3B1bGxfb2Zmc2V0Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoic29xbCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjU6InJlc2V0IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7czo1OiJmYWxzZSI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjkxMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjU0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9kYXRlX3ZhbHVlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjEzODoiR2l2ZW4gYSBTT2JqZWN0IHR5cGUgbmFtZSwgZGV0ZXJtaW5lIHRoZSBkYXRldGltZSB2YWx1ZSB0aGUgU09RTCBvYmplY3Qgc2hvdWxkIHVzZSB0byBmaWx0ZXIgcmVzdWx0cy4gT2Z0ZW4gdGhpcyB3aWxsIGJlIExhc3RNb2RpZmllZERhdGUuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjQ6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJ0eXBlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMxOiJlLmcuICJDb250YWN0IiwgIkFjY291bnQiLCBldGMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InNvcWwiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtOO31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE2OiJ0aGUgU09RTCBvYmplY3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJmaWVsZG1hcF9pZCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0NToiaXMgdGhlIGZpZWxkbWFwIElEIHRoYXQgZ29lcyB3aXRoIHRoaXMgcXVlcnkuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjEwOiJcdGltZXN0YW1wIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6OToidGltZXN0YW1wIjt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI1OiIkcHVsbF90cmlnZ2VyX2ZpZWxkX3ZhbHVlIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjkyMDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X3B1bGxfZGF0ZV92YWx1ZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTk6ImdldF9wdWxsX2RhdGVfdmFsdWUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InR5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJzb3FsIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6ImZpZWxkbWFwX2lkIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7czoyOiInJyI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjkyODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfbWVyZ2VkX3JlY29yZHMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzU6IkdldCBtZXJnZWQgcmVjb3JkcyBmcm9tIFNhbGVzZm9yY2UuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjY4OiJOb3RlIHRoYXQgbWVyZ2VzIGNhbiBjdXJyZW50bHkgb25seSB3b3JrIGlmIHRoZSBTb2FwIEFQSSBpcyBlbmFibGVkLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo5NjI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9tZXJnZWRfcmVjb3JkcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTg6ImdldF9tZXJnZWRfcmVjb3JkcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTY2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NjI6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnJlc3BvbmRfdG9fc2FsZXNmb3JjZV9tZXJnZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxMjY6IlJlc3BvbmQgdG8gU2FsZXNmb3JjZSBtZXJnZSBldmVudHMKVGhpcyBtZWFucyB3ZSB1cGRhdGUgdGhlIG1hcHBpbmcgb2JqZWN0IHRvIGNvbnRhaW4gdGhlIG5ldyBTYWxlc2ZvcmNlIElkLCBhbmQgcHVsbCBpdHMgZGF0YSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToyOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTE6Im9iamVjdF90eXBlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjM3OiJ3aGF0IHR5cGUgb2YgU2FsZXNmb3JjZSBvYmplY3QgaXQgaXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJtZXJnZWRfcmVjb3JkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNzoidGhlIHJlY29yZCB0aGF0IHdhcyBtZXJnZWQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEwNDQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjI6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnJlc3BvbmRfdG9fc2FsZXNmb3JjZV9tZXJnZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjc6InJlc3BvbmRfdG9fc2FsZXNmb3JjZV9tZXJnZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6Im9iamVjdF90eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6Im1lcmdlZF9yZWNvcmQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMDUxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9kZWxldGVkX3JlY29yZHMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzY6IkdldCBkZWxldGVkIHJlY29yZHMgZnJvbSBzYWxlc2ZvcmNlLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3NzoiTm90ZSB0aGF0IGRlbGV0aW9ucyBjYW4gb25seSBiZSBxdWVyaWVkIHZpYSBSRVNUIHdpdGggYW4gQVBJIHZlcnNpb24gPj0gMjkuMC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTEwMDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X2RlbGV0ZWRfcmVjb3JkcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTk6ImdldF9kZWxldGVkX3JlY29yZHMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjExMDQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo0NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6bWFudWFsX3B1bGwoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTA6Ik1ldGhvZCBmb3IgYWpheCBob29rcyB0byBjYWxsIGZvciBwdWxsaW5nIG1hbnVhbGx5IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjc6InRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMzoic2FsZXNmb3JjZV9pZCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNToidGhlIFNhbGVzZm9yY2UgcmVjb3JkIElELiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjc6IiRyZXN1bHQiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTIzNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6bWFudWFsX3B1bGwoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjExOiJtYW51YWxfcHVsbCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMzoic2FsZXNmb3JjZV9pZCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6MjoiJyciO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjQyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NjY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnNhbGVzZm9yY2VfcHVsbF9wcm9jZXNzX3JlY29yZHMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6ODA6IlN5bmMgV29yZFByZXNzIG9iamVjdHMgYW5kIFNhbGVzZm9yY2Ugb2JqZWN0cyBmcm9tIHRoZSBxdWV1ZSB1c2luZyB0aGUgUkVTVCBBUEkuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjU6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjY6IlR5cGUgb2YgU2FsZXNmb3JjZSBvYmplY3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjY6Im9iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzY6IlRoZSBTYWxlc2ZvcmNlIGRhdGEgb3IgaXRzIElkIHZhbHVlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxNToic2Zfc3luY190cmlnZ2VyIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjIyOiJUcmlnZ2VyIGZvciB0aGlzIHN5bmMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMzoidHJ1ZSBvciBleGl0IHRoZSBtZXRob2QiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjQ7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVGhyb3dzIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyNToiXE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJPYmplY3RfU3luY19TZl9FeGNlcHRpb24iO319czo3OiIAKgBuYW1lIjtzOjY6InRocm93cyI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTM6IkV4Y2VwdGlvbiAkZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTI3MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6c2FsZXNmb3JjZV9wdWxsX3Byb2Nlc3NfcmVjb3JkcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MzE6InNhbGVzZm9yY2VfcHVsbF9wcm9jZXNzX3JlY29yZHMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6Im9iamVjdF90eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Njoib2JqZWN0IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyNzk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X3N5bmNlZF9vYmplY3QoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzI6IkdlbmVyYXRlIHRoZSBzeW5jZWRfb2JqZWN0IGFycmF5IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjQ6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo2OiJvYmplY3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjM1OiJUaGUgZGF0YSBmb3IgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxNDoibWFwcGluZ19vYmplY3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjg2OiJUaGUgZGF0YSBmb3IgdGhlIG1hcHBpbmcgb2JqZWN0IGJldHdlZW4gdGhlIGluZGl2aWR1YWwgU2FsZXNmb3JjZSBhbmQgV29yZFByZXNzIGl0ZW1zLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxODoic2FsZXNmb3JjZV9tYXBwaW5nIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo1MToiVGhlIGRhdGEgZm9yIHRoZSBmaWVsZG1hcCBiZXR3ZWVuIHRoZSBvYmplY3QgdHlwZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTA3OiIkc3luY2VkX29iamVjdCBUaGUgY29tYmluZWQgYXJyYXkgb2YgdGhlc2UgaXRlbXMuIEl0IGFsbG93cyBmb3IgZmlsdGVyaW5nIG9mLCBhdCBsZWFzdCwgdGhlIG1hcHBpbmdfb2JqZWN0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNjI5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUyOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfc3luY2VkX29iamVjdCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTc6ImdldF9zeW5jZWRfb2JqZWN0Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJvYmplY3QiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNDoibWFwcGluZ19vYmplY3QiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxODoic2FsZXNmb3JjZV9tYXBwaW5nIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTYzNztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjY0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpjcmVhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MDoiQ3JlYXRlIHJlY29yZHMgaW4gV29yZFByZXNzIGZyb20gYSBTYWxlc2ZvcmNlIHB1bGwiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6ODp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzI6IlRoZSBjdXJyZW50IG9wZXJhdGlvbidzIHRyaWdnZXIuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJzeW5jZWRfb2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MToiQ29tYmluZWQgZGF0YSBmb3IgZmllbGRtYXAsIG1hcHBpbmcgb2JqZWN0LCBhbmQgU2FsZXNmb3JjZSBvYmplY3QgZGF0YS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NjoicGFyYW1zIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MjoiQXJyYXkgb2YgbWFwcGVkIGtleSB2YWx1ZSBwYWlycyBiZXR3ZWVuIFdvcmRQcmVzcyBhbmQgU2FsZXNmb3JjZSBmaWVsZHMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjg6InByZW1hdGNoIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2MzoiQXJyYXkgb2YgY3JpdGVyaWEgdG8gZGV0ZXJtaW5lIHdoYXQgdG8gZG8gb24gdXBzZXJ0IG9wZXJhdGlvbnMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo0O086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjIzOiJ3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2NzoiVGhlIG5hbWUgb2YgdGhlIElEIGZpZWxkIGZvciB0aGlzIHBhcnRpY3VsYXIgV29yZFByZXNzIG9iamVjdCB0eXBlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo3OiJzZWNvbmRzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcwOiJUaW1lb3V0IGZvciB0aGUgdHJhbnNpZW50IHZhbHVlIHRvIGRldGVybWluZSB0aGUgZGlyZWN0aW9uIGZvciBhIHN5bmMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo2O086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzQ6IiRyZXN1bHRzIEN1cnJlbnRseSB0aGlzIGNvbnRhaW5zIGFuIGFycmF5IG9mIGxvZyBlbnRyaWVzIGZvciBlYWNoIGF0dGVtcHQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo3O086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFRocm93cyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MjU6IlxPYmplY3RfU3luY19TZl9FeGNlcHRpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNDoiT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIjt9fXM6NzoiACoAbmFtZSI7czo2OiJ0aHJvd3MiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjEzOiJFeGNlcHRpb24gJGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2NTM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmNyZWF0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyOToiY3JlYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjY6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMzoic3luY2VkX29iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6InBhcmFtcyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6InByZW1hdGNoIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo0O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MjM6IndvcmRwcmVzc19pZF9maWVsZF9uYW1lIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo1O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Nzoic2Vjb25kcyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2NjU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo2NDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6dXBkYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTA6IlVwZGF0ZSByZWNvcmRzIGluIFdvcmRQcmVzcyBmcm9tIGEgU2FsZXNmb3JjZSBwdWxsIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjc6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxNToic2Zfc3luY190cmlnZ2VyIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMyOiJUaGUgY3VycmVudCBvcGVyYXRpb24ncyB0cmlnZ2VyLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMzoic3luY2VkX29iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzE6IkNvbWJpbmVkIGRhdGEgZm9yIGZpZWxkbWFwLCBtYXBwaW5nIG9iamVjdCwgYW5kIFNhbGVzZm9yY2Ugb2JqZWN0IGRhdGEuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjY6InBhcmFtcyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzI6IkFycmF5IG9mIG1hcHBlZCBrZXkgdmFsdWUgcGFpcnMgYmV0d2VlbiBXb3JkUHJlc3MgYW5kIFNhbGVzZm9yY2UgZmllbGRzLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MztPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoyMzoid29yZHByZXNzX2lkX2ZpZWxkX25hbWUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Njc6IlRoZSBuYW1lIG9mIHRoZSBJRCBmaWVsZCBmb3IgdGhpcyBwYXJ0aWN1bGFyIFdvcmRQcmVzcyBvYmplY3QgdHlwZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjQ7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6Nzoic2Vjb25kcyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MDoiVGltZW91dCBmb3IgdGhlIHRyYW5zaWVudCB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIGRpcmVjdGlvbiBmb3IgYSBzeW5jLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjc0OiIkcmVzdWx0cyBDdXJyZW50bHkgdGhpcyBjb250YWlucyBhbiBhcnJheSBvZiBsb2cgZW50cmllcyBmb3IgZWFjaCBhdHRlbXB0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xUaHJvd3MiOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI1OiJcT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6Ik9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiI7fX1zOjc6IgAqAG5hbWUiO3M6NjoidGhyb3dzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMzoiRXhjZXB0aW9uICRlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMDU5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjp1cGRhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjk6InVwZGF0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTo1OntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNToic2Zfc3luY190cmlnZ2VyIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6InN5bmNlZF9vYmplY3QiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJwYXJhbXMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjM7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoyMzoid29yZHByZXNzX2lkX2ZpZWxkX25hbWUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjQ7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJzZWNvbmRzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjA3MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjY0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpkZWxldGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MDoiRGVsZXRlIHJlY29yZHMgaW4gV29yZFByZXNzIGZyb20gYSBTYWxlc2ZvcmNlIHB1bGwiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Nzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzI6IlRoZSBjdXJyZW50IG9wZXJhdGlvbidzIHRyaWdnZXIuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJzeW5jZWRfb2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MToiQ29tYmluZWQgZGF0YSBmb3IgZmllbGRtYXAsIG1hcHBpbmcgb2JqZWN0LCBhbmQgU2FsZXNmb3JjZSBvYmplY3QgZGF0YS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MjM6IndvcmRwcmVzc19pZF9maWVsZF9uYW1lIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjY3OiJUaGUgbmFtZSBvZiB0aGUgSUQgZmllbGQgZm9yIHRoaXMgcGFydGljdWxhciBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InNlY29uZHMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzA6IlRpbWVvdXQgZm9yIHRoZSB0cmFuc2llbnQgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gZm9yIGEgc3luYy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjQ7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTU6Im1hcHBpbmdfb2JqZWN0cyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTU5OiJUaGUgZGF0YSBmb3IgdGhlIG1hcHBpbmcgb2JqZWN0cyBiZXR3ZWVuIHRoZSBpbmRpdmlkdWFsIFNhbGVzZm9yY2UgYW5kIFdvcmRQcmVzcyBpdGVtcy4gV2Ugb25seSBwYXNzIHRoaXMgYmVjYXVzZSBvZiB0aGUgbmVlZCB0byBjb3VudCBiZWZvcmUgZGVsZXRpbmcgcmVjb3Jkcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjU7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3NDoiJHJlc3VsdHMgQ3VycmVudGx5IHRoaXMgY29udGFpbnMgYW4gYXJyYXkgb2YgbG9nIGVudHJpZXMgZm9yIGVhY2ggYXR0ZW1wdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjY7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVGhyb3dzIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyNToiXE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJPYmplY3RfU3luY19TZl9FeGNlcHRpb24iO319czo3OiIAKgBuYW1lIjtzOjY6InRocm93cyI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTM6IkV4Y2VwdGlvbiAkZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjE5OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6ZGVsZXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI5OiJkZWxldGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6NTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJzeW5jZWRfb2JqZWN0IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MjM6IndvcmRwcmVzc19pZF9maWVsZF9uYW1lIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTozO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Nzoic2Vjb25kcyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6NDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE1OiJtYXBwaW5nX29iamVjdHMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMjEwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmNsZWFyX2N1cnJlbnRfdHlwZV9xdWVyeSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo2MzoiQ2xlYXIgdGhlIGN1cnJlbnRseSBzdG9yZWQgcXVlcnkgZm9yIHRoZSBzcGVjaWZpZWQgY29udGVudCB0eXBlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJ0eXBlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMxOiJlLmcuICJDb250YWN0IiwgIkFjY291bnQiLCBldGMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJmaWVsZG1hcF9pZCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0NToiaXMgdGhlIGZpZWxkbWFwIElEIHRoYXQgZ29lcyB3aXRoIHRoaXMgcXVlcnkuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzNzM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmNsZWFyX2N1cnJlbnRfdHlwZV9xdWVyeSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6ImNsZWFyX2N1cnJlbnRfdHlwZV9xdWVyeSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6ImZpZWxkbWFwX2lkIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7czoyOiInJyI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzNzk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo2NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6aW5jcmVtZW50X2N1cnJlbnRfdHlwZV9kYXRldGltZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0ODoiSW5jcmVtZW50IHRoZSBjdXJyZW50bHkgcnVubmluZyBxdWVyeSdzIGRhdGV0aW1lIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJ0eXBlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMxOiJlLmcuICJDb250YWN0IiwgIkFjY291bnQiLCBldGMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjI0OiJuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTA6Ilx0aW1lc3RhbXAiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo5OiJ0aW1lc3RhbXAiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3NjoidGhlIGxhc3QgcmVjb3JkJ3MgbW9kaWZpZWQgZGF0ZXRpbWUsIG9yIHRoZSBjdXJyZW50IHRpbWUgaWYgdGhlcmUgaXNuJ3Qgb25lLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMToiZmllbGRtYXBfaWQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDU6ImlzIHRoZSBmaWVsZG1hcCBJRCB0aGF0IGdvZXMgd2l0aCB0aGlzIHF1ZXJ5LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMzg4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjppbmNyZW1lbnRfY3VycmVudF90eXBlX2RhdGV0aW1lKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czozMToiaW5jcmVtZW50X2N1cnJlbnRfdHlwZV9kYXRldGltZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoidHlwZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjI0OiJuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6ImZpZWxkbWFwX2lkIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7czoyOiInJyI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzOTU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y3JlYXRlX29iamVjdF9tYXAoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NzE6IkNyZWF0ZSBhbiBvYmplY3QgbWFwIGJldHdlZW4gYSBTYWxlc2ZvcmNlIG9iamVjdCBhbmQgYSBXb3JkUHJlc3Mgb2JqZWN0IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjQ6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxNzoic2FsZXNmb3JjZV9vYmplY3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjM4OiJBcnJheSBvZiB0aGUgc2FsZXNmb3JjZSBvYmplY3QncyBkYXRhLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMjoid29yZHByZXNzX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQzOiJVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIFdvcmRQcmVzcyBvYmplY3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJmaWVsZF9tYXBwaW5nIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo5MzoiVGhlIHJvdyB0aGF0IG1hcHMgdGhlIG9iamVjdCB0eXBlcyB0b2dldGhlciwgaW5jbHVkaW5nIHdoaWNoIGZpZWxkcyBtYXRjaCB3aGljaCBvdGhlciBmaWVsZHMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2MDoiJHdwZGItPmluc2VydF9pZCBUaGlzIGlzIHRoZSBkYXRhYmFzZSByb3cgZm9yIHRoZSBtYXAgb2JqZWN0IjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI0MDU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTI6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmNyZWF0ZV9vYmplY3RfbWFwKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiY3JlYXRlX29iamVjdF9tYXAiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE3OiJzYWxlc2ZvcmNlX29iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEyOiJ3b3JkcHJlc3NfaWQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMzoiZmllbGRfbWFwcGluZyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI0MTM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6aXNfcHVsbF9hbGxvd2VkKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQzOiJGaW5kIG91dCBpZiBwdWxsIGlzIGFsbG93ZWQgZm9yIHRoaXMgcmVjb3JkIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjY6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjM6IlNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjY6Im9iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mzg6IkFycmF5IG9mIHRoZSBzYWxlc2ZvcmNlIG9iamVjdCdzIGRhdGEuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzI6IlRoZSBjdXJyZW50IG9wZXJhdGlvbidzIHRyaWdnZXIuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQ0OiJ0aGUgZmllbGRtYXAgdGhhdCBtYXBzIHRoZSB0d28gb2JqZWN0IHR5cGVzLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxNzoibWFwX3N5bmNfdHJpZ2dlcnMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMwOiJ0aGUgdHJpZ2dlcnMgdGhhdCBhcmUgZW5hYmxlZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjU7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjgzOiIkcHVsbF9hbGxvd2VkIFdoZXRoZXIgYWxsIHRoaXMgc3R1ZmYgYWxsb3dzIHRoZSAkcmVzdWx0IHRvIGJlIHB1bGxlZCBpbnRvIFdvcmRQcmVzcyI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNDMyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjppc19wdWxsX2FsbG93ZWQoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJpc19wdWxsX2FsbG93ZWQiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjU6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6Im9iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjM7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxODoic2FsZXNmb3JjZV9tYXBwaW5nIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo0O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTc6Im1hcF9zeW5jX3RyaWdnZXJzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQ0MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX19czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHVzZWRUcmFpdHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e319";