1671340670
AwuilbDvXz%3Aa3d429d347a190e48f8b25b9e931be13-3cba97a347b706def0dc5199dc5815d0
s:407672:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxMjp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDA6IlB1bGwgZGF0YSBmcm9tIFNhbGVzZm9yY2UgaW50byBXb3JkUHJlc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo1OiJjbGFzcyI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzA6Ik9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljIjoyOntzOjc6IgAqAG5hbWUiO3M6NzoicGFja2FnZSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjI6Ik9iamVjdF9TeW5jX1NhbGVzZm9yY2UiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6IjNjYmE5N2EzNDdiNzA2ZGVmMGRjNTE5OWRjNTgxNWQwIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWUiO3M6NDA6ImNsYXNzLW9iamVjdC1zeW5jLXNmLXNhbGVzZm9yY2UtcHVsbC5waHAiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo0ODoiY2xhc3Nlcy9jbGFzcy1vYmplY3Qtc3luYy1zZi1zYWxlc2ZvcmNlLXB1bGwucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoxMDE2MTY6Ijw/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+cHVsbF9vcHRpb25zLT5nZXQoICdsYXN0X3N5bmMnLCAkdHlwZSwgJGZpZWxkbWFwX2lkLCBudWxsICk7CgkJaWYgKCAkc2ZfbGFzdF9zeW5jICkgewoJCQkkcHVsbF90cmlnZ2VyX2ZpZWxkX3ZhbHVlID0gZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkc2ZfbGFzdF9zeW5jICk7CgkJfSBlbHNlIHsKCQkJJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZSA9IGdtZGF0ZSggJ1ktbS1kXFRIOmk6c1xaJywgJHNmX2FjdGl2YXRlX3RpbWUgKTsKCQl9CgoJCS8vIEhvb2sgdG8gYWxsb3cgb3RoZXIgcGx1Z2lucyB0byBzZXQgdGhlICJsYXN0IHB1bGwgZGF0ZSIgdG8gd2hlbmV2ZXIgdGhleSB3YW50LCBpbmNsdWRpbmcgYSBkYXRldGltZSBmcm9tIGJlZm9yZSB0aGUgcGx1Z2luIHdhcyBhY3RpdmF0ZWQuCgkJJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZSA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ2NoYW5nZV9wdWxsX2RhdGVfdmFsdWUnLCAkcHVsbF90cmlnZ2VyX2ZpZWxkX3ZhbHVlLCAkdHlwZSwgJHNvcWwsICRmaWVsZG1hcF9pZCApOwoKCQkvLyBleGFtcGxlIHRvIHVzZSBhbm90aGVyIGRhdGV0aW1lIHZhbHVlLgoJCS8vIHRoZSB2YWx1ZSBuZWVkcyB0byBiZSBhIGdtZGF0ZSwgZm9ybWF0dGVkIGZvciBTYWxlc2ZvcmNlOiAnWS1tLWRcVEg6aTpzXFonLgoJCS8qIC8vIHBocGNzOmlnbm9yZSBTcXVpei5QSFAuQ29tbWVudGVkT3V0Q29kZS5Gb3VuZAoJCWFkZF9maWx0ZXIoICdvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZV9jaGFuZ2VfcHVsbF9kYXRlX3ZhbHVlJywgJ2NoYW5nZV9wdWxsX2RhdGVfdmFsdWUnLCAxMCwgNSApOwoJCS8vIGNhbiBhbHdheXMgcmVkdWNlIHRoaXMgbnVtYmVyIGlmIGFsbCB0aGUgYXJndW1lbnRzIGFyZSBub3QgbmVjZXNzYXJ5CgkJZnVuY3Rpb24gY2hhbmdlX3B1bGxfZGF0ZV92YWx1ZSggJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZSwgJG9iamVjdF90eXBlLCAkc29xbCwgJGZpZWxkbWFwX2lkICkgewoJCQlpZiAoICdDb250YWN0JyA9PT0gJG9iamVjdF90eXBlICApIHsKCQkJCS8vIGV4YW1wbGU6IGdvIGJhY2sgdG8gMjAwNi0wMS0wMVQyMzowMTowMSswMTowMCwgd2hpY2ggaXMgMTEzNjE1Mjg2MS4KCQkJCSRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWUgPSBnbWRhdGUoICdZLW0tZFxUSDppOnNcWicsIDExMzYxNTI4NjEgKTsKCQkJfQoJCQlyZXR1cm4gJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZTsKCQl9CgkJKi8KCQllcnJvcl9sb2coICd0aGUgcHVsbCBkYXRlIHZhbHVlIGlzICcgLiAkcHVsbF90cmlnZ2VyX2ZpZWxkX3ZhbHVlICk7CgoJCXJldHVybiAkcHVsbF90cmlnZ2VyX2ZpZWxkX3ZhbHVlOwoKCX0KCgkvKioKCSAqIEdldCBtZXJnZWQgcmVjb3JkcyBmcm9tIFNhbGVzZm9yY2UuCgkgKiBOb3RlIHRoYXQgbWVyZ2VzIGNhbiBjdXJyZW50bHkgb25seSB3b3JrIGlmIHRoZSBTb2FwIEFQSSBpcyBlbmFibGVkLgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGdldF9tZXJnZWRfcmVjb3JkcygpIHsKCgkJJHVzZV9zb2FwID0gJHRoaXMtPnNhbGVzZm9yY2VbJ3NvYXBfbG9hZGVkJ107CgkJaWYgKCB0cnVlID09PSAkdXNlX3NvYXAgKSB7CgkJCSRzb2FwID0gbmV3IE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfU29hcF9QYXJ0bmVyKCk7CgkJfQoJCSRzZWNvbmRzID0gNjA7CgoJCSRtZXJnZWRfcmVjb3JkcyA9IGFycmF5KCk7CgoJCS8vIExvYWQgZmllbGRtYXBzIGZvciBtZXJnZWFibGUgdHlwZXMuCgkJZm9yZWFjaCAoICR0aGlzLT5tZXJnZWFibGVfcmVjb3JkX3R5cGVzIGFzICR0eXBlICkgewoJCQkkbWFwcGluZ3MgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9maWVsZG1hcHMoCgkJCQludWxsLAoJCQkJYXJyYXlfbWVyZ2UoCgkJCQkJJHRoaXMtPm1hcHBpbmdzLT5hY3RpdmVfZmllbGRtYXBfY29uZGl0aW9ucywKCQkJCQlhcnJheSgKCQkJCQkJJ3NhbGVzZm9yY2Vfb2JqZWN0JyA9PiAkdHlwZSwKCQkJCQkpCgkJCQkpLAoJCQkpOwoKCQkJLy8gSXRlcmF0ZSBvdmVyIGVhY2ggZmllbGQgbWFwcGluZyB0byBkZXRlcm1pbmUgb3VyIHF1ZXJ5IHBhcmFtZXRlcnMuCgkJCWZvcmVhY2ggKCAkbWFwcGluZ3MgYXMgJHNhbGVzZm9yY2VfbWFwcGluZyApIHsKCQkJCSRsYXN0X21lcmdlX3N5bmMgPSAkdGhpcy0+cHVsbF9vcHRpb25zLT5nZXQoICdtZXJnZV9sYXN0JywgJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSwgJycsIHRpbWUoKSApOwoJCQkJJG5vdyAgICAgICAgICAgICA9IHRpbWUoKTsKCQkJCSR0aGlzLT5wdWxsX29wdGlvbnMtPnNldCggJ21lcmdlX2xhc3QnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAkbm93ICk7CgoJCQkJLy8gZ2V0X2RlbGV0ZWQoKSBjb25zdHJhaW50OiBzdGFydERhdGUgY2Fubm90IGJlIG1vcmUgdGhhbiAzMCBkYXlzIGFnbwoJCQkJLy8gKHVzaW5nIGFuIGluY29tcGF0aWJsZSBkYXRlIG1heSBsZWFkIHRvIGV4Y2VwdGlvbnMpLgoJCQkJJGxhc3RfbWVyZ2Vfc3luYyA9ICRsYXN0X21lcmdlX3N5bmMgPiAoIHRpbWUoKSAtIDI1MDU2MDAgKSA/ICRsYXN0X21lcmdlX3N5bmMgOiAoIHRpbWUoKSAtIDI1MDU2MDAgKTsKCgkJCQkvLyBnZXRfZGVsZXRlZCgpIGNvbnN0cmFpbnQ6IHN0YXJ0RGF0ZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSBtaW51dGUgZ3JlYXRlcgoJCQkJLy8gdGhhbiBlbmREYXRlLgoJCQkJJG5vdyA9ICRub3cgPiAoICRsYXN0X21lcmdlX3N5bmMgKyA2MCApID8gJG5vdyA6ICRub3cgKyA2MDsKCgkJCQkvLyBuZWVkIHRvIGJlIHVzaW5nIGdtZGF0ZSBmb3IgU2FsZXNmb3JjZSBjYWxsLgoJCQkJJGxhc3RfbWVyZ2Vfc3luY19zZiA9IGdtZGF0ZSggJ1ktbS1kXFRIOmk6c1xaJywgJGxhc3RfbWVyZ2Vfc3luYyApOwoKCQkJCS8vIHRvZG86IHdlIHdhbnQgdG8gYWRkIHNvbWV0aGluZyBsaWtlIHRoaXMgZXZlbnR1YWxseSwgdG8gdGhlIHF1ZXJ5OiBBTkQgU3lzdGVtTW9kc3RhbXAgPiAyMDA2LTAxLTAxVDIzOjAxOjAxKzAxOjAwLgoKCQkJCSRtZXJnZWQgPSBhcnJheSgpOwoJCQkJLy8gdGhlcmUgZG9lc24ndCBhcHBlYXIgdG8gYmUgYSB3YXkgdG8gZG8gdGhpcyBpbiB0aGUgcmVzdCBhcGk7IGZvciBub3cgd2UnbGwgZG8gc29hcC4KCQkJCWlmICggdHJ1ZSA9PT0gJHVzZV9zb2FwICkgewoJCQkJCSR0eXBlICAgPSAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddOwoJCQkJCSRxdWVyeSAgPSAiU0VMRUNUIElkLCBpc0RlbGV0ZWQsIG1hc3RlclJlY29yZElkIEZST00gJHR5cGUgV0hFUkUgbWFzdGVyUmVjb3JkSWQgIT0gJycgQU5EIFN5c3RlbU1vZFN0YW1wID4gJGxhc3RfbWVyZ2Vfc3luY19zZiI7CgkJCQkJJG1lcmdlZCA9ICRzb2FwLT50cnlfc29hcCggJ3F1ZXJ5QWxsJywgJHF1ZXJ5ICk7CgkJCQkJaWYgKCAhIGVtcHR5KCAkbWVyZ2VkLT5yZWNvcmRzICkgKSB7CgkJCQkJCSRtZXJnZWQgPSBqc29uX2RlY29kZSggd3BfanNvbl9lbmNvZGUoICRtZXJnZWQtPnJlY29yZHMgKSwgdHJ1ZSApOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWNvbnRpbnVlOwoJCQkJCX0KCgkJCQkJZm9yZWFjaCAoICRtZXJnZWQgYXMgJHJlc3VsdCApIHsKCQkJCQkJJHJlY29yZCA9IGFycmF5KCk7CgkJCQkJCWlmICggaXNfYXJyYXkoIGFycmF5X3VuaXF1ZSggJHJlc3VsdFsnSWQnXSApICkgKSB7CgkJCQkJCQkkcmVjb3JkWydJZCddID0gYXJyYXlfdW5pcXVlKCAkcmVzdWx0WydJZCddIClbMF07CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQkkcmVjb3JkWydJZCddID0gJHJlc3VsdFsnSWQnXTsKCQkJCQkJfQoJCQkJCQlpZiAoIGlzc2V0KCAkcmVzdWx0WydhbnknXSApICkgewoJCQkJCQkJbGlieG1sX3VzZV9pbnRlcm5hbF9lcnJvcnMoIHRydWUgKTsKCQkJCQkJCSRhbnkgPSBzaW1wbGV4bWxfbG9hZF9zdHJpbmcoICc8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9InllcyI/Pjxyb290PicgLiAkcmVzdWx0WydhbnknXSAuICc8L3Jvb3Q+JyApOwoJCQkJCQkJaWYgKCAkYW55ICkgewoJCQkJCQkJCSRqc29uICAgPSB3cF9qc29uX2VuY29kZSggJGFueSApOwoJCQkJCQkJCSRhcnJheSAgPSBqc29uX2RlY29kZSggJGpzb24sIHRydWUgKTsKCQkJCQkJCQkkcmVjb3JkID0gYXJyYXlfbWVyZ2UoICRyZWNvcmQsICRhcnJheSApOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCSRtZXJnZWRfcmVjb3Jkc1tdID0gJHJlY29yZDsKCQkJCQkJJHRoaXMtPnJlc3BvbmRfdG9fc2FsZXNmb3JjZV9tZXJnZSggJHR5cGUsICRyZWNvcmQgKTsKCQkJCQl9IC8vIEVuZCBmb3JlYWNoIG9uIG1lcmdlZAoJCQkJfSAvLyBFbmQgaWYgb24gc29hcAoJCQkJaWYgKCAhIGVtcHR5KCAkbWVyZ2VkX3JlY29yZHMgKSApIHsKCQkJCQkkdGhpcy0+c3luY190cmFuc2llbnRzLT5zZXQoICdzYWxlc2ZvcmNlX21lcmdlZCcsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAkbWVyZ2VkX3JlY29yZHMsICRzZWNvbmRzICk7CgkJCQl9CgkJCX0gLy8gRW5kIGZvcmVhY2ggb24gbWFwcGluZ3MKCQl9IC8vIGVuZCBmb3JlYWNoIG9uIHR5cGVzCgoJfQoKCS8qKgoJICogUmVzcG9uZCB0byBTYWxlc2ZvcmNlIG1lcmdlIGV2ZW50cwoJICogVGhpcyBtZWFucyB3ZSB1cGRhdGUgdGhlIG1hcHBpbmcgb2JqZWN0IHRvIGNvbnRhaW4gdGhlIG5ldyBTYWxlc2ZvcmNlIElkLCBhbmQgcHVsbCBpdHMgZGF0YQoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJG9iamVjdF90eXBlIHdoYXQgdHlwZSBvZiBTYWxlc2ZvcmNlIG9iamVjdCBpdCBpcy4KCSAqIEBwYXJhbSBhcnJheSAgJG1lcmdlZF9yZWNvcmQgdGhlIHJlY29yZCB0aGF0IHdhcyBtZXJnZWQuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gcmVzcG9uZF90b19zYWxlc2ZvcmNlX21lcmdlKCAkb2JqZWN0X3R5cGUsICRtZXJnZWRfcmVjb3JkICkgewoJCSRvcCA9ICdNZXJnZSc7CgkJaWYgKCBpc3NldCggJG1lcmdlZF9yZWNvcmRbJ0lkJ10gKSAmJiB0cnVlID09PSBmaWx0ZXJfdmFyKCAkbWVyZ2VkX3JlY29yZFsnc2Y6SXNEZWxldGVkJ10sIEZJTFRFUl9WQUxJREFURV9CT09MRUFOICkgJiYgJycgIT09ICRtZXJnZWRfcmVjb3JkWydzZjpNYXN0ZXJSZWNvcmRJZCddICkgewoJCQkkcHJldmlvdXNfc2ZfaWQgID0gJG1lcmdlZF9yZWNvcmRbJ0lkJ107CgkJCSRuZXdfc2ZfaWQgICAgICAgPSAkbWVyZ2VkX3JlY29yZFsnc2Y6TWFzdGVyUmVjb3JkSWQnXTsKCQkJJG1hcHBpbmdfb2JqZWN0cyA9ICR0aGlzLT5tYXBwaW5ncy0+bG9hZF9vYmplY3RfbWFwc19ieV9zYWxlc2ZvcmNlX2lkKCAkcHJldmlvdXNfc2ZfaWQgKTsKCQkJZm9yZWFjaCAoICRtYXBwaW5nX29iamVjdHMgYXMgJG1hcHBpbmdfb2JqZWN0ICkgewoJCQkJJHdvcmRwcmVzc190eXBlICAgICAgICAgICAgICAgICAgPSAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19vYmplY3QnXTsKCQkJCSR3b3JkcHJlc3NfaWQgICAgICAgICAgICAgICAgICAgID0gJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXTsKCQkJCSRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddID0gJG5ld19zZl9pZDsKCQkJCSRtYXBwaW5nX29iamVjdCAgICAgICAgICAgICAgICAgID0gJHRoaXMtPm1hcHBpbmdzLT51cGRhdGVfb2JqZWN0X21hcCggJG1hcHBpbmdfb2JqZWN0LCAkbWFwcGluZ19vYmplY3RbJ2lkJ10gKTsKCgkJCQkkc3RhdHVzID0gJ3N1Y2Nlc3MnOwoKCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCX0KCgkJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCAzKSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZSwgNCkgdGhlIHByZXZpb3VzIFNhbGVzZm9yY2UgSWQgdmFsdWUsIDUpIHRoZSBuZXcgU2FsZXNmb3JjZSBJZCB2YWx1ZSwgNikgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QsIDcpIHRoZSBXb3JkUHJlc3MgaWQgdmFsdWUuCgkJCQkJZXNjX2h0bWxfXyggJyUxJHM6ICUyJHMgU2FsZXNmb3JjZSAlMyRzIG9iamVjdHMgd2l0aCBJZHMgJTQkcyBhbmQgJTUkcyB3ZXJlIG1lcmdlZCAoJTUkcyBpcyB0aGUgcmVtYWluaW5nIElELiBJdCBpcyBtYXBwZWQgdG8gV29yZFByZXNzICU2JHMgd2l0aCAlNyRzLiknLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCQllc2NfYXR0ciggJG9iamVjdF90eXBlICksCgkJCQkJZXNjX2F0dHIoICRwcmV2aW91c19zZl9pZCApLAoJCQkJCWVzY19hdHRyKCAkbmV3X3NmX2lkICksCgkJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfdHlwZSApLAoJCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkICkKCQkJCSk7CgoJCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJJ21lc3NhZ2UnID0+ICcnLAoJCQkJCSd0cmlnZ2VyJyA9PiAwLAoJCQkJCSdwYXJlbnQnICA9PiAkd29yZHByZXNzX2lkLAoJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJKTsKCgkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCQkvLyBhZnRlciBpdCBoYXMgYmVlbiBtZXJnZWQsIHB1bGwgaXQuCgkJCQkkcmVzdWx0ID0gJHRoaXMtPm1hbnVhbF9wdWxsKCAkb2JqZWN0X3R5cGUsICRuZXdfc2ZfaWQgKTsKCgkJCX0KCQl9Cgl9CgoJLyoqCgkgKiBHZXQgZGVsZXRlZCByZWNvcmRzIGZyb20gc2FsZXNmb3JjZS4KCSAqIE5vdGUgdGhhdCBkZWxldGlvbnMgY2FuIG9ubHkgYmUgcXVlcmllZCB2aWEgUkVTVCB3aXRoIGFuIEFQSSB2ZXJzaW9uID49IDI5LjAuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gZ2V0X2RlbGV0ZWRfcmVjb3JkcygpIHsKCgkJJHNmYXBpID0gJHRoaXMtPnNhbGVzZm9yY2VbJ3NmYXBpJ107CgoJCS8vIFRoZSBEcnVwYWwgbW9kdWxlIHJ1bnMgYSBjaGVja19tZXJnZWRfcmVjb3JkcyBjYWxsIHJpZ2h0IGhlcmUsIGJ1dCBpdCBzZWVtcyB0byBiZSBhbiBpbnZhbGlkIFNPUUwgcXVlcnkuCgkJLy8gV2UgYXJlIG5vdCBpbmNvcnBvcmF0aW5nIHRoYXQgcGFydCBvZiB0aGlzIGJyYW5jaCBhdCB0aGlzIHRpbWUKCQkvLyBTZWUgR2l0SHViIGlzc3VlIDE5NyB0byB0cmFjayB0aGlzIHN0YXR1cy4gaHR0cHM6Ly9naXRodWIuY29tL01pbm5Qb3N0L29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlL2lzc3Vlcy8xOTcuCgoJCS8vIExvYWQgYWxsIHVuaXF1ZSBTRiByZWNvcmQgdHlwZXMgdGhhdCB3ZSBoYXZlIG1hcHBpbmdzIGZvci4gVGhpcyByZXN1bHRzIGluIGEgZG91YmxlIGxvb3AuCgkJZm9yZWFjaCAoICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2ZpZWxkbWFwcyggbnVsbCwgJHRoaXMtPm1hcHBpbmdzLT5hY3RpdmVfZmllbGRtYXBfY29uZGl0aW9ucyApIGFzICRzYWxlc2ZvcmNlX21hcHBpbmcgKSB7CgoJCQkkbWFwX3N5bmNfdHJpZ2dlcnMgPSAkc2FsZXNmb3JjZV9tYXBwaW5nWydzeW5jX3RyaWdnZXJzJ107IC8vIHRoaXMgc2V0cyB3aGljaCBTYWxlc2ZvcmNlIHRyaWdnZXJzIGFyZSBhbGxvd2VkIGZvciB0aGUgbWFwcGluZy4KCQkJJHR5cGUgICAgICAgICAgICAgID0gJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXTsgLy8gdGhpcyBzZXRzIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlIGZvciB0aGUgU09RTCBxdWVyeS4KCgkJCSRtYXBwaW5ncyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2ZpZWxkbWFwcygKCQkJCW51bGwsCgkJCQlhcnJheV9tZXJnZSgKCQkJCQkkdGhpcy0+bWFwcGluZ3MtPmFjdGl2ZV9maWVsZG1hcF9jb25kaXRpb25zLAoJCQkJCWFycmF5KAoJCQkJCQknc2FsZXNmb3JjZV9vYmplY3QnID0+ICR0eXBlLAoJCQkJCSkKCQkJCSksCgkJCSk7CgoJCQkvLyBJdGVyYXRlIG92ZXIgZWFjaCBmaWVsZCBtYXBwaW5nIHRvIGRldGVybWluZSBvdXIgcXVlcnkgcGFyYW1ldGVycy4KCQkJZm9yZWFjaCAoICRtYXBwaW5ncyBhcyAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoKCQkJCSRsYXN0X2RlbGV0ZV9zeW5jID0gJHRoaXMtPnB1bGxfb3B0aW9ucy0+Z2V0KCAnZGVsZXRlX2xhc3QnLCAkdHlwZSwgJycsIHRpbWUoKSApOwoJCQkJJG5vdyAgICAgICAgICAgICAgPSB0aW1lKCk7CgkJCQkkdGhpcy0+cHVsbF9vcHRpb25zLT5zZXQoICdkZWxldGVfbGFzdCcsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAkbm93ICk7CgoJCQkJLy8gZ2V0X2RlbGV0ZWQoKSBjb25zdHJhaW50OiBzdGFydERhdGUgY2Fubm90IGJlIG1vcmUgdGhhbiAzMCBkYXlzIGFnbwoJCQkJLy8gKHVzaW5nIGFuIGluY29tcGF0aWJsZSBkYXRlIG1heSBsZWFkIHRvIGV4Y2VwdGlvbnMpLgoJCQkJJGxhc3RfZGVsZXRlX3N5bmMgPSAkbGFzdF9kZWxldGVfc3luYyA+ICggdGltZSgpIC0gMjUwNTYwMCApID8gJGxhc3RfZGVsZXRlX3N5bmMgOiAoIHRpbWUoKSAtIDI1MDU2MDAgKTsKCgkJCQkvLyBnZXRfZGVsZXRlZCgpIGNvbnN0cmFpbnQ6IHN0YXJ0RGF0ZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSBtaW51dGUgZ3JlYXRlcgoJCQkJLy8gdGhhbiBlbmREYXRlLgoJCQkJJG5vdyA9ICRub3cgPiAoICRsYXN0X2RlbGV0ZV9zeW5jICsgNjAgKSA/ICRub3cgOiAkbm93ICsgNjA7CgoJCQkJLy8gbmVlZCB0byBiZSB1c2luZyBnbWRhdGUgZm9yIFNhbGVzZm9yY2UgY2FsbC4KCQkJCSRsYXN0X2RlbGV0ZV9zeW5jX3NmID0gZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkbGFzdF9kZWxldGVfc3luYyApOwoJCQkJJG5vd19zZiAgICAgICAgICAgICAgPSBnbWRhdGUoICdZLW0tZFxUSDppOnNcWicsICRub3cgKTsKCgkJCQkvLyBTYWxlc2ZvcmNlIGNhbGwuCgkJCQkkZGVsZXRlZCA9ICRzZmFwaS0+Z2V0X2RlbGV0ZWQoICR0eXBlLCAkbGFzdF9kZWxldGVfc3luY19zZiwgJG5vd19zZiApOwoJCQkJJG1lcmdlZCAgPSAkdGhpcy0+c3luY190cmFuc2llbnRzLT5nZXQoICdzYWxlc2ZvcmNlX21lcmdlZCcsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddICk7CgkJCQlpZiAoIGZhbHNlICE9PSAkbWVyZ2VkICYmIGlzc2V0KCAkZGVsZXRlZFsnZGF0YSddWydkZWxldGVkUmVjb3JkcyddICkgKSB7CgkJCQkJZm9yZWFjaCAoICRtZXJnZWQgYXMgJGtleSApIHsKCQkJCQkJJGRlbGV0ZWRbJ2RhdGEnXVsnZGVsZXRlZFJlY29yZHMnXSA9IGFycmF5X2ZpbHRlcigKCQkJCQkJCSRkZWxldGVkWydkYXRhJ11bJ2RlbGV0ZWRSZWNvcmRzJ10sCgkJCQkJCQlmdW5jdGlvbiggJHggKSB1c2UgKCAka2V5ICkgewoJCQkJCQkJCWlmICggISBpc3NldCggJHhbJ0lkJ10gKSAmJiBpc3NldCggJHhbJ2lkJ10gKSApIHsKCQkJCQkJCQkJJHhbJ0lkJ10gPSAkeFsnaWQnXTsKCQkJCQkJCQl9CgkJCQkJCQkJcmV0dXJuICR4WydJZCddICE9PSAka2V5OwoJCQkJCQkJfQoJCQkJCQkpOwoJCQkJCX0KCQkJCX0KCgkJCQlpZiAoIGVtcHR5KCAkZGVsZXRlZFsnZGF0YSddWydkZWxldGVkUmVjb3JkcyddICkgKSB7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJZm9yZWFjaCAoICRkZWxldGVkWydkYXRhJ11bJ2RlbGV0ZWRSZWNvcmRzJ10gYXMgJHJlc3VsdCApIHsKCgkJCQkJJHNmX3N5bmNfdHJpZ2dlciA9ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9kZWxldGU7CgoJCQkJCS8vIFNhbGVzZm9yY2Ugc2VyaW91c2x5IHJldHVybnMgSWQgZm9yIHVwZGF0ZSByZXF1ZXN0cyBhbmQgaWQgZm9yIGRlbGV0ZSByZXF1ZXN0cyBhbmQgdGhpcyBtYWtlcyBubyBzZW5zZSBidXQgbWF5YmUgb25lIGRheSB0aGV5IG1pZ2h0IGNoYW5nZSBpdCBzb21laG93PwoJCQkJCWlmICggISBpc3NldCggJHJlc3VsdFsnSWQnXSApICYmIGlzc2V0KCAkcmVzdWx0WydpZCddICkgKSB7CgkJCQkJCSRyZXN1bHRbJ0lkJ10gPSAkcmVzdWx0WydpZCddOwoJCQkJCX0KCQkJCQkkZGF0YSA9IGFycmF5KAoJCQkJCQknb2JqZWN0X3R5cGUnICAgICA9PiAkdHlwZSwKCQkJCQkJJ29iamVjdCcgICAgICAgICAgPT4gJHJlc3VsdCwKCQkJCQkJJ21hcHBpbmcnICAgICAgICAgPT4gJHNhbGVzZm9yY2VfbWFwcGluZywKCQkJCQkJJ3NmX3N5bmNfdHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwgLy8gc2YgZGVsZXRlIHRyaWdnZXIuCgkJCQkJKTsKCgkJCQkJLy8gZGVmYXVsdCBpcyBwdWxsIGlzIGFsbG93ZWQuCgkJCQkJJHB1bGxfYWxsb3dlZCA9IHRydWU7CgoJCQkJCS8vIGlmIHRoZSBjdXJyZW50IGZpZWxkbWFwIGRvZXMgbm90IGFsbG93IGRlbGV0ZSwgc2V0IHB1bGxfYWxsb3dlZCB0byBmYWxzZS4KCQkJCQlpZiAoIGlzc2V0KCAkbWFwX3N5bmNfdHJpZ2dlcnMgKSAmJiAhIGluX2FycmF5KCAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfZGVsZXRlLCAkbWFwX3N5bmNfdHJpZ2dlcnMsIHRydWUgKSApIHsKCQkJCQkJJHB1bGxfYWxsb3dlZCA9IGZhbHNlOwoJCQkJCX0KCgkJCQkJLy8gSG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIHByZXZlbnQgYSBwdWxsIHBlci1tYXBwaW5nLgoJCQkJCS8vIFB1dHRpbmcgdGhlIHB1bGxfYWxsb3dlZCBob29rIGhlcmUgd2lsbCBrZWVwIHRoZSBxdWV1ZSBmcm9tIGRlbGV0aW5nIGEgV29yZFByZXNzIHJlY29yZCB3aGVuIGl0IGlzIG5vdCBzdXBwb3NlZCB0byBkZWxldGUgaXQuCgkJCQkJJHB1bGxfYWxsb3dlZCA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfb2JqZWN0X2FsbG93ZWQnLCAkcHVsbF9hbGxvd2VkLCAkdHlwZSwgJHJlc3VsdCwgJHNmX3N5bmNfdHJpZ2dlciwgJHNhbGVzZm9yY2VfbWFwcGluZyApOwoKCQkJCQkvLyBleGFtcGxlIHRvIGtlZXAgZnJvbSBkZWxldGluZyB0aGUgV29yZFByZXNzIHJlY29yZCBtYXBwZWQgdG8gdGhlIENvbnRhY3Qgd2l0aCBJZCBvZiBhYmNkZWYuCgkJCQkJLyogLy8gcGhwY3M6aWdub3JlIFNxdWl6LlBIUC5Db21tZW50ZWRPdXRDb2RlLkZvdW5kCgkJCQkJYWRkX2ZpbHRlciggJ29iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlX3B1bGxfb2JqZWN0X2FsbG93ZWQnLCAnY2hlY2tfdXNlcicsIDEwLCA1ICk7CgkJCQkJLy8gY2FuIGFsd2F5cyByZWR1Y2UgdGhpcyBudW1iZXIgaWYgYWxsIHRoZSBhcmd1bWVudHMgYXJlIG5vdCBuZWNlc3NhcnkKCQkJCQlmdW5jdGlvbiBjaGVja191c2VyKCAkcHVsbF9hbGxvd2VkLCAkb2JqZWN0X3R5cGUsICRvYmplY3QsICRzZl9zeW5jX3RyaWdnZXIsICRzYWxlc2ZvcmNlX21hcHBpbmcgKSB7CgkJCQkJCWlmICggJ0NvbnRhY3QnID09PSAkb2JqZWN0X3R5cGUgJiYgJ2FiY2RlZicgPT09ICRvYmplY3RbJ0lkJ10gKSB7CgkJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJCX0KCQkJCQl9CgkJCQkJKi8KCgkJCQkJaWYgKCBmYWxzZSA9PT0gJHB1bGxfYWxsb3dlZCApIHsKCQkJCQkJY29udGludWU7CgkJCQkJfQoKCQkJCQkvLyBzZXR1cCB0aGUgSWQgYW5kIHRoZSBkZWxldGVkRGF0ZSBmb3IgcGFzc2luZyB0byB0aGUgcXVldWUuCgkJCQkJJGRlbGV0ZWRfaXRlbSA9IGFycmF5KAoJCQkJCQknSWQnICAgICAgICAgID0+ICRyZXN1bHRbJ0lkJ10sCgkJCQkJCSdkZWxldGVkRGF0ZScgPT4gJHJlc3VsdFsnZGVsZXRlZERhdGUnXSwKCQkJCQkpOwoKCQkJCQkvLyBBZGQgYSBxdWV1ZSBhY3Rpb24gdG8gZGVsZXRlIGRhdGEgZnJvbSBXb3JkUHJlc3MgYWZ0ZXIgaXQgaGFzIGJlZW4gZGVsZXRlZCBmcm9tIFNhbGVzZm9yY2UuCgkJCQkJJHRoaXMtPnF1ZXVlLT5hZGQoCgkJCQkJCSR0aGlzLT5zY2hlZHVsYWJsZV9jbGFzc2VzWyAkdGhpcy0+c2NoZWR1bGVfbmFtZSBdWydjYWxsYmFjayddLAoJCQkJCQlhcnJheSgKCQkJCQkJCSdvYmplY3RfdHlwZScgICAgID0+ICR0eXBlLAoJCQkJCQkJJ29iamVjdCcgICAgICAgICAgPT4gJGRlbGV0ZWRfaXRlbSwKCQkJCQkJCSdzZl9zeW5jX3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCSksCgkJCQkJCSR0aGlzLT5zY2hlZHVsZV9uYW1lCgkJCQkJKTsKCgkJCQl9IC8vIGVuZCBmb3JlYWNoLgoKCQkJCSR0aGlzLT5wdWxsX29wdGlvbnMtPnNldCggJ2RlbGV0ZV9sYXN0JywgJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sIHRpbWUoKSApOwoKCQkJfSAvLyBFbmQgZm9yZWFjaCgpIGxvb3AuCgkJfSAvLyBFbmQgZm9yZWFjaCgpIGxvb3AuCgl9CgoJLyoqCgkgKiBNZXRob2QgZm9yIGFqYXggaG9va3MgdG8gY2FsbCBmb3IgcHVsbGluZyBtYW51YWxseQoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJG9iamVjdF90eXBlIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLgoJICogQHBhcmFtIHN0cmluZyAkc2FsZXNmb3JjZV9pZCB0aGUgU2FsZXNmb3JjZSByZWNvcmQgSUQuCgkgKiBAcmV0dXJuIGFycmF5ICRyZXN1bHQKCSAqLwoJcHVibGljIGZ1bmN0aW9uIG1hbnVhbF9wdWxsKCAkb2JqZWN0X3R5cGUsICRzYWxlc2ZvcmNlX2lkID0gJycgKSB7CgoJCWlmICggJycgPT09ICRzYWxlc2ZvcmNlX2lkICkgewoJCQkkc2Zfc3luY190cmlnZ2VyID0gJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2NyZWF0ZTsKCQl9IGVsc2UgewoJCQkkc2Zfc3luY190cmlnZ2VyID0gJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX3VwZGF0ZTsKCQl9CgoJCSRyZXN1bHRzID0gJHRoaXMtPnNhbGVzZm9yY2VfcHVsbF9wcm9jZXNzX3JlY29yZHMoICRvYmplY3RfdHlwZSwgJHNhbGVzZm9yY2VfaWQsICRzZl9zeW5jX3RyaWdnZXIgKTsKCgkJJGNvZGUgPSAnMjAxJzsKCQlmb3JlYWNoICggJHJlc3VsdHMgYXMgJHJlc3VsdCApIHsKCQkJaWYgKCAhIGlzc2V0KCAkcmVzdWx0WydzdGF0dXMnXSApIHx8ICdzdWNjZXNzJyAhPT0gJHJlc3VsdFsnc3RhdHVzJ10gKSB7CgkJCQkkY29kZSA9ICc0MDMnOwoJCQl9CgkJfQoKCQkkcmVzdWx0ID0gYXJyYXkoCgkJCSdjb2RlJyA9PiAkY29kZSwKCQkJJ2RhdGEnID0+IGFycmF5KAoJCQkJJ3N1Y2Nlc3MnID0+ICRyZXN1bHRzLAoJCQkpLAoJCSk7CgoJCXJldHVybiAkcmVzdWx0OwoKCX0KCgkvKioKCSAqIFN5bmMgV29yZFByZXNzIG9iamVjdHMgYW5kIFNhbGVzZm9yY2Ugb2JqZWN0cyBmcm9tIHRoZSBxdWV1ZSB1c2luZyB0aGUgUkVTVCBBUEkuCgkgKgoJICogQHBhcmFtIHN0cmluZyAgICAgICAkb2JqZWN0X3R5cGUgVHlwZSBvZiBTYWxlc2ZvcmNlIG9iamVjdC4KCSAqIEBwYXJhbSBhcnJheXxzdHJpbmcgJG9iamVjdCBUaGUgU2FsZXNmb3JjZSBkYXRhIG9yIGl0cyBJZCB2YWx1ZS4KCSAqIEBwYXJhbSBpbnQgICAgICAgICAgJHNmX3N5bmNfdHJpZ2dlciBUcmlnZ2VyIGZvciB0aGlzIHN5bmMuCgkgKiBAcmV0dXJuIGJvb2wgdHJ1ZSBvciBleGl0IHRoZSBtZXRob2QKCSAqIEB0aHJvd3MgT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIEV4Y2VwdGlvbiAkZS4KCSAqLwoJcHVibGljIGZ1bmN0aW9uIHNhbGVzZm9yY2VfcHVsbF9wcm9jZXNzX3JlY29yZHMoICRvYmplY3RfdHlwZSwgJG9iamVjdCwgJHNmX3N5bmNfdHJpZ2dlciApIHsKCgkJJHNmYXBpID0gJHRoaXMtPnNhbGVzZm9yY2VbJ3NmYXBpJ107CgoJCWlmICggaXNfc3RyaW5nKCAkb2JqZWN0ICkgKSB7CgkJCSRzYWxlc2ZvcmNlX2lkID0gJG9iamVjdDsKCQkJLy8gTG9hZCB0aGUgU2FsZXNmb3JjZSBvYmplY3QgZGF0YSB0byBzYXZlIGluIFdvcmRQcmVzcy4gV2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGlzIGRhdGEgZG9lcyBub3QgZ2V0IGNhY2hlZCwgd2hpY2ggaXMgY29uc2lzdGVudCB3aXRoIG90aGVyIHB1bGwgYmVoYXZpb3IgYXMgd2VsbCBhcyBpbiBvdGhlciBtZXRob2RzIGluIHRoaXMgY2xhc3MuCgkJCS8vIFdlIHNob3VsZCBvbmx5IGRvIHRoaXMgaWYgd2UncmUgbm90IHRyeWluZyB0byBkZWxldGUgZGF0YSBpbiBXb3JkUHJlc3MgLSBvdGhlcndpc2UsIHdlJ2xsIGdldCBhIDQwNCBmcm9tIFNhbGVzZm9yY2UgYW5kIHRoZSBkZWxldGUgd2lsbCBmYWlsLgoJCQlpZiAoICRzZl9zeW5jX3RyaWdnZXIgIT09ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9kZWxldGUgKSB7CgkJCQkkb2JqZWN0ID0gJHNmYXBpLT5vYmplY3RfcmVhZCgKCQkJCQkkb2JqZWN0X3R5cGUsCgkJCQkJJHNhbGVzZm9yY2VfaWQsCgkJCQkJYXJyYXkoCgkJCQkJCSdjYWNoZScgPT4gZmFsc2UsCgkJCQkJKQoJCQkJKVsnZGF0YSddOwoJCQl9IGVsc2UgewoJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgZmFpbGVkIHB1bGwuCgkJCQkJJHN0YXR1cyA9ICdkZWJ1Zyc7CgkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cy4KCQkJCQkJZXNjX2h0bWxfXyggJyUxJHM6IHdlIGFyZSBtaXNzaW5nIGEgZGVsZXRlZERhdGUgYXR0cmlidXRlIGhlcmUsIGJ1dCBhcmUgZXhwZWN0ZWQgdG8gZGVsZXRlIGFuIGl0ZW0uJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICkKCQkJCQkpOwoKCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJfQoKCQkJCQkkZGVidWcgPSBhcnJheSgKCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJJ21lc3NhZ2UnID0+ICcnLAoJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJJ3BhcmVudCcgID0+ICcnLAoJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkpOwoKCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRkZWJ1ZyApOwoJCQkJfQoKCQkJCSRvYmplY3QgPSBhcnJheSgKCQkJCQknSWQnICAgICAgICAgID0+ICRvYmplY3QsCgkJCQkJJ2RlbGV0ZWREYXRlJyA9PiBnbWRhdGUoICdZLW0tZFxUSDppOnNcWicgKSwgLy8gdGhpcyBzaG91bGQgaG9wZWZ1bGx5IG5ldmVyIGhhcHBlbi4KCQkJCSk7CgkJCX0gLy8gZGVsZXRlZCByZWNvcmRzIHNob3VsZCBhbHdheXMgY29tZSB0aHJvdWdoIHdpdGggdGhlaXIgb3duIGRlbGV0ZWREYXRlIHZhbHVlLgoJCX0KCgkJJG1hcHBpbmdfY29uZGl0aW9ucyA9IGFycmF5KAoJCQknc2FsZXNmb3JjZV9vYmplY3QnID0+ICRvYmplY3RfdHlwZSwKCQkpOwoKCQlpZiAoIGlzc2V0KCAkb2JqZWN0WydSZWNvcmRUeXBlSWQnXSApICYmICRvYmplY3RbJ1JlY29yZFR5cGVJZCddICE9PSAkdGhpcy0+bWFwcGluZ3MtPnNhbGVzZm9yY2VfZGVmYXVsdF9yZWNvcmRfdHlwZSApIHsKCQkJLy8gdXNlIHRoaXMgY29uZGl0aW9uIHRvIGZpbHRlciB0aGUgbWFwcGluZ3MsIGF0IHRoYXQgdGltZS4KCQkJJG1hcHBpbmdfY29uZGl0aW9uc1snc2FsZXNmb3JjZV9yZWNvcmRfdHlwZSddID0gJG9iamVjdFsnUmVjb3JkVHlwZUlkJ107CgkJfQoKCQkkc2FsZXNmb3JjZV9tYXBwaW5ncyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2ZpZWxkbWFwcygKCQkJbnVsbCwKCQkJYXJyYXlfbWVyZ2UoCgkJCQkkdGhpcy0+bWFwcGluZ3MtPmFjdGl2ZV9maWVsZG1hcF9jb25kaXRpb25zLAoJCQkJJG1hcHBpbmdfY29uZGl0aW9ucywKCQkJKSwKCQkpOwoKCQkvLyBmcm9tIGRydXBhbDogaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBtYXBwaW5nLCBkb24ndCB0aHJvdyBleGNlcHRpb25zLgoJCSRob2xkX2V4Y2VwdGlvbnMgPSBjb3VudCggJHNhbGVzZm9yY2VfbWFwcGluZ3MgKSA+IDE7CgkJJGV4Y2VwdGlvbiAgICAgICA9IGZhbHNlOwoKCQkkZnJlcXVlbmNpZXMgPSAkdGhpcy0+cXVldWUtPmdldF9mcmVxdWVuY2llcygpOwoJCSRzZWNvbmRzICAgICA9IHJlc2V0KCAkZnJlcXVlbmNpZXMgKVsnZnJlcXVlbmN5J10gKyA2MDsKCgkJJHRyYW5zaWVudHNfdG9fZGVsZXRlID0gYXJyYXkoKTsKCgkJJHJlc3VsdHMgPSBhcnJheSgpOwoKCQlmb3JlYWNoICggJHNhbGVzZm9yY2VfbWFwcGluZ3MgYXMgJGZpZWxkbWFwX2tleSA9PiAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoJCQkkdHJhbnNpZW50c190b19kZWxldGVbICRmaWVsZG1hcF9rZXkgXSA9IGFycmF5KAoJCQkJJ2ZpZWxkbWFwJyAgID0+ICRzYWxlc2ZvcmNlX21hcHBpbmcsCgkJCQkndHJhbnNpZW50cycgPT4gYXJyYXkoKSwKCQkJKTsKCQkJLy8gdGhpcyByZXR1cm5zIHRoZSByb3cgdGhhdCBtYXBzIGFuIGluZGl2aWR1YWwgU2FsZXNmb3JjZSByb3cgdG8gYW4gaW5kaXZpZHVhbCBXb3JkUHJlc3Mgcm93LgoJCQlpZiAoIGlzc2V0KCAkb2JqZWN0WydJZCddICkgKSB7CgkJCQkkbWFwcGluZ19vYmplY3RzID0gJHRoaXMtPm1hcHBpbmdzLT5sb2FkX29iamVjdF9tYXBzX2J5X3NhbGVzZm9yY2VfaWQoICRvYmplY3RbJ0lkJ10sICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkJfSBlbHNlIHsKCQkJCS8vIGlmIHdlIGRvbid0IGhhdmUgYSBTYWxlc2ZvcmNlIG9iamVjdCBpZCwgd2UndmUgZ290IG5vIGJ1c2luZXNzIGRvaW5nIHN0dWZmIGluIFdvcmRQcmVzcy4KCQkJCSRzdGF0dXMgPSAnZXJyb3InOwoJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJfQoKCQkJCSR0aXRsZSA9IHNwcmludGYoCgkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLgoJCQkJCWVzY19odG1sX18oICclMSRzOiBTYWxlc2ZvcmNlIFB1bGw6IHVuYWJsZSB0byBwcm9jZXNzIHF1ZXVlIGl0ZW0gYmVjYXVzZSBpdCBoYXMgbm8gU2FsZXNmb3JjZSBJZC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApCgkJCQkpOwoJCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJJ21lc3NhZ2UnID0+IHByaW50X3IoICRvYmplY3QsIHRydWUgKSwgLy8gcGhwY3M6aWdub3JlIFdvcmRQcmVzcy5QSFAuRGV2ZWxvcG1lbnRGdW5jdGlvbnMuZXJyb3JfbG9nX3ByaW50X3IKCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkncGFyZW50JyAgPT4gMCwgLy8gcGFyZW50IGlkIGdvZXMgaGVyZSBidXQgd2UgZG9uJ3QgaGF2ZSBvbmUsIHNvIG1ha2UgaXQgMC4KCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCSk7CgoJCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgkJCQljb250aW51ZTsKCQkJfQoKCQkJLy8gSXMgdGhpcyBTYWxlc2ZvcmNlIG9iamVjdCBhbHJlYWR5IGNvbm5lY3RlZCB0byBhdCBsZWFzdCBvbmUgV29yZFByZXNzIG9iamVjdD8KCQkJaWYgKCBpc3NldCggJG1hcHBpbmdfb2JqZWN0c1swXVsnaWQnXSApICkgewoJCQkJJGlzX25ldyA9IGZhbHNlOwoJCQl9IGVsc2UgewoJCQkJLy8gdGhlcmUgaXMgbm90IGEgbWFwcGluZyBvYmplY3QgZm9yIHRoaXMgU2FsZXNmb3JjZSBvYmplY3QgaWQgeWV0CgkJCQkvLyBjaGVjayB0byBzZWUgaWYgdGhlcmUgaXMgYSBwdXNoaW5nIHRyYW5zaWVudCBmb3IgdGhhdCBTYWxlc2ZvcmNlIElkLgoJCQkJJGlzX25ldyA9IHRydWU7CgkJCX0KCgkJCS8vIGJ5IGRlZmF1bHQsIHdlJ3JlIG5vdCBkb2luZyBhIG1lcmdlLgoJCQkkaXNfbWVyZ2UgPSBmYWxzZTsKCQkJJG1lcmdlZCAgID0gJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+Z2V0KCAnc2FsZXNmb3JjZV9tZXJnZWQnLCAkb2JqZWN0X3R5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKTsKCQkJaWYgKCBmYWxzZSAhPT0gJG1lcmdlZCApIHsKCQkJCSRrZXkgPSBhcnJheV9zZWFyY2goICRvYmplY3RbJ0lkJ10sIGFycmF5X2NvbHVtbiggJG1lcmdlZCwgJ0lkJyApLCB0cnVlICk7CgkJCQlpZiAoIGZhbHNlICE9PSAka2V5ICkgewoJCQkJCSRpc19tZXJnZSA9IHRydWU7CgkJCQkJJGlzX25ldyAgID0gZmFsc2U7CgkJCQl9CgkJCX0KCgkJCSRtYXBwaW5nX29iamVjdF9pZF90cmFuc2llbnQgPSAkdGhpcy0+c3luY190cmFuc2llbnRzLT5nZXQoICdzYWxlc2ZvcmNlX3B1c2hpbmdfb2JqZWN0X2lkJywgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKTsKCQkJaWYgKCBmYWxzZSA9PT0gJG1hcHBpbmdfb2JqZWN0X2lkX3RyYW5zaWVudCApIHsKCQkJCSRtYXBwaW5nX29iamVjdF9pZF90cmFuc2llbnQgPSAkb2JqZWN0WydJZCddOwoJCQl9CgkJCS8vIEhlcmUncyB3aGVyZSB3ZSBjaGVjayB0byBzZWUgd2hldGhlciB0aGUgY3VycmVudCByZWNvcmQgd2FzIHVwZGF0ZWQgYnkgYSBwdXNoIGZyb20gdGhpcyBwbHVnaW4gb3Igbm90LiBIZXJlJ3MgaG93IGl0IHdvcmtzOgoJCQkvLyAxLiBBIHJlY29yZCBnZXRzIHB1c2hlZCB0byBTYWxlc2ZvcmNlIGJ5IHRoaXMgcGx1Z2luLgoJCQkvLyAyLiBXZSBzYXZlIHRoZSBMYXN0TW9kaWZpZWREYXRlIGZyb20gdGhlIFNhbGVzZm9yY2UgcmVzdWx0IGFzIGEgdGltZXN0YW1wIGluIHRoZSB0cmFuc2llbnQuCgkJCS8vIDMuIEJlbG93LCBpbiBhZGRpdGlvbiB0byBjaGVja2luZyB0aGUgU2FsZXNmb3JjZSBJZCwgd2UgY2hlY2sgYWdhaW5zdCAkb2JqZWN0J3MgTGFzdE1vZGlmaWVkRGF0ZSBhbmQgaWYgaXQncyBub3QgbGF0ZXIgdGhhbiB0aGUgdHJhbnNpZW50IHZhbHVlLCB3ZSBza2lwIGl0IGJlY2F1c2UgaXQncyBzdGlsbCBwdXNoaW5nIGZyb20gb3VyIGFjdGl2aXR5LgoJCQkkc2FsZXNmb3JjZV9wdXNoaW5nID0gKGludCkgJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+Z2V0KCAnc2FsZXNmb3JjZV9wdXNoaW5nXycgLiAkbWFwcGluZ19vYmplY3RfaWRfdHJhbnNpZW50LCAnJywgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSApOwoKCQkJaWYgKCAxICE9PSAkc2FsZXNmb3JjZV9wdXNoaW5nICkgewoJCQkJLy8gdGhlIGZvcm1hdCB0byBjb21wYXJlIGlzIGxpa2UgdGhpczogZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkc2FsZXNmb3JjZV9wdXNoaW5nICkuCgkJCQlpZiAoICRtYXBwaW5nX29iamVjdF9pZF90cmFuc2llbnQgIT09ICRvYmplY3RbJ0lkJ10gKSB7CgkJCQkJJHNhbGVzZm9yY2VfcHVzaGluZyA9IDA7CgkJCQl9IGVsc2VpZiAoIDAgPT09ICRzYWxlc2ZvcmNlX3B1c2hpbmcgfHwgKCBpc3NldCggJG9iamVjdFsnTGFzdE1vZGlmaWVkRGF0ZSddICkgJiYgc3RydG90aW1lKCAkb2JqZWN0WydMYXN0TW9kaWZpZWREYXRlJ10gKSA+ICRzYWxlc2ZvcmNlX3B1c2hpbmcgKSB8fCAoIGlzc2V0KCAkb2JqZWN0WydkZWxldGVkRGF0ZSddICkgJiYgc3RydG90aW1lKCAkb2JqZWN0WydkZWxldGVkRGF0ZSddICkgPiAkc2FsZXNmb3JjZV9wdXNoaW5nICkgKSB7CgkJCQkJJHNhbGVzZm9yY2VfcHVzaGluZyA9IDA7CgkJCQl9IGVsc2UgewoJCQkJCSRzYWxlc2ZvcmNlX3B1c2hpbmcgPSAxOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJJHNhbGVzZm9yY2VfcHVzaGluZyA9IDE7CgkJCX0KCgkJCWlmICggMSA9PT0gJHNhbGVzZm9yY2VfcHVzaGluZyApIHsKCQkJCSR0cmFuc2llbnRzX3RvX2RlbGV0ZVsgJGZpZWxkbWFwX2tleSBdWyd0cmFuc2llbnRzJ11bXSA9ICRtYXBwaW5nX29iamVjdF9pZF90cmFuc2llbnQ7CgkJCQlpZiAoIHRydWUgPT09ICR0aGlzLT5kZWJ1ZyApIHsKCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgcHVsbC4KCQkJCQkkc3RhdHVzID0gJ2RlYnVnJzsKCQkJCQkkdGl0bGUgID0gc3ByaW50ZigKCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB0aGUgbWFwcGluZyBvYmplY3QgSUQgdHJhbnNpZW50LgoJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogbWFwcGluZyBvYmplY3QgdHJhbnNpZW50IElEICUyJHMgaXMgY3VycmVudGx5IHB1c2hpbmcsIHNvIHdlIGRvIG5vdCBwdWxsIGl0LicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCQkkbWFwcGluZ19vYmplY3RfaWRfdHJhbnNpZW50CgkJCQkJKTsKCgkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCX0KCgkJCQkJJGRlYnVnID0gYXJyYXkoCgkJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJCSdtZXNzYWdlJyA9PiAnJywKCQkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCSdwYXJlbnQnICA9PiAnJywKCQkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkJKTsKCgkJCQkJJGxvZ2dpbmctPnNldHVwKCAkZGVidWcgKTsKCQkJCX0KCgkJCQljb250aW51ZTsKCQkJfQoKCQkJJHN0cnVjdHVyZSAgICAgICAgICAgICAgID0gJHRoaXMtPndvcmRwcmVzcy0+Z2V0X3dvcmRwcmVzc190YWJsZV9zdHJ1Y3R1cmUoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApOwoJCQkkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgPSAkc3RydWN0dXJlWydpZF9maWVsZCddOwoKCQkJLy8gb25seSBkZWFsIHdpdGggcGFyYW1ldGVycyBpZiB3ZSBhcmUgbm90IGRlbGV0aW5nLgoJCQlpZiAoICggdHJ1ZSA9PT0gJGlzX25ldyAmJiAkc2Zfc3luY190cmlnZ2VyID09PSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfY3JlYXRlICkgfHwgJHNmX3N5bmNfdHJpZ2dlciA9PT0gJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX3VwZGF0ZSApIHsgLy8gdHJpZ2dlciBpcyBhIGJpdCBvcGVyYXRvcgoJCQkJLy8gbWFwIHRoZSBTYWxlc2ZvcmNlIHZhbHVlcyB0byBXb3JkUHJlc3MgZmllbGRzLgoJCQkJJHBhcmFtcyA9ICR0aGlzLT5tYXBwaW5ncy0+bWFwX3BhcmFtcyggJHNhbGVzZm9yY2VfbWFwcGluZywgJG9iamVjdCwgJHNmX3N5bmNfdHJpZ2dlciwgZmFsc2UsICRpc19uZXcsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApOwoKCQkJCS8vIGhvb2sgdG8gYWxsb3cgb3RoZXIgcGx1Z2lucyB0byBtb2RpZnkgdGhlICRwYXJhbXMgYXJyYXkKCQkJCS8vIHVzZSBob29rIHRvIG1hcCBmaWVsZHMgYmV0d2VlbiB0aGUgV29yZFByZXNzIGFuZCBTYWxlc2ZvcmNlIG9iamVjdHMKCQkJCS8vIHJldHVybnMgJHBhcmFtcy4KCQkJCSRwYXJhbXMgPSBhcHBseV9maWx0ZXJzKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX3BhcmFtc19tb2RpZnknLCAkcGFyYW1zLCAkc2FsZXNmb3JjZV9tYXBwaW5nLCAkb2JqZWN0LCAkc2Zfc3luY190cmlnZ2VyLCBmYWxzZSwgJGlzX25ldyApOwoKCQkJCS8vIHNldHVwIHByZW1hdGNoIHBhcmFtZXRlcnMuCgkJCQkkcHJlbWF0Y2ggPSBhcnJheSgpOwoKCQkJCS8vIGlmIHRoZXJlIGlzIGEgcHJlbWF0Y2ggV29yZFByZXNzIGZpZWxkIC0gaWUgZW1haWwgLSBvbiB0aGUgZmllbGRtYXAgb2JqZWN0LgoJCQkJaWYgKCBpc3NldCggJHBhcmFtc1sncHJlbWF0Y2gnXSApICYmIGlzX2FycmF5KCAkcGFyYW1zWydwcmVtYXRjaCddICkgKSB7CgkJCQkJJHByZW1hdGNoWydmaWVsZF93b3JkcHJlc3MnXSAgPSAkcGFyYW1zWydwcmVtYXRjaCddWyd3b3JkcHJlc3NfZmllbGQnXTsKCQkJCQkkcHJlbWF0Y2hbJ2ZpZWxkX3NhbGVzZm9yY2UnXSA9ICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ3NhbGVzZm9yY2VfZmllbGQnXTsKCQkJCQkkcHJlbWF0Y2hbJ3ZhbHVlJ10gICAgICAgICAgICA9ICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ3ZhbHVlJ107CgkJCQkJJHByZW1hdGNoWydtZXRob2RzJ10gICAgICAgICAgPSBhcnJheSgKCQkJCQkJJ21ldGhvZF9tYXRjaCcgID0+IGlzc2V0KCAkcGFyYW1zWydwcmVtYXRjaCddWydtZXRob2RfbWF0Y2gnXSApID8gJHBhcmFtc1sncHJlbWF0Y2gnXVsnbWV0aG9kX21hdGNoJ10gOiAkcGFyYW1zWydwcmVtYXRjaCddWydtZXRob2RfcmVhZCddLAoJCQkJCQknbWV0aG9kX2NyZWF0ZScgPT4gJHBhcmFtc1sncHJlbWF0Y2gnXVsnbWV0aG9kX2NyZWF0ZSddLAoJCQkJCQknbWV0aG9kX3VwZGF0ZScgPT4gJHBhcmFtc1sncHJlbWF0Y2gnXVsnbWV0aG9kX3VwZGF0ZSddLAoJCQkJCQknbWV0aG9kX3JlYWQnICAgPT4gJHBhcmFtc1sncHJlbWF0Y2gnXVsnbWV0aG9kX3JlYWQnXSwKCQkJCQkpOwoJCQkJCXVuc2V0KCAkcGFyYW1zWydwcmVtYXRjaCddICk7CgkJCQl9CgoJCQkJLy8gaWYgdGhlcmUgaXMgYW4gZXh0ZXJuYWwga2V5IGZpZWxkIGluIFNhbGVzZm9yY2UgLSBpZSBhIE1haWxjaGltcCB1c2VyIGlkIC0gb24gdGhlIGZpZWxkbWFwIG9iamVjdCwgdGhpcyBzaG91bGQgbm90IGFmZmVjdCBob3cgV29yZFByZXNzIGhhbmRsZXMgaXQgaXMgbm90IGluY2x1ZGVkIGluIHRoZSBwdWxsIHBhcmFtZXRlcnMuCgoJCQkJLy8gaWYgd2UgZG9uJ3QgZ2V0IGFueSBwYXJhbXMsIHRoZXJlIGFyZSBubyBmaWVsZHMgdGhhdCBzaG91bGQgYmUgc2VudCB0byBXb3JkUHJlc3MuCgkJCQlpZiAoIGVtcHR5KCAkcGFyYW1zICkgKSB7CgoJCQkJCS8vIGlmIHRoZSBwYXJhbWV0ZXJzIGFycmF5IGlzIGVtcHR5IGF0IHRoaXMgcG9pbnQsIHdlIHNob3VsZCBjcmVhdGUgYSBsb2cgZW50cnkgdG8gdGhhdCBlZmZlY3QuCgkJCQkJLy8gSSB0aGluayBpdCBzaG91bGQgYmUgYSBkZWJ1ZyBtZXNzYWdlLCB1bmxlc3Mgd2UgbGVhcm4gZnJvbSB1c2VycyB0aGF0IGl0IHNob3VsZCBiZSByYWlzZWQgdG8gYW4gZXJyb3IuCgkJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJCSRzdGF0dXMgPSAnZGVidWcnOwoJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCX0KCgkJCQkJCSR0aXRsZSA9IHNwcmludGYoCgkJCQkJCQkvLyB0cmFuc2xhdG9yczogJTEkcyBpcyB0aGUgbG9nIHN0YXR1cy4KCQkJCQkJCWVzY19odG1sX18oICclMSRzIE1hcHBpbmc6IGFjY29yZGluZyB0byB0aGUgY3VycmVudCBwbHVnaW4gc2V0dGluZ3MsIHRoZXJlIGFyZSBubyBwYXJhbWV0ZXJzIGluIHRoZSBjdXJyZW50IGRhdGFzZXQgdGhhdCBjYW4gYmUgcHVsbGVkIGZyb20gU2FsZXNmb3JjZS4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICkKCQkJCQkJKTsKCgkJCQkJCSRib2R5ID0gJyc7CgoJCQkJCQkkYm9keSAuPSBzcHJpbnRmKAoJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBmaWVsZG1hcCByb3cgSUQsIDIpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0LCAzKSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QuCgkJCQkJCQknPHA+JyAuIGVzY19odG1sX18oICdUaGVyZSBpcyBhIGZpZWxkbWFwIHdpdGggSUQgb2YgJTEkcyBhbmQgaXQgbWFwcyB0aGUgV29yZFByZXNzICUyJHMgb2JqZWN0IHRvIHRoZSBTYWxlc2ZvcmNlICUzJHMgb2JqZWN0LicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L3A+JywKCQkJCQkJCWFic2ludCggJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSApLAoJCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10gKQoJCQkJCQkpOwoKCQkJCQkJLy8gd2hldGhlciBpdCdzIGEgbmV3IG1hcHBpbmcgb2JqZWN0IG9yIG5vdC4KCQkJCQkJaWYgKCBmYWxzZSA9PT0gJGlzX25ldyApIHsKCQkJCQkJCS8vIHRoaXMgb25lIGlzIG5vdCBuZXcuCgkJCQkJCQlmb3JlYWNoICggJG1hcHBpbmdfb2JqZWN0cyBhcyAkbWFwcGluZ19vYmplY3QgKSB7CgkJCQkJCQkJJGJvZHkgLj0gc3ByaW50ZigKCQkJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBtYXBwaW5nIG9iamVjdCByb3cgSUQsIDIpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0LCAzKSB0aGUgSUQgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QsIDQpIHRoZSBJRCBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QgaXQgd2FzIHRyeWluZyB0byBtYXAuCgkJCQkJCQkJCSc8cD4nIC4gZXNjX2h0bWxfXyggJ1RoZXJlIGlzIGFuIGV4aXN0aW5nIG9iamVjdCBtYXAgd2l0aCBJRCBvZiAlMSRzIGFuZCBpdCBpcyBtYXBwZWQgdG8gdGhlIFdvcmRQcmVzcyAlMiRzIHdpdGggSUQgb2YgJTMkcyBhbmQgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHdpdGggSUQgb2YgJTQkcy4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPicsCgkJCQkJCQkJCWFic2ludCggJG1hcHBpbmdfb2JqZWN0WydpZCddICksCgkJCQkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSApLAoJCQkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gKQoJCQkJCQkJCSk7CgkJCQkJCQl9CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQkvLyB0aGlzIG9uZSBpcyBuZXcuCgkJCQkJCQkkYm9keSAuPSBzcHJpbnRmKAoJCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgSUQgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LCAyKSB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLgoJCQkJCQkJCSc8cD4nIC4gZXNjX2h0bWxfXyggJ1RoZSBwbHVnaW4gd2FzIHRyeWluZyB0byBwdWxsIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB3aXRoIElEIG9mICUxJHMgdG8gdGhlIFdvcmRQcmVzcyAlMiRzIG9iamVjdCB0eXBlLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L3A+JywKCQkJCQkJCQllc2NfYXR0ciggJG9iamVjdFsnSWQnXSApLAoJCQkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKQoJCQkJCQkJKTsKCQkJCQkJfQoKCQkJCQkJJGJvZHkgLj0gc3ByaW50ZigKCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlIDEpIHRoZSBvYmplY3QncyBkYXRhIHRoYXQgd2FzIGF0dGVtcHRlZC4KCQkJCQkJCSc8cD4nIC4gZXNjX2h0bWxfXyggJ1RoZSBTYWxlc2ZvcmNlIG9iamVjdCBkYXRhIHRoYXQgd2FzIGF0dGVtcHRlZDogJTEkcycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L3A+JywKCQkJCQkJCXByaW50X3IoICRvYmplY3QsIHRydWUgKSAvLyBwaHBjczppZ25vcmUgV29yZFByZXNzLlBIUC5EZXZlbG9wbWVudEZ1bmN0aW9ucy5lcnJvcl9sb2dfcHJpbnRfcgoJCQkJCQkpOwoKCQkJCQkJJGxvZ2dpbmctPnNldHVwKAoJCQkJCQkJJHRpdGxlLAoJCQkJCQkJJGJvZHksCgkJCQkJCQkkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkJMCwKCQkJCQkJCSRzdGF0dXMKCQkJCQkJKTsKCQkJCQl9IC8vIGVuZCBkZWJ1ZyBtb2RlIGNoZWNrLgoKCQkJCQljb250aW51ZTsKCQkJCX0gLy8gZW5kIGlmIHBhcmFtcyBhcmUgZW1wdHkuCgkJCX0gZWxzZWlmICggJHNmX3N5bmNfdHJpZ2dlciA9PT0gJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2RlbGV0ZSApIHsKCQkJCS8vIHRoaXMgaXMgYSBkZWxldGlvbi4gZG9uJ3QgZGVhbCB3aXRoIHBhcmFtZXRlcnMuCgkJCQkkaXNfbmV3ID0gZmFsc2U7CgkJCX0gLy8gZW5kIGNoZWNraW5nIGZvciBjcmVhdGUvdXBkYXRlL2RlbGV0ZS4KCgkJCS8vIGlmIHRoaXMgU2FsZXNmb3JjZSByZWNvcmQgaXMgbmV3IHRvIFdvcmRQcmVzcywgd2UgY2FuIHRyeSB0byBjcmVhdGUgaXQuCgkJCWlmICggdHJ1ZSA9PT0gJGlzX25ldyApIHsKCQkJCWlmICggaXNzZXQoICRtYXBwaW5nX29iamVjdHNbMF0gKSApIHsKCQkJCQkkbWFwcGluZ19vYmplY3QgPSAkbWFwcGluZ19vYmplY3RzWzBdOwoJCQkJfSBlbHNlIHsKCQkJCQkkbWFwcGluZ19vYmplY3QgPSAkbWFwcGluZ19vYmplY3RzOwoJCQkJfQoJCQkJJHN5bmNlZF9vYmplY3QgPSAkdGhpcy0+Z2V0X3N5bmNlZF9vYmplY3QoICRvYmplY3QsICRtYXBwaW5nX29iamVjdCwgJHNhbGVzZm9yY2VfbWFwcGluZyApOwoJCQkJJGNyZWF0ZSAgICAgICAgPSAkdGhpcy0+Y3JlYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoICRzZl9zeW5jX3RyaWdnZXIsICRzeW5jZWRfb2JqZWN0LCAkcGFyYW1zLCAkcHJlbWF0Y2gsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSwgJHNlY29uZHMgKTsKCQkJCSRyZXN1bHRzICAgICAgID0gYXJyYXlfbWVyZ2UoICRyZXN1bHRzLCAkY3JlYXRlICk7CgkJCX0gZWxzZWlmICggZmFsc2UgPT09ICRpc19uZXcgJiYgZmFsc2UgPT09ICRpc19tZXJnZSApIHsKCQkJCS8vIHVubGVzcyB3ZSdyZSBvbiBhIGRlbGV0ZSwgdGhlcmUgaXMgYWxyZWFkeSBhdCBsZWFzdCBvbmUgbWFwcGluZ19vYmplY3RbJ2lkJ10gYXNzb2NpYXRlZCB3aXRoIHRoaXMgU2FsZXNmb3JjZSBJZAoJCQkJLy8gcmlnaHQgaGVyZSB3ZSBzaG91bGQgc2V0IHRoZSBwdWxsaW5nIHRyYW5zaWVudC4KCQkJCSR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPnNldCggJ3NhbGVzZm9yY2VfcHVsbGluZ18nIC4gJG9iamVjdFsnSWQnXSwgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sIDEsICRzZWNvbmRzICk7CgkJCQkkdGhpcy0+c3luY190cmFuc2llbnRzLT5zZXQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfb2JqZWN0X2lkJywgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sICRvYmplY3RbJ0lkJ10gKTsKCgkJCQlmb3JlYWNoICggJG1hcHBpbmdfb2JqZWN0cyBhcyAkbWFwcGluZ19vYmplY3QgKSB7CgkJCQkJJHN5bmNlZF9vYmplY3QgPSAkdGhpcy0+Z2V0X3N5bmNlZF9vYmplY3QoICRvYmplY3QsICRtYXBwaW5nX29iamVjdCwgJHNhbGVzZm9yY2VfbWFwcGluZyApOwoJCQkJCS8vIGlmIHBhcmFtcyBpcyBzZXQsIHRoaXMgaXMgYW4gdXBkYXRlIHJlcXVlc3QuIGlmIG5vdCwgaXQgaXMgYSBkZWxldGUuCgkJCQkJaWYgKCBpc3NldCggJHBhcmFtcyApICkgewoJCQkJCQkkdXBkYXRlICA9ICR0aGlzLT51cGRhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSggJHNmX3N5bmNfdHJpZ2dlciwgJHN5bmNlZF9vYmplY3QsICRwYXJhbXMsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSwgJHNlY29uZHMgKTsKCQkJCQkJJHJlc3VsdHMgPSBhcnJheV9tZXJnZSggJHJlc3VsdHMsICR1cGRhdGUgKTsKCQkJCQl9IGVsc2UgewoJCQkJCQkkZGVsZXRlICA9ICR0aGlzLT5kZWxldGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSggJHNmX3N5bmNfdHJpZ2dlciwgJHN5bmNlZF9vYmplY3QsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSwgJHNlY29uZHMsICRtYXBwaW5nX29iamVjdHMgKTsKCQkJCQkJJHJlc3VsdHMgPSBhcnJheV9tZXJnZSggJHJlc3VsdHMsICRkZWxldGUgKTsKCQkJCQl9CgkJCQl9CgkJCX0gZWxzZWlmICggZmFsc2UgPT09ICRpc19uZXcgKSB7CgkJCQkvLyBvbiBtZXJnZSwgd2Ugc2hvdWxkIHN0aWxsIHVwZGF0ZSB0aGUgdHJhbnNpZW50LgoJCQkJJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+c2V0KCAnc2FsZXNmb3JjZV9wdWxsaW5nXycgLiAkb2JqZWN0WydJZCddLCAnJywgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgMSwgJHNlY29uZHMgKTsKCQkJCSR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPnNldCggJ3NhbGVzZm9yY2VfcHVsbGluZ19vYmplY3RfaWQnLCAnJywgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgJG9iamVjdFsnSWQnXSApOwoJCQl9CgkJfSAvLyBFbmQgZm9yZWFjaCgpIG9uICRzYWxlc2ZvcmNlX21hcHBpbmdzLgoKCQkvLyBkZWxldGUgdHJhbnNpZW50cyB0aGF0IHdlJ3ZlIGFscmVhZHkgcHJvY2Vzc2VkIGZvciB0aGlzIFNhbGVzZm9yY2Ugb2JqZWN0LgoJCWZvcmVhY2ggKCAkdHJhbnNpZW50c190b19kZWxldGUgYXMgJGtleSA9PiAkdmFsdWUgKSB7CgkJCSRmaWVsZG1hcF9pZCA9ICR2YWx1ZVsnZmllbGRtYXAnXVsnaWQnXTsKCQkJJHRyYW5zaWVudHMgID0gJHZhbHVlWyd0cmFuc2llbnRzJ107CgkJCWZvcmVhY2ggKCAkdHJhbnNpZW50cyBhcyAkdHJhbnNpZW50X2VuZCApIHsKCQkJCSR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPmRlbGV0ZSggJ3NhbGVzZm9yY2VfcHVzaGluZ18nIC4gJHRyYW5zaWVudF9lbmQsICcnLCAkZmllbGRtYXBfaWQgKTsKCQkJfQoJCQkkcHVzaGluZ19pZCA9ICR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPmdldCggJ3NhbGVzZm9yY2VfcHVzaGluZ19vYmplY3RfaWQnLCAnJywgJGZpZWxkbWFwX2lkICk7CgkJCWlmICggaW5fYXJyYXkoICRwdXNoaW5nX2lkLCAkdHJhbnNpZW50cywgdHJ1ZSApICkgewoJCQkJJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+ZGVsZXRlKCAnc2FsZXNmb3JjZV9wdXNoaW5nX29iamVjdF9pZCcsICcnLCAkZmllbGRtYXBfaWQgKTsKCQkJfQoJCX0KCgkJaWYgKCAhIGVtcHR5KCAkZXhjZXB0aW9uICkgKSB7CgkJCXRocm93ICRleGNlcHRpb247CgkJfQoKCQlyZXR1cm4gJHJlc3VsdHM7CgoJfQoKCS8qKgoJICogR2VuZXJhdGUgdGhlIHN5bmNlZF9vYmplY3QgYXJyYXkKCSAqCgkgKiBAcGFyYW0gYXJyYXkgJG9iamVjdCBUaGUgZGF0YSBmb3IgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LgoJICogQHBhcmFtIGFycmF5ICRtYXBwaW5nX29iamVjdCBUaGUgZGF0YSBmb3IgdGhlIG1hcHBpbmcgb2JqZWN0IGJldHdlZW4gdGhlIGluZGl2aWR1YWwgU2FsZXNmb3JjZSBhbmQgV29yZFByZXNzIGl0ZW1zLgoJICogQHBhcmFtIGFycmF5ICRzYWxlc2ZvcmNlX21hcHBpbmcgVGhlIGRhdGEgZm9yIHRoZSBmaWVsZG1hcCBiZXR3ZWVuIHRoZSBvYmplY3QgdHlwZXMuCgkgKiBAcmV0dXJuIGFycmF5ICRzeW5jZWRfb2JqZWN0IFRoZSBjb21iaW5lZCBhcnJheSBvZiB0aGVzZSBpdGVtcy4gSXQgYWxsb3dzIGZvciBmaWx0ZXJpbmcgb2YsIGF0IGxlYXN0LCB0aGUgbWFwcGluZ19vYmplY3QuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gZ2V0X3N5bmNlZF9vYmplY3QoICRvYmplY3QsICRtYXBwaW5nX29iamVjdCwgJHNhbGVzZm9yY2VfbWFwcGluZyApIHsKCQkvLyBpZiB0aGVyZSdzIGFscmVhZHkgYSBjb25uZWN0aW9uIGJldHdlZW4gdGhlIG9iamVjdHMsICRtYXBwaW5nX29iamVjdCB3aWxsIGJlIGFuIGFycmF5IGF0IHRoaXMgcG9pbnQKCQkvLyBpZiBpdCdzIG5vdCBhbHJlYWR5IGNvbm5lY3RlZCAoaWUgb24gY3JlYXRlKSwgdGhlIGFycmF5IHdpbGwgYmUgZW1wdHkuCgoJCS8vIGhvb2sgdG8gYWxsb3cgb3RoZXIgcGx1Z2lucyB0byBkZWZpbmUgb3IgYWx0ZXIgdGhlIG1hcHBpbmcgb2JqZWN0LgoJCSRtYXBwaW5nX29iamVjdCA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfbWFwcGluZ19vYmplY3QnLCAkbWFwcGluZ19vYmplY3QsICRvYmplY3QsICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCgkJLy8gd2UgYWxyZWFkeSBoYXZlIHRoZSBkYXRhIGZyb20gU2FsZXNmb3JjZSBhdCB0aGlzIHBvaW50OyB3ZSBqdXN0IG5lZWQgdG8gd29yayB3aXRoIGl0IGluIFdvcmRQcmVzcy4KCQkkc3luY2VkX29iamVjdCA9IGFycmF5KAoJCQknc2FsZXNmb3JjZV9vYmplY3QnID0+ICRvYmplY3QsCgkJCSdtYXBwaW5nX29iamVjdCcgICAgPT4gJG1hcHBpbmdfb2JqZWN0LAoJCQknbWFwcGluZycgICAgICAgICAgID0+ICRzYWxlc2ZvcmNlX21hcHBpbmcsCgkJKTsKCQlyZXR1cm4gJHN5bmNlZF9vYmplY3Q7Cgl9CgoJLyoqCgkgKiBDcmVhdGUgcmVjb3JkcyBpbiBXb3JkUHJlc3MgZnJvbSBhIFNhbGVzZm9yY2UgcHVsbAoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJHNmX3N5bmNfdHJpZ2dlciBUaGUgY3VycmVudCBvcGVyYXRpb24ncyB0cmlnZ2VyLgoJICogQHBhcmFtIGFycmF5ICAkc3luY2VkX29iamVjdCBDb21iaW5lZCBkYXRhIGZvciBmaWVsZG1hcCwgbWFwcGluZyBvYmplY3QsIGFuZCBTYWxlc2ZvcmNlIG9iamVjdCBkYXRhLgoJICogQHBhcmFtIGFycmF5ICAkcGFyYW1zIEFycmF5IG9mIG1hcHBlZCBrZXkgdmFsdWUgcGFpcnMgYmV0d2VlbiBXb3JkUHJlc3MgYW5kIFNhbGVzZm9yY2UgZmllbGRzLgoJICogQHBhcmFtIGFycmF5ICAkcHJlbWF0Y2ggQXJyYXkgb2YgY3JpdGVyaWEgdG8gZGV0ZXJtaW5lIHdoYXQgdG8gZG8gb24gdXBzZXJ0IG9wZXJhdGlvbnMuCgkgKiBAcGFyYW0gc3RyaW5nICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSBUaGUgbmFtZSBvZiB0aGUgSUQgZmllbGQgZm9yIHRoaXMgcGFydGljdWxhciBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUuCgkgKiBAcGFyYW0gaW50ICAgICRzZWNvbmRzIFRpbWVvdXQgZm9yIHRoZSB0cmFuc2llbnQgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gZm9yIGEgc3luYy4KCSAqIEByZXR1cm4gYXJyYXkgJHJlc3VsdHMgQ3VycmVudGx5IHRoaXMgY29udGFpbnMgYW4gYXJyYXkgb2YgbG9nIGVudHJpZXMgZm9yIGVhY2ggYXR0ZW1wdC4KCSAqIEB0aHJvd3MgT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIEV4Y2VwdGlvbiAkZS4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSggJHNmX3N5bmNfdHJpZ2dlciwgJHN5bmNlZF9vYmplY3QsICRwYXJhbXMsICRwcmVtYXRjaCwgJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lLCAkc2Vjb25kcyApIHsKCgkJJHNhbGVzZm9yY2VfbWFwcGluZyA9ICRzeW5jZWRfb2JqZWN0WydtYXBwaW5nJ107CgkJJG9iamVjdCAgICAgICAgICAgICA9ICRzeW5jZWRfb2JqZWN0WydzYWxlc2ZvcmNlX29iamVjdCddOwoJCS8vIG1ldGhvZHMgdG8gcnVuIHRoZSB3cCB1cGRhdGUgb3BlcmF0aW9ucy4KCQkkcmVzdWx0cyA9IGFycmF5KCk7CgkJJG9wICAgICAgPSAnJzsKCgkJLy8gc2V0dXAgU0YgcmVjb3JkIHR5cGUuIENhbXBhaWduTWVtYmVyIG9iamVjdHMgZ2V0IHRoZWlyIENhbXBhaWduJ3MgdHlwZQoJCS8vIGkgYW0gc3RpbGwgYSBiaXQgY29uZnVzZWQgYWJvdXQgdGhpcwoJCS8vIHdlIHNob3VsZCBzdG9yZSB0aGlzIGFzIGEgbWV0YSBmaWVsZCBvbiBlYWNoIG9iamVjdCwgaWYgaXQgbWVldHMgdGhlc2UgY3JpdGVyaWEKCQkvLyB3ZSBuZWVkIHRvIHN0b3JlIHRoZSByZWFkL21vZGlmeSBhdHRyaWJ1dGVzIGJlY2F1c2UgdGhlIGZpZWxkIGRvZXNuJ3QgZXhpc3QgaW4gdGhlIG1hcHBpbmcuCgkJaWYgKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX3JlY29yZF90eXBlX2RlZmF1bHQnXSAhPT0gJHRoaXMtPm1hcHBpbmdzLT5zYWxlc2ZvcmNlX2RlZmF1bHRfcmVjb3JkX3R5cGUgJiYgZW1wdHkoICRwYXJhbXNbJ1JlY29yZFR5cGVJZCddICkgJiYgKCAnQ2FtcGFpZ25NZW1iZXInICE9PSAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICkgKSB7CgkJCSR0eXBlID0gJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddOwoJCQlpZiAoICdjYXRlZ29yeScgPT09ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSB8fCAndGFnJyA9PT0gJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddIHx8ICdwb3N0X3RhZycgPT09ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApIHsKCQkJCSR0eXBlID0gJ3Rlcm0nOwoJCQl9CgkJCSRwYXJhbXNbJ1JlY29yZFR5cGVJZCddID0gYXJyYXkoCgkJCQkndmFsdWUnICAgICAgICAgPT4gJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9yZWNvcmRfdHlwZV9kZWZhdWx0J10sCgkJCQknbWV0aG9kX21vZGlmeScgPT4gJ3VwZGF0ZV8nIC4gJHR5cGUgLiAnX21ldGEnLAoJCQkJJ21ldGhvZF9yZWFkJyAgID0+ICdnZXRfJyAuICR0eXBlIC4gJ19tZXRhJywKCQkJKTsKCQl9CgoJCXRyeSB7CgoJCQkvLyBob29rIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gbW9kaWZ5IHRoZSAkd29yZHByZXNzX2lkIHN0cmluZyBoZXJlCgkJCS8vIHVzZSBob29rIHRvIGNoYW5nZSB0aGUgb2JqZWN0IHRoYXQgaXMgYmVpbmcgbWF0Y2hlZCB0byBkZXZlbG9wZXIncyBvd24gY3JpdGVyaWEKCQkJLy8gZXg6IG1hdGNoIGEgV29yZFByZXNzIHVzZXIgYmFzZWQgb24gc29tZSBvdGhlciBjcml0ZXJpYSB0aGFuIHRoZSBwcmVkZWZpbmVkIG9uZXMKCQkJLy8gcmV0dXJucyBhICR3b3JkcHJlc3NfaWQuCgkJCS8vIGl0IHNob3VsZCBrZWVwIE5VTEwgaWYgdGhlcmUgaXMgbm8gbWF0Y2gKCQkJLy8gdGhlIGZ1bmN0aW9uIHRoYXQgY2FsbHMgdGhpcyBob29rIG5lZWRzIHRvIGNoZWNrIHRoZSBtYXBwaW5nIHRvIG1ha2Ugc3VyZSB0aGUgV29yZFByZXNzIG9iamVjdCBpcyB0aGUgcmlnaHQgdHlwZS4KCQkJJHdvcmRwcmVzc19pZCA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ2ZpbmRfd3Bfb2JqZWN0X21hdGNoJywgbnVsbCwgJG9iamVjdCwgJHNhbGVzZm9yY2VfbWFwcGluZywgJ3B1bGwnICk7CgoJCQkvLyBob29rIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gZG8gc29tZXRoaW5nIHJpZ2h0IGJlZm9yZSBXb3JkUHJlc3MgZGF0YSBpcyBzYXZlZAoJCQkvLyBleDogcnVuIG91dHNpZGUgbWV0aG9kcyBvbiBhbiBvYmplY3QgaWYgaXQgZXhpc3RzLCBvciBkbyBzb21ldGhpbmcgaW4gcHJlcGFyYXRpb24gZm9yIGl0IGlmIGl0IGRvZXNuJ3QuCgkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHJlX3B1bGwnLCAkd29yZHByZXNzX2lkLCAkc2FsZXNmb3JjZV9tYXBwaW5nLCAkb2JqZWN0LCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUsICRwYXJhbXMgKTsKCgkJCWlmICggaXNzZXQoICRwcmVtYXRjaFsnZmllbGRfc2FsZXNmb3JjZSddICkgfHwgbnVsbCAhPT0gJHdvcmRwcmVzc19pZCApIHsKCgkJCQkkb3AgPSAnVXBzZXJ0JzsKCgkJCQkvLyBpZiBhIHByZW1hdGNoIGNyaXRlcmlhIGV4aXN0cywgbWFrZSB0aGUgdmFsdWVzIHF1ZXJ5YWJsZS4KCQkJCWlmICggaXNzZXQoICRwcmVtYXRjaFsnZmllbGRfc2FsZXNmb3JjZSddICkgKSB7CgkJCQkJJHVwc2VydF9rZXkgICAgID0gJHByZW1hdGNoWydmaWVsZF93b3JkcHJlc3MnXTsKCQkJCQkkdXBzZXJ0X3ZhbHVlICAgPSAkcHJlbWF0Y2hbJ3ZhbHVlJ107CgkJCQkJJHVwc2VydF9tZXRob2RzID0gJHByZW1hdGNoWydtZXRob2RzJ107CgkJCQl9CgoJCQkJaWYgKCBudWxsICE9PSAkd29yZHByZXNzX2lkICkgewoJCQkJCSR1cHNlcnRfa2V5ICAgICA9ICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZTsKCQkJCQkkdXBzZXJ0X3ZhbHVlICAgPSAkd29yZHByZXNzX2lkOwoJCQkJCSR1cHNlcnRfbWV0aG9kcyA9IGFycmF5KCk7CgkJCQl9CgoJCQkJLy8gd2l0aCB0aGUgZmxhZyBhdCB0aGUgZW5kLCB1cHNlcnQgcmV0dXJucyBhICR3b3JkcHJlc3NfaWQgb25seQoJCQkJLy8gd2UgY2FuIHRoZW4gY2hlY2sgdG8gc2VlIGlmIGl0IGhhcyBhIG1hcHBpbmcgb2JqZWN0CgkJCQkvLyB3ZSBzaG91bGQgb25seSBkbyB0aGlzIGlmIHRoZSBhYm92ZSBob29rIGRpZG4ndCBhbHJlYWR5IHNldCB0aGUgJHdvcmRwcmVzc19pZC4KCQkJCWlmICggbnVsbCA9PT0gJHdvcmRwcmVzc19pZCApIHsKCQkJCQkkd29yZHByZXNzX2lkID0gJHRoaXMtPndvcmRwcmVzcy0+b2JqZWN0X3Vwc2VydCggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddLCAkdXBzZXJ0X2tleSwgJHVwc2VydF92YWx1ZSwgJHVwc2VydF9tZXRob2RzLCAkcGFyYW1zLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydwdWxsX3RvX2RyYWZ0cyddLCB0cnVlICk7CgkJCQl9CgoJCQkJLy8gcGxhY2Vob2xkZXIgbWFwcGluZyBvYmplY3QuCgkJCQkkbWFwcGluZ19vYmplY3QgPSBhcnJheSgpOwoKCQkJCS8vIGZpbmQgb3V0IGlmIHRoZXJlIGlzIGEgbWFwcGluZyBvYmplY3QgZm9yIHRoaXMgV29yZFByZXNzIG9iamVjdCBhbHJlYWR5CgkJCQkvLyBkb24ndCBkbyBpdCBpZiB0aGUgV29yZFByZXNzIGlkIGlzIDAuCgkJCQlpZiAoIDAgIT09ICR3b3JkcHJlc3NfaWQgKSB7CgkJCQkJJG1hcHBpbmdfb2JqZWN0cyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2FsbF9vYmplY3RfbWFwcygKCQkJCQkJYXJyYXkoCgkJCQkJCQknd29yZHByZXNzX2lkJyAgICAgPT4gJHdvcmRwcmVzc19pZCwKCQkJCQkJCSd3b3JkcHJlc3Nfb2JqZWN0JyA9PiAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10sCgkJCQkJCSkKCQkJCQkpOwoJCQkJCWlmICggaXNzZXQoICRtYXBwaW5nX29iamVjdHNbMF0gKSAmJiBpc19hcnJheSggJG1hcHBpbmdfb2JqZWN0c1swXSApICkgewoJCQkJCQkkbWFwcGluZ19vYmplY3QgPSAkbWFwcGluZ19vYmplY3RzWzBdOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJLy8gaWYgdGhlIHdwIG9iamVjdCBpcyAwLCBjaGVjayB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBvYmplY3QgbWFwcyB0aGF0IGhhdmUgYW4gaWQgb2YgMC4gaWYgdGhlcmUgYXJlIGFueSwgbG9nIHRoZW0uCgkJCQkJJG1hcHBpbmdfb2JqZWN0X2RlYnVnID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfYWxsX29iamVjdF9tYXBzKAoJCQkJCQlhcnJheSgKCQkJCQkJCSd3b3JkcHJlc3NfaWQnID0+ICR3b3JkcHJlc3NfaWQsCgkJCQkJCSkKCQkJCQkpOwoKCQkJCQlpZiAoICEgZW1wdHkoICRtYXBwaW5nX29iamVjdF9kZWJ1ZyApICkgewoJCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IHRvIHdhcm4gYWJvdXQgYXQgbGVhc3Qgb25lIGlkIG9mIDAuCgkJCQkJCSRzdGF0dXMgPSAnZXJyb3InOwoJCQkJCQkkdGl0bGUgID0gc3ByaW50ZigKCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cy4KCQkJCQkJCWVzY19odG1sX18oICclMSRzOiBUaGVyZSBpcyBhdCBsZWFzdCBvbmUgb2JqZWN0IG1hcCB3aXRoIGEgV29yZFByZXNzIElEIG9mIDAuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApCgkJCQkJCSk7CgoJCQkJCQlpZiAoIDEgPT09IGNvdW50KCAkbWFwcGluZ19vYmplY3RfZGVidWcgKSApIHsKCQkJCQkJCSRib2R5ID0gc3ByaW50ZigKCQkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIG1hcHBpbmcgb2JqZWN0IHJvdyBJRCwgMikgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QsIDMpIHRoZSBJRCBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QgaXQgd2FzIHRyeWluZyB0byBtYXAuCgkJCQkJCQkJZXNjX2h0bWxfXyggJ1RoZXJlIGlzIGFuIG9iamVjdCBtYXAgd2l0aCBJRCBvZiAlMSRzIGFuZCBpdCBpcyBtYXBwZWQgdG8gdGhlIFdvcmRQcmVzcyAlMiRzIHdpdGggSUQgb2YgMCBhbmQgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHdpdGggSUQgb2YgJTMkcycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCQlhYnNpbnQoICRtYXBwaW5nX29iamVjdF9kZWJ1Z1swXVsnaWQnXSApLAoJCQkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RfZGVidWdbMF1bJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RfZGVidWdbMF1bJ3NhbGVzZm9yY2VfaWQnXSApCgkJCQkJCQkpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJJGJvZHkgPSBzcHJpbnRmKCBlc2NfaHRtbF9fKCAnVGhlcmUgYXJlIG11bHRpcGxlIG9iamVjdCBtYXBzIHdpdGggV29yZFByZXNzIElEIG9mIDAuIFRoZWlyIElEcyBhcmU6ICcsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8dWw+JyApOwoJCQkJCQkJZm9yZWFjaCAoICRtYXBwaW5nX29iamVjdF9kZWJ1ZyBhcyAkbWFwcGluZ19vYmplY3QgKSB7CgkJCQkJCQkJJGJvZHkgLj0gc3ByaW50ZigKCQkJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBtYXBwaW5nIG9iamVjdCByb3cgSUQsIDIpIHRoZSBJRCBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIDMpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUuCgkJCQkJCQkJCSc8bGk+JyAuIGVzY19odG1sX18oICdNYXBwaW5nIG9iamVjdCBpZDogJTEkcy4gU2FsZXNmb3JjZSBJZDogJTIkcy4gV29yZFByZXNzIG9iamVjdCB0eXBlOiAlMyRzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvbGk+JywKCQkJCQkJCQkJYWJzaW50KCAkbWFwcGluZ19vYmplY3RbJ2lkJ10gKSwKCQkJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddICksCgkJCQkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKQoJCQkJCQkJCSk7CgkJCQkJCQl9CgkJCQkJCQkkYm9keSAuPSBzcHJpbnRmKCAnPC91bD4nICk7CgkJCQkJCX0KCgkJCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCQkJfQoJCQkJCQkkcGFyZW50ID0gMDsKCgkJCQkJCSRyZXN1bHQgPSBhcnJheSgKCQkJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJCQknbWVzc2FnZScgPT4gJGJvZHksCgkJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJCSdwYXJlbnQnICA9PiAkcGFyZW50LAoJCQkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkJCSk7CgoJCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCQkJCSRyZXN1bHRzW10gPSAkcmVzdWx0OwoJCQkJCX0gLy8gRW5kIGlmKCkgc3RhdGVtZW50LgoJCQkJfSAvLyBFbmQgaWYoKSBzdGF0ZW1lbnQuCgoJCQkJLy8gdGhlcmUgaXMgYWxyZWFkeSBhIG1hcHBpbmcgb2JqZWN0LiBkb24ndCBjaGFuZ2UgdGhlIFdvcmRQcmVzcyBkYXRhIHRvIG1hdGNoIHRoaXMgbmV3IFNhbGVzZm9yY2UgcmVjb3JkLCBidXQgbG9nIGl0LgoJCQkJaWYgKCBpc3NldCggJG1hcHBpbmdfb2JqZWN0WydpZCddICkgKSB7CgkJCQkJLy8gc2V0IHRoZSB0cmFuc2llbnRzIHNvIHRoYXQgc2FsZXNmb3JjZV9wdXNoIGRvZXNuJ3Qgc3RhcnQgZG9pbmcgc3R1ZmYsIHRoZW4gcmV0dXJuIG91dCBvZiBoZXJlLgoJCQkJCSR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPnNldCggJ3NhbGVzZm9yY2VfcHVsbGluZ18nIC4gJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10sICcnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAxLCAkc2Vjb25kcyApOwoJCQkJCSR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPnNldCggJ3NhbGVzZm9yY2VfcHVsbGluZ19vYmplY3RfaWQnLCAnJywgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gKTsKCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IHRvIGluZGljYXRlIHRoYXQgbm90aGluZyBoYXBwZW5lZC4KCQkJCQkkc3RhdHVzID0gJ25vdGljZSc7CgkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSBsb2cgc3RhdHVzLCAyKSBtYXBwaW5nIG9iamVjdCByb3cgaWQsIDMpIFdvcmRQcmVzcyBvYmplY3QgdHlvZSwgNCkgaW5kaXZpZHVhbCBXb3JkUHJlc3MgaXRlbSBJRCwgNSkgaW5kaXZpZHVhbCBTYWxlc2ZvcmNlIGl0ZW0gSUQuCgkJCQkJCWVzY19odG1sX18oICclMSRzOiBCZWNhdXNlIG9iamVjdCBtYXAgJTIkcyBhbHJlYWR5IGV4aXN0cywgV29yZFByZXNzICUzJHMgJTQkcyB3YXMgbm90IG1hcHBlZCB0byBTYWxlc2ZvcmNlIElkICU1JHMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCQkJYWJzaW50KCAkbWFwcGluZ19vYmplY3RbJ2lkJ10gKSwKCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJCQlhYnNpbnQoICR3b3JkcHJlc3NfaWQgKSwKCQkJCQkJZXNjX2F0dHIoICRvYmplY3RbJ0lkJ10gKQoJCQkJCSk7CgoJCQkJCSRib2R5ID0gc3ByaW50ZigKCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmUgMSkgV29yZFByZXNzIG9iamVjdCB0eXBlLCAyKSBmaWVsZCBuYW1lIGZvciB0aGUgV29yZFByZXNzIGlkLCAzKSB0aGUgV29yZFByZXNzIGlkIHZhbHVlLCA0KSB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZSwgNSkgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IElkIHRoYXQgd2FzIG1vZGlmaWVkLCA2KSB0aGUgbWFwcGluZyBvYmplY3Qgcm93IGlkLgoJCQkJCQllc2NfaHRtbF9fKCAnVGhlIFdvcmRQcmVzcyAlMSRzIHdpdGggJTIkcyBvZiAlMyRzIGlzIGFscmVhZHkgbWFwcGVkIHRvIHRoZSBTYWxlc2ZvcmNlICU0JHMgd2l0aCBJZCBvZiAlNSRzIGluIHRoZSBtYXBwaW5nIG9iamVjdCB3aXRoIGlkIG9mICU2JHMuIFRoZSBTYWxlc2ZvcmNlICU0JHMgd2l0aCBJZCBvZiAlNSRzIHdhcyBjcmVhdGVkIG9yIG1vZGlmaWVkIGluIFNhbGVzZm9yY2UsIGFuZCB3b3VsZCBvdGhlcndpc2UgaGF2ZSBiZWVuIG1hcHBlZCB0byB0aGlzIFdvcmRQcmVzcyByZWNvcmQuIE5vIFdvcmRQcmVzcyBkYXRhIGhhcyBiZWVuIGNoYW5nZWQgdG8gcHJldmVudCBjaGFuZ2luZyBkYXRhIHVuaW50ZW50aW9uYWxseS4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJZXNjX2F0dHIoICRzdHJ1Y3R1cmVbJ2lkX2ZpZWxkJ10gKSwKCQkJCQkJYWJzaW50KCAkd29yZHByZXNzX2lkICksCgkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQkJCWVzY19hdHRyKCAkb2JqZWN0WydJZCddICksCgkJCQkJCWFic2ludCggJG1hcHBpbmdfb2JqZWN0WydpZCddICkKCQkJCQkpOwoKCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJfQoKCQkJCQkvLyBpZiB3ZSBrbm93IHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHdlIGNhbiBwdXQgaXQgaW4gdGhlcmUuCgkJCQkJaWYgKCBudWxsICE9PSAkd29yZHByZXNzX2lkICkgewoJCQkJCQkkcGFyZW50ID0gJHdvcmRwcmVzc19pZDsKCQkJCQl9IGVsc2UgewoJCQkJCQkkcGFyZW50ID0gMDsKCQkJCQl9CgoJCQkJCSRyZXN1bHQgPSBhcnJheSgKCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJJ21lc3NhZ2UnID0+ICRib2R5LAoJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJJ3BhcmVudCcgID0+ICRwYXJlbnQsCgkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCSk7CgoJCQkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCgkJCQkvLyByaWdodCBoZXJlIHdlIHNob3VsZCBzZXQgdGhlIHB1bGxpbmcgdHJhbnNpZW50CgkJCQkvLyB0aGlzIG1lYW5zIHdlIGhhdmUgdG8gY3JlYXRlIHRoZSBtYXBwaW5nIG9iamVjdCBoZXJlIGFzIHdlbGwsIGFuZCB1cGRhdGUgaXQgd2l0aCB0aGUgY29ycmVjdCBJRHMgYWZ0ZXIgc3VjY2Vzc2Z1bCByZXNwb25zZQoJCQkJLy8gY3JlYXRlIHRoZSBtYXBwaW5nIG9iamVjdCBiZXR3ZWVuIHRoZSByb3dzLgoJCQkJJG1hcHBpbmdfb2JqZWN0X2lkID0gJHRoaXMtPmNyZWF0ZV9vYmplY3RfbWFwKCAkb2JqZWN0LCAkdGhpcy0+bWFwcGluZ3MtPmdlbmVyYXRlX3RlbXBvcmFyeV9pZCggJ3B1bGwnICksICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkJCSR0aGlzLT5zeW5jX3RyYW5zaWVudHMtPnNldCggJ3NhbGVzZm9yY2VfcHVsbGluZ18nIC4gJG9iamVjdFsnSWQnXSwgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sIDEsICRzZWNvbmRzICk7CgkJCQkkdGhpcy0+c3luY190cmFuc2llbnRzLT5zZXQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfb2JqZWN0X2lkJywgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sICRvYmplY3RbJ0lkJ10gKTsKCQkJCSRtYXBwaW5nX29iamVjdHMgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9hbGxfb2JqZWN0X21hcHMoCgkJCQkJYXJyYXkoCgkJCQkJCSdpZCcgPT4gJG1hcHBpbmdfb2JqZWN0X2lkLAoJCQkJCSkKCQkJCSk7CgkJCQlpZiAoIGlzc2V0KCAkbWFwcGluZ19vYmplY3RzWzBdICkgJiYgaXNfYXJyYXkoICRtYXBwaW5nX29iamVjdHNbMF0gKSApIHsKCQkJCQkkbWFwcGluZ19vYmplY3QgPSAkbWFwcGluZ19vYmplY3RzWzBdOwoJCQkJfQoJCQkJLy8gbm93IHdlIGNhbiB1cHNlcnQgdGhlIG9iamVjdCBpbiB3cCBpZiB3ZSd2ZSBnb3R0ZW4gdG8gdGhpcyBwb2ludAoJCQkJLy8gdGhpcyBjb21tYW5kIHdpbGwgZWl0aGVyIGNyZWF0ZSBvciB1cGRhdGUgdGhlIG9iamVjdC4KCQkJCSRyZXN1bHQgPSAkdGhpcy0+d29yZHByZXNzLT5vYmplY3RfdXBzZXJ0KCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10sICR1cHNlcnRfa2V5LCAkdXBzZXJ0X3ZhbHVlLCAkdXBzZXJ0X21ldGhvZHMsICRwYXJhbXMsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdG9fZHJhZnRzJ10gKTsKCgkJCX0gZWxzZSB7CgkJCQkvLyBObyBrZXkgb3IgcHJlbWF0Y2ggZmllbGQgZXhpc3RzIG9uIHRoaXMgZmllbGQgbWFwIG9iamVjdCwgY3JlYXRlIGEgbmV3IG9iamVjdCBpbiBXb3JkUHJlc3MuCgkJCQkkb3AgICAgICAgICAgICAgICAgPSAnQ3JlYXRlJzsKCQkJCSRtYXBwaW5nX29iamVjdF9pZCA9ICR0aGlzLT5jcmVhdGVfb2JqZWN0X21hcCggJG9iamVjdCwgJHRoaXMtPm1hcHBpbmdzLT5nZW5lcmF0ZV90ZW1wb3JhcnlfaWQoICdwdWxsJyApLCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgkJCQkkdGhpcy0+c3luY190cmFuc2llbnRzLT5zZXQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfJyAuICRtYXBwaW5nX29iamVjdF9pZCwgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sIDEsICRzZWNvbmRzICk7CgkJCQkkdGhpcy0+c3luY190cmFuc2llbnRzLT5zZXQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfb2JqZWN0X2lkJywgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sICRtYXBwaW5nX29iamVjdF9pZCApOwoJCQkJJG1hcHBpbmdfb2JqZWN0cyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2FsbF9vYmplY3RfbWFwcygKCQkJCQlhcnJheSgKCQkJCQkJJ2lkJyA9PiAkbWFwcGluZ19vYmplY3RfaWQsCgkJCQkJKQoJCQkJKTsKCQkJCWlmICggaXNzZXQoICRtYXBwaW5nX29iamVjdHNbMF0gKSAmJiBpc19hcnJheSggJG1hcHBpbmdfb2JqZWN0c1swXSApICkgewoJCQkJCSRtYXBwaW5nX29iamVjdCA9ICRtYXBwaW5nX29iamVjdHNbMF07CgkJCQl9CgoJCQkJJHJlc3VsdCA9ICR0aGlzLT53b3JkcHJlc3MtPm9iamVjdF9jcmVhdGUoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSwgJHBhcmFtcyApOwoJCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCQl9IGNhdGNoICggT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uICRlICkgewoJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgY3JlYXRlIG9yIHVwc2VydC4KCQkJJHN0YXR1cyA9ICdlcnJvcic7CgkJCSR0aXRsZSAgPSBzcHJpbnRmKAoJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIGFuZCAzKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdC4KCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIFdvcmRQcmVzcyAlMyRzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApCgkJCSk7CgoJCQlpZiAoIG51bGwgIT09ICRzYWxlc2ZvcmNlX2lkICkgewoJCQkJJHRpdGxlIC49ICcgJyAuICRzYWxlc2ZvcmNlX2lkOwoJCQl9CgoJCQkkdGl0bGUgLj0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIGFuZCAyKSBJZCBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QuCgkJCQllc2NfaHRtbF9fKCAnIChTYWxlc2ZvcmNlICUxJHMgd2l0aCBJZCBvZiAlMiRzKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10sCgkJCQkkb2JqZWN0WydJZCddCgkJCSk7CgoJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCX0KCgkJCS8vIGlmIHdlIGtub3cgdGhlIFdvcmRQcmVzcyBvYmplY3QgaWQgd2UgY2FuIHB1dCBpdCBpbiB0aGVyZS4KCQkJaWYgKCBudWxsICE9PSAkd29yZHByZXNzX2lkICkgewoJCQkJJHBhcmVudCA9ICR3b3JkcHJlc3NfaWQ7CgkJCX0gZWxzZSB7CgkJCQkkcGFyZW50ID0gMDsKCQkJfQoKCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCSdtZXNzYWdlJyA9PiAkZS0+Z2V0TWVzc2FnZSgpLAoJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkncGFyZW50JyAgPT4gJHBhcmVudCwKCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkpOwoKCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCWlmICggZmFsc2UgPT09ICRob2xkX2V4Y2VwdGlvbnMgKSB7CgkJCQl0aHJvdyAkZTsKCQkJfQoJCQlpZiAoIGVtcHR5KCAkZXhjZXB0aW9uICkgKSB7CgkJCQkkZXhjZXB0aW9uID0gJGU7CgkJCX0gZWxzZSB7CgkJCQkkbXlfY2xhc3MgID0gZ2V0X2NsYXNzKCAkZSApOwoJCQkJJGV4Y2VwdGlvbiA9IG5ldyAkbXlfY2xhc3MoICRlLT5nZXRNZXNzYWdlKCksICRlLT5nZXRDb2RlKCksICRleGNlcHRpb24gKTsKCQkJfQoKCQkJLy8gaG9vayBmb3IgcHVsbCBmYWlsLgoJCQlkb19hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfZmFpbCcsICRvcCwgJHJlc3VsdCwgJHN5bmNlZF9vYmplY3QgKTsKCgkJfSAvLyBFbmQgdHJ5KCkgbWV0aG9kLgoKCQkvLyBzZXQgJHdvcmRwcmVzc19kYXRhIHRvIHRoZSBxdWVyeSByZXN1bHQuCgkJJHdvcmRwcmVzc19kYXRhID0gJHJlc3VsdFsnZGF0YSddOwoJCWlmICggaXNzZXQoICR3b3JkcHJlc3NfZGF0YVsgIiR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSIgXSApICkgewoJCQkkd29yZHByZXNzX2lkID0gJHdvcmRwcmVzc19kYXRhWyAiJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lIiBdOwoJCX0gZWxzZSB7CgkJCSR3b3JkcHJlc3NfaWQgPSAwOwoJCX0KCgkJLy8gV29yZFByZXNzIGNydWQgY2FsbCB3YXMgc3VjY2Vzc2Z1bAoJCS8vIHRoaXMgbWVhbnMgdGhlIG9iamVjdCBoYXMgYWxyZWFkeSBiZWVuIGNyZWF0ZWQvdXBkYXRlZCBpbiBXb3JkUHJlc3MKCQkvLyB0aGlzIGlzIG5vdCByZWR1bmRhbnQgYmVjYXVzZSB0aGlzIGlzIHdoZXJlIGl0IGNyZWF0ZXMgdGhlIG9iamVjdCBtYXBwaW5nIHJvd3MgaW4gV29yZFByZXNzIGlmIHRoZSBvYmplY3QgZG9lcyBub3QgYWxyZWFkeSBoYXZlIG9uZSAod2UgYXJlIHN0aWxsIGluc2lkZSAkaXNfbmV3ID09PSBUUlVFIGhlcmUpLgoKCQlpZiAoIGVtcHR5KCAkcmVzdWx0WydlcnJvcnMnXSApICkgewoJCQkkc3RhdHVzID0gJ3N1Y2Nlc3MnOwoKCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQl9CgoJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIDMpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUsIDQpIHRoZSBXb3JkUHJlc3MgaWQgZmllbGQgbmFtZSwgNSkgdGhlIFdvcmRQcmVzcyBvYmplY3QgaWQgdmFsdWUsIDYpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCwgNykgdGhlIFNhbGVzZm9yY2UgSWQgdmFsdWUuCgkJCQllc2NfaHRtbF9fKCAnJTEkczogJTIkcyBXb3JkUHJlc3MgJTMkcyB3aXRoICU0JHMgb2YgJTUkcyAoU2FsZXNmb3JjZSAlNiRzIElkIG9mICU3JHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApLAoJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWQgKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQllc2NfYXR0ciggJG9iamVjdFsnSWQnXSApCgkJCSk7CgoJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJJ21lc3NhZ2UnID0+ICcnLAoJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkncGFyZW50JyAgPT4gJHdvcmRwcmVzc19pZCwKCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkpOwoKCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCS8vIHVwZGF0ZSB0aGF0IG1hcHBpbmcgb2JqZWN0LgoJCQkkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddID0gJHdvcmRwcmVzc19pZDsKCQkJJG1hcHBpbmdfb2JqZWN0ICAgICAgICAgICAgICAgICA9ICR0aGlzLT5tYXBwaW5ncy0+dXBkYXRlX29iamVjdF9tYXAoICRtYXBwaW5nX29iamVjdCwgJG1hcHBpbmdfb2JqZWN0WydpZCddICk7CgoJCQkvLyBob29rIGZvciBwdWxsIHN1Y2Nlc3MuCgkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9zdWNjZXNzJywgJG9wLCAkcmVzdWx0LCAkc3luY2VkX29iamVjdCApOwoJCX0gZWxzZSB7CgoJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgY3JlYXRlIG9yIHVwc2VydAoJCQkvLyB0aGlzIGlzIHBhcnQgb2YgdGhlIGRydXBhbCBtb2R1bGUgYnV0IGkgYW0gZmFpbGluZyB0byB1bmRlcnN0YW5kIHdoZW4gaXQgd291bGQgZXZlciBmaXJlLCBzaW5jZSB0aGUgY2F0Y2ggc2hvdWxkIGNhdGNoIHRoZSBlcnJvcnMKCQkJLy8gaWYgd2Ugc2VlIHRoaXMgaW4gdGhlIGxvZyBlbnRyaWVzLCB3ZSBjYW4gdW5kZXJzdGFuZCB3aGF0IGl0IGRvZXMsIGJ1dCBwcm9iYWJseSBub3QgdW50aWwgdGhlbi4KCQkJJHN0YXR1cyA9ICdlcnJvcic7CgkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJfQoKCQkJaWYgKCBpc19vYmplY3QoICR3b3JkcHJlc3NfaWQgKSApIHsKCQkJCS8vIHByaW50IHRoaXMgYXJyYXkgYmVjYXVzZSBpZiB0aGlzIGhhcHBlbnMsIHNvbWV0aGluZyB3ZWlyZCBoYXMgaGFwcGVuZWQgYW5kIHdlIHdhbnQgdG8gbG9nIHdoYXRldmVyIHdlIGhhdmUuCgkJCQkkd29yZHByZXNzX2lkID0gcHJpbnRfciggJHdvcmRwcmVzc19pZCwgdHJ1ZSApOyAvLyBwaHBjczppZ25vcmUgV29yZFByZXNzLlBIUC5EZXZlbG9wbWVudEZ1bmN0aW9ucy5lcnJvcl9sb2dfcHJpbnRfcgoJCQl9CgoJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIDMpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLCA0KSB0aGUgU2FsZXNmb3JjZSBvYmplY3QgSWQgdmFsdWUuCgkJCQllc2NfaHRtbF9fKCAnJTEkcyBzeW5jaW5nOiAlMiRzIHRvIFdvcmRQcmVzcyAoU2FsZXNmb3JjZSAlMyRzIElkICU0JHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10gKSwKCQkJCWVzY19hdHRyKCAkb2JqZWN0WydJZCddICkKCQkJKTsKCgkJCSRib2R5ID0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLCAyKSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUsIDMpIHRoZSBXb3JkUHJlc3MgaWQgZmllbGQgdmFsdWUsIDQpIHRoZSBhcnJheSBvZiBlcnJvcnMuCgkJCQknPHA+JyAuIGVzY19odG1sX18oICdPYmplY3Q6ICUxJHMgd2l0aCAlMiRzIG9mICUzJHMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPjxwPicgLiBlc2NfaHRtbF9fKCAnTWVzc2FnZTogJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJyU0JHM8L3A+JywKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKSwKCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkICksCgkJCQlwcmludF9yKCAkcmVzdWx0WydlcnJvcnMnXSwgdHJ1ZSApIC8vIHBocGNzOmlnbm9yZSBXb3JkUHJlc3MuUEhQLkRldmVsb3BtZW50RnVuY3Rpb25zLmVycm9yX2xvZ19wcmludF9yCgkJCSk7CgoJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJJ21lc3NhZ2UnID0+ICRib2R5LAoJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkncGFyZW50JyAgPT4gJHdvcmRwcmVzc19pZCwKCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkpOwoKCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCS8vIGhvb2sgZm9yIHB1bGwgZmFpbC4KCQkJZG9fYWN0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX2ZhaWwnLCAkb3AsICRyZXN1bHQsICRzeW5jZWRfb2JqZWN0ICk7CgoJCX0gLy8gRW5kIGlmKCkgc3RhdGVtZW50LgoJCXJldHVybiAkcmVzdWx0czsKCX0KCgkvKioKCSAqIFVwZGF0ZSByZWNvcmRzIGluIFdvcmRQcmVzcyBmcm9tIGEgU2FsZXNmb3JjZSBwdWxsCgkgKgoJICogQHBhcmFtIHN0cmluZyAkc2Zfc3luY190cmlnZ2VyIFRoZSBjdXJyZW50IG9wZXJhdGlvbidzIHRyaWdnZXIuCgkgKiBAcGFyYW0gYXJyYXkgICRzeW5jZWRfb2JqZWN0IENvbWJpbmVkIGRhdGEgZm9yIGZpZWxkbWFwLCBtYXBwaW5nIG9iamVjdCwgYW5kIFNhbGVzZm9yY2Ugb2JqZWN0IGRhdGEuCgkgKiBAcGFyYW0gYXJyYXkgICRwYXJhbXMgQXJyYXkgb2YgbWFwcGVkIGtleSB2YWx1ZSBwYWlycyBiZXR3ZWVuIFdvcmRQcmVzcyBhbmQgU2FsZXNmb3JjZSBmaWVsZHMuCgkgKiBAcGFyYW0gc3RyaW5nICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSBUaGUgbmFtZSBvZiB0aGUgSUQgZmllbGQgZm9yIHRoaXMgcGFydGljdWxhciBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUuCgkgKiBAcGFyYW0gaW50ICAgICRzZWNvbmRzIFRpbWVvdXQgZm9yIHRoZSB0cmFuc2llbnQgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gZm9yIGEgc3luYy4KCSAqIEByZXR1cm4gYXJyYXkgJHJlc3VsdHMgQ3VycmVudGx5IHRoaXMgY29udGFpbnMgYW4gYXJyYXkgb2YgbG9nIGVudHJpZXMgZm9yIGVhY2ggYXR0ZW1wdC4KCSAqIEB0aHJvd3MgT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIEV4Y2VwdGlvbiAkZS4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiB1cGRhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSggJHNmX3N5bmNfdHJpZ2dlciwgJHN5bmNlZF9vYmplY3QsICRwYXJhbXMsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSwgJHNlY29uZHMgKSB7CgoJCSRzYWxlc2ZvcmNlX21hcHBpbmcgPSAkc3luY2VkX29iamVjdFsnbWFwcGluZyddOwoJCSRtYXBwaW5nX29iamVjdCAgICAgPSAkc3luY2VkX29iamVjdFsnbWFwcGluZ19vYmplY3QnXTsKCQkkb2JqZWN0ICAgICAgICAgICAgID0gJHN5bmNlZF9vYmplY3RbJ3NhbGVzZm9yY2Vfb2JqZWN0J107CgoJCS8vIG1ldGhvZHMgdG8gcnVuIHRoZSB3cCB1cGRhdGUgb3BlcmF0aW9ucy4KCQkkcmVzdWx0cyA9IGFycmF5KCk7CgkJJG9wICAgICAgPSAnJzsKCgkJLy8gaWYgdGhlIGxhc3Qgc3luYyBpcyBncmVhdGVyIHRoYW4gdGhlIGxhc3QgdGltZSB0aGlzIG9iamVjdCB3YXMgdXBkYXRlZCBieSBTYWxlc2ZvcmNlLCBza2lwIGl0CgkJLy8gdGhpcyBrZWVwcyB1cyBmcm9tIGRvaW5nIHJlZHVuZGFudCBzeW5jcwoJCS8vIGJlY2F1c2UgU0Ygc3RvcmVzIGFsbCBEYXRlVGltZXMgaW4gVVRDLgoJCSRtYXBwaW5nX29iamVjdFsnb2JqZWN0X3VwZGF0ZWQnXSA9IGN1cnJlbnRfdGltZSggJ215c3FsJyApOwoKCQkkcHVsbF90cmlnZ2VyX2ZpZWxkID0gJHNhbGVzZm9yY2VfbWFwcGluZ1sncHVsbF90cmlnZ2VyX2ZpZWxkJ107CgkJJHB1bGxfdHJpZ2dlcl92YWx1ZSA9ICRvYmplY3RbICRwdWxsX3RyaWdnZXJfZmllbGQgXTsKCgkJLy8gaG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIGRvIHNvbWV0aGluZyByaWdodCBiZWZvcmUgV29yZFByZXNzIGRhdGEgaXMgc2F2ZWQKCQkvLyBleDogcnVuIG91dHNpZGUgbWV0aG9kcyBvbiBhbiBvYmplY3QgaWYgaXQgZXhpc3RzLCBvciBkbyBzb21ldGhpbmcgaW4gcHJlcGFyYXRpb24gZm9yIGl0IGlmIGl0IGRvZXNuJ3QuCgkJZG9fYWN0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwcmVfcHVsbCcsICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10sICRzYWxlc2ZvcmNlX21hcHBpbmcsICRvYmplY3QsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSwgJHBhcmFtcyApOwoKCQl0cnkgewoKCQkJJG9wICAgICA9ICdVcGRhdGUnOwoJCQkkcmVzdWx0ID0gJHRoaXMtPndvcmRwcmVzcy0+b2JqZWN0X3VwZGF0ZSggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddLCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddLCAkcGFyYW1zLCAkbWFwcGluZ19vYmplY3QgKTsKCgkJCSRtYXBwaW5nX29iamVjdFsnbGFzdF9zeW5jX3N0YXR1cyddICA9ICR0aGlzLT5tYXBwaW5ncy0+c3RhdHVzX3N1Y2Nlc3M7CgkJCSRtYXBwaW5nX29iamVjdFsnbGFzdF9zeW5jX21lc3NhZ2UnXSA9IGVzY19odG1sX18oICdNYXBwaW5nIG9iamVjdCB1cGRhdGVkIHZpYSBmdW5jdGlvbjogJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gX19GVU5DVElPTl9fOwoKCQkJJHN0YXR1cyA9ICdzdWNjZXNzJzsKCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQl9CgoJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIDMpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUsIDQpIHRoZSBXb3JkUHJlc3MgaWQgZmllbGQgbmFtZSwgNSkgdGhlIFdvcmRQcmVzcyBvYmplY3QgaWQgdmFsdWUsIDYpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCwgNykgdGhlIFNhbGVzZm9yY2UgSWQgdmFsdWUuCgkJCQllc2NfaHRtbF9fKCAnJTEkczogJTIkcyBXb3JkUHJlc3MgJTMkcyB3aXRoICU0JHMgb2YgJTUkcyAoU2FsZXNmb3JjZSAlNiRzIElkIG9mICU3JHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApLAoJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10gKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQllc2NfYXR0ciggJG9iamVjdFsnSWQnXSApCgkJCSk7CgoJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJJ21lc3NhZ2UnID0+ICcnLAoJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkncGFyZW50JyAgPT4gJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSwKCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkpOwoKCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCS8vIGhvb2sgZm9yIHB1bGwgc3VjY2Vzcy4KCQkJZG9fYWN0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX3N1Y2Nlc3MnLCAkb3AsICRyZXN1bHQsICRzeW5jZWRfb2JqZWN0ICk7CgoJCX0gY2F0Y2ggKCBPYmplY3RfU3luY19TZl9FeGNlcHRpb24gJGUgKSB7CgkJCS8vIGNyZWF0ZSBsb2cgZW50cnkgZm9yIGZhaWxlZCB1cGRhdGUuCgkJCSRzdGF0dXMgPSAnZXJyb3InOwoJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCX0KCgkJCSR0aXRsZSAuPSBzcHJpbnRmKAoJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIDMpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0LCA0KSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUsIDUpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHZhbHVlLCA2KSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIDcpIHRoZSBTYWxlc2ZvcmNlIElkIHZhbHVlLgoJCQkJZXNjX2h0bWxfXyggJyUxJHM6ICUyJHMgV29yZFByZXNzICUzJHMgd2l0aCAlNCRzIG9mICU1JHMgKFNhbGVzZm9yY2UgJTYkcyB3aXRoIElkIG9mICU3JHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApLAoJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10gKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQllc2NfYXR0ciggJG9iamVjdFsnSWQnXSApCgkJCSk7CgoJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJJ21lc3NhZ2UnID0+ICRlLT5nZXRNZXNzYWdlKCksCgkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCSdwYXJlbnQnICA9PiAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddLAoJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCSk7CgoJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCSRyZXN1bHRzW10gPSAkcmVzdWx0OwoKCQkJJG1hcHBpbmdfb2JqZWN0WydsYXN0X3N5bmNfc3RhdHVzJ10gID0gJHRoaXMtPm1hcHBpbmdzLT5zdGF0dXNfZXJyb3I7CgkJCSRtYXBwaW5nX29iamVjdFsnbGFzdF9zeW5jX21lc3NhZ2UnXSA9ICRlLT5nZXRNZXNzYWdlKCk7CgoJCQlpZiAoIGZhbHNlID09PSAkaG9sZF9leGNlcHRpb25zICkgewoJCQkJdGhyb3cgJGU7CgkJCX0KCQkJaWYgKCBlbXB0eSggJGV4Y2VwdGlvbiApICkgewoJCQkJJGV4Y2VwdGlvbiA9ICRlOwoJCQl9IGVsc2UgewoJCQkJJG15X2NsYXNzICA9IGdldF9jbGFzcyggJGUgKTsKCQkJCSRleGNlcHRpb24gPSBuZXcgJG15X2NsYXNzKCAkZS0+Z2V0TWVzc2FnZSgpLCAkZS0+Z2V0Q29kZSgpLCAkZXhjZXB0aW9uICk7CgkJCX0KCgkJCS8vIGhvb2sgZm9yIHB1bGwgZmFpbC4KCQkJZG9fYWN0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX2ZhaWwnLCAkb3AsICRyZXN1bHQsICRzeW5jZWRfb2JqZWN0ICk7CgoJCX0gLy8gRW5kIHRyeSgpIG1ldGhvZC4KCgkJLy8gbmVlZCB0byBtb3ZlIHRoZXNlIGludG8gdGhlIHN1Y2Nlc3MgY2hlY2suCgoJCS8vIG1heWJlIGNhbiBjaGVjayB0byBzZWUgaWYgd2UgYWN0dWFsbHkgdXBkYXRlZCBhbnl0aGluZyBpbiBXb3JkUHJlc3MKCQkvLyB0ZWxsIHRoZSBtYXBwaW5nIG9iamVjdCAtIHdoZXRoZXIgaXQgaXMgbmV3IG9yIGFscmVhZHkgZXhpc3RlZCAtIGhvdyB3ZSBqdXN0IHVzZWQgaXQuCgkJJG1hcHBpbmdfb2JqZWN0WydsYXN0X3N5bmNfYWN0aW9uJ10gPSAncHVsbCc7CgkJJG1hcHBpbmdfb2JqZWN0WydsYXN0X3N5bmMnXSAgICAgICAgPSBjdXJyZW50X3RpbWUoICdteXNxbCcgKTsKCgkJLy8gdXBkYXRlIHRoYXQgbWFwcGluZyBvYmplY3QuIHRoZSBTYWxlc2ZvcmNlIGRhdGEgdmVyc2lvbiB3aWxsIGJlIHNldCBoZXJlIGFzIHdlbGwgYmVjYXVzZSB3ZSBzZXQgaXQgZWFybGllci4KCQkkdXBkYXRlX29iamVjdF9tYXAgPSAkdGhpcy0+bWFwcGluZ3MtPnVwZGF0ZV9vYmplY3RfbWFwKCAkbWFwcGluZ19vYmplY3QsICRtYXBwaW5nX29iamVjdFsnaWQnXSApOwoKCQlyZXR1cm4gJHJlc3VsdHM7CgoJfQoKCS8qKgoJICogRGVsZXRlIHJlY29yZHMgaW4gV29yZFByZXNzIGZyb20gYSBTYWxlc2ZvcmNlIHB1bGwKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRzZl9zeW5jX3RyaWdnZXIgVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4KCSAqIEBwYXJhbSBhcnJheSAgJHN5bmNlZF9vYmplY3QgQ29tYmluZWQgZGF0YSBmb3IgZmllbGRtYXAsIG1hcHBpbmcgb2JqZWN0LCBhbmQgU2FsZXNmb3JjZSBvYmplY3QgZGF0YS4KCSAqIEBwYXJhbSBzdHJpbmcgJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lIFRoZSBuYW1lIG9mIHRoZSBJRCBmaWVsZCBmb3IgdGhpcyBwYXJ0aWN1bGFyIFdvcmRQcmVzcyBvYmplY3QgdHlwZS4KCSAqIEBwYXJhbSBpbnQgICAgJHNlY29uZHMgVGltZW91dCBmb3IgdGhlIHRyYW5zaWVudCB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIGRpcmVjdGlvbiBmb3IgYSBzeW5jLgoJICogQHBhcmFtIGFycmF5ICAkbWFwcGluZ19vYmplY3RzIFRoZSBkYXRhIGZvciB0aGUgbWFwcGluZyBvYmplY3RzIGJldHdlZW4gdGhlIGluZGl2aWR1YWwgU2FsZXNmb3JjZSBhbmQgV29yZFByZXNzIGl0ZW1zLiBXZSBvbmx5IHBhc3MgdGhpcyBiZWNhdXNlIG9mIHRoZSBuZWVkIHRvIGNvdW50IGJlZm9yZSBkZWxldGluZyByZWNvcmRzLgoJICogQHJldHVybiBhcnJheSAkcmVzdWx0cyBDdXJyZW50bHkgdGhpcyBjb250YWlucyBhbiBhcnJheSBvZiBsb2cgZW50cmllcyBmb3IgZWFjaCBhdHRlbXB0LgoJICogQHRocm93cyBPYmplY3RfU3luY19TZl9FeGNlcHRpb24gRXhjZXB0aW9uICRlLgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGRlbGV0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCAkc2Zfc3luY190cmlnZ2VyLCAkc3luY2VkX29iamVjdCwgJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lLCAkc2Vjb25kcywgJG1hcHBpbmdfb2JqZWN0cyApIHsKCgkJJHNhbGVzZm9yY2VfbWFwcGluZyA9ICRzeW5jZWRfb2JqZWN0WydtYXBwaW5nJ107CgkJJG1hcHBpbmdfb2JqZWN0ICAgICA9ICRzeW5jZWRfb2JqZWN0WydtYXBwaW5nX29iamVjdCddOwoKCQkvLyBtZXRob2RzIHRvIHJ1biB0aGUgd3AgZGVsZXRlIG9wZXJhdGlvbnMuCgkJJHJlc3VsdHMgPSBhcnJheSgpOwoJCSRvcCAgICAgID0gJyc7CgoJCS8vIGRlbGV0aW5nIG1hcHBlZCBvYmplY3RzLgoJCWlmICggJHNmX3N5bmNfdHJpZ2dlciA9PT0gJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2RlbGV0ZSApIHsgLy8gdHJpZ2dlciBpcyBhIGJpdCBvcGVyYXRvci4KCQkJaWYgKCBpc3NldCggJG1hcHBpbmdfb2JqZWN0WydpZCddICkgKSB7CgoJCQkJJG9wID0gJ0RlbGV0ZSc7CgoJCQkJLy8gb25seSBkZWxldGUgaWYgdGhlcmUgYXJlIG5vIGFkZGl0aW9uYWwgbWFwcGluZyBvYmplY3RzIGZvciB0aGlzIHJlY29yZC4KCQkJCWlmICggMSA9PT0gY291bnQoICRtYXBwaW5nX29iamVjdHMgKSApIHsKCgkJCQkJJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+c2V0KCAnc2FsZXNmb3JjZV9wdWxsaW5nXycgLiAkbWFwcGluZ19vYmplY3RbJ3NhbGVzZm9yY2VfaWQnXSwgJycsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sIDEsICRzZWNvbmRzICk7CgkJCQkJJHRoaXMtPnN5bmNfdHJhbnNpZW50cy0+c2V0KCAnc2FsZXNmb3JjZV9wdWxsaW5nX29iamVjdF9pZCcsICcnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAkbWFwcGluZ19vYmplY3RbJ3NhbGVzZm9yY2VfaWQnXSApOwoKCQkJCQl0cnkgewoJCQkJCQkkcmVzdWx0ID0gJHRoaXMtPndvcmRwcmVzcy0+b2JqZWN0X2RlbGV0ZSggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddLCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddICk7CgkJCQkJfSBjYXRjaCAoIE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiAkZSApIHsKCQkJCQkJJHN0YXR1cyA9ICdlcnJvcic7CgkJCQkJCS8vIGNyZWF0ZSBsb2cgZW50cnkgZm9yIGZhaWxlZCBkZWxldGUuCgkJCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCQkJfQoKCQkJCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCAzKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLCA0KSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUsIDUpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHZhbHVlLCA2KSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIDcpIHRoZSBTYWxlc2ZvcmNlIElkIHZhbHVlLgoJCQkJCQkJZXNjX2h0bWxfXyggJyUxJHM6ICUyJHMgV29yZFByZXNzICUzJHMgd2l0aCAlNCRzIG9mICU1JHMgKCU2JHMgJTckcyknLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCQllc2NfYXR0ciggJG9wICksCgkJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICksCgkJCQkJCQllc2NfYXR0ciggJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lICksCgkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSApLAoJCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10gKSwKCQkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3NhbGVzZm9yY2VfaWQnXSApCgkJCQkJCSk7CgoJCQkJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCQkJJ21lc3NhZ2UnID0+ICRlLT5nZXRNZXNzYWdlKCksCgkJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJCSdwYXJlbnQnICA9PiAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddLAoJCQkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkJCSk7CgoJCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCQkJCSRyZXN1bHRzW10gPSAkcmVzdWx0OwoKCQkJCQkJaWYgKCBmYWxzZSA9PT0gJGhvbGRfZXhjZXB0aW9ucyApIHsKCQkJCQkJCXRocm93ICRlOwoJCQkJCQl9CgkJCQkJCWlmICggZW1wdHkoICRleGNlcHRpb24gKSApIHsKCQkJCQkJCSRleGNlcHRpb24gPSAkZTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCSRteV9jbGFzcyAgPSBnZXRfY2xhc3MoICRlICk7CgkJCQkJCQkkZXhjZXB0aW9uID0gbmV3ICRteV9jbGFzcyggJGUtPmdldE1lc3NhZ2UoKSwgJGUtPmdldENvZGUoKSwgJGV4Y2VwdGlvbiApOwoJCQkJCQl9CgoJCQkJCQkvLyBob29rIGZvciBwdWxsIGZhaWwuCgkJCQkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9mYWlsJywgJG9wLCAkcmVzdWx0LCAkc3luY2VkX29iamVjdCApOwoKCQkJCQl9IC8vIEVuZCB0cnkoKSBtZXRob2QuCgoJCQkJCWlmICggISBpc3NldCggJGUgKSApIHsKCQkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3Igc3VjY2Vzc2Z1bCBkZWxldGUgaWYgdGhlIHJlc3VsdCBoYWQgbm8gZXJyb3JzLgoJCQkJCQkkc3RhdHVzID0gJ3N1Y2Nlc3MnOwoJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCX0KCgkJCQkJCSR0aXRsZSA9IHNwcmludGYoCgkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMsIDIpIHdoYXQgb3BlcmF0aW9uIGlzIGhhcHBlbmluZywgMykgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QgdHlwZSwgNCkgdGhlIFdvcmRQcmVzcyBpZCBmaWVsZCBuYW1lLCA1KSB0aGUgV29yZFByZXNzIG9iamVjdCBpZCB2YWx1ZSwgNikgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LCA3KSB0aGUgU2FsZXNmb3JjZSBJZCB2YWx1ZS4KCQkJCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIFdvcmRQcmVzcyAlMyRzIHdpdGggJTQkcyBvZiAlNSRzICglNiRzICU3JHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApLAoJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10gKSwKCQkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gKQoJCQkJCQkpOwoKCQkJCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCSdtZXNzYWdlJyA9PiAnJywKCQkJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkJJ3BhcmVudCcgID0+ICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10sCgkJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkJKTsKCgkJCQkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgoJCQkJCQkvLyBob29rIGZvciBwdWxsIHN1Y2Nlc3MuCgkJCQkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9zdWNjZXNzJywgJG9wLCAkcmVzdWx0LCAkc3luY2VkX29iamVjdCApOwoJCQkJCX0gLy8gRW5kIGlmKCkgc3RhdGVtZW50IGlmIGl0IHdhcyBzdWNjZXNzZnVsLgoJCQkJfSBlbHNlIHsKCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBhZGRpdGlvbmFsIG1hcHBlZCBpdGVtcy4KCQkJCQkkbW9yZV9pZHMgPSBzcHJpbnRmKAoJCQkJCQkvLyB0cmFuc2xhdG9yczogcGFyYW1ldGVyIGlzIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3MgaWQgZmllbGQgbmFtZS4KCQkJCQkJJzxwPicgLiBlc2NfaHRtbF9fKCAnVGhlIFdvcmRQcmVzcyByZWNvcmQgd2FzIG5vdCBkZWxldGVkIGJlY2F1c2UgdGhlcmUgYXJlIG11bHRpcGxlIFNhbGVzZm9yY2UgSURzIHRoYXQgbWF0Y2ggdGhpcyBXb3JkUHJlc3MgJTEkcy4pIFRoZXkgYXJlOicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L3A+JywKCQkJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApCgkJCQkJKTsKCgkJCQkJJG1vcmVfaWRzIC49ICc8dWw+JzsKCQkJCQlmb3JlYWNoICggJG1hcHBpbmdfb2JqZWN0cyBhcyAkbWF0Y2ggKSB7CgkJCQkJCSRtb3JlX2lkcyAuPSAnPGxpPicgLiAkbWF0Y2hbJ3NhbGVzZm9yY2VfaWQnXSAuICc8L2xpPic7CgkJCQkJfQoJCQkJCSRtb3JlX2lkcyAuPSAnPC91bD4nOwoKCQkJCQkkbW9yZV9pZHMgLj0gJzxwPicgLiBlc2NfaHRtbF9fKCAnVGhlIG1hcCByb3cgYmV0d2VlbiB0aGlzIFNhbGVzZm9yY2Ugb2JqZWN0IGFuZCB0aGUgV29yZFByZXNzIG9iamVjdCwgYXMgc3RvcmVkIGluIHRoZSBXb3JkUHJlc3MgZGF0YWJhc2UsIHdpbGwgYmUgZGVsZXRlZCwgYW5kIHRoaXMgU2FsZXNmb3JjZSBvYmplY3QgaGFzIGJlZW4gZGVsZXRlZCwgYnV0IFdvcmRQcmVzcyBvYmplY3QgZGF0YSB3aWxsIHJlbWFpbiB1bnRvdWNoZWQuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvcD4nOwoKCQkJCQkkc3RhdHVzID0gJ25vdGljZSc7CgkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCX0KCgkJCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBvcGVyYXRpb24gdGhhdCBpcyBoYXBwZW5pbmcsIDIpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUsIDMpIHRoZSBXb3JkUHJlc3MgaWQgZmllbGQgbmFtZSwgNCkgdGhlIFdvcmRQcmVzcyBvYmplY3QgaWQgdmFsdWUsIDUpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLCA2KSB0aGUgU2FsZXNmb3JjZSBJZC4KCQkJCQkJZXNjX2h0bWxfXyggJyUxJHM6ICUyJHMgb24gV29yZFByZXNzICUzJHMgd2l0aCAlNCRzIG9mICU1JHMgd2FzIHN0b3BwZWQgYmVjYXVzZSB0aGVyZSBhcmUgb3RoZXIgV29yZFByZXNzIHJlY29yZHMgbWFwcGVkIHRvIFNhbGVzZm9yY2UgJTYkcyBvZiAlNyRzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJCQllc2NfYXR0ciggJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lICksCgkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddICksCgkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3NhbGVzZm9yY2VfaWQnXSApCgkJCQkJKTsKCgkJCQkJJG5vdGljZSA9IGFycmF5KAoJCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCQknbWVzc2FnZScgPT4gJG1vcmVfaWRzLAoJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJJ3BhcmVudCcgID0+IDAsCgkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCSk7CgoJCQkJCSRsb2dnaW5nLT5zZXR1cCggJG5vdGljZSApOwoJCQkJfSAvLyBFbmQgaWYoKSBvbiBjb3VudAoJCQkJLy8gZGVsZXRlIHRoZSBtYXAgcm93IGZyb20gV29yZFByZXNzIGFmdGVyIHRoZSBXb3JkUHJlc3Mgcm93IGhhcyBiZWVuIGRlbGV0ZWQKCQkJCS8vIHdlIGRlbGV0ZSB0aGUgbWFwIHJvdyBldmVuIGlmIHRoZSBXb3JkUHJlc3MgZGVsZXRlIGZhaWxlZCwgYmVjYXVzZSB0aGUgU2FsZXNmb3JjZSBvYmplY3QgaXMgZ29uZS4KCQkJCSR0aGlzLT5tYXBwaW5ncy0+ZGVsZXRlX29iamVjdF9tYXAoICRtYXBwaW5nX29iamVjdFsnaWQnXSApOwoJCQkJLy8gdGhlcmUgaXMgbm8gbWFwIHJvdyBpZiB3ZSBlbmQgdGhpcyBpZiBzdGF0ZW1lbnQuCgkJCX0gLy8gRW5kIGlmKCkgc3RhdGVtZW50LgoJCX0gLy8gRW5kIGlmKCkgc3RhdGVtZW50LgoKCQlyZXR1cm4gJHJlc3VsdHM7CgoJfQoKCS8qKgoJICogQ2xlYXIgdGhlIGN1cnJlbnRseSBzdG9yZWQgcXVlcnkgZm9yIHRoZSBzcGVjaWZpZWQgY29udGVudCB0eXBlCgkgKgoJICogQHBhcmFtIHN0cmluZyAkdHlwZSBlLmcuICJDb250YWN0IiwgIkFjY291bnQiLCBldGMuCgkgKiBAcGFyYW0gaW50ICAgICRmaWVsZG1hcF9pZCBpcyB0aGUgZmllbGRtYXAgSUQgdGhhdCBnb2VzIHdpdGggdGhpcyBxdWVyeS4KCSAqLwoJcHVibGljIGZ1bmN0aW9uIGNsZWFyX2N1cnJlbnRfdHlwZV9xdWVyeSggJHR5cGUsICRmaWVsZG1hcF9pZCA9ICcnICkgewoJCS8vIHVwZGF0ZSB0aGUgbGFzdCBzeW5jIHRpbWVzdGFtcCBmb3IgdGhpcyBjb250ZW50IHR5cGUuCgkJJHRoaXMtPmluY3JlbWVudF9jdXJyZW50X3R5cGVfZGF0ZXRpbWUoICR0eXBlLCAnJywgJGZpZWxkbWFwX2lkICk7CgkJLy8gZGVsZXRlIHRoZSBvcHRpb24gdmFsdWUgZm9yIHRoZSBjdXJyZW50bHkgcHVsbGluZyBxdWVyeSBmb3IgdGhpcyB0eXBlLgoJCSR0aGlzLT5wdWxsX29wdGlvbnMtPmRlbGV0ZSggJ2N1cnJlbnRfcXVlcnknLCAkdHlwZSwgJGZpZWxkbWFwX2lkICk7CgkJLy8gZGVsZXRlIHRoZSBvcHRpb24gdmFsdWUgZm9yIHRoZSBsYXN0IHB1bGwgcmVjb3JkIGlkLgoJCSR0aGlzLT5wdWxsX29wdGlvbnMtPmRlbGV0ZSggJ2xhc3RfaWQnLCAnJywgJGZpZWxkbWFwX2lkICk7Cgl9CgoJLyoqCgkgKiBJbmNyZW1lbnQgdGhlIGN1cnJlbnRseSBydW5uaW5nIHF1ZXJ5J3MgZGF0ZXRpbWUKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICAgICR0eXBlIGUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4KCSAqIEBwYXJhbSB0aW1lc3RhbXAgJG5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSB0aGUgbGFzdCByZWNvcmQncyBtb2RpZmllZCBkYXRldGltZSwgb3IgdGhlIGN1cnJlbnQgdGltZSBpZiB0aGVyZSBpc24ndCBvbmUuCgkgKiBAcGFyYW0gaW50ICAgICAgICRmaWVsZG1hcF9pZCBpcyB0aGUgZmllbGRtYXAgSUQgdGhhdCBnb2VzIHdpdGggdGhpcyBxdWVyeS4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBpbmNyZW1lbnRfY3VycmVudF90eXBlX2RhdGV0aW1lKCAkdHlwZSwgJG5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSA9ICcnLCAkZmllbGRtYXBfaWQgPSAnJyApIHsKCQkvLyB1cGRhdGUgdGhlIGxhc3Qgc3luYyB0aW1lc3RhbXAgZm9yIHRoaXMgY29udGVudCB0eXBlLgoJCWlmICggJycgPT09ICRuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUgKSB7CgkJCSRuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUgPSB0aW1lKCk7CgkJfSBlbHNlIHsKCQkJJG5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSA9IHN0cnRvdGltZSggJG5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSApOwoJCX0KCQkkdGhpcy0+cHVsbF9vcHRpb25zLT5zZXQoICdsYXN0X3N5bmMnLCAkdHlwZSwgJGZpZWxkbWFwX2lkLCAkbmV4dF9xdWVyeV9tb2RpZmllZF9kYXRlICk7Cgl9CgoJLyoqCgkgKiBDcmVhdGUgYW4gb2JqZWN0IG1hcCBiZXR3ZWVuIGEgU2FsZXNmb3JjZSBvYmplY3QgYW5kIGEgV29yZFByZXNzIG9iamVjdAoJICoKCSAqIEBwYXJhbSBhcnJheSAgJHNhbGVzZm9yY2Vfb2JqZWN0IEFycmF5IG9mIHRoZSBzYWxlc2ZvcmNlIG9iamVjdCdzIGRhdGEuCgkgKiBAcGFyYW0gc3RyaW5nICR3b3JkcHJlc3NfaWQgVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBXb3JkUHJlc3Mgb2JqZWN0LgoJICogQHBhcmFtIGFycmF5ICAkZmllbGRfbWFwcGluZyBUaGUgcm93IHRoYXQgbWFwcyB0aGUgb2JqZWN0IHR5cGVzIHRvZ2V0aGVyLCBpbmNsdWRpbmcgd2hpY2ggZmllbGRzIG1hdGNoIHdoaWNoIG90aGVyIGZpZWxkcy4KCSAqIEByZXR1cm4gaW50ICR3cGRiLT5pbnNlcnRfaWQgVGhpcyBpcyB0aGUgZGF0YWJhc2Ugcm93IGZvciB0aGUgbWFwIG9iamVjdAoJICovCglwcml2YXRlIGZ1bmN0aW9uIGNyZWF0ZV9vYmplY3RfbWFwKCAkc2FsZXNmb3JjZV9vYmplY3QsICR3b3JkcHJlc3NfaWQsICRmaWVsZF9tYXBwaW5nICkgewoJCS8vIENyZWF0ZSBvYmplY3QgbWFwIGFuZCBzYXZlIGl0LgoJCSRtYXBwaW5nX29iamVjdCA9ICR0aGlzLT5tYXBwaW5ncy0+Y3JlYXRlX29iamVjdF9tYXAoCgkJCWFycmF5KAoJCQkJJ3dvcmRwcmVzc19pZCcgICAgICA9PiAkd29yZHByZXNzX2lkLCAvLyBXb3JkUHJlc3MgdW5pcXVlIGlkLgoJCQkJJ3NhbGVzZm9yY2VfaWQnICAgICA9PiAkc2FsZXNmb3JjZV9vYmplY3RbJ0lkJ10sIC8vIFNhbGVzZm9yY2UgdW5pcXVlIGlkLiB3ZSBkb24ndCBjYXJlIHdoYXQga2luZCBvZiBvYmplY3QgaXQgaXMgYXQgdGhpcyBwb2ludC4KCQkJCSd3b3JkcHJlc3Nfb2JqZWN0JyAgPT4gJGZpZWxkX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSwgLy8ga2VlcCB0cmFjayBvZiB3aGF0IGtpbmQgb2YgV29yZFByZXNzIG9iamVjdCB0aGlzIGlzLgoJCQkJJ2xhc3Rfc3luYycgICAgICAgICA9PiBjdXJyZW50X3RpbWUoICdteXNxbCcgKSwKCQkJCSdsYXN0X3N5bmNfYWN0aW9uJyAgPT4gJ3B1bGwnLAoJCQkJJ2xhc3Rfc3luY19zdGF0dXMnICA9PiAkdGhpcy0+bWFwcGluZ3MtPnN0YXR1c19zdWNjZXNzLAoJCQkJJ2xhc3Rfc3luY19tZXNzYWdlJyA9PiBlc2NfaHRtbF9fKCAnTWFwcGluZyBvYmplY3QgY3JlYXRlZCB2aWEgZnVuY3Rpb246ICcsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuIF9fRlVOQ1RJT05fXywKCQkJCSdhY3Rpb24nICAgICAgICAgICAgPT4gJ2NyZWF0ZWQnLAoJCQkpCgkJKTsKCgkJcmV0dXJuICRtYXBwaW5nX29iamVjdDsKCgl9CgoJLyoqCgkgKiBGaW5kIG91dCBpZiBwdWxsIGlzIGFsbG93ZWQgZm9yIHRoaXMgcmVjb3JkCgkgKgoJICogQHBhcmFtIHN0cmluZyAkb2JqZWN0X3R5cGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZS4KCSAqIEBwYXJhbSBhcnJheSAgJG9iamVjdCBBcnJheSBvZiB0aGUgc2FsZXNmb3JjZSBvYmplY3QncyBkYXRhLgoJICogQHBhcmFtIHN0cmluZyAkc2Zfc3luY190cmlnZ2VyIFRoZSBjdXJyZW50IG9wZXJhdGlvbidzIHRyaWdnZXIuCgkgKiBAcGFyYW0gYXJyYXkgICRzYWxlc2ZvcmNlX21hcHBpbmcgdGhlIGZpZWxkbWFwIHRoYXQgbWFwcyB0aGUgdHdvIG9iamVjdCB0eXBlcy4KCSAqIEBwYXJhbSBhcnJheSAgJG1hcF9zeW5jX3RyaWdnZXJzIHRoZSB0cmlnZ2VycyB0aGF0IGFyZSBlbmFibGVkLgoJICogQHJldHVybiBib29sICRwdWxsX2FsbG93ZWQgV2hldGhlciBhbGwgdGhpcyBzdHVmZiBhbGxvd3MgdGhlICRyZXN1bHQgdG8gYmUgcHVsbGVkIGludG8gV29yZFByZXNzCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gaXNfcHVsbF9hbGxvd2VkKCAkb2JqZWN0X3R5cGUsICRvYmplY3QsICRzZl9zeW5jX3RyaWdnZXIsICRzYWxlc2ZvcmNlX21hcHBpbmcsICRtYXBfc3luY190cmlnZ2VycyApIHsKCgkJLy8gZGVmYXVsdCBpcyBwdWxsIGlzIGFsbG93ZWQuCgkJJHB1bGxfYWxsb3dlZCA9IHRydWU7CgoJCS8vIGlmIHRoZSBjdXJyZW50IGZpZWxkbWFwIGRvZXMgbm90IGFsbG93IGNyZWF0ZSwgd2UgbmVlZCB0byBjaGVjayBpZiB0aGVyZSBpcyBhbiBvYmplY3QgbWFwIGZvciB0aGUgU2FsZXNmb3JjZSBvYmplY3QgSWQuIGlmIG5vdCwgc2V0IHB1bGxfYWxsb3dlZCB0byBmYWxzZS4KCQlpZiAoICEgaW5fYXJyYXkoICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9jcmVhdGUsICRtYXBfc3luY190cmlnZ2VycywgdHJ1ZSApICkgewoJCQkkb2JqZWN0X21hcCA9ICR0aGlzLT5tYXBwaW5ncy0+bG9hZF9vYmplY3RfbWFwc19ieV9zYWxlc2ZvcmNlX2lkKCAkb2JqZWN0WydJZCddLCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgkJCWlmICggZW1wdHkoICRvYmplY3RfbWFwICkgKSB7CgkJCQkkcHVsbF9hbGxvd2VkID0gZmFsc2U7CgkJCX0KCQl9CgoJCS8vIEhvb2sgdG8gYWxsb3cgb3RoZXIgcGx1Z2lucyB0byBwcmV2ZW50IGEgcHVsbCBwZXItbWFwcGluZy4KCQkvLyBQdXR0aW5nIHRoZSBwdWxsX2FsbG93ZWQgaG9vayBoZXJlIHdpbGwga2VlcCB0aGUgcXVldWUgZnJvbSBzdG9yaW5nIGRhdGEgd2hlbiBpdCBpcyBub3Qgc3VwcG9zZWQgdG8gc3RvcmUgaXQuCgkJJHB1bGxfYWxsb3dlZCA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfb2JqZWN0X2FsbG93ZWQnLCAkcHVsbF9hbGxvd2VkLCAkb2JqZWN0X3R5cGUsICRvYmplY3QsICRzZl9zeW5jX3RyaWdnZXIsICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCgkJLy8gZXhhbXBsZSB0byBrZWVwIGZyb20gcHVsbGluZyB0aGUgQ29udGFjdCB3aXRoIGlkIG9mIGFiY2RlZi4KCQkvKiAvLyBwaHBjczppZ25vcmUgU3F1aXouUEhQLkNvbW1lbnRlZE91dENvZGUuRm91bmQKCQlhZGRfZmlsdGVyKCAnb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2VfcHVsbF9vYmplY3RfYWxsb3dlZCcsICdjaGVja191c2VyJywgMTAsIDUgKTsKCQkvLyBjYW4gYWx3YXlzIHJlZHVjZSB0aGlzIG51bWJlciBpZiBhbGwgdGhlIGFyZ3VtZW50cyBhcmUgbm90IG5lY2Vzc2FyeQoJCWZ1bmN0aW9uIGNoZWNrX3VzZXIoICRwdWxsX2FsbG93ZWQsICRvYmplY3RfdHlwZSwgJG9iamVjdCwgJHNmX3N5bmNfdHJpZ2dlciwgJHNhbGVzZm9yY2VfbWFwcGluZyApIHsKCQkJaWYgKCAnQ29udGFjdCcgPT09ICRvYmplY3RfdHlwZSAmJiAnYWJjZGVmJyA9PT0gJG9iamVjdFsnSWQnXSApIHsKCQkJCSRwdWxsX2FsbG93ZWQgPSBmYWxzZTsKCQkJfQoJCQlyZXR1cm4gJHB1bGxfYWxsb3dlZDsKCQl9CgkJKi8KCgkJcmV0dXJuICRwdWxsX2FsbG93ZWQ7Cgl9Cgp9CiI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YToxOntzOjMxOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyI6MTE6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjMxOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MzA6Ik9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mzc6Ik9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbCBjbGFzcy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjExO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO047czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGltcGxlbWVudHMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBjb25zdGFudHMiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwcm9wZXJ0aWVzIjthOjIwOntzOjQxOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokdmVyc2lvbiI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHZlcnNpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo3OiJ2ZXJzaW9uIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI5OiJDdXJyZW50IHZlcnNpb24gb2YgdGhlIHBsdWdpbiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czozODoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGZpbGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRmaWxlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NDoiZmlsZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyMDoiVGhlIG1haW4gcGx1Z2luIGZpbGUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6Mzg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiR3cGRiIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM4OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokd3BkYiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjQ6IndwZGIiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDg6Ikdsb2JhbCBvYmplY3Qgb2YgYCR3cGRiYCwgdGhlIFdvcmRQcmVzcyBkYXRhYmFzZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtOO31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6Mzg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRzbHVnIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM4OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokc2x1ZyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjQ6InNsdWciO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTM6IlRoZSBwbHVnaW4ncyBzbHVnIHNvIHdlIGNhbiBpbmNsdWRlIGl0IHdoZW4gbmVjZXNzYXJ5IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQ3OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokb3B0aW9uX3ByZWZpeCI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG9wdGlvbl9wcmVmaXgiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMzoib3B0aW9uX3ByZWZpeCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1NToiVGhlIHBsdWdpbidzIHByZWZpeCB3aGVuIHNhdmluZyBvcHRpb25zIHRvIHRoZSBkYXRhYmFzZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo1MToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGxvZ2luX2NyZWRlbnRpYWxzIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUxOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbG9naW5fY3JlZGVudGlhbHMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoibG9naW5fY3JlZGVudGlhbHMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6OTA6IkxvZ2luIGNyZWRlbnRpYWxzIGZvciB0aGUgU2FsZXNmb3JjZSBBUEk7IGNvbWVzIGZyb20gd3AtY29uZmlnIG9yIGZyb20gdGhlIHBsdWdpbiBzZXR0aW5ncyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjU2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRzY2hlZHVsYWJsZV9jbGFzc2VzIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokc2NoZWR1bGFibGVfY2xhc3NlcyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJzY2hlZHVsYWJsZV9jbGFzc2VzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjgzOiJBcnJheSBvZiB3aGF0IGNsYXNzZXMgaW4gdGhlIHBsdWdpbiBjYW4gYmUgc2NoZWR1bGVkIHRvIG9jY3VyIHdpdGggYHdwX2Nyb25gIGV2ZW50cyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjYzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6Mzk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRxdWV1ZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozOToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHF1ZXVlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NToicXVldWUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MjY6Ik9iamVjdF9TeW5jX1NmX1F1ZXVlIGNsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo2NTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0MToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGxvZ2dpbmciO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDE6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRsb2dnaW5nIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NzoibG9nZ2luZyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyODoiT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyBjbGFzcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtOO31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDI6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRtYXBwaW5ncyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG1hcHBpbmdzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoibWFwcGluZ3MiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mjg6Ik9iamVjdF9TeW5jX1NmX01hcHBpbmcgY2xhc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokd29yZHByZXNzIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokd29yZHByZXNzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6OToid29yZHByZXNzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjMwOiJPYmplY3RfU3luY19TZl9Xb3JkUHJlc3MgY2xhc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjg2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo5MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQ0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokc2FsZXNmb3JjZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHNhbGVzZm9yY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMDoic2FsZXNmb3JjZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo2ODoiT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZSBjbGFzcwpUaGlzIGNvbnRhaW5zIFNhbGVzZm9yY2UgQVBJIG1ldGhvZHMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjkzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo5OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokcHVsbF9vcHRpb25zIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokcHVsbF9vcHRpb25zIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTI6InB1bGxfb3B0aW9ucyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozMzoiT2JqZWN0X1N5bmNfU2ZfUHVsbF9PcHRpb25zIGNsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMDE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEwNjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQ5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokc3luY190cmFuc2llbnRzIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokc3luY190cmFuc2llbnRzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6InN5bmNfdHJhbnNpZW50cyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNjoiT2JqZWN0X1N5bmNfU2ZfU3luY19UcmFuc2llbnRzIGNsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMDg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjExMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQ3OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokc2NoZWR1bGVfbmFtZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHNjaGVkdWxlX25hbWUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMzoic2NoZWR1bGVfbmFtZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNzoiVGhlIG5hbWUgb2YgdGhlIEFjdGlvblNjaGVkdWxlciBxdWV1ZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMTU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyMDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjUyOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokYmF0Y2hfc29xbF9xdWVyaWVzIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUyOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokYmF0Y2hfc29xbF9xdWVyaWVzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTg6ImJhdGNoX3NvcWxfcXVlcmllcyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyOToiV2hldGhlciB0byBiYXRjaCBTT1FMIHF1ZXJpZXMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTIyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTI3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRtaW5fc29xbF9iYXRjaF9zaXplIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbWluX3NvcWxfYmF0Y2hfc2l6ZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJtaW5fc29xbF9iYXRjaF9zaXplIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI4OiJNaW5pbXVtIHNpemUgb2YgYSBTT1FMIGJhdGNoIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyOTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEzNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQ3OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbWF4X3NvcWxfc2l6ZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG1heF9zb3FsX3NpemUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMzoibWF4X3NvcWxfc2l6ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyODoiTWF4aW11bSBzaXplIG9mIGEgU09RTCBiYXRjaCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMzY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNDE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo1NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG1lcmdlYWJsZV9yZWNvcmRfdHlwZXMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRtZXJnZWFibGVfcmVjb3JkX3R5cGVzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjI6Im1lcmdlYWJsZV9yZWNvcmRfdHlwZXMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDY6IlR5cGVzIG9mIFNhbGVzZm9yY2UgcmVjb3JkcyB0aGF0IGNhbiBiZSBtZXJnZWQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE0MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTQ4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6Mzk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRkZWJ1ZyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozOToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGRlYnVnIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NToiZGVidWciO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzU6IldoZXRoZXIgdGhlIHBsdWdpbiBpcyBpbiBkZWJ1ZyBtb2RlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE1MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTU1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fX1zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0aG9kcyI7YToyNzp7czo0NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6X19jb25zdHJ1Y3QoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MjY6IkNvbnN0cnVjdG9yIGZvciBwdWxsIGNsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNTc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6Ol9fY29uc3RydWN0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiX19jb25zdHJ1Y3QiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTYwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmJhdGNoX3NvcWxfcXVlcmllcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1NDoiV2hldGhlciB0byB1c2UgdGhlIGJhdGNoU2l6ZSBwYXJhbWV0ZXIgb24gU09RTCBxdWVyaWVzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxODoiYmF0Y2hfc29xbF9xdWVyaWVzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI5OiJ3aGV0aGVyIHRvIGJhdGNoIHRoZSBxdWVyaWVzLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTk6IiRiYXRjaF9zb3FsX3F1ZXJpZXMiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjAyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpiYXRjaF9zb3FsX3F1ZXJpZXMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE4OiJiYXRjaF9zb3FsX3F1ZXJpZXMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE4OiJiYXRjaF9zb3FsX3F1ZXJpZXMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMDg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo0NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6YWRkX2FjdGlvbnMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTc0OiJDcmVhdGUgdGhlIGFjdGlvbiBob29rcyBiYXNlZCBvbiB3aGF0IG9iamVjdCBtYXBzIGV4aXN0IGZyb20gdGhlIGFkbWluIHNldHRpbmdzCnJvdXRlIGlzIGh0dHA6Ly9leGFtcGxlLmNvbS93cC1qc29uL3NhbGVzZm9yY2UtcmVzdC1hcGkvcHVsbC8gcGx1cyBwYXJhbXMgd2UgZGVjaWRlIHRvIGFjY2VwdC4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIxODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6YWRkX2FjdGlvbnMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjExOiJhZGRfYWN0aW9ucyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMjI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6ZGVwcmVjYXRlZF9hY3Rpb25zKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjE4OiJEZXByZWNhdGVkIGFjdGlvbnMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6ZGVwcmVjYXRlZF9hY3Rpb25zKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiZGVwcmVjYXRlZF9hY3Rpb25zIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjYzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpkZXByZWNhdGVkX3B1bGxfb3B0aW9uX25hbWVzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjY1OiJNb2RpZnkgbGVnYWN5IG5hbWVkIGluZGl2aWR1YWwgb3B0aW9uIHJlY29yZHMgZm9yIHN5bmMgb3BlcmF0aW9ucyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo0OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6Mzoia2V5IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMyOiJ0aGUgcGx1Z2luJ3Mgc3VnZ2VzdGVkIGtleSBuYW1lLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo2OiJwYXJhbXMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQwOiJ0aGUgYXJyYXkgb2YgcGFyYW1ldGVycyB0byBtYWtlIHRoZSBrZXkuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjUwOiIkdmFsdWUgdGhlIHZhbHVlIG9mIHRoZSBpdGVtLiBGYWxzZSBpZiBpdCdzIGVtcHR5LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MztPOjQ5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xEZXByZWNhdGVkIjozOntzOjc6IgAqAG5hbWUiO3M6MTA6ImRlcHJlY2F0ZWQiO3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xEZXByZWNhdGVkAHZlcnNpb24iO047czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6OTI6InRoaXMgd2FzIGFkZGVkIGluIDIuMS4wIHRvIHVwZ3JhZGUgb2xkIG9wdGlvbiBrZXlzLCBidXQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI0MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6ZGVwcmVjYXRlZF9wdWxsX29wdGlvbl9uYW1lcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjg6ImRlcHJlY2F0ZWRfcHVsbF9vcHRpb25fbmFtZXMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Mzoia2V5IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoicGFyYW1zIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQ4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnNhbGVzZm9yY2VfcHVsbF93ZWJob29rKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjE2MToiUkVTVCBBUEkgY2FsbGJhY2sgZm9yIHNhbGVzZm9yY2UgcHVsbC4gUmV0dXJucyBzdGF0dXMgb2YgMjAwIGZvciBzdWNjZXNzZnVsCmF0dGVtcHQgb3IgNDAzIGZvciBhIGZhaWxlZCBwdWxsIGF0dGVtcHQgKFNGIG5vdCBhdXRob3JpemVkLCB0aHJlc2hob2xkCnJlYWNoZWQsIGV0Yy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InJlcXVlc3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTY6IlxXUF9SRVNUX1JlcXVlc3QiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToiV1BfUkVTVF9SZXF1ZXN0Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NjY6IlRoaXMgaXMgYSBtZXJnZWQgb2JqZWN0IG9mIGFsbCB0aGUgYXJndW1lbnRzIGZyb20gdGhlIEFQSSByZXF1ZXN0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMyOiJjb2RlOiAyMDEKZGF0YToKICBzdWNjZXNzIDogdHJ1ZSI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnNhbGVzZm9yY2VfcHVsbF93ZWJob29rKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMzoic2FsZXNmb3JjZV9wdWxsX3dlYmhvb2siO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NzoicmVxdWVzdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjE2OiJcV1BfUkVTVF9SZXF1ZXN0IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6IldQX1JFU1RfUmVxdWVzdCI7fX1zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNzE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6c2FsZXNmb3JjZV9wdWxsKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjY1OiJDYWxsYmFjayBmb3IgdGhlIHN0YW5kYXJkIHB1bGwgcHJvY2VzcyB1c2VkIGJ5IHdlYmhvb2tzIGFuZCBjcm9uLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzAxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpzYWxlc2ZvcmNlX3B1bGwoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJzYWxlc2ZvcmNlX3B1bGwiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzA0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmNoZWNrX3Rocm90dGxlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjY2OiJEZXRlcm1pbmVzIGlmIHRoZSBTYWxlc2ZvcmNlIHB1bGwgc2hvdWxkIGJlIGFsbG93ZWQsIG9yIHRocm90dGxlZC4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTQ6IlByZXZlbnRzIHRvbyBtYW55IHB1bGwgcHJvY2Vzc2VzIGZyb20gcnVubmluZyBhdCBvbmNlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Njg6IlJldHVybnMgZmFsc2UgaWYgdGhlIHRpbWUgZWxhcHNlZCBiZXR3ZWVuIHJlY2VudCBwdWxscyBpcyB0b28gc2hvcnQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMyMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2hlY2tfdGhyb3R0bGUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE0OiJjaGVja190aHJvdHRsZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzI5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF91cGRhdGVkX3JlY29yZHMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NjU6IlB1bGwgdXBkYXRlZCByZWNvcmRzIGZyb20gU2FsZXNmb3JjZSBhbmQgcGxhY2UgdGhlbSBpbiB0aGUgcXVldWUuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMxOToiRXhlY3V0ZXMgYSBTT1FMIHF1ZXJ5IGJhc2VkIG9uIGRlZmluZWQgbWFwcGluZ3MsIGxvb3BzIHRocm91Z2ggdGhlIHJlc3VsdHMsCmFuZCBwbGFjZXMgZWFjaCB1cGRhdGVkIFNGIG9iamVjdCBpbnRvIHRoZSBxdWV1ZSBmb3IgbGF0ZXIgcHJvY2Vzc2luZy4KV2UgY29weSB0aGUgY29udmVudGlvbiBmcm9tIHRoZSBEcnVwYWwgbW9kdWxlIGhlcmUsIGFuZCBydW4gYSBzZXBhcmF0ZSBTT1FMIHF1ZXJ5IGZvciBlYWNoIHR5cGUgb2Ygb2JqZWN0IGluIFNGCklmIHdlIHJldHVybiBzb21ldGhpbmcgaGVyZSwgaXQncyBiZWNhdXNlIHRoZXJlIGlzIGFuIGVycm9yLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNDA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF91cGRhdGVkX3JlY29yZHMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJnZXRfdXBkYXRlZF9yZWNvcmRzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNDc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X25leHRfcmVjb3JkX2JhdGNoKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjIwNzoiUHVsbCB0aGUgbmV4dCBiYXRjaCBvZiByZWNvcmRzIGZyb20gdGhlIFNhbGVzZm9yY2UgQVBJLCBpZiBhcHBsaWNhYmxlCkV4ZWN1dGVzIGEgbmV4dFJlY29yZHNVcmwgU09RTCBxdWVyeSBiYXNlZCBvbiB0aGUgcHJldmlvdXMgcmVzdWx0LAphbmQgcGxhY2VzIGVhY2ggdXBkYXRlZCBTRiBvYmplY3QgaW50byB0aGUgcXVldWUgZm9yIGxhdGVyIHByb2Nlc3NpbmcuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjc6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo5OiJsYXN0X3N5bmMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6OToiXGRhdGV0aW1lIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoiZGF0ZXRpbWUiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNDoid2hlbiBpdCB3YXMgbGFzdCBzeW5jZWQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjEzOiJ0aGUgZmllbGRtYXAuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE3OiJtYXBfc3luY190cmlnZ2VycyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjg6InRoZSBzeW5jIHRyaWdnZXIgYml0IHZhbHVlcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoidHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNzoidGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo0O086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEyOiJ2ZXJzaW9uX3BhdGgiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDA6InRoZSBBUEkgcGF0aCBmb3IgdGhlIFNhbGVzZm9yY2UgdmVyc2lvbi4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjU7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6InF1ZXJ5X29wdGlvbnMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjIzOiJ0aGUgU09RTCBxdWVyeSBvcHRpb25zLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo4OiJyZXNwb25zZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjI6InRoZSBwcmV2aW91cyByZXNwb25zZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Njc0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfbmV4dF9yZWNvcmRfYmF0Y2goKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIxOiJnZXRfbmV4dF9yZWNvcmRfYmF0Y2giO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjc6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjk6Imxhc3Rfc3luYyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNzoibWFwX3N5bmNfdHJpZ2dlcnMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjM7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo0O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTI6InZlcnNpb25fcGF0aCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6NTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJxdWVyeV9vcHRpb25zIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo2O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoicmVzcG9uc2UiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo2ODc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2hlY2tfb2Zmc2V0X3F1ZXJ5KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjEyMjoiR2V0IHRoZSBuZXh0IG9mZnNldCBxdWVyeS4gSWYgY2hlY2sgaXMgdHJ1ZSwgb25seSBzZWUgaWYgdGhhdCBxdWVyeSB3b3VsZCBoYXZlIHJlc3VsdHMuIE90aGVyd2lzZSwgcmV0dXJuIHRoZSBTT1FMIG9iamVjdC4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTc6IldoZW4gYmF0Y2hTaXplIGlzIG5vdCBpbiB1c2UsIHJ1biBhIGNoZWNrIHdpdGggYW4gb2Zmc2V0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjQ6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJ0eXBlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI3OiJ0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTg6InNhbGVzZm9yY2VfbWFwcGluZyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjk6InRoZSBtYXAgYmV0d2VlbiBvYmplY3QgdHlwZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJxdWVyeV9vcHRpb25zIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMToidGhlIG9wdGlvbnMgZm9yIHRoZSBTT1FMIHF1ZXJ5LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MztPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjM2OiIkc29xbHwkZG9lc19uZXh0X29mZnNldF9oYXZlX3Jlc3VsdHMiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzM1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpjaGVja19vZmZzZXRfcXVlcnkoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE4OiJjaGVja19vZmZzZXRfcXVlcnkiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InR5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxODoic2FsZXNmb3JjZV9tYXBwaW5nIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6InF1ZXJ5X29wdGlvbnMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3NDQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo0OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X3B1bGxfcXVlcnkoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTEwOiJHaXZlbiBhIFNPYmplY3QgdHlwZSBuYW1lLCBidWlsZCBhbiBTT1FMIHF1ZXJ5IHRvIGluY2x1ZGUgYWxsIGZpZWxkcyBmb3IgYWxsCmZpZWxkbWFwcyBtYXBwZWQgdG8gdGhhdCBTT2JqZWN0LiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo1OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoidHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMToiZS5nLiAiQ29udGFjdCIsICJBY2NvdW50IiwgZXRjLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxODoic2FsZXNmb3JjZV9tYXBwaW5nIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0NDoidGhlIGZpZWxkbWFwIHRoYXQgbWFwcyB0aGUgdHdvIG9iamVjdCB0eXBlcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1NlbGVjdF9RdWVyeSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjM4OiJPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1NlbGVjdF9RdWVyeSI7fX1zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo1NDoib3IgbnVsbCBpZiBubyBtYXBwaW5ncyBvciBubyBtYXBwZWQgZmllbGRzIHdlcmUgZm91bmQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDI6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFNlZSI6Mzp7czo3OiIAKgBuYW1lIjtzOjM6InNlZSI7czo5OiIAKgByZWZlcnMiO086NTQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxGcXNlbiI6MTp7czo2MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxGcXNlbgBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQyOiJcT2JqZWN0X1N5bmNfU2ZfTWFwcGluZzo6Z2V0X21hcHBlZF9maWVsZHMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiZ2V0X21hcHBlZF9maWVsZHMiO319czoxNDoiACoAZGVzY3JpcHRpb24iO047fWk6NDtPOjQyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xTZWUiOjM6e3M6NzoiACoAbmFtZSI7czozOiJzZWUiO3M6OToiACoAcmVmZXJzIjtPOjU0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcRnFzZW4iOjE6e3M6NjE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcRnFzZW4AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0ODoiXE9iamVjdF9TeW5jX1NmX01hcHBpbmc6OmdldF9tYXBwZWRfcmVjb3JkX3R5cGVzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjM6ImdldF9tYXBwZWRfcmVjb3JkX3R5cGVzIjt9fXM6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzY5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9xdWVyeSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTQ6ImdldF9wdWxsX3F1ZXJ5Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTg6InNhbGVzZm9yY2VfbWFwcGluZyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6NzoiYXJyYXkoKSI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc3OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9vZmZzZXQoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDY6IkRldGVybWluZSB0aGUgb2Zmc2V0IGZvciB0aGUgU09RTCBxdWVyeSB0byBydW4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoic29xbCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTY6InRoZSBTT1FMIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NToicmVzZXQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjg6IndoZXRoZXIgdG8gcmVzZXQgdGhlIG9mZnNldC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTA0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9vZmZzZXQoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJnZXRfcHVsbF9vZmZzZXQiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InR5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJzb3FsIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NToicmVzZXQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjU6ImZhbHNlIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTExO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9wdWxsX2RhdGVfdmFsdWUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTM4OiJHaXZlbiBhIFNPYmplY3QgdHlwZSBuYW1lLCBkZXRlcm1pbmUgdGhlIGRhdGV0aW1lIHZhbHVlIHRoZSBTT1FMIG9iamVjdCBzaG91bGQgdXNlIHRvIGZpbHRlciByZXN1bHRzLiBPZnRlbiB0aGlzIHdpbGwgYmUgTGFzdE1vZGlmaWVkRGF0ZS4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NDp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoic29xbCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTY6InRoZSBTT1FMIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTE6ImZpZWxkbWFwX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQ1OiJpcyB0aGUgZmllbGRtYXAgSUQgdGhhdCBnb2VzIHdpdGggdGhpcyBxdWVyeS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTA6Ilx0aW1lc3RhbXAiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo5OiJ0aW1lc3RhbXAiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjU6IiRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWUiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTIwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9kYXRlX3ZhbHVlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiZ2V0X3B1bGxfZGF0ZV92YWx1ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoidHlwZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InNvcWwiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToiZmllbGRtYXBfaWQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTI4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9tZXJnZWRfcmVjb3JkcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNToiR2V0IG1lcmdlZCByZWNvcmRzIGZyb20gU2FsZXNmb3JjZS4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Njg6Ik5vdGUgdGhhdCBtZXJnZXMgY2FuIGN1cnJlbnRseSBvbmx5IHdvcmsgaWYgdGhlIFNvYXAgQVBJIGlzIGVuYWJsZWQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjk2MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X21lcmdlZF9yZWNvcmRzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiZ2V0X21lcmdlZF9yZWNvcmRzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo5Njc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo2MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6cmVzcG9uZF90b19zYWxlc2ZvcmNlX21lcmdlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjEyNjoiUmVzcG9uZCB0byBTYWxlc2ZvcmNlIG1lcmdlIGV2ZW50cwpUaGlzIG1lYW5zIHdlIHVwZGF0ZSB0aGUgbWFwcGluZyBvYmplY3QgdG8gY29udGFpbiB0aGUgbmV3IFNhbGVzZm9yY2UgSWQsIGFuZCBwdWxsIGl0cyBkYXRhIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mzc6IndoYXQgdHlwZSBvZiBTYWxlc2ZvcmNlIG9iamVjdCBpdCBpcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6Im1lcmdlZF9yZWNvcmQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI3OiJ0aGUgcmVjb3JkIHRoYXQgd2FzIG1lcmdlZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTA0ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6cmVzcG9uZF90b19zYWxlc2ZvcmNlX21lcmdlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNzoicmVzcG9uZF90b19zYWxlc2ZvcmNlX21lcmdlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMzoibWVyZ2VkX3JlY29yZCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEwNTU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1NDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X2RlbGV0ZWRfcmVjb3JkcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNjoiR2V0IGRlbGV0ZWQgcmVjb3JkcyBmcm9tIHNhbGVzZm9yY2UuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjc3OiJOb3RlIHRoYXQgZGVsZXRpb25zIGNhbiBvbmx5IGJlIHF1ZXJpZWQgdmlhIFJFU1Qgd2l0aCBhbiBBUEkgdmVyc2lvbiA+PSAyOS4wLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMTA0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfZGVsZXRlZF9yZWNvcmRzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiZ2V0X2RlbGV0ZWRfcmVjb3JkcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTEwODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjptYW51YWxfcHVsbCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MDoiTWV0aG9kIGZvciBhamF4IGhvb2tzIHRvIGNhbGwgZm9yIHB1bGxpbmcgbWFudWFsbHkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNzoidGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJzYWxlc2ZvcmNlX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI1OiJ0aGUgU2FsZXNmb3JjZSByZWNvcmQgSUQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzoiJHJlc3VsdCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjM5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjptYW51YWxfcHVsbCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6Im1hbnVhbF9wdWxsIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJzYWxlc2ZvcmNlX2lkIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7czoyOiInJyI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyNDY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo2NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6c2FsZXNmb3JjZV9wdWxsX3Byb2Nlc3NfcmVjb3JkcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo4MDoiU3luYyBXb3JkUHJlc3Mgb2JqZWN0cyBhbmQgU2FsZXNmb3JjZSBvYmplY3RzIGZyb20gdGhlIHF1ZXVlIHVzaW5nIHRoZSBSRVNUIEFQSS4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NTp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNjoiVHlwZSBvZiBTYWxlc2ZvcmNlIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6Njoib2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozNjoiVGhlIFNhbGVzZm9yY2UgZGF0YSBvciBpdHMgSWQgdmFsdWUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjI6IlRyaWdnZXIgZm9yIHRoaXMgc3luYy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjIzOiJ0cnVlIG9yIGV4aXQgdGhlIG1ldGhvZCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NDtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xUaHJvd3MiOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI1OiJcT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6Ik9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiI7fX1zOjc6IgAqAG5hbWUiO3M6NjoidGhyb3dzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMzoiRXhjZXB0aW9uICRlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjc0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpzYWxlc2ZvcmNlX3B1bGxfcHJvY2Vzc19yZWNvcmRzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czozMToic2FsZXNmb3JjZV9wdWxsX3Byb2Nlc3NfcmVjb3JkcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJvYmplY3QiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNToic2Zfc3luY190cmlnZ2VyIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTI4MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUyOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfc3luY2VkX29iamVjdCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozMjoiR2VuZXJhdGUgdGhlIHN5bmNlZF9vYmplY3QgYXJyYXkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NDp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjY6Im9iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzU6IlRoZSBkYXRhIGZvciB0aGUgU2FsZXNmb3JjZSBvYmplY3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE0OiJtYXBwaW5nX29iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6ODY6IlRoZSBkYXRhIGZvciB0aGUgbWFwcGluZyBvYmplY3QgYmV0d2VlbiB0aGUgaW5kaXZpZHVhbCBTYWxlc2ZvcmNlIGFuZCBXb3JkUHJlc3MgaXRlbXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjUxOiJUaGUgZGF0YSBmb3IgdGhlIGZpZWxkbWFwIGJldHdlZW4gdGhlIG9iamVjdCB0eXBlcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMDc6IiRzeW5jZWRfb2JqZWN0IFRoZSBjb21iaW5lZCBhcnJheSBvZiB0aGVzZSBpdGVtcy4gSXQgYWxsb3dzIGZvciBmaWx0ZXJpbmcgb2YsIGF0IGxlYXN0LCB0aGUgbWFwcGluZ19vYmplY3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2MzM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTI6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9zeW5jZWRfb2JqZWN0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiZ2V0X3N5bmNlZF9vYmplY3QiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6Im9iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE0OiJtYXBwaW5nX29iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNjQxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NjQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmNyZWF0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjUwOiJDcmVhdGUgcmVjb3JkcyBpbiBXb3JkUHJlc3MgZnJvbSBhIFNhbGVzZm9yY2UgcHVsbCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo4OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMjoiVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6InN5bmNlZF9vYmplY3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcxOiJDb21iaW5lZCBkYXRhIGZvciBmaWVsZG1hcCwgbWFwcGluZyBvYmplY3QsIGFuZCBTYWxlc2ZvcmNlIG9iamVjdCBkYXRhLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo2OiJwYXJhbXMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcyOiJBcnJheSBvZiBtYXBwZWQga2V5IHZhbHVlIHBhaXJzIGJldHdlZW4gV29yZFByZXNzIGFuZCBTYWxlc2ZvcmNlIGZpZWxkcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6ODoicHJlbWF0Y2giO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjYzOiJBcnJheSBvZiBjcml0ZXJpYSB0byBkZXRlcm1pbmUgd2hhdCB0byBkbyBvbiB1cHNlcnQgb3BlcmF0aW9ucy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjQ7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MjM6IndvcmRwcmVzc19pZF9maWVsZF9uYW1lIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjY3OiJUaGUgbmFtZSBvZiB0aGUgSUQgZmllbGQgZm9yIHRoaXMgcGFydGljdWxhciBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo1O086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InNlY29uZHMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzA6IlRpbWVvdXQgZm9yIHRoZSB0cmFuc2llbnQgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gZm9yIGEgc3luYy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjY7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3NDoiJHJlc3VsdHMgQ3VycmVudGx5IHRoaXMgY29udGFpbnMgYW4gYXJyYXkgb2YgbG9nIGVudHJpZXMgZm9yIGVhY2ggYXR0ZW1wdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjc7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVGhyb3dzIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyNToiXE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJPYmplY3RfU3luY19TZl9FeGNlcHRpb24iO319czo3OiIAKgBuYW1lIjtzOjY6InRocm93cyI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTM6IkV4Y2VwdGlvbiAkZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTY1NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y3JlYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI5OiJjcmVhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Njp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJzeW5jZWRfb2JqZWN0IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoicGFyYW1zIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTozO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoicHJlbWF0Y2giO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjQ7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoyMzoid29yZHByZXNzX2lkX2ZpZWxkX25hbWUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjU7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJzZWNvbmRzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTY2OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjY0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjp1cGRhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MDoiVXBkYXRlIHJlY29yZHMgaW4gV29yZFByZXNzIGZyb20gYSBTYWxlc2ZvcmNlIHB1bGwiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Nzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzI6IlRoZSBjdXJyZW50IG9wZXJhdGlvbidzIHRyaWdnZXIuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJzeW5jZWRfb2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MToiQ29tYmluZWQgZGF0YSBmb3IgZmllbGRtYXAsIG1hcHBpbmcgb2JqZWN0LCBhbmQgU2FsZXNmb3JjZSBvYmplY3QgZGF0YS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NjoicGFyYW1zIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MjoiQXJyYXkgb2YgbWFwcGVkIGtleSB2YWx1ZSBwYWlycyBiZXR3ZWVuIFdvcmRQcmVzcyBhbmQgU2FsZXNmb3JjZSBmaWVsZHMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjIzOiJ3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2NzoiVGhlIG5hbWUgb2YgdGhlIElEIGZpZWxkIGZvciB0aGlzIHBhcnRpY3VsYXIgV29yZFByZXNzIG9iamVjdCB0eXBlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo3OiJzZWNvbmRzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcwOiJUaW1lb3V0IGZvciB0aGUgdHJhbnNpZW50IHZhbHVlIHRvIGRldGVybWluZSB0aGUgZGlyZWN0aW9uIGZvciBhIHN5bmMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo1O086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzQ6IiRyZXN1bHRzIEN1cnJlbnRseSB0aGlzIGNvbnRhaW5zIGFuIGFycmF5IG9mIGxvZyBlbnRyaWVzIGZvciBlYWNoIGF0dGVtcHQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo2O086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFRocm93cyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MjU6IlxPYmplY3RfU3luY19TZl9FeGNlcHRpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNDoiT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIjt9fXM6NzoiACoAbmFtZSI7czo2OiJ0aHJvd3MiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjEzOiJFeGNlcHRpb24gJGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIwNjM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnVwZGF0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyOToidXBkYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjU6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMzoic3luY2VkX29iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6InBhcmFtcyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjIzOiJ3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6NDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6InNlY29uZHMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMDc0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NjQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmRlbGV0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjUwOiJEZWxldGUgcmVjb3JkcyBpbiBXb3JkUHJlc3MgZnJvbSBhIFNhbGVzZm9yY2UgcHVsbCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo3OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMjoiVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6InN5bmNlZF9vYmplY3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcxOiJDb21iaW5lZCBkYXRhIGZvciBmaWVsZG1hcCwgbWFwcGluZyBvYmplY3QsIGFuZCBTYWxlc2ZvcmNlIG9iamVjdCBkYXRhLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoyMzoid29yZHByZXNzX2lkX2ZpZWxkX25hbWUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Njc6IlRoZSBuYW1lIG9mIHRoZSBJRCBmaWVsZCBmb3IgdGhpcyBwYXJ0aWN1bGFyIFdvcmRQcmVzcyBvYmplY3QgdHlwZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6Nzoic2Vjb25kcyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MDoiVGltZW91dCBmb3IgdGhlIHRyYW5zaWVudCB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIGRpcmVjdGlvbiBmb3IgYSBzeW5jLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxNToibWFwcGluZ19vYmplY3RzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxNTk6IlRoZSBkYXRhIGZvciB0aGUgbWFwcGluZyBvYmplY3RzIGJldHdlZW4gdGhlIGluZGl2aWR1YWwgU2FsZXNmb3JjZSBhbmQgV29yZFByZXNzIGl0ZW1zLiBXZSBvbmx5IHBhc3MgdGhpcyBiZWNhdXNlIG9mIHRoZSBuZWVkIHRvIGNvdW50IGJlZm9yZSBkZWxldGluZyByZWNvcmRzLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjc0OiIkcmVzdWx0cyBDdXJyZW50bHkgdGhpcyBjb250YWlucyBhbiBhcnJheSBvZiBsb2cgZW50cmllcyBmb3IgZWFjaCBhdHRlbXB0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xUaHJvd3MiOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI1OiJcT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6Ik9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiI7fX1zOjc6IgAqAG5hbWUiO3M6NjoidGhyb3dzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMzoiRXhjZXB0aW9uICRlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMjAzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpkZWxldGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjk6ImRlbGV0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTo1OntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNToic2Zfc3luY190cmlnZ2VyIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6InN5bmNlZF9vYmplY3QiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoyMzoid29yZHByZXNzX2lkX2ZpZWxkX25hbWUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjM7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJzZWNvbmRzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo0O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6Im1hcHBpbmdfb2JqZWN0cyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIyMTQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2xlYXJfY3VycmVudF90eXBlX3F1ZXJ5KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjYzOiJDbGVhciB0aGUgY3VycmVudGx5IHN0b3JlZCBxdWVyeSBmb3IgdGhlIHNwZWNpZmllZCBjb250ZW50IHR5cGUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTE6ImZpZWxkbWFwX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQ1OiJpcyB0aGUgZmllbGRtYXAgSUQgdGhhdCBnb2VzIHdpdGggdGhpcyBxdWVyeS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM3NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2xlYXJfY3VycmVudF90eXBlX3F1ZXJ5KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNDoiY2xlYXJfY3VycmVudF90eXBlX3F1ZXJ5Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InR5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToiZmllbGRtYXBfaWQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM4MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjY2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjppbmNyZW1lbnRfY3VycmVudF90eXBlX2RhdGV0aW1lKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQ4OiJJbmNyZW1lbnQgdGhlIGN1cnJlbnRseSBydW5uaW5nIHF1ZXJ5J3MgZGF0ZXRpbWUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MjQ6Im5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoxMDoiXHRpbWVzdGFtcCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjk6InRpbWVzdGFtcCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjc2OiJ0aGUgbGFzdCByZWNvcmQncyBtb2RpZmllZCBkYXRldGltZSwgb3IgdGhlIGN1cnJlbnQgdGltZSBpZiB0aGVyZSBpc24ndCBvbmUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJmaWVsZG1hcF9pZCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0NToiaXMgdGhlIGZpZWxkbWFwIElEIHRoYXQgZ29lcyB3aXRoIHRoaXMgcXVlcnkuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzOTI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmluY3JlbWVudF9jdXJyZW50X3R5cGVfZGF0ZXRpbWUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjMxOiJpbmNyZW1lbnRfY3VycmVudF90eXBlX2RhdGV0aW1lIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MjQ6Im5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6MjoiJyciO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToiZmllbGRtYXBfaWQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM5OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUyOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpjcmVhdGVfb2JqZWN0X21hcCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo3MToiQ3JlYXRlIGFuIG9iamVjdCBtYXAgYmV0d2VlbiBhIFNhbGVzZm9yY2Ugb2JqZWN0IGFuZCBhIFdvcmRQcmVzcyBvYmplY3QiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NDp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE3OiJzYWxlc2ZvcmNlX29iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mzg6IkFycmF5IG9mIHRoZSBzYWxlc2ZvcmNlIG9iamVjdCdzIGRhdGEuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEyOiJ3b3JkcHJlc3NfaWQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDM6IlVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgV29yZFByZXNzIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6ImZpZWxkX21hcHBpbmciO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjkzOiJUaGUgcm93IHRoYXQgbWFwcyB0aGUgb2JqZWN0IHR5cGVzIHRvZ2V0aGVyLCBpbmNsdWRpbmcgd2hpY2ggZmllbGRzIG1hdGNoIHdoaWNoIG90aGVyIGZpZWxkcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjYwOiIkd3BkYi0+aW5zZXJ0X2lkIFRoaXMgaXMgdGhlIGRhdGFiYXNlIHJvdyBmb3IgdGhlIG1hcCBvYmplY3QiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQwOTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y3JlYXRlX29iamVjdF9tYXAoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE3OiJjcmVhdGVfb2JqZWN0X21hcCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTc6InNhbGVzZm9yY2Vfb2JqZWN0IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTI6IndvcmRwcmVzc19pZCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJmaWVsZF9tYXBwaW5nIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQxNztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjppc19wdWxsX2FsbG93ZWQoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDM6IkZpbmQgb3V0IGlmIHB1bGwgaXMgYWxsb3dlZCBmb3IgdGhpcyByZWNvcmQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Njp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMzoiU2FsZXNmb3JjZSBvYmplY3QgdHlwZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6Njoib2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozODoiQXJyYXkgb2YgdGhlIHNhbGVzZm9yY2Ugb2JqZWN0J3MgZGF0YS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMjoiVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTg6InNhbGVzZm9yY2VfbWFwcGluZyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDQ6InRoZSBmaWVsZG1hcCB0aGF0IG1hcHMgdGhlIHR3byBvYmplY3QgdHlwZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo0O086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE3OiJtYXBfc3luY190cmlnZ2VycyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzA6InRoZSB0cmlnZ2VycyB0aGF0IGFyZSBlbmFibGVkLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6ODM6IiRwdWxsX2FsbG93ZWQgV2hldGhlciBhbGwgdGhpcyBzdHVmZiBhbGxvd3MgdGhlICRyZXN1bHQgdG8gYmUgcHVsbGVkIGludG8gV29yZFByZXNzIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI0MzY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTA6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmlzX3B1bGxfYWxsb3dlZCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6ImlzX3B1bGxfYWxsb3dlZCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6NTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6Im9iamVjdF90eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Njoib2JqZWN0IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjQ7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNzoibWFwX3N5bmNfdHJpZ2dlcnMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNDQ2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AdXNlZFRyYWl0cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fX0=";