Name: series-workflowspd6n Phase: Succeeded StartedAt: 2026-09-09 12:45:00 +0000 UTC FinishedAt: 2026-09-09 14:01:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[0] Phase: Succeeded StartedAt: 2026-09-09 12:45:00 +0000 UTC FinishedAt: 2026-09-09 13:15:27 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[0].run-triage Phase: Succeeded StartedAt: 2026-09-09 12:45:00 +0000 UTC FinishedAt: 2026-09-09 13:15:27 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "vfs", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git", "commit_hash": "21860bb220225edeb87e9c831e6bf25c620e2126", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NLS", "NLS_ISO8859_14" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "vfs", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git", "commit_hash": "21860bb220225edeb87e9c831e6bf25c620e2126", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NLS", "NLS_ISO8859_14" ], "series_id": "2d0153a3-5f7f-4308-88db-5fdcc94ed218" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "uni2char" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjEzPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05MUyYjMzQ7LAogICAgJiMzNDtOTFNfSVNPODg1OV8xNCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3VuaTJjaGFyJiMzNDsKICBdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgc3RhdGljIGNvbnN0YW50IGxvb2t1cCB0YWJsZXMgKGBwYWdlMDFgIGFuZCBgcGFnZTFlYCkgaW4gYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYCB0byBjb3JyZWN0IFVuaWNvZGUtdG8tY2hhcnNldCBtYXBwaW5nIGVudHJpZXMuIFxuXG5UaGVzZSB0YWJsZXMgYXJlIHN0YXRpYyBjb25zdCBhcnJheXMgb2YgZml4ZWQgc2l6ZSAoMjU2IGJ5dGVzKSBwbGFjZWQgaW4gcmVhZC1vbmx5IGRhdGEgKC5yb2RhdGEpLiBObyBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLCBzdGFjayB2YXJpYWJsZXMsIGtlcm5lbC10by11c2VyIGNvcHkgb3BlcmF0aW9ucywgb3IgdW5pbml0aWFsaXplZCBtZW1vcnkgcGF0aHMgYXJlIGludHJvZHVjZWQgb3IgbW9kaWZpZWQuIFRoZXJlZm9yZSwgdGhlcmUgYXJlIG5vIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzLCBhbmQgYSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGlzIG5vdCB3YXJyYW50ZWQuJiMzNDssCiAgJiMzNDtOZWVkc0tNU0FOJiMzNDs6IGZhbHNlLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNvcnJlY3RzIGNoYXJhY3RlciBtYXBwaW5nIGVudHJpZXMgaW4gdGhlIFVuaWNvZGUtdG8tSVNPLTg4NTktMTQgdGFibGVzIChwYWdlMDEgYW5kIHBhZ2UxZSkgaW4gZnMvbmxzL25sc19pc284ODU5LTE0LmMuIFRoZXNlIHRhYmxlcyBhcmUgdXNlZCBieSB1bmkyY2hhcigpIGR1cmluZyBmaWxlc3lzdGVtIGNoYXJhY3RlciBjb252ZXJzaW9uIG9wZXJhdGlvbnMgKGUuZy4gRkFULCBJU09GUyksIHJlcHJlc2VudGluZyByZWFjaGFibGUgY29kZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uIGNvcnJlY3RuZXNzIGFuZCBib3VuZGFyeSBzYWZldHkuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTM8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCAyMzY3ODNjMjVlZDhmZjk0ZGE1YzdmZjFlNTJjMTU3YTI4Mzk0NjEwXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBTZXAgOSAxMzoxMzo0OSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYyBiL2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXG5pbmRleCBjNzg5ZWNjYjhhNjk1Li42MGI5NDAwZjkxNWFmIDEwMDY0NFxuLS0tIGEvZnMvbmxzL25sc19pc284ODU5LTE0LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXG5AQCAtMTM4LDI0ICYjNDM7MTM4LDIzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0ge1xuIH07XG4gXG4gc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7XG4tXHQweDAwLCAweDAwLCAweGExLCAweGEyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDAwLTB4MDcgKi9cbi1cdDB4MDAsIDB4MDAsIDB4YTYsIDB4YWIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xuJiM0MztcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqL1xuJiM0MztcdDB4MDAsIDB4MDAsIDB4YTQsIDB4YTUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxMC0weDE3ICovXG4tXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi9cbiYjNDM7XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDE4LTB4MWYgKi9cbiBcdDB4YjIsIDB4YjMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjAtMHgyNyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDMwLTB4MzcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzgtMHgzZiAqL1xuLVx0MHhiNCwgMHhiNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovXG4mIzQzO1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQ4LTB4NGYgKi9cbi1cdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjcsIDB4YjksIC8qIDB4NTAtMHg1NyAqL1xuJiM0MztcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTAtMHg1NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1OC0weDVmICovXG4tXHQweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi9cbi1cdDB4MDAsIDB4MDAsIDB4ZDcsIDB4ZjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xuJiM0MztcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqL1xuJiM0MztcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhkMCwgMHhmMCwgMHhkZSwgMHhmZSwgLyogMHg3MC0weDc3ICovXG4gXHQweGFmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cbi1cdFxuLVx0MHhhOCwgMHhiOCwgMHhhYSwgMHhiYSwgMHhiZCwgMHhiZSwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXG4mIzQzO1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTAtMHg5NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5OC0weDlmICovXG5AQCAtMTY5LDcgJiM0MzsxNjgsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDFbMjU2XSA9IHtcbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDgtMHhkZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlMC0weGU3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGU4LTB4ZWYgKi9cbi1cdDB4MDAsIDB4MDAsIDB4YWMsIDB4YmMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqL1xuJiM0MztcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmOC0weGZmICovXG4gfTtcbiBcbkBAIC0xNzgsNyAmIzQzOzE3Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0ge1xuIFx0MHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjAsIDB4YjEsIC8qIDB4MTgtMHgxZiAqL1xuLVx0MHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXG4mIzQzO1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDI4LTB4MmYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzAtMHgzNyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovXG5AQCAtMTg4LDkgJiM0MzsxODcsOCBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMWVbMjU2XSA9IHtcbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xuIFx0MHhiYiwgMHhiZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4gXHQweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbi1cdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqL1xuLVx0MHhhZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4tXG4mIzQzO1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3MC0weDc3ICovXG4mIzQzO1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4gXHQweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5MC0weDk3ICovXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTM8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Y29yZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TkxTJiMzNDssCiAgICAmIzM0O05MU19JU084ODU5XzE0JiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dW5pMmNoYXImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggY29ycmVjdHMgY2hhcmFjdGVyIG1hcHBpbmcgZW50cmllcyBpbiB0aGUgVW5pY29kZS10by1JU08tODg1OS0xNCB0YWJsZXMgKHBhZ2UwMSBhbmQgcGFnZTFlKSBpbiBmcy9ubHMvbmxzX2lzbzg4NTktMTQuYy4gVGhlc2UgdGFibGVzIGFyZSB1c2VkIGJ5IHVuaTJjaGFyKCkgZHVyaW5nIGZpbGVzeXN0ZW0gY2hhcmFjdGVyIGNvbnZlcnNpb24gb3BlcmF0aW9ucyAoZS5nLiBGQVQsIElTT0ZTKSwgcmVwcmVzZW50aW5nIHJlYWNoYWJsZSBjb2RlIHRoYXQgc2hvdWxkIGJlIGZ1enplZCBmb3IgY2hhcmFjdGVyIGNvbnZlcnNpb24gY29ycmVjdG5lc3MgYW5kIGJvdW5kYXJ5IHNhZmV0eS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIgYW5kIHNlY3VyaXR5IGVuZ2luZWVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGV2YWx1YXRlIHdoZXRoZXIgaXQgd2FycmFudHMgZnV6emluZyB3aXRoIHN5emthbGxlci4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24gaW50ZXJuYWwgYXNzdW1wdGlvbnMuIFlvdSBtdXN0IGFjdGl2ZWx5IHVzZSB5b3VyIGNvZGUgYWNjZXNzCnRvb2xzIHRvIGluc3BlY3QgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSwgY2FsbGVycywgYW5kIHN1cnJvdW5kaW5nIGNvbnRleHQuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoxLiBDT1JFIFRSSUFHRSBQSElMT1NPUEhZCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBnb2FsIG9mIHBhdGNoIGZ1enppbmcgaXMgdG8gZGlzY292ZXIgY3Jhc2hlcywgcmVncmVzc2lvbnMsIGV4cG9zZWQgbGF0ZW50IGJ1Z3MsCmFuZCBuZXdseSB0cmlnZ2VyZWQgYXNzZXJ0aW9ucyBpbnRyb2R1Y2VkIGJ5IHRoZSBwYXRjaCBzZXJpZXMuCgotIFJFQUNIQUJJTElUWSBJUyBUSEUgUFJJTUFSWSBHQVRFOgogIEZ1enppbmcgY2FuIG9ubHkgZGlzY292ZXIgYnVncyBpbiBjb2RlIHRoYXQgY2FuIGFjdHVhbGx5IGV4ZWN1dGUgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQKICBlbnZpcm9ubWVudHMgKEdDRSBvciBRRU1VLCB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgZGV2aWNlcyBsaWtlIFVTQiBnYWRnZXRzLCBuZXRkZXYsIHR1bi90YXApLgogIElmIHRoZSBtb2RpZmllZCBjb2RlIGlzIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSAoc2VlIFNlY3Rpb24gMiksIGl0IE1VU1QgTk9UIGJlIGZ1enplZCwKICByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgYWRkcyBhc3NlcnRpb25zIG9yIGNvbXBsZXggbG9naWMuCgotIERPIE5PVCBCTElORExZIFRSVVNUICYjMzQ7Tk8gRlVOQ1RJT05BTCBDSEFOR0UmIzM0OyAoTkZDSSkgT1IgJiMzNDtSRUZBQ1RPUklORyYjMzQ7IENMQUlNUzoKICBQYXRjaCBhdXRob3JzIHJvdXRpbmVseSBsYWJlbCBjaGFuZ2VzIGFzICYjMzQ7Y2xlYW51cHMmIzM0OywgJiMzNDtyZWZhY3RvcmluZ3MmIzM0Oywgb3Igc3RhdGUKICAmIzM0O05vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkJiMzNDsuIERvIE5PVCB0YWtlIHRoZXNlIGNsYWltcyBhdCBmYWNlIHZhbHVlLgogIENvZGUgcmVmYWN0b3JpbmdzIHRoYXQgcmVhcnJhbmdlIGxvZ2ljLCBpbnRyb2R1Y2UgaGVscGVyIGZ1bmN0aW9ucywgb3IgYWx0ZXIgc3RhdGUgbWFuYWdlbWVudAogIGluIGNvcmUgc3Vic3lzdGVtcyBmcmVxdWVudGx5IGludHJvZHVjZSBzdWJ0bGUgc2VtYW50aWMgc2hpZnRzIG9yIHVuY292ZXIgbGF0ZW50IGtlcm5lbCBidWdzLgogIElmIHJlYWNoYWJsZSBleGVjdXRhYmxlIGNvZGUgaXMgbW9kaWZpZWQgb3IgcmVmYWN0b3JlZCwgaXQgTVVTVCBiZSBmdXp6ZWQuCgotIE5FVyBPUiBNT0RJRklFRCBBU1NFUlRJT05TIElOIFJFQUNIQUJMRSBDT0RFIE1VU1QgQkUgRlVaWkVEOgogIFdoZW4gYSBwYXRjaCBpbnRyb2R1Y2VzIG9yIG1vZGlmaWVzIHJ1bnRpbWUgY2hlY2tzIG9yIGFzc2VydGlvbnMgKGUuZy4sIFdBUk5fT04qLCBWTV9XQVJOX09OKiwKICBCVUdfT04qLCBsb2NrZGVwX2Fzc2VydCopIGluIHJlYWNoYWJsZSBjb2RlIHBhdGhzLCBpdCBlbmZvcmNlcyBuZXcgb3Igc3RyaWN0ZXIgaW52YXJpYW50cy4KICBFdmVuIGlmIHRoZSBhdXRob3IgYmVsaWV2ZXMgdGhlIGludmFyaWFudCBhbHdheXMgaG9sZHMsIGZ1enppbmcgaXMgZXNzZW50aWFsIHRvIHZlcmlmeSB3aGV0aGVyCiAgYW4gdW51c3VhbCBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zIGNhbiB2aW9sYXRlIGl0LgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KMi4gV0hFTiBUTyBSRVRVUk4gV29ydGhGdXp6aW5nPWZhbHNlIChORUdBVElWRSBDUklURVJJQSkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBPTkxZIElGIGFsbCBtb2RpZmllZCBjb2RlIGZhbGxzIHN0cmljdGx5IGludG8gb25lIG9yIG1vcmUgb2YgdGhlc2UgY2F0ZWdvcmllczoKCi0gTm9uLWtlcm5lbCBhbmQgbm9uLWV4ZWN1dGFibGUgY2hhbmdlczoKICAqIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIGNvbW1lbnRzLCBvciBzcGVsbGluZyBmaXhlcy4KICAqIFVzZXItc3BhY2UgZGlyZWN0b3JpZXMsIHNlbGYtdGVzdHMsIHNhbXBsZXMsIG9yIHNjcmlwdHMgKGUuZy4sIHRvb2xzLywgc2FtcGxlcy8sIHNjcmlwdHMvLCB1c3IvKQogICAgdGhhdCBkbyBub3QgYWZmZWN0IHRoZSBjb21waWxlZCBrZXJuZWwgaW1hZ2UgKHZtbGludXgpIG9yIGtlcm5lbCBtb2R1bGVzLgogICogUHVyZWx5IGRlY29yYXRpdmUgbG9nZ2luZyAoZS5nLiwgbWVzc2FnZSBzdHJpbmdzIGluIHByX2VyciwgcHJpbnRrLCBkZXZfaW5mbykgb3IgdHJhY2Vwb2ludHMKICAgIHRoYXQgZG8gbm90IGFsdGVyIGNvbnRyb2wgZmxvdyBvciBkYXRhIHN0cnVjdHVyZXMuCiAgKiBCdWlsZCBzeXN0ZW0gb3IgS2NvbmZpZyBjaGFuZ2VzIHRoYXQgZG8gbm90IGFsdGVyIGNvbXBpbGVkIEMgbG9naWMuCi0gU3RydWN0dXJhbGx5IHVucmVhY2hhYmxlIGhhcmR3YXJlOgogICogVmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoZXMsIFNtYXJ0TklDcywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogICAgaW9uaWMsIGFtZGdwdSkgcmVxdWlyaW5nIHBoeXNpY2FsIEFTSUMvUENJZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4KLSBVbnJlYWNoYWJsZSBleGVjdXRpb24gcGF0aHM6CiAgKiBEcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzICgucmVtb3ZlLCAuc2h1dGRvd24sIHBjaV91bnJlZ2lzdGVyX2RyaXZlcikgZXhlY3V0ZWQgb25seSBkdXJpbmcKICAgIHBoeXNpY2FsIFBDSSBob3QtdW5wbHVnIG9yIG1hbnVhbCBzeXNmcyBkcml2ZXIgdW5iaW5kaW5nLgogICogQ29kZSBwYXRocyBleGNsdXNpdmUgdG8gYXJjaGl0ZWN0dXJlcyBvdGhlciB0aGFuIHRoZSB0YXJnZXQgYXJjaGl0ZWN0dXJlLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KMy4gV0hFTiBUTyBSRVRVUk4gV29ydGhGdXp6aW5nPXRydWUgKFBPU0lUSVZFIENSSVRFUklBKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSZXR1cm4gV29ydGhGdXp6aW5nPXRydWUgd2hlbmV2ZXIgdGhlIHBhdGNoIHRvdWNoZXMgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSwgaW5jbHVkaW5nOgotIENvcmUgU3Vic3lzdGVtczoKICAqIEFueSBsb2dpYyBtb2RpZmljYXRpb25zIGluIG1lbW9yeSBtYW5hZ2VtZW50IChtbS8pLCBzeW5jaHJvbml6YXRpb24vbG9ja2luZyAoa2VybmVsL2xvY2tpbmcvKSwKICAgIEJQRiwgc2NoZWR1bGVyLCBjb3JlIG5ldHdvcmtpbmcsIFZGUywgb3Igc3lzY2FsbCBoYW5kbGluZy4KLSBSZWZhY3RvcmluZ3MgYW5kIENvZGUgQ2xlYW51cHM6CiAgKiBBbnkgcmVzdHJ1Y3R1cmluZyBvZiByZWFjaGFibGUgZGF0YSBzdHJ1Y3R1cmVzLCBoZWxwZXIgYWJzdHJhY3Rpb25zLCBvciBhbGdvcml0aG0gZmxvd3MuCi0gUnVudGltZSBBc3NlcnRpb25zIGFuZCBEZWZlbnNpdmUgQ2hlY2tzOgogICogQW55IGludHJvZHVjdGlvbiBvciBhbHRlcmF0aW9uIG9mIGFzc2VydGlvbnMgKFdBUk5fT04qLCBWTV9XQVJOX09OKiwgQlVHX09OKiwgZXRjLikgaW4gcmVhY2hhYmxlIHBhdGhzLgotIFJlYWNoYWJsZSBEcml2ZXJzIGFuZCBQcm90b2NvbHM6CiAgKiBEcml2ZXJzIGFjY2Vzc2libGUgdmlhIHZpcnR1YWwgYnVzZXMgKHZpcnRpbywgVVNCIGdhZGdldCwgbG9vcGJhY2ssIG5ldGxpbmssIGJpbmRlciwgc29ja2V0cywgZXRjLikuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo0LiBFWFRSQUNUSU5HIEZvY3VzU3ltYm9scyAoUFJFVkVOVElORyBESUxVVElPTikKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KV2hlbiBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IG11c3QgZXh0cmFjdCBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIGludG8gRm9jdXNTeW1ib2xzIHRvIGd1aWRlIHRoZSBmdXp6ZXI6CgotIEFWT0lEIFVCSVFVSVRPVVMgTElGRUNZQ0xFIEhPVC1QQVRIUzoKICBEbyBOT1QgbGlzdCBnZW5lcmljLCB1YmlxdWl0b3VzIGZ1bmN0aW9ucyBjYWxsZWQgYnkgYWxtb3N0IGV2ZXJ5IHByb2dyYW0gaW4gdGhlIGNvcnB1cwogIChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bzogZ2VuZXJhbCBtZW1vcnkgYWxsb2NhdG9ycyBhbmQgZGVhbGxvY2F0b3JzLCBwYWdlIGZhdWx0CiAgYW5kIHRyYXAgaGFuZGxlcnMsIG9yIGNvcmUgc3luY2hyb25pemF0aW9uIHByaW1pdGl2ZXM7IHRoaXMgaXMgbm90IGFuIGV4aGF1c3RpdmUgbGlzdCkuCiAgTGlzdGluZyB1YmlxdWl0b3VzIGZ1bmN0aW9ucyBjYXVzZXMgdGhlIGZ1enplciB0byBjbGFzc2lmeSB0aG91c2FuZHMgb2YgdW5yZWxhdGVkIHRlc3RzIGFzICYjMzQ7Zm9jdXNlZCYjMzQ7LAogIHdoaWNoIHNldmVyZWx5IGRpbHV0ZXMgZnV6emluZyBlZmZvcnQgYXdheSBmcm9tIHRoZSBhY3R1YWwgY2hhbmdlcy4KCi0gVEFSR0VUIFNQRUNJRklDIEZFQVRVUkUgTE9HSUMgQU5EIEVOVFJZUE9JTlRTOgogIExpc3QgZnVuY3Rpb25zIHRoYXQgc3BlY2lmaWNhbGx5IGltcGxlbWVudCB0aGUgbG9naWMgYmVpbmcgYWRkZWQgb3IgYWx0ZXJlZCwgb3IgZGlyZWN0IEFQSSBlbnRyeXBvaW50cwogIGZvciB0aGUgc3Vic3lzdGVtIGZlYXR1cmUgdW5kZXIgcmV2aWV3LgoKLSBIQU5ETElORyBTVEFUSUMgSU5MSU5FIEZVTkNUSU9OUyBJTiBIRUFERVJTICguaCk6CiAgQ29tcGlsZXItaW5saW5lZCBzdGF0aWMgZnVuY3Rpb25zIChzdWNoIGFzIHN0YXRpYyBpbmxpbmVzIGluIG1tLyouaCBvciBpbmNsdWRlL2xpbnV4LyouaCkgbGFjawogIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMgaW4gdm1saW51eCBhbmQgY2Fubm90IGJlIHRhcmdldGVkIGRpcmVjdGx5IGJ5IHN5bWJvbCBjb3ZlcmFnZSBmaWx0ZXJzLgogIElmIHRoZSBjaGFuZ2VzIGFyZSBwcmltYXJpbHkgaW4gc3RhdGljIGlubGluZSBoZWxwZXJzLCBpZGVudGlmeSBub24tc3RhdGljLCBmZWF0dXJlLXNwZWNpZmljIGNhbGxlcgogIGZ1bmN0aW9ucyBpbiAuYyBmaWxlcyB0aGF0IGV4ZXJjaXNlIHRoZW0gKGF2b2lkaW5nIHViaXF1aXRvdXMgbGlmZWN5Y2xlIHdyYXBwZXJzKS4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjUuIElERU5USUZZSU5HIEVuYWJsZUNvbmZpZ3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSBjb21waWxlIGFuZCByZWFjaCB0aGUgbW9kaWZpZWQgY29kZToKLSBJbnNwZWN0IEtjb25maWcgZmlsZXMgYW5kICNpZmRlZiBndWFyZHM7IGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgotIENoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncyBuZWVkZWQuCi0gU3RyaXAgYW55ICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPlRhcmdldCBhcmNoaXRlY3R1cmU6IGFtZDY0CgpGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDIzNjc4M2MyNWVkOGZmOTRkYTVjN2ZmMWU1MmMxNTdhMjgzOTQ2MTAKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIFNlcCA5IDEzOjEzOjQ5IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZnMvbmxzL25sc19pc284ODU5LTE0LmMgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYwppbmRleCBjNzg5ZWNjYjhhNjk1Li42MGI5NDAwZjkxNWFmIDEwMDY0NAotLS0gYS9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYwomIzQzOyYjNDM7JiM0MzsgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYwpAQCAtMTM4LDI0ICYjNDM7MTM4LDIzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0gewogfTsKIAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7Ci0JMHgwMCwgMHgwMCwgMHhhMSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovCi0JMHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqLwomIzQzOwkweDAwLCAweDAwLCAweGE0LCAweGE1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi8KLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi8KJiM0MzsJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxOC0weDFmICovCiAJMHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovCi0JMHhiNCwgMHhiNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqLwogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDgtMHg0ZiAqLwotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjcsIDB4YjksIC8qIDB4NTAtMHg1NyAqLwomIzQzOwkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDUwLTB4NTcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDU4LTB4NWYgKi8KLQkweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi8KLQkweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi8KJiM0MzsJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqLwogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqLwogCTB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqLwotCQotCTB4YTgsIDB4YjgsIDB4YWEsIDB4YmEsIDB4YmQsIDB4YmUsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqLwomIzQzOwkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDk4LTB4OWYgKi8KQEAgLTE2OSw3ICYjNDM7MTY4LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7CiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlMC0weGU3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlOC0weGVmICovCi0JMHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqLwogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjgtMHhmZiAqLwogfTsKIApAQCAtMTc4LDcgJiM0MzsxNzcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMWVbMjU2XSA9IHsKIAkweDAwLCAweDAwLCAweGE2LCAweGFiLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi8KLQkweGIyLCAweGIzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi8KJiM0MzsJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovCkBAIC0xODgsOSAmIzQzOzE4Nyw4IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0gewogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqLwogCTB4YmIsIDB4YmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqLwogCTB4MDAsIDB4MDAsIDB4ZDcsIDB4ZjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqLwotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqLwotCTB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqLwotCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzAtMHg3NyAqLwomIzQzOwkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi8KIAkweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi8KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNjA4NwoJCQkJCQkJb3V0cHV0OiA0NQoJCQkJCQkJdGhvdWdodHM6IDExNQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFBhdGNoOiBubHNfaXNvODg1OS0xNC5jKioKCkFscmlnaHQsIGxldCYjMzk7cyBkaXZlIGludG8gdGhpcy4gVGhlIHBhdGNoIGltbWVkaWF0ZWx5IGZsYWdzIG15IGF0dGVudGlvbjogaXQmIzM5O3MgaGl0dGluZyBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgLiBPa2F5LCBzbyB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGNoYXJhY3RlciBzZXQgc3VwcG9ydCwgc3BlY2lmaWNhbGx5IElTTy04ODU5LTE0LiBJIGtub3cgdGhpcyBmaWxlOyBpdCYjMzk7cyB0aGUgY29yZSBvZiB0aGUgaW1wbGVtZW50YXRpb24gZm9yIHRoYXQgcGFydGljdWxhciBjaGFyYWN0ZXIgZW5jb2Rpbmcgd2l0aGluIHRoZSBmaWxlc3lzdGVtJiMzOTtzIE5MUyAoTmF0aW9uYWwgTGFuZ3VhZ2UgU3VwcG9ydCkgbGF5ZXIuCgpUaGUgY3JpdGljYWwgcGllY2VzIG9mIGludGVyZXN0IGhlcmUgYXJlIHRoZSBhcnJheXMgYHBhZ2UwMWAgYW5kIGBwYWdlMWVgIHdpdGhpbiB0aGF0IHNvdXJjZSBmaWxlLiBJdCB3b3VsZCBiZSB2YWx1YWJsZSB0byB1bmRlcnN0YW5kIHdoYXQgdGhlc2UgYXJyYXlzIGFyZS4gSSBuZWVkIHRvIGdldCBhIGNsZWFyIHBpY3R1cmUgb2Ygd2hhdCB0aGV5IGNvbnRhaW4gYW5kIGhvdyB0aGV5JiMzOTtyZSBiZWluZyB1c2VkIHdpdGhpbiB0aGUgY29udGV4dCBvZiB0aGUgZW5jb2RpbmcgY29udmVyc2lvbi4KCk15IG5leHQgc3RlcCBpcyBjbGVhcjogSSYjMzk7bSBnb2luZyB0byBwdWxsIHVwIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgZGlyZWN0bHkuIEkgbmVlZCB0byBleGFtaW5lIHRob3NlIGFycmF5cyB3aXRoaW4gdGhlaXIgYnJvYWRlciBjb250ZXh0LiBBIHF1aWNrIGByZWFkLWZpbGVgIG9yIGEgYGdyZXBwZXJgIGNhbGwgc2hvdWxkIGdpdmUgbWUgd2hhdCBJIG5lZWQuIExldCYjMzk7cyBzZWUgd2hhdCYjMzk7cyBiZWluZyB0d2Vha2VkIGFuZCB3aHkuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtmcy9ubHMvbmxzX2lzbzg4NTktMTQuYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMTAwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAgIDE6XHQvKlxuICAgMjpcdCAqIGxpbnV4L2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXG4gICAzOlx0ICpcbiAgIDQ6XHQgKiBDaGFyc2V0IGlzbzg4NTktMTQgdHJhbnNsYXRpb24gdGFibGVzLlxuICAgNTpcdCAqXG4gICA2Olx0ICogR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgZnJvbSB0aGUgVW5pY29kZSBhbmQgY2hhcnNldCB0YWJsZVxuICAgNzpcdCAqIHByb3ZpZGVkIGJ5IHRoZSBVbmljb2RlIE9yZ2FuaXNhdGlvbiBhdFxuICAgODpcdCAqIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvXG4gICA5Olx0ICogVGhlIFVuaWNvZGUgdG8gY2hhcnNldCB0YWJsZSBoYXMgb25seSBleGFjdCBtYXBwaW5ncy5cbiAgMTA6XHQgKlxuICAxMTpcdCAqIFJoeXMgSm9uZXMsIFN3YW5zZWEgVW5pdmVyc2l0eSBDb21wdXRlciBTb2NpZXR5XG4gIDEyOlx0ICogcmh5c0BzdWNzLnN3YW4uYWMudWtcbiAgMTM6XHQgKi9cbiAgMTQ6XHRcbiAgMTU6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9tb2R1bGUuaFx1MDAzZVxuICAxNjpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L2tlcm5lbC5oXHUwMDNlXG4gIDE3Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvc3RyaW5nLmhcdTAwM2VcbiAgMTg6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9ubHMuaFx1MDAzZVxuICAxOTpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm5vLmhcdTAwM2VcbiAgMjA6XHRcbiAgMjE6XHRzdGF0aWMgY29uc3Qgd2NoYXJfdCBjaGFyc2V0MnVuaVsyNTZdID0ge1xuICAyMjpcdFx0LyogMHgwMCovXG4gIDIzOlx0XHQweDAwMDAsIDB4MDAwMSwgMHgwMDAyLCAweDAwMDMsIFxuICAyNDpcdFx0MHgwMDA0LCAweDAwMDUsIDB4MDAwNiwgMHgwMDA3LCBcbiAgMjU6XHRcdDB4MDAwOCwgMHgwMDA5LCAweDAwMGEsIDB4MDAwYiwgXG4gIDI2Olx0XHQweDAwMGMsIDB4MDAwZCwgMHgwMDBlLCAweDAwMGYsIFxuICAyNzpcdFx0LyogMHgxMCovXG4gIDI4Olx0XHQweDAwMTAsIDB4MDAxMSwgMHgwMDEyLCAweDAwMTMsIFxuICAyOTpcdFx0MHgwMDE0LCAweDAwMTUsIDB4MDAxNiwgMHgwMDE3LCBcbiAgMzA6XHRcdDB4MDAxOCwgMHgwMDE5LCAweDAwMWEsIDB4MDAxYiwgXG4gIDMxOlx0XHQweDAwMWMsIDB4MDAxZCwgMHgwMDFlLCAweDAwMWYsIFxuICAzMjpcdFx0LyogMHgyMCovXG4gIDMzOlx0XHQweDAwMjAsIDB4MDAyMSwgMHgwMDIyLCAweDAwMjMsIFxuICAzNDpcdFx0MHgwMDI0LCAweDAwMjUsIDB4MDAyNiwgMHgwMDI3LCBcbiAgMzU6XHRcdDB4MDAyOCwgMHgwMDI5LCAweDAwMmEsIDB4MDAyYiwgXG4gIDM2Olx0XHQweDAwMmMsIDB4MDAyZCwgMHgwMDJlLCAweDAwMmYsIFxuICAzNzpcdFx0LyogMHgzMCovXG4gIDM4Olx0XHQweDAwMzAsIDB4MDAzMSwgMHgwMDMyLCAweDAwMzMsIFxuICAzOTpcdFx0MHgwMDM0LCAweDAwMzUsIDB4MDAzNiwgMHgwMDM3LCBcbiAgNDA6XHRcdDB4MDAzOCwgMHgwMDM5LCAweDAwM2EsIDB4MDAzYiwgXG4gIDQxOlx0XHQweDAwM2MsIDB4MDAzZCwgMHgwMDNlLCAweDAwM2YsIFxuICA0MjpcdFx0LyogMHg0MCovXG4gIDQzOlx0XHQweDAwNDAsIDB4MDA0MSwgMHgwMDQyLCAweDAwNDMsIFxuICA0NDpcdFx0MHgwMDQ0LCAweDAwNDUsIDB4MDA0NiwgMHgwMDQ3LCBcbiAgNDU6XHRcdDB4MDA0OCwgMHgwMDQ5LCAweDAwNGEsIDB4MDA0YiwgXG4gIDQ2Olx0XHQweDAwNGMsIDB4MDA0ZCwgMHgwMDRlLCAweDAwNGYsIFxuICA0NzpcdFx0LyogMHg1MCovXG4gIDQ4Olx0XHQweDAwNTAsIDB4MDA1MSwgMHgwMDUyLCAweDAwNTMsIFxuICA0OTpcdFx0MHgwMDU0LCAweDAwNTUsIDB4MDA1NiwgMHgwMDU3LCBcbiAgNTA6XHRcdDB4MDA1OCwgMHgwMDU5LCAweDAwNWEsIDB4MDA1YiwgXG4gIDUxOlx0XHQweDAwNWMsIDB4MDA1ZCwgMHgwMDVlLCAweDAwNWYsIFxuICA1MjpcdFx0LyogMHg2MCovXG4gIDUzOlx0XHQweDAwNjAsIDB4MDA2MSwgMHgwMDYyLCAweDAwNjMsIFxuICA1NDpcdFx0MHgwMDY0LCAweDAwNjUsIDB4MDA2NiwgMHgwMDY3LCBcbiAgNTU6XHRcdDB4MDA2OCwgMHgwMDY5LCAweDAwNmEsIDB4MDA2YiwgXG4gIDU2Olx0XHQweDAwNmMsIDB4MDA2ZCwgMHgwMDZlLCAweDAwNmYsIFxuICA1NzpcdFx0LyogMHg3MCovXG4gIDU4Olx0XHQweDAwNzAsIDB4MDA3MSwgMHgwMDcyLCAweDAwNzMsIFxuICA1OTpcdFx0MHgwMDc0LCAweDAwNzUsIDB4MDA3NiwgMHgwMDc3LCBcbiAgNjA6XHRcdDB4MDA3OCwgMHgwMDc5LCAweDAwN2EsIDB4MDA3YiwgXG4gIDYxOlx0XHQweDAwN2MsIDB4MDA3ZCwgMHgwMDdlLCAweDAwN2YsIFxuICA2MjpcdFx0LyogMHg4MCovXG4gIDYzOlx0XHQweDAwODAsIDB4MDA4MSwgMHgwMDgyLCAweDAwODMsXG4gIDY0Olx0XHQweDAwODQsIDB4MDA4NSwgMHgwMDg2LCAweDAwODcsXG4gIDY1Olx0XHQweDAwODgsIDB4MDA4OSwgMHgwMDhhLCAweDAwOGIsXG4gIDY2Olx0XHQweDAwOGMsIDB4MDA4ZCwgMHgwMDhlLCAweDAwOGYsXG4gIDY3Olx0XHQvKiAweDkwKi9cbiAgNjg6XHRcdDB4MDA5MCwgMHgwMDkxLCAweDAwOTIsIDB4MDA5MyxcbiAgNjk6XHRcdDB4MDA5NCwgMHgwMDk1LCAweDAwOTYsIDB4MDA5NyxcbiAgNzA6XHRcdDB4MDA5OCwgMHgwMDk5LCAweDAwOWEsIDB4MDA5YixcbiAgNzE6XHRcdDB4MDA5YywgMHgwMDlkLCAweDAwOWUsIDB4MDA5ZixcbiAgNzI6XHRcdC8qIDB4YTAqL1xuICA3MzpcdFx0MHgwMGEwLCAweDFlMDIsIDB4MWUwMywgMHgwMGEzLCBcbiAgNzQ6XHRcdDB4MDEwYSwgMHgwMTBiLCAweDFlMGEsIDB4MDBhNywgXG4gIDc1Olx0XHQweDFlODAsIDB4MDBhOSwgMHgxZTgyLCAweDFlMGIsIFxuICA3NjpcdFx0MHgxZWYyLCAweDAwYWQsIDB4MDBhZSwgMHgwMTc4LCBcbiAgNzc6XHRcdC8qIDB4YjAqL1xuICA3ODpcdFx0MHgxZTFlLCAweDFlMWYsIDB4MDEyMCwgMHgwMTIxLCBcbiAgNzk6XHRcdDB4MWU0MCwgMHgxZTQxLCAweDAwYjYsIDB4MWU1NiwgXG4gIDgwOlx0XHQweDFlODEsIDB4MWU1NywgMHgxZTgzLCAweDFlNjAsIFxuICA4MTpcdFx0MHgxZWYzLCAweDFlODQsIDB4MWU4NSwgMHgxZTYxLCBcbiAgODI6XHRcdC8qIDB4YzAqL1xuICA4MzpcdFx0MHgwMGMwLCAweDAwYzEsIDB4MDBjMiwgMHgwMGMzLCBcbiAgODQ6XHRcdDB4MDBjNCwgMHgwMGM1LCAweDAwYzYsIDB4MDBjNywgXG4gIDg1Olx0XHQweDAwYzgsIDB4MDBjOSwgMHgwMGNhLCAweDAwY2IsIFxuICA4NjpcdFx0MHgwMGNjLCAweDAwY2QsIDB4MDBjZSwgMHgwMGNmLCBcbiAgODc6XHRcdC8qIDB4ZDAqL1xuICA4ODpcdFx0MHgwMTc0LCAweDAwZDEsIDB4MDBkMiwgMHgwMGQzLCBcbiAgODk6XHRcdDB4MDBkNCwgMHgwMGQ1LCAweDAwZDYsIDB4MWU2YSwgXG4gIDkwOlx0XHQweDAwZDgsIDB4MDBkOSwgMHgwMGRhLCAweDAwZGIsIFxuICA5MTpcdFx0MHgwMGRjLCAweDAwZGQsIDB4MDE3NiwgMHgwMGRmLCBcbiAgOTI6XHRcdC8qIDB4ZTAqL1xuICA5MzpcdFx0MHgwMGUwLCAweDAwZTEsIDB4MDBlMiwgMHgwMGUzLCBcbiAgOTQ6XHRcdDB4MDBlNCwgMHgwMGU1LCAweDAwZTYsIDB4MDBlNywgXG4gIDk1Olx0XHQweDAwZTgsIDB4MDBlOSwgMHgwMGVhLCAweDAwZWIsIFxuICA5NjpcdFx0MHgwMGVjLCAweDAwZWQsIDB4MDBlZSwgMHgwMGVmLCBcbiAgOTc6XHRcdC8qIDB4ZjAqL1xuICA5ODpcdFx0MHgwMTc1LCAweDAwZjEsIDB4MDBmMiwgMHgwMGYzLCBcbiAgOTk6XHRcdDB4MDBmNCwgMHgwMGY1LCAweDAwZjYsIDB4MWU2YiwgXG4gMTAwOlx0XHQweDAwZjgsIDB4MDBmOSwgMHgwMGZhLCAweDAwZmIsIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDkzNTkKCQkJCQkJCW91dHB1dDogNDcKCQkJCQkJCXRob3VnaHRzOiAyNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgbGV0JiMzOTtzIGRpdmUgaW50byB0aGlzIGNvZGUuCgoqKkRpdmluZyBpbnRvIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AqKgoKQWxyaWdodCwgSSYjMzk7bSByZWFkeSB0byBnZXQgbXkgdGVldGggaW50byB0aGUgYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYCBmaWxlLiBHaXZlbiBteSBleHBlcnRpc2UsIEkmIzM5O20gZXhwZWN0aW5nIHRoaXMgdG8gYmUgYSBjaGFyYWN0ZXIgZW5jb2RpbmcgdGFibGUsIGxpa2VseSBkZWZpbmluZyB0aGUgbWFwcGluZyBiZXR3ZWVuIHRoZSBJU08tODg1OS0xNCBjaGFyYWN0ZXIgc2V0IGFuZCBzb21ldGhpbmcgaW50ZXJuYWwgdG8gdGhlIGZpbGVzeXN0ZW0sIHByb2JhYmx5IFVuaWNvZGUgb3IgVVRGLTguIEkmIzM5O2xsIGJlIGxvb2tpbmcgZm9yIHRoZSBzdHJ1Y3R1cmUgdGhhdCBob2xkcyB0aGUgY2hhcmFjdGVyIG1hcHBpbmcgZGF0YSwgYW5kIEkgYW50aWNpcGF0ZSBzZWVpbmcgYSBzZXJpZXMgb2YgYXJyYXlzIG9yIGxvb2t1cCB0YWJsZXMuIEkmIzM5O2xsIGJlIGZvY3VzaW5nIG9uIGhvdyB0aGUgdHJhbnNsYXRpb24gYmV0d2VlbiB0aGUgY2hhcmFjdGVyIHNldHMgaXMgaGFuZGxlZCBhbmQgaWYgdGhlcmUmIzM5O3MgYW55IGNsZXZlcm5lc3MgaW4gdGhlIGltcGxlbWVudGF0aW9uIGZvciBvcHRpbWl6YXRpb24gb3Igc3BlY2lhbCBjaGFyYWN0ZXIgaGFuZGxpbmcuIEkmIzM5O2xsIGJlIHBhcnRpY3VsYXJseSBpbnRlcmVzdGVkIGluIGhvdyB0aGV5IGFkZHJlc3MgaXNzdWVzIGxpa2UgaW52YWxpZCBvciB1bm1hcHBhYmxlIGNoYXJhY3RlcnMsIGFuZCBob3cgdGhvc2UgY2FzZXMgYXJlIGhhbmRsZWQuIExldCYjMzk7cyBzZWUgaWYgaXQmIzM5O3Mgd2VsbC1jb21tZW50ZWQuIFRoYXQmIzM5O3MgYWx3YXlzIGEgYmlnIGhlbHAhCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtmcy9ubHMvbmxzX2lzbzg4NTktMTQuYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEwMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxNTAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDEwMTpcdFx0MHgwMGZjLCAweDAwZmQsIDB4MDE3NywgMHgwMGZmLCBcbiAxMDI6XHR9O1xuIDEwMzpcdFxuIDEwNDpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0ge1xuIDEwNTpcdFx0MHgwMCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwNSwgMHgwNiwgMHgwNywgLyogMHgwMC0weDA3ICovXG4gMTA2Olx0XHQweDA4LCAweDA5LCAweDBhLCAweDBiLCAweDBjLCAweDBkLCAweDBlLCAweDBmLCAvKiAweDA4LTB4MGYgKi9cbiAxMDc6XHRcdDB4MTAsIDB4MTEsIDB4MTIsIDB4MTMsIDB4MTQsIDB4MTUsIDB4MTYsIDB4MTcsIC8qIDB4MTAtMHgxNyAqL1xuIDEwODpcdFx0MHgxOCwgMHgxOSwgMHgxYSwgMHgxYiwgMHgxYywgMHgxZCwgMHgxZSwgMHgxZiwgLyogMHgxOC0weDFmICovXG4gMTA5Olx0XHQweDIwLCAweDIxLCAweDIyLCAweDIzLCAweDI0LCAweDI1LCAweDI2LCAweDI3LCAvKiAweDIwLTB4MjcgKi9cbiAxMTA6XHRcdDB4MjgsIDB4MjksIDB4MmEsIDB4MmIsIDB4MmMsIDB4MmQsIDB4MmUsIDB4MmYsIC8qIDB4MjgtMHgyZiAqL1xuIDExMTpcdFx0MHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgLyogMHgzMC0weDM3ICovXG4gMTEyOlx0XHQweDM4LCAweDM5LCAweDNhLCAweDNiLCAweDNjLCAweDNkLCAweDNlLCAweDNmLCAvKiAweDM4LTB4M2YgKi9cbiAxMTM6XHRcdDB4NDAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NDAtMHg0NyAqL1xuIDExNDpcdFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg0OC0weDRmICovXG4gMTE1Olx0XHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDUwLTB4NTcgKi9cbiAxMTY6XHRcdDB4NTgsIDB4NTksIDB4NWEsIDB4NWIsIDB4NWMsIDB4NWQsIDB4NWUsIDB4NWYsIC8qIDB4NTgtMHg1ZiAqL1xuIDExNzpcdFx0MHg2MCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NywgLyogMHg2MC0weDY3ICovXG4gMTE4Olx0XHQweDY4LCAweDY5LCAweDZhLCAweDZiLCAweDZjLCAweDZkLCAweDZlLCAweDZmLCAvKiAweDY4LTB4NmYgKi9cbiAxMTk6XHRcdDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsIC8qIDB4NzAtMHg3NyAqL1xuIDEyMDpcdFx0MHg3OCwgMHg3OSwgMHg3YSwgMHg3YiwgMHg3YywgMHg3ZCwgMHg3ZSwgMHg3ZiwgLyogMHg3OC0weDdmICovXG4gMTIxOlx0XG4gMTIyOlx0XHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cbiAxMjM6XHRcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xuIDEyNDpcdFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXG4gMTI1Olx0XHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cbiAxMjY6XHRcdDB4YTAsIDB4MDAsIDB4MDAsIDB4YTMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xuIDEyNzpcdFx0MHgwMCwgMHhhOSwgMHgwMCwgMHgwMCwgMHgwMCwgMHhhZCwgMHhhZSwgMHgwMCwgLyogMHhhOC0weGFmICovXG4gMTI4Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGI2LCAweDAwLCAvKiAweGIwLTB4YjcgKi9cbiAxMjk6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjgtMHhiZiAqL1xuIDEzMDpcdFx0MHhjMCwgMHhjMSwgMHhjMiwgMHhjMywgMHhjNCwgMHhjNSwgMHhjNiwgMHhjNywgLyogMHhjMC0weGM3ICovXG4gMTMxOlx0XHQweGM4LCAweGM5LCAweGNhLCAweGNiLCAweGNjLCAweGNkLCAweGNlLCAweGNmLCAvKiAweGM4LTB4Y2YgKi9cbiAxMzI6XHRcdDB4MDAsIDB4ZDEsIDB4ZDIsIDB4ZDMsIDB4ZDQsIDB4ZDUsIDB4ZDYsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xuIDEzMzpcdFx0MHhkOCwgMHhkOSwgMHhkYSwgMHhkYiwgMHhkYywgMHhkZCwgMHgwMCwgMHhkZiwgLyogMHhkOC0weGRmICovXG4gMTM0Olx0XHQweGUwLCAweGUxLCAweGUyLCAweGUzLCAweGU0LCAweGU1LCAweGU2LCAweGU3LCAvKiAweGUwLTB4ZTcgKi9cbiAxMzU6XHRcdDB4ZTgsIDB4ZTksIDB4ZWEsIDB4ZWIsIDB4ZWMsIDB4ZWQsIDB4ZWUsIDB4ZWYsIC8qIDB4ZTgtMHhlZiAqL1xuIDEzNjpcdFx0MHgwMCwgMHhmMSwgMHhmMiwgMHhmMywgMHhmNCwgMHhmNSwgMHhmNiwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gMTM3Olx0XHQweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweGZkLCAweDAwLCAweGZmLCAvKiAweGY4LTB4ZmYgKi9cbiAxMzg6XHR9O1xuIDEzOTpcdFxuIDE0MDpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMVsyNTZdID0ge1xuIDE0MTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovXG4gMTQyOlx0XHQweDAwLCAweDAwLCAweGE0LCAweGE1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi9cbiAxNDM6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTAtMHgxNyAqL1xuIDE0NDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxOC0weDFmICovXG4gMTQ1Olx0XHQweGIyLCAweGIzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi9cbiAxNDY6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjgtMHgyZiAqL1xuIDE0NzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovXG4gMTQ4Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDM4LTB4M2YgKi9cbiAxNDk6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqL1xuIDE1MDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0OC0weDRmICovXG4gMTUxOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDUwLTB4NTcgKi9cbiAxNTI6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xuIDE1MzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4gMTU0Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbiAxNTU6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqL1xuIDE1NjpcdFx0MHhhZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4gMTU3Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbiAxNTg6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xuIDE1OTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5MC0weDk3ICovXG4gMTYwOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDk4LTB4OWYgKi9cbiAxNjE6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YTAtMHhhNyAqL1xuIDE2MjpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhhOC0weGFmICovXG4gMTYzOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGIwLTB4YjcgKi9cbiAxNjQ6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjgtMHhiZiAqL1xuIDE2NTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjMC0weGM3ICovXG4gMTY2Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGM4LTB4Y2YgKi9cbiAxNjc6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xuIDE2ODpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXG4gMTY5Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cbiAxNzA6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xuIDE3MTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gMTcyOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cbiAxNzM6XHR9O1xuIDE3NDpcdFxuIDE3NTpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0ge1xuIDE3NjpcdFx0MHgwMCwgMHgwMCwgMHhhMSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovXG4gMTc3Olx0XHQweDAwLCAweDAwLCAweGE2LCAweGFiLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi9cbiAxNzg6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTAtMHgxNyAqL1xuIDE3OTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiMCwgMHhiMSwgLyogMHgxOC0weDFmICovXG4gMTgwOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi9cbiAxODE6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjgtMHgyZiAqL1xuIDE4MjpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovXG4gMTgzOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDM4LTB4M2YgKi9cbiAxODQ6XHRcdDB4YjQsIDB4YjUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqL1xuIDE4NTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0OC0weDRmICovXG4gMTg2Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGI3LCAweGI5LCAvKiAweDUwLTB4NTcgKi9cbiAxODc6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xuIDE4ODpcdFx0MHhiYiwgMHhiZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4gMTg5Olx0XHQweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbiAxOTA6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzAtMHg3NyAqL1xuIDE5MTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4gMTkyOlx0XHQweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbiAxOTM6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xuIDE5NDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5MC0weDk3ICovXG4gMTk1Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDk4LTB4OWYgKi9cbiAxOTY6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YTAtMHhhNyAqL1xuIDE5NzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhhOC0weGFmICovXG4gMTk4Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGIwLTB4YjcgKi9cbiAxOTk6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjgtMHhiZiAqL1xuIDIwMDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjMC0weGM3ICovXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTU1NDIKCQkJCQkJCW91dHB1dDogNDcKCQkJCQkJCXRob3VnaHRzOiAyNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBzdW1tYXJ5LCBhcyB0aG91Z2ggSSB3ZXJlIHRoaW5raW5nIHRocm91Z2ggdGhlIGNvZGU6CgoqKkRpdmluZyBpbnRvIGBubHNfaXNvODg1OS0xNC5jYCoqCgpPa2F5LCB0aW1lIHRvIGdldCBteSBoYW5kcyBkaXJ0eS4gTGV0JiMzOTtzIGRpZyBkZWVwZXIgaW50byB0aGUgY29kZS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCYjMzk7cyBoYXBwZW5pbmcgd2l0aCB0aGlzIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgZmlsZS4gSSYjMzk7bSBnb2luZyB0byBmb2xsb3cgdGhlIGxvZ2ljIGFuZCB1bmRlcnN0YW5kIGV4YWN0bHkgaG93IGl0IGhhbmRsZXMgdGhlIElTTy04ODU5LTE0IGNoYXJhY3RlciBlbmNvZGluZyB3aXRoaW4gdGhlIGZpbGVzeXN0ZW0gbGF5ZXIuIEkgZXhwZWN0IHRoaXMgdG8gYmUgYSBjcnVjaWFsIHBpZWNlIGluIGVuc3VyaW5nIHByb3BlciBjaGFyYWN0ZXIgaW50ZXJwcmV0YXRpb24gYW5kIHN0b3JhZ2UuIExldCYjMzk7cyBzZWUgaG93IHRoZXkmIzM5O3ZlIGltcGxlbWVudGVkIHRoZSBjb252ZXJzaW9ucyBhbmQgaG93IGl0IGludGVyYWN0cyB3aXRoIHRoZSBicm9hZGVyIE5MUyAoTmF0aW9uYWwgTGFuZ3VhZ2UgU3VwcG9ydCkgaW5mcmFzdHJ1Y3R1cmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtmcy9ubHMvbmxzX2lzbzg4NTktMTQuYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDIwMCwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxMDAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDIwMDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjMC0weGM3ICovXG4gMjAxOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGM4LTB4Y2YgKi9cbiAyMDI6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xuIDIwMzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXG4gMjA0Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cbiAyMDU6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xuIDIwNjpcdFx0MHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gMjA3Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cbiAyMDg6XHR9O1xuIDIwOTpcdFxuIDIxMDpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG4gMjExOlx0XHRwYWdlMDAsXHRwYWdlMDEsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIFxuIDIxMjpcdFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXG4gMjEzOlx0XG4gMjE0Olx0XHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcbiAyMTU6XHRcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdHBhZ2UxZSxcdE5VTEwsXG4gMjE2Olx0XG4gMjE3Olx0XHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcbiAyMTg6XHRcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFxuIDIxOTpcdH07XG4gMjIwOlx0XG4gMjIxOlx0c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJsb3dlclsyNTZdID0ge1xuIDIyMjpcdFx0MHgwMCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwNSwgMHgwNiwgMHgwNywgLyogMHgwMC0weDA3ICovXG4gMjIzOlx0XHQweDA4LCAweDA5LCAweDBhLCAweDBiLCAweDBjLCAweDBkLCAweDBlLCAweDBmLCAvKiAweDA4LTB4MGYgKi9cbiAyMjQ6XHRcdDB4MTAsIDB4MTEsIDB4MTIsIDB4MTMsIDB4MTQsIDB4MTUsIDB4MTYsIDB4MTcsIC8qIDB4MTAtMHgxNyAqL1xuIDIyNTpcdFx0MHgxOCwgMHgxOSwgMHgxYSwgMHgxYiwgMHgxYywgMHgxZCwgMHgxZSwgMHgxZiwgLyogMHgxOC0weDFmICovXG4gMjI2Olx0XHQweDIwLCAweDIxLCAweDIyLCAweDIzLCAweDI0LCAweDI1LCAweDI2LCAweDI3LCAvKiAweDIwLTB4MjcgKi9cbiAyMjc6XHRcdDB4MjgsIDB4MjksIDB4MmEsIDB4MmIsIDB4MmMsIDB4MmQsIDB4MmUsIDB4MmYsIC8qIDB4MjgtMHgyZiAqL1xuIDIyODpcdFx0MHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgLyogMHgzMC0weDM3ICovXG4gMjI5Olx0XHQweDM4LCAweDM5LCAweDNhLCAweDNiLCAweDNjLCAweDNkLCAweDNlLCAweDNmLCAvKiAweDM4LTB4M2YgKi9cbiAyMzA6XHRcdDB4NDAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsIC8qIDB4NDAtMHg0NyAqL1xuIDIzMTpcdFx0MHg2OCwgMHg2OSwgMHg2YSwgMHg2YiwgMHg2YywgMHg2ZCwgMHg2ZSwgMHg2ZiwgLyogMHg0OC0weDRmICovXG4gMjMyOlx0XHQweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LCAvKiAweDUwLTB4NTcgKi9cbiAyMzM6XHRcdDB4NzgsIDB4NzksIDB4N2EsIDB4NWIsIDB4NWMsIDB4NWQsIDB4NWUsIDB4NWYsIC8qIDB4NTgtMHg1ZiAqL1xuIDIzNDpcdFx0MHg2MCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NywgLyogMHg2MC0weDY3ICovXG4gMjM1Olx0XHQweDY4LCAweDY5LCAweDZhLCAweDZiLCAweDZjLCAweDZkLCAweDZlLCAweDZmLCAvKiAweDY4LTB4NmYgKi9cbiAyMzY6XHRcdDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsIC8qIDB4NzAtMHg3NyAqL1xuIDIzNzpcdFx0MHg3OCwgMHg3OSwgMHg3YSwgMHg3YiwgMHg3YywgMHg3ZCwgMHg3ZSwgMHg3ZiwgLyogMHg3OC0weDdmICovXG4gMjM4Olx0XG4gMjM5Olx0XHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cbiAyNDA6XHRcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xuIDI0MTpcdFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXG4gMjQyOlx0XHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cbiAyNDM6XHRcdDB4YTAsIDB4YTIsIDB4YTIsIDB4YTMsIDB4YWIsIDB4YWIsIDB4YWIsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xuIDI0NDpcdFx0MHhiOCwgMHhhOSwgMHhiYSwgMHhhYiwgMHhiYywgMHhhZCwgMHhhZSwgMHhmZiwgLyogMHhhOC0weGFmICovXG4gMjQ1Olx0XHQweGIxLCAweGIxLCAweGIzLCAweGIzLCAweGI1LCAweGI1LCAweGI2LCAweGI5LCAvKiAweGIwLTB4YjcgKi9cbiAyNDY6XHRcdDB4YjgsIDB4YjksIDB4YmEsIDB4YmYsIDB4YmMsIDB4YmUsIDB4YmUsIDB4YmYsIC8qIDB4YjgtMHhiZiAqL1xuIDI0NzpcdFx0MHhlMCwgMHhlMSwgMHhlMiwgMHhlMywgMHhlNCwgMHhlNSwgMHhlNiwgMHhlNywgLyogMHhjMC0weGM3ICovXG4gMjQ4Olx0XHQweGU4LCAweGU5LCAweGVhLCAweGViLCAweGVjLCAweGVkLCAweGVlLCAweGVmLCAvKiAweGM4LTB4Y2YgKi9cbiAyNDk6XHRcdDB4ZjAsIDB4ZjEsIDB4ZjIsIDB4ZjMsIDB4ZjQsIDB4ZjUsIDB4ZjYsIDB4ZjcsIC8qIDB4ZDAtMHhkNyAqL1xuIDI1MDpcdFx0MHhmOCwgMHhmOSwgMHhmYSwgMHhmYiwgMHhmYywgMHhmZCwgMHhmZSwgMHhkZiwgLyogMHhkOC0weGRmICovXG4gMjUxOlx0XHQweGUwLCAweGUxLCAweGUyLCAweGUzLCAweGU0LCAweGU1LCAweGU2LCAweGU3LCAvKiAweGUwLTB4ZTcgKi9cbiAyNTI6XHRcdDB4ZTgsIDB4ZTksIDB4ZWEsIDB4ZWIsIDB4ZWMsIDB4ZWQsIDB4ZWUsIDB4ZWYsIC8qIDB4ZTgtMHhlZiAqL1xuIDI1MzpcdFx0MHhmMCwgMHhmMSwgMHhmMiwgMHhmMywgMHhmNCwgMHhmNSwgMHhmNiwgMHhmNywgLyogMHhmMC0weGY3ICovXG4gMjU0Olx0XHQweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweGZkLCAweGZlLCAweGZmLCAvKiAweGY4LTB4ZmYgKi9cbiAyNTU6XHR9O1xuIDI1NjpcdFxuIDI1NzpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbiAyNTg6XHRcdDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDUsIDB4MDYsIDB4MDcsIC8qIDB4MDAtMHgwNyAqL1xuIDI1OTpcdFx0MHgwOCwgMHgwOSwgMHgwYSwgMHgwYiwgMHgwYywgMHgwZCwgMHgwZSwgMHgwZiwgLyogMHgwOC0weDBmICovXG4gMjYwOlx0XHQweDEwLCAweDExLCAweDEyLCAweDEzLCAweDE0LCAweDE1LCAweDE2LCAweDE3LCAvKiAweDEwLTB4MTcgKi9cbiAyNjE6XHRcdDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsIC8qIDB4MTgtMHgxZiAqL1xuIDI2MjpcdFx0MHgyMCwgMHgyMSwgMHgyMiwgMHgyMywgMHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgLyogMHgyMC0weDI3ICovXG4gMjYzOlx0XHQweDI4LCAweDI5LCAweDJhLCAweDJiLCAweDJjLCAweDJkLCAweDJlLCAweDJmLCAvKiAweDI4LTB4MmYgKi9cbiAyNjQ6XHRcdDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIC8qIDB4MzAtMHgzNyAqL1xuIDI2NTpcdFx0MHgzOCwgMHgzOSwgMHgzYSwgMHgzYiwgMHgzYywgMHgzZCwgMHgzZSwgMHgzZiwgLyogMHgzOC0weDNmICovXG4gMjY2Olx0XHQweDQwLCAweDQxLCAweDQyLCAweDQzLCAweDQ0LCAweDQ1LCAweDQ2LCAweDQ3LCAvKiAweDQwLTB4NDcgKi9cbiAyNjc6XHRcdDB4NDgsIDB4NDksIDB4NGEsIDB4NGIsIDB4NGMsIDB4NGQsIDB4NGUsIDB4NGYsIC8qIDB4NDgtMHg0ZiAqL1xuIDI2ODpcdFx0MHg1MCwgMHg1MSwgMHg1MiwgMHg1MywgMHg1NCwgMHg1NSwgMHg1NiwgMHg1NywgLyogMHg1MC0weDU3ICovXG4gMjY5Olx0XHQweDU4LCAweDU5LCAweDVhLCAweDViLCAweDVjLCAweDVkLCAweDVlLCAweDVmLCAvKiAweDU4LTB4NWYgKi9cbiAyNzA6XHRcdDB4NjAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NjAtMHg2NyAqL1xuIDI3MTpcdFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg2OC0weDZmICovXG4gMjcyOlx0XHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDcwLTB4NzcgKi9cbiAyNzM6XHRcdDB4NTgsIDB4NTksIDB4NWEsIDB4N2IsIDB4N2MsIDB4N2QsIDB4N2UsIDB4N2YsIC8qIDB4NzgtMHg3ZiAqL1xuIDI3NDpcdFxuIDI3NTpcdFx0MHg4MCwgMHg4MSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4NSwgMHg4NiwgMHg4NywgLyogMHg4MC0weDg3ICovXG4gMjc2Olx0XHQweDg4LCAweDg5LCAweDhhLCAweDhiLCAweDhjLCAweDhkLCAweDhlLCAweDhmLCAvKiAweDg4LTB4OGYgKi9cbiAyNzc6XHRcdDB4OTAsIDB4OTEsIDB4OTIsIDB4OTMsIDB4OTQsIDB4OTUsIDB4OTYsIDB4OTcsIC8qIDB4OTAtMHg5NyAqL1xuIDI3ODpcdFx0MHg5OCwgMHg5OSwgMHg5YSwgMHg5YiwgMHg5YywgMHg5ZCwgMHg5ZSwgMHg5ZiwgLyogMHg5OC0weDlmICovXG4gMjc5Olx0XHQweGEwLCAweGExLCAweGExLCAweGEzLCAweGE2LCAweGE2LCAweGE2LCAweGE3LCAvKiAweGEwLTB4YTcgKi9cbiAyODA6XHRcdDB4YTgsIDB4YTksIDB4YWEsIDB4YTYsIDB4YWMsIDB4YWQsIDB4YWUsIDB4YWYsIC8qIDB4YTgtMHhhZiAqL1xuIDI4MTpcdFx0MHhiMCwgMHhiMCwgMHhiMiwgMHhiMiwgMHhiNCwgMHhiNCwgMHhiNiwgMHhiNywgLyogMHhiMC0weGI3ICovXG4gMjgyOlx0XHQweGE4LCAweGI3LCAweGFhLCAweGJiLCAweGFjLCAweGJkLCAweGJkLCAweGJiLCAvKiAweGI4LTB4YmYgKi9cbiAyODM6XHRcdDB4YzAsIDB4YzEsIDB4YzIsIDB4YzMsIDB4YzQsIDB4YzUsIDB4YzYsIDB4YzcsIC8qIDB4YzAtMHhjNyAqL1xuIDI4NDpcdFx0MHhjOCwgMHhjOSwgMHhjYSwgMHhjYiwgMHhjYywgMHhjZCwgMHhjZSwgMHhjZiwgLyogMHhjOC0weGNmICovXG4gMjg1Olx0XHQweGQwLCAweGQxLCAweGQyLCAweGQzLCAweGQ0LCAweGQ1LCAweGQ2LCAweGQ3LCAvKiAweGQwLTB4ZDcgKi9cbiAyODY6XHRcdDB4ZDgsIDB4ZDksIDB4ZGEsIDB4ZGIsIDB4ZGMsIDB4ZGQsIDB4ZGUsIDB4ZGYsIC8qIDB4ZDgtMHhkZiAqL1xuIDI4NzpcdFx0MHhjMCwgMHhjMSwgMHhjMiwgMHhjMywgMHhjNCwgMHhjNSwgMHhjNiwgMHhjNywgLyogMHhlMC0weGU3ICovXG4gMjg4Olx0XHQweGM4LCAweGM5LCAweGNhLCAweGNiLCAweGNjLCAweGNkLCAweGNlLCAweGNmLCAvKiAweGU4LTB4ZWYgKi9cbiAyODk6XHRcdDB4ZDAsIDB4ZDEsIDB4ZDIsIDB4ZDMsIDB4ZDQsIDB4ZDUsIDB4ZDYsIDB4ZDcsIC8qIDB4ZjAtMHhmNyAqL1xuIDI5MDpcdFx0MHhkOCwgMHhkOSwgMHhkYSwgMHhkYiwgMHhkYywgMHhkZCwgMHhkZSwgMHhhZiwgLyogMHhmOC0weGZmICovXG4gMjkxOlx0fTtcbiAyOTI6XHRcbiAyOTM6XHRzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbiAyOTQ6XHR7XG4gMjk1Olx0XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbiAyOTY6XHRcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbiAyOTc6XHRcdHVuc2lnbmVkIGNoYXIgY2ggPSAodW5pIFx1MDAyNiAweGZmMDApIFx1MDAzZVx1MDAzZSA4O1xuIDI5ODpcdFxuIDI5OTpcdFx0aWYgKGJvdW5kbGVuIFx1MDAzYz0gMClcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDczNwoJCQkJCQkJb3V0cHV0OiA0NgoJCQkJCQkJdGhvdWdodHM6IDI0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqQW5hbHl6aW5nIHRoZSBDb2RlYmFzZSBmb3IgQ2hhcmFjdGVyIEVuY29kaW5nIEludGVyYWN0aW9ucyoqCgpPa2F5LCBsZXQmIzM5O3MgZGl2ZSBkZWVwZXIuIEkgbmVlZCB0byB1bmRlcnN0YW5kIGhvdyB0aGlzIG1vZHVsZSBoYW5kbGVzIGNoYXJhY3RlciBlbmNvZGluZywgcGFydGljdWxhcmx5IGhvdyBpdCBtYXBzIGJldHdlZW4gVW5pY29kZSBjaGFyYWN0ZXJzIGFuZCB3aGF0ZXZlciBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBpdCYjMzk7cyB1c2luZy4gVGhlIGtleSBwaWVjZXMgb2YgZnVuY3Rpb25hbGl0eSBJJiMzOTttIGxvb2tpbmcgZm9yIHdpbGwgYmUgdGhlIGB1bmkyY2hhcmAgYW5kIGBjaGFyMnVuaWAgZnVuY3Rpb25zIG9yIHRoZWlyIGVxdWl2YWxlbnRzLiBJIHdhbnQgdG8gc2VlIGhvdyB0aGVzZSBhcmUgaW1wbGVtZW50ZWQsIGFuZCB3aGV0aGVyIHRoZXJlIGFyZSBhbnkgb3B0aW1pemF0aW9ucyBvciBwb3RlbnRpYWwgYm90dGxlbmVja3MgaW4gdGhvc2UgY29udmVyc2lvbnMuIEkgbmVlZCB0byBiZSBwcmVwYXJlZCB0byBpZGVudGlmeSB0aGUgc3BlY2lmaWMgbW9kdWxlIHJlZ2lzdHJhdGlvbiBtZWNoYW5pc21zLCB3aGljaCBtYXkgZ2l2ZSBoaW50cyBhYm91dCBob3cgdGhlc2UgZnVuY3Rpb25zIGFyZSBleHBvc2VkIGFuZCB1c2VkIGJ5IG90aGVyIHBhcnRzIG9mIHRoZSBzeXN0ZW0uIEkgYWxzbyBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoZSBzeXN0ZW0gaGFzIG1hZGUgdGhlIGltcGxlbWVudGF0aW9uIG1haW50YWluYWJsZSwgaXMgaXQgZWFzaWx5IGV4dGVuZGlibGU/CgpMZXQmIzM5O3Mgc3RhcnQgZGlnZ2luZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtmcy9ubHMvbmxzX2lzbzg4NTktMTQuYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDI5NSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiA2MAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgMjk1Olx0XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbiAyOTY6XHRcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbiAyOTc6XHRcdHVuc2lnbmVkIGNoYXIgY2ggPSAodW5pIFx1MDAyNiAweGZmMDApIFx1MDAzZVx1MDAzZSA4O1xuIDI5ODpcdFxuIDI5OTpcdFx0aWYgKGJvdW5kbGVuIFx1MDAzYz0gMClcbiAzMDA6XHRcdFx0cmV0dXJuIC1FTkFNRVRPT0xPTkc7XG4gMzAxOlx0XG4gMzAyOlx0XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuIDMwMzpcdFx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG4gMzA0Olx0XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbiAzMDU6XHRcdGVsc2VcbiAzMDY6XHRcdFx0cmV0dXJuIC1FSU5WQUw7XG4gMzA3Olx0XHRyZXR1cm4gMTtcbiAzMDg6XHR9XG4gMzA5Olx0XG4gMzEwOlx0c3RhdGljIGludCBjaGFyMnVuaShjb25zdCB1bnNpZ25lZCBjaGFyICpyYXdzdHJpbmcsIGludCBib3VuZGxlbiwgd2NoYXJfdCAqdW5pKVxuIDMxMTpcdHtcbiAzMTI6XHRcdCp1bmkgPSBjaGFyc2V0MnVuaVsqcmF3c3RyaW5nXTtcbiAzMTM6XHRcdGlmICgqdW5pID09IDB4MDAwMClcbiAzMTQ6XHRcdFx0cmV0dXJuIC1FSU5WQUw7XG4gMzE1Olx0XHRyZXR1cm4gMTtcbiAzMTY6XHR9XG4gMzE3Olx0XG4gMzE4Olx0c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG4gMzE5Olx0XHQuY2hhcnNldFx0PSBcJiMzNDtpc284ODU5LTE0XCYjMzQ7LFxuIDMyMDpcdFx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuIDMyMTpcdFx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuIDMyMjpcdFx0LmNoYXJzZXQybG93ZXJcdD0gY2hhcnNldDJsb3dlcixcbiAzMjM6XHRcdC5jaGFyc2V0MnVwcGVyXHQ9IGNoYXJzZXQydXBwZXIsXG4gMzI0Olx0fTtcbiAzMjU6XHRcbiAzMjY6XHRzdGF0aWMgaW50IF9faW5pdCBpbml0X25sc19pc284ODU5XzE0KHZvaWQpXG4gMzI3Olx0e1xuIDMyODpcdFx0cmV0dXJuIHJlZ2lzdGVyX25scyhcdTAwMjZ0YWJsZSk7XG4gMzI5Olx0fVxuIDMzMDpcdFxuIDMzMTpcdHN0YXRpYyB2b2lkIF9fZXhpdCBleGl0X25sc19pc284ODU5XzE0KHZvaWQpXG4gMzMyOlx0e1xuIDMzMzpcdFx0dW5yZWdpc3Rlcl9ubHMoXHUwMDI2dGFibGUpO1xuIDMzNDpcdH1cbiAzMzU6XHRcbiAzMzY6XHRtb2R1bGVfaW5pdChpbml0X25sc19pc284ODU5XzE0KVxuIDMzNzpcdG1vZHVsZV9leGl0KGV4aXRfbmxzX2lzbzg4NTlfMTQpXG4gMzM4Olx0XG4gMzM5Olx0TU9EVUxFX0RFU0NSSVBUSU9OKFwmIzM0O05MUyBJU08gODg1OS0xNCAoTGF0aW4gODsgQ2VsdGljKVwmIzM0Oyk7XG4gMzQwOlx0TU9EVUxFX0xJQ0VOU0UoXCYjMzQ7RHVhbCBCU0QvR1BMXCYjMzQ7KTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjE2NjQKCQkJCQkJCW91dHB1dDogMjQKCQkJCQkJCXRob3VnaHRzOiA0OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzOgoKKipJbnZlc3RpZ2F0aW5nIE5MU19JU084ODU5XzE0IFN1cHBvcnQqKgoKT2theSwgc28gSSBuZWVkIHRvIGRpZyBpbnRvIHRoZSBrZXJuZWwgY29uZmlnIHN5c3RlbSB0byBmaWd1cmUgb3V0IGhvdyBgbmxzX2lzbzg4NTktMTRgIGlzIGhhbmRsZWQuIE15IGZpcnN0IG1vdmUgaXMgdG8gZ28gc3RyYWlnaHQgdG8gYEtjb25maWdgLiBUaGF0JiMzOTtzIHdoZXJlIGFsbCB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIGxpdmUuIEkmIzM5O2xsIGxpa2VseSBmaW5kIGl0IHVuZGVyIGBmcy9ubHMvS2NvbmZpZ2AsIG9yIHNvbWV3aGVyZSBzaW1pbGFyIGlmIGl0JiMzOTtzIGJlZW4gbW92ZWQgYXJvdW5kLiBUaGVuLCBJJiMzOTtsbCB1c2UgYGdyZXBgIOKAkyB0aGF0JiMzOTtzIHRoZSBmYXN0ZXN0IHdheSB0byBuYWlsIGRvd24gd2hlcmUgYE5MU19JU084ODU5XzE0YCBpcyBkZWZpbmVkIGFuZCB3aGF0IGRlcGVuZGVuY2llcyBvciBidWlsZCBvcHRpb25zIGFyZSB0aWVkIHRvIGl0LiBUaGlzIHNob3VsZCBnaXZlIG1lIGEgc29saWQgc3RhcnRpbmcgcG9pbnQgZm9yIHVuZGVyc3RhbmRpbmcgaG93IHRoaXMgY2hhcmFjdGVyIHNldCBpcyBtYW5hZ2VkIHdpdGhpbiB0aGUga2VybmVsJiMzOTtzIE5MUyBmcmFtZXdvcmsuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O05MU19JU084ODU5XzE0JiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2FyY2gvYXJtL2NvbmZpZ3Mvam9ybmFkYTcyMF9kZWZjb25maWc9ODc9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvYXJtL2NvbmZpZ3Mvam9ybmFkYTcyMF9kZWZjb25maWc6ODg6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvYXJtL2NvbmZpZ3Mvam9ybmFkYTcyMF9kZWZjb25maWctODktQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL202OGsvY29uZmlncy9hbWlnYV9kZWZjb25maWc9NDg3PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL202OGsvY29uZmlncy9hbWlnYV9kZWZjb25maWc6NDg4OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL202OGsvY29uZmlncy9hbWlnYV9kZWZjb25maWctNDg5LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9tNjhrL2NvbmZpZ3MvYXBvbGxvX2RlZmNvbmZpZz00NDI9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbTY4ay9jb25maWdzL2Fwb2xsb19kZWZjb25maWc6NDQzOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL202OGsvY29uZmlncy9hcG9sbG9fZGVmY29uZmlnLTQ0NC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbTY4ay9jb25maWdzL2F0YXJpX2RlZmNvbmZpZz00NjU9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbTY4ay9jb25maWdzL2F0YXJpX2RlZmNvbmZpZzo0NjY6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbTY4ay9jb25maWdzL2F0YXJpX2RlZmNvbmZpZy00NjctQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL202OGsvY29uZmlncy9idm1lNjAwMF9kZWZjb25maWc9NDM0PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL202OGsvY29uZmlncy9idm1lNjAwMF9kZWZjb25maWc6NDM1OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL202OGsvY29uZmlncy9idm1lNjAwMF9kZWZjb25maWctNDM2LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9tNjhrL2NvbmZpZ3MvaHAzMDBfZGVmY29uZmlnPTQ0ND1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9tNjhrL2NvbmZpZ3MvaHAzMDBfZGVmY29uZmlnOjQ0NTpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9tNjhrL2NvbmZpZ3MvaHAzMDBfZGVmY29uZmlnLTQ0Ni1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbTY4ay9jb25maWdzL21hY19kZWZjb25maWc9NDYzPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL202OGsvY29uZmlncy9tYWNfZGVmY29uZmlnOjQ2NDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9tNjhrL2NvbmZpZ3MvbWFjX2RlZmNvbmZpZy00NjUtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL202OGsvY29uZmlncy9tdWx0aV9kZWZjb25maWc9NTUwPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL202OGsvY29uZmlncy9tdWx0aV9kZWZjb25maWc6NTUxOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL202OGsvY29uZmlncy9tdWx0aV9kZWZjb25maWctNTUyLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9tNjhrL2NvbmZpZ3MvbXZtZTE0N19kZWZjb25maWc9NDM0PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL202OGsvY29uZmlncy9tdm1lMTQ3X2RlZmNvbmZpZzo0MzU6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbTY4ay9jb25maWdzL212bWUxNDdfZGVmY29uZmlnLTQzNi1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbTY4ay9jb25maWdzL212bWUxNnhfZGVmY29uZmlnPTQzNT1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9tNjhrL2NvbmZpZ3MvbXZtZTE2eF9kZWZjb25maWc6NDM2OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL202OGsvY29uZmlncy9tdm1lMTZ4X2RlZmNvbmZpZy00MzctQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL202OGsvY29uZmlncy9xNDBfZGVmY29uZmlnPTQ1Mz1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9tNjhrL2NvbmZpZ3MvcTQwX2RlZmNvbmZpZzo0NTQ6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbTY4ay9jb25maWdzL3E0MF9kZWZjb25maWctNDU1LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9tNjhrL2NvbmZpZ3Mvc3VuM19kZWZjb25maWc9NDMyPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL202OGsvY29uZmlncy9zdW4zX2RlZmNvbmZpZzo0MzM6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbTY4ay9jb25maWdzL3N1bjNfZGVmY29uZmlnLTQzNC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbTY4ay9jb25maWdzL3N1bjN4X2RlZmNvbmZpZz00MzI9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbTY4ay9jb25maWdzL3N1bjN4X2RlZmNvbmZpZzo0MzM6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbTY4ay9jb25maWdzL3N1bjN4X2RlZmNvbmZpZy00MzQtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL21pcHMvY29uZmlncy9iaWdzdXJfZGVmY29uZmlnPTE5MD1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvYmlnc3VyX2RlZmNvbmZpZzoxOTE6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbWlwcy9jb25maWdzL2JpZ3N1cl9kZWZjb25maWctMTkyLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvY2kyMF9kZWZjb25maWc9MjExPUNPTkZJR19OTFNfSVNPODg1OV8xMz15XG5hcmNoL21pcHMvY29uZmlncy9jaTIwX2RlZmNvbmZpZzoyMTI6Q09ORklHX05MU19JU084ODU5XzE0PXlcbmFyY2gvbWlwcy9jb25maWdzL2NpMjBfZGVmY29uZmlnLTIxMy1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eVxuLS1cbmFyY2gvbWlwcy9jb25maWdzL2RlY3N0YXRpb25fNjRfZGVmY29uZmlnPTE2Nj1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl82NF9kZWZjb25maWc6MTY3OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL21pcHMvY29uZmlncy9kZWNzdGF0aW9uXzY0X2RlZmNvbmZpZy0xNjgtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL21pcHMvY29uZmlncy9kZWNzdGF0aW9uX2RlZmNvbmZpZz0xNjE9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbWlwcy9jb25maWdzL2RlY3N0YXRpb25fZGVmY29uZmlnOjE2MjpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9kZWZjb25maWctMTYzLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9yNGtfZGVmY29uZmlnPTE2MT1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9yNGtfZGVmY29uZmlnOjE2MjpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9yNGtfZGVmY29uZmlnLTE2My1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbWlwcy9jb25maWdzL2lwMjJfZGVmY29uZmlnPTI5Nj1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvaXAyMl9kZWZjb25maWc6Mjk3OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL21pcHMvY29uZmlncy9pcDIyX2RlZmNvbmZpZy0yOTgtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL21pcHMvY29uZmlncy9pcDMyX2RlZmNvbmZpZz0xNDY9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbWlwcy9jb25maWdzL2lwMzJfZGVmY29uZmlnOjE0NzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9taXBzL2NvbmZpZ3MvaXAzMl9kZWZjb25maWctMTQ4LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvbGVtb3RlMmZfZGVmY29uZmlnPTI5Mj1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvbGVtb3RlMmZfZGVmY29uZmlnOjI5MzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9taXBzL2NvbmZpZ3MvbGVtb3RlMmZfZGVmY29uZmlnLTI5NC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbWlwcy9jb25maWdzL21hbHRhX2RlZmNvbmZpZz0zODI9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbWlwcy9jb25maWdzL21hbHRhX2RlZmNvbmZpZzozODM6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbWlwcy9jb25maWdzL21hbHRhX2RlZmNvbmZpZy0zODQtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL21pcHMvY29uZmlncy9tYWx0YV9rdm1fZGVmY29uZmlnPTM4OT1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGFfa3ZtX2RlZmNvbmZpZzozOTA6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbWlwcy9jb25maWdzL21hbHRhX2t2bV9kZWZjb25maWctMzkxLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGF1cF94cGFfZGVmY29uZmlnPTM4OD1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGF1cF94cGFfZGVmY29uZmlnOjM4OTpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGF1cF94cGFfZGVmY29uZmlnLTM5MC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbWlwcy9jb25maWdzL210eDFfZGVmY29uZmlnPTYxMz1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvbXR4MV9kZWZjb25maWc6NjE0OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL21pcHMvY29uZmlncy9tdHgxX2RlZmNvbmZpZy02MTUtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL21pcHMvY29uZmlncy9vbWVnYTJwX2RlZmNvbmZpZz0xMDY9Q09ORklHX05MU19JU084ODU5XzEzPXlcbmFyY2gvbWlwcy9jb25maWdzL29tZWdhMnBfZGVmY29uZmlnOjEwNzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9eVxuYXJjaC9taXBzL2NvbmZpZ3Mvb21lZ2EycF9kZWZjb25maWctMTA4LUNPTkZJR19OTFNfSVNPODg1OV8xNT15XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvcWlfbGI2MF9kZWZjb25maWc9MTU4PUNPTkZJR19OTFNfSVNPODg1OV8xMz15XG5hcmNoL21pcHMvY29uZmlncy9xaV9sYjYwX2RlZmNvbmZpZzoxNTk6Q09ORklHX05MU19JU084ODU5XzE0PXlcbmFyY2gvbWlwcy9jb25maWdzL3FpX2xiNjBfZGVmY29uZmlnLTE2MC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eVxuLS1cbmFyY2gvbWlwcy9jb25maWdzL3JtMjAwX2RlZmNvbmZpZz0zNjc9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbWlwcy9jb25maWdzL3JtMjAwX2RlZmNvbmZpZzozNjg6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbWlwcy9jb25maWdzL3JtMjAwX2RlZmNvbmZpZy0zNjktQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL21pcHMvY29uZmlncy92b2NvcmUyX2RlZmNvbmZpZz0xMDY9Q09ORklHX05MU19JU084ODU5XzEzPXlcbmFyY2gvbWlwcy9jb25maWdzL3ZvY29yZTJfZGVmY29uZmlnOjEwNzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9eVxuYXJjaC9taXBzL2NvbmZpZ3Mvdm9jb3JlMl9kZWZjb25maWctMTA4LUNPTkZJR19OTFNfSVNPODg1OV8xNT15XG4tLVxuYXJjaC9wb3dlcnBjL2NvbmZpZ3MvODV4eC9nZV9pbXAzYV9kZWZjb25maWc9MjE4PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL3Bvd2VycGMvY29uZmlncy84NXh4L2dlX2ltcDNhX2RlZmNvbmZpZzoyMTk6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvcG93ZXJwYy9jb25maWdzLzg1eHgvZ2VfaW1wM2FfZGVmY29uZmlnLTIyMC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eVxuLS1cbmFyY2gvcG93ZXJwYy9jb25maWdzL2NlbGxfZGVmY29uZmlnPTE5MT1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9wb3dlcnBjL2NvbmZpZ3MvY2VsbF9kZWZjb25maWc6MTkyOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL3Bvd2VycGMvY29uZmlncy9jZWxsX2RlZmNvbmZpZy0xOTMtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL3Bvd2VycGMvY29uZmlncy9wcGM2eHhfZGVmY29uZmlnPTEwMDM9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvcG93ZXJwYy9jb25maWdzL3BwYzZ4eF9kZWZjb25maWc6MTAwNDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9wb3dlcnBjL2NvbmZpZ3MvcHBjNnh4X2RlZmNvbmZpZy0xMDA1LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9zaC9jb25maWdzL2VzcHRfZGVmY29uZmlnPTEwMz1DT05GSUdfTkxTX0lTTzg4NTlfMTM9eVxuYXJjaC9zaC9jb25maWdzL2VzcHRfZGVmY29uZmlnOjEwNDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9eVxuYXJjaC9zaC9jb25maWdzL2VzcHRfZGVmY29uZmlnLTEwNS1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eVxuLS1cbmFyY2gvc2gvY29uZmlncy9zaDAzX2RlZmNvbmZpZz0xMDk9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvc2gvY29uZmlncy9zaDAzX2RlZmNvbmZpZzoxMTA6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvc2gvY29uZmlncy9zaDAzX2RlZmNvbmZpZy0xMTEtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL3NoL2NvbmZpZ3Mvc2gyMDA3X2RlZmNvbmZpZz0xNTA9Q09ORklHX05MU19JU084ODU5XzEzPXlcbmFyY2gvc2gvY29uZmlncy9zaDIwMDdfZGVmY29uZmlnOjE1MTpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9eVxuYXJjaC9zaC9jb25maWdzL3NoMjAwN19kZWZjb25maWctMTUyLUNPTkZJR19OTFNfSVNPODg1OV8xNT15XG4tLVxuYXJjaC9zaC9jb25maWdzL3NoNzc2M3JkcF9kZWZjb25maWc9MTA1PUNPTkZJR19OTFNfSVNPODg1OV8xMz15XG5hcmNoL3NoL2NvbmZpZ3Mvc2g3NzYzcmRwX2RlZmNvbmZpZzoxMDY6Q09ORklHX05MU19JU084ODU5XzE0PXlcbmFyY2gvc2gvY29uZmlncy9zaDc3NjNyZHBfZGVmY29uZmlnLTEwNy1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eVxuLS1cbmZzL25scy9LY29uZmlnPTQwMT1jb25maWcgTkxTX0lTTzg4NTlfMTNcbi0tXG5mcy9ubHMvS2NvbmZpZy00MTAtXG5mcy9ubHMvS2NvbmZpZzo0MTE6Y29uZmlnIE5MU19JU084ODU5XzE0XG5mcy9ubHMvS2NvbmZpZy00MTItXHR0cmlzdGF0ZSBcJiMzNDtOTFMgSVNPIDg4NTktMTQgKExhdGluIDg7IENlbHRpYylcJiMzNDtcbi0tXG5mcy9ubHMvTWFrZWZpbGU9NDA9b2JqLSQoQ09ORklHX05MU19JU084ODU5XzEzKVx0JiM0Mzs9IG5sc19pc284ODU5LTEzLm9cbmZzL25scy9NYWtlZmlsZTo0MTpvYmotJChDT05GSUdfTkxTX0lTTzg4NTlfMTQpXHQmIzQzOz0gbmxzX2lzbzg4NTktMTQub1xuZnMvbmxzL01ha2VmaWxlLTQyLW9iai0kKENPTkZJR19OTFNfSVNPODg1OV8xNSlcdCYjNDM7PSBubHNfaXNvODg1OS0xNS5vXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI1OTE1CgkJCQkJCQlvdXRwdXQ6IDM1CgkJCQkJCQl0aG91Z2h0czogMjAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqS2NvbmZpZyBEaXZlKioKCkFscmlnaHQsIGxldCYjMzk7cyB6ZXJvIGluIG9uIGBmcy9ubHMvS2NvbmZpZ2AuIEkmIzM5O20gdGhpbmtpbmcgc3BlY2lmaWNhbGx5IGFyb3VuZCBsaW5lIDQxMS4gSSBzdXNwZWN0IHRoZXJlIG1pZ2h0IGJlIHNvbWV0aGluZyBpbnRlcmVzdGluZyB0aGVyZSB0aGF0IG5lZWRzIGEgZGVlcGVyIGxvb2suIE15IGludHVpdGlvbiBpcyB0ZWxsaW5nIG1lIHRoZXJlIG1pZ2h0IGJlIGEgc3VidGxlIG51YW5jZSByZWxhdGluZyB0byB0aGUgTkxTIHN1YnN5c3RlbSYjMzk7cyBjb25maWd1cmF0aW9uIG9wdGlvbnMuIExldCYjMzk7cyBzZWUgaWYgbXkgaHVuY2ggaXMgY29ycmVjdC4gSSBoYXZlIGEgZmVlbGluZyB0aGUgaW50ZXJhY3Rpb24gb2Ygb3B0aW9ucyBpbiB0aGlzIGFyZWEgaXMgc29tZXRoaW5nIHRoYXQgbmVlZHMgYSByZS1sb29rIGluIGRldGFpbCBhbmQgaW4gdGVybXMgb2YgaXRzIGltcGFjdCBhY3Jvc3MgdGhlIG90aGVyIEtjb25maWcgZmlsZXMuIFRpbWUgdG8gc3RhcnQgZGlnZ2luZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtmcy9ubHMvS2NvbmZpZyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDQwNSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAyNQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgNDA1Olx0XHQgIGZyb20gdGhlIE1pY3Jvc29mdCBGQVQgZmlsZSBzeXN0ZW0gZmFtaWx5IG9yIGZyb20gSk9MSUVUIENELVJPTXNcbiA0MDY6XHRcdCAgY29ycmVjdGx5IG9uIHRoZSBzY3JlZW4sIHlvdSBuZWVkIHRvIGluY2x1ZGUgdGhlIGFwcHJvcHJpYXRlXG4gNDA3Olx0XHQgIGlucHV0L291dHB1dCBjaGFyYWN0ZXIgc2V0cy4gU2F5IFkgaGVyZSBmb3IgdGhlIExhdGluIDcgY2hhcmFjdGVyXG4gNDA4Olx0XHQgIHNldCwgd2hpY2ggc3VwcG9ydHMgbW9kZXJuIEJhbHRpYyBsYW5ndWFnZXMgaW5jbHVkaW5nIExhdHZpYW5cbiA0MDk6XHRcdCAgYW5kIExpdGh1YW5pYW4uXG4gNDEwOlx0XG4gNDExOlx0Y29uZmlnIE5MU19JU084ODU5XzE0XG4gNDEyOlx0XHR0cmlzdGF0ZSBcJiMzNDtOTFMgSVNPIDg4NTktMTQgKExhdGluIDg7IENlbHRpYylcJiMzNDtcbiA0MTM6XHRcdGhlbHBcbiA0MTQ6XHRcdCAgSWYgeW91IHdhbnQgdG8gZGlzcGxheSBmaWxlbmFtZXMgd2l0aCBuYXRpdmUgbGFuZ3VhZ2UgY2hhcmFjdGVyc1xuIDQxNTpcdFx0ICBmcm9tIHRoZSBNaWNyb3NvZnQgRkFUIGZpbGUgc3lzdGVtIGZhbWlseSBvciBmcm9tIEpPTElFVCBDRC1ST01zXG4gNDE2Olx0XHQgIGNvcnJlY3RseSBvbiB0aGUgc2NyZWVuLCB5b3UgbmVlZCB0byBpbmNsdWRlIHRoZSBhcHByb3ByaWF0ZVxuIDQxNzpcdFx0ICBpbnB1dC9vdXRwdXQgY2hhcmFjdGVyIHNldHMuIFNheSBZIGhlcmUgZm9yIHRoZSBMYXRpbiA4IGNoYXJhY3RlclxuIDQxODpcdFx0ICBzZXQsIHdoaWNoIGFkZHMgdGhlIGxhc3QgYWNjZW50ZWQgdm93ZWxzIGZvciBXZWxzaCAoYWthIEN5bXJhZWcpXG4gNDE5Olx0XHQgIChhbmQgTWFueCBHYWVsaWMpIHRoYXQgd2VyZSBtaXNzaW5nIGluIExhdGluIDEuXG4gNDIwOlx0XHQgIFx1MDAzY2h0dHA6Ly9saW51eC5zcGVlY2guY3ltcnUub3JnL1x1MDAzZSBoYXMgZnVydGhlciBpbmZvcm1hdGlvbi5cbiA0MjE6XHRcbiA0MjI6XHRjb25maWcgTkxTX0lTTzg4NTlfMTVcbiA0MjM6XHRcdHRyaXN0YXRlIFwmIzM0O05MUyBJU08gODg1OS0xNSAoTGF0aW4gOTsgV2VzdGVybiBFdXJvcGVhbiBMYW5ndWFnZXMgd2l0aCBFdXJvKVwmIzM0O1xuIDQyNDpcdFx0aGVscFxuIDQyNTpcdFx0ICBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IGZpbGVuYW1lcyB3aXRoIG5hdGl2ZSBsYW5ndWFnZSBjaGFyYWN0ZXJzXG4gNDI2Olx0XHQgIGZyb20gdGhlIE1pY3Jvc29mdCBGQVQgZmlsZSBzeXN0ZW0gZmFtaWx5IG9yIGZyb20gSk9MSUVUIENELVJPTXNcbiA0Mjc6XHRcdCAgY29ycmVjdGx5IG9uIHRoZSBzY3JlZW4sIHlvdSBuZWVkIHRvIGluY2x1ZGUgdGhlIGFwcHJvcHJpYXRlXG4gNDI4Olx0XHQgIGlucHV0L291dHB1dCBjaGFyYWN0ZXIgc2V0cy4gU2F5IFkgaGVyZSBmb3IgdGhlIExhdGluIDkgY2hhcmFjdGVyXG4gNDI5Olx0XHQgIHNldCwgd2hpY2ggY292ZXJzIG1vc3QgV2VzdCBFdXJvcGVhbiBsYW5ndWFnZXMgc3VjaCBhcyBBbGJhbmlhbixcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNS8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjY2MDMKCQkJCQkJCW91dHB1dDogMzMKCQkJCQkJCXRob3VnaHRzOiAzOQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIGFzIGlmIEkgd2VyZSB0aGlua2luZyBpdDoKCioqRXhhbWluaW5nIHRoZSBEZXBlbmRlbmN5IFN0cnVjdHVyZSBvZiBDaGFyYWN0ZXIgU2V0cyoqCgpBbHJpZ2h0LCBsZXQmIzM5O3MgZ2V0IGRvd24gdG8gYnJhc3MgdGFja3MuIEkmIzM5O20gbG9va2luZyBhdCBgTkxTX0lTTzg4NTlfMTRgIGhlcmUgYW5kIEkmIzM5O20gcHJldHR5IHN1cmUgaXQgZGVwZW5kcyBvbiBgTkxTYC4uLiBidXQgSSBuZWVkIHRvIGNvbmZpcm0gdGhhdC4gR290dGEgYmUgdGhvcm91Z2guIFNvLCBJJiMzOTtsbCBzdGFydCBhdCB0aGUgdG9wIG9mIHRoZSByZWxldmFudCBgS2NvbmZpZ2AgZmlsZSDigJMgcHJvYmFibHkgYGZzL25scy9LY29uZmlnYCDigJMgYW5kIHRyYWNlIHRoaXMgdGhyb3VnaCBzeXN0ZW1hdGljYWxseS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGNvbmZpZ3VyYXRpb24gcmVsYXRpb25zaGlwcyBwcmVjaXNlbHksIGFuZCBsb29raW5nIGF0IHRoZSBzb3VyY2UgaXMgdGhlIG9ubHkgd2F5IHRvIGJlIGNlcnRhaW4uIFRpbWUgdG8gZGl2ZSBpbiBhbmQgY29uZmlybSBteSBhc3N1bXB0aW9ucyB3aXRoIGV2aWRlbmNlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE2LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2ZzL25scy9LY29uZmlnJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiA0MAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgICAxOlx0IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG4gICAyOlx0I1xuICAgMzpcdCMgTmF0aXZlIGxhbmd1YWdlIHN1cHBvcnQgY29uZmlndXJhdGlvblxuICAgNDpcdCNcbiAgIDU6XHRcbiAgIDY6XHRtZW51Y29uZmlnIE5MU1xuICAgNzpcdFx0dHJpc3RhdGUgXCYjMzQ7TmF0aXZlIGxhbmd1YWdlIHN1cHBvcnRcJiMzNDtcbiAgIDg6XHRcdGhlbHBcbiAgIDk6XHRcdCAgVGhlIGJhc2UgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQuIEEgbnVtYmVyIG9mIGZpbGVzeXN0ZW1zXG4gIDEwOlx0XHQgIGRlcGVuZCBvbiBpdCAoZS5nLiBGQVQsIEpPTElFVCwgTlQsIEJFT1MgZmlsZXN5c3RlbXMpLCBhcyB3ZWxsXG4gIDExOlx0XHQgIGFzIHRoZSBhYmlsaXR5IG9mIHNvbWUgZmlsZXN5c3RlbXMgdG8gdXNlIG5hdGl2ZSBsYW5ndWFnZXNcbiAgMTI6XHRcdCAgKE5DUCwgU01CKS5cbiAgMTM6XHRcbiAgMTQ6XHRcdCAgSWYgdW5zdXJlLCBzYXkgWS5cbiAgMTU6XHRcbiAgMTY6XHRcdCAgVG8gY29tcGlsZSB0aGlzIGNvZGUgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGVcbiAgMTc6XHRcdCAgd2lsbCBiZSBjYWxsZWQgbmxzX2Jhc2UuXG4gIDE4Olx0XG4gIDE5Olx0aWYgTkxTXG4gIDIwOlx0XG4gIDIxOlx0Y29uZmlnIE5MU19ERUZBVUxUXG4gIDIyOlx0XHRzdHJpbmcgXCYjMzQ7RGVmYXVsdCBOTFMgT3B0aW9uXCYjMzQ7XG4gIDIzOlx0XHRkZWZhdWx0IFwmIzM0O2lzbzg4NTktMVwmIzM0O1xuICAyNDpcdFx0aGVscFxuICAyNTpcdFx0ICBUaGUgZGVmYXVsdCBOTFMgdXNlZCB3aGVuIG1vdW50aW5nIGZpbGUgc3lzdGVtLiBOb3RlLCB0aGF0IHRoaXMgaXNcbiAgMjY6XHRcdCAgdGhlIE5MUyB1c2VkIGJ5IHlvdXIgY29uc29sZSwgbm90IHRoZSBOTFMgdXNlZCBieSBhIHNwZWNpZmljIGZpbGVcbiAgMjc6XHRcdCAgc3lzdGVtIChpZiBkaWZmZXJlbnQpIHRvIHN0b3JlIGRhdGEgKGZpbGVuYW1lcykgb24gYSBkaXNrLlxuICAyODpcdFx0ICBDdXJyZW50bHksIHRoZSB2YWxpZCB2YWx1ZXMgYXJlOlxuICAyOTpcdFx0ICBiaWc1LCBjcDQzNywgY3A3MzcsIGNwNzc1LCBjcDg1MCwgY3A4NTIsIGNwODU1LCBjcDg1NywgY3A4NjAsIGNwODYxLFxuICAzMDpcdFx0ICBjcDg2MiwgY3A4NjMsIGNwODY0LCBjcDg2NSwgY3A4NjYsIGNwODY5LCBjcDg3NCwgY3A5MzIsIGNwOTM2LFxuICAzMTpcdFx0ICBjcDk0OSwgY3A5NTAsIGNwMTI1MSwgY3AxMjU1LCBldWMtanAsIGV1Yy1rciwgZ2IyMzEyLCBpc284ODU5LTEsXG4gIDMyOlx0XHQgIGlzbzg4NTktMiwgaXNvODg1OS0zLCBpc284ODU5LTQsIGlzbzg4NTktNSwgaXNvODg1OS02LCBpc284ODU5LTcsXG4gIDMzOlx0XHQgIGlzbzg4NTktOCwgaXNvODg1OS05LCBpc284ODU5LTEzLCBpc284ODU5LTE0LCBpc284ODU5LTE1LFxuICAzNDpcdFx0ICBrb2k4LXIsIGtvaTgtcnUsIGtvaTgtdSwgc2ppcywgdGlzLTYyMCwgbWFjcm9tYW4sIHV0ZjguXG4gIDM1Olx0XHQgIElmIHlvdSBzcGVjaWZ5IGEgd3JvbmcgdmFsdWUsIGl0IHdpbGwgdXNlIHRoZSBidWlsdC1pbiBOTFM7XG4gIDM2Olx0XHQgIGNvbXBhdGlibGUgd2l0aCBpc284ODU5LTEuXG4gIDM3Olx0XG4gIDM4Olx0XHQgIElmIHVuc3VyZSwgc3BlY2lmeSBpdCBhcyBcJiMzNDtpc284ODU5LTFcJiMzNDsuXG4gIDM5Olx0XG4gIDQwOlx0Y29uZmlnIE5MU19DT0RFUEFHRV80MzdcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjc1OTUKCQkJCQkJCW91dHB1dDogMjcKCQkJCQkJCXRob3VnaHRzOiAxOTU4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5c2lzIG9mIHRoZSBubHNfaXNvODg1OS0xNCBQYXRjaCBhbmQgRnV6emluZyBTdWl0YWJpbGl0eSoqCgpPa2F5LCBsZXQmIzM5O3MgYnJlYWsgZG93biB0aGlzIHBhdGNoLiBNeSBpbml0aWFsIGFzc2Vzc21lbnQgaXMgdGhhdCBpdCBsb29rcyBsaWtlIGEgY29ycmVjdGlvbiB0byB0aGUgYG5sc19pc284ODU5LTE0YCBjaGFyYWN0ZXIgZW5jb2RpbmcgdGFibGUsIHNwZWNpZmljYWxseSB0aGUgYHBhZ2UwMWAgYW5kIGBwYWdlMWVgIGxvb2t1cCB0YWJsZXMgd2l0aGluIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AuIEl0IGFwcGVhcnMgdGhlcmUgd2VyZSBpbmNvcnJlY3QgbWFwcGluZ3Mgb2YgVW5pY29kZSBjaGFyYWN0ZXJzIHRvIHRoZWlyIGNvcnJlc3BvbmRpbmcgSVNPIDg4NTktMTQgY2hhcnNldCByZXByZXNlbnRhdGlvbnMuIFRoZSBwYXRjaCBjb3JyZWN0cyBkaXNjcmVwYW5jaWVzIEkgc2F3IHdoZXJlIHRoZSBtYXBwaW5ncyB3ZXJlIGluY29uc2lzdGVudCB3aXRoIHRoZSBkb2N1bWVudGVkIHN0YW5kYXJkLCBmaXhpbmcgZW50cmllcyBsaWtlIHRob3NlIGZvciBVJiM0MzswMTAyIGFuZCBVJiM0MzsxRTAyLiBUaGlzIGlzIGRlZmluaXRlbHkgYSBmaXghCgpOb3csIHRoZSBpbXBvcnRhbnQgcXVlc3Rpb246IElzIHRoaXMgY29kZSByZWFjaGFibGUgYW5kIGZ1enphYmxlPyAgWWVzLCBhYnNvbHV0ZWx5LiBUaGVzZSBOTFMgdGFibGVzIGFyZSBjcnVjaWFsIGZvciBmaWxlc3lzdGVtIG9wZXJhdGlvbnMsIHNwZWNpZmljYWxseSBjaGFyYWN0ZXIgZW5jb2RpbmcgdHJhbnNsYXRpb25zLiBUaGV5IGdldCB1c2VkIGluIGEgbnVtYmVyIG9mIGZpbGVzeXN0ZW1zIHN1Y2ggYXMgRkFULCBJU09GUywgTlRGUyBhbmQgQ0lGUy4gSWYgYSBmaWxlc3lzdGVtIGlzIG1vdW50ZWQgd2l0aCBhbiBgaW9jaGFyc2V0YCBvcHRpb24sIG9yIE5MUyBpcyBzcGVjaWZpZWQsIHRoaXMgY29kZSBnZXRzIGV4ZXJjaXNlZC4gU3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgYXJlIHN1ZmZpY2llbnQgdG8gaGl0IHRoZXNlIGNvZGUgcGF0aHMsIGFuZCBJIGtub3cgdGhpcyBpcyBhIGtleSBjb25zaWRlcmF0aW9uLgoKTGV0JiMzOTtzIHJldmlldyB0aGUgZ3VpZGVsaW5lcyB0byBiZSBjZXJ0YWluLiBXZSYjMzk7cmUgbG9va2luZyBhdCBwb3RlbnRpYWxseSBleHBvc2luZyBidWdzLCByZWdyZXNzaW9ucywgb3IgYXNzZXJ0aW9ucy4gVGhpcyBwYXRjaCBtb2RpZmllcyBleGVjdXRhYmxlIGNvZGUgKHRoZSBgdW5pMmNoYXJgIGFuZCBgY2hhcjJ1bmlgIGZ1bmN0aW9ucywgZXZlbiB0aG91Z2ggc3RhdGljIGluIHRoZSBDIGZpbGUpLiBXZSBuZWVkIHRvIGRldGVybWluZSBpZiBpdCBpcyByZWFjaGFibGUgY29kZSwgYW5kIEkga25vdyBpdCBpcy4gSXQmIzM5O3Mgbm90IGRvY3VtZW50YXRpb24sIG5vdCB1c2VyLXNwYWNlLCBub3QgZGVjb3JhdGl2ZSBsb2dnaW5nLCBhbmQgaXQgZG9lc24mIzM5O3QgaW52b2x2ZSBzb21lIHVucmVhY2hhYmxlIGhhcmR3YXJlIGRyaXZlciBvciBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgY29kZS4gVGhpcyBpcyBhIGNsZWFyIGNhc2UgZm9yIGBXb3J0aEZ1enppbmc9dHJ1ZWAuCgpOb3csIGFib3V0IEZvY3VzU3ltYm9scy4gIFdlIG5lZWQgdG8ga25vdyB0aGUgc3ltYm9scyBpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIHRoYXQgYXJlIGFmZmVjdGVkLiBUaGUga2V5IGZ1bmN0aW9ucyBJIHNlZSBhcmUgYHVuaTJjaGFyYCBhbmQgYGNoYXIydW5pYC4gQmVjYXVzZSB0aGV5IGFyZSBzdGF0aWMsIEkgaW5pdGlhbGx5IHRob3VnaHQgdGhleSBtaWdodCBiZSBpbmxpbmVkLiBCdXQgd2FpdCwgc2luY2UgdGhlaXIgYWRkcmVzc2VzIGFyZSBhc3NpZ25lZCB0byB0aGUgYC51bmkyY2hhcmAgYW5kIGAuY2hhcjJ1bmlgIG1lbWJlcnMgb2YgYG5sc190YWJsZWAsIHRoZXNlIGZ1bmN0aW9ucyAqY2Fubm90KiBiZSBpbmxpbmVkLiAgVGhpcyBtZWFucyB0aGVzZSBmdW5jdGlvbnMgaGF2ZSBzeW1ib2xzIGluIHRoZSBrZXJuZWwgaW1hZ2UgKHZtbGludXgpLiBTbywgeWVzLCB0aGVzZSBmdW5jdGlvbnMgYXJlIGRlZmluaXRlbHkgY2FsbGFibGUuCgpXZSYjMzk7cmUgZ29pbmcgdG8gbmVlZCB0byBmaWd1cmUgb3V0IGhvdyBzeXprYWxsZXIgaGFuZGxlcyBzdGF0aWMgZnVuY3Rpb24gbmFtZXMsIHdoaWNoIHdpbGwgaW5mb3JtIG91ciBGb2N1c1N5bWJvbHMgbGlzdC4gIFRoZXJlIGFyZSBsaWtlbHkgYmFzZSBzeW1ib2xzIGF2YWlsYWJsZSBmcm9tIGthbGxzeW1zLCBidXQgd2UmIzM5O2xsIG5lZWQgdG8gZG91YmxlIGNoZWNrIHRoZSBleGFjdCBuYW1pbmcgc2NoZW1lIChzdWNoIGFzIHdoZXRoZXIgdGhlcmUgYXJlIHZhcmlhdGlvbnMgbGlrZSBgLmlzcmEuMGApLiBUbyBiZSB0aG9yb3VnaCwgbGV0JiMzOTtzIGFsc28gY2hlY2sgb3RoZXIgZnVuY3Rpb25zIG9yIGNhbGxlcnMgaW4gYGZzL25sc2Agb3IgYGluY2x1ZGUvbGludXgvbmxzLmhgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE4LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt1bmkyY2hhciYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL25scyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgMTI5MCBsaW5lcy5cblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cblxuZnMvbmxzL21hYy1jZWx0aWMuYz00MTU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI2WzI1Nl0gPSB7XG4tLVxuZnMvbmxzL21hYy1jZWx0aWMuYy00NDktXG5mcy9ubHMvbWFjLWNlbHRpYy5jOjQ1MDpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL21hYy1jZWx0aWMuYy00NTEtXHRwYWdlMDAsIHBhZ2UwMSwgTlVMTCwgICBwYWdlMDMsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsXG4tLVxuZnMvbmxzL21hYy1jZWx0aWMuYz01MjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtY2VsdGljLmMtNTU0LVxuZnMvbmxzL21hYy1jZWx0aWMuYzo1NTU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXG5mcy9ubHMvbWFjLWNlbHRpYy5jLTU1Ni17XG5mcy9ubHMvbWFjLWNlbHRpYy5jOjU1NzpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL21hYy1jZWx0aWMuYy01NTgtXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFx1MDAyNiAweDAwZmY7XG4tLVxuZnMvbmxzL21hYy1jZWx0aWMuYy01NjMtXG5mcy9ubHMvbWFjLWNlbHRpYy5jOjU2NDpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbWFjLWNlbHRpYy5jOjU2NTpcdGlmICh1bmkyY2hhcnNldCBcdTAwMjZcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxuZnMvbmxzL21hYy1jZWx0aWMuYzo1NjY6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9tYWMtY2VsdGljLmMtNTY3LVx0ZWxzZVxuLS1cbmZzL25scy9tYWMtY2VsdGljLmM9NTgwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xuZnMvbmxzL21hYy1jZWx0aWMuYy01ODEtXHQuY2hhcnNldFx0PSBcJiMzNDttYWNjZWx0aWNcJiMzNDssXG5mcy9ubHMvbWFjLWNlbHRpYy5jOjU4MjpcdC51bmkyY2hhclx0PSB1bmkyY2hhcixcbmZzL25scy9tYWMtY2VsdGljLmMtNTgzLVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9tYWMtY2VudGV1cm8uYz0zNDU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI1WzI1Nl0gPSB7XG4tLVxuZnMvbmxzL21hYy1jZW50ZXVyby5jLTM3OS1cbmZzL25scy9tYWMtY2VudGV1cm8uYzozODA6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9tYWMtY2VudGV1cm8uYy0zODEtXHRwYWdlMDAsIHBhZ2UwMSwgcGFnZTAyLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsXG4tLVxuZnMvbmxzL21hYy1jZW50ZXVyby5jPTQ1MD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL21hYy1jZW50ZXVyby5jLTQ4NC1cbmZzL25scy9tYWMtY2VudGV1cm8uYzo0ODU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXG5mcy9ubHMvbWFjLWNlbnRldXJvLmMtNDg2LXtcbmZzL25scy9tYWMtY2VudGV1cm8uYzo0ODc6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9tYWMtY2VudGV1cm8uYy00ODgtXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFx1MDAyNiAweDAwZmY7XG4tLVxuZnMvbmxzL21hYy1jZW50ZXVyby5jLTQ5My1cbmZzL25scy9tYWMtY2VudGV1cm8uYzo0OTQ6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL21hYy1jZW50ZXVyby5jOjQ5NTpcdGlmICh1bmkyY2hhcnNldCBcdTAwMjZcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxuZnMvbmxzL21hYy1jZW50ZXVyby5jOjQ5NjpcdFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xuZnMvbmxzL21hYy1jZW50ZXVyby5jLTQ5Ny1cdGVsc2Vcbi0tXG5mcy9ubHMvbWFjLWNlbnRldXJvLmM9NTEwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xuZnMvbmxzL21hYy1jZW50ZXVyby5jLTUxMS1cdC5jaGFyc2V0XHQ9IFwmIzM0O21hY2NlbnRldXJvXCYjMzQ7LFxuZnMvbmxzL21hYy1jZW50ZXVyby5jOjUxMjpcdC51bmkyY2hhclx0PSB1bmkyY2hhcixcbmZzL25scy9tYWMtY2VudGV1cm8uYy01MTMtXHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4tLVxuZnMvbmxzL21hYy1jcm9hdGlhbi5jPTQxNT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlZjhbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNDQ5LVxuZnMvbmxzL21hYy1jcm9hdGlhbi5jOjQ1MDpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL21hYy1jcm9hdGlhbi5jLTQ1MS1cdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcbi0tXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmM9NTIwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNTU0LVxuZnMvbmxzL21hYy1jcm9hdGlhbi5jOjU1NTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9tYWMtY3JvYXRpYW4uYy01NTYte1xuZnMvbmxzL21hYy1jcm9hdGlhbi5jOjU1NzpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL21hYy1jcm9hdGlhbi5jLTU1OC1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNTYzLVxuZnMvbmxzL21hYy1jcm9hdGlhbi5jOjU2NDpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbWFjLWNyb2F0aWFuLmM6NTY1Olx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmM6NTY2Olx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNTY3LVx0ZWxzZVxuLS1cbmZzL25scy9tYWMtY3JvYXRpYW4uYz01ODA9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNTgxLVx0LmNoYXJzZXRcdD0gXCYjMzQ7bWFjY3JvYXRpYW5cJiMzNDssXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmM6NTgyOlx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL21hYy1jcm9hdGlhbi5jLTU4My1cdC5jaGFyMnVuaVx0PSBjaGFyMnVuaSxcbi0tXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM9MzEwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyMlsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtY3lyaWxsaWMuYy0zNDQtXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6MzQ1OnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG5mcy9ubHMvbWFjLWN5cmlsbGljLmMtMzQ2LVx0cGFnZTAwLCBwYWdlMDEsIE5VTEwsICAgTlVMTCwgICBwYWdlMDQsIE5VTEwsICAgTlVMTCwgICBOVUxMLFxuLS1cbmZzL25scy9tYWMtY3lyaWxsaWMuYz00MTU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NDktXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6NDUwOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxuZnMvbmxzL21hYy1jeXJpbGxpYy5jLTQ1MS17XG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6NDUyOlx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XG5mcy9ubHMvbWFjLWN5cmlsbGljLmMtNDUzLVx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcdTAwMjYgMHgwMGZmO1xuLS1cbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NTgtXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6NDU5Olx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcbmZzL25scy9tYWMtY3lyaWxsaWMuYzo0NjA6XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbmZzL25scy9tYWMtY3lyaWxsaWMuYzo0NjE6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NjItXHRlbHNlXG4tLVxuZnMvbmxzL21hYy1jeXJpbGxpYy5jPTQ3NT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NzYtXHQuY2hhcnNldFx0PSBcJiMzNDttYWNjeXJpbGxpY1wmIzM0OyxcbmZzL25scy9tYWMtY3lyaWxsaWMuYzo0Nzc6XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG5mcy9ubHMvbWFjLWN5cmlsbGljLmMtNDc4LVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9tYWMtZ2FlbGljLmM9MzgwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyNlsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtZ2FlbGljLmMtNDE0LVxuZnMvbmxzL21hYy1nYWVsaWMuYzo0MTU6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9tYWMtZ2FlbGljLmMtNDE2LVx0cGFnZTAwLCBwYWdlMDEsIHBhZ2UwMiwgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxuLS1cbmZzL25scy9tYWMtZ2FlbGljLmM9NDg1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTUxOS1cbmZzL25scy9tYWMtZ2FlbGljLmM6NTIwOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxuZnMvbmxzL21hYy1nYWVsaWMuYy01MjEte1xuZnMvbmxzL21hYy1nYWVsaWMuYzo1MjI6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9tYWMtZ2FlbGljLmMtNTIzLVx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcdTAwMjYgMHgwMGZmO1xuLS1cbmZzL25scy9tYWMtZ2FlbGljLmMtNTI4LVxuZnMvbmxzL21hYy1nYWVsaWMuYzo1Mjk6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL21hYy1nYWVsaWMuYzo1MzA6XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbmZzL25scy9tYWMtZ2FlbGljLmM6NTMxOlx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbWFjLWdhZWxpYy5jLTUzMi1cdGVsc2Vcbi0tXG5mcy9ubHMvbWFjLWdhZWxpYy5jPTU0NT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbmZzL25scy9tYWMtZ2FlbGljLmMtNTQ2LVx0LmNoYXJzZXRcdD0gXCYjMzQ7bWFjZ2FlbGljXCYjMzQ7LFxuZnMvbmxzL21hYy1nYWVsaWMuYzo1NDc6XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTU0OC1cdC5jaGFyMnVuaVx0PSBjaGFyMnVuaSxcbi0tXG5mcy9ubHMvbWFjLWdyZWVrLmM9MzEwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyMlsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtZ3JlZWsuYy0zNDQtXG5mcy9ubHMvbWFjLWdyZWVrLmM6MzQ1OnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG5mcy9ubHMvbWFjLWdyZWVrLmMtMzQ2LVx0cGFnZTAwLCBwYWdlMDEsIE5VTEwsICAgcGFnZTAzLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxuLS1cbmZzL25scy9tYWMtZ3JlZWsuYz00MTU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtZ3JlZWsuYy00NDktXG5mcy9ubHMvbWFjLWdyZWVrLmM6NDUwOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxuZnMvbmxzL21hYy1ncmVlay5jLTQ1MS17XG5mcy9ubHMvbWFjLWdyZWVrLmM6NDUyOlx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XG5mcy9ubHMvbWFjLWdyZWVrLmMtNDUzLVx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcdTAwMjYgMHgwMGZmO1xuLS1cbmZzL25scy9tYWMtZ3JlZWsuYy00NTgtXG5mcy9ubHMvbWFjLWdyZWVrLmM6NDU5Olx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcbmZzL25scy9tYWMtZ3JlZWsuYzo0NjA6XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbmZzL25scy9tYWMtZ3JlZWsuYzo0NjE6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9tYWMtZ3JlZWsuYy00NjItXHRlbHNlXG4tLVxuZnMvbmxzL21hYy1ncmVlay5jPTQ3NT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbmZzL25scy9tYWMtZ3JlZWsuYy00NzYtXHQuY2hhcnNldFx0PSBcJiMzNDttYWNncmVla1wmIzM0OyxcbmZzL25scy9tYWMtZ3JlZWsuYzo0Nzc6XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG5mcy9ubHMvbWFjLWdyZWVrLmMtNDc4LVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9tYWMtaWNlbGFuZC5jPTQxNT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlZjhbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLWljZWxhbmQuYy00NDktXG5mcy9ubHMvbWFjLWljZWxhbmQuYzo0NTA6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9tYWMtaWNlbGFuZC5jLTQ1MS1cdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcbi0tXG5mcy9ubHMvbWFjLWljZWxhbmQuYz01MjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtaWNlbGFuZC5jLTU1NC1cbmZzL25scy9tYWMtaWNlbGFuZC5jOjU1NTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9tYWMtaWNlbGFuZC5jLTU1Ni17XG5mcy9ubHMvbWFjLWljZWxhbmQuYzo1NTc6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9tYWMtaWNlbGFuZC5jLTU1OC1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbWFjLWljZWxhbmQuYy01NjMtXG5mcy9ubHMvbWFjLWljZWxhbmQuYzo1NjQ6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL21hYy1pY2VsYW5kLmM6NTY1Olx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbWFjLWljZWxhbmQuYzo1NjY6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9tYWMtaWNlbGFuZC5jLTU2Ny1cdGVsc2Vcbi0tXG5mcy9ubHMvbWFjLWljZWxhbmQuYz01ODA9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbWFjLWljZWxhbmQuYy01ODEtXHQuY2hhcnNldFx0PSBcJiMzNDttYWNpY2VsYW5kXCYjMzQ7LFxuZnMvbmxzL21hYy1pY2VsYW5kLmM6NTgyOlx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL21hYy1pY2VsYW5kLmMtNTgzLVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9tYWMtaW51aXQuYz0zNDU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTIxWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL21hYy1pbnVpdC5jLTM3OS1cbmZzL25scy9tYWMtaW51aXQuYzozODA6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9tYWMtaW51aXQuYy0zODEtXHRwYWdlMDAsIHBhZ2UwMSwgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsXG4tLVxuZnMvbmxzL21hYy1pbnVpdC5jPTQ1MD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL21hYy1pbnVpdC5jLTQ4NC1cbmZzL25scy9tYWMtaW51aXQuYzo0ODU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXG5mcy9ubHMvbWFjLWludWl0LmMtNDg2LXtcbmZzL25scy9tYWMtaW51aXQuYzo0ODc6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9tYWMtaW51aXQuYy00ODgtXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFx1MDAyNiAweDAwZmY7XG4tLVxuZnMvbmxzL21hYy1pbnVpdC5jLTQ5My1cbmZzL25scy9tYWMtaW51aXQuYzo0OTQ6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL21hYy1pbnVpdC5jOjQ5NTpcdGlmICh1bmkyY2hhcnNldCBcdTAwMjZcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxuZnMvbmxzL21hYy1pbnVpdC5jOjQ5NjpcdFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xuZnMvbmxzL21hYy1pbnVpdC5jLTQ5Ny1cdGVsc2Vcbi0tXG5mcy9ubHMvbWFjLWludWl0LmM9NTEwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xuZnMvbmxzL21hYy1pbnVpdC5jLTUxMS1cdC5jaGFyc2V0XHQ9IFwmIzM0O21hY2ludWl0XCYjMzQ7LFxuZnMvbmxzL21hYy1pbnVpdC5jOjUxMjpcdC51bmkyY2hhclx0PSB1bmkyY2hhcixcbmZzL25scy9tYWMtaW51aXQuYy01MTMtXHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4tLVxuZnMvbmxzL21hYy1yb21hbi5jPTQ1MD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlZmJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLXJvbWFuLmMtNDg0LVxuZnMvbmxzL21hYy1yb21hbi5jOjQ4NTpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL21hYy1yb21hbi5jLTQ4Ni1cdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcbi0tXG5mcy9ubHMvbWFjLXJvbWFuLmM9NTU1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLXJvbWFuLmMtNTg5LVxuZnMvbmxzL21hYy1yb21hbi5jOjU5MDpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9tYWMtcm9tYW4uYy01OTEte1xuZnMvbmxzL21hYy1yb21hbi5jOjU5MjpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL21hYy1yb21hbi5jLTU5My1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbWFjLXJvbWFuLmMtNTk4LVxuZnMvbmxzL21hYy1yb21hbi5jOjU5OTpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbWFjLXJvbWFuLmM6NjAwOlx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbWFjLXJvbWFuLmM6NjAxOlx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbWFjLXJvbWFuLmMtNjAyLVx0ZWxzZVxuLS1cbmZzL25scy9tYWMtcm9tYW4uYz02MTU9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbWFjLXJvbWFuLmMtNjE2LVx0LmNoYXJzZXRcdD0gXCYjMzQ7bWFjcm9tYW5cJiMzNDssXG5mcy9ubHMvbWFjLXJvbWFuLmM6NjE3Olx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL21hYy1yb21hbi5jLTYxOC1cdC5jaGFyMnVuaVx0PSBjaGFyMnVuaSxcbi0tXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM9NDE1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2VmOFsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtcm9tYW5pYW4uYy00NDktXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NDUwOnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG5mcy9ubHMvbWFjLXJvbWFuaWFuLmMtNDUxLVx0cGFnZTAwLCBwYWdlMDEsIHBhZ2UwMiwgcGFnZTAzLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxuLS1cbmZzL25scy9tYWMtcm9tYW5pYW4uYz01MjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtcm9tYW5pYW4uYy01NTQtXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NTU1OnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxuZnMvbmxzL21hYy1yb21hbmlhbi5jLTU1Ni17XG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NTU3Olx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XG5mcy9ubHMvbWFjLXJvbWFuaWFuLmMtNTU4LVx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcdTAwMjYgMHgwMGZmO1xuLS1cbmZzL25scy9tYWMtcm9tYW5pYW4uYy01NjMtXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NTY0Olx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcbmZzL25scy9tYWMtcm9tYW5pYW4uYzo1NjU6XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbmZzL25scy9tYWMtcm9tYW5pYW4uYzo1NjY6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9tYWMtcm9tYW5pYW4uYy01NjctXHRlbHNlXG4tLVxuZnMvbmxzL21hYy1yb21hbmlhbi5jPTU4MD1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbmZzL25scy9tYWMtcm9tYW5pYW4uYy01ODEtXHQuY2hhcnNldFx0PSBcJiMzNDttYWNyb21hbmlhblwmIzM0OyxcbmZzL25scy9tYWMtcm9tYW5pYW4uYzo1ODI6XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmMtNTgzLVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9tYWMtdHVya2lzaC5jPTQxNT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlZjhbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLXR1cmtpc2guYy00NDktXG5mcy9ubHMvbWFjLXR1cmtpc2guYzo0NTA6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9tYWMtdHVya2lzaC5jLTQ1MS1cdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcbi0tXG5mcy9ubHMvbWFjLXR1cmtpc2guYz01MjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtdHVya2lzaC5jLTU1NC1cbmZzL25scy9tYWMtdHVya2lzaC5jOjU1NTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9tYWMtdHVya2lzaC5jLTU1Ni17XG5mcy9ubHMvbWFjLXR1cmtpc2guYzo1NTc6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9tYWMtdHVya2lzaC5jLTU1OC1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbWFjLXR1cmtpc2guYy01NjMtXG5mcy9ubHMvbWFjLXR1cmtpc2guYzo1NjQ6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL21hYy10dXJraXNoLmM6NTY1Olx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbWFjLXR1cmtpc2guYzo1NjY6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9tYWMtdHVya2lzaC5jLTU2Ny1cdGVsc2Vcbi0tXG5mcy9ubHMvbWFjLXR1cmtpc2guYz01ODA9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbWFjLXR1cmtpc2guYy01ODEtXHQuY2hhcnNldFx0PSBcJiMzNDttYWN0dXJraXNoXCYjMzQ7LFxuZnMvbmxzL21hYy10dXJraXNoLmM6NTgyOlx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL21hYy10dXJraXNoLmMtNTgzLVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9ubHNfYXNjaWkuYz01OT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDBbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2FzY2lpLmMtNzctXG5mcy9ubHMvbmxzX2FzY2lpLmM6Nzg6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9ubHNfYXNjaWkuYy03OS1cdHBhZ2UwMCxcbi0tXG5mcy9ubHMvbmxzX2FzY2lpLmM9MTAxPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2FzY2lpLmMtMTE5LVxuZnMvbmxzL25sc19hc2NpaS5jOjEyMDpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9ubHNfYXNjaWkuYy0xMjEte1xuZnMvbmxzL25sc19hc2NpaS5jOjEyMjpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL25sc19hc2NpaS5jLTEyMy1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbmxzX2FzY2lpLmMtMTI4LVxuZnMvbmxzL25sc19hc2NpaS5jOjEyOTpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbmxzX2FzY2lpLmM6MTMwOlx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbmxzX2FzY2lpLmM6MTMxOlx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbmxzX2FzY2lpLmMtMTMyLVx0ZWxzZVxuLS1cbmZzL25scy9ubHNfYXNjaWkuYz0xNDU9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbmxzX2FzY2lpLmMtMTQ2LVx0LmNoYXJzZXRcdD0gXCYjMzQ7YXNjaWlcJiMzNDssXG5mcy9ubHMvbmxzX2FzY2lpLmM6MTQ3Olx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL25sc19hc2NpaS5jLTE0OC1cdC5jaGFyMnVuaVx0PSBjaGFyMnVuaSxcbi0tXG5mcy9ubHMvbmxzX2Jhc2UuYz0zOTY9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAwWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL25sc19iYXNlLmMtNDMxLVxuZnMvbmxzL25sc19iYXNlLmM6NDMyOnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG5mcy9ubHMvbmxzX2Jhc2UuYy00MzMtXHRwYWdlMDBcbi0tXG5mcy9ubHMvbmxzX2Jhc2UuYz00NzI9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9ubHNfYmFzZS5jLTUwOC1cbmZzL25scy9ubHNfYmFzZS5jOjUwOTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9ubHNfYmFzZS5jLTUxMC17XG5mcy9ubHMvbmxzX2Jhc2UuYzo1MTE6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9ubHNfYmFzZS5jLTUxMi1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbmxzX2Jhc2UuYy01MTctXG5mcy9ubHMvbmxzX2Jhc2UuYzo1MTg6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL25sc19iYXNlLmM6NTE5Olx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbmxzX2Jhc2UuYzo1MjA6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9ubHNfYmFzZS5jLTUyMS1cdGVsc2Vcbi0tXG5mcy9ubHMvbmxzX2Jhc2UuYz01MzQ9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgZGVmYXVsdF90YWJsZSA9IHtcbmZzL25scy9ubHNfYmFzZS5jLTUzNS1cdC5jaGFyc2V0XHQ9IFwmIzM0O2RlZmF1bHRcJiMzNDssXG5mcy9ubHMvbmxzX2Jhc2UuYzo1MzY6XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG5mcy9ubHMvbmxzX2Jhc2UuYy01MzctXHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4tLVxuZnMvbmxzL25sc19jcDEyNTAuYz0yMTM9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTIxWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL25sc19jcDEyNTAuYy0yMjAtXG5mcy9ubHMvbmxzX2NwMTI1MC5jOjIyMTpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL25sc19jcDEyNTAuYy0yMjItXHRwYWdlMDAsXHRwYWdlMDEsXHRwYWdlMDIsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcbi0tXG5mcy9ubHMvbmxzX2NwMTI1MC5jPTI2NT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL25sc19jcDEyNTAuYy0zMDAtXG5mcy9ubHMvbmxzX2NwMTI1MC5jOjMwMTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9ubHNfY3AxMjUwLmMtMzAyLXtcbmZzL25scy9ubHNfY3AxMjUwLmM6MzAzOiAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XG5mcy9ubHMvbmxzX2NwMTI1MC5jLTMwNC0gICAgICAgIHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbmxzX2NwMTI1MC5jLTMwOS1cbmZzL25scy9ubHNfY3AxMjUwLmM6MzEwOiAgICAgICAgdW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcbmZzL25scy9ubHNfY3AxMjUwLmM6MzExOiAgICAgICAgaWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbmxzX2NwMTI1MC5jOjMxMjogICAgICAgICAgICAgICAgb3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xuZnMvbmxzL25sc19jcDEyNTAuYy0zMTMtICAgICAgICBlbHNlXG4tLVxuZnMvbmxzL25sc19jcDEyNTAuYz0zMjY9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbmxzX2NwMTI1MC5jLTMyNy1cdC5jaGFyc2V0XHQ9IFwmIzM0O2NwMTI1MFwmIzM0OyxcbmZzL25scy9ubHNfY3AxMjUwLmM6MzI4Olx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMjktXHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4tLVxuZnMvbmxzL25sc19jcDEyNTEuYz0xNjk9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTIxWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL25sc19jcDEyNTEuYy0xNzYtXG5mcy9ubHMvbmxzX2NwMTI1MS5jOjE3NzpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL25sc19jcDEyNTEuYy0xNzgtXHRwYWdlMDAsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIHBhZ2UwNCwgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgXG4tLVxuZnMvbmxzL25sc19jcDEyNTEuYz0yMjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9ubHNfY3AxMjUxLmMtMjU0LVxuZnMvbmxzL25sc19jcDEyNTEuYzoyNTU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXG5mcy9ubHMvbmxzX2NwMTI1MS5jLTI1Ni17XG5mcy9ubHMvbmxzX2NwMTI1MS5jOjI1NzpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL25sc19jcDEyNTEuYy0yNTgtXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFx1MDAyNiAweDAwZmY7XG4tLVxuZnMvbmxzL25sc19jcDEyNTEuYy0yNjMtXG5mcy9ubHMvbmxzX2NwMTI1MS5jOjI2NDpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbmxzX2NwMTI1MS5jOjI2NTpcdGlmICh1bmkyY2hhcnNldCBcdTAwMjZcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxuZnMvbmxzL25sc19jcDEyNTEuYzoyNjY6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9ubHNfY3AxMjUxLmMtMjY3LVx0ZWxzZVxuLS1cbmZzL25scy9ubHNfY3AxMjUxLmM9MjgwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xuZnMvbmxzL25sc19jcDEyNTEuYy0yODEtXHQuY2hhcnNldFx0PSBcJiMzNDtjcDEyNTFcJiMzNDssXG5mcy9ubHMvbmxzX2NwMTI1MS5jOjI4MjpcdC51bmkyY2hhclx0PSB1bmkyY2hhcixcbmZzL25scy9ubHNfY3AxMjUxLmMtMjgzLVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9ubHNfY3AxMjU1LmM9MjQ4PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyMVsyNTZdID0ge1xuLS1cbmZzL25scy9ubHNfY3AxMjU1LmMtMjU1LVxuZnMvbmxzL25sc19jcDEyNTUuYzoyNTY6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9ubHNfY3AxMjU1LmMtMjU3LVx0cGFnZTAwLCBwYWdlMDEsIHBhZ2UwMiwgTlVMTCwgICBOVUxMLCAgIHBhZ2UwNSwgTlVMTCwgICBOVUxMLCAgIFxuLS1cbmZzL25scy9ubHNfY3AxMjU1LmM9MzAwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2NwMTI1NS5jLTMzNS1cbmZzL25scy9ubHNfY3AxMjU1LmM6MzM2OnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxuZnMvbmxzL25sc19jcDEyNTUuYy0zMzcte1xuZnMvbmxzL25sc19jcDEyNTUuYzozMzg6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9ubHNfY3AxMjU1LmMtMzM5LVx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcdTAwMjYgMHgwMGZmO1xuLS1cbmZzL25scy9ubHNfY3AxMjU1LmMtMzQ0LVxuZnMvbmxzL25sc19jcDEyNTUuYzozNDU6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL25sc19jcDEyNTUuYzozNDY6XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbmZzL25scy9ubHNfY3AxMjU1LmM6MzQ3Olx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbmxzX2NwMTI1NS5jLTM0OC1cdGVsc2Vcbi0tXG5mcy9ubHMvbmxzX2NwMTI1NS5jPTM2MT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbi0tXG5mcy9ubHMvbmxzX2NwMTI1NS5jLTM2My1cdC5hbGlhc1x0XHQ9IFwmIzM0O2lzbzg4NTktOFwmIzM0OyxcbmZzL25scy9ubHNfY3AxMjU1LmM6MzY0Olx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL25sc19jcDEyNTUuYy0zNjUtXHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4tLVxuZnMvbmxzL25sc19jcDQzNy5jPTIzNj1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjVbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2NwNDM3LmMtMjYwLVxuZnMvbmxzL25sc19jcDQzNy5jOjI2MTpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL25sc19jcDQzNy5jLTI2Mi1cdHBhZ2UwMCwgcGFnZTAxLCBOVUxMLCAgIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBcbi0tXG5mcy9ubHMvbmxzX2NwNDM3LmM9MzA1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2NwNDM3LmMtMzQwLVxuZnMvbmxzL25sc19jcDQzNy5jOjM0MTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9ubHNfY3A0MzcuYy0zNDIte1xuZnMvbmxzL25sc19jcDQzNy5jOjM0MzpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL25sc19jcDQzNy5jLTM0NC1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbmxzX2NwNDM3LmMtMzQ5LVxuZnMvbmxzL25sc19jcDQzNy5jOjM1MDpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbmxzX2NwNDM3LmM6MzUxOlx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbmxzX2NwNDM3LmM6MzUyOlx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbmxzX2NwNDM3LmMtMzUzLVx0ZWxzZVxuLS1cbmZzL25scy9ubHNfY3A0MzcuYz0zNjY9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbmxzX2NwNDM3LmMtMzY3LVx0LmNoYXJzZXRcdD0gXCYjMzQ7Y3A0MzdcJiMzNDssXG5mcy9ubHMvbmxzX2NwNDM3LmM6MzY4Olx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL25sc19jcDQzNy5jLTM2OS1cdC5jaGFyMnVuaVx0PSBjaGFyMnVuaSxcbi0tXG5mcy9ubHMvbmxzX2NwNzM3LmM9MTk5PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyNVsyNTZdID0ge1xuLS1cbmZzL25scy9ubHNfY3A3MzcuYy0yMjMtXG5mcy9ubHMvbmxzX2NwNzM3LmM6MjI0OnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG5mcy9ubHMvbmxzX2NwNzM3LmMtMjI1LVx0cGFnZTAwLCBOVUxMLCAgIE5VTEwsICAgcGFnZTAzLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIFxuLS1cbmZzL25scy9ubHNfY3A3MzcuYz0yNjg9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9ubHNfY3A3MzcuYy0zMDMtXG5mcy9ubHMvbmxzX2NwNzM3LmM6MzA0OnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxuZnMvbmxzL25sc19jcDczNy5jLTMwNS17XG5mcy9ubHMvbmxzX2NwNzM3LmM6MzA2Olx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XG5mcy9ubHMvbmxzX2NwNzM3LmMtMzA3LVx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcdTAwMjYgMHgwMGZmO1xuLS1cbmZzL25scy9ubHNfY3A3MzcuYy0zMTItXG5mcy9ubHMvbmxzX2NwNzM3LmM6MzEzOlx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcbmZzL25scy9ubHNfY3A3MzcuYzozMTQ6XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbmZzL25scy9ubHNfY3A3MzcuYzozMTU6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9ubHNfY3A3MzcuYy0zMTYtXHRlbHNlXG4tLVxuZnMvbmxzL25sc19jcDczNy5jPTMyOT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbmZzL25scy9ubHNfY3A3MzcuYy0zMzAtXHQuY2hhcnNldFx0PSBcJiMzNDtjcDczN1wmIzM0OyxcbmZzL25scy9ubHNfY3A3MzcuYzozMzE6XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG5mcy9ubHMvbmxzX2NwNzM3LmMtMzMyLVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9ubHNfY3A3NzUuYz0xNjg9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI1WzI1Nl0gPSB7XG4tLVxuZnMvbmxzL25sc19jcDc3NS5jLTE5Mi1cbmZzL25scy9ubHNfY3A3NzUuYzoxOTM6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9ubHNfY3A3NzUuYy0xOTQtXHRwYWdlMDAsIHBhZ2UwMSwgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgXG4tLVxuZnMvbmxzL25sc19jcDc3NS5jPTIzNz1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL25sc19jcDc3NS5jLTI3Mi1cbmZzL25scy9ubHNfY3A3NzUuYzoyNzM6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXG5mcy9ubHMvbmxzX2NwNzc1LmMtMjc0LXtcbmZzL25scy9ubHNfY3A3NzUuYzoyNzU6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9ubHNfY3A3NzUuYy0yNzYtXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFx1MDAyNiAweDAwZmY7XG4tLVxuZnMvbmxzL25sc19jcDc3NS5jLTI4MS1cbmZzL25scy9ubHNfY3A3NzUuYzoyODI6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL25sc19jcDc3NS5jOjI4MzpcdGlmICh1bmkyY2hhcnNldCBcdTAwMjZcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxuZnMvbmxzL25sc19jcDc3NS5jOjI4NDpcdFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xuZnMvbmxzL25sc19jcDc3NS5jLTI4NS1cdGVsc2Vcbi0tXG5mcy9ubHMvbmxzX2NwNzc1LmM9Mjk4PXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xuZnMvbmxzL25sc19jcDc3NS5jLTI5OS1cdC5jaGFyc2V0XHQ9IFwmIzM0O2NwNzc1XCYjMzQ7LFxuZnMvbmxzL25sc19jcDc3NS5jOjMwMDpcdC51bmkyY2hhclx0PSB1bmkyY2hhcixcbmZzL25scy9ubHNfY3A3NzUuYy0zMDEtXHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4tLVxuZnMvbmxzL25sc19jcDg1MC5jPTE2ND1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjVbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2NwODUwLmMtMTg4LVxuZnMvbmxzL25sc19jcDg1MC5jOjE4OTpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL25sc19jcDg1MC5jLTE5MC1cdHBhZ2UwMCwgcGFnZTAxLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBcbi0tXG5mcy9ubHMvbmxzX2NwODUwLmM9MjMzPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2NwODUwLmMtMjY4LVxuZnMvbmxzL25sc19jcDg1MC5jOjI2OTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9ubHNfY3A4NTAuYy0yNzAte1xuZnMvbmxzL25sc19jcDg1MC5jOjI3MTpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL25sc19jcDg1MC5jLTI3Mi1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbmxzX2NwODUwLmMtMjc3LVxuZnMvbmxzL25sc19jcDg1MC5jOjI3ODpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbmxzX2NwODUwLmM6Mjc5Olx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbmxzX2NwODUwLmM6MjgwOlx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbmxzX2NwODUwLmMtMjgxLVx0ZWxzZVxuLS1cbmZzL25scy9ubHNfY3A4NTAuYz0yOTQ9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbmxzX2NwODUwLmMtMjk1LVx0LmNoYXJzZXRcdD0gXCYjMzQ7Y3A4NTBcJiMzNDssXG5mcy9ubHMvbmxzX2NwODUwLmM6Mjk2Olx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL25sc19jcDg1MC5jLTI5Ny1cdC5jaGFyMnVuaVx0PSBjaGFyMnVuaSxcblxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE5LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MTI2MgoJCQkJCQkJb3V0cHV0OiA0MAoJCQkJCQkJdGhvdWdodHM6IDc2NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGb2N1c2luZyBvbiBDaGFyYWN0ZXIgRW5jb2Rpbmc6IHVuaTJjaGFyIGFuZCBpdHMgQ29udGV4dCoqCgpPa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duIHN5c3RlbWF0aWNhbGx5LiBJIG5lZWQgdG8gaWRlbnRpZnkgdGhlIGNydWNpYWwgZnVuY3Rpb25zIHJlbGF0ZWQgdG8gdGhlIGNoYXJhY3RlciBlbmNvZGluZyBjaGFuZ2VzLCBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIG1vZHVsZS4gRmlyc3QsIEkgd2FudGVkIHRvIGNvbmZpcm0gd2hpY2ggZnVuY3Rpb25zIGFyZSBldmVuIHByZXNlbnQsIGFuZCBJIHNlZTogYHVuaTJjaGFyYCwgYGNoYXIydW5pYCwgYGluaXRfbmxzX2lzbzg4NTlfMTRgLCBhbmQgYGV4aXRfbmxzX2lzbzg4NTlfMTRgLgoKTXkgaW1tZWRpYXRlIGZvY3VzIGlzIG9uIGhvdyBgcGFnZTAxYCBhbmQgYHBhZ2UxZWAsIHRoZSBkYXRhIHN0cnVjdHVyZXMgdGhhdCBzZWVtIHRvIGJlIHRoZSBmb2N1cyBvZiB0aGUgY2hhbmdlcywgYXJlIHV0aWxpemVkLiBJdCYjMzk7cyBxdWlja2x5IGFwcGFyZW50IHRoYXQgdGhlc2UgYXJlICpleGNsdXNpdmVseSogdXNlZCB3aXRoaW4gYHVuaTJjaGFyYCBhbmQgdGhlIGBwYWdlX3VuaTJjaGFyc2V0YCBhcnJheS4gTG9va2luZyBhdCB0aGUgY29kZSBmb3IgYHVuaTJjaGFyYCwgaXQmIzM5O3MgY2xlYXIgaXQgY29udmVydHMgYSBVbmljb2RlIGNoYXJhY3RlciAoYHVuaWApIHRvIGFuIElTTy04ODU5LTE0IGNoYXJhY3Rlci4gSWYgdGhlIGJvdW5kIGxlbmd0aCBpcyBpbmNvcnJlY3QsIGl0IHJldHVybnMgYW4gZXJyb3IuIEl0IGRvZXMgYSBzaW1wbGUgbG9va3VwIGluIGBwYWdlX3VuaTJjaGFyc2V0YCBiYXNlZCBvbiB0aGUgaGlnaCBhbmQgbG93IGJ5dGVzIG9mIHRoZSBVbmljb2RlIGNoYXJhY3Rlci4KCk5vdywgdGhpcyBpcyB3aGVyZSBpdCBnZXRzIGludGVyZXN0aW5nLiBBY2NvcmRpbmcgdG8gdGhlICYjMzQ7RVhUUkFDVElORyBGb2N1c1N5bWJvbHMmIzM0OyBzZWN0aW9uLCBJIHNob3VsZCBiZSB0YXJnZXRpbmcgc3BlY2lmaWMgZmVhdHVyZSBsb2dpYyBvciBlbnRyeXBvaW50cy4gVGhlIGtleSBpcyB0byAqYXZvaWQqIHViaXF1aXRvdXMgbGlmZWN5Y2xlIGZ1bmN0aW9ucyBhbmQgaW5zdGVhZCBwaW5wb2ludCB0aGUgY29kZSAqZGlyZWN0bHkqIGFmZmVjdGVkIGJ5IHRoZSBjaGFuZ2VzLiBgdW5pMmNoYXJgIHNlZW1zIHBlcmZlY3QuIEl0JiMzOTtzIHRoZSBjb3JlIGZ1bmN0aW9uIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlZCBkYXRhLCBgcGFnZTAxYCBhbmQgYHBhZ2UxZWAuIGBjaGFyMnVuaWAgaXMgYWxzbyBhbiBvYnZpb3VzIGNhbmRpZGF0ZSwgYXMgaXQgY29udmVydHMgSVNPLTg4NTktMTQgdG8gVW5pY29kZSBhbmQgdXRpbGl6ZXMgYGNoYXJzZXQydW5pYC4gYGluaXRfbmxzX2lzbzg4NTlfMTRgIGlzIHRoZSBmdW5jdGlvbiB0aGF0IHByZXN1bWFibHkgcmVnaXN0ZXJzIHRoZSB0YWJsZS4KClRoZSBjaGFsbGVuZ2Ugbm93IGlzIHRoZSBzdGF0aWMgbmF0dXJlIG9mIGB1bmkyY2hhcmAuIFdoaWxlIGl0JiMzOTtzIGRlY2xhcmVkIHN0YXRpYyBpbiB0aGUgYC5jYCBmaWxlLCB0aGUgY29tcGlsZXIsIGluIHRoZSBvYmplY3QgZmlsZSwgYW5kIGluIGthbGxzeW1zIGZvciB0aGUgbW9kdWxlLCBnZW5lcmF0ZXMgYSBzeW1ib2wgYHVuaTJjaGFyYCAob3Igc29tZXRoaW5nIHNpbWlsYXIgZGVwZW5kaW5nIG9uIG9wdGltaXphdGlvbikuIFRoaXMgbWVhbnMgdGhlIGZ1enplciBjYW4gc3RpbGwgYWNjZXNzIGl0IGlmIHRoZSBrZXJuZWwgbW9kdWxlIChubHNfaXNvODg1OV8xNC5rbykgaXMgYnVpbHQgYXMgYSBtb2R1bGUsIG9yIHdoZW4gYnVpbHQtaW4uCgpGaW5hbGx5LCBJIG5lZWQgdG8gY2hlY2sgZm9yIHBvdGVudGlhbCB3cmFwcGVyIGZ1bmN0aW9ucy4gQXJlIHRoZXJlIGFueSBwdWJsaWNseSBhY2Nlc3NpYmxlIGZ1bmN0aW9ucyBpbiBgZnMvbmxzL2AsIGBmcy9mYXQvYCwgb3IgYGluY2x1ZGUvbGludXgvbmxzLmhgIHRoYXQgKmNhbGwqIGB1bmkyY2hhcmA/IFRoaXMgd291bGQgZ2l2ZSBtZSBhbiBleHRlcm5hbCBlbnRyeSBwb2ludC4gQ2hlY2tpbmcgYGluY2x1ZGUvbGludXgvbmxzLmhgIHdvdWxkIGJlIHRoZSBvYnZpb3VzIG5leHQgc3RlcC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7dW5pMmNoYXJ8Y2hhcjJ1bml8bG9hZF9ubHMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtpbmNsdWRlL2xpbnV4L25scy5oJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvbmxzLmg9MjU9c3RydWN0IG5sc190YWJsZSB7XG4tLVxuaW5jbHVkZS9saW51eC9ubHMuaC0yNy1cdGNvbnN0IGNoYXIgKmFsaWFzO1xuaW5jbHVkZS9saW51eC9ubHMuaDoyODpcdGludCAoKnVuaTJjaGFyKSAod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKTtcbmluY2x1ZGUvbGludXgvbmxzLmg6Mjk6XHRpbnQgKCpjaGFyMnVuaSkgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJhd3N0cmluZywgaW50IGJvdW5kbGVuLFxuaW5jbHVkZS9saW51eC9ubHMuaC0zMC1cdFx0XHQgd2NoYXJfdCAqdW5pKTtcbi0tXG5pbmNsdWRlL2xpbnV4L25scy5oPTQ5PWV4dGVybiBpbnQgdW5yZWdpc3Rlcl9ubHMoc3RydWN0IG5sc190YWJsZSAqKTtcbmluY2x1ZGUvbGludXgvbmxzLmg6NTA6ZXh0ZXJuIHN0cnVjdCBubHNfdGFibGUgKmxvYWRfbmxzKGNvbnN0IGNoYXIgKmNoYXJzZXQpO1xuaW5jbHVkZS9saW51eC9ubHMuaDo1MTpleHRlcm4gdm9pZCB1bmxvYWRfbmxzKHN0cnVjdCBubHNfdGFibGUgKik7XG5pbmNsdWRlL2xpbnV4L25scy5oOjUyOmV4dGVybiBzdHJ1Y3QgbmxzX3RhYmxlICpsb2FkX25sc19kZWZhdWx0KHZvaWQpO1xuaW5jbHVkZS9saW51eC9ubHMuaC01My0jZGVmaW5lIHJlZ2lzdGVyX25scyhubHMpIF9fcmVnaXN0ZXJfbmxzKChubHMpLCBUSElTX01PRFVMRSlcbi0tXG5pbmNsdWRlL2xpbnV4L25scy5oPTk2PW5sc19udWxsc2l6ZShjb25zdCBzdHJ1Y3QgbmxzX3RhYmxlICpjb2RlcGFnZSlcbi0tXG5pbmNsdWRlL2xpbnV4L25scy5oLTEwMC1cbmluY2x1ZGUvbGludXgvbmxzLmg6MTAxOlx0Y2hhcmxlbiA9IGNvZGVwYWdlLVx1MDAzZXVuaTJjaGFyKDAsIHRtcCwgTkxTX01BWF9DSEFSU0VUX1NJWkUpO1xuaW5jbHVkZS9saW51eC9ubHMuaC0xMDItXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQzMDM4CgkJCQkJCQlvdXRwdXQ6IDE0NAoJCQkJCQkJdGhvdWdodHM6IDM4OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBbmFseXNpcyBvZiB0aGUgQ29uZmlndXJhdGlvbiBSZXF1aXJlbWVudHMqKgoKT2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93biBzeXN0ZW1hdGljYWxseS4gRmlyc3QsIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoaWNoIGNvbmZpZ3VyYXRpb25zIGFyZSBlc3NlbnRpYWwgZm9yIHRoaXMgc3BlY2lmaWMgdGFzaywgbGV0JiMzOTtzIGNhbGwgYEVuYWJsZUNvbmZpZ3NgLiBJJiMzOTtsbCBzdGFydCBieSBjaGVja2luZyB0aGUgcmVsZXZhbnQgS2NvbmZpZyBmaWxlLCBuYW1lbHkgYGZzL25scy9LY29uZmlnYC4gUmlnaHQgYXdheSwgSSBzZWUgdGhhdCBgTkxTYCBpcyB0aGUgcGFyZW50IGNvbmZpZywgY29udHJvbGxlZCB2aWEgbWVudWNvbmZpZy4gIFVuZGVyIGBOTFNgLCBJIGZpbmQgdGhlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gYE5MU19JU084ODU5XzE0YC4KClRoZXJlZm9yZSwgaXQmIzM5O3MgY2xlYXIgdGhhdCBJIG5lZWQgYm90aCBgTkxTYCBhbmQgYE5MU19JU084ODU5XzE0YC4gSSYjMzk7bGwgY29uZmlybSB0aGF0IHRoZXNlIHR3byBjb25maWd1cmF0aW9ucyBhcmUgaW5kZWVkIHRoZSBkaXJlY3Qga2VybmVsIG9wdGlvbnMgdGhhdCBnb3Zlcm4gdGhlIGNvbXBpbGF0aW9uIG9mIHRoZSBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIG1vZHVsZSwgZW5zdXJpbmcgaXQmIzM5O3MgYnVpbHQgaW50byB0aGUga2VybmVsLgoKTm93LCBsZXQmIzM5O3MgZG91YmxlLWNoZWNrIGFsbCByZXF1aXJlbWVudHMgdG8gYmUgYWJzb2x1dGVseSBzdXJlOgoKMS4gIGBXb3J0aEZ1enppbmdgIGlzIHNldCB0byBgdHJ1ZWAsIHdoaWNoIGlzIHNpZ25pZmljYW50IGJlY2F1c2UgdGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBjb3JlIG1hcHBpbmcgdGFibGVzIChgcGFnZTAxYCBhbmQgYHBhZ2UxZWApIHdpdGhpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgLiAgVGhlc2UgdGFibGVzIGFyZSBkaXJlY3RseSBpbnZvbHZlZCBpbiBmaWxlbmFtZSBjb252ZXJzaW9ucyBpbiBmaWxlc3lzdGVtcyBzdXBwb3J0aW5nIE5MUywgbGlrZSBGQVQgb3IgSVNPRlMuCjIuICBUaGUgYEZvY3VzU3ltYm9sc2AgYXJlIGVpdGhlciBgWyYjMzQ7dW5pMmNoYXImIzM0OywgJiMzNDtjaGFyMnVuaSYjMzQ7XWAgb3IganVzdCBgWyYjMzQ7dW5pMmNoYXImIzM0O11gLiBUaGUgZnVuY3Rpb24gYHVuaTJjaGFyYCB1c2VzIHRoZSBtb2RpZmllZCBgcGFnZTAxYCBhbmQgYHBhZ2UxZWAgdGFibGVzICh0aHJvdWdoIGBwYWdlX3VuaTJjaGFyc2V0YCksIGRpcmVjdGx5IGltcGFjdGluZyB0aGUgcG90ZW50aWFsIHZ1bG5lcmFiaWxpdHkuCjMuICBUaGUgYEVuYWJsZUNvbmZpZ3NgIGFyZSBleHBsaWNpdGx5IGBbJiMzNDtOTFMmIzM0OywgJiMzNDtOTFNfSVNPODg1OV8xNCYjMzQ7XWAsIHJlaW5mb3JjaW5nIHRoZSBuZWVkIGZvciB0aGVzZSBjb25maWd1cmF0aW9ucy4KNC4gIFRoZSByZWFzb25pbmcgcHJvdmlkZWQgaXMgY2xlYXIgYW5kIGNvbmNpc2UsIGNvbmZpcm1pbmcgbXkgdW5kZXJzdGFuZGluZy4KCldpdGggdGhpcyBjb21wbGV0ZSBhbmFseXNpcywgSSBhbSBjb25maWRlbnQgSSBjYW4gcHJvY2VlZCB3aXRoIHRoZSBuZXh0IHN0ZXAsIEkmIzM5O2xsIGNhbGwgYHNldC1yZXN1bHRzYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05MUyYjMzQ7LAogICAgJiMzNDtOTFNfSVNPODg1OV8xNCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3VuaTJjaGFyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNvcnJlY3RzIGNoYXJhY3RlciBtYXBwaW5nIGVudHJpZXMgaW4gdGhlIFVuaWNvZGUtdG8tSVNPLTg4NTktMTQgdGFibGVzIChwYWdlMDEgYW5kIHBhZ2UxZSkgaW4gZnMvbmxzL25sc19pc284ODU5LTE0LmMuIFRoZXNlIHRhYmxlcyBhcmUgdXNlZCBieSB1bmkyY2hhcigpIGR1cmluZyBmaWxlc3lzdGVtIGNoYXJhY3RlciBjb252ZXJzaW9uIG9wZXJhdGlvbnMgKGUuZy4gRkFULCBJU09GUyksIHJlcHJlc2VudGluZyByZWFjaGFibGUgY29kZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uIGNvcnJlY3RuZXNzIGFuZCBib3VuZGFyeSBzYWZldHkuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05MUyYjMzQ7LAogICAgJiMzNDtOTFNfSVNPODg1OV8xNCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3VuaTJjaGFyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNvcnJlY3RzIGNoYXJhY3RlciBtYXBwaW5nIGVudHJpZXMgaW4gdGhlIFVuaWNvZGUtdG8tSVNPLTg4NTktMTQgdGFibGVzIChwYWdlMDEgYW5kIHBhZ2UxZSkgaW4gZnMvbmxzL25sc19pc284ODU5LTE0LmMuIFRoZXNlIHRhYmxlcyBhcmUgdXNlZCBieSB1bmkyY2hhcigpIGR1cmluZyBmaWxlc3lzdGVtIGNoYXJhY3RlciBjb252ZXJzaW9uIG9wZXJhdGlvbnMgKGUuZy4gRkFULCBJU09GUyksIHJlcHJlc2VudGluZyByZWFjaGFibGUgY29kZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uIGNvcnJlY3RuZXNzIGFuZCBib3VuZGFyeSBzYWZldHkuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjMvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE0PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5JZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+a21zYW4tZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Y29yZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtLTVNBTlJlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBzdGF0aWMgY29uc3RhbnQgbG9va3VwIHRhYmxlcyAoYHBhZ2UwMWAgYW5kIGBwYWdlMWVgKSBpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIHRvIGNvcnJlY3QgVW5pY29kZS10by1jaGFyc2V0IG1hcHBpbmcgZW50cmllcy4gXG5cblRoZXNlIHRhYmxlcyBhcmUgc3RhdGljIGNvbnN0IGFycmF5cyBvZiBmaXhlZCBzaXplICgyNTYgYnl0ZXMpIHBsYWNlZCBpbiByZWFkLW9ubHkgZGF0YSAoLnJvZGF0YSkuIE5vIGR5bmFtaWMgbWVtb3J5IGFsbG9jYXRpb24sIHN0YWNrIHZhcmlhYmxlcywga2VybmVsLXRvLXVzZXIgY29weSBvcGVyYXRpb25zLCBvciB1bmluaXRpYWxpemVkIG1lbW9yeSBwYXRocyBhcmUgaW50cm9kdWNlZCBvciBtb2RpZmllZC4gVGhlcmVmb3JlLCB0aGVyZSBhcmUgbm8gdW5pbml0aWFsaXplZCBtZW1vcnkgcmlza3MsIGFuZCBhIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaXMgbm90IHdhcnJhbnRlZC4mIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgc2VjdXJpdHkgZW5naW5lZXIgc3BlY2lhbGl6aW5nIGluIGtlcm5lbCBtZW1vcnkKZXJyb3IgZGV0ZWN0b3JzIChLQVNBTiBhbmQgS01TQU4pLiBZb3VyIGpvYiBpcyB0byByZXZpZXcgdGhlIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQKZGV0ZXJtaW5lIGlmIHRoZSBjb2RlIGNoYW5nZXMganVzdGlmeSBzcGF3bmluZyBhIGRlZGljYXRlZCBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKQpmdXp6aW5nIHNlc3Npb24gaW4gYWRkaXRpb24gdG8gc3RhbmRhcmQgS0FTQU4gZnV6emluZy4KCkNSSVRJQ0FMIERJU1RJTkNUSU9OIEJFVFdFRU4gS0FTQU4gQU5EIEtNU0FOOgotIFN0YW5kYXJkIEtBU0FOIGtlcm5lbCBidWlsZHMgKHVwc3RyZWFtLWFwcGFybW9yLWthc2FuLmNvbmZpZykgYWxyZWFkeSBlbmFibGUKICBhIGNvbXByZWhlbnNpdmUgc3VpdGUgb2YgZGVidWdnaW5nIHRvb2xzIGFuZCBzYW5pdGl6ZXJzLCBpbmNsdWRpbmcgS0FTQU4KICAob3V0LW9mLWJvdW5kcyBhY2Nlc3NlcywgdXNlLWFmdGVyLWZyZWUsIGRvdWJsZSBmcmVlLCBpbnZhbGlkIGZyZWUpLCBMT0NLREVQCiAgKGxvY2tpbmcgYnVncyBhbmQgZGVhZGxvY2tzKSwgVUItc2FuaXRpemVycywgYW5kIG1lbW9yeSBjb3JydXB0aW9uIGNoZWNrcy4KLSBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKSBkZXRlY3RzIHJlYWRzIG9mIFVOSU5JVElBTElaRUQgbWVtb3J5IChzdGFjaywgaGVhcCwKICBvciBwYWdlIGFsbG9jYXRpb25zKSBhbmQga2VybmVsLXRvLXVzZXIgbWVtb3J5IGluZm8tbGVha3MuCgpSdWxlOiBUSEVSRSBJUyBOTyBTRU5TRSBJTiBSVU5OSU5HIEEgS01TQU4gU0VTU0lPTiBJRiBBIEJVRyBDQU4gQkUgQ0FVR0hUIEJZIEtBU0FOLApMT0NLREVQLCBPUiBPVEhFUiBTVEFOREFSRCBCVUcgREVURUNUT1JTLgpBIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaW5jdXJzIHNpZ25pZmljYW50IHJlc291cmNlIGNvc3RzLiBZb3UgbXVzdCBPTkxZCnNldCBOZWVkc0tNU0FOPXRydWUgaWYgdGhlIGNvZGUgY2hhbmdlcyBpbnRyb2R1Y2Ugb3IgZXhwb3NlIFVOSU5JVElBTElaRUQgTUVNT1JZIHJpc2tzCnRoYXQgYXJlIGRldGVjdGVkIE9OTFkgYnkgS01TQU4uCgpMb29rIGhvbGlzdGljYWxseSBhdCB0aGUgcGF0Y2ggc2VyaWVzIGFuZCBzdXJyb3VuZGluZyBjb2RlLiBFdmVuIGlmIG5vIGRpcmVjdAp1bmluaXRpYWxpemVkIGZpZWxkIGFjY2Vzc2VzIG9yIG5ldyBidWZmZXIgYWxsb2NhdGlvbnMgYXJlIGFkZGVkIGluIHRoZSBkaWZmIGl0c2VsZiwKYSBwYXRjaCBtYXkgYWx0ZXIgY29udHJvbCBmbG93LCBib3VuZHMgY2hlY2tpbmcsIG9yIGRhdGEgbGVuZ3RoIGNhbGN1bGF0aW9ucyBpbiB3YXlzCnRoYXQgY2hhbmdlIGhvdyB0aGUgcmVzdCBvZiB0aGUgY29kZSBvcGVyYXRlcyBvbiBleGlzdGluZyBidWZmZXJzIChlLmcuIGFsbG93aW5nCnVuaW5pdGlhbGl6ZWQgc3RhY2svaGVhcCBtZW1vcnkgdG8gYmUgcmVhZCwgY29waWVkIHRvIHVzZXIgc3BhY2UsIG9yIHVzZWQgaW4gY29udHJvbApmbG93KS4gRG8gbm90IGhlc2l0YXRlIHRvIHVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGluc3BlY3QgdGhlIHN1cnJvdW5kaW5nIGNvZGUsCmNhbGxlZCBmdW5jdGlvbnMsIGFuZCBjYWxsZXJzLgoKU2V0IE5lZWRzS01TQU49dHJ1ZSBPTkxZIElGIHRoZSBwYXRjaCBpbnRyb2R1Y2VzIG9yIG1vZGlmaWVzOgoxLiBLZXJuZWwgc3RydWN0dXJlcyBzZW50IHRvIHVzZXIgc3BhY2UgKHZpYSBjb3B5X3RvX3VzZXIsIHB1dF91c2VyLCBuZXRsaW5rIHNrYgogICBhdHRyaWJ1dGVzLCBpb2N0bCBvdXRwdXQgYXJndW1lbnRzLCBzb2NrZXQgb3B0aW9ucywgb3IgQlBGIGJ1ZmZlcnMpIHdoZXJlIGZpZWxkcwogICBvciBzdHJ1Y3R1cmUgcGFkZGluZyBtaWdodCBub3QgYmUgZnVsbHkgaW5pdGlhbGl6ZWQvemVyb2VkLgoyLiBDb25kaXRpb25hbCBsb2dpYyBvciBicmFuY2hpbmcgdGhhdCBkZXBlbmRzIG9uIHBvdGVudGlhbGx5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzCiAgIG9yIHN0cnVjdCBmaWVsZHMuCjMuIEFsbG9jYXRpb24gb3IgaW5pdGlhbGl6YXRpb24gb2YgY29tcGxleCBkYXRhIHN0cnVjdHVyZXMgd2hlcmUgdW5pbml0aWFsaXplZCBmaWVsZHMKICAgY291bGQgYmUgcmVhZCBsYXRlciBpbiByZWFjaGFibGUgY29kZSBwYXRocy4KNC4gQm91bmRzIGNoZWNrcywgbGVuZ3Rocywgb3IgbG9naWMgaW4gYSB3YXkgdGhhdCBhbGxvd3Mgc3Vycm91bmRpbmcgY29kZSB0byBhY2Nlc3MKICAgdW5pbml0aWFsaXplZCBieXRlcyBvZiBleGlzdGluZyBidWZmZXJzLgoKU2V0IE5lZWRzS01TQU49ZmFsc2UgSUY6Ci0gVGhlIGNvZGUgY2hhbmdlcyBwcmltYXJpbHkgcmlzayBvdXQtb2YtYm91bmRzIGFjY2VzcywgYXJyYXkgb3ZlcmZsb3dzLCBOVUxMIHBvaW50ZXIKICBkZXJlZmVyZW5jZXMsIGxvY2tpbmcgZGVhZGxvY2tzLCBvciB1c2UtYWZ0ZXItZnJlZSBidWdzICh0aGVzZSBhcmUgYWxyZWFkeSBjYXVnaHQKICBieSBLQVNBTiwgTE9DS0RFUCwgb3Igc3RhbmRhcmQgYnVnIGRldGVjdG9ycykuCi0gQWxsIHN0YWNrL2hlYXAgc3RydWN0dXJlcyB0b3VjaGVkIG9yIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIGFyZSBmdWxseSB6ZXJvZWQKICBvciBpbml0aWFsaXplZCAoZS5nLiB1c2luZyA9IHswfSwgbWVtc2V0LCBremFsbG9jKSBiZWZvcmUgYmVpbmcgcmVhZCBvciBjb3BpZWQuCi0gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBhbnkgcmlzayBvZiB1bmluaXRpYWxpemVkIG1lbW9yeSB1c2FnZSBvciBpbmZvLWxlYWtzLgoKVXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gaW5zcGVjdCB0aGUgc3Vycm91bmRpbmcgY29kZSBpZiBuZWNlc3NhcnksIHRoZW4gcHJvdmlkZQpkZXRhaWxlZCBLTVNBTlJlYXNvbmluZyBjb250cmFzdGluZyBLQVNBTiB2cyBLTVNBTiBhcHBsaWNhYmlsaXR5IGZvciB0aGlzIHBhdGNoLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPlRhcmdldCBhcmNoaXRlY3R1cmU6IGFtZDY0CgpGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDIzNjc4M2MyNWVkOGZmOTRkYTVjN2ZmMWU1MmMxNTdhMjgzOTQ2MTAKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIFNlcCA5IDEzOjEzOjQ5IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZnMvbmxzL25sc19pc284ODU5LTE0LmMgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYwppbmRleCBjNzg5ZWNjYjhhNjk1Li42MGI5NDAwZjkxNWFmIDEwMDY0NAotLS0gYS9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYwomIzQzOyYjNDM7JiM0MzsgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYwpAQCAtMTM4LDI0ICYjNDM7MTM4LDIzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0gewogfTsKIAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7Ci0JMHgwMCwgMHgwMCwgMHhhMSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovCi0JMHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqLwomIzQzOwkweDAwLCAweDAwLCAweGE0LCAweGE1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi8KLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi8KJiM0MzsJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxOC0weDFmICovCiAJMHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovCi0JMHhiNCwgMHhiNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqLwogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDgtMHg0ZiAqLwotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjcsIDB4YjksIC8qIDB4NTAtMHg1NyAqLwomIzQzOwkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDUwLTB4NTcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDU4LTB4NWYgKi8KLQkweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi8KLQkweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi8KJiM0MzsJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqLwogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqLwogCTB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqLwotCQotCTB4YTgsIDB4YjgsIDB4YWEsIDB4YmEsIDB4YmQsIDB4YmUsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqLwomIzQzOwkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDk4LTB4OWYgKi8KQEAgLTE2OSw3ICYjNDM7MTY4LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7CiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlMC0weGU3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlOC0weGVmICovCi0JMHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqLwogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjgtMHhmZiAqLwogfTsKIApAQCAtMTc4LDcgJiM0MzsxNzcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMWVbMjU2XSA9IHsKIAkweDAwLCAweDAwLCAweGE2LCAweGFiLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi8KLQkweGIyLCAweGIzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi8KJiM0MzsJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovCkBAIC0xODgsOSAmIzQzOzE4Nyw4IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0gewogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqLwogCTB4YmIsIDB4YmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqLwogCTB4MDAsIDB4MDAsIDB4ZDcsIDB4ZjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqLwotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqLwotCTB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqLwotCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzAtMHg3NyAqLwomIzQzOwkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi8KIAkweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi8KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjUvMzwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5rbXNhbi1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDUyOTkKCQkJCQkJCW91dHB1dDogNDUKCQkJCQkJCXRob3VnaHRzOiA0NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgcHJlc2VudGVkIGFzIGEgcGVyc29uYWwgdGhvdWdodCBwcm9jZXNzLCBhcyByZXF1ZXN0ZWQ6CgoqKktNU0FOIEZ1enppbmcgRGV0ZXJtaW5hdGlvbioqCgpBbHJpZ2h0LCB0aW1lIHRvIGRpdmUgaW4uIEZpcnN0LCBsZXQmIzM5O3MgYXNzZXNzIHRoaXMgcGF0Y2guIFRoZSBxdWVzdGlvbiBpczogZG9lcyB0aGlzIGNoYW5nZSB3YXJyYW50IGl0cyBvd24gZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgcnVuPyBJIG5lZWQgdG8gcXVpY2tseSBkZXRlcm1pbmUgdGhlIHJpc2sgcHJvZmlsZSBoZXJlLiBJJiMzOTtsbCBuZWVkIHRvIGNvbnNpZGVyIHdoYXQgYXJlYXMgb2YgdGhlIGtlcm5lbCBhcmUgYmVpbmcgbW9kaWZpZWQsIGhvdyBkZWVwbHkgdGhleSYjMzk7cmUgaW50ZWdyYXRlZCwgYW5kIGlmIHRoZXJlIGFyZSBhbnkgb2J2aW91cyAmIzM0O2dvdGNoYXMmIzM0OyB0aGF0IEtNU0FOIHdvdWxkIGJlIHBhcnRpY3VsYXJseSBnb29kIGF0IGNhdGNoaW5nLiBJdCYjMzk7cyBhIHJpc2sgYXNzZXNzbWVudCByaWdodCBvZmYgdGhlIGJhdC4KClNwZWNpZmljYWxseSwgSSYjMzk7bSBnb2luZyB0byB0YWtlIGEgbG9vayBhdCB0aGUgZmlsZSBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgLiBUaGlzIGlzIHdoZXJlIEkmIzM5O2xsIGJlZ2luIG15IGludmVzdGlnYXRpb24uIFRoaXMgY29kZSB3aWxsIGdpdmUgbWUgYSBnb29kIGlkZWEgb2Ygd2hhdCYjMzk7cyBiZWluZyBjaGFuZ2VkIGFuZCB3aGF0IHR5cGUgb2YgZGF0YSBpcyBiZWluZyBoYW5kbGVkLiBUaGUgZmlsZSBuYW1lIGFsb25lIGhpbnRzIGF0IGNoYXJhY3RlciBzZXQgY29udmVyc2lvbiwgYW5kIHRoYXQmIzM5O3Mgb2Z0ZW4gYSBzb3VyY2Ugb2YgbWVtb3J5IGNvcnJ1cHRpb24gYnVncy4gVGhpcyBpcyBhIHBvdGVudGlhbCBob3Qtc3BvdCBmb3IgS01TQU4sIGFuZCBzbyBpdCYjMzk7cyBhIGdvb2QgcGxhY2UgdG8gc3RhcnQgbXkgYW5hbHlzaXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjYvMzwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7ZnMvbmxzL25sc19pc284ODU5LTE0LmMmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAxLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDEwMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgICAxOlx0LypcbiAgIDI6XHQgKiBsaW51eC9mcy9ubHMvbmxzX2lzbzg4NTktMTQuY1xuICAgMzpcdCAqXG4gICA0Olx0ICogQ2hhcnNldCBpc284ODU5LTE0IHRyYW5zbGF0aW9uIHRhYmxlcy5cbiAgIDU6XHQgKlxuICAgNjpcdCAqIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIFVuaWNvZGUgYW5kIGNoYXJzZXQgdGFibGVcbiAgIDc6XHQgKiBwcm92aWRlZCBieSB0aGUgVW5pY29kZSBPcmdhbmlzYXRpb24gYXRcbiAgIDg6XHQgKiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1xuICAgOTpcdCAqIFRoZSBVbmljb2RlIHRvIGNoYXJzZXQgdGFibGUgaGFzIG9ubHkgZXhhY3QgbWFwcGluZ3MuXG4gIDEwOlx0ICpcbiAgMTE6XHQgKiBSaHlzIEpvbmVzLCBTd2Fuc2VhIFVuaXZlcnNpdHkgQ29tcHV0ZXIgU29jaWV0eVxuICAxMjpcdCAqIHJoeXNAc3Vjcy5zd2FuLmFjLnVrXG4gIDEzOlx0ICovXG4gIDE0Olx0XG4gIDE1Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvbW9kdWxlLmhcdTAwM2VcbiAgMTY6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9rZXJuZWwuaFx1MDAzZVxuICAxNzpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L3N0cmluZy5oXHUwMDNlXG4gIDE4Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvbmxzLmhcdTAwM2VcbiAgMTk6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJuby5oXHUwMDNlXG4gIDIwOlx0XG4gIDIxOlx0c3RhdGljIGNvbnN0IHdjaGFyX3QgY2hhcnNldDJ1bmlbMjU2XSA9IHtcbiAgMjI6XHRcdC8qIDB4MDAqL1xuICAyMzpcdFx0MHgwMDAwLCAweDAwMDEsIDB4MDAwMiwgMHgwMDAzLCBcbiAgMjQ6XHRcdDB4MDAwNCwgMHgwMDA1LCAweDAwMDYsIDB4MDAwNywgXG4gIDI1Olx0XHQweDAwMDgsIDB4MDAwOSwgMHgwMDBhLCAweDAwMGIsIFxuICAyNjpcdFx0MHgwMDBjLCAweDAwMGQsIDB4MDAwZSwgMHgwMDBmLCBcbiAgMjc6XHRcdC8qIDB4MTAqL1xuICAyODpcdFx0MHgwMDEwLCAweDAwMTEsIDB4MDAxMiwgMHgwMDEzLCBcbiAgMjk6XHRcdDB4MDAxNCwgMHgwMDE1LCAweDAwMTYsIDB4MDAxNywgXG4gIDMwOlx0XHQweDAwMTgsIDB4MDAxOSwgMHgwMDFhLCAweDAwMWIsIFxuICAzMTpcdFx0MHgwMDFjLCAweDAwMWQsIDB4MDAxZSwgMHgwMDFmLCBcbiAgMzI6XHRcdC8qIDB4MjAqL1xuICAzMzpcdFx0MHgwMDIwLCAweDAwMjEsIDB4MDAyMiwgMHgwMDIzLCBcbiAgMzQ6XHRcdDB4MDAyNCwgMHgwMDI1LCAweDAwMjYsIDB4MDAyNywgXG4gIDM1Olx0XHQweDAwMjgsIDB4MDAyOSwgMHgwMDJhLCAweDAwMmIsIFxuICAzNjpcdFx0MHgwMDJjLCAweDAwMmQsIDB4MDAyZSwgMHgwMDJmLCBcbiAgMzc6XHRcdC8qIDB4MzAqL1xuICAzODpcdFx0MHgwMDMwLCAweDAwMzEsIDB4MDAzMiwgMHgwMDMzLCBcbiAgMzk6XHRcdDB4MDAzNCwgMHgwMDM1LCAweDAwMzYsIDB4MDAzNywgXG4gIDQwOlx0XHQweDAwMzgsIDB4MDAzOSwgMHgwMDNhLCAweDAwM2IsIFxuICA0MTpcdFx0MHgwMDNjLCAweDAwM2QsIDB4MDAzZSwgMHgwMDNmLCBcbiAgNDI6XHRcdC8qIDB4NDAqL1xuICA0MzpcdFx0MHgwMDQwLCAweDAwNDEsIDB4MDA0MiwgMHgwMDQzLCBcbiAgNDQ6XHRcdDB4MDA0NCwgMHgwMDQ1LCAweDAwNDYsIDB4MDA0NywgXG4gIDQ1Olx0XHQweDAwNDgsIDB4MDA0OSwgMHgwMDRhLCAweDAwNGIsIFxuICA0NjpcdFx0MHgwMDRjLCAweDAwNGQsIDB4MDA0ZSwgMHgwMDRmLCBcbiAgNDc6XHRcdC8qIDB4NTAqL1xuICA0ODpcdFx0MHgwMDUwLCAweDAwNTEsIDB4MDA1MiwgMHgwMDUzLCBcbiAgNDk6XHRcdDB4MDA1NCwgMHgwMDU1LCAweDAwNTYsIDB4MDA1NywgXG4gIDUwOlx0XHQweDAwNTgsIDB4MDA1OSwgMHgwMDVhLCAweDAwNWIsIFxuICA1MTpcdFx0MHgwMDVjLCAweDAwNWQsIDB4MDA1ZSwgMHgwMDVmLCBcbiAgNTI6XHRcdC8qIDB4NjAqL1xuICA1MzpcdFx0MHgwMDYwLCAweDAwNjEsIDB4MDA2MiwgMHgwMDYzLCBcbiAgNTQ6XHRcdDB4MDA2NCwgMHgwMDY1LCAweDAwNjYsIDB4MDA2NywgXG4gIDU1Olx0XHQweDAwNjgsIDB4MDA2OSwgMHgwMDZhLCAweDAwNmIsIFxuICA1NjpcdFx0MHgwMDZjLCAweDAwNmQsIDB4MDA2ZSwgMHgwMDZmLCBcbiAgNTc6XHRcdC8qIDB4NzAqL1xuICA1ODpcdFx0MHgwMDcwLCAweDAwNzEsIDB4MDA3MiwgMHgwMDczLCBcbiAgNTk6XHRcdDB4MDA3NCwgMHgwMDc1LCAweDAwNzYsIDB4MDA3NywgXG4gIDYwOlx0XHQweDAwNzgsIDB4MDA3OSwgMHgwMDdhLCAweDAwN2IsIFxuICA2MTpcdFx0MHgwMDdjLCAweDAwN2QsIDB4MDA3ZSwgMHgwMDdmLCBcbiAgNjI6XHRcdC8qIDB4ODAqL1xuICA2MzpcdFx0MHgwMDgwLCAweDAwODEsIDB4MDA4MiwgMHgwMDgzLFxuICA2NDpcdFx0MHgwMDg0LCAweDAwODUsIDB4MDA4NiwgMHgwMDg3LFxuICA2NTpcdFx0MHgwMDg4LCAweDAwODksIDB4MDA4YSwgMHgwMDhiLFxuICA2NjpcdFx0MHgwMDhjLCAweDAwOGQsIDB4MDA4ZSwgMHgwMDhmLFxuICA2NzpcdFx0LyogMHg5MCovXG4gIDY4Olx0XHQweDAwOTAsIDB4MDA5MSwgMHgwMDkyLCAweDAwOTMsXG4gIDY5Olx0XHQweDAwOTQsIDB4MDA5NSwgMHgwMDk2LCAweDAwOTcsXG4gIDcwOlx0XHQweDAwOTgsIDB4MDA5OSwgMHgwMDlhLCAweDAwOWIsXG4gIDcxOlx0XHQweDAwOWMsIDB4MDA5ZCwgMHgwMDllLCAweDAwOWYsXG4gIDcyOlx0XHQvKiAweGEwKi9cbiAgNzM6XHRcdDB4MDBhMCwgMHgxZTAyLCAweDFlMDMsIDB4MDBhMywgXG4gIDc0Olx0XHQweDAxMGEsIDB4MDEwYiwgMHgxZTBhLCAweDAwYTcsIFxuICA3NTpcdFx0MHgxZTgwLCAweDAwYTksIDB4MWU4MiwgMHgxZTBiLCBcbiAgNzY6XHRcdDB4MWVmMiwgMHgwMGFkLCAweDAwYWUsIDB4MDE3OCwgXG4gIDc3Olx0XHQvKiAweGIwKi9cbiAgNzg6XHRcdDB4MWUxZSwgMHgxZTFmLCAweDAxMjAsIDB4MDEyMSwgXG4gIDc5Olx0XHQweDFlNDAsIDB4MWU0MSwgMHgwMGI2LCAweDFlNTYsIFxuICA4MDpcdFx0MHgxZTgxLCAweDFlNTcsIDB4MWU4MywgMHgxZTYwLCBcbiAgODE6XHRcdDB4MWVmMywgMHgxZTg0LCAweDFlODUsIDB4MWU2MSwgXG4gIDgyOlx0XHQvKiAweGMwKi9cbiAgODM6XHRcdDB4MDBjMCwgMHgwMGMxLCAweDAwYzIsIDB4MDBjMywgXG4gIDg0Olx0XHQweDAwYzQsIDB4MDBjNSwgMHgwMGM2LCAweDAwYzcsIFxuICA4NTpcdFx0MHgwMGM4LCAweDAwYzksIDB4MDBjYSwgMHgwMGNiLCBcbiAgODY6XHRcdDB4MDBjYywgMHgwMGNkLCAweDAwY2UsIDB4MDBjZiwgXG4gIDg3Olx0XHQvKiAweGQwKi9cbiAgODg6XHRcdDB4MDE3NCwgMHgwMGQxLCAweDAwZDIsIDB4MDBkMywgXG4gIDg5Olx0XHQweDAwZDQsIDB4MDBkNSwgMHgwMGQ2LCAweDFlNmEsIFxuICA5MDpcdFx0MHgwMGQ4LCAweDAwZDksIDB4MDBkYSwgMHgwMGRiLCBcbiAgOTE6XHRcdDB4MDBkYywgMHgwMGRkLCAweDAxNzYsIDB4MDBkZiwgXG4gIDkyOlx0XHQvKiAweGUwKi9cbiAgOTM6XHRcdDB4MDBlMCwgMHgwMGUxLCAweDAwZTIsIDB4MDBlMywgXG4gIDk0Olx0XHQweDAwZTQsIDB4MDBlNSwgMHgwMGU2LCAweDAwZTcsIFxuICA5NTpcdFx0MHgwMGU4LCAweDAwZTksIDB4MDBlYSwgMHgwMGViLCBcbiAgOTY6XHRcdDB4MDBlYywgMHgwMGVkLCAweDAwZWUsIDB4MDBlZiwgXG4gIDk3Olx0XHQvKiAweGYwKi9cbiAgOTg6XHRcdDB4MDE3NSwgMHgwMGYxLCAweDAwZjIsIDB4MDBmMywgXG4gIDk5Olx0XHQweDAwZjQsIDB4MDBmNSwgMHgwMGY2LCAweDFlNmIsIFxuIDEwMDpcdFx0MHgwMGY4LCAweDAwZjksIDB4MDBmYSwgMHgwMGZiLCBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yNy8zPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPmttc2FuLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogODQ4MwoJCQkJCQkJb3V0cHV0OiA0NwoJCQkJCQkJdGhvdWdodHM6IDI3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCBhc3N1bWluZyBJJiMzOTttIGFscmVhZHkgZGVlcCBpbiB0aGUgd2VlZHMgb2YgZmlsZXN5c3RlbSBjb2RlOgoKKipEaXZpbmcgaW50byB0aGUgSVNPLTg4NTktMTQgSW1wbGVtZW50YXRpb24qKgoKQWxyaWdodCwgdGltZSB0byBkaWcgZGVlcGVyLiBJJiMzOTt2ZSBiZWVuIHdvcmtpbmcgd2l0aCB0aGUgZmlsZXN5c3RlbSBjb2RlIGFuZCBub3cgSSBuZWVkIHRvIG1vdmUgb24gdG8gdGhlIGBmcy9ubHMvYCBkaXJlY3RvcnksIHNwZWNpZmljYWxseSBmb2N1c2luZyBvbiB0aGUgYG5sc19pc284ODU5LTE0LmNgIGZpbGUuIEkmIzM5O20gYXNzdW1pbmcgaXQmIzM5O3MgaGFuZGxpbmcgdGhlIGNoYXJhY3RlciBzZXQgY29udmVyc2lvbiBmb3IgSVNPLTg4NTktMTQsIGxpa2VseSBmb3IgZmlsZXN5c3RlbSBvcGVyYXRpb25zLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIHN5c3RlbSB0cmFuc2xhdGVzIGJldHdlZW4gVW5pY29kZSBhbmQgdGhpcyBzcGVjaWZpYyBlbmNvZGluZy4gTGV0JiMzOTtzIGdldCByZWFkaW5nIGFuZCBzZWUgd2hhdCYjMzk7cyB3aGF0LiBJJiMzOTttIGV4cGVjdGluZyB0byBmaW5kIHRoZSBjaGFyYWN0ZXIgbWFwcGluZyB0YWJsZXMsIHByb2JhYmx5IHNvbWUgY29udmVyc2lvbiBmdW5jdGlvbnMsIGFuZCBsaWtlbHkgc29tZSBlcnJvciBoYW5kbGluZy4gVGltZSB0byBkaXZlIGluIGFuZCBnZXQgYSBncmlwIG9uIGhvdyB0aGlzIHNwZWNpZmljIGVuY29kaW5nIGlzIHN1cHBvcnRlZCBhdCBhIGxvdyBsZXZlbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yOC8zPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtmcy9ubHMvbmxzX2lzbzg4NTktMTQuYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEwMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxNTAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDEwMTpcdFx0MHgwMGZjLCAweDAwZmQsIDB4MDE3NywgMHgwMGZmLCBcbiAxMDI6XHR9O1xuIDEwMzpcdFxuIDEwNDpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0ge1xuIDEwNTpcdFx0MHgwMCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwNSwgMHgwNiwgMHgwNywgLyogMHgwMC0weDA3ICovXG4gMTA2Olx0XHQweDA4LCAweDA5LCAweDBhLCAweDBiLCAweDBjLCAweDBkLCAweDBlLCAweDBmLCAvKiAweDA4LTB4MGYgKi9cbiAxMDc6XHRcdDB4MTAsIDB4MTEsIDB4MTIsIDB4MTMsIDB4MTQsIDB4MTUsIDB4MTYsIDB4MTcsIC8qIDB4MTAtMHgxNyAqL1xuIDEwODpcdFx0MHgxOCwgMHgxOSwgMHgxYSwgMHgxYiwgMHgxYywgMHgxZCwgMHgxZSwgMHgxZiwgLyogMHgxOC0weDFmICovXG4gMTA5Olx0XHQweDIwLCAweDIxLCAweDIyLCAweDIzLCAweDI0LCAweDI1LCAweDI2LCAweDI3LCAvKiAweDIwLTB4MjcgKi9cbiAxMTA6XHRcdDB4MjgsIDB4MjksIDB4MmEsIDB4MmIsIDB4MmMsIDB4MmQsIDB4MmUsIDB4MmYsIC8qIDB4MjgtMHgyZiAqL1xuIDExMTpcdFx0MHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgLyogMHgzMC0weDM3ICovXG4gMTEyOlx0XHQweDM4LCAweDM5LCAweDNhLCAweDNiLCAweDNjLCAweDNkLCAweDNlLCAweDNmLCAvKiAweDM4LTB4M2YgKi9cbiAxMTM6XHRcdDB4NDAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NDAtMHg0NyAqL1xuIDExNDpcdFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg0OC0weDRmICovXG4gMTE1Olx0XHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDUwLTB4NTcgKi9cbiAxMTY6XHRcdDB4NTgsIDB4NTksIDB4NWEsIDB4NWIsIDB4NWMsIDB4NWQsIDB4NWUsIDB4NWYsIC8qIDB4NTgtMHg1ZiAqL1xuIDExNzpcdFx0MHg2MCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NywgLyogMHg2MC0weDY3ICovXG4gMTE4Olx0XHQweDY4LCAweDY5LCAweDZhLCAweDZiLCAweDZjLCAweDZkLCAweDZlLCAweDZmLCAvKiAweDY4LTB4NmYgKi9cbiAxMTk6XHRcdDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsIC8qIDB4NzAtMHg3NyAqL1xuIDEyMDpcdFx0MHg3OCwgMHg3OSwgMHg3YSwgMHg3YiwgMHg3YywgMHg3ZCwgMHg3ZSwgMHg3ZiwgLyogMHg3OC0weDdmICovXG4gMTIxOlx0XG4gMTIyOlx0XHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cbiAxMjM6XHRcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xuIDEyNDpcdFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXG4gMTI1Olx0XHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cbiAxMjY6XHRcdDB4YTAsIDB4MDAsIDB4MDAsIDB4YTMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xuIDEyNzpcdFx0MHgwMCwgMHhhOSwgMHgwMCwgMHgwMCwgMHgwMCwgMHhhZCwgMHhhZSwgMHgwMCwgLyogMHhhOC0weGFmICovXG4gMTI4Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGI2LCAweDAwLCAvKiAweGIwLTB4YjcgKi9cbiAxMjk6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjgtMHhiZiAqL1xuIDEzMDpcdFx0MHhjMCwgMHhjMSwgMHhjMiwgMHhjMywgMHhjNCwgMHhjNSwgMHhjNiwgMHhjNywgLyogMHhjMC0weGM3ICovXG4gMTMxOlx0XHQweGM4LCAweGM5LCAweGNhLCAweGNiLCAweGNjLCAweGNkLCAweGNlLCAweGNmLCAvKiAweGM4LTB4Y2YgKi9cbiAxMzI6XHRcdDB4MDAsIDB4ZDEsIDB4ZDIsIDB4ZDMsIDB4ZDQsIDB4ZDUsIDB4ZDYsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xuIDEzMzpcdFx0MHhkOCwgMHhkOSwgMHhkYSwgMHhkYiwgMHhkYywgMHhkZCwgMHgwMCwgMHhkZiwgLyogMHhkOC0weGRmICovXG4gMTM0Olx0XHQweGUwLCAweGUxLCAweGUyLCAweGUzLCAweGU0LCAweGU1LCAweGU2LCAweGU3LCAvKiAweGUwLTB4ZTcgKi9cbiAxMzU6XHRcdDB4ZTgsIDB4ZTksIDB4ZWEsIDB4ZWIsIDB4ZWMsIDB4ZWQsIDB4ZWUsIDB4ZWYsIC8qIDB4ZTgtMHhlZiAqL1xuIDEzNjpcdFx0MHgwMCwgMHhmMSwgMHhmMiwgMHhmMywgMHhmNCwgMHhmNSwgMHhmNiwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gMTM3Olx0XHQweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweGZkLCAweDAwLCAweGZmLCAvKiAweGY4LTB4ZmYgKi9cbiAxMzg6XHR9O1xuIDEzOTpcdFxuIDE0MDpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMVsyNTZdID0ge1xuIDE0MTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovXG4gMTQyOlx0XHQweDAwLCAweDAwLCAweGE0LCAweGE1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi9cbiAxNDM6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTAtMHgxNyAqL1xuIDE0NDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxOC0weDFmICovXG4gMTQ1Olx0XHQweGIyLCAweGIzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi9cbiAxNDY6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjgtMHgyZiAqL1xuIDE0NzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovXG4gMTQ4Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDM4LTB4M2YgKi9cbiAxNDk6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqL1xuIDE1MDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0OC0weDRmICovXG4gMTUxOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDUwLTB4NTcgKi9cbiAxNTI6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xuIDE1MzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4gMTU0Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbiAxNTU6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqL1xuIDE1NjpcdFx0MHhhZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4gMTU3Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbiAxNTg6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xuIDE1OTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5MC0weDk3ICovXG4gMTYwOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDk4LTB4OWYgKi9cbiAxNjE6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YTAtMHhhNyAqL1xuIDE2MjpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhhOC0weGFmICovXG4gMTYzOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGIwLTB4YjcgKi9cbiAxNjQ6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjgtMHhiZiAqL1xuIDE2NTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjMC0weGM3ICovXG4gMTY2Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGM4LTB4Y2YgKi9cbiAxNjc6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xuIDE2ODpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXG4gMTY5Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cbiAxNzA6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xuIDE3MTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gMTcyOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cbiAxNzM6XHR9O1xuIDE3NDpcdFxuIDE3NTpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0ge1xuIDE3NjpcdFx0MHgwMCwgMHgwMCwgMHhhMSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovXG4gMTc3Olx0XHQweDAwLCAweDAwLCAweGE2LCAweGFiLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi9cbiAxNzg6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTAtMHgxNyAqL1xuIDE3OTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiMCwgMHhiMSwgLyogMHgxOC0weDFmICovXG4gMTgwOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi9cbiAxODE6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjgtMHgyZiAqL1xuIDE4MjpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovXG4gMTgzOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDM4LTB4M2YgKi9cbiAxODQ6XHRcdDB4YjQsIDB4YjUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqL1xuIDE4NTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0OC0weDRmICovXG4gMTg2Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGI3LCAweGI5LCAvKiAweDUwLTB4NTcgKi9cbiAxODc6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xuIDE4ODpcdFx0MHhiYiwgMHhiZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4gMTg5Olx0XHQweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbiAxOTA6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzAtMHg3NyAqL1xuIDE5MTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4gMTkyOlx0XHQweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbiAxOTM6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xuIDE5NDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5MC0weDk3ICovXG4gMTk1Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDk4LTB4OWYgKi9cbiAxOTY6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YTAtMHhhNyAqL1xuIDE5NzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhhOC0weGFmICovXG4gMTk4Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGIwLTB4YjcgKi9cbiAxOTk6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjgtMHhiZiAqL1xuIDIwMDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjMC0weGM3ICovXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjkvMzwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5rbXNhbi1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE0NjM2CgkJCQkJCQlvdXRwdXQ6IDQ3CgkJCQkJCQl0aG91Z2h0czogMTAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIEkmIzM5O20gcmVhZHkgdG8gcmVjZWl2ZSB0aGUgdGV4dCBhbmQgcHJvdmlkZSBhIGZpcnN0LXBlcnNvbiBzdW1tYXJ5IG9mIHRoZSBkZXNjcmliZWQgdGhvdWdodHMsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2UuIEkgdW5kZXJzdGFuZCB0aGUgZ29hbCBpcyBhIGRldGFpbGVkIHdhbGt0aHJvdWdoIG9mIHRoZSBtZW50YWwgcHJvY2Vzc2VzLCBhcyBpZiBJIHdlcmUgaGF2aW5nIHRoZW0gbXlzZWxmLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMwLzM8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2ZzL25scy9ubHNfaXNvODg1OS0xNC5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMjAxLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDEwMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgMjAxOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGM4LTB4Y2YgKi9cbiAyMDI6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xuIDIwMzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXG4gMjA0Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cbiAyMDU6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xuIDIwNjpcdFx0MHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gMjA3Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cbiAyMDg6XHR9O1xuIDIwOTpcdFxuIDIxMDpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG4gMjExOlx0XHRwYWdlMDAsXHRwYWdlMDEsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIFxuIDIxMjpcdFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXG4gMjEzOlx0XG4gMjE0Olx0XHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcbiAyMTU6XHRcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdHBhZ2UxZSxcdE5VTEwsXG4gMjE2Olx0XG4gMjE3Olx0XHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcbiAyMTg6XHRcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFxuIDIxOTpcdH07XG4gMjIwOlx0XG4gMjIxOlx0c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJsb3dlclsyNTZdID0ge1xuIDIyMjpcdFx0MHgwMCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwNSwgMHgwNiwgMHgwNywgLyogMHgwMC0weDA3ICovXG4gMjIzOlx0XHQweDA4LCAweDA5LCAweDBhLCAweDBiLCAweDBjLCAweDBkLCAweDBlLCAweDBmLCAvKiAweDA4LTB4MGYgKi9cbiAyMjQ6XHRcdDB4MTAsIDB4MTEsIDB4MTIsIDB4MTMsIDB4MTQsIDB4MTUsIDB4MTYsIDB4MTcsIC8qIDB4MTAtMHgxNyAqL1xuIDIyNTpcdFx0MHgxOCwgMHgxOSwgMHgxYSwgMHgxYiwgMHgxYywgMHgxZCwgMHgxZSwgMHgxZiwgLyogMHgxOC0weDFmICovXG4gMjI2Olx0XHQweDIwLCAweDIxLCAweDIyLCAweDIzLCAweDI0LCAweDI1LCAweDI2LCAweDI3LCAvKiAweDIwLTB4MjcgKi9cbiAyMjc6XHRcdDB4MjgsIDB4MjksIDB4MmEsIDB4MmIsIDB4MmMsIDB4MmQsIDB4MmUsIDB4MmYsIC8qIDB4MjgtMHgyZiAqL1xuIDIyODpcdFx0MHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgLyogMHgzMC0weDM3ICovXG4gMjI5Olx0XHQweDM4LCAweDM5LCAweDNhLCAweDNiLCAweDNjLCAweDNkLCAweDNlLCAweDNmLCAvKiAweDM4LTB4M2YgKi9cbiAyMzA6XHRcdDB4NDAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsIC8qIDB4NDAtMHg0NyAqL1xuIDIzMTpcdFx0MHg2OCwgMHg2OSwgMHg2YSwgMHg2YiwgMHg2YywgMHg2ZCwgMHg2ZSwgMHg2ZiwgLyogMHg0OC0weDRmICovXG4gMjMyOlx0XHQweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LCAvKiAweDUwLTB4NTcgKi9cbiAyMzM6XHRcdDB4NzgsIDB4NzksIDB4N2EsIDB4NWIsIDB4NWMsIDB4NWQsIDB4NWUsIDB4NWYsIC8qIDB4NTgtMHg1ZiAqL1xuIDIzNDpcdFx0MHg2MCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NywgLyogMHg2MC0weDY3ICovXG4gMjM1Olx0XHQweDY4LCAweDY5LCAweDZhLCAweDZiLCAweDZjLCAweDZkLCAweDZlLCAweDZmLCAvKiAweDY4LTB4NmYgKi9cbiAyMzY6XHRcdDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsIC8qIDB4NzAtMHg3NyAqL1xuIDIzNzpcdFx0MHg3OCwgMHg3OSwgMHg3YSwgMHg3YiwgMHg3YywgMHg3ZCwgMHg3ZSwgMHg3ZiwgLyogMHg3OC0weDdmICovXG4gMjM4Olx0XG4gMjM5Olx0XHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cbiAyNDA6XHRcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xuIDI0MTpcdFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXG4gMjQyOlx0XHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cbiAyNDM6XHRcdDB4YTAsIDB4YTIsIDB4YTIsIDB4YTMsIDB4YWIsIDB4YWIsIDB4YWIsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xuIDI0NDpcdFx0MHhiOCwgMHhhOSwgMHhiYSwgMHhhYiwgMHhiYywgMHhhZCwgMHhhZSwgMHhmZiwgLyogMHhhOC0weGFmICovXG4gMjQ1Olx0XHQweGIxLCAweGIxLCAweGIzLCAweGIzLCAweGI1LCAweGI1LCAweGI2LCAweGI5LCAvKiAweGIwLTB4YjcgKi9cbiAyNDY6XHRcdDB4YjgsIDB4YjksIDB4YmEsIDB4YmYsIDB4YmMsIDB4YmUsIDB4YmUsIDB4YmYsIC8qIDB4YjgtMHhiZiAqL1xuIDI0NzpcdFx0MHhlMCwgMHhlMSwgMHhlMiwgMHhlMywgMHhlNCwgMHhlNSwgMHhlNiwgMHhlNywgLyogMHhjMC0weGM3ICovXG4gMjQ4Olx0XHQweGU4LCAweGU5LCAweGVhLCAweGViLCAweGVjLCAweGVkLCAweGVlLCAweGVmLCAvKiAweGM4LTB4Y2YgKi9cbiAyNDk6XHRcdDB4ZjAsIDB4ZjEsIDB4ZjIsIDB4ZjMsIDB4ZjQsIDB4ZjUsIDB4ZjYsIDB4ZjcsIC8qIDB4ZDAtMHhkNyAqL1xuIDI1MDpcdFx0MHhmOCwgMHhmOSwgMHhmYSwgMHhmYiwgMHhmYywgMHhmZCwgMHhmZSwgMHhkZiwgLyogMHhkOC0weGRmICovXG4gMjUxOlx0XHQweGUwLCAweGUxLCAweGUyLCAweGUzLCAweGU0LCAweGU1LCAweGU2LCAweGU3LCAvKiAweGUwLTB4ZTcgKi9cbiAyNTI6XHRcdDB4ZTgsIDB4ZTksIDB4ZWEsIDB4ZWIsIDB4ZWMsIDB4ZWQsIDB4ZWUsIDB4ZWYsIC8qIDB4ZTgtMHhlZiAqL1xuIDI1MzpcdFx0MHhmMCwgMHhmMSwgMHhmMiwgMHhmMywgMHhmNCwgMHhmNSwgMHhmNiwgMHhmNywgLyogMHhmMC0weGY3ICovXG4gMjU0Olx0XHQweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweGZkLCAweGZlLCAweGZmLCAvKiAweGY4LTB4ZmYgKi9cbiAyNTU6XHR9O1xuIDI1NjpcdFxuIDI1NzpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbiAyNTg6XHRcdDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDUsIDB4MDYsIDB4MDcsIC8qIDB4MDAtMHgwNyAqL1xuIDI1OTpcdFx0MHgwOCwgMHgwOSwgMHgwYSwgMHgwYiwgMHgwYywgMHgwZCwgMHgwZSwgMHgwZiwgLyogMHgwOC0weDBmICovXG4gMjYwOlx0XHQweDEwLCAweDExLCAweDEyLCAweDEzLCAweDE0LCAweDE1LCAweDE2LCAweDE3LCAvKiAweDEwLTB4MTcgKi9cbiAyNjE6XHRcdDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsIC8qIDB4MTgtMHgxZiAqL1xuIDI2MjpcdFx0MHgyMCwgMHgyMSwgMHgyMiwgMHgyMywgMHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgLyogMHgyMC0weDI3ICovXG4gMjYzOlx0XHQweDI4LCAweDI5LCAweDJhLCAweDJiLCAweDJjLCAweDJkLCAweDJlLCAweDJmLCAvKiAweDI4LTB4MmYgKi9cbiAyNjQ6XHRcdDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIC8qIDB4MzAtMHgzNyAqL1xuIDI2NTpcdFx0MHgzOCwgMHgzOSwgMHgzYSwgMHgzYiwgMHgzYywgMHgzZCwgMHgzZSwgMHgzZiwgLyogMHgzOC0weDNmICovXG4gMjY2Olx0XHQweDQwLCAweDQxLCAweDQyLCAweDQzLCAweDQ0LCAweDQ1LCAweDQ2LCAweDQ3LCAvKiAweDQwLTB4NDcgKi9cbiAyNjc6XHRcdDB4NDgsIDB4NDksIDB4NGEsIDB4NGIsIDB4NGMsIDB4NGQsIDB4NGUsIDB4NGYsIC8qIDB4NDgtMHg0ZiAqL1xuIDI2ODpcdFx0MHg1MCwgMHg1MSwgMHg1MiwgMHg1MywgMHg1NCwgMHg1NSwgMHg1NiwgMHg1NywgLyogMHg1MC0weDU3ICovXG4gMjY5Olx0XHQweDU4LCAweDU5LCAweDVhLCAweDViLCAweDVjLCAweDVkLCAweDVlLCAweDVmLCAvKiAweDU4LTB4NWYgKi9cbiAyNzA6XHRcdDB4NjAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NjAtMHg2NyAqL1xuIDI3MTpcdFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg2OC0weDZmICovXG4gMjcyOlx0XHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDcwLTB4NzcgKi9cbiAyNzM6XHRcdDB4NTgsIDB4NTksIDB4NWEsIDB4N2IsIDB4N2MsIDB4N2QsIDB4N2UsIDB4N2YsIC8qIDB4NzgtMHg3ZiAqL1xuIDI3NDpcdFxuIDI3NTpcdFx0MHg4MCwgMHg4MSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4NSwgMHg4NiwgMHg4NywgLyogMHg4MC0weDg3ICovXG4gMjc2Olx0XHQweDg4LCAweDg5LCAweDhhLCAweDhiLCAweDhjLCAweDhkLCAweDhlLCAweDhmLCAvKiAweDg4LTB4OGYgKi9cbiAyNzc6XHRcdDB4OTAsIDB4OTEsIDB4OTIsIDB4OTMsIDB4OTQsIDB4OTUsIDB4OTYsIDB4OTcsIC8qIDB4OTAtMHg5NyAqL1xuIDI3ODpcdFx0MHg5OCwgMHg5OSwgMHg5YSwgMHg5YiwgMHg5YywgMHg5ZCwgMHg5ZSwgMHg5ZiwgLyogMHg5OC0weDlmICovXG4gMjc5Olx0XHQweGEwLCAweGExLCAweGExLCAweGEzLCAweGE2LCAweGE2LCAweGE2LCAweGE3LCAvKiAweGEwLTB4YTcgKi9cbiAyODA6XHRcdDB4YTgsIDB4YTksIDB4YWEsIDB4YTYsIDB4YWMsIDB4YWQsIDB4YWUsIDB4YWYsIC8qIDB4YTgtMHhhZiAqL1xuIDI4MTpcdFx0MHhiMCwgMHhiMCwgMHhiMiwgMHhiMiwgMHhiNCwgMHhiNCwgMHhiNiwgMHhiNywgLyogMHhiMC0weGI3ICovXG4gMjgyOlx0XHQweGE4LCAweGI3LCAweGFhLCAweGJiLCAweGFjLCAweGJkLCAweGJkLCAweGJiLCAvKiAweGI4LTB4YmYgKi9cbiAyODM6XHRcdDB4YzAsIDB4YzEsIDB4YzIsIDB4YzMsIDB4YzQsIDB4YzUsIDB4YzYsIDB4YzcsIC8qIDB4YzAtMHhjNyAqL1xuIDI4NDpcdFx0MHhjOCwgMHhjOSwgMHhjYSwgMHhjYiwgMHhjYywgMHhjZCwgMHhjZSwgMHhjZiwgLyogMHhjOC0weGNmICovXG4gMjg1Olx0XHQweGQwLCAweGQxLCAweGQyLCAweGQzLCAweGQ0LCAweGQ1LCAweGQ2LCAweGQ3LCAvKiAweGQwLTB4ZDcgKi9cbiAyODY6XHRcdDB4ZDgsIDB4ZDksIDB4ZGEsIDB4ZGIsIDB4ZGMsIDB4ZGQsIDB4ZGUsIDB4ZGYsIC8qIDB4ZDgtMHhkZiAqL1xuIDI4NzpcdFx0MHhjMCwgMHhjMSwgMHhjMiwgMHhjMywgMHhjNCwgMHhjNSwgMHhjNiwgMHhjNywgLyogMHhlMC0weGU3ICovXG4gMjg4Olx0XHQweGM4LCAweGM5LCAweGNhLCAweGNiLCAweGNjLCAweGNkLCAweGNlLCAweGNmLCAvKiAweGU4LTB4ZWYgKi9cbiAyODk6XHRcdDB4ZDAsIDB4ZDEsIDB4ZDIsIDB4ZDMsIDB4ZDQsIDB4ZDUsIDB4ZDYsIDB4ZDcsIC8qIDB4ZjAtMHhmNyAqL1xuIDI5MDpcdFx0MHhkOCwgMHhkOSwgMHhkYSwgMHhkYiwgMHhkYywgMHhkZCwgMHhkZSwgMHhhZiwgLyogMHhmOC0weGZmICovXG4gMjkxOlx0fTtcbiAyOTI6XHRcbiAyOTM6XHRzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbiAyOTQ6XHR7XG4gMjk1Olx0XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbiAyOTY6XHRcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbiAyOTc6XHRcdHVuc2lnbmVkIGNoYXIgY2ggPSAodW5pIFx1MDAyNiAweGZmMDApIFx1MDAzZVx1MDAzZSA4O1xuIDI5ODpcdFxuIDI5OTpcdFx0aWYgKGJvdW5kbGVuIFx1MDAzYz0gMClcbiAzMDA6XHRcdFx0cmV0dXJuIC1FTkFNRVRPT0xPTkc7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MzEvMzwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5rbXNhbi1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5NjUzCgkJCQkJCQlvdXRwdXQ6IDQ2CgkJCQkJCQl0aG91Z2h0czogMjcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgaW50ZXJwcmV0YXRpb24gb2Ygd2hhdCYjMzk7cyBnb2luZyB0aHJvdWdoIG15IG1pbmQgYXMgSSBhcHByb2FjaCB0aGlzIGNvZGUsIHByZXNlbnRlZCBpbiB0aGUgZmlyc3QgcGVyc29uLCBhcyByZXF1ZXN0ZWQ6CgoqKkRpdmluZyBpbnRvIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AqKgoKQWxyaWdodCwgbGV0JiMzOTtzIGdldCBpbnRvIHRoaXMuIEkmIzM5O20gbG9va2luZyBhdCBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgLiBPa2F5LCBzbyB0aGlzIGlzIGEgY2hhcmFjdGVyIHNldCBkZWZpbml0aW9uLCBsaWtlbHkgZm9yIGZpbGVzeXN0ZW0gb3BlcmF0aW9ucy4gS25vd2luZyB0aGUgYGZzL2AgcGF0aCwgSSYjMzk7bSBhbHJlYWR5IGFudGljaXBhdGluZyBzb21lIGNoYXJhY3RlciBzZXQgdHJhbnNsYXRpb24gbG9naWMsIHNvbWV0aGluZyBkZWFsaW5nIHdpdGggZmlsZW5hbWUgZW5jb2RpbmcsIHByb2JhYmx5LiBHaXZlbiB0aGUgZmlsZW5hbWUsIEkgY2FuIHRlbGwgaXQmIzM5O3MgbGlrZWx5IGRlYWxpbmcgd2l0aCB0aGUgSVNPIDg4NTktMTQgY2hhcmFjdGVyIHNldC4gU3BlY2lmaWNhbGx5LCBJJiMzOTttIGV4cGVjdGluZyB0aGlzIEMgZmlsZSB0byBjb250YWluIHRhYmxlcyB0aGF0IG1hcCB0aGUgcmF3IGJ5dGUgdmFsdWVzIG9mIHRoYXQgZW5jb2RpbmcgdG8gVW5pY29kZSBvciBvdGhlciBpbnRlcm5hbCByZXByZXNlbnRhdGlvbnMgdXNlZCBieSB0aGUga2VybmVsLiBUaGUgZ29hbCwgdWx0aW1hdGVseSwgaXMgdG8gZW5zdXJlIGZpbGVwYXRocyBhcmUgY29ycmVjdGx5IGludGVycHJldGVkIGFuZCBkaXNwbGF5ZWQgcmVnYXJkbGVzcyBvZiB0aGUgdW5kZXJseWluZyBjaGFyYWN0ZXIgc2V0IHVzZWQgb24gdGhlIGZpbGVzeXN0ZW0uIEkgc2hvdWxkIGJlIGxvb2tpbmcgZm9yIHRoaW5ncyBsaWtlOgoKKiAgICoqVGFibGVzOioqIFRoZSBjb3JlIHdpbGwgbGlrZWx5IGJlIGxvb2t1cCB0YWJsZXMg4oCTIGFuIGFycmF5IG9mIHZhbHVlcyB3aGVyZSBlYWNoIGluZGV4IHJlcHJlc2VudHMgYSBieXRlIG9mIHRoZSBJU08gODg1OS0xNCBlbmNvZGluZywgYW5kIHRoZSB2YWx1ZSByZXByZXNlbnRzIGEgVW5pY29kZSBjb2RlcG9pbnQgKG9yIGEgZmxhZyBpbmRpY2F0aW5nIGFuIGVycm9yL2ZhbGxiYWNrKS4KKiAgICoqVHJhbnNsYXRpb24gRnVuY3Rpb25zOioqIEkmIzM5O2xsIGFsc28gYmUgc2VhcmNoaW5nIGZvciBmdW5jdGlvbnMgdGhhdCBwZXJmb3JtIHRoZSBhY3R1YWwgY29udmVyc2lvbi4gSXQgY291bGQgYmUgYSBzaW1wbGUgYXJyYXkgbG9va3VwLCBvciBzb21ldGhpbmcgbW9yZSBjb21wbGV4IGlmIHRoZXJlIGFyZSBjaGFyYWN0ZXIgcmFuZ2VzLCBvciBzcGVjaWFsIG1hcHBpbmdzLgoqICAgKipJbml0aWFsaXphdGlvbjoqKiBTb21ld2hlcmUsIHRoZXJlJiMzOTtsbCBiZSBpbml0aWFsaXphdGlvbiBjb2RlIHRoYXQgbG9hZHMgdGhpcyBtYXBwaW5nIGludG8gbWVtb3J5IGF0IG1vZHVsZSBsb2FkIHRpbWUuCiogICAqKkVycm9yIEhhbmRsaW5nOioqIEl0JiMzOTtzIGltcG9ydGFudCB0byB1bmRlcnN0YW5kIGhvdyBpbnZhbGlkIG9yIHVubWFwcGVkIGNoYXJhY3RlcnMgYXJlIGhhbmRsZWQuIEFyZSB0aGV5IHJlcGxhY2VkIHdpdGggYSBkZWZhdWx0IGNoYXJhY3Rlcj8gT3IgaXMgYW4gZXJyb3Igc2lnbmFsZWQ/CiogICAqKlVzYWdlIENvbnRleHQ6KiogSWRlYWxseSwgdGhlIGNvZGUgd2lsbCBwcm92aWRlIGNsdWVzIGFib3V0IGhvdyB0aGVzZSB0YWJsZXMgYXJlIHVzZWQsIGUuZy4sIHdoaWNoIGZpbGVzeXN0ZW0gZHJpdmVycyByZWx5IG9uIHRoaXMgdHJhbnNsYXRpb24uCgpJJiMzOTttIHJlYWR5IHRvIGRpZyBpbiBhbmQgdW5kZXJzdGFuZCBob3cgdGhpcyBwYXJ0aWN1bGFyIGNoYXJhY3RlciBzZXQgaXMgc3VwcG9ydGVkIHdpdGhpbiB0aGlzIHNwZWNpZmljIHBhcnQgb2YgdGhlIGZpbGVzeXN0ZW0gY29kZS4gSSYjMzk7bGwgYmUgbG9va2luZyBmb3Igb3Bwb3J0dW5pdGllcyB0byB1bmRlcnN0YW5kIG9wdGltaXphdGlvbnMsIHBvdGVudGlhbCBlZGdlIGNhc2VzLCBvciBhbnkgYXJlYXMgZm9yIGltcHJvdmVtZW50LiBMZXQmIzM5O3Mgc2VlIHdoYXQmIzM5O3MgaW5zaWRlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMyLzM8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2ZzL25scy9ubHNfaXNvODg1OS0xNC5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMzAxLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDYwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAzMDE6XHRcbiAzMDI6XHRcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG4gMzAzOlx0XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbiAzMDQ6XHRcdFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xuIDMwNTpcdFx0ZWxzZVxuIDMwNjpcdFx0XHRyZXR1cm4gLUVJTlZBTDtcbiAzMDc6XHRcdHJldHVybiAxO1xuIDMwODpcdH1cbiAzMDk6XHRcbiAzMTA6XHRzdGF0aWMgaW50IGNoYXIydW5pKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJhd3N0cmluZywgaW50IGJvdW5kbGVuLCB3Y2hhcl90ICp1bmkpXG4gMzExOlx0e1xuIDMxMjpcdFx0KnVuaSA9IGNoYXJzZXQydW5pWypyYXdzdHJpbmddO1xuIDMxMzpcdFx0aWYgKCp1bmkgPT0gMHgwMDAwKVxuIDMxNDpcdFx0XHRyZXR1cm4gLUVJTlZBTDtcbiAzMTU6XHRcdHJldHVybiAxO1xuIDMxNjpcdH1cbiAzMTc6XHRcbiAzMTg6XHRzdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbiAzMTk6XHRcdC5jaGFyc2V0XHQ9IFwmIzM0O2lzbzg4NTktMTRcJiMzNDssXG4gMzIwOlx0XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG4gMzIxOlx0XHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4gMzIyOlx0XHQuY2hhcnNldDJsb3dlclx0PSBjaGFyc2V0Mmxvd2VyLFxuIDMyMzpcdFx0LmNoYXJzZXQydXBwZXJcdD0gY2hhcnNldDJ1cHBlcixcbiAzMjQ6XHR9O1xuIDMyNTpcdFxuIDMyNjpcdHN0YXRpYyBpbnQgX19pbml0IGluaXRfbmxzX2lzbzg4NTlfMTQodm9pZClcbiAzMjc6XHR7XG4gMzI4Olx0XHRyZXR1cm4gcmVnaXN0ZXJfbmxzKFx1MDAyNnRhYmxlKTtcbiAzMjk6XHR9XG4gMzMwOlx0XG4gMzMxOlx0c3RhdGljIHZvaWQgX19leGl0IGV4aXRfbmxzX2lzbzg4NTlfMTQodm9pZClcbiAzMzI6XHR7XG4gMzMzOlx0XHR1bnJlZ2lzdGVyX25scyhcdTAwMjZ0YWJsZSk7XG4gMzM0Olx0fVxuIDMzNTpcdFxuIDMzNjpcdG1vZHVsZV9pbml0KGluaXRfbmxzX2lzbzg4NTlfMTQpXG4gMzM3Olx0bW9kdWxlX2V4aXQoZXhpdF9ubHNfaXNvODg1OV8xNClcbiAzMzg6XHRcbiAzMzk6XHRNT0RVTEVfREVTQ1JJUFRJT04oXCYjMzQ7TkxTIElTTyA4ODU5LTE0IChMYXRpbiA4OyBDZWx0aWMpXCYjMzQ7KTtcbiAzNDA6XHRNT0RVTEVfTElDRU5TRShcJiMzNDtEdWFsIEJTRC9HUExcJiMzNDspO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMzLzM8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+a21zYW4tZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDc4NgoJCQkJCQkJb3V0cHV0OiAxNTAKCQkJCQkJCXRob3VnaHRzOiAxMDE2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKlBhdGNoIEFuYWx5c2lzOiBDb3JyZWN0aW5nIElTTzg4NTktMTQgVW5pY29kZSBNYXBwaW5ncyoqCgpPa2F5LCBsZXQmIzM5O3MgZGl2ZSBpbnRvIHRoaXMgcGF0Y2guIE15IGltbWVkaWF0ZSBmb2N1cyBpcyB1bmRlcnN0YW5kaW5nIGl0cyBjb3JlIGZ1bmN0aW9uLiBJdCYjMzk7cyBtb2RpZnlpbmcgYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYCwgc3BlY2lmaWNhbGx5IHRoZSBgcGFnZTAxYCBhbmQgYHBhZ2UxZWAgdGFibGVzLiBUaGVzZSBhcmUgY3JpdGljYWwgc3RhdGljIGNvbnN0YW50IGxvb2t1cCB0YWJsZXMgdXNlZCBieSBgcGFnZV91bmkyY2hhcnNldGAgdG8gY29udmVydCBVbmljb2RlIGNvZGVwb2ludHMgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBJU084ODU5LTE0IGJ5dGUgdmFsdWVzLgoKSSBzZWUgaXQgYWRkcmVzc2VzIGFuIGV4aXN0aW5nIGlzc3VlOiBpbmNvcnJlY3Qgb3IgbWlzcGxhY2VkIG1hcHBpbmdzIGJldHdlZW4gVW5pY29kZSBwYWdlcyAweDAxIChMYXRpbiBFeHRlbmRlZC1BL0IpIGFuZCAweDFlIChMYXRpbiBFeHRlbmRlZCBBZGRpdGlvbmFsKS4gIEVzc2VudGlhbGx5LCB0aGUgcGF0Y2ggaXMgZml4aW5nIGVycm9uZW91cyBtYXBwaW5ncyBpbiBib3RoIGBjaGFyc2V0MnVuaWAgYW5kIGB1bmkyY2hhcmAgY29udmVyc2lvbiBwcm9jZXNzZXMsIHdoaWNoIEkmIzM5O3ZlIG9ic2VydmVkIGFzIGludmVydGVkIG9yIG1peGVkIHVwLiBUaGUgcHJvdmlkZWQgZXhhbXBsZXMgY2xlYXJseSBpbGx1c3RyYXRlIHRoZXNlIGVycm9ycywgd2hpY2ggdGhlIHBhdGNoIHJlc29sdmVzIGJ5IHVwZGF0aW5nIHRoZSBsb29rdXAgdGFibGVzLgoKTm93LCBhIGtleSBjb25jZXJuIGluIHRoZXNlIHR5cGVzIG9mIGNoYW5nZXMgaXMgdGhlIHBvdGVudGlhbCBmb3IgaW50cm9kdWNpbmcgdW5pbml0aWFsaXplZCBtZW1vcnkgcmlza3MuIEJ1dCwgcmV2aWV3aW5nIHRoZSBjb2RlLCBJIGRvbiYjMzk7dCBzZWUgYW55IGltbWVkaWF0ZSBjb25jZXJucy4gVGhlc2UgdGFibGVzIGFyZSBgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgWzI1Nl1gLCBtZWFuaW5nIHRoZXkgYXJlIHN0YXRpY2FsbHkgYWxsb2NhdGVkIGFuZCBmdWxseSBpbml0aWFsaXplZCBjb25zdGFudCBhcnJheXMgcmVzaWRpbmcgaW4gdGhlIC5yb2RhdGEgc2VjdGlvbi4KClRoZSBgdW5pMmNoYXJgIGZ1bmN0aW9uIGFjY2Vzc2VzIHRoZXNlIHRhYmxlcywgYnV0IGl0JiMzOTtzIGNoZWNraW5nIGZvciB2YWxpZCBtYXBwaW5ncyBhbmQgcmV0dXJuaW5nIC1FSU5WQUwgaW4gdGhlIGNhc2Ugb2YgYSBmYWlsZWQgbWFwcGluZyBhdHRlbXB0LgoKVGhlcmUmIzM5O3Mgbm8gaW50cm9kdWN0aW9uIG9mIHN0cnVjdCBwYWRkaW5nIG9yIHVuaW5pdGlhbGl6ZWQgc3RhY2svaGVhcCBhbGxvY2F0aW9ucy4gVGhlcmUgYXJlbiYjMzk7dCBhbnkgYnVmZmVyIGxlbmd0aCBtb2RpZmljYXRpb25zIG9yIG5ldyBhbGxvY2F0aW9ucyBpbiB0aGlzIGNvbnRleHQuIENvbnNlcXVlbnRseSwgS01TQU4gaXMgY29tcGxldGVseSBpbmFwcGxpY2FibGUsIGFuZCBzdGFuZGFyZCBzYW5pdGl6ZXJzIC8gS0FTQU4gYXJlbiYjMzk7dCBmaW5kaW5nIGFueXRoaW5nIGVpdGhlciBiZWNhdXNlIHdlJiMzOTtyZSBqdXN0IGNvcnJlY3RpbmcgdmFsdWVzIHdpdGhpbiBgcm9kYXRhYCwgc28gaXQmIzM5O3MgYSBjb21wbGV0ZWx5IHNhZmUgb3BlcmF0aW9uLgoKVG8gZW5zdXJlIHRoaXMgaXMgYWJzb2x1dGVseSBzb3VuZCwgSSYjMzk7bSBkb2luZyBhIGZpbmFsIHNhbml0eSBjaGVjaywgZ29pbmcgdGhyb3VnaCB0aGUga2V5IGNyaXRlcmlhLiBJdCYjMzk7cyBub3QgaW50cm9kdWNpbmcgb3IgbW9kaWZ5aW5nIGtlcm5lbCBzdHJ1Y3R1cmVzIHNlbnQgdG8gdXNlcnNwYWNlLCB0aGVyZSYjMzk7cyBubyBjb25kaXRpb25hbCBsb2dpYyBiYXNlZCBvbiB1bmluaXRpYWxpemVkIHZhcmlhYmxlcywgbm8gY29tcGxleCBkYXRhIHN0cnVjdHVyZSBhbGxvY2F0aW9uLCBhbmQgbm8gbW9kaWZpY2F0aW9ucyB0byBib3VuZHMgY2hlY2tzIHRoYXQgY291bGQgbGVhZCB0byByZWFkaW5nIHVuaW5pdGlhbGl6ZWQgZGF0YS4KClRoZXJlZm9yZSwgdGhpcyBwYXRjaCBoYXMgbm8gbWVtb3J5IHNhZmV0eSBjb25jZXJucy4gSSYjMzk7bSByZWFkeSB0byBtYXJrIHRoaXMgYXMgYE5lZWRzS01TQU4gPSBmYWxzZWAuIFRpbWUgdG8gcHJlcGFyZSB0aGUgY2FsbCB0byBgc2V0LXJlc3VsdHNgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjM0LzM8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtLTVNBTlJlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBzdGF0aWMgY29uc3RhbnQgbG9va3VwIHRhYmxlcyAoYHBhZ2UwMWAgYW5kIGBwYWdlMWVgKSBpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIHRvIGNvcnJlY3QgVW5pY29kZS10by1jaGFyc2V0IG1hcHBpbmcgZW50cmllcy4gXG5cblRoZXNlIHRhYmxlcyBhcmUgc3RhdGljIGNvbnN0IGFycmF5cyBvZiBmaXhlZCBzaXplICgyNTYgYnl0ZXMpIHBsYWNlZCBpbiByZWFkLW9ubHkgZGF0YSAoLnJvZGF0YSkuIE5vIGR5bmFtaWMgbWVtb3J5IGFsbG9jYXRpb24sIHN0YWNrIHZhcmlhYmxlcywga2VybmVsLXRvLXVzZXIgY29weSBvcGVyYXRpb25zLCBvciB1bmluaXRpYWxpemVkIG1lbW9yeSBwYXRocyBhcmUgaW50cm9kdWNlZCBvciBtb2RpZmllZC4gVGhlcmVmb3JlLCB0aGVyZSBhcmUgbm8gdW5pbml0aWFsaXplZCBtZW1vcnkgcmlza3MsIGFuZCBhIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaXMgbm90IHdhcnJhbnRlZC4mIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0tNU0FOUmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpYyBjb25zdGFudCBsb29rdXAgdGFibGVzIChgcGFnZTAxYCBhbmQgYHBhZ2UxZWApIGluIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgdG8gY29ycmVjdCBVbmljb2RlLXRvLWNoYXJzZXQgbWFwcGluZyBlbnRyaWVzLiBcblxuVGhlc2UgdGFibGVzIGFyZSBzdGF0aWMgY29uc3QgYXJyYXlzIG9mIGZpeGVkIHNpemUgKDI1NiBieXRlcykgcGxhY2VkIGluIHJlYWQtb25seSBkYXRhICgucm9kYXRhKS4gTm8gZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbiwgc3RhY2sgdmFyaWFibGVzLCBrZXJuZWwtdG8tdXNlciBjb3B5IG9wZXJhdGlvbnMsIG9yIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHBhdGhzIGFyZSBpbnRyb2R1Y2VkIG9yIG1vZGlmaWVkLiBUaGVyZWZvcmUsIHRoZXJlIGFyZSBubyB1bmluaXRpYWxpemVkIG1lbW9yeSByaXNrcywgYW5kIGEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpcyBub3Qgd2FycmFudGVkLiYjMzQ7LAogICYjMzQ7TmVlZHNLTVNBTiYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxMzo1MC44Mzk2ODk0NjJaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4NDU5NjMzMDUzMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJOTFNcIixcbiAgICBcIk5MU19JU084ODU5XzE0XCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidW5pMmNoYXJcIlxuICBdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpYyBjb25zdGFudCBsb29rdXAgdGFibGVzIChgcGFnZTAxYCBhbmQgYHBhZ2UxZWApIGluIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgdG8gY29ycmVjdCBVbmljb2RlLXRvLWNoYXJzZXQgbWFwcGluZyBlbnRyaWVzLiBcXG5cXG5UaGVzZSB0YWJsZXMgYXJlIHN0YXRpYyBjb25zdCBhcnJheXMgb2YgZml4ZWQgc2l6ZSAoMjU2IGJ5dGVzKSBwbGFjZWQgaW4gcmVhZC1vbmx5IGRhdGEgKC5yb2RhdGEpLiBObyBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLCBzdGFjayB2YXJpYWJsZXMsIGtlcm5lbC10by11c2VyIGNvcHkgb3BlcmF0aW9ucywgb3IgdW5pbml0aWFsaXplZCBtZW1vcnkgcGF0aHMgYXJlIGludHJvZHVjZWQgb3IgbW9kaWZpZWQuIFRoZXJlZm9yZSwgdGhlcmUgYXJlIG5vIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzLCBhbmQgYSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGlzIG5vdCB3YXJyYW50ZWQuXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggY29ycmVjdHMgY2hhcmFjdGVyIG1hcHBpbmcgZW50cmllcyBpbiB0aGUgVW5pY29kZS10by1JU08tODg1OS0xNCB0YWJsZXMgKHBhZ2UwMSBhbmQgcGFnZTFlKSBpbiBmcy9ubHMvbmxzX2lzbzg4NTktMTQuYy4gVGhlc2UgdGFibGVzIGFyZSB1c2VkIGJ5IHVuaTJjaGFyKCkgZHVyaW5nIGZpbGVzeXN0ZW0gY2hhcmFjdGVyIGNvbnZlcnNpb24gb3BlcmF0aW9ucyAoZS5nLiBGQVQsIElTT0ZTKSwgcmVwcmVzZW50aW5nIHJlYWNoYWJsZSBjb2RlIHRoYXQgc2hvdWxkIGJlIGZ1enplZCBmb3IgY2hhcmFjdGVyIGNvbnZlcnNpb24gY29ycmVjdG5lc3MgYW5kIGJvdW5kYXJ5IHNhZmV0eS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTM6NTAuODM5Njk2NDgyWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MTYyMjUxMDQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAyMzY3ODNjMjVlZDhmZjk0ZGE1YzdmZjFlNTJjMTU3YTI4Mzk0NjEwXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgU2VwIDkgMTM6MTM6NDkgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZnMvbmxzL25sc19pc284ODU5LTE0LmMgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuY1xcbmluZGV4IGM3ODllY2NiOGE2OTUuLjYwYjk0MDBmOTE1YWYgMTAwNjQ0XFxuLS0tIGEvZnMvbmxzL25sc19pc284ODU5LTE0LmNcXG4rKysgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuY1xcbkBAIC0xMzgsMjQgKzEzOCwyMyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDBbMjU2XSA9IHtcXG4gfTtcXG4gXFxuIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMVsyNTZdID0ge1xcbi1cXHQweDAwLCAweDAwLCAweGExLCAweGEyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDAwLTB4MDcgKi9cXG4tXFx0MHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXFxuK1xcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqL1xcbitcXHQweDAwLCAweDAwLCAweGE0LCAweGE1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxMC0weDE3ICovXFxuLVxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjAsIDB4YjEsIC8qIDB4MTgtMHgxZiAqL1xcbitcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDE4LTB4MWYgKi9cXG4gXFx0MHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjgtMHgyZiAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDMwLTB4MzcgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovXFxuLVxcdDB4YjQsIDB4YjUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqL1xcbitcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQwLTB4NDcgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0OC0weDRmICovXFxuLVxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjcsIDB4YjksIC8qIDB4NTAtMHg1NyAqL1xcbitcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDUwLTB4NTcgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1OC0weDVmICovXFxuLVxcdDB4YmIsIDB4YmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqL1xcbi1cXHQweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cXG4rXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXFxuK1xcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGQwLCAweGYwLCAweGRlLCAweGZlLCAvKiAweDcwLTB4NzcgKi9cXG4gXFx0MHhhZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXFxuLVxcdFxcbi1cXHQweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cXG4rXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5OC0weDlmICovXFxuQEAgLTE2OSw3ICsxNjgsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDFbMjU2XSA9IHtcXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTAtMHhlNyAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGU4LTB4ZWYgKi9cXG4tXFx0MHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXFxuK1xcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cXG4gfTtcXG4gXFxuQEAgLTE3OCw3ICsxNzcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMWVbMjU2XSA9IHtcXG4gXFx0MHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTAtMHgxNyAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi9cXG4tXFx0MHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXFxuK1xcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjAtMHgyNyAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDI4LTB4MmYgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovXFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzgtMHgzZiAqL1xcbkBAIC0xODgsOSArMTg3LDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTFlWzI1Nl0gPSB7XFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xcbiBcXHQweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHhkNywgMHhmNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2OC0weDZmICovXFxuLVxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqL1xcbi1cXHQweGFmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cXG4tXFxuK1xcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzAtMHg3NyAqL1xcbitcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cXG4gXFx0MHhhOCwgMHhiOCwgMHhhYSwgMHhiYSwgMHhiZCwgMHhiZSwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTM6NTEuNDU2ODkzMTI3WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiY29yZSIsIkR1cmF0aW9uIjo2NDk4ODc0NTMxMywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJOTFNcIixcbiAgICBcIk5MU19JU084ODU5XzE0XCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidW5pMmNoYXJcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBjb3JyZWN0cyBjaGFyYWN0ZXIgbWFwcGluZyBlbnRyaWVzIGluIHRoZSBVbmljb2RlLXRvLUlTTy04ODU5LTE0IHRhYmxlcyAocGFnZTAxIGFuZCBwYWdlMWUpIGluIGZzL25scy9ubHNfaXNvODg1OS0xNC5jLiBUaGVzZSB0YWJsZXMgYXJlIHVzZWQgYnkgdW5pMmNoYXIoKSBkdXJpbmcgZmlsZXN5c3RlbSBjaGFyYWN0ZXIgY29udmVyc2lvbiBvcGVyYXRpb25zIChlLmcuIEZBVCwgSVNPRlMpLCByZXByZXNlbnRpbmcgcmVhY2hhYmxlIGNvZGUgdGhhdCBzaG91bGQgYmUgZnV6emVkIGZvciBjaGFyYWN0ZXIgY29udmVyc2lvbiBjb3JyZWN0bmVzcyBhbmQgYm91bmRhcnkgc2FmZXR5LlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lciBhbmQgc2VjdXJpdHkgZW5naW5lZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGV2YWx1YXRlIHdoZXRoZXIgaXQgd2FycmFudHMgZnV6emluZyB3aXRoIHN5emthbGxlci5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24gaW50ZXJuYWwgYXNzdW1wdGlvbnMuIFlvdSBtdXN0IGFjdGl2ZWx5IHVzZSB5b3VyIGNvZGUgYWNjZXNzXG50b29scyB0byBpbnNwZWN0IHRoZSBhY3R1YWwgc291cmNlIGNvZGUsIGNhbGxlcnMsIGFuZCBzdXJyb3VuZGluZyBjb250ZXh0LlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuMS4gQ09SRSBUUklBR0UgUEhJTE9TT1BIWVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblRoZSBnb2FsIG9mIHBhdGNoIGZ1enppbmcgaXMgdG8gZGlzY292ZXIgY3Jhc2hlcywgcmVncmVzc2lvbnMsIGV4cG9zZWQgbGF0ZW50IGJ1Z3MsXG5hbmQgbmV3bHkgdHJpZ2dlcmVkIGFzc2VydGlvbnMgaW50cm9kdWNlZCBieSB0aGUgcGF0Y2ggc2VyaWVzLlxuXG4tIFJFQUNIQUJJTElUWSBJUyBUSEUgUFJJTUFSWSBHQVRFOlxuICBGdXp6aW5nIGNhbiBvbmx5IGRpc2NvdmVyIGJ1Z3MgaW4gY29kZSB0aGF0IGNhbiBhY3R1YWxseSBleGVjdXRlIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkXG4gIGVudmlyb25tZW50cyAoR0NFIG9yIFFFTVUsIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBkZXZpY2VzIGxpa2UgVVNCIGdhZGdldHMsIG5ldGRldiwgdHVuL3RhcCkuXG4gIElmIHRoZSBtb2RpZmllZCBjb2RlIGlzIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSAoc2VlIFNlY3Rpb24gMiksIGl0IE1VU1QgTk9UIGJlIGZ1enplZCxcbiAgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGFkZHMgYXNzZXJ0aW9ucyBvciBjb21wbGV4IGxvZ2ljLlxuXG4tIERPIE5PVCBCTElORExZIFRSVVNUIFwiTk8gRlVOQ1RJT05BTCBDSEFOR0VcIiAoTkZDSSkgT1IgXCJSRUZBQ1RPUklOR1wiIENMQUlNUzpcbiAgUGF0Y2ggYXV0aG9ycyByb3V0aW5lbHkgbGFiZWwgY2hhbmdlcyBhcyBcImNsZWFudXBzXCIsIFwicmVmYWN0b3JpbmdzXCIsIG9yIHN0YXRlXG4gIFwiTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWRcIi4gRG8gTk9UIHRha2UgdGhlc2UgY2xhaW1zIGF0IGZhY2UgdmFsdWUuXG4gIENvZGUgcmVmYWN0b3JpbmdzIHRoYXQgcmVhcnJhbmdlIGxvZ2ljLCBpbnRyb2R1Y2UgaGVscGVyIGZ1bmN0aW9ucywgb3IgYWx0ZXIgc3RhdGUgbWFuYWdlbWVudFxuICBpbiBjb3JlIHN1YnN5c3RlbXMgZnJlcXVlbnRseSBpbnRyb2R1Y2Ugc3VidGxlIHNlbWFudGljIHNoaWZ0cyBvciB1bmNvdmVyIGxhdGVudCBrZXJuZWwgYnVncy5cbiAgSWYgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSBpcyBtb2RpZmllZCBvciByZWZhY3RvcmVkLCBpdCBNVVNUIGJlIGZ1enplZC5cblxuLSBORVcgT1IgTU9ESUZJRUQgQVNTRVJUSU9OUyBJTiBSRUFDSEFCTEUgQ09ERSBNVVNUIEJFIEZVWlpFRDpcbiAgV2hlbiBhIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXMgcnVudGltZSBjaGVja3Mgb3IgYXNzZXJ0aW9ucyAoZS5nLiwgV0FSTl9PTiosIFZNX1dBUk5fT04qLFxuICBCVUdfT04qLCBsb2NrZGVwX2Fzc2VydCopIGluIHJlYWNoYWJsZSBjb2RlIHBhdGhzLCBpdCBlbmZvcmNlcyBuZXcgb3Igc3RyaWN0ZXIgaW52YXJpYW50cy5cbiAgRXZlbiBpZiB0aGUgYXV0aG9yIGJlbGlldmVzIHRoZSBpbnZhcmlhbnQgYWx3YXlzIGhvbGRzLCBmdXp6aW5nIGlzIGVzc2VudGlhbCB0byB2ZXJpZnkgd2hldGhlclxuICBhbiB1bnVzdWFsIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMgY2FuIHZpb2xhdGUgaXQuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4yLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9ZmFsc2UgKE5FR0FUSVZFIENSSVRFUklBKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgT05MWSBJRiBhbGwgbW9kaWZpZWQgY29kZSBmYWxscyBzdHJpY3RseSBpbnRvIG9uZSBvciBtb3JlIG9mIHRoZXNlIGNhdGVnb3JpZXM6XG5cbi0gTm9uLWtlcm5lbCBhbmQgbm9uLWV4ZWN1dGFibGUgY2hhbmdlczpcbiAgKiBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBjb21tZW50cywgb3Igc3BlbGxpbmcgZml4ZXMuXG4gICogVXNlci1zcGFjZSBkaXJlY3Rvcmllcywgc2VsZi10ZXN0cywgc2FtcGxlcywgb3Igc2NyaXB0cyAoZS5nLiwgdG9vbHMvLCBzYW1wbGVzLywgc2NyaXB0cy8sIHVzci8pXG4gICAgdGhhdCBkbyBub3QgYWZmZWN0IHRoZSBjb21waWxlZCBrZXJuZWwgaW1hZ2UgKHZtbGludXgpIG9yIGtlcm5lbCBtb2R1bGVzLlxuICAqIFB1cmVseSBkZWNvcmF0aXZlIGxvZ2dpbmcgKGUuZy4sIG1lc3NhZ2Ugc3RyaW5ncyBpbiBwcl9lcnIsIHByaW50aywgZGV2X2luZm8pIG9yIHRyYWNlcG9pbnRzXG4gICAgdGhhdCBkbyBub3QgYWx0ZXIgY29udHJvbCBmbG93IG9yIGRhdGEgc3RydWN0dXJlcy5cbiAgKiBCdWlsZCBzeXN0ZW0gb3IgS2NvbmZpZyBjaGFuZ2VzIHRoYXQgZG8gbm90IGFsdGVyIGNvbXBpbGVkIEMgbG9naWMuXG4tIFN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSBoYXJkd2FyZTpcbiAgKiBWZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgU21hcnROSUNzLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gICAgaW9uaWMsIGFtZGdwdSkgcmVxdWlyaW5nIHBoeXNpY2FsIEFTSUMvUENJZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gVW5yZWFjaGFibGUgZXhlY3V0aW9uIHBhdGhzOlxuICAqIERyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKC5yZW1vdmUsIC5zaHV0ZG93biwgcGNpX3VucmVnaXN0ZXJfZHJpdmVyKSBleGVjdXRlZCBvbmx5IGR1cmluZ1xuICAgIHBoeXNpY2FsIFBDSSBob3QtdW5wbHVnIG9yIG1hbnVhbCBzeXNmcyBkcml2ZXIgdW5iaW5kaW5nLlxuICAqIENvZGUgcGF0aHMgZXhjbHVzaXZlIHRvIGFyY2hpdGVjdHVyZXMgb3RoZXIgdGhhbiB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZS5cblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjMuIFdIRU4gVE8gUkVUVVJOIFdvcnRoRnV6emluZz10cnVlIChQT1NJVElWRSBDUklURVJJQSlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5SZXR1cm4gV29ydGhGdXp6aW5nPXRydWUgd2hlbmV2ZXIgdGhlIHBhdGNoIHRvdWNoZXMgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSwgaW5jbHVkaW5nOlxuLSBDb3JlIFN1YnN5c3RlbXM6XG4gICogQW55IGxvZ2ljIG1vZGlmaWNhdGlvbnMgaW4gbWVtb3J5IG1hbmFnZW1lbnQgKG1tLyksIHN5bmNocm9uaXphdGlvbi9sb2NraW5nIChrZXJuZWwvbG9ja2luZy8pLFxuICAgIEJQRiwgc2NoZWR1bGVyLCBjb3JlIG5ldHdvcmtpbmcsIFZGUywgb3Igc3lzY2FsbCBoYW5kbGluZy5cbi0gUmVmYWN0b3JpbmdzIGFuZCBDb2RlIENsZWFudXBzOlxuICAqIEFueSByZXN0cnVjdHVyaW5nIG9mIHJlYWNoYWJsZSBkYXRhIHN0cnVjdHVyZXMsIGhlbHBlciBhYnN0cmFjdGlvbnMsIG9yIGFsZ29yaXRobSBmbG93cy5cbi0gUnVudGltZSBBc3NlcnRpb25zIGFuZCBEZWZlbnNpdmUgQ2hlY2tzOlxuICAqIEFueSBpbnRyb2R1Y3Rpb24gb3IgYWx0ZXJhdGlvbiBvZiBhc3NlcnRpb25zIChXQVJOX09OKiwgVk1fV0FSTl9PTiosIEJVR19PTiosIGV0Yy4pIGluIHJlYWNoYWJsZSBwYXRocy5cbi0gUmVhY2hhYmxlIERyaXZlcnMgYW5kIFByb3RvY29sczpcbiAgKiBEcml2ZXJzIGFjY2Vzc2libGUgdmlhIHZpcnR1YWwgYnVzZXMgKHZpcnRpbywgVVNCIGdhZGdldCwgbG9vcGJhY2ssIG5ldGxpbmssIGJpbmRlciwgc29ja2V0cywgZXRjLikuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG40LiBFWFRSQUNUSU5HIEZvY3VzU3ltYm9scyAoUFJFVkVOVElORyBESUxVVElPTilcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5XaGVuIFdvcnRoRnV6emluZz10cnVlLCB5b3UgbXVzdCBleHRyYWN0IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgaW50byBGb2N1c1N5bWJvbHMgdG8gZ3VpZGUgdGhlIGZ1enplcjpcblxuLSBBVk9JRCBVQklRVUlUT1VTIExJRkVDWUNMRSBIT1QtUEFUSFM6XG4gIERvIE5PVCBsaXN0IGdlbmVyaWMsIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhbGxlZCBieSBhbG1vc3QgZXZlcnkgcHJvZ3JhbSBpbiB0aGUgY29ycHVzXG4gIChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bzogZ2VuZXJhbCBtZW1vcnkgYWxsb2NhdG9ycyBhbmQgZGVhbGxvY2F0b3JzLCBwYWdlIGZhdWx0XG4gIGFuZCB0cmFwIGhhbmRsZXJzLCBvciBjb3JlIHN5bmNocm9uaXphdGlvbiBwcmltaXRpdmVzOyB0aGlzIGlzIG5vdCBhbiBleGhhdXN0aXZlIGxpc3QpLlxuICBMaXN0aW5nIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhdXNlcyB0aGUgZnV6emVyIHRvIGNsYXNzaWZ5IHRob3VzYW5kcyBvZiB1bnJlbGF0ZWQgdGVzdHMgYXMgXCJmb2N1c2VkXCIsXG4gIHdoaWNoIHNldmVyZWx5IGRpbHV0ZXMgZnV6emluZyBlZmZvcnQgYXdheSBmcm9tIHRoZSBhY3R1YWwgY2hhbmdlcy5cblxuLSBUQVJHRVQgU1BFQ0lGSUMgRkVBVFVSRSBMT0dJQyBBTkQgRU5UUllQT0lOVFM6XG4gIExpc3QgZnVuY3Rpb25zIHRoYXQgc3BlY2lmaWNhbGx5IGltcGxlbWVudCB0aGUgbG9naWMgYmVpbmcgYWRkZWQgb3IgYWx0ZXJlZCwgb3IgZGlyZWN0IEFQSSBlbnRyeXBvaW50c1xuICBmb3IgdGhlIHN1YnN5c3RlbSBmZWF0dXJlIHVuZGVyIHJldmlldy5cblxuLSBIQU5ETElORyBTVEFUSUMgSU5MSU5FIEZVTkNUSU9OUyBJTiBIRUFERVJTICguaCk6XG4gIENvbXBpbGVyLWlubGluZWQgc3RhdGljIGZ1bmN0aW9ucyAoc3VjaCBhcyBzdGF0aWMgaW5saW5lcyBpbiBtbS8qLmggb3IgaW5jbHVkZS9saW51eC8qLmgpIGxhY2tcbiAgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcyBpbiB2bWxpbnV4IGFuZCBjYW5ub3QgYmUgdGFyZ2V0ZWQgZGlyZWN0bHkgYnkgc3ltYm9sIGNvdmVyYWdlIGZpbHRlcnMuXG4gIElmIHRoZSBjaGFuZ2VzIGFyZSBwcmltYXJpbHkgaW4gc3RhdGljIGlubGluZSBoZWxwZXJzLCBpZGVudGlmeSBub24tc3RhdGljLCBmZWF0dXJlLXNwZWNpZmljIGNhbGxlclxuICBmdW5jdGlvbnMgaW4gLmMgZmlsZXMgdGhhdCBleGVyY2lzZSB0aGVtIChhdm9pZGluZyB1YmlxdWl0b3VzIGxpZmVjeWNsZSB3cmFwcGVycykuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG41LiBJREVOVElGWUlORyBFbmFibGVDb25maWdzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSBjb21waWxlIGFuZCByZWFjaCB0aGUgbW9kaWZpZWQgY29kZTpcbi0gSW5zcGVjdCBLY29uZmlnIGZpbGVzIGFuZCAjaWZkZWYgZ3VhcmRzOyBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbi0gQ2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzIG5lZWRlZC5cbi0gU3RyaXAgYW55ICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IlRhcmdldCBhcmNoaXRlY3R1cmU6IGFtZDY0XG5cbkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDIzNjc4M2MyNWVkOGZmOTRkYTVjN2ZmMWU1MmMxNTdhMjgzOTQ2MTBcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIFNlcCA5IDEzOjEzOjQ5IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZnMvbmxzL25sc19pc284ODU5LTE0LmMgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuY1xuaW5kZXggYzc4OWVjY2I4YTY5NS4uNjBiOTQwMGY5MTVhZiAxMDA2NDRcbi0tLSBhL2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXG4rKysgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuY1xuQEAgLTEzOCwyNCArMTM4LDIzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0ge1xuIH07XG4gXG4gc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7XG4tXHQweDAwLCAweDAwLCAweGExLCAweGEyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDAwLTB4MDcgKi9cbi1cdDB4MDAsIDB4MDAsIDB4YTYsIDB4YWIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovXG4rXHQweDAwLCAweDAwLCAweGE0LCAweGE1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTAtMHgxNyAqL1xuLVx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiMCwgMHhiMSwgLyogMHgxOC0weDFmICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDE4LTB4MWYgKi9cbiBcdDB4YjIsIDB4YjMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjAtMHgyNyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDMwLTB4MzcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzgtMHgzZiAqL1xuLVx0MHhiNCwgMHhiNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQwLTB4NDcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDgtMHg0ZiAqL1xuLVx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiNywgMHhiOSwgLyogMHg1MC0weDU3ICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDUwLTB4NTcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xuLVx0MHhiYiwgMHhiZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4tXHQweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbitcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2OC0weDZmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGQwLCAweGYwLCAweGRlLCAweGZlLCAvKiAweDcwLTB4NzcgKi9cbiBcdDB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqL1xuLVx0XG4tXHQweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbitcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4OC0weDhmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTgtMHg5ZiAqL1xuQEAgLTE2OSw3ICsxNjgsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDFbMjU2XSA9IHtcbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDgtMHhkZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlMC0weGU3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGU4LTB4ZWYgKi9cbi1cdDB4MDAsIDB4MDAsIDB4YWMsIDB4YmMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cbiB9O1xuIFxuQEAgLTE3OCw3ICsxNzcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMWVbMjU2XSA9IHtcbiBcdDB4MDAsIDB4MDAsIDB4YTYsIDB4YWIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxMC0weDE3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi9cbi1cdDB4YjIsIDB4YjMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjAtMHgyNyAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDI4LTB4MmYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzAtMHgzNyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovXG5AQCAtMTg4LDkgKzE4Nyw4IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0ge1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1OC0weDVmICovXG4gXHQweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4ZDcsIDB4ZjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xuLVx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhkMCwgMHhmMCwgMHhkZSwgMHhmZSwgLyogMHg3MC0weDc3ICovXG4tXHQweGFmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cbi1cbitcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzAtMHg3NyAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4gXHQweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5MC0weDk3ICovXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxMzo1MS40NTY4OTU1OTdaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjoxNzM5NDU5MDczNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFBhdGNoOiBubHNfaXNvODg1OS0xNC5jKipcblxuQWxyaWdodCwgbGV0J3MgZGl2ZSBpbnRvIHRoaXMuIFRoZSBwYXRjaCBpbW1lZGlhdGVseSBmbGFncyBteSBhdHRlbnRpb246IGl0J3MgaGl0dGluZyBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgLiBPa2F5LCBzbyB3ZSdyZSBkZWFsaW5nIHdpdGggY2hhcmFjdGVyIHNldCBzdXBwb3J0LCBzcGVjaWZpY2FsbHkgSVNPLTg4NTktMTQuIEkga25vdyB0aGlzIGZpbGU7IGl0J3MgdGhlIGNvcmUgb2YgdGhlIGltcGxlbWVudGF0aW9uIGZvciB0aGF0IHBhcnRpY3VsYXIgY2hhcmFjdGVyIGVuY29kaW5nIHdpdGhpbiB0aGUgZmlsZXN5c3RlbSdzIE5MUyAoTmF0aW9uYWwgTGFuZ3VhZ2UgU3VwcG9ydCkgbGF5ZXIuXG5cblRoZSBjcml0aWNhbCBwaWVjZXMgb2YgaW50ZXJlc3QgaGVyZSBhcmUgdGhlIGFycmF5cyBgcGFnZTAxYCBhbmQgYHBhZ2UxZWAgd2l0aGluIHRoYXQgc291cmNlIGZpbGUuIEl0IHdvdWxkIGJlIHZhbHVhYmxlIHRvIHVuZGVyc3RhbmQgd2hhdCB0aGVzZSBhcnJheXMgYXJlLiBJIG5lZWQgdG8gZ2V0IGEgY2xlYXIgcGljdHVyZSBvZiB3aGF0IHRoZXkgY29udGFpbiBhbmQgaG93IHRoZXkncmUgYmVpbmcgdXNlZCB3aXRoaW4gdGhlIGNvbnRleHQgb2YgdGhlIGVuY29kaW5nIGNvbnZlcnNpb24uXG5cbk15IG5leHQgc3RlcCBpcyBjbGVhcjogSSdtIGdvaW5nIHRvIHB1bGwgdXAgYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYCBkaXJlY3RseS4gSSBuZWVkIHRvIGV4YW1pbmUgdGhvc2UgYXJyYXlzIHdpdGhpbiB0aGVpciBicm9hZGVyIGNvbnRleHQuIEEgcXVpY2sgYHJlYWQtZmlsZWAgb3IgYSBgZ3JlcHBlcmAgY2FsbCBzaG91bGQgZ2l2ZSBtZSB3aGF0IEkgbmVlZC4gTGV0J3Mgc2VlIHdoYXQncyBiZWluZyB0d2Vha2VkIGFuZCB3aHkuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjYwODcsIk91dHB1dFRva2VucyI6NDUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTUsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDowOC44NTE1MDQ4NjFaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNTQ0NDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiZnMvbmxzL25sc19pc284ODU5LTE0LmNcIixcbiAgXCJGaXJzdExpbmVcIjogMSxcbiAgXCJMaW5lQ291bnRcIjogMTAwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0LypcXG4gICAyOlxcdCAqIGxpbnV4L2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXFxuICAgMzpcXHQgKlxcbiAgIDQ6XFx0ICogQ2hhcnNldCBpc284ODU5LTE0IHRyYW5zbGF0aW9uIHRhYmxlcy5cXG4gICA1OlxcdCAqXFxuICAgNjpcXHQgKiBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBmcm9tIHRoZSBVbmljb2RlIGFuZCBjaGFyc2V0IHRhYmxlXFxuICAgNzpcXHQgKiBwcm92aWRlZCBieSB0aGUgVW5pY29kZSBPcmdhbmlzYXRpb24gYXRcXG4gICA4OlxcdCAqIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvXFxuICAgOTpcXHQgKiBUaGUgVW5pY29kZSB0byBjaGFyc2V0IHRhYmxlIGhhcyBvbmx5IGV4YWN0IG1hcHBpbmdzLlxcbiAgMTA6XFx0ICpcXG4gIDExOlxcdCAqIFJoeXMgSm9uZXMsIFN3YW5zZWEgVW5pdmVyc2l0eSBDb21wdXRlciBTb2NpZXR5XFxuICAxMjpcXHQgKiByaHlzQHN1Y3Muc3dhbi5hYy51a1xcbiAgMTM6XFx0ICovXFxuICAxNDpcXHRcXG4gIDE1OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9tb2R1bGUuaFxcdTAwM2VcXG4gIDE2OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9rZXJuZWwuaFxcdTAwM2VcXG4gIDE3OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9zdHJpbmcuaFxcdTAwM2VcXG4gIDE4OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9ubHMuaFxcdTAwM2VcXG4gIDE5OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJuby5oXFx1MDAzZVxcbiAgMjA6XFx0XFxuICAyMTpcXHRzdGF0aWMgY29uc3Qgd2NoYXJfdCBjaGFyc2V0MnVuaVsyNTZdID0ge1xcbiAgMjI6XFx0XFx0LyogMHgwMCovXFxuICAyMzpcXHRcXHQweDAwMDAsIDB4MDAwMSwgMHgwMDAyLCAweDAwMDMsIFxcbiAgMjQ6XFx0XFx0MHgwMDA0LCAweDAwMDUsIDB4MDAwNiwgMHgwMDA3LCBcXG4gIDI1OlxcdFxcdDB4MDAwOCwgMHgwMDA5LCAweDAwMGEsIDB4MDAwYiwgXFxuICAyNjpcXHRcXHQweDAwMGMsIDB4MDAwZCwgMHgwMDBlLCAweDAwMGYsIFxcbiAgMjc6XFx0XFx0LyogMHgxMCovXFxuICAyODpcXHRcXHQweDAwMTAsIDB4MDAxMSwgMHgwMDEyLCAweDAwMTMsIFxcbiAgMjk6XFx0XFx0MHgwMDE0LCAweDAwMTUsIDB4MDAxNiwgMHgwMDE3LCBcXG4gIDMwOlxcdFxcdDB4MDAxOCwgMHgwMDE5LCAweDAwMWEsIDB4MDAxYiwgXFxuICAzMTpcXHRcXHQweDAwMWMsIDB4MDAxZCwgMHgwMDFlLCAweDAwMWYsIFxcbiAgMzI6XFx0XFx0LyogMHgyMCovXFxuICAzMzpcXHRcXHQweDAwMjAsIDB4MDAyMSwgMHgwMDIyLCAweDAwMjMsIFxcbiAgMzQ6XFx0XFx0MHgwMDI0LCAweDAwMjUsIDB4MDAyNiwgMHgwMDI3LCBcXG4gIDM1OlxcdFxcdDB4MDAyOCwgMHgwMDI5LCAweDAwMmEsIDB4MDAyYiwgXFxuICAzNjpcXHRcXHQweDAwMmMsIDB4MDAyZCwgMHgwMDJlLCAweDAwMmYsIFxcbiAgMzc6XFx0XFx0LyogMHgzMCovXFxuICAzODpcXHRcXHQweDAwMzAsIDB4MDAzMSwgMHgwMDMyLCAweDAwMzMsIFxcbiAgMzk6XFx0XFx0MHgwMDM0LCAweDAwMzUsIDB4MDAzNiwgMHgwMDM3LCBcXG4gIDQwOlxcdFxcdDB4MDAzOCwgMHgwMDM5LCAweDAwM2EsIDB4MDAzYiwgXFxuICA0MTpcXHRcXHQweDAwM2MsIDB4MDAzZCwgMHgwMDNlLCAweDAwM2YsIFxcbiAgNDI6XFx0XFx0LyogMHg0MCovXFxuICA0MzpcXHRcXHQweDAwNDAsIDB4MDA0MSwgMHgwMDQyLCAweDAwNDMsIFxcbiAgNDQ6XFx0XFx0MHgwMDQ0LCAweDAwNDUsIDB4MDA0NiwgMHgwMDQ3LCBcXG4gIDQ1OlxcdFxcdDB4MDA0OCwgMHgwMDQ5LCAweDAwNGEsIDB4MDA0YiwgXFxuICA0NjpcXHRcXHQweDAwNGMsIDB4MDA0ZCwgMHgwMDRlLCAweDAwNGYsIFxcbiAgNDc6XFx0XFx0LyogMHg1MCovXFxuICA0ODpcXHRcXHQweDAwNTAsIDB4MDA1MSwgMHgwMDUyLCAweDAwNTMsIFxcbiAgNDk6XFx0XFx0MHgwMDU0LCAweDAwNTUsIDB4MDA1NiwgMHgwMDU3LCBcXG4gIDUwOlxcdFxcdDB4MDA1OCwgMHgwMDU5LCAweDAwNWEsIDB4MDA1YiwgXFxuICA1MTpcXHRcXHQweDAwNWMsIDB4MDA1ZCwgMHgwMDVlLCAweDAwNWYsIFxcbiAgNTI6XFx0XFx0LyogMHg2MCovXFxuICA1MzpcXHRcXHQweDAwNjAsIDB4MDA2MSwgMHgwMDYyLCAweDAwNjMsIFxcbiAgNTQ6XFx0XFx0MHgwMDY0LCAweDAwNjUsIDB4MDA2NiwgMHgwMDY3LCBcXG4gIDU1OlxcdFxcdDB4MDA2OCwgMHgwMDY5LCAweDAwNmEsIDB4MDA2YiwgXFxuICA1NjpcXHRcXHQweDAwNmMsIDB4MDA2ZCwgMHgwMDZlLCAweDAwNmYsIFxcbiAgNTc6XFx0XFx0LyogMHg3MCovXFxuICA1ODpcXHRcXHQweDAwNzAsIDB4MDA3MSwgMHgwMDcyLCAweDAwNzMsIFxcbiAgNTk6XFx0XFx0MHgwMDc0LCAweDAwNzUsIDB4MDA3NiwgMHgwMDc3LCBcXG4gIDYwOlxcdFxcdDB4MDA3OCwgMHgwMDc5LCAweDAwN2EsIDB4MDA3YiwgXFxuICA2MTpcXHRcXHQweDAwN2MsIDB4MDA3ZCwgMHgwMDdlLCAweDAwN2YsIFxcbiAgNjI6XFx0XFx0LyogMHg4MCovXFxuICA2MzpcXHRcXHQweDAwODAsIDB4MDA4MSwgMHgwMDgyLCAweDAwODMsXFxuICA2NDpcXHRcXHQweDAwODQsIDB4MDA4NSwgMHgwMDg2LCAweDAwODcsXFxuICA2NTpcXHRcXHQweDAwODgsIDB4MDA4OSwgMHgwMDhhLCAweDAwOGIsXFxuICA2NjpcXHRcXHQweDAwOGMsIDB4MDA4ZCwgMHgwMDhlLCAweDAwOGYsXFxuICA2NzpcXHRcXHQvKiAweDkwKi9cXG4gIDY4OlxcdFxcdDB4MDA5MCwgMHgwMDkxLCAweDAwOTIsIDB4MDA5MyxcXG4gIDY5OlxcdFxcdDB4MDA5NCwgMHgwMDk1LCAweDAwOTYsIDB4MDA5NyxcXG4gIDcwOlxcdFxcdDB4MDA5OCwgMHgwMDk5LCAweDAwOWEsIDB4MDA5YixcXG4gIDcxOlxcdFxcdDB4MDA5YywgMHgwMDlkLCAweDAwOWUsIDB4MDA5ZixcXG4gIDcyOlxcdFxcdC8qIDB4YTAqL1xcbiAgNzM6XFx0XFx0MHgwMGEwLCAweDFlMDIsIDB4MWUwMywgMHgwMGEzLCBcXG4gIDc0OlxcdFxcdDB4MDEwYSwgMHgwMTBiLCAweDFlMGEsIDB4MDBhNywgXFxuICA3NTpcXHRcXHQweDFlODAsIDB4MDBhOSwgMHgxZTgyLCAweDFlMGIsIFxcbiAgNzY6XFx0XFx0MHgxZWYyLCAweDAwYWQsIDB4MDBhZSwgMHgwMTc4LCBcXG4gIDc3OlxcdFxcdC8qIDB4YjAqL1xcbiAgNzg6XFx0XFx0MHgxZTFlLCAweDFlMWYsIDB4MDEyMCwgMHgwMTIxLCBcXG4gIDc5OlxcdFxcdDB4MWU0MCwgMHgxZTQxLCAweDAwYjYsIDB4MWU1NiwgXFxuICA4MDpcXHRcXHQweDFlODEsIDB4MWU1NywgMHgxZTgzLCAweDFlNjAsIFxcbiAgODE6XFx0XFx0MHgxZWYzLCAweDFlODQsIDB4MWU4NSwgMHgxZTYxLCBcXG4gIDgyOlxcdFxcdC8qIDB4YzAqL1xcbiAgODM6XFx0XFx0MHgwMGMwLCAweDAwYzEsIDB4MDBjMiwgMHgwMGMzLCBcXG4gIDg0OlxcdFxcdDB4MDBjNCwgMHgwMGM1LCAweDAwYzYsIDB4MDBjNywgXFxuICA4NTpcXHRcXHQweDAwYzgsIDB4MDBjOSwgMHgwMGNhLCAweDAwY2IsIFxcbiAgODY6XFx0XFx0MHgwMGNjLCAweDAwY2QsIDB4MDBjZSwgMHgwMGNmLCBcXG4gIDg3OlxcdFxcdC8qIDB4ZDAqL1xcbiAgODg6XFx0XFx0MHgwMTc0LCAweDAwZDEsIDB4MDBkMiwgMHgwMGQzLCBcXG4gIDg5OlxcdFxcdDB4MDBkNCwgMHgwMGQ1LCAweDAwZDYsIDB4MWU2YSwgXFxuICA5MDpcXHRcXHQweDAwZDgsIDB4MDBkOSwgMHgwMGRhLCAweDAwZGIsIFxcbiAgOTE6XFx0XFx0MHgwMGRjLCAweDAwZGQsIDB4MDE3NiwgMHgwMGRmLCBcXG4gIDkyOlxcdFxcdC8qIDB4ZTAqL1xcbiAgOTM6XFx0XFx0MHgwMGUwLCAweDAwZTEsIDB4MDBlMiwgMHgwMGUzLCBcXG4gIDk0OlxcdFxcdDB4MDBlNCwgMHgwMGU1LCAweDAwZTYsIDB4MDBlNywgXFxuICA5NTpcXHRcXHQweDAwZTgsIDB4MDBlOSwgMHgwMGVhLCAweDAwZWIsIFxcbiAgOTY6XFx0XFx0MHgwMGVjLCAweDAwZWQsIDB4MDBlZSwgMHgwMGVmLCBcXG4gIDk3OlxcdFxcdC8qIDB4ZjAqL1xcbiAgOTg6XFx0XFx0MHgwMTc1LCAweDAwZjEsIDB4MDBmMiwgMHgwMGYzLCBcXG4gIDk5OlxcdFxcdDB4MDBmNCwgMHgwMGY1LCAweDAwZjYsIDB4MWU2YiwgXFxuIDEwMDpcXHRcXHQweDAwZjgsIDB4MDBmOSwgMHgwMGZhLCAweDAwZmIsIFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDowOC44NTE2NjE5OTFaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjoyODE2MzMzMzM0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBsZXQncyBkaXZlIGludG8gdGhpcyBjb2RlLlxuXG4qKkRpdmluZyBpbnRvIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AqKlxuXG5BbHJpZ2h0LCBJJ20gcmVhZHkgdG8gZ2V0IG15IHRlZXRoIGludG8gdGhlIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgZmlsZS4gR2l2ZW4gbXkgZXhwZXJ0aXNlLCBJJ20gZXhwZWN0aW5nIHRoaXMgdG8gYmUgYSBjaGFyYWN0ZXIgZW5jb2RpbmcgdGFibGUsIGxpa2VseSBkZWZpbmluZyB0aGUgbWFwcGluZyBiZXR3ZWVuIHRoZSBJU08tODg1OS0xNCBjaGFyYWN0ZXIgc2V0IGFuZCBzb21ldGhpbmcgaW50ZXJuYWwgdG8gdGhlIGZpbGVzeXN0ZW0sIHByb2JhYmx5IFVuaWNvZGUgb3IgVVRGLTguIEknbGwgYmUgbG9va2luZyBmb3IgdGhlIHN0cnVjdHVyZSB0aGF0IGhvbGRzIHRoZSBjaGFyYWN0ZXIgbWFwcGluZyBkYXRhLCBhbmQgSSBhbnRpY2lwYXRlIHNlZWluZyBhIHNlcmllcyBvZiBhcnJheXMgb3IgbG9va3VwIHRhYmxlcy4gSSdsbCBiZSBmb2N1c2luZyBvbiBob3cgdGhlIHRyYW5zbGF0aW9uIGJldHdlZW4gdGhlIGNoYXJhY3RlciBzZXRzIGlzIGhhbmRsZWQgYW5kIGlmIHRoZXJlJ3MgYW55IGNsZXZlcm5lc3MgaW4gdGhlIGltcGxlbWVudGF0aW9uIGZvciBvcHRpbWl6YXRpb24gb3Igc3BlY2lhbCBjaGFyYWN0ZXIgaGFuZGxpbmcuIEknbGwgYmUgcGFydGljdWxhcmx5IGludGVyZXN0ZWQgaW4gaG93IHRoZXkgYWRkcmVzcyBpc3N1ZXMgbGlrZSBpbnZhbGlkIG9yIHVubWFwcGFibGUgY2hhcmFjdGVycywgYW5kIGhvdyB0aG9zZSBjYXNlcyBhcmUgaGFuZGxlZC4gTGV0J3Mgc2VlIGlmIGl0J3Mgd2VsbC1jb21tZW50ZWQuIFRoYXQncyBhbHdheXMgYSBiaWcgaGVscCFcblxuXG4iLCJJbnB1dFRva2VucyI6OTM1OSwiT3V0cHV0VG9rZW5zIjo0NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI3LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MTEuNjY3OTk4NzM1WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTkyNDYwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9ubHNfaXNvODg1OS0xNC5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEwMSxcbiAgXCJMaW5lQ291bnRcIjogMTUwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAxMDE6XFx0XFx0MHgwMGZjLCAweDAwZmQsIDB4MDE3NywgMHgwMGZmLCBcXG4gMTAyOlxcdH07XFxuIDEwMzpcXHRcXG4gMTA0OlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0ge1xcbiAxMDU6XFx0XFx0MHgwMCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwNSwgMHgwNiwgMHgwNywgLyogMHgwMC0weDA3ICovXFxuIDEwNjpcXHRcXHQweDA4LCAweDA5LCAweDBhLCAweDBiLCAweDBjLCAweDBkLCAweDBlLCAweDBmLCAvKiAweDA4LTB4MGYgKi9cXG4gMTA3OlxcdFxcdDB4MTAsIDB4MTEsIDB4MTIsIDB4MTMsIDB4MTQsIDB4MTUsIDB4MTYsIDB4MTcsIC8qIDB4MTAtMHgxNyAqL1xcbiAxMDg6XFx0XFx0MHgxOCwgMHgxOSwgMHgxYSwgMHgxYiwgMHgxYywgMHgxZCwgMHgxZSwgMHgxZiwgLyogMHgxOC0weDFmICovXFxuIDEwOTpcXHRcXHQweDIwLCAweDIxLCAweDIyLCAweDIzLCAweDI0LCAweDI1LCAweDI2LCAweDI3LCAvKiAweDIwLTB4MjcgKi9cXG4gMTEwOlxcdFxcdDB4MjgsIDB4MjksIDB4MmEsIDB4MmIsIDB4MmMsIDB4MmQsIDB4MmUsIDB4MmYsIC8qIDB4MjgtMHgyZiAqL1xcbiAxMTE6XFx0XFx0MHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgLyogMHgzMC0weDM3ICovXFxuIDExMjpcXHRcXHQweDM4LCAweDM5LCAweDNhLCAweDNiLCAweDNjLCAweDNkLCAweDNlLCAweDNmLCAvKiAweDM4LTB4M2YgKi9cXG4gMTEzOlxcdFxcdDB4NDAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NDAtMHg0NyAqL1xcbiAxMTQ6XFx0XFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg0OC0weDRmICovXFxuIDExNTpcXHRcXHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDUwLTB4NTcgKi9cXG4gMTE2OlxcdFxcdDB4NTgsIDB4NTksIDB4NWEsIDB4NWIsIDB4NWMsIDB4NWQsIDB4NWUsIDB4NWYsIC8qIDB4NTgtMHg1ZiAqL1xcbiAxMTc6XFx0XFx0MHg2MCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NywgLyogMHg2MC0weDY3ICovXFxuIDExODpcXHRcXHQweDY4LCAweDY5LCAweDZhLCAweDZiLCAweDZjLCAweDZkLCAweDZlLCAweDZmLCAvKiAweDY4LTB4NmYgKi9cXG4gMTE5OlxcdFxcdDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsIC8qIDB4NzAtMHg3NyAqL1xcbiAxMjA6XFx0XFx0MHg3OCwgMHg3OSwgMHg3YSwgMHg3YiwgMHg3YywgMHg3ZCwgMHg3ZSwgMHg3ZiwgLyogMHg3OC0weDdmICovXFxuIDEyMTpcXHRcXG4gMTIyOlxcdFxcdDB4ODAsIDB4ODEsIDB4ODIsIDB4ODMsIDB4ODQsIDB4ODUsIDB4ODYsIDB4ODcsIC8qIDB4ODAtMHg4NyAqL1xcbiAxMjM6XFx0XFx0MHg4OCwgMHg4OSwgMHg4YSwgMHg4YiwgMHg4YywgMHg4ZCwgMHg4ZSwgMHg4ZiwgLyogMHg4OC0weDhmICovXFxuIDEyNDpcXHRcXHQweDkwLCAweDkxLCAweDkyLCAweDkzLCAweDk0LCAweDk1LCAweDk2LCAweDk3LCAvKiAweDkwLTB4OTcgKi9cXG4gMTI1OlxcdFxcdDB4OTgsIDB4OTksIDB4OWEsIDB4OWIsIDB4OWMsIDB4OWQsIDB4OWUsIDB4OWYsIC8qIDB4OTgtMHg5ZiAqL1xcbiAxMjY6XFx0XFx0MHhhMCwgMHgwMCwgMHgwMCwgMHhhMywgMHgwMCwgMHgwMCwgMHgwMCwgMHhhNywgLyogMHhhMC0weGE3ICovXFxuIDEyNzpcXHRcXHQweDAwLCAweGE5LCAweDAwLCAweDAwLCAweDAwLCAweGFkLCAweGFlLCAweDAwLCAvKiAweGE4LTB4YWYgKi9cXG4gMTI4OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjYsIDB4MDAsIC8qIDB4YjAtMHhiNyAqL1xcbiAxMjk6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhiOC0weGJmICovXFxuIDEzMDpcXHRcXHQweGMwLCAweGMxLCAweGMyLCAweGMzLCAweGM0LCAweGM1LCAweGM2LCAweGM3LCAvKiAweGMwLTB4YzcgKi9cXG4gMTMxOlxcdFxcdDB4YzgsIDB4YzksIDB4Y2EsIDB4Y2IsIDB4Y2MsIDB4Y2QsIDB4Y2UsIDB4Y2YsIC8qIDB4YzgtMHhjZiAqL1xcbiAxMzI6XFx0XFx0MHgwMCwgMHhkMSwgMHhkMiwgMHhkMywgMHhkNCwgMHhkNSwgMHhkNiwgMHgwMCwgLyogMHhkMC0weGQ3ICovXFxuIDEzMzpcXHRcXHQweGQ4LCAweGQ5LCAweGRhLCAweGRiLCAweGRjLCAweGRkLCAweDAwLCAweGRmLCAvKiAweGQ4LTB4ZGYgKi9cXG4gMTM0OlxcdFxcdDB4ZTAsIDB4ZTEsIDB4ZTIsIDB4ZTMsIDB4ZTQsIDB4ZTUsIDB4ZTYsIDB4ZTcsIC8qIDB4ZTAtMHhlNyAqL1xcbiAxMzU6XFx0XFx0MHhlOCwgMHhlOSwgMHhlYSwgMHhlYiwgMHhlYywgMHhlZCwgMHhlZSwgMHhlZiwgLyogMHhlOC0weGVmICovXFxuIDEzNjpcXHRcXHQweDAwLCAweGYxLCAweGYyLCAweGYzLCAweGY0LCAweGY1LCAweGY2LCAweDAwLCAvKiAweGYwLTB4ZjcgKi9cXG4gMTM3OlxcdFxcdDB4ZjgsIDB4ZjksIDB4ZmEsIDB4ZmIsIDB4ZmMsIDB4ZmQsIDB4MDAsIDB4ZmYsIC8qIDB4ZjgtMHhmZiAqL1xcbiAxMzg6XFx0fTtcXG4gMTM5OlxcdFxcbiAxNDA6XFx0c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7XFxuIDE0MTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDAwLTB4MDcgKi9cXG4gMTQyOlxcdFxcdDB4MDAsIDB4MDAsIDB4YTQsIDB4YTUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xcbiAxNDM6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxMC0weDE3ICovXFxuIDE0NDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDE4LTB4MWYgKi9cXG4gMTQ1OlxcdFxcdDB4YjIsIDB4YjMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjAtMHgyNyAqL1xcbiAxNDY6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovXFxuIDE0NzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDMwLTB4MzcgKi9cXG4gMTQ4OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzgtMHgzZiAqL1xcbiAxNDk6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovXFxuIDE1MDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQ4LTB4NGYgKi9cXG4gMTUxOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTAtMHg1NyAqL1xcbiAxNTI6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1OC0weDVmICovXFxuIDE1MzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi9cXG4gMTU0OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xcbiAxNTU6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhkMCwgMHhmMCwgMHhkZSwgMHhmZSwgLyogMHg3MC0weDc3ICovXFxuIDE1NjpcXHRcXHQweGFmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cXG4gMTU3OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqL1xcbiAxNTg6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4OC0weDhmICovXFxuIDE1OTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi9cXG4gMTYwOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTgtMHg5ZiAqL1xcbiAxNjE6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhhMC0weGE3ICovXFxuIDE2MjpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGE4LTB4YWYgKi9cXG4gMTYzOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjAtMHhiNyAqL1xcbiAxNjQ6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhiOC0weGJmICovXFxuIDE2NTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGMwLTB4YzcgKi9cXG4gMTY2OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YzgtMHhjZiAqL1xcbiAxNjc6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkMC0weGQ3ICovXFxuIDE2ODpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGQ4LTB4ZGYgKi9cXG4gMTY5OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTAtMHhlNyAqL1xcbiAxNzA6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlOC0weGVmICovXFxuIDE3MTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGYwLTB4ZjcgKi9cXG4gMTcyOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjgtMHhmZiAqL1xcbiAxNzM6XFx0fTtcXG4gMTc0OlxcdFxcbiAxNzU6XFx0c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTFlWzI1Nl0gPSB7XFxuIDE3NjpcXHRcXHQweDAwLCAweDAwLCAweGExLCAweGEyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDAwLTB4MDcgKi9cXG4gMTc3OlxcdFxcdDB4MDAsIDB4MDAsIDB4YTYsIDB4YWIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xcbiAxNzg6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxMC0weDE3ICovXFxuIDE3OTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi9cXG4gMTgwOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjAtMHgyNyAqL1xcbiAxODE6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovXFxuIDE4MjpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDMwLTB4MzcgKi9cXG4gMTgzOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzgtMHgzZiAqL1xcbiAxODQ6XFx0XFx0MHhiNCwgMHhiNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovXFxuIDE4NTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQ4LTB4NGYgKi9cXG4gMTg2OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjcsIDB4YjksIC8qIDB4NTAtMHg1NyAqL1xcbiAxODc6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1OC0weDVmICovXFxuIDE4ODpcXHRcXHQweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi9cXG4gMTg5OlxcdFxcdDB4MDAsIDB4MDAsIDB4ZDcsIDB4ZjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xcbiAxOTA6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3MC0weDc3ICovXFxuIDE5MTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cXG4gMTkyOlxcdFxcdDB4YTgsIDB4YjgsIDB4YWEsIDB4YmEsIDB4YmQsIDB4YmUsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqL1xcbiAxOTM6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4OC0weDhmICovXFxuIDE5NDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi9cXG4gMTk1OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTgtMHg5ZiAqL1xcbiAxOTY6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhhMC0weGE3ICovXFxuIDE5NzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGE4LTB4YWYgKi9cXG4gMTk4OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjAtMHhiNyAqL1xcbiAxOTk6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhiOC0weGJmICovXFxuIDIwMDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGMwLTB4YzcgKi9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MTEuNjY4MTk0Njk1WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6MjY4ODQ5ODI0MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHN1bW1hcnksIGFzIHRob3VnaCBJIHdlcmUgdGhpbmtpbmcgdGhyb3VnaCB0aGUgY29kZTpcblxuKipEaXZpbmcgaW50byBgbmxzX2lzbzg4NTktMTQuY2AqKlxuXG5Pa2F5LCB0aW1lIHRvIGdldCBteSBoYW5kcyBkaXJ0eS4gTGV0J3MgZGlnIGRlZXBlciBpbnRvIHRoZSBjb2RlLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0J3MgaGFwcGVuaW5nIHdpdGggdGhpcyBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIGZpbGUuIEknbSBnb2luZyB0byBmb2xsb3cgdGhlIGxvZ2ljIGFuZCB1bmRlcnN0YW5kIGV4YWN0bHkgaG93IGl0IGhhbmRsZXMgdGhlIElTTy04ODU5LTE0IGNoYXJhY3RlciBlbmNvZGluZyB3aXRoaW4gdGhlIGZpbGVzeXN0ZW0gbGF5ZXIuIEkgZXhwZWN0IHRoaXMgdG8gYmUgYSBjcnVjaWFsIHBpZWNlIGluIGVuc3VyaW5nIHByb3BlciBjaGFyYWN0ZXIgaW50ZXJwcmV0YXRpb24gYW5kIHN0b3JhZ2UuIExldCdzIHNlZSBob3cgdGhleSd2ZSBpbXBsZW1lbnRlZCB0aGUgY29udmVyc2lvbnMgYW5kIGhvdyBpdCBpbnRlcmFjdHMgd2l0aCB0aGUgYnJvYWRlciBOTFMgKE5hdGlvbmFsIExhbmd1YWdlIFN1cHBvcnQpIGluZnJhc3RydWN0dXJlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxNTU0MiwiT3V0cHV0VG9rZW5zIjo0NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI3LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MTQuMzU2Njk2Mjc2WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTYxMjY5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9ubHNfaXNvODg1OS0xNC5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDIwMCxcbiAgXCJMaW5lQ291bnRcIjogMTAwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAyMDA6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjMC0weGM3ICovXFxuIDIwMTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGM4LTB4Y2YgKi9cXG4gMjAyOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xcbiAyMDM6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXFxuIDIwNDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cXG4gMjA1OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xcbiAyMDY6XFx0XFx0MHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXFxuIDIwNzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cXG4gMjA4OlxcdH07XFxuIDIwOTpcXHRcXG4gMjEwOlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuIDIxMTpcXHRcXHRwYWdlMDAsXFx0cGFnZTAxLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBcXG4gMjEyOlxcdFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXG4gMjEzOlxcdFxcbiAyMTQ6XFx0XFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcbiAyMTU6XFx0XFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0cGFnZTFlLFxcdE5VTEwsXFxuIDIxNjpcXHRcXG4gMjE3OlxcdFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXG4gMjE4OlxcdFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXG4gMjE5OlxcdH07XFxuIDIyMDpcXHRcXG4gMjIxOlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQybG93ZXJbMjU2XSA9IHtcXG4gMjIyOlxcdFxcdDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDUsIDB4MDYsIDB4MDcsIC8qIDB4MDAtMHgwNyAqL1xcbiAyMjM6XFx0XFx0MHgwOCwgMHgwOSwgMHgwYSwgMHgwYiwgMHgwYywgMHgwZCwgMHgwZSwgMHgwZiwgLyogMHgwOC0weDBmICovXFxuIDIyNDpcXHRcXHQweDEwLCAweDExLCAweDEyLCAweDEzLCAweDE0LCAweDE1LCAweDE2LCAweDE3LCAvKiAweDEwLTB4MTcgKi9cXG4gMjI1OlxcdFxcdDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsIC8qIDB4MTgtMHgxZiAqL1xcbiAyMjY6XFx0XFx0MHgyMCwgMHgyMSwgMHgyMiwgMHgyMywgMHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgLyogMHgyMC0weDI3ICovXFxuIDIyNzpcXHRcXHQweDI4LCAweDI5LCAweDJhLCAweDJiLCAweDJjLCAweDJkLCAweDJlLCAweDJmLCAvKiAweDI4LTB4MmYgKi9cXG4gMjI4OlxcdFxcdDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIC8qIDB4MzAtMHgzNyAqL1xcbiAyMjk6XFx0XFx0MHgzOCwgMHgzOSwgMHgzYSwgMHgzYiwgMHgzYywgMHgzZCwgMHgzZSwgMHgzZiwgLyogMHgzOC0weDNmICovXFxuIDIzMDpcXHRcXHQweDQwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LCAvKiAweDQwLTB4NDcgKi9cXG4gMjMxOlxcdFxcdDB4NjgsIDB4NjksIDB4NmEsIDB4NmIsIDB4NmMsIDB4NmQsIDB4NmUsIDB4NmYsIC8qIDB4NDgtMHg0ZiAqL1xcbiAyMzI6XFx0XFx0MHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NywgLyogMHg1MC0weDU3ICovXFxuIDIzMzpcXHRcXHQweDc4LCAweDc5LCAweDdhLCAweDViLCAweDVjLCAweDVkLCAweDVlLCAweDVmLCAvKiAweDU4LTB4NWYgKi9cXG4gMjM0OlxcdFxcdDB4NjAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsIC8qIDB4NjAtMHg2NyAqL1xcbiAyMzU6XFx0XFx0MHg2OCwgMHg2OSwgMHg2YSwgMHg2YiwgMHg2YywgMHg2ZCwgMHg2ZSwgMHg2ZiwgLyogMHg2OC0weDZmICovXFxuIDIzNjpcXHRcXHQweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LCAvKiAweDcwLTB4NzcgKi9cXG4gMjM3OlxcdFxcdDB4NzgsIDB4NzksIDB4N2EsIDB4N2IsIDB4N2MsIDB4N2QsIDB4N2UsIDB4N2YsIC8qIDB4NzgtMHg3ZiAqL1xcbiAyMzg6XFx0XFxuIDIzOTpcXHRcXHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cXG4gMjQwOlxcdFxcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xcbiAyNDE6XFx0XFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXFxuIDI0MjpcXHRcXHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cXG4gMjQzOlxcdFxcdDB4YTAsIDB4YTIsIDB4YTIsIDB4YTMsIDB4YWIsIDB4YWIsIDB4YWIsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xcbiAyNDQ6XFx0XFx0MHhiOCwgMHhhOSwgMHhiYSwgMHhhYiwgMHhiYywgMHhhZCwgMHhhZSwgMHhmZiwgLyogMHhhOC0weGFmICovXFxuIDI0NTpcXHRcXHQweGIxLCAweGIxLCAweGIzLCAweGIzLCAweGI1LCAweGI1LCAweGI2LCAweGI5LCAvKiAweGIwLTB4YjcgKi9cXG4gMjQ2OlxcdFxcdDB4YjgsIDB4YjksIDB4YmEsIDB4YmYsIDB4YmMsIDB4YmUsIDB4YmUsIDB4YmYsIC8qIDB4YjgtMHhiZiAqL1xcbiAyNDc6XFx0XFx0MHhlMCwgMHhlMSwgMHhlMiwgMHhlMywgMHhlNCwgMHhlNSwgMHhlNiwgMHhlNywgLyogMHhjMC0weGM3ICovXFxuIDI0ODpcXHRcXHQweGU4LCAweGU5LCAweGVhLCAweGViLCAweGVjLCAweGVkLCAweGVlLCAweGVmLCAvKiAweGM4LTB4Y2YgKi9cXG4gMjQ5OlxcdFxcdDB4ZjAsIDB4ZjEsIDB4ZjIsIDB4ZjMsIDB4ZjQsIDB4ZjUsIDB4ZjYsIDB4ZjcsIC8qIDB4ZDAtMHhkNyAqL1xcbiAyNTA6XFx0XFx0MHhmOCwgMHhmOSwgMHhmYSwgMHhmYiwgMHhmYywgMHhmZCwgMHhmZSwgMHhkZiwgLyogMHhkOC0weGRmICovXFxuIDI1MTpcXHRcXHQweGUwLCAweGUxLCAweGUyLCAweGUzLCAweGU0LCAweGU1LCAweGU2LCAweGU3LCAvKiAweGUwLTB4ZTcgKi9cXG4gMjUyOlxcdFxcdDB4ZTgsIDB4ZTksIDB4ZWEsIDB4ZWIsIDB4ZWMsIDB4ZWQsIDB4ZWUsIDB4ZWYsIC8qIDB4ZTgtMHhlZiAqL1xcbiAyNTM6XFx0XFx0MHhmMCwgMHhmMSwgMHhmMiwgMHhmMywgMHhmNCwgMHhmNSwgMHhmNiwgMHhmNywgLyogMHhmMC0weGY3ICovXFxuIDI1NDpcXHRcXHQweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweGZkLCAweGZlLCAweGZmLCAvKiAweGY4LTB4ZmYgKi9cXG4gMjU1OlxcdH07XFxuIDI1NjpcXHRcXG4gMjU3OlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4gMjU4OlxcdFxcdDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDUsIDB4MDYsIDB4MDcsIC8qIDB4MDAtMHgwNyAqL1xcbiAyNTk6XFx0XFx0MHgwOCwgMHgwOSwgMHgwYSwgMHgwYiwgMHgwYywgMHgwZCwgMHgwZSwgMHgwZiwgLyogMHgwOC0weDBmICovXFxuIDI2MDpcXHRcXHQweDEwLCAweDExLCAweDEyLCAweDEzLCAweDE0LCAweDE1LCAweDE2LCAweDE3LCAvKiAweDEwLTB4MTcgKi9cXG4gMjYxOlxcdFxcdDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsIC8qIDB4MTgtMHgxZiAqL1xcbiAyNjI6XFx0XFx0MHgyMCwgMHgyMSwgMHgyMiwgMHgyMywgMHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgLyogMHgyMC0weDI3ICovXFxuIDI2MzpcXHRcXHQweDI4LCAweDI5LCAweDJhLCAweDJiLCAweDJjLCAweDJkLCAweDJlLCAweDJmLCAvKiAweDI4LTB4MmYgKi9cXG4gMjY0OlxcdFxcdDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIC8qIDB4MzAtMHgzNyAqL1xcbiAyNjU6XFx0XFx0MHgzOCwgMHgzOSwgMHgzYSwgMHgzYiwgMHgzYywgMHgzZCwgMHgzZSwgMHgzZiwgLyogMHgzOC0weDNmICovXFxuIDI2NjpcXHRcXHQweDQwLCAweDQxLCAweDQyLCAweDQzLCAweDQ0LCAweDQ1LCAweDQ2LCAweDQ3LCAvKiAweDQwLTB4NDcgKi9cXG4gMjY3OlxcdFxcdDB4NDgsIDB4NDksIDB4NGEsIDB4NGIsIDB4NGMsIDB4NGQsIDB4NGUsIDB4NGYsIC8qIDB4NDgtMHg0ZiAqL1xcbiAyNjg6XFx0XFx0MHg1MCwgMHg1MSwgMHg1MiwgMHg1MywgMHg1NCwgMHg1NSwgMHg1NiwgMHg1NywgLyogMHg1MC0weDU3ICovXFxuIDI2OTpcXHRcXHQweDU4LCAweDU5LCAweDVhLCAweDViLCAweDVjLCAweDVkLCAweDVlLCAweDVmLCAvKiAweDU4LTB4NWYgKi9cXG4gMjcwOlxcdFxcdDB4NjAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NjAtMHg2NyAqL1xcbiAyNzE6XFx0XFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg2OC0weDZmICovXFxuIDI3MjpcXHRcXHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDcwLTB4NzcgKi9cXG4gMjczOlxcdFxcdDB4NTgsIDB4NTksIDB4NWEsIDB4N2IsIDB4N2MsIDB4N2QsIDB4N2UsIDB4N2YsIC8qIDB4NzgtMHg3ZiAqL1xcbiAyNzQ6XFx0XFxuIDI3NTpcXHRcXHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cXG4gMjc2OlxcdFxcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xcbiAyNzc6XFx0XFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXFxuIDI3ODpcXHRcXHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cXG4gMjc5OlxcdFxcdDB4YTAsIDB4YTEsIDB4YTEsIDB4YTMsIDB4YTYsIDB4YTYsIDB4YTYsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xcbiAyODA6XFx0XFx0MHhhOCwgMHhhOSwgMHhhYSwgMHhhNiwgMHhhYywgMHhhZCwgMHhhZSwgMHhhZiwgLyogMHhhOC0weGFmICovXFxuIDI4MTpcXHRcXHQweGIwLCAweGIwLCAweGIyLCAweGIyLCAweGI0LCAweGI0LCAweGI2LCAweGI3LCAvKiAweGIwLTB4YjcgKi9cXG4gMjgyOlxcdFxcdDB4YTgsIDB4YjcsIDB4YWEsIDB4YmIsIDB4YWMsIDB4YmQsIDB4YmQsIDB4YmIsIC8qIDB4YjgtMHhiZiAqL1xcbiAyODM6XFx0XFx0MHhjMCwgMHhjMSwgMHhjMiwgMHhjMywgMHhjNCwgMHhjNSwgMHhjNiwgMHhjNywgLyogMHhjMC0weGM3ICovXFxuIDI4NDpcXHRcXHQweGM4LCAweGM5LCAweGNhLCAweGNiLCAweGNjLCAweGNkLCAweGNlLCAweGNmLCAvKiAweGM4LTB4Y2YgKi9cXG4gMjg1OlxcdFxcdDB4ZDAsIDB4ZDEsIDB4ZDIsIDB4ZDMsIDB4ZDQsIDB4ZDUsIDB4ZDYsIDB4ZDcsIC8qIDB4ZDAtMHhkNyAqL1xcbiAyODY6XFx0XFx0MHhkOCwgMHhkOSwgMHhkYSwgMHhkYiwgMHhkYywgMHhkZCwgMHhkZSwgMHhkZiwgLyogMHhkOC0weGRmICovXFxuIDI4NzpcXHRcXHQweGMwLCAweGMxLCAweGMyLCAweGMzLCAweGM0LCAweGM1LCAweGM2LCAweGM3LCAvKiAweGUwLTB4ZTcgKi9cXG4gMjg4OlxcdFxcdDB4YzgsIDB4YzksIDB4Y2EsIDB4Y2IsIDB4Y2MsIDB4Y2QsIDB4Y2UsIDB4Y2YsIC8qIDB4ZTgtMHhlZiAqL1xcbiAyODk6XFx0XFx0MHhkMCwgMHhkMSwgMHhkMiwgMHhkMywgMHhkNCwgMHhkNSwgMHhkNiwgMHhkNywgLyogMHhmMC0weGY3ICovXFxuIDI5MDpcXHRcXHQweGQ4LCAweGQ5LCAweGRhLCAweGRiLCAweGRjLCAweGRkLCAweGRlLCAweGFmLCAvKiAweGY4LTB4ZmYgKi9cXG4gMjkxOlxcdH07XFxuIDI5MjpcXHRcXG4gMjkzOlxcdHN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbiAyOTQ6XFx0e1xcbiAyOTU6XFx0XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuIDI5NjpcXHRcXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbiAyOTc6XFx0XFx0dW5zaWduZWQgY2hhciBjaCA9ICh1bmkgXFx1MDAyNiAweGZmMDApIFxcdTAwM2VcXHUwMDNlIDg7XFxuIDI5ODpcXHRcXG4gMjk5OlxcdFxcdGlmIChib3VuZGxlbiBcXHUwMDNjPSAwKVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDoxNC4zNTY4NTk3NDdaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjoxOTkxNzg2NzkwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOlxuXG4qKkFuYWx5emluZyB0aGUgQ29kZWJhc2UgZm9yIENoYXJhY3RlciBFbmNvZGluZyBJbnRlcmFjdGlvbnMqKlxuXG5Pa2F5LCBsZXQncyBkaXZlIGRlZXBlci4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoaXMgbW9kdWxlIGhhbmRsZXMgY2hhcmFjdGVyIGVuY29kaW5nLCBwYXJ0aWN1bGFybHkgaG93IGl0IG1hcHMgYmV0d2VlbiBVbmljb2RlIGNoYXJhY3RlcnMgYW5kIHdoYXRldmVyIGludGVybmFsIHJlcHJlc2VudGF0aW9uIGl0J3MgdXNpbmcuIFRoZSBrZXkgcGllY2VzIG9mIGZ1bmN0aW9uYWxpdHkgSSdtIGxvb2tpbmcgZm9yIHdpbGwgYmUgdGhlIGB1bmkyY2hhcmAgYW5kIGBjaGFyMnVuaWAgZnVuY3Rpb25zIG9yIHRoZWlyIGVxdWl2YWxlbnRzLiBJIHdhbnQgdG8gc2VlIGhvdyB0aGVzZSBhcmUgaW1wbGVtZW50ZWQsIGFuZCB3aGV0aGVyIHRoZXJlIGFyZSBhbnkgb3B0aW1pemF0aW9ucyBvciBwb3RlbnRpYWwgYm90dGxlbmVja3MgaW4gdGhvc2UgY29udmVyc2lvbnMuIEkgbmVlZCB0byBiZSBwcmVwYXJlZCB0byBpZGVudGlmeSB0aGUgc3BlY2lmaWMgbW9kdWxlIHJlZ2lzdHJhdGlvbiBtZWNoYW5pc21zLCB3aGljaCBtYXkgZ2l2ZSBoaW50cyBhYm91dCBob3cgdGhlc2UgZnVuY3Rpb25zIGFyZSBleHBvc2VkIGFuZCB1c2VkIGJ5IG90aGVyIHBhcnRzIG9mIHRoZSBzeXN0ZW0uIEkgYWxzbyBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoZSBzeXN0ZW0gaGFzIG1hZGUgdGhlIGltcGxlbWVudGF0aW9uIG1haW50YWluYWJsZSwgaXMgaXQgZWFzaWx5IGV4dGVuZGlibGU/XG5cbkxldCdzIHN0YXJ0IGRpZ2dpbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIwNzM3LCJPdXRwdXRUb2tlbnMiOjQ2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjQsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDoxNi4zNDg2NDkyMjZaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTIyNDQwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9ubHNfaXNvODg1OS0xNC5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDI5NSxcbiAgXCJMaW5lQ291bnRcIjogNjBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDI5NTpcXHRcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG4gMjk2OlxcdFxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuIDI5NzpcXHRcXHR1bnNpZ25lZCBjaGFyIGNoID0gKHVuaSBcXHUwMDI2IDB4ZmYwMCkgXFx1MDAzZVxcdTAwM2UgODtcXG4gMjk4OlxcdFxcbiAyOTk6XFx0XFx0aWYgKGJvdW5kbGVuIFxcdTAwM2M9IDApXFxuIDMwMDpcXHRcXHRcXHRyZXR1cm4gLUVOQU1FVE9PTE9ORztcXG4gMzAxOlxcdFxcbiAzMDI6XFx0XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG4gMzAzOlxcdFxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuIDMwNDpcXHRcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuIDMwNTpcXHRcXHRlbHNlXFxuIDMwNjpcXHRcXHRcXHRyZXR1cm4gLUVJTlZBTDtcXG4gMzA3OlxcdFxcdHJldHVybiAxO1xcbiAzMDg6XFx0fVxcbiAzMDk6XFx0XFxuIDMxMDpcXHRzdGF0aWMgaW50IGNoYXIydW5pKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJhd3N0cmluZywgaW50IGJvdW5kbGVuLCB3Y2hhcl90ICp1bmkpXFxuIDMxMTpcXHR7XFxuIDMxMjpcXHRcXHQqdW5pID0gY2hhcnNldDJ1bmlbKnJhd3N0cmluZ107XFxuIDMxMzpcXHRcXHRpZiAoKnVuaSA9PSAweDAwMDApXFxuIDMxNDpcXHRcXHRcXHRyZXR1cm4gLUVJTlZBTDtcXG4gMzE1OlxcdFxcdHJldHVybiAxO1xcbiAzMTY6XFx0fVxcbiAzMTc6XFx0XFxuIDMxODpcXHRzdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG4gMzE5OlxcdFxcdC5jaGFyc2V0XFx0PSBcXFwiaXNvODg1OS0xNFxcXCIsXFxuIDMyMDpcXHRcXHQudW5pMmNoYXJcXHQ9IHVuaTJjaGFyLFxcbiAzMjE6XFx0XFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4gMzIyOlxcdFxcdC5jaGFyc2V0Mmxvd2VyXFx0PSBjaGFyc2V0Mmxvd2VyLFxcbiAzMjM6XFx0XFx0LmNoYXJzZXQydXBwZXJcXHQ9IGNoYXJzZXQydXBwZXIsXFxuIDMyNDpcXHR9O1xcbiAzMjU6XFx0XFxuIDMyNjpcXHRzdGF0aWMgaW50IF9faW5pdCBpbml0X25sc19pc284ODU5XzE0KHZvaWQpXFxuIDMyNzpcXHR7XFxuIDMyODpcXHRcXHRyZXR1cm4gcmVnaXN0ZXJfbmxzKFxcdTAwMjZ0YWJsZSk7XFxuIDMyOTpcXHR9XFxuIDMzMDpcXHRcXG4gMzMxOlxcdHN0YXRpYyB2b2lkIF9fZXhpdCBleGl0X25sc19pc284ODU5XzE0KHZvaWQpXFxuIDMzMjpcXHR7XFxuIDMzMzpcXHRcXHR1bnJlZ2lzdGVyX25scyhcXHUwMDI2dGFibGUpO1xcbiAzMzQ6XFx0fVxcbiAzMzU6XFx0XFxuIDMzNjpcXHRtb2R1bGVfaW5pdChpbml0X25sc19pc284ODU5XzE0KVxcbiAzMzc6XFx0bW9kdWxlX2V4aXQoZXhpdF9ubHNfaXNvODg1OV8xNClcXG4gMzM4OlxcdFxcbiAzMzk6XFx0TU9EVUxFX0RFU0NSSVBUSU9OKFxcXCJOTFMgSVNPIDg4NTktMTQgKExhdGluIDg7IENlbHRpYylcXFwiKTtcXG4gMzQwOlxcdE1PRFVMRV9MSUNFTlNFKFxcXCJEdWFsIEJTRC9HUExcXFwiKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MTYuMzQ4Nzc1NDI3WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjE5MDY2MDk2NjcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzOlxuXG4qKkludmVzdGlnYXRpbmcgTkxTX0lTTzg4NTlfMTQgU3VwcG9ydCoqXG5cbk9rYXksIHNvIEkgbmVlZCB0byBkaWcgaW50byB0aGUga2VybmVsIGNvbmZpZyBzeXN0ZW0gdG8gZmlndXJlIG91dCBob3cgYG5sc19pc284ODU5LTE0YCBpcyBoYW5kbGVkLiBNeSBmaXJzdCBtb3ZlIGlzIHRvIGdvIHN0cmFpZ2h0IHRvIGBLY29uZmlnYC4gVGhhdCdzIHdoZXJlIGFsbCB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIGxpdmUuIEknbGwgbGlrZWx5IGZpbmQgaXQgdW5kZXIgYGZzL25scy9LY29uZmlnYCwgb3Igc29tZXdoZXJlIHNpbWlsYXIgaWYgaXQncyBiZWVuIG1vdmVkIGFyb3VuZC4gVGhlbiwgSSdsbCB1c2UgYGdyZXBgIOKAkyB0aGF0J3MgdGhlIGZhc3Rlc3Qgd2F5IHRvIG5haWwgZG93biB3aGVyZSBgTkxTX0lTTzg4NTlfMTRgIGlzIGRlZmluZWQgYW5kIHdoYXQgZGVwZW5kZW5jaWVzIG9yIGJ1aWxkIG9wdGlvbnMgYXJlIHRpZWQgdG8gaXQuIFRoaXMgc2hvdWxkIGdpdmUgbWUgYSBzb2xpZCBzdGFydGluZyBwb2ludCBmb3IgdW5kZXJzdGFuZGluZyBob3cgdGhpcyBjaGFyYWN0ZXIgc2V0IGlzIG1hbmFnZWQgd2l0aGluIHRoZSBrZXJuZWwncyBOTFMgZnJhbWV3b3JrLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMTY2NCwiT3V0cHV0VG9rZW5zIjoyNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ5LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MTguMjU1Mzg5MTU0WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NjEzNTYxNDEwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIk5MU19JU084ODU5XzE0XCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gvYXJtL2NvbmZpZ3Mvam9ybmFkYTcyMF9kZWZjb25maWc9ODc9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL2FybS9jb25maWdzL2pvcm5hZGE3MjBfZGVmY29uZmlnOjg4OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9hcm0vY29uZmlncy9qb3JuYWRhNzIwX2RlZmNvbmZpZy04OS1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvYW1pZ2FfZGVmY29uZmlnPTQ4Nz1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbTY4ay9jb25maWdzL2FtaWdhX2RlZmNvbmZpZzo0ODg6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL202OGsvY29uZmlncy9hbWlnYV9kZWZjb25maWctNDg5LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL202OGsvY29uZmlncy9hcG9sbG9fZGVmY29uZmlnPTQ0Mj1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbTY4ay9jb25maWdzL2Fwb2xsb19kZWZjb25maWc6NDQzOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvYXBvbGxvX2RlZmNvbmZpZy00NDQtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbTY4ay9jb25maWdzL2F0YXJpX2RlZmNvbmZpZz00NjU9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL202OGsvY29uZmlncy9hdGFyaV9kZWZjb25maWc6NDY2OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvYXRhcmlfZGVmY29uZmlnLTQ2Ny1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvYnZtZTYwMDBfZGVmY29uZmlnPTQzND1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbTY4ay9jb25maWdzL2J2bWU2MDAwX2RlZmNvbmZpZzo0MzU6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL202OGsvY29uZmlncy9idm1lNjAwMF9kZWZjb25maWctNDM2LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL202OGsvY29uZmlncy9ocDMwMF9kZWZjb25maWc9NDQ0PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvaHAzMDBfZGVmY29uZmlnOjQ0NTpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbTY4ay9jb25maWdzL2hwMzAwX2RlZmNvbmZpZy00NDYtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbTY4ay9jb25maWdzL21hY19kZWZjb25maWc9NDYzPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvbWFjX2RlZmNvbmZpZzo0NjQ6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL202OGsvY29uZmlncy9tYWNfZGVmY29uZmlnLTQ2NS1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvbXVsdGlfZGVmY29uZmlnPTU1MD1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbTY4ay9jb25maWdzL211bHRpX2RlZmNvbmZpZzo1NTE6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL202OGsvY29uZmlncy9tdWx0aV9kZWZjb25maWctNTUyLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL202OGsvY29uZmlncy9tdm1lMTQ3X2RlZmNvbmZpZz00MzQ9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL202OGsvY29uZmlncy9tdm1lMTQ3X2RlZmNvbmZpZzo0MzU6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL202OGsvY29uZmlncy9tdm1lMTQ3X2RlZmNvbmZpZy00MzYtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbTY4ay9jb25maWdzL212bWUxNnhfZGVmY29uZmlnPTQzNT1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbTY4ay9jb25maWdzL212bWUxNnhfZGVmY29uZmlnOjQzNjpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbTY4ay9jb25maWdzL212bWUxNnhfZGVmY29uZmlnLTQzNy1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvcTQwX2RlZmNvbmZpZz00NTM9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL202OGsvY29uZmlncy9xNDBfZGVmY29uZmlnOjQ1NDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbTY4ay9jb25maWdzL3E0MF9kZWZjb25maWctNDU1LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL202OGsvY29uZmlncy9zdW4zX2RlZmNvbmZpZz00MzI9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL202OGsvY29uZmlncy9zdW4zX2RlZmNvbmZpZzo0MzM6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL202OGsvY29uZmlncy9zdW4zX2RlZmNvbmZpZy00MzQtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbTY4ay9jb25maWdzL3N1bjN4X2RlZmNvbmZpZz00MzI9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL202OGsvY29uZmlncy9zdW4zeF9kZWZjb25maWc6NDMzOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9tNjhrL2NvbmZpZ3Mvc3VuM3hfZGVmY29uZmlnLTQzNC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvYmlnc3VyX2RlZmNvbmZpZz0xOTA9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL21pcHMvY29uZmlncy9iaWdzdXJfZGVmY29uZmlnOjE5MTpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL2JpZ3N1cl9kZWZjb25maWctMTkyLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL21pcHMvY29uZmlncy9jaTIwX2RlZmNvbmZpZz0yMTE9Q09ORklHX05MU19JU084ODU5XzEzPXlcXG5hcmNoL21pcHMvY29uZmlncy9jaTIwX2RlZmNvbmZpZzoyMTI6Q09ORklHX05MU19JU084ODU5XzE0PXlcXG5hcmNoL21pcHMvY29uZmlncy9jaTIwX2RlZmNvbmZpZy0yMTMtQ09ORklHX05MU19JU084ODU5XzE1PXlcXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL2RlY3N0YXRpb25fNjRfZGVmY29uZmlnPTE2Nj1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbWlwcy9jb25maWdzL2RlY3N0YXRpb25fNjRfZGVmY29uZmlnOjE2NzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL2RlY3N0YXRpb25fNjRfZGVmY29uZmlnLTE2OC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9kZWZjb25maWc9MTYxPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9kZWZjb25maWc6MTYyOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9kZWZjb25maWctMTYzLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL21pcHMvY29uZmlncy9kZWNzdGF0aW9uX3I0a19kZWZjb25maWc9MTYxPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9yNGtfZGVmY29uZmlnOjE2MjpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL2RlY3N0YXRpb25fcjRrX2RlZmNvbmZpZy0xNjMtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL2lwMjJfZGVmY29uZmlnPTI5Nj1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbWlwcy9jb25maWdzL2lwMjJfZGVmY29uZmlnOjI5NzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL2lwMjJfZGVmY29uZmlnLTI5OC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvaXAzMl9kZWZjb25maWc9MTQ2PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvaXAzMl9kZWZjb25maWc6MTQ3OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvaXAzMl9kZWZjb25maWctMTQ4LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL21pcHMvY29uZmlncy9sZW1vdGUyZl9kZWZjb25maWc9MjkyPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvbGVtb3RlMmZfZGVmY29uZmlnOjI5MzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL2xlbW90ZTJmX2RlZmNvbmZpZy0yOTQtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL21hbHRhX2RlZmNvbmZpZz0zODI9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL21pcHMvY29uZmlncy9tYWx0YV9kZWZjb25maWc6MzgzOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGFfZGVmY29uZmlnLTM4NC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGFfa3ZtX2RlZmNvbmZpZz0zODk9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL21pcHMvY29uZmlncy9tYWx0YV9rdm1fZGVmY29uZmlnOjM5MDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL21hbHRhX2t2bV9kZWZjb25maWctMzkxLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL21pcHMvY29uZmlncy9tYWx0YXVwX3hwYV9kZWZjb25maWc9Mzg4PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGF1cF94cGFfZGVmY29uZmlnOjM4OTpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL21hbHRhdXBfeHBhX2RlZmNvbmZpZy0zOTAtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL210eDFfZGVmY29uZmlnPTYxMz1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbWlwcy9jb25maWdzL210eDFfZGVmY29uZmlnOjYxNDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL210eDFfZGVmY29uZmlnLTYxNS1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3Mvb21lZ2EycF9kZWZjb25maWc9MTA2PUNPTkZJR19OTFNfSVNPODg1OV8xMz15XFxuYXJjaC9taXBzL2NvbmZpZ3Mvb21lZ2EycF9kZWZjb25maWc6MTA3OkNPTkZJR19OTFNfSVNPODg1OV8xND15XFxuYXJjaC9taXBzL2NvbmZpZ3Mvb21lZ2EycF9kZWZjb25maWctMTA4LUNPTkZJR19OTFNfSVNPODg1OV8xNT15XFxuLS1cXG5hcmNoL21pcHMvY29uZmlncy9xaV9sYjYwX2RlZmNvbmZpZz0xNTg9Q09ORklHX05MU19JU084ODU5XzEzPXlcXG5hcmNoL21pcHMvY29uZmlncy9xaV9sYjYwX2RlZmNvbmZpZzoxNTk6Q09ORklHX05MU19JU084ODU5XzE0PXlcXG5hcmNoL21pcHMvY29uZmlncy9xaV9sYjYwX2RlZmNvbmZpZy0xNjAtQ09ORklHX05MU19JU084ODU5XzE1PXlcXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL3JtMjAwX2RlZmNvbmZpZz0zNjc9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL21pcHMvY29uZmlncy9ybTIwMF9kZWZjb25maWc6MzY4OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9taXBzL2NvbmZpZ3Mvcm0yMDBfZGVmY29uZmlnLTM2OS1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3Mvdm9jb3JlMl9kZWZjb25maWc9MTA2PUNPTkZJR19OTFNfSVNPODg1OV8xMz15XFxuYXJjaC9taXBzL2NvbmZpZ3Mvdm9jb3JlMl9kZWZjb25maWc6MTA3OkNPTkZJR19OTFNfSVNPODg1OV8xND15XFxuYXJjaC9taXBzL2NvbmZpZ3Mvdm9jb3JlMl9kZWZjb25maWctMTA4LUNPTkZJR19OTFNfSVNPODg1OV8xNT15XFxuLS1cXG5hcmNoL3Bvd2VycGMvY29uZmlncy84NXh4L2dlX2ltcDNhX2RlZmNvbmZpZz0yMTg9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL3Bvd2VycGMvY29uZmlncy84NXh4L2dlX2ltcDNhX2RlZmNvbmZpZzoyMTk6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL3Bvd2VycGMvY29uZmlncy84NXh4L2dlX2ltcDNhX2RlZmNvbmZpZy0yMjAtQ09ORklHX05MU19JU084ODU5XzE1PXlcXG4tLVxcbmFyY2gvcG93ZXJwYy9jb25maWdzL2NlbGxfZGVmY29uZmlnPTE5MT1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvcG93ZXJwYy9jb25maWdzL2NlbGxfZGVmY29uZmlnOjE5MjpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvcG93ZXJwYy9jb25maWdzL2NlbGxfZGVmY29uZmlnLTE5My1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9wb3dlcnBjL2NvbmZpZ3MvcHBjNnh4X2RlZmNvbmZpZz0xMDAzPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9wb3dlcnBjL2NvbmZpZ3MvcHBjNnh4X2RlZmNvbmZpZzoxMDA0OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9wb3dlcnBjL2NvbmZpZ3MvcHBjNnh4X2RlZmNvbmZpZy0xMDA1LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL3NoL2NvbmZpZ3MvZXNwdF9kZWZjb25maWc9MTAzPUNPTkZJR19OTFNfSVNPODg1OV8xMz15XFxuYXJjaC9zaC9jb25maWdzL2VzcHRfZGVmY29uZmlnOjEwNDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9eVxcbmFyY2gvc2gvY29uZmlncy9lc3B0X2RlZmNvbmZpZy0xMDUtQ09ORklHX05MU19JU084ODU5XzE1PXlcXG4tLVxcbmFyY2gvc2gvY29uZmlncy9zaDAzX2RlZmNvbmZpZz0xMDk9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL3NoL2NvbmZpZ3Mvc2gwM19kZWZjb25maWc6MTEwOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9zaC9jb25maWdzL3NoMDNfZGVmY29uZmlnLTExMS1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9zaC9jb25maWdzL3NoMjAwN19kZWZjb25maWc9MTUwPUNPTkZJR19OTFNfSVNPODg1OV8xMz15XFxuYXJjaC9zaC9jb25maWdzL3NoMjAwN19kZWZjb25maWc6MTUxOkNPTkZJR19OTFNfSVNPODg1OV8xND15XFxuYXJjaC9zaC9jb25maWdzL3NoMjAwN19kZWZjb25maWctMTUyLUNPTkZJR19OTFNfSVNPODg1OV8xNT15XFxuLS1cXG5hcmNoL3NoL2NvbmZpZ3Mvc2g3NzYzcmRwX2RlZmNvbmZpZz0xMDU9Q09ORklHX05MU19JU084ODU5XzEzPXlcXG5hcmNoL3NoL2NvbmZpZ3Mvc2g3NzYzcmRwX2RlZmNvbmZpZzoxMDY6Q09ORklHX05MU19JU084ODU5XzE0PXlcXG5hcmNoL3NoL2NvbmZpZ3Mvc2g3NzYzcmRwX2RlZmNvbmZpZy0xMDctQ09ORklHX05MU19JU084ODU5XzE1PXlcXG4tLVxcbmZzL25scy9LY29uZmlnPTQwMT1jb25maWcgTkxTX0lTTzg4NTlfMTNcXG4tLVxcbmZzL25scy9LY29uZmlnLTQxMC1cXG5mcy9ubHMvS2NvbmZpZzo0MTE6Y29uZmlnIE5MU19JU084ODU5XzE0XFxuZnMvbmxzL0tjb25maWctNDEyLVxcdHRyaXN0YXRlIFxcXCJOTFMgSVNPIDg4NTktMTQgKExhdGluIDg7IENlbHRpYylcXFwiXFxuLS1cXG5mcy9ubHMvTWFrZWZpbGU9NDA9b2JqLSQoQ09ORklHX05MU19JU084ODU5XzEzKVxcdCs9IG5sc19pc284ODU5LTEzLm9cXG5mcy9ubHMvTWFrZWZpbGU6NDE6b2JqLSQoQ09ORklHX05MU19JU084ODU5XzE0KVxcdCs9IG5sc19pc284ODU5LTE0Lm9cXG5mcy9ubHMvTWFrZWZpbGUtNDItb2JqLSQoQ09ORklHX05MU19JU084ODU5XzE1KVxcdCs9IG5sc19pc284ODU5LTE1Lm9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MjMuODY4OTU2NjY0WiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjEyODY5NzUxNjk0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZTpcblxuKipLY29uZmlnIERpdmUqKlxuXG5BbHJpZ2h0LCBsZXQncyB6ZXJvIGluIG9uIGBmcy9ubHMvS2NvbmZpZ2AuIEknbSB0aGlua2luZyBzcGVjaWZpY2FsbHkgYXJvdW5kIGxpbmUgNDExLiBJIHN1c3BlY3QgdGhlcmUgbWlnaHQgYmUgc29tZXRoaW5nIGludGVyZXN0aW5nIHRoZXJlIHRoYXQgbmVlZHMgYSBkZWVwZXIgbG9vay4gTXkgaW50dWl0aW9uIGlzIHRlbGxpbmcgbWUgdGhlcmUgbWlnaHQgYmUgYSBzdWJ0bGUgbnVhbmNlIHJlbGF0aW5nIHRvIHRoZSBOTFMgc3Vic3lzdGVtJ3MgY29uZmlndXJhdGlvbiBvcHRpb25zLiBMZXQncyBzZWUgaWYgbXkgaHVuY2ggaXMgY29ycmVjdC4gSSBoYXZlIGEgZmVlbGluZyB0aGUgaW50ZXJhY3Rpb24gb2Ygb3B0aW9ucyBpbiB0aGlzIGFyZWEgaXMgc29tZXRoaW5nIHRoYXQgbmVlZHMgYSByZS1sb29rIGluIGRldGFpbCBhbmQgaW4gdGVybXMgb2YgaXRzIGltcGFjdCBhY3Jvc3MgdGhlIG90aGVyIEtjb25maWcgZmlsZXMuIFRpbWUgdG8gc3RhcnQgZGlnZ2luZy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjU5MTUsIk91dHB1dFRva2VucyI6MzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDozNi43Mzg3MTI5NzhaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTg5NTUwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9LY29uZmlnXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDQwNSxcbiAgXCJMaW5lQ291bnRcIjogMjVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDQwNTpcXHRcXHQgIGZyb20gdGhlIE1pY3Jvc29mdCBGQVQgZmlsZSBzeXN0ZW0gZmFtaWx5IG9yIGZyb20gSk9MSUVUIENELVJPTXNcXG4gNDA2OlxcdFxcdCAgY29ycmVjdGx5IG9uIHRoZSBzY3JlZW4sIHlvdSBuZWVkIHRvIGluY2x1ZGUgdGhlIGFwcHJvcHJpYXRlXFxuIDQwNzpcXHRcXHQgIGlucHV0L291dHB1dCBjaGFyYWN0ZXIgc2V0cy4gU2F5IFkgaGVyZSBmb3IgdGhlIExhdGluIDcgY2hhcmFjdGVyXFxuIDQwODpcXHRcXHQgIHNldCwgd2hpY2ggc3VwcG9ydHMgbW9kZXJuIEJhbHRpYyBsYW5ndWFnZXMgaW5jbHVkaW5nIExhdHZpYW5cXG4gNDA5OlxcdFxcdCAgYW5kIExpdGh1YW5pYW4uXFxuIDQxMDpcXHRcXG4gNDExOlxcdGNvbmZpZyBOTFNfSVNPODg1OV8xNFxcbiA0MTI6XFx0XFx0dHJpc3RhdGUgXFxcIk5MUyBJU08gODg1OS0xNCAoTGF0aW4gODsgQ2VsdGljKVxcXCJcXG4gNDEzOlxcdFxcdGhlbHBcXG4gNDE0OlxcdFxcdCAgSWYgeW91IHdhbnQgdG8gZGlzcGxheSBmaWxlbmFtZXMgd2l0aCBuYXRpdmUgbGFuZ3VhZ2UgY2hhcmFjdGVyc1xcbiA0MTU6XFx0XFx0ICBmcm9tIHRoZSBNaWNyb3NvZnQgRkFUIGZpbGUgc3lzdGVtIGZhbWlseSBvciBmcm9tIEpPTElFVCBDRC1ST01zXFxuIDQxNjpcXHRcXHQgIGNvcnJlY3RseSBvbiB0aGUgc2NyZWVuLCB5b3UgbmVlZCB0byBpbmNsdWRlIHRoZSBhcHByb3ByaWF0ZVxcbiA0MTc6XFx0XFx0ICBpbnB1dC9vdXRwdXQgY2hhcmFjdGVyIHNldHMuIFNheSBZIGhlcmUgZm9yIHRoZSBMYXRpbiA4IGNoYXJhY3RlclxcbiA0MTg6XFx0XFx0ICBzZXQsIHdoaWNoIGFkZHMgdGhlIGxhc3QgYWNjZW50ZWQgdm93ZWxzIGZvciBXZWxzaCAoYWthIEN5bXJhZWcpXFxuIDQxOTpcXHRcXHQgIChhbmQgTWFueCBHYWVsaWMpIHRoYXQgd2VyZSBtaXNzaW5nIGluIExhdGluIDEuXFxuIDQyMDpcXHRcXHQgIFxcdTAwM2NodHRwOi8vbGludXguc3BlZWNoLmN5bXJ1Lm9yZy9cXHUwMDNlIGhhcyBmdXJ0aGVyIGluZm9ybWF0aW9uLlxcbiA0MjE6XFx0XFxuIDQyMjpcXHRjb25maWcgTkxTX0lTTzg4NTlfMTVcXG4gNDIzOlxcdFxcdHRyaXN0YXRlIFxcXCJOTFMgSVNPIDg4NTktMTUgKExhdGluIDk7IFdlc3Rlcm4gRXVyb3BlYW4gTGFuZ3VhZ2VzIHdpdGggRXVybylcXFwiXFxuIDQyNDpcXHRcXHRoZWxwXFxuIDQyNTpcXHRcXHQgIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgZmlsZW5hbWVzIHdpdGggbmF0aXZlIGxhbmd1YWdlIGNoYXJhY3RlcnNcXG4gNDI2OlxcdFxcdCAgZnJvbSB0aGUgTWljcm9zb2Z0IEZBVCBmaWxlIHN5c3RlbSBmYW1pbHkgb3IgZnJvbSBKT0xJRVQgQ0QtUk9Nc1xcbiA0Mjc6XFx0XFx0ICBjb3JyZWN0bHkgb24gdGhlIHNjcmVlbiwgeW91IG5lZWQgdG8gaW5jbHVkZSB0aGUgYXBwcm9wcmlhdGVcXG4gNDI4OlxcdFxcdCAgaW5wdXQvb3V0cHV0IGNoYXJhY3RlciBzZXRzLiBTYXkgWSBoZXJlIGZvciB0aGUgTGF0aW4gOSBjaGFyYWN0ZXJcXG4gNDI5OlxcdFxcdCAgc2V0LCB3aGljaCBjb3ZlcnMgbW9zdCBXZXN0IEV1cm9wZWFuIGxhbmd1YWdlcyBzdWNoIGFzIEFsYmFuaWFuLFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDozNi43Mzg5MDUzOThaIiwiU2VxIjoxNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6MTcxODkyMzkxNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgYXMgaWYgSSB3ZXJlIHRoaW5raW5nIGl0OlxuXG4qKkV4YW1pbmluZyB0aGUgRGVwZW5kZW5jeSBTdHJ1Y3R1cmUgb2YgQ2hhcmFjdGVyIFNldHMqKlxuXG5BbHJpZ2h0LCBsZXQncyBnZXQgZG93biB0byBicmFzcyB0YWNrcy4gSSdtIGxvb2tpbmcgYXQgYE5MU19JU084ODU5XzE0YCBoZXJlIGFuZCBJJ20gcHJldHR5IHN1cmUgaXQgZGVwZW5kcyBvbiBgTkxTYC4uLiBidXQgSSBuZWVkIHRvIGNvbmZpcm0gdGhhdC4gR290dGEgYmUgdGhvcm91Z2guIFNvLCBJJ2xsIHN0YXJ0IGF0IHRoZSB0b3Agb2YgdGhlIHJlbGV2YW50IGBLY29uZmlnYCBmaWxlIOKAkyBwcm9iYWJseSBgZnMvbmxzL0tjb25maWdgIOKAkyBhbmQgdHJhY2UgdGhpcyB0aHJvdWdoIHN5c3RlbWF0aWNhbGx5LiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgY29uZmlndXJhdGlvbiByZWxhdGlvbnNoaXBzIHByZWNpc2VseSwgYW5kIGxvb2tpbmcgYXQgdGhlIHNvdXJjZSBpcyB0aGUgb25seSB3YXkgdG8gYmUgY2VydGFpbi4gVGltZSB0byBkaXZlIGluIGFuZCBjb25maXJtIG15IGFzc3VtcHRpb25zIHdpdGggZXZpZGVuY2UuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI2NjAzLCJPdXRwdXRUb2tlbnMiOjMzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzksIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDozOC40NTc4MzI4NDRaIiwiU2VxIjoxNiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTUyMzAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9LY29uZmlnXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDQwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuICAgMjpcXHQjXFxuICAgMzpcXHQjIE5hdGl2ZSBsYW5ndWFnZSBzdXBwb3J0IGNvbmZpZ3VyYXRpb25cXG4gICA0OlxcdCNcXG4gICA1OlxcdFxcbiAgIDY6XFx0bWVudWNvbmZpZyBOTFNcXG4gICA3OlxcdFxcdHRyaXN0YXRlIFxcXCJOYXRpdmUgbGFuZ3VhZ2Ugc3VwcG9ydFxcXCJcXG4gICA4OlxcdFxcdGhlbHBcXG4gICA5OlxcdFxcdCAgVGhlIGJhc2UgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQuIEEgbnVtYmVyIG9mIGZpbGVzeXN0ZW1zXFxuICAxMDpcXHRcXHQgIGRlcGVuZCBvbiBpdCAoZS5nLiBGQVQsIEpPTElFVCwgTlQsIEJFT1MgZmlsZXN5c3RlbXMpLCBhcyB3ZWxsXFxuICAxMTpcXHRcXHQgIGFzIHRoZSBhYmlsaXR5IG9mIHNvbWUgZmlsZXN5c3RlbXMgdG8gdXNlIG5hdGl2ZSBsYW5ndWFnZXNcXG4gIDEyOlxcdFxcdCAgKE5DUCwgU01CKS5cXG4gIDEzOlxcdFxcbiAgMTQ6XFx0XFx0ICBJZiB1bnN1cmUsIHNheSBZLlxcbiAgMTU6XFx0XFxuICAxNjpcXHRcXHQgIFRvIGNvbXBpbGUgdGhpcyBjb2RlIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlXFxuICAxNzpcXHRcXHQgIHdpbGwgYmUgY2FsbGVkIG5sc19iYXNlLlxcbiAgMTg6XFx0XFxuICAxOTpcXHRpZiBOTFNcXG4gIDIwOlxcdFxcbiAgMjE6XFx0Y29uZmlnIE5MU19ERUZBVUxUXFxuICAyMjpcXHRcXHRzdHJpbmcgXFxcIkRlZmF1bHQgTkxTIE9wdGlvblxcXCJcXG4gIDIzOlxcdFxcdGRlZmF1bHQgXFxcImlzbzg4NTktMVxcXCJcXG4gIDI0OlxcdFxcdGhlbHBcXG4gIDI1OlxcdFxcdCAgVGhlIGRlZmF1bHQgTkxTIHVzZWQgd2hlbiBtb3VudGluZyBmaWxlIHN5c3RlbS4gTm90ZSwgdGhhdCB0aGlzIGlzXFxuICAyNjpcXHRcXHQgIHRoZSBOTFMgdXNlZCBieSB5b3VyIGNvbnNvbGUsIG5vdCB0aGUgTkxTIHVzZWQgYnkgYSBzcGVjaWZpYyBmaWxlXFxuICAyNzpcXHRcXHQgIHN5c3RlbSAoaWYgZGlmZmVyZW50KSB0byBzdG9yZSBkYXRhIChmaWxlbmFtZXMpIG9uIGEgZGlzay5cXG4gIDI4OlxcdFxcdCAgQ3VycmVudGx5LCB0aGUgdmFsaWQgdmFsdWVzIGFyZTpcXG4gIDI5OlxcdFxcdCAgYmlnNSwgY3A0MzcsIGNwNzM3LCBjcDc3NSwgY3A4NTAsIGNwODUyLCBjcDg1NSwgY3A4NTcsIGNwODYwLCBjcDg2MSxcXG4gIDMwOlxcdFxcdCAgY3A4NjIsIGNwODYzLCBjcDg2NCwgY3A4NjUsIGNwODY2LCBjcDg2OSwgY3A4NzQsIGNwOTMyLCBjcDkzNixcXG4gIDMxOlxcdFxcdCAgY3A5NDksIGNwOTUwLCBjcDEyNTEsIGNwMTI1NSwgZXVjLWpwLCBldWMta3IsIGdiMjMxMiwgaXNvODg1OS0xLFxcbiAgMzI6XFx0XFx0ICBpc284ODU5LTIsIGlzbzg4NTktMywgaXNvODg1OS00LCBpc284ODU5LTUsIGlzbzg4NTktNiwgaXNvODg1OS03LFxcbiAgMzM6XFx0XFx0ICBpc284ODU5LTgsIGlzbzg4NTktOSwgaXNvODg1OS0xMywgaXNvODg1OS0xNCwgaXNvODg1OS0xNSxcXG4gIDM0OlxcdFxcdCAga29pOC1yLCBrb2k4LXJ1LCBrb2k4LXUsIHNqaXMsIHRpcy02MjAsIG1hY3JvbWFuLCB1dGY4LlxcbiAgMzU6XFx0XFx0ICBJZiB5b3Ugc3BlY2lmeSBhIHdyb25nIHZhbHVlLCBpdCB3aWxsIHVzZSB0aGUgYnVpbHQtaW4gTkxTO1xcbiAgMzY6XFx0XFx0ICBjb21wYXRpYmxlIHdpdGggaXNvODg1OS0xLlxcbiAgMzc6XFx0XFxuICAzODpcXHRcXHQgIElmIHVuc3VyZSwgc3BlY2lmeSBpdCBhcyBcXFwiaXNvODg1OS0xXFxcIi5cXG4gIDM5OlxcdFxcbiAgNDA6XFx0Y29uZmlnIE5MU19DT0RFUEFHRV80MzdcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MzguNDU3OTg4MTE0WiIsIlNlcSI6MTcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjgzODk1MjA2MTYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHlzaXMgb2YgdGhlIG5sc19pc284ODU5LTE0IFBhdGNoIGFuZCBGdXp6aW5nIFN1aXRhYmlsaXR5KipcblxuT2theSwgbGV0J3MgYnJlYWsgZG93biB0aGlzIHBhdGNoLiBNeSBpbml0aWFsIGFzc2Vzc21lbnQgaXMgdGhhdCBpdCBsb29rcyBsaWtlIGEgY29ycmVjdGlvbiB0byB0aGUgYG5sc19pc284ODU5LTE0YCBjaGFyYWN0ZXIgZW5jb2RpbmcgdGFibGUsIHNwZWNpZmljYWxseSB0aGUgYHBhZ2UwMWAgYW5kIGBwYWdlMWVgIGxvb2t1cCB0YWJsZXMgd2l0aGluIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AuIEl0IGFwcGVhcnMgdGhlcmUgd2VyZSBpbmNvcnJlY3QgbWFwcGluZ3Mgb2YgVW5pY29kZSBjaGFyYWN0ZXJzIHRvIHRoZWlyIGNvcnJlc3BvbmRpbmcgSVNPIDg4NTktMTQgY2hhcnNldCByZXByZXNlbnRhdGlvbnMuIFRoZSBwYXRjaCBjb3JyZWN0cyBkaXNjcmVwYW5jaWVzIEkgc2F3IHdoZXJlIHRoZSBtYXBwaW5ncyB3ZXJlIGluY29uc2lzdGVudCB3aXRoIHRoZSBkb2N1bWVudGVkIHN0YW5kYXJkLCBmaXhpbmcgZW50cmllcyBsaWtlIHRob3NlIGZvciBVKzAxMDIgYW5kIFUrMUUwMi4gVGhpcyBpcyBkZWZpbml0ZWx5IGEgZml4IVxuXG5Ob3csIHRoZSBpbXBvcnRhbnQgcXVlc3Rpb246IElzIHRoaXMgY29kZSByZWFjaGFibGUgYW5kIGZ1enphYmxlPyAgWWVzLCBhYnNvbHV0ZWx5LiBUaGVzZSBOTFMgdGFibGVzIGFyZSBjcnVjaWFsIGZvciBmaWxlc3lzdGVtIG9wZXJhdGlvbnMsIHNwZWNpZmljYWxseSBjaGFyYWN0ZXIgZW5jb2RpbmcgdHJhbnNsYXRpb25zLiBUaGV5IGdldCB1c2VkIGluIGEgbnVtYmVyIG9mIGZpbGVzeXN0ZW1zIHN1Y2ggYXMgRkFULCBJU09GUywgTlRGUyBhbmQgQ0lGUy4gSWYgYSBmaWxlc3lzdGVtIGlzIG1vdW50ZWQgd2l0aCBhbiBgaW9jaGFyc2V0YCBvcHRpb24sIG9yIE5MUyBpcyBzcGVjaWZpZWQsIHRoaXMgY29kZSBnZXRzIGV4ZXJjaXNlZC4gU3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgYXJlIHN1ZmZpY2llbnQgdG8gaGl0IHRoZXNlIGNvZGUgcGF0aHMsIGFuZCBJIGtub3cgdGhpcyBpcyBhIGtleSBjb25zaWRlcmF0aW9uLlxuXG5MZXQncyByZXZpZXcgdGhlIGd1aWRlbGluZXMgdG8gYmUgY2VydGFpbi4gV2UncmUgbG9va2luZyBhdCBwb3RlbnRpYWxseSBleHBvc2luZyBidWdzLCByZWdyZXNzaW9ucywgb3IgYXNzZXJ0aW9ucy4gVGhpcyBwYXRjaCBtb2RpZmllcyBleGVjdXRhYmxlIGNvZGUgKHRoZSBgdW5pMmNoYXJgIGFuZCBgY2hhcjJ1bmlgIGZ1bmN0aW9ucywgZXZlbiB0aG91Z2ggc3RhdGljIGluIHRoZSBDIGZpbGUpLiBXZSBuZWVkIHRvIGRldGVybWluZSBpZiBpdCBpcyByZWFjaGFibGUgY29kZSwgYW5kIEkga25vdyBpdCBpcy4gSXQncyBub3QgZG9jdW1lbnRhdGlvbiwgbm90IHVzZXItc3BhY2UsIG5vdCBkZWNvcmF0aXZlIGxvZ2dpbmcsIGFuZCBpdCBkb2Vzbid0IGludm9sdmUgc29tZSB1bnJlYWNoYWJsZSBoYXJkd2FyZSBkcml2ZXIgb3IgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIGNvZGUuIFRoaXMgaXMgYSBjbGVhciBjYXNlIGZvciBgV29ydGhGdXp6aW5nPXRydWVgLlxuXG5Ob3csIGFib3V0IEZvY3VzU3ltYm9scy4gIFdlIG5lZWQgdG8ga25vdyB0aGUgc3ltYm9scyBpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIHRoYXQgYXJlIGFmZmVjdGVkLiBUaGUga2V5IGZ1bmN0aW9ucyBJIHNlZSBhcmUgYHVuaTJjaGFyYCBhbmQgYGNoYXIydW5pYC4gQmVjYXVzZSB0aGV5IGFyZSBzdGF0aWMsIEkgaW5pdGlhbGx5IHRob3VnaHQgdGhleSBtaWdodCBiZSBpbmxpbmVkLiBCdXQgd2FpdCwgc2luY2UgdGhlaXIgYWRkcmVzc2VzIGFyZSBhc3NpZ25lZCB0byB0aGUgYC51bmkyY2hhcmAgYW5kIGAuY2hhcjJ1bmlgIG1lbWJlcnMgb2YgYG5sc190YWJsZWAsIHRoZXNlIGZ1bmN0aW9ucyAqY2Fubm90KiBiZSBpbmxpbmVkLiAgVGhpcyBtZWFucyB0aGVzZSBmdW5jdGlvbnMgaGF2ZSBzeW1ib2xzIGluIHRoZSBrZXJuZWwgaW1hZ2UgKHZtbGludXgpLiBTbywgeWVzLCB0aGVzZSBmdW5jdGlvbnMgYXJlIGRlZmluaXRlbHkgY2FsbGFibGUuXG5cbldlJ3JlIGdvaW5nIHRvIG5lZWQgdG8gZmlndXJlIG91dCBob3cgc3l6a2FsbGVyIGhhbmRsZXMgc3RhdGljIGZ1bmN0aW9uIG5hbWVzLCB3aGljaCB3aWxsIGluZm9ybSBvdXIgRm9jdXNTeW1ib2xzIGxpc3QuICBUaGVyZSBhcmUgbGlrZWx5IGJhc2Ugc3ltYm9scyBhdmFpbGFibGUgZnJvbSBrYWxsc3ltcywgYnV0IHdlJ2xsIG5lZWQgdG8gZG91YmxlIGNoZWNrIHRoZSBleGFjdCBuYW1pbmcgc2NoZW1lIChzdWNoIGFzIHdoZXRoZXIgdGhlcmUgYXJlIHZhcmlhdGlvbnMgbGlrZSBgLmlzcmEuMGApLiBUbyBiZSB0aG9yb3VnaCwgbGV0J3MgYWxzbyBjaGVjayBvdGhlciBmdW5jdGlvbnMgb3IgY2FsbGVycyBpbiBgZnMvbmxzYCBvciBgaW5jbHVkZS9saW51eC9ubHMuaGAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI3NTk1LCJPdXRwdXRUb2tlbnMiOjI3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTk1OCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE0OjQ2Ljg0NzUxMjc1WiIsIlNlcSI6MTgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNDE1OTM0ODYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwidW5pMmNoYXJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZnMvbmxzXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIlxcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgMTI5MCBsaW5lcy5cXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXFxuXFxuZnMvbmxzL21hYy1jZWx0aWMuYz00MTU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI2WzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLWNlbHRpYy5jLTQ0OS1cXG5mcy9ubHMvbWFjLWNlbHRpYy5jOjQ1MDpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9tYWMtY2VsdGljLmMtNDUxLVxcdHBhZ2UwMCwgcGFnZTAxLCBOVUxMLCAgIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcXG4tLVxcbmZzL25scy9tYWMtY2VsdGljLmM9NTIwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtY2VsdGljLmMtNTU0LVxcbmZzL25scy9tYWMtY2VsdGljLmM6NTU1OnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9tYWMtY2VsdGljLmMtNTU2LXtcXG5mcy9ubHMvbWFjLWNlbHRpYy5jOjU1NzpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbWFjLWNlbHRpYy5jLTU1OC1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL21hYy1jZWx0aWMuYy01NjMtXFxuZnMvbmxzL21hYy1jZWx0aWMuYzo1NjQ6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbWFjLWNlbHRpYy5jOjU2NTpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9tYWMtY2VsdGljLmM6NTY2OlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbWFjLWNlbHRpYy5jLTU2Ny1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbWFjLWNlbHRpYy5jPTU4MD1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbWFjLWNlbHRpYy5jLTU4MS1cXHQuY2hhcnNldFxcdD0gXFxcIm1hY2NlbHRpY1xcXCIsXFxuZnMvbmxzL21hYy1jZWx0aWMuYzo1ODI6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbWFjLWNlbHRpYy5jLTU4My1cXHQuY2hhcjJ1bmlcXHQ9IGNoYXIydW5pLFxcbi0tXFxuZnMvbmxzL21hYy1jZW50ZXVyby5jPTM0NT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjVbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtY2VudGV1cm8uYy0zNzktXFxuZnMvbmxzL21hYy1jZW50ZXVyby5jOjM4MDpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9tYWMtY2VudGV1cm8uYy0zODEtXFx0cGFnZTAwLCBwYWdlMDEsIHBhZ2UwMiwgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxcbi0tXFxuZnMvbmxzL21hYy1jZW50ZXVyby5jPTQ1MD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLWNlbnRldXJvLmMtNDg0LVxcbmZzL25scy9tYWMtY2VudGV1cm8uYzo0ODU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL21hYy1jZW50ZXVyby5jLTQ4Ni17XFxuZnMvbmxzL21hYy1jZW50ZXVyby5jOjQ4NzpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbWFjLWNlbnRldXJvLmMtNDg4LVxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuLS1cXG5mcy9ubHMvbWFjLWNlbnRldXJvLmMtNDkzLVxcbmZzL25scy9tYWMtY2VudGV1cm8uYzo0OTQ6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbWFjLWNlbnRldXJvLmM6NDk1OlxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuZnMvbmxzL21hYy1jZW50ZXVyby5jOjQ5NjpcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuZnMvbmxzL21hYy1jZW50ZXVyby5jLTQ5Ny1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbWFjLWNlbnRldXJvLmM9NTEwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xcbmZzL25scy9tYWMtY2VudGV1cm8uYy01MTEtXFx0LmNoYXJzZXRcXHQ9IFxcXCJtYWNjZW50ZXVyb1xcXCIsXFxuZnMvbmxzL21hYy1jZW50ZXVyby5jOjUxMjpcXHQudW5pMmNoYXJcXHQ9IHVuaTJjaGFyLFxcbmZzL25scy9tYWMtY2VudGV1cm8uYy01MTMtXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9tYWMtY3JvYXRpYW4uYz00MTU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZWY4WzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNDQ5LVxcbmZzL25scy9tYWMtY3JvYXRpYW4uYzo0NTA6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNDUxLVxcdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcXG4tLVxcbmZzL25scy9tYWMtY3JvYXRpYW4uYz01MjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL21hYy1jcm9hdGlhbi5jLTU1NC1cXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmM6NTU1OnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9tYWMtY3JvYXRpYW4uYy01NTYte1xcbmZzL25scy9tYWMtY3JvYXRpYW4uYzo1NTc6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL21hYy1jcm9hdGlhbi5jLTU1OC1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL21hYy1jcm9hdGlhbi5jLTU2My1cXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmM6NTY0OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL21hYy1jcm9hdGlhbi5jOjU2NTpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9tYWMtY3JvYXRpYW4uYzo1NjY6XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9tYWMtY3JvYXRpYW4uYy01NjctXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL21hYy1jcm9hdGlhbi5jPTU4MD1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNTgxLVxcdC5jaGFyc2V0XFx0PSBcXFwibWFjY3JvYXRpYW5cXFwiLFxcbmZzL25scy9tYWMtY3JvYXRpYW4uYzo1ODI6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNTgzLVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuLS1cXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM9MzEwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyMlsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL21hYy1jeXJpbGxpYy5jLTM0NC1cXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6MzQ1OnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuZnMvbmxzL21hYy1jeXJpbGxpYy5jLTM0Ni1cXHRwYWdlMDAsIHBhZ2UwMSwgTlVMTCwgICBOVUxMLCAgIHBhZ2UwNCwgTlVMTCwgICBOVUxMLCAgIE5VTEwsXFxuLS1cXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM9NDE1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NDktXFxuZnMvbmxzL21hYy1jeXJpbGxpYy5jOjQ1MDpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcXG5mcy9ubHMvbWFjLWN5cmlsbGljLmMtNDUxLXtcXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6NDUyOlxcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xcbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NTMtXFx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcXHUwMDI2IDB4MDBmZjtcXG4tLVxcbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NTgtXFxuZnMvbmxzL21hYy1jeXJpbGxpYy5jOjQ1OTpcXHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xcbmZzL25scy9tYWMtY3lyaWxsaWMuYzo0NjA6XFx0aWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6NDYxOlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbWFjLWN5cmlsbGljLmMtNDYyLVxcdGVsc2VcXG4tLVxcbmZzL25scy9tYWMtY3lyaWxsaWMuYz00NzU9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuZnMvbmxzL21hYy1jeXJpbGxpYy5jLTQ3Ni1cXHQuY2hhcnNldFxcdD0gXFxcIm1hY2N5cmlsbGljXFxcIixcXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6NDc3OlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL21hYy1jeXJpbGxpYy5jLTQ3OC1cXHQuY2hhcjJ1bmlcXHQ9IGNoYXIydW5pLFxcbi0tXFxuZnMvbmxzL21hYy1nYWVsaWMuYz0zODA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI2WzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTQxNC1cXG5mcy9ubHMvbWFjLWdhZWxpYy5jOjQxNTpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9tYWMtZ2FlbGljLmMtNDE2LVxcdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcXG4tLVxcbmZzL25scy9tYWMtZ2FlbGljLmM9NDg1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtZ2FlbGljLmMtNTE5LVxcbmZzL25scy9tYWMtZ2FlbGljLmM6NTIwOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9tYWMtZ2FlbGljLmMtNTIxLXtcXG5mcy9ubHMvbWFjLWdhZWxpYy5jOjUyMjpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTUyMy1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL21hYy1nYWVsaWMuYy01MjgtXFxuZnMvbmxzL21hYy1nYWVsaWMuYzo1Mjk6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbWFjLWdhZWxpYy5jOjUzMDpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9tYWMtZ2FlbGljLmM6NTMxOlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTUzMi1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbWFjLWdhZWxpYy5jPTU0NT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTU0Ni1cXHQuY2hhcnNldFxcdD0gXFxcIm1hY2dhZWxpY1xcXCIsXFxuZnMvbmxzL21hYy1nYWVsaWMuYzo1NDc6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTU0OC1cXHQuY2hhcjJ1bmlcXHQ9IGNoYXIydW5pLFxcbi0tXFxuZnMvbmxzL21hYy1ncmVlay5jPTMxMD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtZ3JlZWsuYy0zNDQtXFxuZnMvbmxzL21hYy1ncmVlay5jOjM0NTpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9tYWMtZ3JlZWsuYy0zNDYtXFx0cGFnZTAwLCBwYWdlMDEsIE5VTEwsICAgcGFnZTAzLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxcbi0tXFxuZnMvbmxzL21hYy1ncmVlay5jPTQxNT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLWdyZWVrLmMtNDQ5LVxcbmZzL25scy9tYWMtZ3JlZWsuYzo0NTA6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL21hYy1ncmVlay5jLTQ1MS17XFxuZnMvbmxzL21hYy1ncmVlay5jOjQ1MjpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbWFjLWdyZWVrLmMtNDUzLVxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuLS1cXG5mcy9ubHMvbWFjLWdyZWVrLmMtNDU4LVxcbmZzL25scy9tYWMtZ3JlZWsuYzo0NTk6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbWFjLWdyZWVrLmM6NDYwOlxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuZnMvbmxzL21hYy1ncmVlay5jOjQ2MTpcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuZnMvbmxzL21hYy1ncmVlay5jLTQ2Mi1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbWFjLWdyZWVrLmM9NDc1PXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xcbmZzL25scy9tYWMtZ3JlZWsuYy00NzYtXFx0LmNoYXJzZXRcXHQ9IFxcXCJtYWNncmVla1xcXCIsXFxuZnMvbmxzL21hYy1ncmVlay5jOjQ3NzpcXHQudW5pMmNoYXJcXHQ9IHVuaTJjaGFyLFxcbmZzL25scy9tYWMtZ3JlZWsuYy00NzgtXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9tYWMtaWNlbGFuZC5jPTQxNT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlZjhbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtaWNlbGFuZC5jLTQ0OS1cXG5mcy9ubHMvbWFjLWljZWxhbmQuYzo0NTA6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbWFjLWljZWxhbmQuYy00NTEtXFx0cGFnZTAwLCBwYWdlMDEsIHBhZ2UwMiwgcGFnZTAzLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxcbi0tXFxuZnMvbmxzL21hYy1pY2VsYW5kLmM9NTIwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtaWNlbGFuZC5jLTU1NC1cXG5mcy9ubHMvbWFjLWljZWxhbmQuYzo1NTU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL21hYy1pY2VsYW5kLmMtNTU2LXtcXG5mcy9ubHMvbWFjLWljZWxhbmQuYzo1NTc6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL21hYy1pY2VsYW5kLmMtNTU4LVxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuLS1cXG5mcy9ubHMvbWFjLWljZWxhbmQuYy01NjMtXFxuZnMvbmxzL21hYy1pY2VsYW5kLmM6NTY0OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL21hYy1pY2VsYW5kLmM6NTY1OlxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuZnMvbmxzL21hYy1pY2VsYW5kLmM6NTY2OlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbWFjLWljZWxhbmQuYy01NjctXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL21hYy1pY2VsYW5kLmM9NTgwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xcbmZzL25scy9tYWMtaWNlbGFuZC5jLTU4MS1cXHQuY2hhcnNldFxcdD0gXFxcIm1hY2ljZWxhbmRcXFwiLFxcbmZzL25scy9tYWMtaWNlbGFuZC5jOjU4MjpcXHQudW5pMmNoYXJcXHQ9IHVuaTJjaGFyLFxcbmZzL25scy9tYWMtaWNlbGFuZC5jLTU4My1cXHQuY2hhcjJ1bmlcXHQ9IGNoYXIydW5pLFxcbi0tXFxuZnMvbmxzL21hYy1pbnVpdC5jPTM0NT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjFbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtaW51aXQuYy0zNzktXFxuZnMvbmxzL21hYy1pbnVpdC5jOjM4MDpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9tYWMtaW51aXQuYy0zODEtXFx0cGFnZTAwLCBwYWdlMDEsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxcbi0tXFxuZnMvbmxzL21hYy1pbnVpdC5jPTQ1MD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLWludWl0LmMtNDg0LVxcbmZzL25scy9tYWMtaW51aXQuYzo0ODU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL21hYy1pbnVpdC5jLTQ4Ni17XFxuZnMvbmxzL21hYy1pbnVpdC5jOjQ4NzpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbWFjLWludWl0LmMtNDg4LVxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuLS1cXG5mcy9ubHMvbWFjLWludWl0LmMtNDkzLVxcbmZzL25scy9tYWMtaW51aXQuYzo0OTQ6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbWFjLWludWl0LmM6NDk1OlxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuZnMvbmxzL21hYy1pbnVpdC5jOjQ5NjpcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuZnMvbmxzL21hYy1pbnVpdC5jLTQ5Ny1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbWFjLWludWl0LmM9NTEwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xcbmZzL25scy9tYWMtaW51aXQuYy01MTEtXFx0LmNoYXJzZXRcXHQ9IFxcXCJtYWNpbnVpdFxcXCIsXFxuZnMvbmxzL21hYy1pbnVpdC5jOjUxMjpcXHQudW5pMmNoYXJcXHQ9IHVuaTJjaGFyLFxcbmZzL25scy9tYWMtaW51aXQuYy01MTMtXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9tYWMtcm9tYW4uYz00NTA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZWZiWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLXJvbWFuLmMtNDg0LVxcbmZzL25scy9tYWMtcm9tYW4uYzo0ODU6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbWFjLXJvbWFuLmMtNDg2LVxcdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcXG4tLVxcbmZzL25scy9tYWMtcm9tYW4uYz01NTU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL21hYy1yb21hbi5jLTU4OS1cXG5mcy9ubHMvbWFjLXJvbWFuLmM6NTkwOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9tYWMtcm9tYW4uYy01OTEte1xcbmZzL25scy9tYWMtcm9tYW4uYzo1OTI6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL21hYy1yb21hbi5jLTU5My1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL21hYy1yb21hbi5jLTU5OC1cXG5mcy9ubHMvbWFjLXJvbWFuLmM6NTk5OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL21hYy1yb21hbi5jOjYwMDpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9tYWMtcm9tYW4uYzo2MDE6XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9tYWMtcm9tYW4uYy02MDItXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL21hYy1yb21hbi5jPTYxNT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbWFjLXJvbWFuLmMtNjE2LVxcdC5jaGFyc2V0XFx0PSBcXFwibWFjcm9tYW5cXFwiLFxcbmZzL25scy9tYWMtcm9tYW4uYzo2MTc6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbWFjLXJvbWFuLmMtNjE4LVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuLS1cXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM9NDE1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2VmOFsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL21hYy1yb21hbmlhbi5jLTQ0OS1cXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NDUwOnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuZnMvbmxzL21hYy1yb21hbmlhbi5jLTQ1MS1cXHRwYWdlMDAsIHBhZ2UwMSwgcGFnZTAyLCBwYWdlMDMsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsXFxuLS1cXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM9NTIwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtcm9tYW5pYW4uYy01NTQtXFxuZnMvbmxzL21hYy1yb21hbmlhbi5jOjU1NTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmMtNTU2LXtcXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NTU3OlxcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xcbmZzL25scy9tYWMtcm9tYW5pYW4uYy01NTgtXFx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcXHUwMDI2IDB4MDBmZjtcXG4tLVxcbmZzL25scy9tYWMtcm9tYW5pYW4uYy01NjMtXFxuZnMvbmxzL21hYy1yb21hbmlhbi5jOjU2NDpcXHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xcbmZzL25scy9tYWMtcm9tYW5pYW4uYzo1NjU6XFx0aWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NTY2OlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmMtNTY3LVxcdGVsc2VcXG4tLVxcbmZzL25scy9tYWMtcm9tYW5pYW4uYz01ODA9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuZnMvbmxzL21hYy1yb21hbmlhbi5jLTU4MS1cXHQuY2hhcnNldFxcdD0gXFxcIm1hY3JvbWFuaWFuXFxcIixcXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NTgyOlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL21hYy1yb21hbmlhbi5jLTU4My1cXHQuY2hhcjJ1bmlcXHQ9IGNoYXIydW5pLFxcbi0tXFxuZnMvbmxzL21hYy10dXJraXNoLmM9NDE1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2VmOFsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL21hYy10dXJraXNoLmMtNDQ5LVxcbmZzL25scy9tYWMtdHVya2lzaC5jOjQ1MDpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9tYWMtdHVya2lzaC5jLTQ1MS1cXHRwYWdlMDAsIHBhZ2UwMSwgcGFnZTAyLCBwYWdlMDMsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsXFxuLS1cXG5mcy9ubHMvbWFjLXR1cmtpc2guYz01MjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL21hYy10dXJraXNoLmMtNTU0LVxcbmZzL25scy9tYWMtdHVya2lzaC5jOjU1NTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcXG5mcy9ubHMvbWFjLXR1cmtpc2guYy01NTYte1xcbmZzL25scy9tYWMtdHVya2lzaC5jOjU1NzpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbWFjLXR1cmtpc2guYy01NTgtXFx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcXHUwMDI2IDB4MDBmZjtcXG4tLVxcbmZzL25scy9tYWMtdHVya2lzaC5jLTU2My1cXG5mcy9ubHMvbWFjLXR1cmtpc2guYzo1NjQ6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbWFjLXR1cmtpc2guYzo1NjU6XFx0aWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbWFjLXR1cmtpc2guYzo1NjY6XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9tYWMtdHVya2lzaC5jLTU2Ny1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbWFjLXR1cmtpc2guYz01ODA9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuZnMvbmxzL21hYy10dXJraXNoLmMtNTgxLVxcdC5jaGFyc2V0XFx0PSBcXFwibWFjdHVya2lzaFxcXCIsXFxuZnMvbmxzL21hYy10dXJraXNoLmM6NTgyOlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL21hYy10dXJraXNoLmMtNTgzLVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuLS1cXG5mcy9ubHMvbmxzX2FzY2lpLmM9NTk9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAwWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2FzY2lpLmMtNzctXFxuZnMvbmxzL25sc19hc2NpaS5jOjc4OnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuZnMvbmxzL25sc19hc2NpaS5jLTc5LVxcdHBhZ2UwMCxcXG4tLVxcbmZzL25scy9ubHNfYXNjaWkuYz0xMDE9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19hc2NpaS5jLTExOS1cXG5mcy9ubHMvbmxzX2FzY2lpLmM6MTIwOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9ubHNfYXNjaWkuYy0xMjEte1xcbmZzL25scy9ubHNfYXNjaWkuYzoxMjI6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19hc2NpaS5jLTEyMy1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL25sc19hc2NpaS5jLTEyOC1cXG5mcy9ubHMvbmxzX2FzY2lpLmM6MTI5OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL25sc19hc2NpaS5jOjEzMDpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9ubHNfYXNjaWkuYzoxMzE6XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9ubHNfYXNjaWkuYy0xMzItXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL25sc19hc2NpaS5jPTE0NT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbmxzX2FzY2lpLmMtMTQ2LVxcdC5jaGFyc2V0XFx0PSBcXFwiYXNjaWlcXFwiLFxcbmZzL25scy9ubHNfYXNjaWkuYzoxNDc6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbmxzX2FzY2lpLmMtMTQ4LVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuLS1cXG5mcy9ubHMvbmxzX2Jhc2UuYz0zOTY9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAwWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2Jhc2UuYy00MzEtXFxuZnMvbmxzL25sc19iYXNlLmM6NDMyOnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuZnMvbmxzL25sc19iYXNlLmMtNDMzLVxcdHBhZ2UwMFxcbi0tXFxuZnMvbmxzL25sc19iYXNlLmM9NDcyPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9ubHNfYmFzZS5jLTUwOC1cXG5mcy9ubHMvbmxzX2Jhc2UuYzo1MDk6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL25sc19iYXNlLmMtNTEwLXtcXG5mcy9ubHMvbmxzX2Jhc2UuYzo1MTE6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19iYXNlLmMtNTEyLVxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuLS1cXG5mcy9ubHMvbmxzX2Jhc2UuYy01MTctXFxuZnMvbmxzL25sc19iYXNlLmM6NTE4OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL25sc19iYXNlLmM6NTE5OlxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuZnMvbmxzL25sc19iYXNlLmM6NTIwOlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbmxzX2Jhc2UuYy01MjEtXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL25sc19iYXNlLmM9NTM0PXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIGRlZmF1bHRfdGFibGUgPSB7XFxuZnMvbmxzL25sc19iYXNlLmMtNTM1LVxcdC5jaGFyc2V0XFx0PSBcXFwiZGVmYXVsdFxcXCIsXFxuZnMvbmxzL25sc19iYXNlLmM6NTM2OlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL25sc19iYXNlLmMtNTM3LVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuLS1cXG5mcy9ubHMvbmxzX2NwMTI1MC5jPTIxMz1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjFbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9ubHNfY3AxMjUwLmMtMjIwLVxcbmZzL25scy9ubHNfY3AxMjUwLmM6MjIxOnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuZnMvbmxzL25sc19jcDEyNTAuYy0yMjItXFx0cGFnZTAwLFxcdHBhZ2UwMSxcXHRwYWdlMDIsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcbi0tXFxuZnMvbmxzL25sc19jcDEyNTAuYz0yNjU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMDAtXFxuZnMvbmxzL25sc19jcDEyNTAuYzozMDE6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMDIte1xcbmZzL25scy9ubHNfY3AxMjUwLmM6MzAzOiAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMDQtICAgICAgICB1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMDktXFxuZnMvbmxzL25sc19jcDEyNTAuYzozMTA6ICAgICAgICB1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xcbmZzL25scy9ubHNfY3AxMjUwLmM6MzExOiAgICAgICAgaWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbmxzX2NwMTI1MC5jOjMxMjogICAgICAgICAgICAgICAgb3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9ubHNfY3AxMjUwLmMtMzEzLSAgICAgICAgZWxzZVxcbi0tXFxuZnMvbmxzL25sc19jcDEyNTAuYz0zMjY9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMjctXFx0LmNoYXJzZXRcXHQ9IFxcXCJjcDEyNTBcXFwiLFxcbmZzL25scy9ubHNfY3AxMjUwLmM6MzI4OlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMjktXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9ubHNfY3AxMjUxLmM9MTY5PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyMVsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19jcDEyNTEuYy0xNzYtXFxuZnMvbmxzL25sc19jcDEyNTEuYzoxNzc6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbmxzX2NwMTI1MS5jLTE3OC1cXHRwYWdlMDAsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIHBhZ2UwNCwgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgXFxuLS1cXG5mcy9ubHMvbmxzX2NwMTI1MS5jPTIyMD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2NwMTI1MS5jLTI1NC1cXG5mcy9ubHMvbmxzX2NwMTI1MS5jOjI1NTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcXG5mcy9ubHMvbmxzX2NwMTI1MS5jLTI1Ni17XFxuZnMvbmxzL25sc19jcDEyNTEuYzoyNTc6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19jcDEyNTEuYy0yNTgtXFx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcXHUwMDI2IDB4MDBmZjtcXG4tLVxcbmZzL25scy9ubHNfY3AxMjUxLmMtMjYzLVxcbmZzL25scy9ubHNfY3AxMjUxLmM6MjY0OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL25sc19jcDEyNTEuYzoyNjU6XFx0aWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbmxzX2NwMTI1MS5jOjI2NjpcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuZnMvbmxzL25sc19jcDEyNTEuYy0yNjctXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL25sc19jcDEyNTEuYz0yODA9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuZnMvbmxzL25sc19jcDEyNTEuYy0yODEtXFx0LmNoYXJzZXRcXHQ9IFxcXCJjcDEyNTFcXFwiLFxcbmZzL25scy9ubHNfY3AxMjUxLmM6MjgyOlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL25sc19jcDEyNTEuYy0yODMtXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9ubHNfY3AxMjU1LmM9MjQ4PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyMVsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19jcDEyNTUuYy0yNTUtXFxuZnMvbmxzL25sc19jcDEyNTUuYzoyNTY6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbmxzX2NwMTI1NS5jLTI1Ny1cXHRwYWdlMDAsIHBhZ2UwMSwgcGFnZTAyLCBOVUxMLCAgIE5VTEwsICAgcGFnZTA1LCBOVUxMLCAgIE5VTEwsICAgXFxuLS1cXG5mcy9ubHMvbmxzX2NwMTI1NS5jPTMwMD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2NwMTI1NS5jLTMzNS1cXG5mcy9ubHMvbmxzX2NwMTI1NS5jOjMzNjpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcXG5mcy9ubHMvbmxzX2NwMTI1NS5jLTMzNy17XFxuZnMvbmxzL25sc19jcDEyNTUuYzozMzg6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19jcDEyNTUuYy0zMzktXFx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcXHUwMDI2IDB4MDBmZjtcXG4tLVxcbmZzL25scy9ubHNfY3AxMjU1LmMtMzQ0LVxcbmZzL25scy9ubHNfY3AxMjU1LmM6MzQ1OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL25sc19jcDEyNTUuYzozNDY6XFx0aWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbmxzX2NwMTI1NS5jOjM0NzpcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuZnMvbmxzL25sc19jcDEyNTUuYy0zNDgtXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL25sc19jcDEyNTUuYz0zNjE9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2NwMTI1NS5jLTM2My1cXHQuYWxpYXNcXHRcXHQ9IFxcXCJpc284ODU5LThcXFwiLFxcbmZzL25scy9ubHNfY3AxMjU1LmM6MzY0OlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL25sc19jcDEyNTUuYy0zNjUtXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9ubHNfY3A0MzcuYz0yMzY9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI1WzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2NwNDM3LmMtMjYwLVxcbmZzL25scy9ubHNfY3A0MzcuYzoyNjE6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbmxzX2NwNDM3LmMtMjYyLVxcdHBhZ2UwMCwgcGFnZTAxLCBOVUxMLCAgIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBcXG4tLVxcbmZzL25scy9ubHNfY3A0MzcuYz0zMDU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19jcDQzNy5jLTM0MC1cXG5mcy9ubHMvbmxzX2NwNDM3LmM6MzQxOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9ubHNfY3A0MzcuYy0zNDIte1xcbmZzL25scy9ubHNfY3A0MzcuYzozNDM6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19jcDQzNy5jLTM0NC1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL25sc19jcDQzNy5jLTM0OS1cXG5mcy9ubHMvbmxzX2NwNDM3LmM6MzUwOlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL25sc19jcDQzNy5jOjM1MTpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9ubHNfY3A0MzcuYzozNTI6XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9ubHNfY3A0MzcuYy0zNTMtXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL25sc19jcDQzNy5jPTM2Nj1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbmxzX2NwNDM3LmMtMzY3LVxcdC5jaGFyc2V0XFx0PSBcXFwiY3A0MzdcXFwiLFxcbmZzL25scy9ubHNfY3A0MzcuYzozNjg6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbmxzX2NwNDM3LmMtMzY5LVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuLS1cXG5mcy9ubHMvbmxzX2NwNzM3LmM9MTk5PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyNVsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19jcDczNy5jLTIyMy1cXG5mcy9ubHMvbmxzX2NwNzM3LmM6MjI0OnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuZnMvbmxzL25sc19jcDczNy5jLTIyNS1cXHRwYWdlMDAsIE5VTEwsICAgTlVMTCwgICBwYWdlMDMsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgXFxuLS1cXG5mcy9ubHMvbmxzX2NwNzM3LmM9MjY4PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9ubHNfY3A3MzcuYy0zMDMtXFxuZnMvbmxzL25sc19jcDczNy5jOjMwNDpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcXG5mcy9ubHMvbmxzX2NwNzM3LmMtMzA1LXtcXG5mcy9ubHMvbmxzX2NwNzM3LmM6MzA2OlxcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xcbmZzL25scy9ubHNfY3A3MzcuYy0zMDctXFx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcXHUwMDI2IDB4MDBmZjtcXG4tLVxcbmZzL25scy9ubHNfY3A3MzcuYy0zMTItXFxuZnMvbmxzL25sc19jcDczNy5jOjMxMzpcXHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xcbmZzL25scy9ubHNfY3A3MzcuYzozMTQ6XFx0aWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbmxzX2NwNzM3LmM6MzE1OlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbmxzX2NwNzM3LmMtMzE2LVxcdGVsc2VcXG4tLVxcbmZzL25scy9ubHNfY3A3MzcuYz0zMjk9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuZnMvbmxzL25sc19jcDczNy5jLTMzMC1cXHQuY2hhcnNldFxcdD0gXFxcImNwNzM3XFxcIixcXG5mcy9ubHMvbmxzX2NwNzM3LmM6MzMxOlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL25sc19jcDczNy5jLTMzMi1cXHQuY2hhcjJ1bmlcXHQ9IGNoYXIydW5pLFxcbi0tXFxuZnMvbmxzL25sc19jcDc3NS5jPTE2OD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjVbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9ubHNfY3A3NzUuYy0xOTItXFxuZnMvbmxzL25sc19jcDc3NS5jOjE5MzpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9ubHNfY3A3NzUuYy0xOTQtXFx0cGFnZTAwLCBwYWdlMDEsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIFxcbi0tXFxuZnMvbmxzL25sc19jcDc3NS5jPTIzNz1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2NwNzc1LmMtMjcyLVxcbmZzL25scy9ubHNfY3A3NzUuYzoyNzM6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL25sc19jcDc3NS5jLTI3NC17XFxuZnMvbmxzL25sc19jcDc3NS5jOjI3NTpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbmxzX2NwNzc1LmMtMjc2LVxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuLS1cXG5mcy9ubHMvbmxzX2NwNzc1LmMtMjgxLVxcbmZzL25scy9ubHNfY3A3NzUuYzoyODI6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbmxzX2NwNzc1LmM6MjgzOlxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuZnMvbmxzL25sc19jcDc3NS5jOjI4NDpcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuZnMvbmxzL25sc19jcDc3NS5jLTI4NS1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbmxzX2NwNzc1LmM9Mjk4PXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xcbmZzL25scy9ubHNfY3A3NzUuYy0yOTktXFx0LmNoYXJzZXRcXHQ9IFxcXCJjcDc3NVxcXCIsXFxuZnMvbmxzL25sc19jcDc3NS5jOjMwMDpcXHQudW5pMmNoYXJcXHQ9IHVuaTJjaGFyLFxcbmZzL25scy9ubHNfY3A3NzUuYy0zMDEtXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9ubHNfY3A4NTAuYz0xNjQ9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI1WzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2NwODUwLmMtMTg4LVxcbmZzL25scy9ubHNfY3A4NTAuYzoxODk6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbmxzX2NwODUwLmMtMTkwLVxcdHBhZ2UwMCwgcGFnZTAxLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBcXG4tLVxcbmZzL25scy9ubHNfY3A4NTAuYz0yMzM9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19jcDg1MC5jLTI2OC1cXG5mcy9ubHMvbmxzX2NwODUwLmM6MjY5OnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9ubHNfY3A4NTAuYy0yNzAte1xcbmZzL25scy9ubHNfY3A4NTAuYzoyNzE6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19jcDg1MC5jLTI3Mi1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL25sc19jcDg1MC5jLTI3Ny1cXG5mcy9ubHMvbmxzX2NwODUwLmM6Mjc4OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL25sc19jcDg1MC5jOjI3OTpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9ubHNfY3A4NTAuYzoyODA6XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9ubHNfY3A4NTAuYy0yODEtXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL25sc19jcDg1MC5jPTI5ND1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbmxzX2NwODUwLmMtMjk1LVxcdC5jaGFyc2V0XFx0PSBcXFwiY3A4NTBcXFwiLFxcbmZzL25scy9ubHNfY3A4NTAuYzoyOTY6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbmxzX2NwODUwLmMtMjk3LVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE0OjQ2Ljk4OTEyMjg2NloiLCJTZXEiOjE5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1MjU3NTM1NTY3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZvY3VzaW5nIG9uIENoYXJhY3RlciBFbmNvZGluZzogdW5pMmNoYXIgYW5kIGl0cyBDb250ZXh0KipcblxuT2theSwgbGV0J3MgYnJlYWsgdGhpcyBkb3duIHN5c3RlbWF0aWNhbGx5LiBJIG5lZWQgdG8gaWRlbnRpZnkgdGhlIGNydWNpYWwgZnVuY3Rpb25zIHJlbGF0ZWQgdG8gdGhlIGNoYXJhY3RlciBlbmNvZGluZyBjaGFuZ2VzLCBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIG1vZHVsZS4gRmlyc3QsIEkgd2FudGVkIHRvIGNvbmZpcm0gd2hpY2ggZnVuY3Rpb25zIGFyZSBldmVuIHByZXNlbnQsIGFuZCBJIHNlZTogYHVuaTJjaGFyYCwgYGNoYXIydW5pYCwgYGluaXRfbmxzX2lzbzg4NTlfMTRgLCBhbmQgYGV4aXRfbmxzX2lzbzg4NTlfMTRgLlxuXG5NeSBpbW1lZGlhdGUgZm9jdXMgaXMgb24gaG93IGBwYWdlMDFgIGFuZCBgcGFnZTFlYCwgdGhlIGRhdGEgc3RydWN0dXJlcyB0aGF0IHNlZW0gdG8gYmUgdGhlIGZvY3VzIG9mIHRoZSBjaGFuZ2VzLCBhcmUgdXRpbGl6ZWQuIEl0J3MgcXVpY2tseSBhcHBhcmVudCB0aGF0IHRoZXNlIGFyZSAqZXhjbHVzaXZlbHkqIHVzZWQgd2l0aGluIGB1bmkyY2hhcmAgYW5kIHRoZSBgcGFnZV91bmkyY2hhcnNldGAgYXJyYXkuIExvb2tpbmcgYXQgdGhlIGNvZGUgZm9yIGB1bmkyY2hhcmAsIGl0J3MgY2xlYXIgaXQgY29udmVydHMgYSBVbmljb2RlIGNoYXJhY3RlciAoYHVuaWApIHRvIGFuIElTTy04ODU5LTE0IGNoYXJhY3Rlci4gSWYgdGhlIGJvdW5kIGxlbmd0aCBpcyBpbmNvcnJlY3QsIGl0IHJldHVybnMgYW4gZXJyb3IuIEl0IGRvZXMgYSBzaW1wbGUgbG9va3VwIGluIGBwYWdlX3VuaTJjaGFyc2V0YCBiYXNlZCBvbiB0aGUgaGlnaCBhbmQgbG93IGJ5dGVzIG9mIHRoZSBVbmljb2RlIGNoYXJhY3Rlci5cblxuTm93LCB0aGlzIGlzIHdoZXJlIGl0IGdldHMgaW50ZXJlc3RpbmcuIEFjY29yZGluZyB0byB0aGUgXCJFWFRSQUNUSU5HIEZvY3VzU3ltYm9sc1wiIHNlY3Rpb24sIEkgc2hvdWxkIGJlIHRhcmdldGluZyBzcGVjaWZpYyBmZWF0dXJlIGxvZ2ljIG9yIGVudHJ5cG9pbnRzLiBUaGUga2V5IGlzIHRvICphdm9pZCogdWJpcXVpdG91cyBsaWZlY3ljbGUgZnVuY3Rpb25zIGFuZCBpbnN0ZWFkIHBpbnBvaW50IHRoZSBjb2RlICpkaXJlY3RseSogYWZmZWN0ZWQgYnkgdGhlIGNoYW5nZXMuIGB1bmkyY2hhcmAgc2VlbXMgcGVyZmVjdC4gSXQncyB0aGUgY29yZSBmdW5jdGlvbiBkZWFsaW5nIHdpdGggdGhlIGNoYW5nZWQgZGF0YSwgYHBhZ2UwMWAgYW5kIGBwYWdlMWVgLiBgY2hhcjJ1bmlgIGlzIGFsc28gYW4gb2J2aW91cyBjYW5kaWRhdGUsIGFzIGl0IGNvbnZlcnRzIElTTy04ODU5LTE0IHRvIFVuaWNvZGUgYW5kIHV0aWxpemVzIGBjaGFyc2V0MnVuaWAuIGBpbml0X25sc19pc284ODU5XzE0YCBpcyB0aGUgZnVuY3Rpb24gdGhhdCBwcmVzdW1hYmx5IHJlZ2lzdGVycyB0aGUgdGFibGUuXG5cblRoZSBjaGFsbGVuZ2Ugbm93IGlzIHRoZSBzdGF0aWMgbmF0dXJlIG9mIGB1bmkyY2hhcmAuIFdoaWxlIGl0J3MgZGVjbGFyZWQgc3RhdGljIGluIHRoZSBgLmNgIGZpbGUsIHRoZSBjb21waWxlciwgaW4gdGhlIG9iamVjdCBmaWxlLCBhbmQgaW4ga2FsbHN5bXMgZm9yIHRoZSBtb2R1bGUsIGdlbmVyYXRlcyBhIHN5bWJvbCBgdW5pMmNoYXJgIChvciBzb21ldGhpbmcgc2ltaWxhciBkZXBlbmRpbmcgb24gb3B0aW1pemF0aW9uKS4gVGhpcyBtZWFucyB0aGUgZnV6emVyIGNhbiBzdGlsbCBhY2Nlc3MgaXQgaWYgdGhlIGtlcm5lbCBtb2R1bGUgKG5sc19pc284ODU5XzE0LmtvKSBpcyBidWlsdCBhcyBhIG1vZHVsZSwgb3Igd2hlbiBidWlsdC1pbi5cblxuRmluYWxseSwgSSBuZWVkIHRvIGNoZWNrIGZvciBwb3RlbnRpYWwgd3JhcHBlciBmdW5jdGlvbnMuIEFyZSB0aGVyZSBhbnkgcHVibGljbHkgYWNjZXNzaWJsZSBmdW5jdGlvbnMgaW4gYGZzL25scy9gLCBgZnMvZmF0L2AsIG9yIGBpbmNsdWRlL2xpbnV4L25scy5oYCB0aGF0ICpjYWxsKiBgdW5pMmNoYXJgPyBUaGlzIHdvdWxkIGdpdmUgbWUgYW4gZXh0ZXJuYWwgZW50cnkgcG9pbnQuIENoZWNraW5nIGBpbmNsdWRlL2xpbnV4L25scy5oYCB3b3VsZCBiZSB0aGUgb2J2aW91cyBuZXh0IHN0ZXAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQxMjYyLCJPdXRwdXRUb2tlbnMiOjQwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NzY0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE0OjUyLjI0NjY2Mzk2M1oiLCJTZXEiOjIwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTY4MjM4NzMyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInVuaTJjaGFyfGNoYXIydW5pfGxvYWRfbmxzXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImluY2x1ZGUvbGludXgvbmxzLmhcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiaW5jbHVkZS9saW51eC9ubHMuaD0yNT1zdHJ1Y3QgbmxzX3RhYmxlIHtcXG4tLVxcbmluY2x1ZGUvbGludXgvbmxzLmgtMjctXFx0Y29uc3QgY2hhciAqYWxpYXM7XFxuaW5jbHVkZS9saW51eC9ubHMuaDoyODpcXHRpbnQgKCp1bmkyY2hhcikgKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbik7XFxuaW5jbHVkZS9saW51eC9ubHMuaDoyOTpcXHRpbnQgKCpjaGFyMnVuaSkgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJhd3N0cmluZywgaW50IGJvdW5kbGVuLFxcbmluY2x1ZGUvbGludXgvbmxzLmgtMzAtXFx0XFx0XFx0IHdjaGFyX3QgKnVuaSk7XFxuLS1cXG5pbmNsdWRlL2xpbnV4L25scy5oPTQ5PWV4dGVybiBpbnQgdW5yZWdpc3Rlcl9ubHMoc3RydWN0IG5sc190YWJsZSAqKTtcXG5pbmNsdWRlL2xpbnV4L25scy5oOjUwOmV4dGVybiBzdHJ1Y3QgbmxzX3RhYmxlICpsb2FkX25scyhjb25zdCBjaGFyICpjaGFyc2V0KTtcXG5pbmNsdWRlL2xpbnV4L25scy5oOjUxOmV4dGVybiB2b2lkIHVubG9hZF9ubHMoc3RydWN0IG5sc190YWJsZSAqKTtcXG5pbmNsdWRlL2xpbnV4L25scy5oOjUyOmV4dGVybiBzdHJ1Y3QgbmxzX3RhYmxlICpsb2FkX25sc19kZWZhdWx0KHZvaWQpO1xcbmluY2x1ZGUvbGludXgvbmxzLmgtNTMtI2RlZmluZSByZWdpc3Rlcl9ubHMobmxzKSBfX3JlZ2lzdGVyX25scygobmxzKSwgVEhJU19NT0RVTEUpXFxuLS1cXG5pbmNsdWRlL2xpbnV4L25scy5oPTk2PW5sc19udWxsc2l6ZShjb25zdCBzdHJ1Y3QgbmxzX3RhYmxlICpjb2RlcGFnZSlcXG4tLVxcbmluY2x1ZGUvbGludXgvbmxzLmgtMTAwLVxcbmluY2x1ZGUvbGludXgvbmxzLmg6MTAxOlxcdGNoYXJsZW4gPSBjb2RlcGFnZS1cXHUwMDNldW5pMmNoYXIoMCwgdG1wLCBOTFNfTUFYX0NIQVJTRVRfU0laRSk7XFxuaW5jbHVkZS9saW51eC9ubHMuaC0xMDItXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE0OjUyLjQxNDkwODQ5NVoiLCJTZXEiOjIxLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjozODMxMjU4NzczLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFuYWx5c2lzIG9mIHRoZSBDb25maWd1cmF0aW9uIFJlcXVpcmVtZW50cyoqXG5cbk9rYXksIGxldCdzIGJyZWFrIHRoaXMgZG93biBzeXN0ZW1hdGljYWxseS4gRmlyc3QsIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoaWNoIGNvbmZpZ3VyYXRpb25zIGFyZSBlc3NlbnRpYWwgZm9yIHRoaXMgc3BlY2lmaWMgdGFzaywgbGV0J3MgY2FsbCBgRW5hYmxlQ29uZmlnc2AuIEknbGwgc3RhcnQgYnkgY2hlY2tpbmcgdGhlIHJlbGV2YW50IEtjb25maWcgZmlsZSwgbmFtZWx5IGBmcy9ubHMvS2NvbmZpZ2AuIFJpZ2h0IGF3YXksIEkgc2VlIHRoYXQgYE5MU2AgaXMgdGhlIHBhcmVudCBjb25maWcsIGNvbnRyb2xsZWQgdmlhIG1lbnVjb25maWcuICBVbmRlciBgTkxTYCwgSSBmaW5kIHRoZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGBOTFNfSVNPODg1OV8xNGAuXG5cblRoZXJlZm9yZSwgaXQncyBjbGVhciB0aGF0IEkgbmVlZCBib3RoIGBOTFNgIGFuZCBgTkxTX0lTTzg4NTlfMTRgLiBJJ2xsIGNvbmZpcm0gdGhhdCB0aGVzZSB0d28gY29uZmlndXJhdGlvbnMgYXJlIGluZGVlZCB0aGUgZGlyZWN0IGtlcm5lbCBvcHRpb25zIHRoYXQgZ292ZXJuIHRoZSBjb21waWxhdGlvbiBvZiB0aGUgYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYCBtb2R1bGUsIGVuc3VyaW5nIGl0J3MgYnVpbHQgaW50byB0aGUga2VybmVsLlxuXG5Ob3csIGxldCdzIGRvdWJsZS1jaGVjayBhbGwgcmVxdWlyZW1lbnRzIHRvIGJlIGFic29sdXRlbHkgc3VyZTpcblxuMS4gIGBXb3J0aEZ1enppbmdgIGlzIHNldCB0byBgdHJ1ZWAsIHdoaWNoIGlzIHNpZ25pZmljYW50IGJlY2F1c2UgdGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBjb3JlIG1hcHBpbmcgdGFibGVzIChgcGFnZTAxYCBhbmQgYHBhZ2UxZWApIHdpdGhpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgLiAgVGhlc2UgdGFibGVzIGFyZSBkaXJlY3RseSBpbnZvbHZlZCBpbiBmaWxlbmFtZSBjb252ZXJzaW9ucyBpbiBmaWxlc3lzdGVtcyBzdXBwb3J0aW5nIE5MUywgbGlrZSBGQVQgb3IgSVNPRlMuXG4yLiAgVGhlIGBGb2N1c1N5bWJvbHNgIGFyZSBlaXRoZXIgYFtcInVuaTJjaGFyXCIsIFwiY2hhcjJ1bmlcIl1gIG9yIGp1c3QgYFtcInVuaTJjaGFyXCJdYC4gVGhlIGZ1bmN0aW9uIGB1bmkyY2hhcmAgdXNlcyB0aGUgbW9kaWZpZWQgYHBhZ2UwMWAgYW5kIGBwYWdlMWVgIHRhYmxlcyAodGhyb3VnaCBgcGFnZV91bmkyY2hhcnNldGApLCBkaXJlY3RseSBpbXBhY3RpbmcgdGhlIHBvdGVudGlhbCB2dWxuZXJhYmlsaXR5LlxuMy4gIFRoZSBgRW5hYmxlQ29uZmlnc2AgYXJlIGV4cGxpY2l0bHkgYFtcIk5MU1wiLCBcIk5MU19JU084ODU5XzE0XCJdYCwgcmVpbmZvcmNpbmcgdGhlIG5lZWQgZm9yIHRoZXNlIGNvbmZpZ3VyYXRpb25zLlxuNC4gIFRoZSByZWFzb25pbmcgcHJvdmlkZWQgaXMgY2xlYXIgYW5kIGNvbmNpc2UsIGNvbmZpcm1pbmcgbXkgdW5kZXJzdGFuZGluZy5cblxuV2l0aCB0aGlzIGNvbXBsZXRlIGFuYWx5c2lzLCBJIGFtIGNvbmZpZGVudCBJIGNhbiBwcm9jZWVkIHdpdGggdGhlIG5leHQgc3RlcCwgSSdsbCBjYWxsIGBzZXQtcmVzdWx0c2AuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQzMDM4LCJPdXRwdXRUb2tlbnMiOjE0NCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM4OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDo1Ni4yNDYxNzA3MThaIiwiU2VxIjoyMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxOTk0NjI3MTIsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk5MU1wiLFxuICAgIFwiTkxTX0lTTzg4NTlfMTRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ1bmkyY2hhclwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGNvcnJlY3RzIGNoYXJhY3RlciBtYXBwaW5nIGVudHJpZXMgaW4gdGhlIFVuaWNvZGUtdG8tSVNPLTg4NTktMTQgdGFibGVzIChwYWdlMDEgYW5kIHBhZ2UxZSkgaW4gZnMvbmxzL25sc19pc284ODU5LTE0LmMuIFRoZXNlIHRhYmxlcyBhcmUgdXNlZCBieSB1bmkyY2hhcigpIGR1cmluZyBmaWxlc3lzdGVtIGNoYXJhY3RlciBjb252ZXJzaW9uIG9wZXJhdGlvbnMgKGUuZy4gRkFULCBJU09GUyksIHJlcHJlc2VudGluZyByZWFjaGFibGUgY29kZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uIGNvcnJlY3RuZXNzIGFuZCBib3VuZGFyeSBzYWZldHkuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTkxTXCIsXG4gICAgXCJOTFNfSVNPODg1OV8xNFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInVuaTJjaGFyXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggY29ycmVjdHMgY2hhcmFjdGVyIG1hcHBpbmcgZW50cmllcyBpbiB0aGUgVW5pY29kZS10by1JU08tODg1OS0xNCB0YWJsZXMgKHBhZ2UwMSBhbmQgcGFnZTFlKSBpbiBmcy9ubHMvbmxzX2lzbzg4NTktMTQuYy4gVGhlc2UgdGFibGVzIGFyZSB1c2VkIGJ5IHVuaTJjaGFyKCkgZHVyaW5nIGZpbGVzeXN0ZW0gY2hhcmFjdGVyIGNvbnZlcnNpb24gb3BlcmF0aW9ucyAoZS5nLiBGQVQsIElTT0ZTKSwgcmVwcmVzZW50aW5nIHJlYWNoYWJsZSBjb2RlIHRoYXQgc2hvdWxkIGJlIGZ1enplZCBmb3IgY2hhcmFjdGVyIGNvbnZlcnNpb24gY29ycmVjdG5lc3MgYW5kIGJvdW5kYXJ5IHNhZmV0eS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6NTYuNDQ1NjQ1MDlaIiwiU2VxIjoyMywiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJJZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE4OTkwMzU1MDkyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6NTYuNDQ3NTUxNTQyWiIsIlNlcSI6MjQsIk5lc3RpbmciOjIsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJrbXNhbi1ldmFsdWF0b3IiLCJNb2RlbCI6ImNvcmUiLCJEdXJhdGlvbiI6MTg5ODg0NDI3NTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpYyBjb25zdGFudCBsb29rdXAgdGFibGVzIChgcGFnZTAxYCBhbmQgYHBhZ2UxZWApIGluIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgdG8gY29ycmVjdCBVbmljb2RlLXRvLWNoYXJzZXQgbWFwcGluZyBlbnRyaWVzLiBcXG5cXG5UaGVzZSB0YWJsZXMgYXJlIHN0YXRpYyBjb25zdCBhcnJheXMgb2YgZml4ZWQgc2l6ZSAoMjU2IGJ5dGVzKSBwbGFjZWQgaW4gcmVhZC1vbmx5IGRhdGEgKC5yb2RhdGEpLiBObyBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLCBzdGFjayB2YXJpYWJsZXMsIGtlcm5lbC10by11c2VyIGNvcHkgb3BlcmF0aW9ucywgb3IgdW5pbml0aWFsaXplZCBtZW1vcnkgcGF0aHMgYXJlIGludHJvZHVjZWQgb3IgbW9kaWZpZWQuIFRoZXJlZm9yZSwgdGhlcmUgYXJlIG5vIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzLCBhbmQgYSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGlzIG5vdCB3YXJyYW50ZWQuXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIHNlY3VyaXR5IGVuZ2luZWVyIHNwZWNpYWxpemluZyBpbiBrZXJuZWwgbWVtb3J5XG5lcnJvciBkZXRlY3RvcnMgKEtBU0FOIGFuZCBLTVNBTikuIFlvdXIgam9iIGlzIHRvIHJldmlldyB0aGUgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZFxuZGV0ZXJtaW5lIGlmIHRoZSBjb2RlIGNoYW5nZXMganVzdGlmeSBzcGF3bmluZyBhIGRlZGljYXRlZCBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKVxuZnV6emluZyBzZXNzaW9uIGluIGFkZGl0aW9uIHRvIHN0YW5kYXJkIEtBU0FOIGZ1enppbmcuXG5cbkNSSVRJQ0FMIERJU1RJTkNUSU9OIEJFVFdFRU4gS0FTQU4gQU5EIEtNU0FOOlxuLSBTdGFuZGFyZCBLQVNBTiBrZXJuZWwgYnVpbGRzICh1cHN0cmVhbS1hcHBhcm1vci1rYXNhbi5jb25maWcpIGFscmVhZHkgZW5hYmxlXG4gIGEgY29tcHJlaGVuc2l2ZSBzdWl0ZSBvZiBkZWJ1Z2dpbmcgdG9vbHMgYW5kIHNhbml0aXplcnMsIGluY2x1ZGluZyBLQVNBTlxuICAob3V0LW9mLWJvdW5kcyBhY2Nlc3NlcywgdXNlLWFmdGVyLWZyZWUsIGRvdWJsZSBmcmVlLCBpbnZhbGlkIGZyZWUpLCBMT0NLREVQXG4gIChsb2NraW5nIGJ1Z3MgYW5kIGRlYWRsb2NrcyksIFVCLXNhbml0aXplcnMsIGFuZCBtZW1vcnkgY29ycnVwdGlvbiBjaGVja3MuXG4tIEtNU0FOIChLZXJuZWxNZW1vcnlTYW5pdGl6ZXIpIGRldGVjdHMgcmVhZHMgb2YgVU5JTklUSUFMSVpFRCBtZW1vcnkgKHN0YWNrLCBoZWFwLFxuICBvciBwYWdlIGFsbG9jYXRpb25zKSBhbmQga2VybmVsLXRvLXVzZXIgbWVtb3J5IGluZm8tbGVha3MuXG5cblJ1bGU6IFRIRVJFIElTIE5PIFNFTlNFIElOIFJVTk5JTkcgQSBLTVNBTiBTRVNTSU9OIElGIEEgQlVHIENBTiBCRSBDQVVHSFQgQlkgS0FTQU4sXG5MT0NLREVQLCBPUiBPVEhFUiBTVEFOREFSRCBCVUcgREVURUNUT1JTLlxuQSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGluY3VycyBzaWduaWZpY2FudCByZXNvdXJjZSBjb3N0cy4gWW91IG11c3QgT05MWVxuc2V0IE5lZWRzS01TQU49dHJ1ZSBpZiB0aGUgY29kZSBjaGFuZ2VzIGludHJvZHVjZSBvciBleHBvc2UgVU5JTklUSUFMSVpFRCBNRU1PUlkgcmlza3NcbnRoYXQgYXJlIGRldGVjdGVkIE9OTFkgYnkgS01TQU4uXG5cbkxvb2sgaG9saXN0aWNhbGx5IGF0IHRoZSBwYXRjaCBzZXJpZXMgYW5kIHN1cnJvdW5kaW5nIGNvZGUuIEV2ZW4gaWYgbm8gZGlyZWN0XG51bmluaXRpYWxpemVkIGZpZWxkIGFjY2Vzc2VzIG9yIG5ldyBidWZmZXIgYWxsb2NhdGlvbnMgYXJlIGFkZGVkIGluIHRoZSBkaWZmIGl0c2VsZixcbmEgcGF0Y2ggbWF5IGFsdGVyIGNvbnRyb2wgZmxvdywgYm91bmRzIGNoZWNraW5nLCBvciBkYXRhIGxlbmd0aCBjYWxjdWxhdGlvbnMgaW4gd2F5c1xudGhhdCBjaGFuZ2UgaG93IHRoZSByZXN0IG9mIHRoZSBjb2RlIG9wZXJhdGVzIG9uIGV4aXN0aW5nIGJ1ZmZlcnMgKGUuZy4gYWxsb3dpbmdcbnVuaW5pdGlhbGl6ZWQgc3RhY2svaGVhcCBtZW1vcnkgdG8gYmUgcmVhZCwgY29waWVkIHRvIHVzZXIgc3BhY2UsIG9yIHVzZWQgaW4gY29udHJvbFxuZmxvdykuIERvIG5vdCBoZXNpdGF0ZSB0byB1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBpbnNwZWN0IHRoZSBzdXJyb3VuZGluZyBjb2RlLFxuY2FsbGVkIGZ1bmN0aW9ucywgYW5kIGNhbGxlcnMuXG5cblNldCBOZWVkc0tNU0FOPXRydWUgT05MWSBJRiB0aGUgcGF0Y2ggaW50cm9kdWNlcyBvciBtb2RpZmllczpcbjEuIEtlcm5lbCBzdHJ1Y3R1cmVzIHNlbnQgdG8gdXNlciBzcGFjZSAodmlhIGNvcHlfdG9fdXNlciwgcHV0X3VzZXIsIG5ldGxpbmsgc2tiXG4gICBhdHRyaWJ1dGVzLCBpb2N0bCBvdXRwdXQgYXJndW1lbnRzLCBzb2NrZXQgb3B0aW9ucywgb3IgQlBGIGJ1ZmZlcnMpIHdoZXJlIGZpZWxkc1xuICAgb3Igc3RydWN0dXJlIHBhZGRpbmcgbWlnaHQgbm90IGJlIGZ1bGx5IGluaXRpYWxpemVkL3plcm9lZC5cbjIuIENvbmRpdGlvbmFsIGxvZ2ljIG9yIGJyYW5jaGluZyB0aGF0IGRlcGVuZHMgb24gcG90ZW50aWFsbHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZXNcbiAgIG9yIHN0cnVjdCBmaWVsZHMuXG4zLiBBbGxvY2F0aW9uIG9yIGluaXRpYWxpemF0aW9uIG9mIGNvbXBsZXggZGF0YSBzdHJ1Y3R1cmVzIHdoZXJlIHVuaW5pdGlhbGl6ZWQgZmllbGRzXG4gICBjb3VsZCBiZSByZWFkIGxhdGVyIGluIHJlYWNoYWJsZSBjb2RlIHBhdGhzLlxuNC4gQm91bmRzIGNoZWNrcywgbGVuZ3Rocywgb3IgbG9naWMgaW4gYSB3YXkgdGhhdCBhbGxvd3Mgc3Vycm91bmRpbmcgY29kZSB0byBhY2Nlc3NcbiAgIHVuaW5pdGlhbGl6ZWQgYnl0ZXMgb2YgZXhpc3RpbmcgYnVmZmVycy5cblxuU2V0IE5lZWRzS01TQU49ZmFsc2UgSUY6XG4tIFRoZSBjb2RlIGNoYW5nZXMgcHJpbWFyaWx5IHJpc2sgb3V0LW9mLWJvdW5kcyBhY2Nlc3MsIGFycmF5IG92ZXJmbG93cywgTlVMTCBwb2ludGVyXG4gIGRlcmVmZXJlbmNlcywgbG9ja2luZyBkZWFkbG9ja3MsIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgKHRoZXNlIGFyZSBhbHJlYWR5IGNhdWdodFxuICBieSBLQVNBTiwgTE9DS0RFUCwgb3Igc3RhbmRhcmQgYnVnIGRldGVjdG9ycykuXG4tIEFsbCBzdGFjay9oZWFwIHN0cnVjdHVyZXMgdG91Y2hlZCBvciBpbnRyb2R1Y2VkIGJ5IHRoZSBwYXRjaCBhcmUgZnVsbHkgemVyb2VkXG4gIG9yIGluaXRpYWxpemVkIChlLmcuIHVzaW5nID0gezB9LCBtZW1zZXQsIGt6YWxsb2MpIGJlZm9yZSBiZWluZyByZWFkIG9yIGNvcGllZC5cbi0gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBhbnkgcmlzayBvZiB1bmluaXRpYWxpemVkIG1lbW9yeSB1c2FnZSBvciBpbmZvLWxlYWtzLlxuXG5Vc2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBpbnNwZWN0IHRoZSBzdXJyb3VuZGluZyBjb2RlIGlmIG5lY2Vzc2FyeSwgdGhlbiBwcm92aWRlXG5kZXRhaWxlZCBLTVNBTlJlYXNvbmluZyBjb250cmFzdGluZyBLQVNBTiB2cyBLTVNBTiBhcHBsaWNhYmlsaXR5IGZvciB0aGlzIHBhdGNoLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiVGFyZ2V0IGFyY2hpdGVjdHVyZTogYW1kNjRcblxuRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgMjM2NzgzYzI1ZWQ4ZmY5NGRhNWM3ZmYxZTUyYzE1N2EyODM5NDYxMFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgU2VwIDkgMTM6MTM6NDkgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYyBiL2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXG5pbmRleCBjNzg5ZWNjYjhhNjk1Li42MGI5NDAwZjkxNWFmIDEwMDY0NFxuLS0tIGEvZnMvbmxzL25sc19pc284ODU5LTE0LmNcbisrKyBiL2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXG5AQCAtMTM4LDI0ICsxMzgsMjMgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAwWzI1Nl0gPSB7XG4gfTtcbiBcbiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDFbMjU2XSA9IHtcbi1cdDB4MDAsIDB4MDAsIDB4YTEsIDB4YTIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqL1xuLVx0MHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDAwLTB4MDcgKi9cbitcdDB4MDAsIDB4MDAsIDB4YTQsIDB4YTUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxMC0weDE3ICovXG4tXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi9cbitcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTgtMHgxZiAqL1xuIFx0MHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDI4LTB4MmYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzAtMHgzNyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovXG4tXHQweGI0LCAweGI1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQwLTB4NDcgKi9cbitcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0OC0weDRmICovXG4tXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGI3LCAweGI5LCAvKiAweDUwLTB4NTcgKi9cbitcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTAtMHg1NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1OC0weDVmICovXG4tXHQweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi9cbi1cdDB4MDAsIDB4MDAsIDB4ZDcsIDB4ZjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqL1xuIFx0MHhhZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4tXHRcbi1cdDB4YTgsIDB4YjgsIDB4YWEsIDB4YmEsIDB4YmQsIDB4YmUsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTAtMHg5NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5OC0weDlmICovXG5AQCAtMTY5LDcgKzE2OCw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMVsyNTZdID0ge1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xuLVx0MHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGYwLTB4ZjcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjgtMHhmZiAqL1xuIH07XG4gXG5AQCAtMTc4LDcgKzE3Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0ge1xuIFx0MHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjAsIDB4YjEsIC8qIDB4MTgtMHgxZiAqL1xuLVx0MHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjgtMHgyZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDM4LTB4M2YgKi9cbkBAIC0xODgsOSArMTg3LDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTFlWzI1Nl0gPSB7XG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDU4LTB4NWYgKi9cbiBcdDB4YmIsIDB4YmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHhkNywgMHhmNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2OC0weDZmICovXG4tXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGQwLCAweGYwLCAweGRlLCAweGZlLCAvKiAweDcwLTB4NzcgKi9cbi1cdDB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqL1xuLVxuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3MC0weDc3ICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cbiBcdDB4YTgsIDB4YjgsIDB4YWEsIDB4YmEsIDB4YmQsIDB4YmUsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4OC0weDhmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi9cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE0OjU2LjQ0NzU1Mzk3MloiLCJTZXEiOjI1LCJOZXN0aW5nIjozLCJUeXBlIjoibGxtIiwiTmFtZSI6Imttc2FuLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo0NjgxMzM5NzcyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhvc2UgdGhvdWdodHMsIHByZXNlbnRlZCBhcyBhIHBlcnNvbmFsIHRob3VnaHQgcHJvY2VzcywgYXMgcmVxdWVzdGVkOlxuXG4qKktNU0FOIEZ1enppbmcgRGV0ZXJtaW5hdGlvbioqXG5cbkFscmlnaHQsIHRpbWUgdG8gZGl2ZSBpbi4gRmlyc3QsIGxldCdzIGFzc2VzcyB0aGlzIHBhdGNoLiBUaGUgcXVlc3Rpb24gaXM6IGRvZXMgdGhpcyBjaGFuZ2Ugd2FycmFudCBpdHMgb3duIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHJ1bj8gSSBuZWVkIHRvIHF1aWNrbHkgZGV0ZXJtaW5lIHRoZSByaXNrIHByb2ZpbGUgaGVyZS4gSSdsbCBuZWVkIHRvIGNvbnNpZGVyIHdoYXQgYXJlYXMgb2YgdGhlIGtlcm5lbCBhcmUgYmVpbmcgbW9kaWZpZWQsIGhvdyBkZWVwbHkgdGhleSdyZSBpbnRlZ3JhdGVkLCBhbmQgaWYgdGhlcmUgYXJlIGFueSBvYnZpb3VzIFwiZ290Y2hhc1wiIHRoYXQgS01TQU4gd291bGQgYmUgcGFydGljdWxhcmx5IGdvb2QgYXQgY2F0Y2hpbmcuIEl0J3MgYSByaXNrIGFzc2Vzc21lbnQgcmlnaHQgb2ZmIHRoZSBiYXQuXG5cblNwZWNpZmljYWxseSwgSSdtIGdvaW5nIHRvIHRha2UgYSBsb29rIGF0IHRoZSBmaWxlIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AuIFRoaXMgaXMgd2hlcmUgSSdsbCBiZWdpbiBteSBpbnZlc3RpZ2F0aW9uLiBUaGlzIGNvZGUgd2lsbCBnaXZlIG1lIGEgZ29vZCBpZGVhIG9mIHdoYXQncyBiZWluZyBjaGFuZ2VkIGFuZCB3aGF0IHR5cGUgb2YgZGF0YSBpcyBiZWluZyBoYW5kbGVkLiBUaGUgZmlsZSBuYW1lIGFsb25lIGhpbnRzIGF0IGNoYXJhY3RlciBzZXQgY29udmVyc2lvbiwgYW5kIHRoYXQncyBvZnRlbiBhIHNvdXJjZSBvZiBtZW1vcnkgY29ycnVwdGlvbiBidWdzLiBUaGlzIGlzIGEgcG90ZW50aWFsIGhvdC1zcG90IGZvciBLTVNBTiwgYW5kIHNvIGl0J3MgYSBnb29kIHBsYWNlIHRvIHN0YXJ0IG15IGFuYWx5c2lzLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1Mjk5LCJPdXRwdXRUb2tlbnMiOjQ1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDQsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNTowMS4xMjg4OTY2MzRaIiwiU2VxIjoyNiwiTmVzdGluZyI6MywiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTI1NjgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9ubHNfaXNvODg1OS0xNC5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDEwMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgICAxOlxcdC8qXFxuICAgMjpcXHQgKiBsaW51eC9mcy9ubHMvbmxzX2lzbzg4NTktMTQuY1xcbiAgIDM6XFx0ICpcXG4gICA0OlxcdCAqIENoYXJzZXQgaXNvODg1OS0xNCB0cmFuc2xhdGlvbiB0YWJsZXMuXFxuICAgNTpcXHQgKlxcbiAgIDY6XFx0ICogR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgZnJvbSB0aGUgVW5pY29kZSBhbmQgY2hhcnNldCB0YWJsZVxcbiAgIDc6XFx0ICogcHJvdmlkZWQgYnkgdGhlIFVuaWNvZGUgT3JnYW5pc2F0aW9uIGF0XFxuICAgODpcXHQgKiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1xcbiAgIDk6XFx0ICogVGhlIFVuaWNvZGUgdG8gY2hhcnNldCB0YWJsZSBoYXMgb25seSBleGFjdCBtYXBwaW5ncy5cXG4gIDEwOlxcdCAqXFxuICAxMTpcXHQgKiBSaHlzIEpvbmVzLCBTd2Fuc2VhIFVuaXZlcnNpdHkgQ29tcHV0ZXIgU29jaWV0eVxcbiAgMTI6XFx0ICogcmh5c0BzdWNzLnN3YW4uYWMudWtcXG4gIDEzOlxcdCAqL1xcbiAgMTQ6XFx0XFxuICAxNTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvbW9kdWxlLmhcXHUwMDNlXFxuICAxNjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgva2VybmVsLmhcXHUwMDNlXFxuICAxNzpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvc3RyaW5nLmhcXHUwMDNlXFxuICAxODpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvbmxzLmhcXHUwMDNlXFxuICAxOTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJybm8uaFxcdTAwM2VcXG4gIDIwOlxcdFxcbiAgMjE6XFx0c3RhdGljIGNvbnN0IHdjaGFyX3QgY2hhcnNldDJ1bmlbMjU2XSA9IHtcXG4gIDIyOlxcdFxcdC8qIDB4MDAqL1xcbiAgMjM6XFx0XFx0MHgwMDAwLCAweDAwMDEsIDB4MDAwMiwgMHgwMDAzLCBcXG4gIDI0OlxcdFxcdDB4MDAwNCwgMHgwMDA1LCAweDAwMDYsIDB4MDAwNywgXFxuICAyNTpcXHRcXHQweDAwMDgsIDB4MDAwOSwgMHgwMDBhLCAweDAwMGIsIFxcbiAgMjY6XFx0XFx0MHgwMDBjLCAweDAwMGQsIDB4MDAwZSwgMHgwMDBmLCBcXG4gIDI3OlxcdFxcdC8qIDB4MTAqL1xcbiAgMjg6XFx0XFx0MHgwMDEwLCAweDAwMTEsIDB4MDAxMiwgMHgwMDEzLCBcXG4gIDI5OlxcdFxcdDB4MDAxNCwgMHgwMDE1LCAweDAwMTYsIDB4MDAxNywgXFxuICAzMDpcXHRcXHQweDAwMTgsIDB4MDAxOSwgMHgwMDFhLCAweDAwMWIsIFxcbiAgMzE6XFx0XFx0MHgwMDFjLCAweDAwMWQsIDB4MDAxZSwgMHgwMDFmLCBcXG4gIDMyOlxcdFxcdC8qIDB4MjAqL1xcbiAgMzM6XFx0XFx0MHgwMDIwLCAweDAwMjEsIDB4MDAyMiwgMHgwMDIzLCBcXG4gIDM0OlxcdFxcdDB4MDAyNCwgMHgwMDI1LCAweDAwMjYsIDB4MDAyNywgXFxuICAzNTpcXHRcXHQweDAwMjgsIDB4MDAyOSwgMHgwMDJhLCAweDAwMmIsIFxcbiAgMzY6XFx0XFx0MHgwMDJjLCAweDAwMmQsIDB4MDAyZSwgMHgwMDJmLCBcXG4gIDM3OlxcdFxcdC8qIDB4MzAqL1xcbiAgMzg6XFx0XFx0MHgwMDMwLCAweDAwMzEsIDB4MDAzMiwgMHgwMDMzLCBcXG4gIDM5OlxcdFxcdDB4MDAzNCwgMHgwMDM1LCAweDAwMzYsIDB4MDAzNywgXFxuICA0MDpcXHRcXHQweDAwMzgsIDB4MDAzOSwgMHgwMDNhLCAweDAwM2IsIFxcbiAgNDE6XFx0XFx0MHgwMDNjLCAweDAwM2QsIDB4MDAzZSwgMHgwMDNmLCBcXG4gIDQyOlxcdFxcdC8qIDB4NDAqL1xcbiAgNDM6XFx0XFx0MHgwMDQwLCAweDAwNDEsIDB4MDA0MiwgMHgwMDQzLCBcXG4gIDQ0OlxcdFxcdDB4MDA0NCwgMHgwMDQ1LCAweDAwNDYsIDB4MDA0NywgXFxuICA0NTpcXHRcXHQweDAwNDgsIDB4MDA0OSwgMHgwMDRhLCAweDAwNGIsIFxcbiAgNDY6XFx0XFx0MHgwMDRjLCAweDAwNGQsIDB4MDA0ZSwgMHgwMDRmLCBcXG4gIDQ3OlxcdFxcdC8qIDB4NTAqL1xcbiAgNDg6XFx0XFx0MHgwMDUwLCAweDAwNTEsIDB4MDA1MiwgMHgwMDUzLCBcXG4gIDQ5OlxcdFxcdDB4MDA1NCwgMHgwMDU1LCAweDAwNTYsIDB4MDA1NywgXFxuICA1MDpcXHRcXHQweDAwNTgsIDB4MDA1OSwgMHgwMDVhLCAweDAwNWIsIFxcbiAgNTE6XFx0XFx0MHgwMDVjLCAweDAwNWQsIDB4MDA1ZSwgMHgwMDVmLCBcXG4gIDUyOlxcdFxcdC8qIDB4NjAqL1xcbiAgNTM6XFx0XFx0MHgwMDYwLCAweDAwNjEsIDB4MDA2MiwgMHgwMDYzLCBcXG4gIDU0OlxcdFxcdDB4MDA2NCwgMHgwMDY1LCAweDAwNjYsIDB4MDA2NywgXFxuICA1NTpcXHRcXHQweDAwNjgsIDB4MDA2OSwgMHgwMDZhLCAweDAwNmIsIFxcbiAgNTY6XFx0XFx0MHgwMDZjLCAweDAwNmQsIDB4MDA2ZSwgMHgwMDZmLCBcXG4gIDU3OlxcdFxcdC8qIDB4NzAqL1xcbiAgNTg6XFx0XFx0MHgwMDcwLCAweDAwNzEsIDB4MDA3MiwgMHgwMDczLCBcXG4gIDU5OlxcdFxcdDB4MDA3NCwgMHgwMDc1LCAweDAwNzYsIDB4MDA3NywgXFxuICA2MDpcXHRcXHQweDAwNzgsIDB4MDA3OSwgMHgwMDdhLCAweDAwN2IsIFxcbiAgNjE6XFx0XFx0MHgwMDdjLCAweDAwN2QsIDB4MDA3ZSwgMHgwMDdmLCBcXG4gIDYyOlxcdFxcdC8qIDB4ODAqL1xcbiAgNjM6XFx0XFx0MHgwMDgwLCAweDAwODEsIDB4MDA4MiwgMHgwMDgzLFxcbiAgNjQ6XFx0XFx0MHgwMDg0LCAweDAwODUsIDB4MDA4NiwgMHgwMDg3LFxcbiAgNjU6XFx0XFx0MHgwMDg4LCAweDAwODksIDB4MDA4YSwgMHgwMDhiLFxcbiAgNjY6XFx0XFx0MHgwMDhjLCAweDAwOGQsIDB4MDA4ZSwgMHgwMDhmLFxcbiAgNjc6XFx0XFx0LyogMHg5MCovXFxuICA2ODpcXHRcXHQweDAwOTAsIDB4MDA5MSwgMHgwMDkyLCAweDAwOTMsXFxuICA2OTpcXHRcXHQweDAwOTQsIDB4MDA5NSwgMHgwMDk2LCAweDAwOTcsXFxuICA3MDpcXHRcXHQweDAwOTgsIDB4MDA5OSwgMHgwMDlhLCAweDAwOWIsXFxuICA3MTpcXHRcXHQweDAwOWMsIDB4MDA5ZCwgMHgwMDllLCAweDAwOWYsXFxuICA3MjpcXHRcXHQvKiAweGEwKi9cXG4gIDczOlxcdFxcdDB4MDBhMCwgMHgxZTAyLCAweDFlMDMsIDB4MDBhMywgXFxuICA3NDpcXHRcXHQweDAxMGEsIDB4MDEwYiwgMHgxZTBhLCAweDAwYTcsIFxcbiAgNzU6XFx0XFx0MHgxZTgwLCAweDAwYTksIDB4MWU4MiwgMHgxZTBiLCBcXG4gIDc2OlxcdFxcdDB4MWVmMiwgMHgwMGFkLCAweDAwYWUsIDB4MDE3OCwgXFxuICA3NzpcXHRcXHQvKiAweGIwKi9cXG4gIDc4OlxcdFxcdDB4MWUxZSwgMHgxZTFmLCAweDAxMjAsIDB4MDEyMSwgXFxuICA3OTpcXHRcXHQweDFlNDAsIDB4MWU0MSwgMHgwMGI2LCAweDFlNTYsIFxcbiAgODA6XFx0XFx0MHgxZTgxLCAweDFlNTcsIDB4MWU4MywgMHgxZTYwLCBcXG4gIDgxOlxcdFxcdDB4MWVmMywgMHgxZTg0LCAweDFlODUsIDB4MWU2MSwgXFxuICA4MjpcXHRcXHQvKiAweGMwKi9cXG4gIDgzOlxcdFxcdDB4MDBjMCwgMHgwMGMxLCAweDAwYzIsIDB4MDBjMywgXFxuICA4NDpcXHRcXHQweDAwYzQsIDB4MDBjNSwgMHgwMGM2LCAweDAwYzcsIFxcbiAgODU6XFx0XFx0MHgwMGM4LCAweDAwYzksIDB4MDBjYSwgMHgwMGNiLCBcXG4gIDg2OlxcdFxcdDB4MDBjYywgMHgwMGNkLCAweDAwY2UsIDB4MDBjZiwgXFxuICA4NzpcXHRcXHQvKiAweGQwKi9cXG4gIDg4OlxcdFxcdDB4MDE3NCwgMHgwMGQxLCAweDAwZDIsIDB4MDBkMywgXFxuICA4OTpcXHRcXHQweDAwZDQsIDB4MDBkNSwgMHgwMGQ2LCAweDFlNmEsIFxcbiAgOTA6XFx0XFx0MHgwMGQ4LCAweDAwZDksIDB4MDBkYSwgMHgwMGRiLCBcXG4gIDkxOlxcdFxcdDB4MDBkYywgMHgwMGRkLCAweDAxNzYsIDB4MDBkZiwgXFxuICA5MjpcXHRcXHQvKiAweGUwKi9cXG4gIDkzOlxcdFxcdDB4MDBlMCwgMHgwMGUxLCAweDAwZTIsIDB4MDBlMywgXFxuICA5NDpcXHRcXHQweDAwZTQsIDB4MDBlNSwgMHgwMGU2LCAweDAwZTcsIFxcbiAgOTU6XFx0XFx0MHgwMGU4LCAweDAwZTksIDB4MDBlYSwgMHgwMGViLCBcXG4gIDk2OlxcdFxcdDB4MDBlYywgMHgwMGVkLCAweDAwZWUsIDB4MDBlZiwgXFxuICA5NzpcXHRcXHQvKiAweGYwKi9cXG4gIDk4OlxcdFxcdDB4MDE3NSwgMHgwMGYxLCAweDAwZjIsIDB4MDBmMywgXFxuICA5OTpcXHRcXHQweDAwZjQsIDB4MDBmNSwgMHgwMGY2LCAweDFlNmIsIFxcbiAxMDA6XFx0XFx0MHgwMGY4LCAweDAwZjksIDB4MDBmYSwgMHgwMGZiLCBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTU6MDEuMTI5MDI1MzI0WiIsIlNlcSI6MjcsIk5lc3RpbmciOjMsIlR5cGUiOiJsbG0iLCJOYW1lIjoia21zYW4tZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjIxNDczMjMwNTksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aGF0IHRob3VnaHQgcHJvY2VzcywgYXNzdW1pbmcgSSdtIGFscmVhZHkgZGVlcCBpbiB0aGUgd2VlZHMgb2YgZmlsZXN5c3RlbSBjb2RlOlxuXG4qKkRpdmluZyBpbnRvIHRoZSBJU08tODg1OS0xNCBJbXBsZW1lbnRhdGlvbioqXG5cbkFscmlnaHQsIHRpbWUgdG8gZGlnIGRlZXBlci4gSSd2ZSBiZWVuIHdvcmtpbmcgd2l0aCB0aGUgZmlsZXN5c3RlbSBjb2RlIGFuZCBub3cgSSBuZWVkIHRvIG1vdmUgb24gdG8gdGhlIGBmcy9ubHMvYCBkaXJlY3RvcnksIHNwZWNpZmljYWxseSBmb2N1c2luZyBvbiB0aGUgYG5sc19pc284ODU5LTE0LmNgIGZpbGUuIEknbSBhc3N1bWluZyBpdCdzIGhhbmRsaW5nIHRoZSBjaGFyYWN0ZXIgc2V0IGNvbnZlcnNpb24gZm9yIElTTy04ODU5LTE0LCBsaWtlbHkgZm9yIGZpbGVzeXN0ZW0gb3BlcmF0aW9ucy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoZSBzeXN0ZW0gdHJhbnNsYXRlcyBiZXR3ZWVuIFVuaWNvZGUgYW5kIHRoaXMgc3BlY2lmaWMgZW5jb2RpbmcuIExldCdzIGdldCByZWFkaW5nIGFuZCBzZWUgd2hhdCdzIHdoYXQuIEknbSBleHBlY3RpbmcgdG8gZmluZCB0aGUgY2hhcmFjdGVyIG1hcHBpbmcgdGFibGVzLCBwcm9iYWJseSBzb21lIGNvbnZlcnNpb24gZnVuY3Rpb25zLCBhbmQgbGlrZWx5IHNvbWUgZXJyb3IgaGFuZGxpbmcuIFRpbWUgdG8gZGl2ZSBpbiBhbmQgZ2V0IGEgZ3JpcCBvbiBob3cgdGhpcyBzcGVjaWZpYyBlbmNvZGluZyBpcyBzdXBwb3J0ZWQgYXQgYSBsb3cgbGV2ZWwuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjg0ODMsIk91dHB1dFRva2VucyI6NDcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNywiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE1OjAzLjI3NjM1MjM3M1oiLCJTZXEiOjI4LCJOZXN0aW5nIjozLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNDE5MTEsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiZnMvbmxzL25sc19pc284ODU5LTE0LmNcIixcbiAgXCJGaXJzdExpbmVcIjogMTAxLFxuICBcIkxpbmVDb3VudFwiOiAxNTBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDEwMTpcXHRcXHQweDAwZmMsIDB4MDBmZCwgMHgwMTc3LCAweDAwZmYsIFxcbiAxMDI6XFx0fTtcXG4gMTAzOlxcdFxcbiAxMDQ6XFx0c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAwWzI1Nl0gPSB7XFxuIDEwNTpcXHRcXHQweDAwLCAweDAxLCAweDAyLCAweDAzLCAweDA0LCAweDA1LCAweDA2LCAweDA3LCAvKiAweDAwLTB4MDcgKi9cXG4gMTA2OlxcdFxcdDB4MDgsIDB4MDksIDB4MGEsIDB4MGIsIDB4MGMsIDB4MGQsIDB4MGUsIDB4MGYsIC8qIDB4MDgtMHgwZiAqL1xcbiAxMDc6XFx0XFx0MHgxMCwgMHgxMSwgMHgxMiwgMHgxMywgMHgxNCwgMHgxNSwgMHgxNiwgMHgxNywgLyogMHgxMC0weDE3ICovXFxuIDEwODpcXHRcXHQweDE4LCAweDE5LCAweDFhLCAweDFiLCAweDFjLCAweDFkLCAweDFlLCAweDFmLCAvKiAweDE4LTB4MWYgKi9cXG4gMTA5OlxcdFxcdDB4MjAsIDB4MjEsIDB4MjIsIDB4MjMsIDB4MjQsIDB4MjUsIDB4MjYsIDB4MjcsIC8qIDB4MjAtMHgyNyAqL1xcbiAxMTA6XFx0XFx0MHgyOCwgMHgyOSwgMHgyYSwgMHgyYiwgMHgyYywgMHgyZCwgMHgyZSwgMHgyZiwgLyogMHgyOC0weDJmICovXFxuIDExMTpcXHRcXHQweDMwLCAweDMxLCAweDMyLCAweDMzLCAweDM0LCAweDM1LCAweDM2LCAweDM3LCAvKiAweDMwLTB4MzcgKi9cXG4gMTEyOlxcdFxcdDB4MzgsIDB4MzksIDB4M2EsIDB4M2IsIDB4M2MsIDB4M2QsIDB4M2UsIDB4M2YsIC8qIDB4MzgtMHgzZiAqL1xcbiAxMTM6XFx0XFx0MHg0MCwgMHg0MSwgMHg0MiwgMHg0MywgMHg0NCwgMHg0NSwgMHg0NiwgMHg0NywgLyogMHg0MC0weDQ3ICovXFxuIDExNDpcXHRcXHQweDQ4LCAweDQ5LCAweDRhLCAweDRiLCAweDRjLCAweDRkLCAweDRlLCAweDRmLCAvKiAweDQ4LTB4NGYgKi9cXG4gMTE1OlxcdFxcdDB4NTAsIDB4NTEsIDB4NTIsIDB4NTMsIDB4NTQsIDB4NTUsIDB4NTYsIDB4NTcsIC8qIDB4NTAtMHg1NyAqL1xcbiAxMTY6XFx0XFx0MHg1OCwgMHg1OSwgMHg1YSwgMHg1YiwgMHg1YywgMHg1ZCwgMHg1ZSwgMHg1ZiwgLyogMHg1OC0weDVmICovXFxuIDExNzpcXHRcXHQweDYwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LCAvKiAweDYwLTB4NjcgKi9cXG4gMTE4OlxcdFxcdDB4NjgsIDB4NjksIDB4NmEsIDB4NmIsIDB4NmMsIDB4NmQsIDB4NmUsIDB4NmYsIC8qIDB4NjgtMHg2ZiAqL1xcbiAxMTk6XFx0XFx0MHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NywgLyogMHg3MC0weDc3ICovXFxuIDEyMDpcXHRcXHQweDc4LCAweDc5LCAweDdhLCAweDdiLCAweDdjLCAweDdkLCAweDdlLCAweDdmLCAvKiAweDc4LTB4N2YgKi9cXG4gMTIxOlxcdFxcbiAxMjI6XFx0XFx0MHg4MCwgMHg4MSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4NSwgMHg4NiwgMHg4NywgLyogMHg4MC0weDg3ICovXFxuIDEyMzpcXHRcXHQweDg4LCAweDg5LCAweDhhLCAweDhiLCAweDhjLCAweDhkLCAweDhlLCAweDhmLCAvKiAweDg4LTB4OGYgKi9cXG4gMTI0OlxcdFxcdDB4OTAsIDB4OTEsIDB4OTIsIDB4OTMsIDB4OTQsIDB4OTUsIDB4OTYsIDB4OTcsIC8qIDB4OTAtMHg5NyAqL1xcbiAxMjU6XFx0XFx0MHg5OCwgMHg5OSwgMHg5YSwgMHg5YiwgMHg5YywgMHg5ZCwgMHg5ZSwgMHg5ZiwgLyogMHg5OC0weDlmICovXFxuIDEyNjpcXHRcXHQweGEwLCAweDAwLCAweDAwLCAweGEzLCAweDAwLCAweDAwLCAweDAwLCAweGE3LCAvKiAweGEwLTB4YTcgKi9cXG4gMTI3OlxcdFxcdDB4MDAsIDB4YTksIDB4MDAsIDB4MDAsIDB4MDAsIDB4YWQsIDB4YWUsIDB4MDAsIC8qIDB4YTgtMHhhZiAqL1xcbiAxMjg6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiNiwgMHgwMCwgLyogMHhiMC0weGI3ICovXFxuIDEyOTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGI4LTB4YmYgKi9cXG4gMTMwOlxcdFxcdDB4YzAsIDB4YzEsIDB4YzIsIDB4YzMsIDB4YzQsIDB4YzUsIDB4YzYsIDB4YzcsIC8qIDB4YzAtMHhjNyAqL1xcbiAxMzE6XFx0XFx0MHhjOCwgMHhjOSwgMHhjYSwgMHhjYiwgMHhjYywgMHhjZCwgMHhjZSwgMHhjZiwgLyogMHhjOC0weGNmICovXFxuIDEzMjpcXHRcXHQweDAwLCAweGQxLCAweGQyLCAweGQzLCAweGQ0LCAweGQ1LCAweGQ2LCAweDAwLCAvKiAweGQwLTB4ZDcgKi9cXG4gMTMzOlxcdFxcdDB4ZDgsIDB4ZDksIDB4ZGEsIDB4ZGIsIDB4ZGMsIDB4ZGQsIDB4MDAsIDB4ZGYsIC8qIDB4ZDgtMHhkZiAqL1xcbiAxMzQ6XFx0XFx0MHhlMCwgMHhlMSwgMHhlMiwgMHhlMywgMHhlNCwgMHhlNSwgMHhlNiwgMHhlNywgLyogMHhlMC0weGU3ICovXFxuIDEzNTpcXHRcXHQweGU4LCAweGU5LCAweGVhLCAweGViLCAweGVjLCAweGVkLCAweGVlLCAweGVmLCAvKiAweGU4LTB4ZWYgKi9cXG4gMTM2OlxcdFxcdDB4MDAsIDB4ZjEsIDB4ZjIsIDB4ZjMsIDB4ZjQsIDB4ZjUsIDB4ZjYsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqL1xcbiAxMzc6XFx0XFx0MHhmOCwgMHhmOSwgMHhmYSwgMHhmYiwgMHhmYywgMHhmZCwgMHgwMCwgMHhmZiwgLyogMHhmOC0weGZmICovXFxuIDEzODpcXHR9O1xcbiAxMzk6XFx0XFxuIDE0MDpcXHRzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDFbMjU2XSA9IHtcXG4gMTQxOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqL1xcbiAxNDI6XFx0XFx0MHgwMCwgMHgwMCwgMHhhNCwgMHhhNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXFxuIDE0MzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi9cXG4gMTQ0OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTgtMHgxZiAqL1xcbiAxNDU6XFx0XFx0MHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXFxuIDE0NjpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDI4LTB4MmYgKi9cXG4gMTQ3OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzAtMHgzNyAqL1xcbiAxNDg6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovXFxuIDE0OTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQwLTB4NDcgKi9cXG4gMTUwOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDgtMHg0ZiAqL1xcbiAxNTE6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1MC0weDU3ICovXFxuIDE1MjpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDU4LTB4NWYgKi9cXG4gMTUzOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqL1xcbiAxNTQ6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2OC0weDZmICovXFxuIDE1NTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGQwLCAweGYwLCAweGRlLCAweGZlLCAvKiAweDcwLTB4NzcgKi9cXG4gMTU2OlxcdFxcdDB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqL1xcbiAxNTc6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXFxuIDE1ODpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi9cXG4gMTU5OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTAtMHg5NyAqL1xcbiAxNjA6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5OC0weDlmICovXFxuIDE2MTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGEwLTB4YTcgKi9cXG4gMTYyOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YTgtMHhhZiAqL1xcbiAxNjM6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhiMC0weGI3ICovXFxuIDE2NDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGI4LTB4YmYgKi9cXG4gMTY1OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YzAtMHhjNyAqL1xcbiAxNjY6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjOC0weGNmICovXFxuIDE2NzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGQwLTB4ZDcgKi9cXG4gMTY4OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDgtMHhkZiAqL1xcbiAxNjk6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlMC0weGU3ICovXFxuIDE3MDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGU4LTB4ZWYgKi9cXG4gMTcxOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqL1xcbiAxNzI6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmOC0weGZmICovXFxuIDE3MzpcXHR9O1xcbiAxNzQ6XFx0XFxuIDE3NTpcXHRzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMWVbMjU2XSA9IHtcXG4gMTc2OlxcdFxcdDB4MDAsIDB4MDAsIDB4YTEsIDB4YTIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqL1xcbiAxNzc6XFx0XFx0MHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXFxuIDE3ODpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi9cXG4gMTc5OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjAsIDB4YjEsIC8qIDB4MTgtMHgxZiAqL1xcbiAxODA6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXFxuIDE4MTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDI4LTB4MmYgKi9cXG4gMTgyOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzAtMHgzNyAqL1xcbiAxODM6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovXFxuIDE4NDpcXHRcXHQweGI0LCAweGI1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQwLTB4NDcgKi9cXG4gMTg1OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDgtMHg0ZiAqL1xcbiAxODY6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiNywgMHhiOSwgLyogMHg1MC0weDU3ICovXFxuIDE4NzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDU4LTB4NWYgKi9cXG4gMTg4OlxcdFxcdDB4YmIsIDB4YmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqL1xcbiAxODk6XFx0XFx0MHgwMCwgMHgwMCwgMHhkNywgMHhmNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2OC0weDZmICovXFxuIDE5MDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDcwLTB4NzcgKi9cXG4gMTkxOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqL1xcbiAxOTI6XFx0XFx0MHhhOCwgMHhiOCwgMHhhYSwgMHhiYSwgMHhiZCwgMHhiZSwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXFxuIDE5MzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi9cXG4gMTk0OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTAtMHg5NyAqL1xcbiAxOTU6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5OC0weDlmICovXFxuIDE5NjpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGEwLTB4YTcgKi9cXG4gMTk3OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YTgtMHhhZiAqL1xcbiAxOTg6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhiMC0weGI3ICovXFxuIDE5OTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGI4LTB4YmYgKi9cXG4gMjAwOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YzAtMHhjNyAqL1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNTowMy4yNzY0OTc2OTRaIiwiU2VxIjoyOSwiTmVzdGluZyI6MywiVHlwZSI6ImxsbSIsIk5hbWUiOiJrbXNhbi1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6MTQ1MTc1NzE2MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgSSdtIHJlYWR5IHRvIHJlY2VpdmUgdGhlIHRleHQgYW5kIHByb3ZpZGUgYSBmaXJzdC1wZXJzb24gc3VtbWFyeSBvZiB0aGUgZGVzY3JpYmVkIHRob3VnaHRzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLiBJIHVuZGVyc3RhbmQgdGhlIGdvYWwgaXMgYSBkZXRhaWxlZCB3YWxrdGhyb3VnaCBvZiB0aGUgbWVudGFsIHByb2Nlc3NlcywgYXMgaWYgSSB3ZXJlIGhhdmluZyB0aGVtIG15c2VsZi5cblxuXG4iLCJJbnB1dFRva2VucyI6MTQ2MzYsIk91dHB1dFRva2VucyI6NDcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE1OjA0LjcyODI1Nzg5M1oiLCJTZXEiOjMwLCJOZXN0aW5nIjozLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNjI3MzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiZnMvbmxzL25sc19pc284ODU5LTE0LmNcIixcbiAgXCJGaXJzdExpbmVcIjogMjAxLFxuICBcIkxpbmVDb3VudFwiOiAxMDBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDIwMTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGM4LTB4Y2YgKi9cXG4gMjAyOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xcbiAyMDM6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXFxuIDIwNDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cXG4gMjA1OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xcbiAyMDY6XFx0XFx0MHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXFxuIDIwNzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cXG4gMjA4OlxcdH07XFxuIDIwOTpcXHRcXG4gMjEwOlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuIDIxMTpcXHRcXHRwYWdlMDAsXFx0cGFnZTAxLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBcXG4gMjEyOlxcdFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXG4gMjEzOlxcdFxcbiAyMTQ6XFx0XFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcbiAyMTU6XFx0XFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0cGFnZTFlLFxcdE5VTEwsXFxuIDIxNjpcXHRcXG4gMjE3OlxcdFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXG4gMjE4OlxcdFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXG4gMjE5OlxcdH07XFxuIDIyMDpcXHRcXG4gMjIxOlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQybG93ZXJbMjU2XSA9IHtcXG4gMjIyOlxcdFxcdDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDUsIDB4MDYsIDB4MDcsIC8qIDB4MDAtMHgwNyAqL1xcbiAyMjM6XFx0XFx0MHgwOCwgMHgwOSwgMHgwYSwgMHgwYiwgMHgwYywgMHgwZCwgMHgwZSwgMHgwZiwgLyogMHgwOC0weDBmICovXFxuIDIyNDpcXHRcXHQweDEwLCAweDExLCAweDEyLCAweDEzLCAweDE0LCAweDE1LCAweDE2LCAweDE3LCAvKiAweDEwLTB4MTcgKi9cXG4gMjI1OlxcdFxcdDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsIC8qIDB4MTgtMHgxZiAqL1xcbiAyMjY6XFx0XFx0MHgyMCwgMHgyMSwgMHgyMiwgMHgyMywgMHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgLyogMHgyMC0weDI3ICovXFxuIDIyNzpcXHRcXHQweDI4LCAweDI5LCAweDJhLCAweDJiLCAweDJjLCAweDJkLCAweDJlLCAweDJmLCAvKiAweDI4LTB4MmYgKi9cXG4gMjI4OlxcdFxcdDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIC8qIDB4MzAtMHgzNyAqL1xcbiAyMjk6XFx0XFx0MHgzOCwgMHgzOSwgMHgzYSwgMHgzYiwgMHgzYywgMHgzZCwgMHgzZSwgMHgzZiwgLyogMHgzOC0weDNmICovXFxuIDIzMDpcXHRcXHQweDQwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LCAvKiAweDQwLTB4NDcgKi9cXG4gMjMxOlxcdFxcdDB4NjgsIDB4NjksIDB4NmEsIDB4NmIsIDB4NmMsIDB4NmQsIDB4NmUsIDB4NmYsIC8qIDB4NDgtMHg0ZiAqL1xcbiAyMzI6XFx0XFx0MHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NywgLyogMHg1MC0weDU3ICovXFxuIDIzMzpcXHRcXHQweDc4LCAweDc5LCAweDdhLCAweDViLCAweDVjLCAweDVkLCAweDVlLCAweDVmLCAvKiAweDU4LTB4NWYgKi9cXG4gMjM0OlxcdFxcdDB4NjAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsIC8qIDB4NjAtMHg2NyAqL1xcbiAyMzU6XFx0XFx0MHg2OCwgMHg2OSwgMHg2YSwgMHg2YiwgMHg2YywgMHg2ZCwgMHg2ZSwgMHg2ZiwgLyogMHg2OC0weDZmICovXFxuIDIzNjpcXHRcXHQweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LCAvKiAweDcwLTB4NzcgKi9cXG4gMjM3OlxcdFxcdDB4NzgsIDB4NzksIDB4N2EsIDB4N2IsIDB4N2MsIDB4N2QsIDB4N2UsIDB4N2YsIC8qIDB4NzgtMHg3ZiAqL1xcbiAyMzg6XFx0XFxuIDIzOTpcXHRcXHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cXG4gMjQwOlxcdFxcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xcbiAyNDE6XFx0XFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXFxuIDI0MjpcXHRcXHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cXG4gMjQzOlxcdFxcdDB4YTAsIDB4YTIsIDB4YTIsIDB4YTMsIDB4YWIsIDB4YWIsIDB4YWIsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xcbiAyNDQ6XFx0XFx0MHhiOCwgMHhhOSwgMHhiYSwgMHhhYiwgMHhiYywgMHhhZCwgMHhhZSwgMHhmZiwgLyogMHhhOC0weGFmICovXFxuIDI0NTpcXHRcXHQweGIxLCAweGIxLCAweGIzLCAweGIzLCAweGI1LCAweGI1LCAweGI2LCAweGI5LCAvKiAweGIwLTB4YjcgKi9cXG4gMjQ2OlxcdFxcdDB4YjgsIDB4YjksIDB4YmEsIDB4YmYsIDB4YmMsIDB4YmUsIDB4YmUsIDB4YmYsIC8qIDB4YjgtMHhiZiAqL1xcbiAyNDc6XFx0XFx0MHhlMCwgMHhlMSwgMHhlMiwgMHhlMywgMHhlNCwgMHhlNSwgMHhlNiwgMHhlNywgLyogMHhjMC0weGM3ICovXFxuIDI0ODpcXHRcXHQweGU4LCAweGU5LCAweGVhLCAweGViLCAweGVjLCAweGVkLCAweGVlLCAweGVmLCAvKiAweGM4LTB4Y2YgKi9cXG4gMjQ5OlxcdFxcdDB4ZjAsIDB4ZjEsIDB4ZjIsIDB4ZjMsIDB4ZjQsIDB4ZjUsIDB4ZjYsIDB4ZjcsIC8qIDB4ZDAtMHhkNyAqL1xcbiAyNTA6XFx0XFx0MHhmOCwgMHhmOSwgMHhmYSwgMHhmYiwgMHhmYywgMHhmZCwgMHhmZSwgMHhkZiwgLyogMHhkOC0weGRmICovXFxuIDI1MTpcXHRcXHQweGUwLCAweGUxLCAweGUyLCAweGUzLCAweGU0LCAweGU1LCAweGU2LCAweGU3LCAvKiAweGUwLTB4ZTcgKi9cXG4gMjUyOlxcdFxcdDB4ZTgsIDB4ZTksIDB4ZWEsIDB4ZWIsIDB4ZWMsIDB4ZWQsIDB4ZWUsIDB4ZWYsIC8qIDB4ZTgtMHhlZiAqL1xcbiAyNTM6XFx0XFx0MHhmMCwgMHhmMSwgMHhmMiwgMHhmMywgMHhmNCwgMHhmNSwgMHhmNiwgMHhmNywgLyogMHhmMC0weGY3ICovXFxuIDI1NDpcXHRcXHQweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweGZkLCAweGZlLCAweGZmLCAvKiAweGY4LTB4ZmYgKi9cXG4gMjU1OlxcdH07XFxuIDI1NjpcXHRcXG4gMjU3OlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4gMjU4OlxcdFxcdDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDUsIDB4MDYsIDB4MDcsIC8qIDB4MDAtMHgwNyAqL1xcbiAyNTk6XFx0XFx0MHgwOCwgMHgwOSwgMHgwYSwgMHgwYiwgMHgwYywgMHgwZCwgMHgwZSwgMHgwZiwgLyogMHgwOC0weDBmICovXFxuIDI2MDpcXHRcXHQweDEwLCAweDExLCAweDEyLCAweDEzLCAweDE0LCAweDE1LCAweDE2LCAweDE3LCAvKiAweDEwLTB4MTcgKi9cXG4gMjYxOlxcdFxcdDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsIC8qIDB4MTgtMHgxZiAqL1xcbiAyNjI6XFx0XFx0MHgyMCwgMHgyMSwgMHgyMiwgMHgyMywgMHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgLyogMHgyMC0weDI3ICovXFxuIDI2MzpcXHRcXHQweDI4LCAweDI5LCAweDJhLCAweDJiLCAweDJjLCAweDJkLCAweDJlLCAweDJmLCAvKiAweDI4LTB4MmYgKi9cXG4gMjY0OlxcdFxcdDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIC8qIDB4MzAtMHgzNyAqL1xcbiAyNjU6XFx0XFx0MHgzOCwgMHgzOSwgMHgzYSwgMHgzYiwgMHgzYywgMHgzZCwgMHgzZSwgMHgzZiwgLyogMHgzOC0weDNmICovXFxuIDI2NjpcXHRcXHQweDQwLCAweDQxLCAweDQyLCAweDQzLCAweDQ0LCAweDQ1LCAweDQ2LCAweDQ3LCAvKiAweDQwLTB4NDcgKi9cXG4gMjY3OlxcdFxcdDB4NDgsIDB4NDksIDB4NGEsIDB4NGIsIDB4NGMsIDB4NGQsIDB4NGUsIDB4NGYsIC8qIDB4NDgtMHg0ZiAqL1xcbiAyNjg6XFx0XFx0MHg1MCwgMHg1MSwgMHg1MiwgMHg1MywgMHg1NCwgMHg1NSwgMHg1NiwgMHg1NywgLyogMHg1MC0weDU3ICovXFxuIDI2OTpcXHRcXHQweDU4LCAweDU5LCAweDVhLCAweDViLCAweDVjLCAweDVkLCAweDVlLCAweDVmLCAvKiAweDU4LTB4NWYgKi9cXG4gMjcwOlxcdFxcdDB4NjAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NjAtMHg2NyAqL1xcbiAyNzE6XFx0XFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg2OC0weDZmICovXFxuIDI3MjpcXHRcXHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDcwLTB4NzcgKi9cXG4gMjczOlxcdFxcdDB4NTgsIDB4NTksIDB4NWEsIDB4N2IsIDB4N2MsIDB4N2QsIDB4N2UsIDB4N2YsIC8qIDB4NzgtMHg3ZiAqL1xcbiAyNzQ6XFx0XFxuIDI3NTpcXHRcXHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cXG4gMjc2OlxcdFxcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xcbiAyNzc6XFx0XFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXFxuIDI3ODpcXHRcXHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cXG4gMjc5OlxcdFxcdDB4YTAsIDB4YTEsIDB4YTEsIDB4YTMsIDB4YTYsIDB4YTYsIDB4YTYsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xcbiAyODA6XFx0XFx0MHhhOCwgMHhhOSwgMHhhYSwgMHhhNiwgMHhhYywgMHhhZCwgMHhhZSwgMHhhZiwgLyogMHhhOC0weGFmICovXFxuIDI4MTpcXHRcXHQweGIwLCAweGIwLCAweGIyLCAweGIyLCAweGI0LCAweGI0LCAweGI2LCAweGI3LCAvKiAweGIwLTB4YjcgKi9cXG4gMjgyOlxcdFxcdDB4YTgsIDB4YjcsIDB4YWEsIDB4YmIsIDB4YWMsIDB4YmQsIDB4YmQsIDB4YmIsIC8qIDB4YjgtMHhiZiAqL1xcbiAyODM6XFx0XFx0MHhjMCwgMHhjMSwgMHhjMiwgMHhjMywgMHhjNCwgMHhjNSwgMHhjNiwgMHhjNywgLyogMHhjMC0weGM3ICovXFxuIDI4NDpcXHRcXHQweGM4LCAweGM5LCAweGNhLCAweGNiLCAweGNjLCAweGNkLCAweGNlLCAweGNmLCAvKiAweGM4LTB4Y2YgKi9cXG4gMjg1OlxcdFxcdDB4ZDAsIDB4ZDEsIDB4ZDIsIDB4ZDMsIDB4ZDQsIDB4ZDUsIDB4ZDYsIDB4ZDcsIC8qIDB4ZDAtMHhkNyAqL1xcbiAyODY6XFx0XFx0MHhkOCwgMHhkOSwgMHhkYSwgMHhkYiwgMHhkYywgMHhkZCwgMHhkZSwgMHhkZiwgLyogMHhkOC0weGRmICovXFxuIDI4NzpcXHRcXHQweGMwLCAweGMxLCAweGMyLCAweGMzLCAweGM0LCAweGM1LCAweGM2LCAweGM3LCAvKiAweGUwLTB4ZTcgKi9cXG4gMjg4OlxcdFxcdDB4YzgsIDB4YzksIDB4Y2EsIDB4Y2IsIDB4Y2MsIDB4Y2QsIDB4Y2UsIDB4Y2YsIC8qIDB4ZTgtMHhlZiAqL1xcbiAyODk6XFx0XFx0MHhkMCwgMHhkMSwgMHhkMiwgMHhkMywgMHhkNCwgMHhkNSwgMHhkNiwgMHhkNywgLyogMHhmMC0weGY3ICovXFxuIDI5MDpcXHRcXHQweGQ4LCAweGQ5LCAweGRhLCAweGRiLCAweGRjLCAweGRkLCAweGRlLCAweGFmLCAvKiAweGY4LTB4ZmYgKi9cXG4gMjkxOlxcdH07XFxuIDI5MjpcXHRcXG4gMjkzOlxcdHN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbiAyOTQ6XFx0e1xcbiAyOTU6XFx0XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuIDI5NjpcXHRcXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbiAyOTc6XFx0XFx0dW5zaWduZWQgY2hhciBjaCA9ICh1bmkgXFx1MDAyNiAweGZmMDApIFxcdTAwM2VcXHUwMDNlIDg7XFxuIDI5ODpcXHRcXG4gMjk5OlxcdFxcdGlmIChib3VuZGxlbiBcXHUwMDNjPSAwKVxcbiAzMDA6XFx0XFx0XFx0cmV0dXJuIC1FTkFNRVRPT0xPTkc7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE1OjA0LjcyODQyMjkwM1oiLCJTZXEiOjMxLCJOZXN0aW5nIjozLCJUeXBlIjoibGxtIiwiTmFtZSI6Imttc2FuLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo0OTk2MjQ1Mzc1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2Ygd2hhdCdzIGdvaW5nIHRocm91Z2ggbXkgbWluZCBhcyBJIGFwcHJvYWNoIHRoaXMgY29kZSwgcHJlc2VudGVkIGluIHRoZSBmaXJzdCBwZXJzb24sIGFzIHJlcXVlc3RlZDpcblxuKipEaXZpbmcgaW50byBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgKipcblxuQWxyaWdodCwgbGV0J3MgZ2V0IGludG8gdGhpcy4gSSdtIGxvb2tpbmcgYXQgYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYC4gT2theSwgc28gdGhpcyBpcyBhIGNoYXJhY3RlciBzZXQgZGVmaW5pdGlvbiwgbGlrZWx5IGZvciBmaWxlc3lzdGVtIG9wZXJhdGlvbnMuIEtub3dpbmcgdGhlIGBmcy9gIHBhdGgsIEknbSBhbHJlYWR5IGFudGljaXBhdGluZyBzb21lIGNoYXJhY3RlciBzZXQgdHJhbnNsYXRpb24gbG9naWMsIHNvbWV0aGluZyBkZWFsaW5nIHdpdGggZmlsZW5hbWUgZW5jb2RpbmcsIHByb2JhYmx5LiBHaXZlbiB0aGUgZmlsZW5hbWUsIEkgY2FuIHRlbGwgaXQncyBsaWtlbHkgZGVhbGluZyB3aXRoIHRoZSBJU08gODg1OS0xNCBjaGFyYWN0ZXIgc2V0LiBTcGVjaWZpY2FsbHksIEknbSBleHBlY3RpbmcgdGhpcyBDIGZpbGUgdG8gY29udGFpbiB0YWJsZXMgdGhhdCBtYXAgdGhlIHJhdyBieXRlIHZhbHVlcyBvZiB0aGF0IGVuY29kaW5nIHRvIFVuaWNvZGUgb3Igb3RoZXIgaW50ZXJuYWwgcmVwcmVzZW50YXRpb25zIHVzZWQgYnkgdGhlIGtlcm5lbC4gVGhlIGdvYWwsIHVsdGltYXRlbHksIGlzIHRvIGVuc3VyZSBmaWxlcGF0aHMgYXJlIGNvcnJlY3RseSBpbnRlcnByZXRlZCBhbmQgZGlzcGxheWVkIHJlZ2FyZGxlc3Mgb2YgdGhlIHVuZGVybHlpbmcgY2hhcmFjdGVyIHNldCB1c2VkIG9uIHRoZSBmaWxlc3lzdGVtLiBJIHNob3VsZCBiZSBsb29raW5nIGZvciB0aGluZ3MgbGlrZTpcblxuKiAgICoqVGFibGVzOioqIFRoZSBjb3JlIHdpbGwgbGlrZWx5IGJlIGxvb2t1cCB0YWJsZXMg4oCTIGFuIGFycmF5IG9mIHZhbHVlcyB3aGVyZSBlYWNoIGluZGV4IHJlcHJlc2VudHMgYSBieXRlIG9mIHRoZSBJU08gODg1OS0xNCBlbmNvZGluZywgYW5kIHRoZSB2YWx1ZSByZXByZXNlbnRzIGEgVW5pY29kZSBjb2RlcG9pbnQgKG9yIGEgZmxhZyBpbmRpY2F0aW5nIGFuIGVycm9yL2ZhbGxiYWNrKS5cbiogICAqKlRyYW5zbGF0aW9uIEZ1bmN0aW9uczoqKiBJJ2xsIGFsc28gYmUgc2VhcmNoaW5nIGZvciBmdW5jdGlvbnMgdGhhdCBwZXJmb3JtIHRoZSBhY3R1YWwgY29udmVyc2lvbi4gSXQgY291bGQgYmUgYSBzaW1wbGUgYXJyYXkgbG9va3VwLCBvciBzb21ldGhpbmcgbW9yZSBjb21wbGV4IGlmIHRoZXJlIGFyZSBjaGFyYWN0ZXIgcmFuZ2VzLCBvciBzcGVjaWFsIG1hcHBpbmdzLlxuKiAgICoqSW5pdGlhbGl6YXRpb246KiogU29tZXdoZXJlLCB0aGVyZSdsbCBiZSBpbml0aWFsaXphdGlvbiBjb2RlIHRoYXQgbG9hZHMgdGhpcyBtYXBwaW5nIGludG8gbWVtb3J5IGF0IG1vZHVsZSBsb2FkIHRpbWUuXG4qICAgKipFcnJvciBIYW5kbGluZzoqKiBJdCdzIGltcG9ydGFudCB0byB1bmRlcnN0YW5kIGhvdyBpbnZhbGlkIG9yIHVubWFwcGVkIGNoYXJhY3RlcnMgYXJlIGhhbmRsZWQuIEFyZSB0aGV5IHJlcGxhY2VkIHdpdGggYSBkZWZhdWx0IGNoYXJhY3Rlcj8gT3IgaXMgYW4gZXJyb3Igc2lnbmFsZWQ/XG4qICAgKipVc2FnZSBDb250ZXh0OioqIElkZWFsbHksIHRoZSBjb2RlIHdpbGwgcHJvdmlkZSBjbHVlcyBhYm91dCBob3cgdGhlc2UgdGFibGVzIGFyZSB1c2VkLCBlLmcuLCB3aGljaCBmaWxlc3lzdGVtIGRyaXZlcnMgcmVseSBvbiB0aGlzIHRyYW5zbGF0aW9uLlxuXG5JJ20gcmVhZHkgdG8gZGlnIGluIGFuZCB1bmRlcnN0YW5kIGhvdyB0aGlzIHBhcnRpY3VsYXIgY2hhcmFjdGVyIHNldCBpcyBzdXBwb3J0ZWQgd2l0aGluIHRoaXMgc3BlY2lmaWMgcGFydCBvZiB0aGUgZmlsZXN5c3RlbSBjb2RlLiBJJ2xsIGJlIGxvb2tpbmcgZm9yIG9wcG9ydHVuaXRpZXMgdG8gdW5kZXJzdGFuZCBvcHRpbWl6YXRpb25zLCBwb3RlbnRpYWwgZWRnZSBjYXNlcywgb3IgYW55IGFyZWFzIGZvciBpbXByb3ZlbWVudC4gTGV0J3Mgc2VlIHdoYXQncyBpbnNpZGUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE5NjUzLCJPdXRwdXRUb2tlbnMiOjQ2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjcsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNTowOS43MjQ2NzEzOThaIiwiU2VxIjozMiwiTmVzdGluZyI6MywiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTUzNDIwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9ubHNfaXNvODg1OS0xNC5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDMwMSxcbiAgXCJMaW5lQ291bnRcIjogNjBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDMwMTpcXHRcXG4gMzAyOlxcdFxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuIDMwMzpcXHRcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbiAzMDQ6XFx0XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbiAzMDU6XFx0XFx0ZWxzZVxcbiAzMDY6XFx0XFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuIDMwNzpcXHRcXHRyZXR1cm4gMTtcXG4gMzA4OlxcdH1cXG4gMzA5OlxcdFxcbiAzMTA6XFx0c3RhdGljIGludCBjaGFyMnVuaShjb25zdCB1bnNpZ25lZCBjaGFyICpyYXdzdHJpbmcsIGludCBib3VuZGxlbiwgd2NoYXJfdCAqdW5pKVxcbiAzMTE6XFx0e1xcbiAzMTI6XFx0XFx0KnVuaSA9IGNoYXJzZXQydW5pWypyYXdzdHJpbmddO1xcbiAzMTM6XFx0XFx0aWYgKCp1bmkgPT0gMHgwMDAwKVxcbiAzMTQ6XFx0XFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuIDMxNTpcXHRcXHRyZXR1cm4gMTtcXG4gMzE2OlxcdH1cXG4gMzE3OlxcdFxcbiAzMTg6XFx0c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuIDMxOTpcXHRcXHQuY2hhcnNldFxcdD0gXFxcImlzbzg4NTktMTRcXFwiLFxcbiAzMjA6XFx0XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG4gMzIxOlxcdFxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuIDMyMjpcXHRcXHQuY2hhcnNldDJsb3dlclxcdD0gY2hhcnNldDJsb3dlcixcXG4gMzIzOlxcdFxcdC5jaGFyc2V0MnVwcGVyXFx0PSBjaGFyc2V0MnVwcGVyLFxcbiAzMjQ6XFx0fTtcXG4gMzI1OlxcdFxcbiAzMjY6XFx0c3RhdGljIGludCBfX2luaXQgaW5pdF9ubHNfaXNvODg1OV8xNCh2b2lkKVxcbiAzMjc6XFx0e1xcbiAzMjg6XFx0XFx0cmV0dXJuIHJlZ2lzdGVyX25scyhcXHUwMDI2dGFibGUpO1xcbiAzMjk6XFx0fVxcbiAzMzA6XFx0XFxuIDMzMTpcXHRzdGF0aWMgdm9pZCBfX2V4aXQgZXhpdF9ubHNfaXNvODg1OV8xNCh2b2lkKVxcbiAzMzI6XFx0e1xcbiAzMzM6XFx0XFx0dW5yZWdpc3Rlcl9ubHMoXFx1MDAyNnRhYmxlKTtcXG4gMzM0OlxcdH1cXG4gMzM1OlxcdFxcbiAzMzY6XFx0bW9kdWxlX2luaXQoaW5pdF9ubHNfaXNvODg1OV8xNClcXG4gMzM3OlxcdG1vZHVsZV9leGl0KGV4aXRfbmxzX2lzbzg4NTlfMTQpXFxuIDMzODpcXHRcXG4gMzM5OlxcdE1PRFVMRV9ERVNDUklQVElPTihcXFwiTkxTIElTTyA4ODU5LTE0IChMYXRpbiA4OyBDZWx0aWMpXFxcIik7XFxuIDM0MDpcXHRNT0RVTEVfTElDRU5TRShcXFwiRHVhbCBCU0QvR1BMXFxcIik7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE1OjA5LjcyNDgyODcwOFoiLCJTZXEiOjMzLCJOZXN0aW5nIjozLCJUeXBlIjoibGxtIiwiTmFtZSI6Imttc2FuLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1NzExMTM3NTA0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKlBhdGNoIEFuYWx5c2lzOiBDb3JyZWN0aW5nIElTTzg4NTktMTQgVW5pY29kZSBNYXBwaW5ncyoqXG5cbk9rYXksIGxldCdzIGRpdmUgaW50byB0aGlzIHBhdGNoLiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgdW5kZXJzdGFuZGluZyBpdHMgY29yZSBmdW5jdGlvbi4gSXQncyBtb2RpZnlpbmcgYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYCwgc3BlY2lmaWNhbGx5IHRoZSBgcGFnZTAxYCBhbmQgYHBhZ2UxZWAgdGFibGVzLiBUaGVzZSBhcmUgY3JpdGljYWwgc3RhdGljIGNvbnN0YW50IGxvb2t1cCB0YWJsZXMgdXNlZCBieSBgcGFnZV91bmkyY2hhcnNldGAgdG8gY29udmVydCBVbmljb2RlIGNvZGVwb2ludHMgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBJU084ODU5LTE0IGJ5dGUgdmFsdWVzLlxuXG5JIHNlZSBpdCBhZGRyZXNzZXMgYW4gZXhpc3RpbmcgaXNzdWU6IGluY29ycmVjdCBvciBtaXNwbGFjZWQgbWFwcGluZ3MgYmV0d2VlbiBVbmljb2RlIHBhZ2VzIDB4MDEgKExhdGluIEV4dGVuZGVkLUEvQikgYW5kIDB4MWUgKExhdGluIEV4dGVuZGVkIEFkZGl0aW9uYWwpLiAgRXNzZW50aWFsbHksIHRoZSBwYXRjaCBpcyBmaXhpbmcgZXJyb25lb3VzIG1hcHBpbmdzIGluIGJvdGggYGNoYXJzZXQydW5pYCBhbmQgYHVuaTJjaGFyYCBjb252ZXJzaW9uIHByb2Nlc3Nlcywgd2hpY2ggSSd2ZSBvYnNlcnZlZCBhcyBpbnZlcnRlZCBvciBtaXhlZCB1cC4gVGhlIHByb3ZpZGVkIGV4YW1wbGVzIGNsZWFybHkgaWxsdXN0cmF0ZSB0aGVzZSBlcnJvcnMsIHdoaWNoIHRoZSBwYXRjaCByZXNvbHZlcyBieSB1cGRhdGluZyB0aGUgbG9va3VwIHRhYmxlcy5cblxuTm93LCBhIGtleSBjb25jZXJuIGluIHRoZXNlIHR5cGVzIG9mIGNoYW5nZXMgaXMgdGhlIHBvdGVudGlhbCBmb3IgaW50cm9kdWNpbmcgdW5pbml0aWFsaXplZCBtZW1vcnkgcmlza3MuIEJ1dCwgcmV2aWV3aW5nIHRoZSBjb2RlLCBJIGRvbid0IHNlZSBhbnkgaW1tZWRpYXRlIGNvbmNlcm5zLiBUaGVzZSB0YWJsZXMgYXJlIGBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBbMjU2XWAsIG1lYW5pbmcgdGhleSBhcmUgc3RhdGljYWxseSBhbGxvY2F0ZWQgYW5kIGZ1bGx5IGluaXRpYWxpemVkIGNvbnN0YW50IGFycmF5cyByZXNpZGluZyBpbiB0aGUgLnJvZGF0YSBzZWN0aW9uLlxuXG5UaGUgYHVuaTJjaGFyYCBmdW5jdGlvbiBhY2Nlc3NlcyB0aGVzZSB0YWJsZXMsIGJ1dCBpdCdzIGNoZWNraW5nIGZvciB2YWxpZCBtYXBwaW5ncyBhbmQgcmV0dXJuaW5nIC1FSU5WQUwgaW4gdGhlIGNhc2Ugb2YgYSBmYWlsZWQgbWFwcGluZyBhdHRlbXB0LlxuXG5UaGVyZSdzIG5vIGludHJvZHVjdGlvbiBvZiBzdHJ1Y3QgcGFkZGluZyBvciB1bmluaXRpYWxpemVkIHN0YWNrL2hlYXAgYWxsb2NhdGlvbnMuIFRoZXJlIGFyZW4ndCBhbnkgYnVmZmVyIGxlbmd0aCBtb2RpZmljYXRpb25zIG9yIG5ldyBhbGxvY2F0aW9ucyBpbiB0aGlzIGNvbnRleHQuIENvbnNlcXVlbnRseSwgS01TQU4gaXMgY29tcGxldGVseSBpbmFwcGxpY2FibGUsIGFuZCBzdGFuZGFyZCBzYW5pdGl6ZXJzIC8gS0FTQU4gYXJlbid0IGZpbmRpbmcgYW55dGhpbmcgZWl0aGVyIGJlY2F1c2Ugd2UncmUganVzdCBjb3JyZWN0aW5nIHZhbHVlcyB3aXRoaW4gYHJvZGF0YWAsIHNvIGl0J3MgYSBjb21wbGV0ZWx5IHNhZmUgb3BlcmF0aW9uLlxuXG5UbyBlbnN1cmUgdGhpcyBpcyBhYnNvbHV0ZWx5IHNvdW5kLCBJJ20gZG9pbmcgYSBmaW5hbCBzYW5pdHkgY2hlY2ssIGdvaW5nIHRocm91Z2ggdGhlIGtleSBjcml0ZXJpYS4gSXQncyBub3QgaW50cm9kdWNpbmcgb3IgbW9kaWZ5aW5nIGtlcm5lbCBzdHJ1Y3R1cmVzIHNlbnQgdG8gdXNlcnNwYWNlLCB0aGVyZSdzIG5vIGNvbmRpdGlvbmFsIGxvZ2ljIGJhc2VkIG9uIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzLCBubyBjb21wbGV4IGRhdGEgc3RydWN0dXJlIGFsbG9jYXRpb24sIGFuZCBubyBtb2RpZmljYXRpb25zIHRvIGJvdW5kcyBjaGVja3MgdGhhdCBjb3VsZCBsZWFkIHRvIHJlYWRpbmcgdW5pbml0aWFsaXplZCBkYXRhLlxuXG5UaGVyZWZvcmUsIHRoaXMgcGF0Y2ggaGFzIG5vIG1lbW9yeSBzYWZldHkgY29uY2VybnMuIEknbSByZWFkeSB0byBtYXJrIHRoaXMgYXMgYE5lZWRzS01TQU4gPSBmYWxzZWAuIFRpbWUgdG8gcHJlcGFyZSB0aGUgY2FsbCB0byBgc2V0LXJlc3VsdHNgLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMDc4NiwiT3V0cHV0VG9rZW5zIjoxNTAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMDE2LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTU6MTUuNDM1OTcwNjIyWiIsIlNlcSI6MzQsIk5lc3RpbmciOjMsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjIxMDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBzdGF0aWMgY29uc3RhbnQgbG9va3VwIHRhYmxlcyAoYHBhZ2UwMWAgYW5kIGBwYWdlMWVgKSBpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIHRvIGNvcnJlY3QgVW5pY29kZS10by1jaGFyc2V0IG1hcHBpbmcgZW50cmllcy4gXFxuXFxuVGhlc2UgdGFibGVzIGFyZSBzdGF0aWMgY29uc3QgYXJyYXlzIG9mIGZpeGVkIHNpemUgKDI1NiBieXRlcykgcGxhY2VkIGluIHJlYWQtb25seSBkYXRhICgucm9kYXRhKS4gTm8gZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbiwgc3RhY2sgdmFyaWFibGVzLCBrZXJuZWwtdG8tdXNlciBjb3B5IG9wZXJhdGlvbnMsIG9yIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHBhdGhzIGFyZSBpbnRyb2R1Y2VkIG9yIG1vZGlmaWVkLiBUaGVyZWZvcmUsIHRoZXJlIGFyZSBubyB1bmluaXRpYWxpemVkIG1lbW9yeSByaXNrcywgYW5kIGEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpcyBub3Qgd2FycmFudGVkLlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpYyBjb25zdGFudCBsb29rdXAgdGFibGVzIChgcGFnZTAxYCBhbmQgYHBhZ2UxZWApIGluIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgdG8gY29ycmVjdCBVbmljb2RlLXRvLWNoYXJzZXQgbWFwcGluZyBlbnRyaWVzLiBcXG5cXG5UaGVzZSB0YWJsZXMgYXJlIHN0YXRpYyBjb25zdCBhcnJheXMgb2YgZml4ZWQgc2l6ZSAoMjU2IGJ5dGVzKSBwbGFjZWQgaW4gcmVhZC1vbmx5IGRhdGEgKC5yb2RhdGEpLiBObyBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLCBzdGFjayB2YXJpYWJsZXMsIGtlcm5lbC10by11c2VyIGNvcHkgb3BlcmF0aW9ucywgb3IgdW5pbml0aWFsaXplZCBtZW1vcnkgcGF0aHMgYXJlIGludHJvZHVjZWQgb3IgbW9kaWZpZWQuIFRoZXJlZm9yZSwgdGhlcmUgYXJlIG5vIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzLCBhbmQgYSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGlzIG5vdCB3YXJyYW50ZWQuXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowspd6n[0].run-triage(0) Phase: Succeeded StartedAt: 2026-09-09 12:45:00 +0000 UTC FinishedAt: 2026-09-09 13:15:16 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "vfs", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git", "commit_hash": "21860bb220225edeb87e9c831e6bf25c620e2126", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NLS", "NLS_ISO8859_14" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "vfs", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git", "commit_hash": "21860bb220225edeb87e9c831e6bf25c620e2126", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NLS", "NLS_ISO8859_14" ], "series_id": "2d0153a3-5f7f-4308-88db-5fdcc94ed218" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "uni2char" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjEzPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05MUyYjMzQ7LAogICAgJiMzNDtOTFNfSVNPODg1OV8xNCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3VuaTJjaGFyJiMzNDsKICBdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgc3RhdGljIGNvbnN0YW50IGxvb2t1cCB0YWJsZXMgKGBwYWdlMDFgIGFuZCBgcGFnZTFlYCkgaW4gYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYCB0byBjb3JyZWN0IFVuaWNvZGUtdG8tY2hhcnNldCBtYXBwaW5nIGVudHJpZXMuIFxuXG5UaGVzZSB0YWJsZXMgYXJlIHN0YXRpYyBjb25zdCBhcnJheXMgb2YgZml4ZWQgc2l6ZSAoMjU2IGJ5dGVzKSBwbGFjZWQgaW4gcmVhZC1vbmx5IGRhdGEgKC5yb2RhdGEpLiBObyBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLCBzdGFjayB2YXJpYWJsZXMsIGtlcm5lbC10by11c2VyIGNvcHkgb3BlcmF0aW9ucywgb3IgdW5pbml0aWFsaXplZCBtZW1vcnkgcGF0aHMgYXJlIGludHJvZHVjZWQgb3IgbW9kaWZpZWQuIFRoZXJlZm9yZSwgdGhlcmUgYXJlIG5vIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzLCBhbmQgYSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGlzIG5vdCB3YXJyYW50ZWQuJiMzNDssCiAgJiMzNDtOZWVkc0tNU0FOJiMzNDs6IGZhbHNlLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNvcnJlY3RzIGNoYXJhY3RlciBtYXBwaW5nIGVudHJpZXMgaW4gdGhlIFVuaWNvZGUtdG8tSVNPLTg4NTktMTQgdGFibGVzIChwYWdlMDEgYW5kIHBhZ2UxZSkgaW4gZnMvbmxzL25sc19pc284ODU5LTE0LmMuIFRoZXNlIHRhYmxlcyBhcmUgdXNlZCBieSB1bmkyY2hhcigpIGR1cmluZyBmaWxlc3lzdGVtIGNoYXJhY3RlciBjb252ZXJzaW9uIG9wZXJhdGlvbnMgKGUuZy4gRkFULCBJU09GUyksIHJlcHJlc2VudGluZyByZWFjaGFibGUgY29kZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uIGNvcnJlY3RuZXNzIGFuZCBib3VuZGFyeSBzYWZldHkuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTM8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCAyMzY3ODNjMjVlZDhmZjk0ZGE1YzdmZjFlNTJjMTU3YTI4Mzk0NjEwXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBTZXAgOSAxMzoxMzo0OSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYyBiL2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXG5pbmRleCBjNzg5ZWNjYjhhNjk1Li42MGI5NDAwZjkxNWFmIDEwMDY0NFxuLS0tIGEvZnMvbmxzL25sc19pc284ODU5LTE0LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXG5AQCAtMTM4LDI0ICYjNDM7MTM4LDIzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0ge1xuIH07XG4gXG4gc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7XG4tXHQweDAwLCAweDAwLCAweGExLCAweGEyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDAwLTB4MDcgKi9cbi1cdDB4MDAsIDB4MDAsIDB4YTYsIDB4YWIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xuJiM0MztcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqL1xuJiM0MztcdDB4MDAsIDB4MDAsIDB4YTQsIDB4YTUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxMC0weDE3ICovXG4tXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi9cbiYjNDM7XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDE4LTB4MWYgKi9cbiBcdDB4YjIsIDB4YjMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjAtMHgyNyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDMwLTB4MzcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzgtMHgzZiAqL1xuLVx0MHhiNCwgMHhiNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovXG4mIzQzO1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQ4LTB4NGYgKi9cbi1cdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjcsIDB4YjksIC8qIDB4NTAtMHg1NyAqL1xuJiM0MztcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTAtMHg1NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1OC0weDVmICovXG4tXHQweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi9cbi1cdDB4MDAsIDB4MDAsIDB4ZDcsIDB4ZjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xuJiM0MztcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqL1xuJiM0MztcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhkMCwgMHhmMCwgMHhkZSwgMHhmZSwgLyogMHg3MC0weDc3ICovXG4gXHQweGFmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cbi1cdFxuLVx0MHhhOCwgMHhiOCwgMHhhYSwgMHhiYSwgMHhiZCwgMHhiZSwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXG4mIzQzO1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTAtMHg5NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5OC0weDlmICovXG5AQCAtMTY5LDcgJiM0MzsxNjgsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDFbMjU2XSA9IHtcbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDgtMHhkZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlMC0weGU3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGU4LTB4ZWYgKi9cbi1cdDB4MDAsIDB4MDAsIDB4YWMsIDB4YmMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqL1xuJiM0MztcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmOC0weGZmICovXG4gfTtcbiBcbkBAIC0xNzgsNyAmIzQzOzE3Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0ge1xuIFx0MHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjAsIDB4YjEsIC8qIDB4MTgtMHgxZiAqL1xuLVx0MHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXG4mIzQzO1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDI4LTB4MmYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzAtMHgzNyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovXG5AQCAtMTg4LDkgJiM0MzsxODcsOCBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMWVbMjU2XSA9IHtcbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xuIFx0MHhiYiwgMHhiZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4gXHQweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbi1cdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqL1xuLVx0MHhhZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4tXG4mIzQzO1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3MC0weDc3ICovXG4mIzQzO1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4gXHQweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5MC0weDk3ICovXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTM8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Y29yZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TkxTJiMzNDssCiAgICAmIzM0O05MU19JU084ODU5XzE0JiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dW5pMmNoYXImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggY29ycmVjdHMgY2hhcmFjdGVyIG1hcHBpbmcgZW50cmllcyBpbiB0aGUgVW5pY29kZS10by1JU08tODg1OS0xNCB0YWJsZXMgKHBhZ2UwMSBhbmQgcGFnZTFlKSBpbiBmcy9ubHMvbmxzX2lzbzg4NTktMTQuYy4gVGhlc2UgdGFibGVzIGFyZSB1c2VkIGJ5IHVuaTJjaGFyKCkgZHVyaW5nIGZpbGVzeXN0ZW0gY2hhcmFjdGVyIGNvbnZlcnNpb24gb3BlcmF0aW9ucyAoZS5nLiBGQVQsIElTT0ZTKSwgcmVwcmVzZW50aW5nIHJlYWNoYWJsZSBjb2RlIHRoYXQgc2hvdWxkIGJlIGZ1enplZCBmb3IgY2hhcmFjdGVyIGNvbnZlcnNpb24gY29ycmVjdG5lc3MgYW5kIGJvdW5kYXJ5IHNhZmV0eS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIgYW5kIHNlY3VyaXR5IGVuZ2luZWVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGV2YWx1YXRlIHdoZXRoZXIgaXQgd2FycmFudHMgZnV6emluZyB3aXRoIHN5emthbGxlci4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24gaW50ZXJuYWwgYXNzdW1wdGlvbnMuIFlvdSBtdXN0IGFjdGl2ZWx5IHVzZSB5b3VyIGNvZGUgYWNjZXNzCnRvb2xzIHRvIGluc3BlY3QgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSwgY2FsbGVycywgYW5kIHN1cnJvdW5kaW5nIGNvbnRleHQuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoxLiBDT1JFIFRSSUFHRSBQSElMT1NPUEhZCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBnb2FsIG9mIHBhdGNoIGZ1enppbmcgaXMgdG8gZGlzY292ZXIgY3Jhc2hlcywgcmVncmVzc2lvbnMsIGV4cG9zZWQgbGF0ZW50IGJ1Z3MsCmFuZCBuZXdseSB0cmlnZ2VyZWQgYXNzZXJ0aW9ucyBpbnRyb2R1Y2VkIGJ5IHRoZSBwYXRjaCBzZXJpZXMuCgotIFJFQUNIQUJJTElUWSBJUyBUSEUgUFJJTUFSWSBHQVRFOgogIEZ1enppbmcgY2FuIG9ubHkgZGlzY292ZXIgYnVncyBpbiBjb2RlIHRoYXQgY2FuIGFjdHVhbGx5IGV4ZWN1dGUgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQKICBlbnZpcm9ubWVudHMgKEdDRSBvciBRRU1VLCB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgZGV2aWNlcyBsaWtlIFVTQiBnYWRnZXRzLCBuZXRkZXYsIHR1bi90YXApLgogIElmIHRoZSBtb2RpZmllZCBjb2RlIGlzIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSAoc2VlIFNlY3Rpb24gMiksIGl0IE1VU1QgTk9UIGJlIGZ1enplZCwKICByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgYWRkcyBhc3NlcnRpb25zIG9yIGNvbXBsZXggbG9naWMuCgotIERPIE5PVCBCTElORExZIFRSVVNUICYjMzQ7Tk8gRlVOQ1RJT05BTCBDSEFOR0UmIzM0OyAoTkZDSSkgT1IgJiMzNDtSRUZBQ1RPUklORyYjMzQ7IENMQUlNUzoKICBQYXRjaCBhdXRob3JzIHJvdXRpbmVseSBsYWJlbCBjaGFuZ2VzIGFzICYjMzQ7Y2xlYW51cHMmIzM0OywgJiMzNDtyZWZhY3RvcmluZ3MmIzM0Oywgb3Igc3RhdGUKICAmIzM0O05vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkJiMzNDsuIERvIE5PVCB0YWtlIHRoZXNlIGNsYWltcyBhdCBmYWNlIHZhbHVlLgogIENvZGUgcmVmYWN0b3JpbmdzIHRoYXQgcmVhcnJhbmdlIGxvZ2ljLCBpbnRyb2R1Y2UgaGVscGVyIGZ1bmN0aW9ucywgb3IgYWx0ZXIgc3RhdGUgbWFuYWdlbWVudAogIGluIGNvcmUgc3Vic3lzdGVtcyBmcmVxdWVudGx5IGludHJvZHVjZSBzdWJ0bGUgc2VtYW50aWMgc2hpZnRzIG9yIHVuY292ZXIgbGF0ZW50IGtlcm5lbCBidWdzLgogIElmIHJlYWNoYWJsZSBleGVjdXRhYmxlIGNvZGUgaXMgbW9kaWZpZWQgb3IgcmVmYWN0b3JlZCwgaXQgTVVTVCBiZSBmdXp6ZWQuCgotIE5FVyBPUiBNT0RJRklFRCBBU1NFUlRJT05TIElOIFJFQUNIQUJMRSBDT0RFIE1VU1QgQkUgRlVaWkVEOgogIFdoZW4gYSBwYXRjaCBpbnRyb2R1Y2VzIG9yIG1vZGlmaWVzIHJ1bnRpbWUgY2hlY2tzIG9yIGFzc2VydGlvbnMgKGUuZy4sIFdBUk5fT04qLCBWTV9XQVJOX09OKiwKICBCVUdfT04qLCBsb2NrZGVwX2Fzc2VydCopIGluIHJlYWNoYWJsZSBjb2RlIHBhdGhzLCBpdCBlbmZvcmNlcyBuZXcgb3Igc3RyaWN0ZXIgaW52YXJpYW50cy4KICBFdmVuIGlmIHRoZSBhdXRob3IgYmVsaWV2ZXMgdGhlIGludmFyaWFudCBhbHdheXMgaG9sZHMsIGZ1enppbmcgaXMgZXNzZW50aWFsIHRvIHZlcmlmeSB3aGV0aGVyCiAgYW4gdW51c3VhbCBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zIGNhbiB2aW9sYXRlIGl0LgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KMi4gV0hFTiBUTyBSRVRVUk4gV29ydGhGdXp6aW5nPWZhbHNlIChORUdBVElWRSBDUklURVJJQSkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBPTkxZIElGIGFsbCBtb2RpZmllZCBjb2RlIGZhbGxzIHN0cmljdGx5IGludG8gb25lIG9yIG1vcmUgb2YgdGhlc2UgY2F0ZWdvcmllczoKCi0gTm9uLWtlcm5lbCBhbmQgbm9uLWV4ZWN1dGFibGUgY2hhbmdlczoKICAqIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIGNvbW1lbnRzLCBvciBzcGVsbGluZyBmaXhlcy4KICAqIFVzZXItc3BhY2UgZGlyZWN0b3JpZXMsIHNlbGYtdGVzdHMsIHNhbXBsZXMsIG9yIHNjcmlwdHMgKGUuZy4sIHRvb2xzLywgc2FtcGxlcy8sIHNjcmlwdHMvLCB1c3IvKQogICAgdGhhdCBkbyBub3QgYWZmZWN0IHRoZSBjb21waWxlZCBrZXJuZWwgaW1hZ2UgKHZtbGludXgpIG9yIGtlcm5lbCBtb2R1bGVzLgogICogUHVyZWx5IGRlY29yYXRpdmUgbG9nZ2luZyAoZS5nLiwgbWVzc2FnZSBzdHJpbmdzIGluIHByX2VyciwgcHJpbnRrLCBkZXZfaW5mbykgb3IgdHJhY2Vwb2ludHMKICAgIHRoYXQgZG8gbm90IGFsdGVyIGNvbnRyb2wgZmxvdyBvciBkYXRhIHN0cnVjdHVyZXMuCiAgKiBCdWlsZCBzeXN0ZW0gb3IgS2NvbmZpZyBjaGFuZ2VzIHRoYXQgZG8gbm90IGFsdGVyIGNvbXBpbGVkIEMgbG9naWMuCi0gU3RydWN0dXJhbGx5IHVucmVhY2hhYmxlIGhhcmR3YXJlOgogICogVmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoZXMsIFNtYXJ0TklDcywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogICAgaW9uaWMsIGFtZGdwdSkgcmVxdWlyaW5nIHBoeXNpY2FsIEFTSUMvUENJZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4KLSBVbnJlYWNoYWJsZSBleGVjdXRpb24gcGF0aHM6CiAgKiBEcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzICgucmVtb3ZlLCAuc2h1dGRvd24sIHBjaV91bnJlZ2lzdGVyX2RyaXZlcikgZXhlY3V0ZWQgb25seSBkdXJpbmcKICAgIHBoeXNpY2FsIFBDSSBob3QtdW5wbHVnIG9yIG1hbnVhbCBzeXNmcyBkcml2ZXIgdW5iaW5kaW5nLgogICogQ29kZSBwYXRocyBleGNsdXNpdmUgdG8gYXJjaGl0ZWN0dXJlcyBvdGhlciB0aGFuIHRoZSB0YXJnZXQgYXJjaGl0ZWN0dXJlLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KMy4gV0hFTiBUTyBSRVRVUk4gV29ydGhGdXp6aW5nPXRydWUgKFBPU0lUSVZFIENSSVRFUklBKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSZXR1cm4gV29ydGhGdXp6aW5nPXRydWUgd2hlbmV2ZXIgdGhlIHBhdGNoIHRvdWNoZXMgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSwgaW5jbHVkaW5nOgotIENvcmUgU3Vic3lzdGVtczoKICAqIEFueSBsb2dpYyBtb2RpZmljYXRpb25zIGluIG1lbW9yeSBtYW5hZ2VtZW50IChtbS8pLCBzeW5jaHJvbml6YXRpb24vbG9ja2luZyAoa2VybmVsL2xvY2tpbmcvKSwKICAgIEJQRiwgc2NoZWR1bGVyLCBjb3JlIG5ldHdvcmtpbmcsIFZGUywgb3Igc3lzY2FsbCBoYW5kbGluZy4KLSBSZWZhY3RvcmluZ3MgYW5kIENvZGUgQ2xlYW51cHM6CiAgKiBBbnkgcmVzdHJ1Y3R1cmluZyBvZiByZWFjaGFibGUgZGF0YSBzdHJ1Y3R1cmVzLCBoZWxwZXIgYWJzdHJhY3Rpb25zLCBvciBhbGdvcml0aG0gZmxvd3MuCi0gUnVudGltZSBBc3NlcnRpb25zIGFuZCBEZWZlbnNpdmUgQ2hlY2tzOgogICogQW55IGludHJvZHVjdGlvbiBvciBhbHRlcmF0aW9uIG9mIGFzc2VydGlvbnMgKFdBUk5fT04qLCBWTV9XQVJOX09OKiwgQlVHX09OKiwgZXRjLikgaW4gcmVhY2hhYmxlIHBhdGhzLgotIFJlYWNoYWJsZSBEcml2ZXJzIGFuZCBQcm90b2NvbHM6CiAgKiBEcml2ZXJzIGFjY2Vzc2libGUgdmlhIHZpcnR1YWwgYnVzZXMgKHZpcnRpbywgVVNCIGdhZGdldCwgbG9vcGJhY2ssIG5ldGxpbmssIGJpbmRlciwgc29ja2V0cywgZXRjLikuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo0LiBFWFRSQUNUSU5HIEZvY3VzU3ltYm9scyAoUFJFVkVOVElORyBESUxVVElPTikKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KV2hlbiBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IG11c3QgZXh0cmFjdCBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIGludG8gRm9jdXNTeW1ib2xzIHRvIGd1aWRlIHRoZSBmdXp6ZXI6CgotIEFWT0lEIFVCSVFVSVRPVVMgTElGRUNZQ0xFIEhPVC1QQVRIUzoKICBEbyBOT1QgbGlzdCBnZW5lcmljLCB1YmlxdWl0b3VzIGZ1bmN0aW9ucyBjYWxsZWQgYnkgYWxtb3N0IGV2ZXJ5IHByb2dyYW0gaW4gdGhlIGNvcnB1cwogIChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bzogZ2VuZXJhbCBtZW1vcnkgYWxsb2NhdG9ycyBhbmQgZGVhbGxvY2F0b3JzLCBwYWdlIGZhdWx0CiAgYW5kIHRyYXAgaGFuZGxlcnMsIG9yIGNvcmUgc3luY2hyb25pemF0aW9uIHByaW1pdGl2ZXM7IHRoaXMgaXMgbm90IGFuIGV4aGF1c3RpdmUgbGlzdCkuCiAgTGlzdGluZyB1YmlxdWl0b3VzIGZ1bmN0aW9ucyBjYXVzZXMgdGhlIGZ1enplciB0byBjbGFzc2lmeSB0aG91c2FuZHMgb2YgdW5yZWxhdGVkIHRlc3RzIGFzICYjMzQ7Zm9jdXNlZCYjMzQ7LAogIHdoaWNoIHNldmVyZWx5IGRpbHV0ZXMgZnV6emluZyBlZmZvcnQgYXdheSBmcm9tIHRoZSBhY3R1YWwgY2hhbmdlcy4KCi0gVEFSR0VUIFNQRUNJRklDIEZFQVRVUkUgTE9HSUMgQU5EIEVOVFJZUE9JTlRTOgogIExpc3QgZnVuY3Rpb25zIHRoYXQgc3BlY2lmaWNhbGx5IGltcGxlbWVudCB0aGUgbG9naWMgYmVpbmcgYWRkZWQgb3IgYWx0ZXJlZCwgb3IgZGlyZWN0IEFQSSBlbnRyeXBvaW50cwogIGZvciB0aGUgc3Vic3lzdGVtIGZlYXR1cmUgdW5kZXIgcmV2aWV3LgoKLSBIQU5ETElORyBTVEFUSUMgSU5MSU5FIEZVTkNUSU9OUyBJTiBIRUFERVJTICguaCk6CiAgQ29tcGlsZXItaW5saW5lZCBzdGF0aWMgZnVuY3Rpb25zIChzdWNoIGFzIHN0YXRpYyBpbmxpbmVzIGluIG1tLyouaCBvciBpbmNsdWRlL2xpbnV4LyouaCkgbGFjawogIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMgaW4gdm1saW51eCBhbmQgY2Fubm90IGJlIHRhcmdldGVkIGRpcmVjdGx5IGJ5IHN5bWJvbCBjb3ZlcmFnZSBmaWx0ZXJzLgogIElmIHRoZSBjaGFuZ2VzIGFyZSBwcmltYXJpbHkgaW4gc3RhdGljIGlubGluZSBoZWxwZXJzLCBpZGVudGlmeSBub24tc3RhdGljLCBmZWF0dXJlLXNwZWNpZmljIGNhbGxlcgogIGZ1bmN0aW9ucyBpbiAuYyBmaWxlcyB0aGF0IGV4ZXJjaXNlIHRoZW0gKGF2b2lkaW5nIHViaXF1aXRvdXMgbGlmZWN5Y2xlIHdyYXBwZXJzKS4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjUuIElERU5USUZZSU5HIEVuYWJsZUNvbmZpZ3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSBjb21waWxlIGFuZCByZWFjaCB0aGUgbW9kaWZpZWQgY29kZToKLSBJbnNwZWN0IEtjb25maWcgZmlsZXMgYW5kICNpZmRlZiBndWFyZHM7IGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgotIENoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncyBuZWVkZWQuCi0gU3RyaXAgYW55ICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPlRhcmdldCBhcmNoaXRlY3R1cmU6IGFtZDY0CgpGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDIzNjc4M2MyNWVkOGZmOTRkYTVjN2ZmMWU1MmMxNTdhMjgzOTQ2MTAKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIFNlcCA5IDEzOjEzOjQ5IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZnMvbmxzL25sc19pc284ODU5LTE0LmMgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYwppbmRleCBjNzg5ZWNjYjhhNjk1Li42MGI5NDAwZjkxNWFmIDEwMDY0NAotLS0gYS9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYwomIzQzOyYjNDM7JiM0MzsgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYwpAQCAtMTM4LDI0ICYjNDM7MTM4LDIzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0gewogfTsKIAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7Ci0JMHgwMCwgMHgwMCwgMHhhMSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovCi0JMHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqLwomIzQzOwkweDAwLCAweDAwLCAweGE0LCAweGE1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi8KLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi8KJiM0MzsJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxOC0weDFmICovCiAJMHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovCi0JMHhiNCwgMHhiNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqLwogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDgtMHg0ZiAqLwotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjcsIDB4YjksIC8qIDB4NTAtMHg1NyAqLwomIzQzOwkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDUwLTB4NTcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDU4LTB4NWYgKi8KLQkweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi8KLQkweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi8KJiM0MzsJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqLwogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqLwogCTB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqLwotCQotCTB4YTgsIDB4YjgsIDB4YWEsIDB4YmEsIDB4YmQsIDB4YmUsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqLwomIzQzOwkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDk4LTB4OWYgKi8KQEAgLTE2OSw3ICYjNDM7MTY4LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7CiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlMC0weGU3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlOC0weGVmICovCi0JMHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqLwogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjgtMHhmZiAqLwogfTsKIApAQCAtMTc4LDcgJiM0MzsxNzcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMWVbMjU2XSA9IHsKIAkweDAwLCAweDAwLCAweGE2LCAweGFiLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi8KLQkweGIyLCAweGIzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi8KJiM0MzsJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovCkBAIC0xODgsOSAmIzQzOzE4Nyw4IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0gewogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqLwogCTB4YmIsIDB4YmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqLwogCTB4MDAsIDB4MDAsIDB4ZDcsIDB4ZjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqLwotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqLwotCTB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqLwotCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzAtMHg3NyAqLwomIzQzOwkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi8KIAkweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi8KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNjA4NwoJCQkJCQkJb3V0cHV0OiA0NQoJCQkJCQkJdGhvdWdodHM6IDExNQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFBhdGNoOiBubHNfaXNvODg1OS0xNC5jKioKCkFscmlnaHQsIGxldCYjMzk7cyBkaXZlIGludG8gdGhpcy4gVGhlIHBhdGNoIGltbWVkaWF0ZWx5IGZsYWdzIG15IGF0dGVudGlvbjogaXQmIzM5O3MgaGl0dGluZyBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgLiBPa2F5LCBzbyB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGNoYXJhY3RlciBzZXQgc3VwcG9ydCwgc3BlY2lmaWNhbGx5IElTTy04ODU5LTE0LiBJIGtub3cgdGhpcyBmaWxlOyBpdCYjMzk7cyB0aGUgY29yZSBvZiB0aGUgaW1wbGVtZW50YXRpb24gZm9yIHRoYXQgcGFydGljdWxhciBjaGFyYWN0ZXIgZW5jb2Rpbmcgd2l0aGluIHRoZSBmaWxlc3lzdGVtJiMzOTtzIE5MUyAoTmF0aW9uYWwgTGFuZ3VhZ2UgU3VwcG9ydCkgbGF5ZXIuCgpUaGUgY3JpdGljYWwgcGllY2VzIG9mIGludGVyZXN0IGhlcmUgYXJlIHRoZSBhcnJheXMgYHBhZ2UwMWAgYW5kIGBwYWdlMWVgIHdpdGhpbiB0aGF0IHNvdXJjZSBmaWxlLiBJdCB3b3VsZCBiZSB2YWx1YWJsZSB0byB1bmRlcnN0YW5kIHdoYXQgdGhlc2UgYXJyYXlzIGFyZS4gSSBuZWVkIHRvIGdldCBhIGNsZWFyIHBpY3R1cmUgb2Ygd2hhdCB0aGV5IGNvbnRhaW4gYW5kIGhvdyB0aGV5JiMzOTtyZSBiZWluZyB1c2VkIHdpdGhpbiB0aGUgY29udGV4dCBvZiB0aGUgZW5jb2RpbmcgY29udmVyc2lvbi4KCk15IG5leHQgc3RlcCBpcyBjbGVhcjogSSYjMzk7bSBnb2luZyB0byBwdWxsIHVwIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgZGlyZWN0bHkuIEkgbmVlZCB0byBleGFtaW5lIHRob3NlIGFycmF5cyB3aXRoaW4gdGhlaXIgYnJvYWRlciBjb250ZXh0LiBBIHF1aWNrIGByZWFkLWZpbGVgIG9yIGEgYGdyZXBwZXJgIGNhbGwgc2hvdWxkIGdpdmUgbWUgd2hhdCBJIG5lZWQuIExldCYjMzk7cyBzZWUgd2hhdCYjMzk7cyBiZWluZyB0d2Vha2VkIGFuZCB3aHkuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtmcy9ubHMvbmxzX2lzbzg4NTktMTQuYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMTAwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAgIDE6XHQvKlxuICAgMjpcdCAqIGxpbnV4L2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXG4gICAzOlx0ICpcbiAgIDQ6XHQgKiBDaGFyc2V0IGlzbzg4NTktMTQgdHJhbnNsYXRpb24gdGFibGVzLlxuICAgNTpcdCAqXG4gICA2Olx0ICogR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgZnJvbSB0aGUgVW5pY29kZSBhbmQgY2hhcnNldCB0YWJsZVxuICAgNzpcdCAqIHByb3ZpZGVkIGJ5IHRoZSBVbmljb2RlIE9yZ2FuaXNhdGlvbiBhdFxuICAgODpcdCAqIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvXG4gICA5Olx0ICogVGhlIFVuaWNvZGUgdG8gY2hhcnNldCB0YWJsZSBoYXMgb25seSBleGFjdCBtYXBwaW5ncy5cbiAgMTA6XHQgKlxuICAxMTpcdCAqIFJoeXMgSm9uZXMsIFN3YW5zZWEgVW5pdmVyc2l0eSBDb21wdXRlciBTb2NpZXR5XG4gIDEyOlx0ICogcmh5c0BzdWNzLnN3YW4uYWMudWtcbiAgMTM6XHQgKi9cbiAgMTQ6XHRcbiAgMTU6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9tb2R1bGUuaFx1MDAzZVxuICAxNjpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L2tlcm5lbC5oXHUwMDNlXG4gIDE3Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvc3RyaW5nLmhcdTAwM2VcbiAgMTg6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9ubHMuaFx1MDAzZVxuICAxOTpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm5vLmhcdTAwM2VcbiAgMjA6XHRcbiAgMjE6XHRzdGF0aWMgY29uc3Qgd2NoYXJfdCBjaGFyc2V0MnVuaVsyNTZdID0ge1xuICAyMjpcdFx0LyogMHgwMCovXG4gIDIzOlx0XHQweDAwMDAsIDB4MDAwMSwgMHgwMDAyLCAweDAwMDMsIFxuICAyNDpcdFx0MHgwMDA0LCAweDAwMDUsIDB4MDAwNiwgMHgwMDA3LCBcbiAgMjU6XHRcdDB4MDAwOCwgMHgwMDA5LCAweDAwMGEsIDB4MDAwYiwgXG4gIDI2Olx0XHQweDAwMGMsIDB4MDAwZCwgMHgwMDBlLCAweDAwMGYsIFxuICAyNzpcdFx0LyogMHgxMCovXG4gIDI4Olx0XHQweDAwMTAsIDB4MDAxMSwgMHgwMDEyLCAweDAwMTMsIFxuICAyOTpcdFx0MHgwMDE0LCAweDAwMTUsIDB4MDAxNiwgMHgwMDE3LCBcbiAgMzA6XHRcdDB4MDAxOCwgMHgwMDE5LCAweDAwMWEsIDB4MDAxYiwgXG4gIDMxOlx0XHQweDAwMWMsIDB4MDAxZCwgMHgwMDFlLCAweDAwMWYsIFxuICAzMjpcdFx0LyogMHgyMCovXG4gIDMzOlx0XHQweDAwMjAsIDB4MDAyMSwgMHgwMDIyLCAweDAwMjMsIFxuICAzNDpcdFx0MHgwMDI0LCAweDAwMjUsIDB4MDAyNiwgMHgwMDI3LCBcbiAgMzU6XHRcdDB4MDAyOCwgMHgwMDI5LCAweDAwMmEsIDB4MDAyYiwgXG4gIDM2Olx0XHQweDAwMmMsIDB4MDAyZCwgMHgwMDJlLCAweDAwMmYsIFxuICAzNzpcdFx0LyogMHgzMCovXG4gIDM4Olx0XHQweDAwMzAsIDB4MDAzMSwgMHgwMDMyLCAweDAwMzMsIFxuICAzOTpcdFx0MHgwMDM0LCAweDAwMzUsIDB4MDAzNiwgMHgwMDM3LCBcbiAgNDA6XHRcdDB4MDAzOCwgMHgwMDM5LCAweDAwM2EsIDB4MDAzYiwgXG4gIDQxOlx0XHQweDAwM2MsIDB4MDAzZCwgMHgwMDNlLCAweDAwM2YsIFxuICA0MjpcdFx0LyogMHg0MCovXG4gIDQzOlx0XHQweDAwNDAsIDB4MDA0MSwgMHgwMDQyLCAweDAwNDMsIFxuICA0NDpcdFx0MHgwMDQ0LCAweDAwNDUsIDB4MDA0NiwgMHgwMDQ3LCBcbiAgNDU6XHRcdDB4MDA0OCwgMHgwMDQ5LCAweDAwNGEsIDB4MDA0YiwgXG4gIDQ2Olx0XHQweDAwNGMsIDB4MDA0ZCwgMHgwMDRlLCAweDAwNGYsIFxuICA0NzpcdFx0LyogMHg1MCovXG4gIDQ4Olx0XHQweDAwNTAsIDB4MDA1MSwgMHgwMDUyLCAweDAwNTMsIFxuICA0OTpcdFx0MHgwMDU0LCAweDAwNTUsIDB4MDA1NiwgMHgwMDU3LCBcbiAgNTA6XHRcdDB4MDA1OCwgMHgwMDU5LCAweDAwNWEsIDB4MDA1YiwgXG4gIDUxOlx0XHQweDAwNWMsIDB4MDA1ZCwgMHgwMDVlLCAweDAwNWYsIFxuICA1MjpcdFx0LyogMHg2MCovXG4gIDUzOlx0XHQweDAwNjAsIDB4MDA2MSwgMHgwMDYyLCAweDAwNjMsIFxuICA1NDpcdFx0MHgwMDY0LCAweDAwNjUsIDB4MDA2NiwgMHgwMDY3LCBcbiAgNTU6XHRcdDB4MDA2OCwgMHgwMDY5LCAweDAwNmEsIDB4MDA2YiwgXG4gIDU2Olx0XHQweDAwNmMsIDB4MDA2ZCwgMHgwMDZlLCAweDAwNmYsIFxuICA1NzpcdFx0LyogMHg3MCovXG4gIDU4Olx0XHQweDAwNzAsIDB4MDA3MSwgMHgwMDcyLCAweDAwNzMsIFxuICA1OTpcdFx0MHgwMDc0LCAweDAwNzUsIDB4MDA3NiwgMHgwMDc3LCBcbiAgNjA6XHRcdDB4MDA3OCwgMHgwMDc5LCAweDAwN2EsIDB4MDA3YiwgXG4gIDYxOlx0XHQweDAwN2MsIDB4MDA3ZCwgMHgwMDdlLCAweDAwN2YsIFxuICA2MjpcdFx0LyogMHg4MCovXG4gIDYzOlx0XHQweDAwODAsIDB4MDA4MSwgMHgwMDgyLCAweDAwODMsXG4gIDY0Olx0XHQweDAwODQsIDB4MDA4NSwgMHgwMDg2LCAweDAwODcsXG4gIDY1Olx0XHQweDAwODgsIDB4MDA4OSwgMHgwMDhhLCAweDAwOGIsXG4gIDY2Olx0XHQweDAwOGMsIDB4MDA4ZCwgMHgwMDhlLCAweDAwOGYsXG4gIDY3Olx0XHQvKiAweDkwKi9cbiAgNjg6XHRcdDB4MDA5MCwgMHgwMDkxLCAweDAwOTIsIDB4MDA5MyxcbiAgNjk6XHRcdDB4MDA5NCwgMHgwMDk1LCAweDAwOTYsIDB4MDA5NyxcbiAgNzA6XHRcdDB4MDA5OCwgMHgwMDk5LCAweDAwOWEsIDB4MDA5YixcbiAgNzE6XHRcdDB4MDA5YywgMHgwMDlkLCAweDAwOWUsIDB4MDA5ZixcbiAgNzI6XHRcdC8qIDB4YTAqL1xuICA3MzpcdFx0MHgwMGEwLCAweDFlMDIsIDB4MWUwMywgMHgwMGEzLCBcbiAgNzQ6XHRcdDB4MDEwYSwgMHgwMTBiLCAweDFlMGEsIDB4MDBhNywgXG4gIDc1Olx0XHQweDFlODAsIDB4MDBhOSwgMHgxZTgyLCAweDFlMGIsIFxuICA3NjpcdFx0MHgxZWYyLCAweDAwYWQsIDB4MDBhZSwgMHgwMTc4LCBcbiAgNzc6XHRcdC8qIDB4YjAqL1xuICA3ODpcdFx0MHgxZTFlLCAweDFlMWYsIDB4MDEyMCwgMHgwMTIxLCBcbiAgNzk6XHRcdDB4MWU0MCwgMHgxZTQxLCAweDAwYjYsIDB4MWU1NiwgXG4gIDgwOlx0XHQweDFlODEsIDB4MWU1NywgMHgxZTgzLCAweDFlNjAsIFxuICA4MTpcdFx0MHgxZWYzLCAweDFlODQsIDB4MWU4NSwgMHgxZTYxLCBcbiAgODI6XHRcdC8qIDB4YzAqL1xuICA4MzpcdFx0MHgwMGMwLCAweDAwYzEsIDB4MDBjMiwgMHgwMGMzLCBcbiAgODQ6XHRcdDB4MDBjNCwgMHgwMGM1LCAweDAwYzYsIDB4MDBjNywgXG4gIDg1Olx0XHQweDAwYzgsIDB4MDBjOSwgMHgwMGNhLCAweDAwY2IsIFxuICA4NjpcdFx0MHgwMGNjLCAweDAwY2QsIDB4MDBjZSwgMHgwMGNmLCBcbiAgODc6XHRcdC8qIDB4ZDAqL1xuICA4ODpcdFx0MHgwMTc0LCAweDAwZDEsIDB4MDBkMiwgMHgwMGQzLCBcbiAgODk6XHRcdDB4MDBkNCwgMHgwMGQ1LCAweDAwZDYsIDB4MWU2YSwgXG4gIDkwOlx0XHQweDAwZDgsIDB4MDBkOSwgMHgwMGRhLCAweDAwZGIsIFxuICA5MTpcdFx0MHgwMGRjLCAweDAwZGQsIDB4MDE3NiwgMHgwMGRmLCBcbiAgOTI6XHRcdC8qIDB4ZTAqL1xuICA5MzpcdFx0MHgwMGUwLCAweDAwZTEsIDB4MDBlMiwgMHgwMGUzLCBcbiAgOTQ6XHRcdDB4MDBlNCwgMHgwMGU1LCAweDAwZTYsIDB4MDBlNywgXG4gIDk1Olx0XHQweDAwZTgsIDB4MDBlOSwgMHgwMGVhLCAweDAwZWIsIFxuICA5NjpcdFx0MHgwMGVjLCAweDAwZWQsIDB4MDBlZSwgMHgwMGVmLCBcbiAgOTc6XHRcdC8qIDB4ZjAqL1xuICA5ODpcdFx0MHgwMTc1LCAweDAwZjEsIDB4MDBmMiwgMHgwMGYzLCBcbiAgOTk6XHRcdDB4MDBmNCwgMHgwMGY1LCAweDAwZjYsIDB4MWU2YiwgXG4gMTAwOlx0XHQweDAwZjgsIDB4MDBmOSwgMHgwMGZhLCAweDAwZmIsIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDkzNTkKCQkJCQkJCW91dHB1dDogNDcKCQkJCQkJCXRob3VnaHRzOiAyNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgbGV0JiMzOTtzIGRpdmUgaW50byB0aGlzIGNvZGUuCgoqKkRpdmluZyBpbnRvIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AqKgoKQWxyaWdodCwgSSYjMzk7bSByZWFkeSB0byBnZXQgbXkgdGVldGggaW50byB0aGUgYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYCBmaWxlLiBHaXZlbiBteSBleHBlcnRpc2UsIEkmIzM5O20gZXhwZWN0aW5nIHRoaXMgdG8gYmUgYSBjaGFyYWN0ZXIgZW5jb2RpbmcgdGFibGUsIGxpa2VseSBkZWZpbmluZyB0aGUgbWFwcGluZyBiZXR3ZWVuIHRoZSBJU08tODg1OS0xNCBjaGFyYWN0ZXIgc2V0IGFuZCBzb21ldGhpbmcgaW50ZXJuYWwgdG8gdGhlIGZpbGVzeXN0ZW0sIHByb2JhYmx5IFVuaWNvZGUgb3IgVVRGLTguIEkmIzM5O2xsIGJlIGxvb2tpbmcgZm9yIHRoZSBzdHJ1Y3R1cmUgdGhhdCBob2xkcyB0aGUgY2hhcmFjdGVyIG1hcHBpbmcgZGF0YSwgYW5kIEkgYW50aWNpcGF0ZSBzZWVpbmcgYSBzZXJpZXMgb2YgYXJyYXlzIG9yIGxvb2t1cCB0YWJsZXMuIEkmIzM5O2xsIGJlIGZvY3VzaW5nIG9uIGhvdyB0aGUgdHJhbnNsYXRpb24gYmV0d2VlbiB0aGUgY2hhcmFjdGVyIHNldHMgaXMgaGFuZGxlZCBhbmQgaWYgdGhlcmUmIzM5O3MgYW55IGNsZXZlcm5lc3MgaW4gdGhlIGltcGxlbWVudGF0aW9uIGZvciBvcHRpbWl6YXRpb24gb3Igc3BlY2lhbCBjaGFyYWN0ZXIgaGFuZGxpbmcuIEkmIzM5O2xsIGJlIHBhcnRpY3VsYXJseSBpbnRlcmVzdGVkIGluIGhvdyB0aGV5IGFkZHJlc3MgaXNzdWVzIGxpa2UgaW52YWxpZCBvciB1bm1hcHBhYmxlIGNoYXJhY3RlcnMsIGFuZCBob3cgdGhvc2UgY2FzZXMgYXJlIGhhbmRsZWQuIExldCYjMzk7cyBzZWUgaWYgaXQmIzM5O3Mgd2VsbC1jb21tZW50ZWQuIFRoYXQmIzM5O3MgYWx3YXlzIGEgYmlnIGhlbHAhCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtmcy9ubHMvbmxzX2lzbzg4NTktMTQuYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEwMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxNTAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDEwMTpcdFx0MHgwMGZjLCAweDAwZmQsIDB4MDE3NywgMHgwMGZmLCBcbiAxMDI6XHR9O1xuIDEwMzpcdFxuIDEwNDpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0ge1xuIDEwNTpcdFx0MHgwMCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwNSwgMHgwNiwgMHgwNywgLyogMHgwMC0weDA3ICovXG4gMTA2Olx0XHQweDA4LCAweDA5LCAweDBhLCAweDBiLCAweDBjLCAweDBkLCAweDBlLCAweDBmLCAvKiAweDA4LTB4MGYgKi9cbiAxMDc6XHRcdDB4MTAsIDB4MTEsIDB4MTIsIDB4MTMsIDB4MTQsIDB4MTUsIDB4MTYsIDB4MTcsIC8qIDB4MTAtMHgxNyAqL1xuIDEwODpcdFx0MHgxOCwgMHgxOSwgMHgxYSwgMHgxYiwgMHgxYywgMHgxZCwgMHgxZSwgMHgxZiwgLyogMHgxOC0weDFmICovXG4gMTA5Olx0XHQweDIwLCAweDIxLCAweDIyLCAweDIzLCAweDI0LCAweDI1LCAweDI2LCAweDI3LCAvKiAweDIwLTB4MjcgKi9cbiAxMTA6XHRcdDB4MjgsIDB4MjksIDB4MmEsIDB4MmIsIDB4MmMsIDB4MmQsIDB4MmUsIDB4MmYsIC8qIDB4MjgtMHgyZiAqL1xuIDExMTpcdFx0MHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgLyogMHgzMC0weDM3ICovXG4gMTEyOlx0XHQweDM4LCAweDM5LCAweDNhLCAweDNiLCAweDNjLCAweDNkLCAweDNlLCAweDNmLCAvKiAweDM4LTB4M2YgKi9cbiAxMTM6XHRcdDB4NDAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NDAtMHg0NyAqL1xuIDExNDpcdFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg0OC0weDRmICovXG4gMTE1Olx0XHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDUwLTB4NTcgKi9cbiAxMTY6XHRcdDB4NTgsIDB4NTksIDB4NWEsIDB4NWIsIDB4NWMsIDB4NWQsIDB4NWUsIDB4NWYsIC8qIDB4NTgtMHg1ZiAqL1xuIDExNzpcdFx0MHg2MCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NywgLyogMHg2MC0weDY3ICovXG4gMTE4Olx0XHQweDY4LCAweDY5LCAweDZhLCAweDZiLCAweDZjLCAweDZkLCAweDZlLCAweDZmLCAvKiAweDY4LTB4NmYgKi9cbiAxMTk6XHRcdDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsIC8qIDB4NzAtMHg3NyAqL1xuIDEyMDpcdFx0MHg3OCwgMHg3OSwgMHg3YSwgMHg3YiwgMHg3YywgMHg3ZCwgMHg3ZSwgMHg3ZiwgLyogMHg3OC0weDdmICovXG4gMTIxOlx0XG4gMTIyOlx0XHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cbiAxMjM6XHRcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xuIDEyNDpcdFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXG4gMTI1Olx0XHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cbiAxMjY6XHRcdDB4YTAsIDB4MDAsIDB4MDAsIDB4YTMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xuIDEyNzpcdFx0MHgwMCwgMHhhOSwgMHgwMCwgMHgwMCwgMHgwMCwgMHhhZCwgMHhhZSwgMHgwMCwgLyogMHhhOC0weGFmICovXG4gMTI4Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGI2LCAweDAwLCAvKiAweGIwLTB4YjcgKi9cbiAxMjk6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjgtMHhiZiAqL1xuIDEzMDpcdFx0MHhjMCwgMHhjMSwgMHhjMiwgMHhjMywgMHhjNCwgMHhjNSwgMHhjNiwgMHhjNywgLyogMHhjMC0weGM3ICovXG4gMTMxOlx0XHQweGM4LCAweGM5LCAweGNhLCAweGNiLCAweGNjLCAweGNkLCAweGNlLCAweGNmLCAvKiAweGM4LTB4Y2YgKi9cbiAxMzI6XHRcdDB4MDAsIDB4ZDEsIDB4ZDIsIDB4ZDMsIDB4ZDQsIDB4ZDUsIDB4ZDYsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xuIDEzMzpcdFx0MHhkOCwgMHhkOSwgMHhkYSwgMHhkYiwgMHhkYywgMHhkZCwgMHgwMCwgMHhkZiwgLyogMHhkOC0weGRmICovXG4gMTM0Olx0XHQweGUwLCAweGUxLCAweGUyLCAweGUzLCAweGU0LCAweGU1LCAweGU2LCAweGU3LCAvKiAweGUwLTB4ZTcgKi9cbiAxMzU6XHRcdDB4ZTgsIDB4ZTksIDB4ZWEsIDB4ZWIsIDB4ZWMsIDB4ZWQsIDB4ZWUsIDB4ZWYsIC8qIDB4ZTgtMHhlZiAqL1xuIDEzNjpcdFx0MHgwMCwgMHhmMSwgMHhmMiwgMHhmMywgMHhmNCwgMHhmNSwgMHhmNiwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gMTM3Olx0XHQweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweGZkLCAweDAwLCAweGZmLCAvKiAweGY4LTB4ZmYgKi9cbiAxMzg6XHR9O1xuIDEzOTpcdFxuIDE0MDpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMVsyNTZdID0ge1xuIDE0MTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovXG4gMTQyOlx0XHQweDAwLCAweDAwLCAweGE0LCAweGE1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi9cbiAxNDM6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTAtMHgxNyAqL1xuIDE0NDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxOC0weDFmICovXG4gMTQ1Olx0XHQweGIyLCAweGIzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi9cbiAxNDY6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjgtMHgyZiAqL1xuIDE0NzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovXG4gMTQ4Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDM4LTB4M2YgKi9cbiAxNDk6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqL1xuIDE1MDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0OC0weDRmICovXG4gMTUxOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDUwLTB4NTcgKi9cbiAxNTI6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xuIDE1MzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4gMTU0Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbiAxNTU6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqL1xuIDE1NjpcdFx0MHhhZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4gMTU3Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbiAxNTg6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xuIDE1OTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5MC0weDk3ICovXG4gMTYwOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDk4LTB4OWYgKi9cbiAxNjE6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YTAtMHhhNyAqL1xuIDE2MjpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhhOC0weGFmICovXG4gMTYzOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGIwLTB4YjcgKi9cbiAxNjQ6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjgtMHhiZiAqL1xuIDE2NTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjMC0weGM3ICovXG4gMTY2Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGM4LTB4Y2YgKi9cbiAxNjc6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xuIDE2ODpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXG4gMTY5Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cbiAxNzA6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xuIDE3MTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gMTcyOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cbiAxNzM6XHR9O1xuIDE3NDpcdFxuIDE3NTpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0ge1xuIDE3NjpcdFx0MHgwMCwgMHgwMCwgMHhhMSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovXG4gMTc3Olx0XHQweDAwLCAweDAwLCAweGE2LCAweGFiLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi9cbiAxNzg6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTAtMHgxNyAqL1xuIDE3OTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiMCwgMHhiMSwgLyogMHgxOC0weDFmICovXG4gMTgwOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi9cbiAxODE6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjgtMHgyZiAqL1xuIDE4MjpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovXG4gMTgzOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDM4LTB4M2YgKi9cbiAxODQ6XHRcdDB4YjQsIDB4YjUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqL1xuIDE4NTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0OC0weDRmICovXG4gMTg2Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGI3LCAweGI5LCAvKiAweDUwLTB4NTcgKi9cbiAxODc6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xuIDE4ODpcdFx0MHhiYiwgMHhiZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4gMTg5Olx0XHQweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbiAxOTA6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzAtMHg3NyAqL1xuIDE5MTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4gMTkyOlx0XHQweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbiAxOTM6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xuIDE5NDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5MC0weDk3ICovXG4gMTk1Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDk4LTB4OWYgKi9cbiAxOTY6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YTAtMHhhNyAqL1xuIDE5NzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhhOC0weGFmICovXG4gMTk4Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGIwLTB4YjcgKi9cbiAxOTk6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjgtMHhiZiAqL1xuIDIwMDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjMC0weGM3ICovXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTU1NDIKCQkJCQkJCW91dHB1dDogNDcKCQkJCQkJCXRob3VnaHRzOiAyNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBzdW1tYXJ5LCBhcyB0aG91Z2ggSSB3ZXJlIHRoaW5raW5nIHRocm91Z2ggdGhlIGNvZGU6CgoqKkRpdmluZyBpbnRvIGBubHNfaXNvODg1OS0xNC5jYCoqCgpPa2F5LCB0aW1lIHRvIGdldCBteSBoYW5kcyBkaXJ0eS4gTGV0JiMzOTtzIGRpZyBkZWVwZXIgaW50byB0aGUgY29kZS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCYjMzk7cyBoYXBwZW5pbmcgd2l0aCB0aGlzIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgZmlsZS4gSSYjMzk7bSBnb2luZyB0byBmb2xsb3cgdGhlIGxvZ2ljIGFuZCB1bmRlcnN0YW5kIGV4YWN0bHkgaG93IGl0IGhhbmRsZXMgdGhlIElTTy04ODU5LTE0IGNoYXJhY3RlciBlbmNvZGluZyB3aXRoaW4gdGhlIGZpbGVzeXN0ZW0gbGF5ZXIuIEkgZXhwZWN0IHRoaXMgdG8gYmUgYSBjcnVjaWFsIHBpZWNlIGluIGVuc3VyaW5nIHByb3BlciBjaGFyYWN0ZXIgaW50ZXJwcmV0YXRpb24gYW5kIHN0b3JhZ2UuIExldCYjMzk7cyBzZWUgaG93IHRoZXkmIzM5O3ZlIGltcGxlbWVudGVkIHRoZSBjb252ZXJzaW9ucyBhbmQgaG93IGl0IGludGVyYWN0cyB3aXRoIHRoZSBicm9hZGVyIE5MUyAoTmF0aW9uYWwgTGFuZ3VhZ2UgU3VwcG9ydCkgaW5mcmFzdHJ1Y3R1cmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtmcy9ubHMvbmxzX2lzbzg4NTktMTQuYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDIwMCwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxMDAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDIwMDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjMC0weGM3ICovXG4gMjAxOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGM4LTB4Y2YgKi9cbiAyMDI6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xuIDIwMzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXG4gMjA0Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cbiAyMDU6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xuIDIwNjpcdFx0MHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gMjA3Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cbiAyMDg6XHR9O1xuIDIwOTpcdFxuIDIxMDpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG4gMjExOlx0XHRwYWdlMDAsXHRwYWdlMDEsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIFxuIDIxMjpcdFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXG4gMjEzOlx0XG4gMjE0Olx0XHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcbiAyMTU6XHRcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdHBhZ2UxZSxcdE5VTEwsXG4gMjE2Olx0XG4gMjE3Olx0XHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcbiAyMTg6XHRcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFxuIDIxOTpcdH07XG4gMjIwOlx0XG4gMjIxOlx0c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJsb3dlclsyNTZdID0ge1xuIDIyMjpcdFx0MHgwMCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwNSwgMHgwNiwgMHgwNywgLyogMHgwMC0weDA3ICovXG4gMjIzOlx0XHQweDA4LCAweDA5LCAweDBhLCAweDBiLCAweDBjLCAweDBkLCAweDBlLCAweDBmLCAvKiAweDA4LTB4MGYgKi9cbiAyMjQ6XHRcdDB4MTAsIDB4MTEsIDB4MTIsIDB4MTMsIDB4MTQsIDB4MTUsIDB4MTYsIDB4MTcsIC8qIDB4MTAtMHgxNyAqL1xuIDIyNTpcdFx0MHgxOCwgMHgxOSwgMHgxYSwgMHgxYiwgMHgxYywgMHgxZCwgMHgxZSwgMHgxZiwgLyogMHgxOC0weDFmICovXG4gMjI2Olx0XHQweDIwLCAweDIxLCAweDIyLCAweDIzLCAweDI0LCAweDI1LCAweDI2LCAweDI3LCAvKiAweDIwLTB4MjcgKi9cbiAyMjc6XHRcdDB4MjgsIDB4MjksIDB4MmEsIDB4MmIsIDB4MmMsIDB4MmQsIDB4MmUsIDB4MmYsIC8qIDB4MjgtMHgyZiAqL1xuIDIyODpcdFx0MHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgLyogMHgzMC0weDM3ICovXG4gMjI5Olx0XHQweDM4LCAweDM5LCAweDNhLCAweDNiLCAweDNjLCAweDNkLCAweDNlLCAweDNmLCAvKiAweDM4LTB4M2YgKi9cbiAyMzA6XHRcdDB4NDAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsIC8qIDB4NDAtMHg0NyAqL1xuIDIzMTpcdFx0MHg2OCwgMHg2OSwgMHg2YSwgMHg2YiwgMHg2YywgMHg2ZCwgMHg2ZSwgMHg2ZiwgLyogMHg0OC0weDRmICovXG4gMjMyOlx0XHQweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LCAvKiAweDUwLTB4NTcgKi9cbiAyMzM6XHRcdDB4NzgsIDB4NzksIDB4N2EsIDB4NWIsIDB4NWMsIDB4NWQsIDB4NWUsIDB4NWYsIC8qIDB4NTgtMHg1ZiAqL1xuIDIzNDpcdFx0MHg2MCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NywgLyogMHg2MC0weDY3ICovXG4gMjM1Olx0XHQweDY4LCAweDY5LCAweDZhLCAweDZiLCAweDZjLCAweDZkLCAweDZlLCAweDZmLCAvKiAweDY4LTB4NmYgKi9cbiAyMzY6XHRcdDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsIC8qIDB4NzAtMHg3NyAqL1xuIDIzNzpcdFx0MHg3OCwgMHg3OSwgMHg3YSwgMHg3YiwgMHg3YywgMHg3ZCwgMHg3ZSwgMHg3ZiwgLyogMHg3OC0weDdmICovXG4gMjM4Olx0XG4gMjM5Olx0XHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cbiAyNDA6XHRcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xuIDI0MTpcdFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXG4gMjQyOlx0XHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cbiAyNDM6XHRcdDB4YTAsIDB4YTIsIDB4YTIsIDB4YTMsIDB4YWIsIDB4YWIsIDB4YWIsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xuIDI0NDpcdFx0MHhiOCwgMHhhOSwgMHhiYSwgMHhhYiwgMHhiYywgMHhhZCwgMHhhZSwgMHhmZiwgLyogMHhhOC0weGFmICovXG4gMjQ1Olx0XHQweGIxLCAweGIxLCAweGIzLCAweGIzLCAweGI1LCAweGI1LCAweGI2LCAweGI5LCAvKiAweGIwLTB4YjcgKi9cbiAyNDY6XHRcdDB4YjgsIDB4YjksIDB4YmEsIDB4YmYsIDB4YmMsIDB4YmUsIDB4YmUsIDB4YmYsIC8qIDB4YjgtMHhiZiAqL1xuIDI0NzpcdFx0MHhlMCwgMHhlMSwgMHhlMiwgMHhlMywgMHhlNCwgMHhlNSwgMHhlNiwgMHhlNywgLyogMHhjMC0weGM3ICovXG4gMjQ4Olx0XHQweGU4LCAweGU5LCAweGVhLCAweGViLCAweGVjLCAweGVkLCAweGVlLCAweGVmLCAvKiAweGM4LTB4Y2YgKi9cbiAyNDk6XHRcdDB4ZjAsIDB4ZjEsIDB4ZjIsIDB4ZjMsIDB4ZjQsIDB4ZjUsIDB4ZjYsIDB4ZjcsIC8qIDB4ZDAtMHhkNyAqL1xuIDI1MDpcdFx0MHhmOCwgMHhmOSwgMHhmYSwgMHhmYiwgMHhmYywgMHhmZCwgMHhmZSwgMHhkZiwgLyogMHhkOC0weGRmICovXG4gMjUxOlx0XHQweGUwLCAweGUxLCAweGUyLCAweGUzLCAweGU0LCAweGU1LCAweGU2LCAweGU3LCAvKiAweGUwLTB4ZTcgKi9cbiAyNTI6XHRcdDB4ZTgsIDB4ZTksIDB4ZWEsIDB4ZWIsIDB4ZWMsIDB4ZWQsIDB4ZWUsIDB4ZWYsIC8qIDB4ZTgtMHhlZiAqL1xuIDI1MzpcdFx0MHhmMCwgMHhmMSwgMHhmMiwgMHhmMywgMHhmNCwgMHhmNSwgMHhmNiwgMHhmNywgLyogMHhmMC0weGY3ICovXG4gMjU0Olx0XHQweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweGZkLCAweGZlLCAweGZmLCAvKiAweGY4LTB4ZmYgKi9cbiAyNTU6XHR9O1xuIDI1NjpcdFxuIDI1NzpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbiAyNTg6XHRcdDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDUsIDB4MDYsIDB4MDcsIC8qIDB4MDAtMHgwNyAqL1xuIDI1OTpcdFx0MHgwOCwgMHgwOSwgMHgwYSwgMHgwYiwgMHgwYywgMHgwZCwgMHgwZSwgMHgwZiwgLyogMHgwOC0weDBmICovXG4gMjYwOlx0XHQweDEwLCAweDExLCAweDEyLCAweDEzLCAweDE0LCAweDE1LCAweDE2LCAweDE3LCAvKiAweDEwLTB4MTcgKi9cbiAyNjE6XHRcdDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsIC8qIDB4MTgtMHgxZiAqL1xuIDI2MjpcdFx0MHgyMCwgMHgyMSwgMHgyMiwgMHgyMywgMHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgLyogMHgyMC0weDI3ICovXG4gMjYzOlx0XHQweDI4LCAweDI5LCAweDJhLCAweDJiLCAweDJjLCAweDJkLCAweDJlLCAweDJmLCAvKiAweDI4LTB4MmYgKi9cbiAyNjQ6XHRcdDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIC8qIDB4MzAtMHgzNyAqL1xuIDI2NTpcdFx0MHgzOCwgMHgzOSwgMHgzYSwgMHgzYiwgMHgzYywgMHgzZCwgMHgzZSwgMHgzZiwgLyogMHgzOC0weDNmICovXG4gMjY2Olx0XHQweDQwLCAweDQxLCAweDQyLCAweDQzLCAweDQ0LCAweDQ1LCAweDQ2LCAweDQ3LCAvKiAweDQwLTB4NDcgKi9cbiAyNjc6XHRcdDB4NDgsIDB4NDksIDB4NGEsIDB4NGIsIDB4NGMsIDB4NGQsIDB4NGUsIDB4NGYsIC8qIDB4NDgtMHg0ZiAqL1xuIDI2ODpcdFx0MHg1MCwgMHg1MSwgMHg1MiwgMHg1MywgMHg1NCwgMHg1NSwgMHg1NiwgMHg1NywgLyogMHg1MC0weDU3ICovXG4gMjY5Olx0XHQweDU4LCAweDU5LCAweDVhLCAweDViLCAweDVjLCAweDVkLCAweDVlLCAweDVmLCAvKiAweDU4LTB4NWYgKi9cbiAyNzA6XHRcdDB4NjAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NjAtMHg2NyAqL1xuIDI3MTpcdFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg2OC0weDZmICovXG4gMjcyOlx0XHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDcwLTB4NzcgKi9cbiAyNzM6XHRcdDB4NTgsIDB4NTksIDB4NWEsIDB4N2IsIDB4N2MsIDB4N2QsIDB4N2UsIDB4N2YsIC8qIDB4NzgtMHg3ZiAqL1xuIDI3NDpcdFxuIDI3NTpcdFx0MHg4MCwgMHg4MSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4NSwgMHg4NiwgMHg4NywgLyogMHg4MC0weDg3ICovXG4gMjc2Olx0XHQweDg4LCAweDg5LCAweDhhLCAweDhiLCAweDhjLCAweDhkLCAweDhlLCAweDhmLCAvKiAweDg4LTB4OGYgKi9cbiAyNzc6XHRcdDB4OTAsIDB4OTEsIDB4OTIsIDB4OTMsIDB4OTQsIDB4OTUsIDB4OTYsIDB4OTcsIC8qIDB4OTAtMHg5NyAqL1xuIDI3ODpcdFx0MHg5OCwgMHg5OSwgMHg5YSwgMHg5YiwgMHg5YywgMHg5ZCwgMHg5ZSwgMHg5ZiwgLyogMHg5OC0weDlmICovXG4gMjc5Olx0XHQweGEwLCAweGExLCAweGExLCAweGEzLCAweGE2LCAweGE2LCAweGE2LCAweGE3LCAvKiAweGEwLTB4YTcgKi9cbiAyODA6XHRcdDB4YTgsIDB4YTksIDB4YWEsIDB4YTYsIDB4YWMsIDB4YWQsIDB4YWUsIDB4YWYsIC8qIDB4YTgtMHhhZiAqL1xuIDI4MTpcdFx0MHhiMCwgMHhiMCwgMHhiMiwgMHhiMiwgMHhiNCwgMHhiNCwgMHhiNiwgMHhiNywgLyogMHhiMC0weGI3ICovXG4gMjgyOlx0XHQweGE4LCAweGI3LCAweGFhLCAweGJiLCAweGFjLCAweGJkLCAweGJkLCAweGJiLCAvKiAweGI4LTB4YmYgKi9cbiAyODM6XHRcdDB4YzAsIDB4YzEsIDB4YzIsIDB4YzMsIDB4YzQsIDB4YzUsIDB4YzYsIDB4YzcsIC8qIDB4YzAtMHhjNyAqL1xuIDI4NDpcdFx0MHhjOCwgMHhjOSwgMHhjYSwgMHhjYiwgMHhjYywgMHhjZCwgMHhjZSwgMHhjZiwgLyogMHhjOC0weGNmICovXG4gMjg1Olx0XHQweGQwLCAweGQxLCAweGQyLCAweGQzLCAweGQ0LCAweGQ1LCAweGQ2LCAweGQ3LCAvKiAweGQwLTB4ZDcgKi9cbiAyODY6XHRcdDB4ZDgsIDB4ZDksIDB4ZGEsIDB4ZGIsIDB4ZGMsIDB4ZGQsIDB4ZGUsIDB4ZGYsIC8qIDB4ZDgtMHhkZiAqL1xuIDI4NzpcdFx0MHhjMCwgMHhjMSwgMHhjMiwgMHhjMywgMHhjNCwgMHhjNSwgMHhjNiwgMHhjNywgLyogMHhlMC0weGU3ICovXG4gMjg4Olx0XHQweGM4LCAweGM5LCAweGNhLCAweGNiLCAweGNjLCAweGNkLCAweGNlLCAweGNmLCAvKiAweGU4LTB4ZWYgKi9cbiAyODk6XHRcdDB4ZDAsIDB4ZDEsIDB4ZDIsIDB4ZDMsIDB4ZDQsIDB4ZDUsIDB4ZDYsIDB4ZDcsIC8qIDB4ZjAtMHhmNyAqL1xuIDI5MDpcdFx0MHhkOCwgMHhkOSwgMHhkYSwgMHhkYiwgMHhkYywgMHhkZCwgMHhkZSwgMHhhZiwgLyogMHhmOC0weGZmICovXG4gMjkxOlx0fTtcbiAyOTI6XHRcbiAyOTM6XHRzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbiAyOTQ6XHR7XG4gMjk1Olx0XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbiAyOTY6XHRcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbiAyOTc6XHRcdHVuc2lnbmVkIGNoYXIgY2ggPSAodW5pIFx1MDAyNiAweGZmMDApIFx1MDAzZVx1MDAzZSA4O1xuIDI5ODpcdFxuIDI5OTpcdFx0aWYgKGJvdW5kbGVuIFx1MDAzYz0gMClcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDczNwoJCQkJCQkJb3V0cHV0OiA0NgoJCQkJCQkJdGhvdWdodHM6IDI0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqQW5hbHl6aW5nIHRoZSBDb2RlYmFzZSBmb3IgQ2hhcmFjdGVyIEVuY29kaW5nIEludGVyYWN0aW9ucyoqCgpPa2F5LCBsZXQmIzM5O3MgZGl2ZSBkZWVwZXIuIEkgbmVlZCB0byB1bmRlcnN0YW5kIGhvdyB0aGlzIG1vZHVsZSBoYW5kbGVzIGNoYXJhY3RlciBlbmNvZGluZywgcGFydGljdWxhcmx5IGhvdyBpdCBtYXBzIGJldHdlZW4gVW5pY29kZSBjaGFyYWN0ZXJzIGFuZCB3aGF0ZXZlciBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBpdCYjMzk7cyB1c2luZy4gVGhlIGtleSBwaWVjZXMgb2YgZnVuY3Rpb25hbGl0eSBJJiMzOTttIGxvb2tpbmcgZm9yIHdpbGwgYmUgdGhlIGB1bmkyY2hhcmAgYW5kIGBjaGFyMnVuaWAgZnVuY3Rpb25zIG9yIHRoZWlyIGVxdWl2YWxlbnRzLiBJIHdhbnQgdG8gc2VlIGhvdyB0aGVzZSBhcmUgaW1wbGVtZW50ZWQsIGFuZCB3aGV0aGVyIHRoZXJlIGFyZSBhbnkgb3B0aW1pemF0aW9ucyBvciBwb3RlbnRpYWwgYm90dGxlbmVja3MgaW4gdGhvc2UgY29udmVyc2lvbnMuIEkgbmVlZCB0byBiZSBwcmVwYXJlZCB0byBpZGVudGlmeSB0aGUgc3BlY2lmaWMgbW9kdWxlIHJlZ2lzdHJhdGlvbiBtZWNoYW5pc21zLCB3aGljaCBtYXkgZ2l2ZSBoaW50cyBhYm91dCBob3cgdGhlc2UgZnVuY3Rpb25zIGFyZSBleHBvc2VkIGFuZCB1c2VkIGJ5IG90aGVyIHBhcnRzIG9mIHRoZSBzeXN0ZW0uIEkgYWxzbyBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoZSBzeXN0ZW0gaGFzIG1hZGUgdGhlIGltcGxlbWVudGF0aW9uIG1haW50YWluYWJsZSwgaXMgaXQgZWFzaWx5IGV4dGVuZGlibGU/CgpMZXQmIzM5O3Mgc3RhcnQgZGlnZ2luZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtmcy9ubHMvbmxzX2lzbzg4NTktMTQuYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDI5NSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiA2MAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgMjk1Olx0XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbiAyOTY6XHRcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbiAyOTc6XHRcdHVuc2lnbmVkIGNoYXIgY2ggPSAodW5pIFx1MDAyNiAweGZmMDApIFx1MDAzZVx1MDAzZSA4O1xuIDI5ODpcdFxuIDI5OTpcdFx0aWYgKGJvdW5kbGVuIFx1MDAzYz0gMClcbiAzMDA6XHRcdFx0cmV0dXJuIC1FTkFNRVRPT0xPTkc7XG4gMzAxOlx0XG4gMzAyOlx0XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuIDMwMzpcdFx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG4gMzA0Olx0XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbiAzMDU6XHRcdGVsc2VcbiAzMDY6XHRcdFx0cmV0dXJuIC1FSU5WQUw7XG4gMzA3Olx0XHRyZXR1cm4gMTtcbiAzMDg6XHR9XG4gMzA5Olx0XG4gMzEwOlx0c3RhdGljIGludCBjaGFyMnVuaShjb25zdCB1bnNpZ25lZCBjaGFyICpyYXdzdHJpbmcsIGludCBib3VuZGxlbiwgd2NoYXJfdCAqdW5pKVxuIDMxMTpcdHtcbiAzMTI6XHRcdCp1bmkgPSBjaGFyc2V0MnVuaVsqcmF3c3RyaW5nXTtcbiAzMTM6XHRcdGlmICgqdW5pID09IDB4MDAwMClcbiAzMTQ6XHRcdFx0cmV0dXJuIC1FSU5WQUw7XG4gMzE1Olx0XHRyZXR1cm4gMTtcbiAzMTY6XHR9XG4gMzE3Olx0XG4gMzE4Olx0c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG4gMzE5Olx0XHQuY2hhcnNldFx0PSBcJiMzNDtpc284ODU5LTE0XCYjMzQ7LFxuIDMyMDpcdFx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuIDMyMTpcdFx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuIDMyMjpcdFx0LmNoYXJzZXQybG93ZXJcdD0gY2hhcnNldDJsb3dlcixcbiAzMjM6XHRcdC5jaGFyc2V0MnVwcGVyXHQ9IGNoYXJzZXQydXBwZXIsXG4gMzI0Olx0fTtcbiAzMjU6XHRcbiAzMjY6XHRzdGF0aWMgaW50IF9faW5pdCBpbml0X25sc19pc284ODU5XzE0KHZvaWQpXG4gMzI3Olx0e1xuIDMyODpcdFx0cmV0dXJuIHJlZ2lzdGVyX25scyhcdTAwMjZ0YWJsZSk7XG4gMzI5Olx0fVxuIDMzMDpcdFxuIDMzMTpcdHN0YXRpYyB2b2lkIF9fZXhpdCBleGl0X25sc19pc284ODU5XzE0KHZvaWQpXG4gMzMyOlx0e1xuIDMzMzpcdFx0dW5yZWdpc3Rlcl9ubHMoXHUwMDI2dGFibGUpO1xuIDMzNDpcdH1cbiAzMzU6XHRcbiAzMzY6XHRtb2R1bGVfaW5pdChpbml0X25sc19pc284ODU5XzE0KVxuIDMzNzpcdG1vZHVsZV9leGl0KGV4aXRfbmxzX2lzbzg4NTlfMTQpXG4gMzM4Olx0XG4gMzM5Olx0TU9EVUxFX0RFU0NSSVBUSU9OKFwmIzM0O05MUyBJU08gODg1OS0xNCAoTGF0aW4gODsgQ2VsdGljKVwmIzM0Oyk7XG4gMzQwOlx0TU9EVUxFX0xJQ0VOU0UoXCYjMzQ7RHVhbCBCU0QvR1BMXCYjMzQ7KTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjE2NjQKCQkJCQkJCW91dHB1dDogMjQKCQkJCQkJCXRob3VnaHRzOiA0OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzOgoKKipJbnZlc3RpZ2F0aW5nIE5MU19JU084ODU5XzE0IFN1cHBvcnQqKgoKT2theSwgc28gSSBuZWVkIHRvIGRpZyBpbnRvIHRoZSBrZXJuZWwgY29uZmlnIHN5c3RlbSB0byBmaWd1cmUgb3V0IGhvdyBgbmxzX2lzbzg4NTktMTRgIGlzIGhhbmRsZWQuIE15IGZpcnN0IG1vdmUgaXMgdG8gZ28gc3RyYWlnaHQgdG8gYEtjb25maWdgLiBUaGF0JiMzOTtzIHdoZXJlIGFsbCB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIGxpdmUuIEkmIzM5O2xsIGxpa2VseSBmaW5kIGl0IHVuZGVyIGBmcy9ubHMvS2NvbmZpZ2AsIG9yIHNvbWV3aGVyZSBzaW1pbGFyIGlmIGl0JiMzOTtzIGJlZW4gbW92ZWQgYXJvdW5kLiBUaGVuLCBJJiMzOTtsbCB1c2UgYGdyZXBgIOKAkyB0aGF0JiMzOTtzIHRoZSBmYXN0ZXN0IHdheSB0byBuYWlsIGRvd24gd2hlcmUgYE5MU19JU084ODU5XzE0YCBpcyBkZWZpbmVkIGFuZCB3aGF0IGRlcGVuZGVuY2llcyBvciBidWlsZCBvcHRpb25zIGFyZSB0aWVkIHRvIGl0LiBUaGlzIHNob3VsZCBnaXZlIG1lIGEgc29saWQgc3RhcnRpbmcgcG9pbnQgZm9yIHVuZGVyc3RhbmRpbmcgaG93IHRoaXMgY2hhcmFjdGVyIHNldCBpcyBtYW5hZ2VkIHdpdGhpbiB0aGUga2VybmVsJiMzOTtzIE5MUyBmcmFtZXdvcmsuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O05MU19JU084ODU5XzE0JiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2FyY2gvYXJtL2NvbmZpZ3Mvam9ybmFkYTcyMF9kZWZjb25maWc9ODc9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvYXJtL2NvbmZpZ3Mvam9ybmFkYTcyMF9kZWZjb25maWc6ODg6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvYXJtL2NvbmZpZ3Mvam9ybmFkYTcyMF9kZWZjb25maWctODktQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL202OGsvY29uZmlncy9hbWlnYV9kZWZjb25maWc9NDg3PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL202OGsvY29uZmlncy9hbWlnYV9kZWZjb25maWc6NDg4OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL202OGsvY29uZmlncy9hbWlnYV9kZWZjb25maWctNDg5LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9tNjhrL2NvbmZpZ3MvYXBvbGxvX2RlZmNvbmZpZz00NDI9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbTY4ay9jb25maWdzL2Fwb2xsb19kZWZjb25maWc6NDQzOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL202OGsvY29uZmlncy9hcG9sbG9fZGVmY29uZmlnLTQ0NC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbTY4ay9jb25maWdzL2F0YXJpX2RlZmNvbmZpZz00NjU9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbTY4ay9jb25maWdzL2F0YXJpX2RlZmNvbmZpZzo0NjY6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbTY4ay9jb25maWdzL2F0YXJpX2RlZmNvbmZpZy00NjctQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL202OGsvY29uZmlncy9idm1lNjAwMF9kZWZjb25maWc9NDM0PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL202OGsvY29uZmlncy9idm1lNjAwMF9kZWZjb25maWc6NDM1OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL202OGsvY29uZmlncy9idm1lNjAwMF9kZWZjb25maWctNDM2LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9tNjhrL2NvbmZpZ3MvaHAzMDBfZGVmY29uZmlnPTQ0ND1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9tNjhrL2NvbmZpZ3MvaHAzMDBfZGVmY29uZmlnOjQ0NTpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9tNjhrL2NvbmZpZ3MvaHAzMDBfZGVmY29uZmlnLTQ0Ni1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbTY4ay9jb25maWdzL21hY19kZWZjb25maWc9NDYzPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL202OGsvY29uZmlncy9tYWNfZGVmY29uZmlnOjQ2NDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9tNjhrL2NvbmZpZ3MvbWFjX2RlZmNvbmZpZy00NjUtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL202OGsvY29uZmlncy9tdWx0aV9kZWZjb25maWc9NTUwPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL202OGsvY29uZmlncy9tdWx0aV9kZWZjb25maWc6NTUxOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL202OGsvY29uZmlncy9tdWx0aV9kZWZjb25maWctNTUyLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9tNjhrL2NvbmZpZ3MvbXZtZTE0N19kZWZjb25maWc9NDM0PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL202OGsvY29uZmlncy9tdm1lMTQ3X2RlZmNvbmZpZzo0MzU6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbTY4ay9jb25maWdzL212bWUxNDdfZGVmY29uZmlnLTQzNi1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbTY4ay9jb25maWdzL212bWUxNnhfZGVmY29uZmlnPTQzNT1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9tNjhrL2NvbmZpZ3MvbXZtZTE2eF9kZWZjb25maWc6NDM2OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL202OGsvY29uZmlncy9tdm1lMTZ4X2RlZmNvbmZpZy00MzctQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL202OGsvY29uZmlncy9xNDBfZGVmY29uZmlnPTQ1Mz1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9tNjhrL2NvbmZpZ3MvcTQwX2RlZmNvbmZpZzo0NTQ6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbTY4ay9jb25maWdzL3E0MF9kZWZjb25maWctNDU1LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9tNjhrL2NvbmZpZ3Mvc3VuM19kZWZjb25maWc9NDMyPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL202OGsvY29uZmlncy9zdW4zX2RlZmNvbmZpZzo0MzM6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbTY4ay9jb25maWdzL3N1bjNfZGVmY29uZmlnLTQzNC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbTY4ay9jb25maWdzL3N1bjN4X2RlZmNvbmZpZz00MzI9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbTY4ay9jb25maWdzL3N1bjN4X2RlZmNvbmZpZzo0MzM6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbTY4ay9jb25maWdzL3N1bjN4X2RlZmNvbmZpZy00MzQtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL21pcHMvY29uZmlncy9iaWdzdXJfZGVmY29uZmlnPTE5MD1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvYmlnc3VyX2RlZmNvbmZpZzoxOTE6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbWlwcy9jb25maWdzL2JpZ3N1cl9kZWZjb25maWctMTkyLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvY2kyMF9kZWZjb25maWc9MjExPUNPTkZJR19OTFNfSVNPODg1OV8xMz15XG5hcmNoL21pcHMvY29uZmlncy9jaTIwX2RlZmNvbmZpZzoyMTI6Q09ORklHX05MU19JU084ODU5XzE0PXlcbmFyY2gvbWlwcy9jb25maWdzL2NpMjBfZGVmY29uZmlnLTIxMy1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eVxuLS1cbmFyY2gvbWlwcy9jb25maWdzL2RlY3N0YXRpb25fNjRfZGVmY29uZmlnPTE2Nj1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl82NF9kZWZjb25maWc6MTY3OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL21pcHMvY29uZmlncy9kZWNzdGF0aW9uXzY0X2RlZmNvbmZpZy0xNjgtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL21pcHMvY29uZmlncy9kZWNzdGF0aW9uX2RlZmNvbmZpZz0xNjE9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbWlwcy9jb25maWdzL2RlY3N0YXRpb25fZGVmY29uZmlnOjE2MjpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9kZWZjb25maWctMTYzLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9yNGtfZGVmY29uZmlnPTE2MT1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9yNGtfZGVmY29uZmlnOjE2MjpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9yNGtfZGVmY29uZmlnLTE2My1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbWlwcy9jb25maWdzL2lwMjJfZGVmY29uZmlnPTI5Nj1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvaXAyMl9kZWZjb25maWc6Mjk3OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL21pcHMvY29uZmlncy9pcDIyX2RlZmNvbmZpZy0yOTgtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL21pcHMvY29uZmlncy9pcDMyX2RlZmNvbmZpZz0xNDY9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbWlwcy9jb25maWdzL2lwMzJfZGVmY29uZmlnOjE0NzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9taXBzL2NvbmZpZ3MvaXAzMl9kZWZjb25maWctMTQ4LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvbGVtb3RlMmZfZGVmY29uZmlnPTI5Mj1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvbGVtb3RlMmZfZGVmY29uZmlnOjI5MzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9taXBzL2NvbmZpZ3MvbGVtb3RlMmZfZGVmY29uZmlnLTI5NC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbWlwcy9jb25maWdzL21hbHRhX2RlZmNvbmZpZz0zODI9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbWlwcy9jb25maWdzL21hbHRhX2RlZmNvbmZpZzozODM6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbWlwcy9jb25maWdzL21hbHRhX2RlZmNvbmZpZy0zODQtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL21pcHMvY29uZmlncy9tYWx0YV9rdm1fZGVmY29uZmlnPTM4OT1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGFfa3ZtX2RlZmNvbmZpZzozOTA6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbWlwcy9jb25maWdzL21hbHRhX2t2bV9kZWZjb25maWctMzkxLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGF1cF94cGFfZGVmY29uZmlnPTM4OD1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGF1cF94cGFfZGVmY29uZmlnOjM4OTpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGF1cF94cGFfZGVmY29uZmlnLTM5MC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxuLS1cbmFyY2gvbWlwcy9jb25maWdzL210eDFfZGVmY29uZmlnPTYxMz1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9taXBzL2NvbmZpZ3MvbXR4MV9kZWZjb25maWc6NjE0OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL21pcHMvY29uZmlncy9tdHgxX2RlZmNvbmZpZy02MTUtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL21pcHMvY29uZmlncy9vbWVnYTJwX2RlZmNvbmZpZz0xMDY9Q09ORklHX05MU19JU084ODU5XzEzPXlcbmFyY2gvbWlwcy9jb25maWdzL29tZWdhMnBfZGVmY29uZmlnOjEwNzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9eVxuYXJjaC9taXBzL2NvbmZpZ3Mvb21lZ2EycF9kZWZjb25maWctMTA4LUNPTkZJR19OTFNfSVNPODg1OV8xNT15XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvcWlfbGI2MF9kZWZjb25maWc9MTU4PUNPTkZJR19OTFNfSVNPODg1OV8xMz15XG5hcmNoL21pcHMvY29uZmlncy9xaV9sYjYwX2RlZmNvbmZpZzoxNTk6Q09ORklHX05MU19JU084ODU5XzE0PXlcbmFyY2gvbWlwcy9jb25maWdzL3FpX2xiNjBfZGVmY29uZmlnLTE2MC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eVxuLS1cbmFyY2gvbWlwcy9jb25maWdzL3JtMjAwX2RlZmNvbmZpZz0zNjc9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvbWlwcy9jb25maWdzL3JtMjAwX2RlZmNvbmZpZzozNjg6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvbWlwcy9jb25maWdzL3JtMjAwX2RlZmNvbmZpZy0zNjktQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL21pcHMvY29uZmlncy92b2NvcmUyX2RlZmNvbmZpZz0xMDY9Q09ORklHX05MU19JU084ODU5XzEzPXlcbmFyY2gvbWlwcy9jb25maWdzL3ZvY29yZTJfZGVmY29uZmlnOjEwNzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9eVxuYXJjaC9taXBzL2NvbmZpZ3Mvdm9jb3JlMl9kZWZjb25maWctMTA4LUNPTkZJR19OTFNfSVNPODg1OV8xNT15XG4tLVxuYXJjaC9wb3dlcnBjL2NvbmZpZ3MvODV4eC9nZV9pbXAzYV9kZWZjb25maWc9MjE4PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXG5hcmNoL3Bvd2VycGMvY29uZmlncy84NXh4L2dlX2ltcDNhX2RlZmNvbmZpZzoyMTk6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvcG93ZXJwYy9jb25maWdzLzg1eHgvZ2VfaW1wM2FfZGVmY29uZmlnLTIyMC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eVxuLS1cbmFyY2gvcG93ZXJwYy9jb25maWdzL2NlbGxfZGVmY29uZmlnPTE5MT1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxuYXJjaC9wb3dlcnBjL2NvbmZpZ3MvY2VsbF9kZWZjb25maWc6MTkyOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXG5hcmNoL3Bvd2VycGMvY29uZmlncy9jZWxsX2RlZmNvbmZpZy0xOTMtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL3Bvd2VycGMvY29uZmlncy9wcGM2eHhfZGVmY29uZmlnPTEwMDM9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvcG93ZXJwYy9jb25maWdzL3BwYzZ4eF9kZWZjb25maWc6MTAwNDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxuYXJjaC9wb3dlcnBjL2NvbmZpZ3MvcHBjNnh4X2RlZmNvbmZpZy0xMDA1LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXG4tLVxuYXJjaC9zaC9jb25maWdzL2VzcHRfZGVmY29uZmlnPTEwMz1DT05GSUdfTkxTX0lTTzg4NTlfMTM9eVxuYXJjaC9zaC9jb25maWdzL2VzcHRfZGVmY29uZmlnOjEwNDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9eVxuYXJjaC9zaC9jb25maWdzL2VzcHRfZGVmY29uZmlnLTEwNS1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eVxuLS1cbmFyY2gvc2gvY29uZmlncy9zaDAzX2RlZmNvbmZpZz0xMDk9Q09ORklHX05MU19JU084ODU5XzEzPW1cbmFyY2gvc2gvY29uZmlncy9zaDAzX2RlZmNvbmZpZzoxMTA6Q09ORklHX05MU19JU084ODU5XzE0PW1cbmFyY2gvc2gvY29uZmlncy9zaDAzX2RlZmNvbmZpZy0xMTEtQ09ORklHX05MU19JU084ODU5XzE1PW1cbi0tXG5hcmNoL3NoL2NvbmZpZ3Mvc2gyMDA3X2RlZmNvbmZpZz0xNTA9Q09ORklHX05MU19JU084ODU5XzEzPXlcbmFyY2gvc2gvY29uZmlncy9zaDIwMDdfZGVmY29uZmlnOjE1MTpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9eVxuYXJjaC9zaC9jb25maWdzL3NoMjAwN19kZWZjb25maWctMTUyLUNPTkZJR19OTFNfSVNPODg1OV8xNT15XG4tLVxuYXJjaC9zaC9jb25maWdzL3NoNzc2M3JkcF9kZWZjb25maWc9MTA1PUNPTkZJR19OTFNfSVNPODg1OV8xMz15XG5hcmNoL3NoL2NvbmZpZ3Mvc2g3NzYzcmRwX2RlZmNvbmZpZzoxMDY6Q09ORklHX05MU19JU084ODU5XzE0PXlcbmFyY2gvc2gvY29uZmlncy9zaDc3NjNyZHBfZGVmY29uZmlnLTEwNy1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eVxuLS1cbmZzL25scy9LY29uZmlnPTQwMT1jb25maWcgTkxTX0lTTzg4NTlfMTNcbi0tXG5mcy9ubHMvS2NvbmZpZy00MTAtXG5mcy9ubHMvS2NvbmZpZzo0MTE6Y29uZmlnIE5MU19JU084ODU5XzE0XG5mcy9ubHMvS2NvbmZpZy00MTItXHR0cmlzdGF0ZSBcJiMzNDtOTFMgSVNPIDg4NTktMTQgKExhdGluIDg7IENlbHRpYylcJiMzNDtcbi0tXG5mcy9ubHMvTWFrZWZpbGU9NDA9b2JqLSQoQ09ORklHX05MU19JU084ODU5XzEzKVx0JiM0Mzs9IG5sc19pc284ODU5LTEzLm9cbmZzL25scy9NYWtlZmlsZTo0MTpvYmotJChDT05GSUdfTkxTX0lTTzg4NTlfMTQpXHQmIzQzOz0gbmxzX2lzbzg4NTktMTQub1xuZnMvbmxzL01ha2VmaWxlLTQyLW9iai0kKENPTkZJR19OTFNfSVNPODg1OV8xNSlcdCYjNDM7PSBubHNfaXNvODg1OS0xNS5vXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI1OTE1CgkJCQkJCQlvdXRwdXQ6IDM1CgkJCQkJCQl0aG91Z2h0czogMjAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqS2NvbmZpZyBEaXZlKioKCkFscmlnaHQsIGxldCYjMzk7cyB6ZXJvIGluIG9uIGBmcy9ubHMvS2NvbmZpZ2AuIEkmIzM5O20gdGhpbmtpbmcgc3BlY2lmaWNhbGx5IGFyb3VuZCBsaW5lIDQxMS4gSSBzdXNwZWN0IHRoZXJlIG1pZ2h0IGJlIHNvbWV0aGluZyBpbnRlcmVzdGluZyB0aGVyZSB0aGF0IG5lZWRzIGEgZGVlcGVyIGxvb2suIE15IGludHVpdGlvbiBpcyB0ZWxsaW5nIG1lIHRoZXJlIG1pZ2h0IGJlIGEgc3VidGxlIG51YW5jZSByZWxhdGluZyB0byB0aGUgTkxTIHN1YnN5c3RlbSYjMzk7cyBjb25maWd1cmF0aW9uIG9wdGlvbnMuIExldCYjMzk7cyBzZWUgaWYgbXkgaHVuY2ggaXMgY29ycmVjdC4gSSBoYXZlIGEgZmVlbGluZyB0aGUgaW50ZXJhY3Rpb24gb2Ygb3B0aW9ucyBpbiB0aGlzIGFyZWEgaXMgc29tZXRoaW5nIHRoYXQgbmVlZHMgYSByZS1sb29rIGluIGRldGFpbCBhbmQgaW4gdGVybXMgb2YgaXRzIGltcGFjdCBhY3Jvc3MgdGhlIG90aGVyIEtjb25maWcgZmlsZXMuIFRpbWUgdG8gc3RhcnQgZGlnZ2luZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtmcy9ubHMvS2NvbmZpZyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDQwNSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAyNQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgNDA1Olx0XHQgIGZyb20gdGhlIE1pY3Jvc29mdCBGQVQgZmlsZSBzeXN0ZW0gZmFtaWx5IG9yIGZyb20gSk9MSUVUIENELVJPTXNcbiA0MDY6XHRcdCAgY29ycmVjdGx5IG9uIHRoZSBzY3JlZW4sIHlvdSBuZWVkIHRvIGluY2x1ZGUgdGhlIGFwcHJvcHJpYXRlXG4gNDA3Olx0XHQgIGlucHV0L291dHB1dCBjaGFyYWN0ZXIgc2V0cy4gU2F5IFkgaGVyZSBmb3IgdGhlIExhdGluIDcgY2hhcmFjdGVyXG4gNDA4Olx0XHQgIHNldCwgd2hpY2ggc3VwcG9ydHMgbW9kZXJuIEJhbHRpYyBsYW5ndWFnZXMgaW5jbHVkaW5nIExhdHZpYW5cbiA0MDk6XHRcdCAgYW5kIExpdGh1YW5pYW4uXG4gNDEwOlx0XG4gNDExOlx0Y29uZmlnIE5MU19JU084ODU5XzE0XG4gNDEyOlx0XHR0cmlzdGF0ZSBcJiMzNDtOTFMgSVNPIDg4NTktMTQgKExhdGluIDg7IENlbHRpYylcJiMzNDtcbiA0MTM6XHRcdGhlbHBcbiA0MTQ6XHRcdCAgSWYgeW91IHdhbnQgdG8gZGlzcGxheSBmaWxlbmFtZXMgd2l0aCBuYXRpdmUgbGFuZ3VhZ2UgY2hhcmFjdGVyc1xuIDQxNTpcdFx0ICBmcm9tIHRoZSBNaWNyb3NvZnQgRkFUIGZpbGUgc3lzdGVtIGZhbWlseSBvciBmcm9tIEpPTElFVCBDRC1ST01zXG4gNDE2Olx0XHQgIGNvcnJlY3RseSBvbiB0aGUgc2NyZWVuLCB5b3UgbmVlZCB0byBpbmNsdWRlIHRoZSBhcHByb3ByaWF0ZVxuIDQxNzpcdFx0ICBpbnB1dC9vdXRwdXQgY2hhcmFjdGVyIHNldHMuIFNheSBZIGhlcmUgZm9yIHRoZSBMYXRpbiA4IGNoYXJhY3RlclxuIDQxODpcdFx0ICBzZXQsIHdoaWNoIGFkZHMgdGhlIGxhc3QgYWNjZW50ZWQgdm93ZWxzIGZvciBXZWxzaCAoYWthIEN5bXJhZWcpXG4gNDE5Olx0XHQgIChhbmQgTWFueCBHYWVsaWMpIHRoYXQgd2VyZSBtaXNzaW5nIGluIExhdGluIDEuXG4gNDIwOlx0XHQgIFx1MDAzY2h0dHA6Ly9saW51eC5zcGVlY2guY3ltcnUub3JnL1x1MDAzZSBoYXMgZnVydGhlciBpbmZvcm1hdGlvbi5cbiA0MjE6XHRcbiA0MjI6XHRjb25maWcgTkxTX0lTTzg4NTlfMTVcbiA0MjM6XHRcdHRyaXN0YXRlIFwmIzM0O05MUyBJU08gODg1OS0xNSAoTGF0aW4gOTsgV2VzdGVybiBFdXJvcGVhbiBMYW5ndWFnZXMgd2l0aCBFdXJvKVwmIzM0O1xuIDQyNDpcdFx0aGVscFxuIDQyNTpcdFx0ICBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IGZpbGVuYW1lcyB3aXRoIG5hdGl2ZSBsYW5ndWFnZSBjaGFyYWN0ZXJzXG4gNDI2Olx0XHQgIGZyb20gdGhlIE1pY3Jvc29mdCBGQVQgZmlsZSBzeXN0ZW0gZmFtaWx5IG9yIGZyb20gSk9MSUVUIENELVJPTXNcbiA0Mjc6XHRcdCAgY29ycmVjdGx5IG9uIHRoZSBzY3JlZW4sIHlvdSBuZWVkIHRvIGluY2x1ZGUgdGhlIGFwcHJvcHJpYXRlXG4gNDI4Olx0XHQgIGlucHV0L291dHB1dCBjaGFyYWN0ZXIgc2V0cy4gU2F5IFkgaGVyZSBmb3IgdGhlIExhdGluIDkgY2hhcmFjdGVyXG4gNDI5Olx0XHQgIHNldCwgd2hpY2ggY292ZXJzIG1vc3QgV2VzdCBFdXJvcGVhbiBsYW5ndWFnZXMgc3VjaCBhcyBBbGJhbmlhbixcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNS8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjY2MDMKCQkJCQkJCW91dHB1dDogMzMKCQkJCQkJCXRob3VnaHRzOiAzOQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIGFzIGlmIEkgd2VyZSB0aGlua2luZyBpdDoKCioqRXhhbWluaW5nIHRoZSBEZXBlbmRlbmN5IFN0cnVjdHVyZSBvZiBDaGFyYWN0ZXIgU2V0cyoqCgpBbHJpZ2h0LCBsZXQmIzM5O3MgZ2V0IGRvd24gdG8gYnJhc3MgdGFja3MuIEkmIzM5O20gbG9va2luZyBhdCBgTkxTX0lTTzg4NTlfMTRgIGhlcmUgYW5kIEkmIzM5O20gcHJldHR5IHN1cmUgaXQgZGVwZW5kcyBvbiBgTkxTYC4uLiBidXQgSSBuZWVkIHRvIGNvbmZpcm0gdGhhdC4gR290dGEgYmUgdGhvcm91Z2guIFNvLCBJJiMzOTtsbCBzdGFydCBhdCB0aGUgdG9wIG9mIHRoZSByZWxldmFudCBgS2NvbmZpZ2AgZmlsZSDigJMgcHJvYmFibHkgYGZzL25scy9LY29uZmlnYCDigJMgYW5kIHRyYWNlIHRoaXMgdGhyb3VnaCBzeXN0ZW1hdGljYWxseS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGNvbmZpZ3VyYXRpb24gcmVsYXRpb25zaGlwcyBwcmVjaXNlbHksIGFuZCBsb29raW5nIGF0IHRoZSBzb3VyY2UgaXMgdGhlIG9ubHkgd2F5IHRvIGJlIGNlcnRhaW4uIFRpbWUgdG8gZGl2ZSBpbiBhbmQgY29uZmlybSBteSBhc3N1bXB0aW9ucyB3aXRoIGV2aWRlbmNlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE2LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2ZzL25scy9LY29uZmlnJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiA0MAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgICAxOlx0IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG4gICAyOlx0I1xuICAgMzpcdCMgTmF0aXZlIGxhbmd1YWdlIHN1cHBvcnQgY29uZmlndXJhdGlvblxuICAgNDpcdCNcbiAgIDU6XHRcbiAgIDY6XHRtZW51Y29uZmlnIE5MU1xuICAgNzpcdFx0dHJpc3RhdGUgXCYjMzQ7TmF0aXZlIGxhbmd1YWdlIHN1cHBvcnRcJiMzNDtcbiAgIDg6XHRcdGhlbHBcbiAgIDk6XHRcdCAgVGhlIGJhc2UgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQuIEEgbnVtYmVyIG9mIGZpbGVzeXN0ZW1zXG4gIDEwOlx0XHQgIGRlcGVuZCBvbiBpdCAoZS5nLiBGQVQsIEpPTElFVCwgTlQsIEJFT1MgZmlsZXN5c3RlbXMpLCBhcyB3ZWxsXG4gIDExOlx0XHQgIGFzIHRoZSBhYmlsaXR5IG9mIHNvbWUgZmlsZXN5c3RlbXMgdG8gdXNlIG5hdGl2ZSBsYW5ndWFnZXNcbiAgMTI6XHRcdCAgKE5DUCwgU01CKS5cbiAgMTM6XHRcbiAgMTQ6XHRcdCAgSWYgdW5zdXJlLCBzYXkgWS5cbiAgMTU6XHRcbiAgMTY6XHRcdCAgVG8gY29tcGlsZSB0aGlzIGNvZGUgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGVcbiAgMTc6XHRcdCAgd2lsbCBiZSBjYWxsZWQgbmxzX2Jhc2UuXG4gIDE4Olx0XG4gIDE5Olx0aWYgTkxTXG4gIDIwOlx0XG4gIDIxOlx0Y29uZmlnIE5MU19ERUZBVUxUXG4gIDIyOlx0XHRzdHJpbmcgXCYjMzQ7RGVmYXVsdCBOTFMgT3B0aW9uXCYjMzQ7XG4gIDIzOlx0XHRkZWZhdWx0IFwmIzM0O2lzbzg4NTktMVwmIzM0O1xuICAyNDpcdFx0aGVscFxuICAyNTpcdFx0ICBUaGUgZGVmYXVsdCBOTFMgdXNlZCB3aGVuIG1vdW50aW5nIGZpbGUgc3lzdGVtLiBOb3RlLCB0aGF0IHRoaXMgaXNcbiAgMjY6XHRcdCAgdGhlIE5MUyB1c2VkIGJ5IHlvdXIgY29uc29sZSwgbm90IHRoZSBOTFMgdXNlZCBieSBhIHNwZWNpZmljIGZpbGVcbiAgMjc6XHRcdCAgc3lzdGVtIChpZiBkaWZmZXJlbnQpIHRvIHN0b3JlIGRhdGEgKGZpbGVuYW1lcykgb24gYSBkaXNrLlxuICAyODpcdFx0ICBDdXJyZW50bHksIHRoZSB2YWxpZCB2YWx1ZXMgYXJlOlxuICAyOTpcdFx0ICBiaWc1LCBjcDQzNywgY3A3MzcsIGNwNzc1LCBjcDg1MCwgY3A4NTIsIGNwODU1LCBjcDg1NywgY3A4NjAsIGNwODYxLFxuICAzMDpcdFx0ICBjcDg2MiwgY3A4NjMsIGNwODY0LCBjcDg2NSwgY3A4NjYsIGNwODY5LCBjcDg3NCwgY3A5MzIsIGNwOTM2LFxuICAzMTpcdFx0ICBjcDk0OSwgY3A5NTAsIGNwMTI1MSwgY3AxMjU1LCBldWMtanAsIGV1Yy1rciwgZ2IyMzEyLCBpc284ODU5LTEsXG4gIDMyOlx0XHQgIGlzbzg4NTktMiwgaXNvODg1OS0zLCBpc284ODU5LTQsIGlzbzg4NTktNSwgaXNvODg1OS02LCBpc284ODU5LTcsXG4gIDMzOlx0XHQgIGlzbzg4NTktOCwgaXNvODg1OS05LCBpc284ODU5LTEzLCBpc284ODU5LTE0LCBpc284ODU5LTE1LFxuICAzNDpcdFx0ICBrb2k4LXIsIGtvaTgtcnUsIGtvaTgtdSwgc2ppcywgdGlzLTYyMCwgbWFjcm9tYW4sIHV0ZjguXG4gIDM1Olx0XHQgIElmIHlvdSBzcGVjaWZ5IGEgd3JvbmcgdmFsdWUsIGl0IHdpbGwgdXNlIHRoZSBidWlsdC1pbiBOTFM7XG4gIDM2Olx0XHQgIGNvbXBhdGlibGUgd2l0aCBpc284ODU5LTEuXG4gIDM3Olx0XG4gIDM4Olx0XHQgIElmIHVuc3VyZSwgc3BlY2lmeSBpdCBhcyBcJiMzNDtpc284ODU5LTFcJiMzNDsuXG4gIDM5Olx0XG4gIDQwOlx0Y29uZmlnIE5MU19DT0RFUEFHRV80MzdcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjc1OTUKCQkJCQkJCW91dHB1dDogMjcKCQkJCQkJCXRob3VnaHRzOiAxOTU4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5c2lzIG9mIHRoZSBubHNfaXNvODg1OS0xNCBQYXRjaCBhbmQgRnV6emluZyBTdWl0YWJpbGl0eSoqCgpPa2F5LCBsZXQmIzM5O3MgYnJlYWsgZG93biB0aGlzIHBhdGNoLiBNeSBpbml0aWFsIGFzc2Vzc21lbnQgaXMgdGhhdCBpdCBsb29rcyBsaWtlIGEgY29ycmVjdGlvbiB0byB0aGUgYG5sc19pc284ODU5LTE0YCBjaGFyYWN0ZXIgZW5jb2RpbmcgdGFibGUsIHNwZWNpZmljYWxseSB0aGUgYHBhZ2UwMWAgYW5kIGBwYWdlMWVgIGxvb2t1cCB0YWJsZXMgd2l0aGluIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AuIEl0IGFwcGVhcnMgdGhlcmUgd2VyZSBpbmNvcnJlY3QgbWFwcGluZ3Mgb2YgVW5pY29kZSBjaGFyYWN0ZXJzIHRvIHRoZWlyIGNvcnJlc3BvbmRpbmcgSVNPIDg4NTktMTQgY2hhcnNldCByZXByZXNlbnRhdGlvbnMuIFRoZSBwYXRjaCBjb3JyZWN0cyBkaXNjcmVwYW5jaWVzIEkgc2F3IHdoZXJlIHRoZSBtYXBwaW5ncyB3ZXJlIGluY29uc2lzdGVudCB3aXRoIHRoZSBkb2N1bWVudGVkIHN0YW5kYXJkLCBmaXhpbmcgZW50cmllcyBsaWtlIHRob3NlIGZvciBVJiM0MzswMTAyIGFuZCBVJiM0MzsxRTAyLiBUaGlzIGlzIGRlZmluaXRlbHkgYSBmaXghCgpOb3csIHRoZSBpbXBvcnRhbnQgcXVlc3Rpb246IElzIHRoaXMgY29kZSByZWFjaGFibGUgYW5kIGZ1enphYmxlPyAgWWVzLCBhYnNvbHV0ZWx5LiBUaGVzZSBOTFMgdGFibGVzIGFyZSBjcnVjaWFsIGZvciBmaWxlc3lzdGVtIG9wZXJhdGlvbnMsIHNwZWNpZmljYWxseSBjaGFyYWN0ZXIgZW5jb2RpbmcgdHJhbnNsYXRpb25zLiBUaGV5IGdldCB1c2VkIGluIGEgbnVtYmVyIG9mIGZpbGVzeXN0ZW1zIHN1Y2ggYXMgRkFULCBJU09GUywgTlRGUyBhbmQgQ0lGUy4gSWYgYSBmaWxlc3lzdGVtIGlzIG1vdW50ZWQgd2l0aCBhbiBgaW9jaGFyc2V0YCBvcHRpb24sIG9yIE5MUyBpcyBzcGVjaWZpZWQsIHRoaXMgY29kZSBnZXRzIGV4ZXJjaXNlZC4gU3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgYXJlIHN1ZmZpY2llbnQgdG8gaGl0IHRoZXNlIGNvZGUgcGF0aHMsIGFuZCBJIGtub3cgdGhpcyBpcyBhIGtleSBjb25zaWRlcmF0aW9uLgoKTGV0JiMzOTtzIHJldmlldyB0aGUgZ3VpZGVsaW5lcyB0byBiZSBjZXJ0YWluLiBXZSYjMzk7cmUgbG9va2luZyBhdCBwb3RlbnRpYWxseSBleHBvc2luZyBidWdzLCByZWdyZXNzaW9ucywgb3IgYXNzZXJ0aW9ucy4gVGhpcyBwYXRjaCBtb2RpZmllcyBleGVjdXRhYmxlIGNvZGUgKHRoZSBgdW5pMmNoYXJgIGFuZCBgY2hhcjJ1bmlgIGZ1bmN0aW9ucywgZXZlbiB0aG91Z2ggc3RhdGljIGluIHRoZSBDIGZpbGUpLiBXZSBuZWVkIHRvIGRldGVybWluZSBpZiBpdCBpcyByZWFjaGFibGUgY29kZSwgYW5kIEkga25vdyBpdCBpcy4gSXQmIzM5O3Mgbm90IGRvY3VtZW50YXRpb24sIG5vdCB1c2VyLXNwYWNlLCBub3QgZGVjb3JhdGl2ZSBsb2dnaW5nLCBhbmQgaXQgZG9lc24mIzM5O3QgaW52b2x2ZSBzb21lIHVucmVhY2hhYmxlIGhhcmR3YXJlIGRyaXZlciBvciBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgY29kZS4gVGhpcyBpcyBhIGNsZWFyIGNhc2UgZm9yIGBXb3J0aEZ1enppbmc9dHJ1ZWAuCgpOb3csIGFib3V0IEZvY3VzU3ltYm9scy4gIFdlIG5lZWQgdG8ga25vdyB0aGUgc3ltYm9scyBpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIHRoYXQgYXJlIGFmZmVjdGVkLiBUaGUga2V5IGZ1bmN0aW9ucyBJIHNlZSBhcmUgYHVuaTJjaGFyYCBhbmQgYGNoYXIydW5pYC4gQmVjYXVzZSB0aGV5IGFyZSBzdGF0aWMsIEkgaW5pdGlhbGx5IHRob3VnaHQgdGhleSBtaWdodCBiZSBpbmxpbmVkLiBCdXQgd2FpdCwgc2luY2UgdGhlaXIgYWRkcmVzc2VzIGFyZSBhc3NpZ25lZCB0byB0aGUgYC51bmkyY2hhcmAgYW5kIGAuY2hhcjJ1bmlgIG1lbWJlcnMgb2YgYG5sc190YWJsZWAsIHRoZXNlIGZ1bmN0aW9ucyAqY2Fubm90KiBiZSBpbmxpbmVkLiAgVGhpcyBtZWFucyB0aGVzZSBmdW5jdGlvbnMgaGF2ZSBzeW1ib2xzIGluIHRoZSBrZXJuZWwgaW1hZ2UgKHZtbGludXgpLiBTbywgeWVzLCB0aGVzZSBmdW5jdGlvbnMgYXJlIGRlZmluaXRlbHkgY2FsbGFibGUuCgpXZSYjMzk7cmUgZ29pbmcgdG8gbmVlZCB0byBmaWd1cmUgb3V0IGhvdyBzeXprYWxsZXIgaGFuZGxlcyBzdGF0aWMgZnVuY3Rpb24gbmFtZXMsIHdoaWNoIHdpbGwgaW5mb3JtIG91ciBGb2N1c1N5bWJvbHMgbGlzdC4gIFRoZXJlIGFyZSBsaWtlbHkgYmFzZSBzeW1ib2xzIGF2YWlsYWJsZSBmcm9tIGthbGxzeW1zLCBidXQgd2UmIzM5O2xsIG5lZWQgdG8gZG91YmxlIGNoZWNrIHRoZSBleGFjdCBuYW1pbmcgc2NoZW1lIChzdWNoIGFzIHdoZXRoZXIgdGhlcmUgYXJlIHZhcmlhdGlvbnMgbGlrZSBgLmlzcmEuMGApLiBUbyBiZSB0aG9yb3VnaCwgbGV0JiMzOTtzIGFsc28gY2hlY2sgb3RoZXIgZnVuY3Rpb25zIG9yIGNhbGxlcnMgaW4gYGZzL25sc2Agb3IgYGluY2x1ZGUvbGludXgvbmxzLmhgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE4LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt1bmkyY2hhciYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL25scyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgMTI5MCBsaW5lcy5cblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cblxuZnMvbmxzL21hYy1jZWx0aWMuYz00MTU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI2WzI1Nl0gPSB7XG4tLVxuZnMvbmxzL21hYy1jZWx0aWMuYy00NDktXG5mcy9ubHMvbWFjLWNlbHRpYy5jOjQ1MDpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL21hYy1jZWx0aWMuYy00NTEtXHRwYWdlMDAsIHBhZ2UwMSwgTlVMTCwgICBwYWdlMDMsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsXG4tLVxuZnMvbmxzL21hYy1jZWx0aWMuYz01MjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtY2VsdGljLmMtNTU0LVxuZnMvbmxzL21hYy1jZWx0aWMuYzo1NTU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXG5mcy9ubHMvbWFjLWNlbHRpYy5jLTU1Ni17XG5mcy9ubHMvbWFjLWNlbHRpYy5jOjU1NzpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL21hYy1jZWx0aWMuYy01NTgtXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFx1MDAyNiAweDAwZmY7XG4tLVxuZnMvbmxzL21hYy1jZWx0aWMuYy01NjMtXG5mcy9ubHMvbWFjLWNlbHRpYy5jOjU2NDpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbWFjLWNlbHRpYy5jOjU2NTpcdGlmICh1bmkyY2hhcnNldCBcdTAwMjZcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxuZnMvbmxzL21hYy1jZWx0aWMuYzo1NjY6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9tYWMtY2VsdGljLmMtNTY3LVx0ZWxzZVxuLS1cbmZzL25scy9tYWMtY2VsdGljLmM9NTgwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xuZnMvbmxzL21hYy1jZWx0aWMuYy01ODEtXHQuY2hhcnNldFx0PSBcJiMzNDttYWNjZWx0aWNcJiMzNDssXG5mcy9ubHMvbWFjLWNlbHRpYy5jOjU4MjpcdC51bmkyY2hhclx0PSB1bmkyY2hhcixcbmZzL25scy9tYWMtY2VsdGljLmMtNTgzLVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9tYWMtY2VudGV1cm8uYz0zNDU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI1WzI1Nl0gPSB7XG4tLVxuZnMvbmxzL21hYy1jZW50ZXVyby5jLTM3OS1cbmZzL25scy9tYWMtY2VudGV1cm8uYzozODA6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9tYWMtY2VudGV1cm8uYy0zODEtXHRwYWdlMDAsIHBhZ2UwMSwgcGFnZTAyLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsXG4tLVxuZnMvbmxzL21hYy1jZW50ZXVyby5jPTQ1MD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL21hYy1jZW50ZXVyby5jLTQ4NC1cbmZzL25scy9tYWMtY2VudGV1cm8uYzo0ODU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXG5mcy9ubHMvbWFjLWNlbnRldXJvLmMtNDg2LXtcbmZzL25scy9tYWMtY2VudGV1cm8uYzo0ODc6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9tYWMtY2VudGV1cm8uYy00ODgtXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFx1MDAyNiAweDAwZmY7XG4tLVxuZnMvbmxzL21hYy1jZW50ZXVyby5jLTQ5My1cbmZzL25scy9tYWMtY2VudGV1cm8uYzo0OTQ6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL21hYy1jZW50ZXVyby5jOjQ5NTpcdGlmICh1bmkyY2hhcnNldCBcdTAwMjZcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxuZnMvbmxzL21hYy1jZW50ZXVyby5jOjQ5NjpcdFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xuZnMvbmxzL21hYy1jZW50ZXVyby5jLTQ5Ny1cdGVsc2Vcbi0tXG5mcy9ubHMvbWFjLWNlbnRldXJvLmM9NTEwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xuZnMvbmxzL21hYy1jZW50ZXVyby5jLTUxMS1cdC5jaGFyc2V0XHQ9IFwmIzM0O21hY2NlbnRldXJvXCYjMzQ7LFxuZnMvbmxzL21hYy1jZW50ZXVyby5jOjUxMjpcdC51bmkyY2hhclx0PSB1bmkyY2hhcixcbmZzL25scy9tYWMtY2VudGV1cm8uYy01MTMtXHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4tLVxuZnMvbmxzL21hYy1jcm9hdGlhbi5jPTQxNT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlZjhbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNDQ5LVxuZnMvbmxzL21hYy1jcm9hdGlhbi5jOjQ1MDpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL21hYy1jcm9hdGlhbi5jLTQ1MS1cdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcbi0tXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmM9NTIwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNTU0LVxuZnMvbmxzL21hYy1jcm9hdGlhbi5jOjU1NTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9tYWMtY3JvYXRpYW4uYy01NTYte1xuZnMvbmxzL21hYy1jcm9hdGlhbi5jOjU1NzpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL21hYy1jcm9hdGlhbi5jLTU1OC1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNTYzLVxuZnMvbmxzL21hYy1jcm9hdGlhbi5jOjU2NDpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbWFjLWNyb2F0aWFuLmM6NTY1Olx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmM6NTY2Olx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNTY3LVx0ZWxzZVxuLS1cbmZzL25scy9tYWMtY3JvYXRpYW4uYz01ODA9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNTgxLVx0LmNoYXJzZXRcdD0gXCYjMzQ7bWFjY3JvYXRpYW5cJiMzNDssXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmM6NTgyOlx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL21hYy1jcm9hdGlhbi5jLTU4My1cdC5jaGFyMnVuaVx0PSBjaGFyMnVuaSxcbi0tXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM9MzEwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyMlsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtY3lyaWxsaWMuYy0zNDQtXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6MzQ1OnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG5mcy9ubHMvbWFjLWN5cmlsbGljLmMtMzQ2LVx0cGFnZTAwLCBwYWdlMDEsIE5VTEwsICAgTlVMTCwgICBwYWdlMDQsIE5VTEwsICAgTlVMTCwgICBOVUxMLFxuLS1cbmZzL25scy9tYWMtY3lyaWxsaWMuYz00MTU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NDktXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6NDUwOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxuZnMvbmxzL21hYy1jeXJpbGxpYy5jLTQ1MS17XG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6NDUyOlx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XG5mcy9ubHMvbWFjLWN5cmlsbGljLmMtNDUzLVx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcdTAwMjYgMHgwMGZmO1xuLS1cbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NTgtXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6NDU5Olx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcbmZzL25scy9tYWMtY3lyaWxsaWMuYzo0NjA6XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbmZzL25scy9tYWMtY3lyaWxsaWMuYzo0NjE6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NjItXHRlbHNlXG4tLVxuZnMvbmxzL21hYy1jeXJpbGxpYy5jPTQ3NT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NzYtXHQuY2hhcnNldFx0PSBcJiMzNDttYWNjeXJpbGxpY1wmIzM0OyxcbmZzL25scy9tYWMtY3lyaWxsaWMuYzo0Nzc6XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG5mcy9ubHMvbWFjLWN5cmlsbGljLmMtNDc4LVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9tYWMtZ2FlbGljLmM9MzgwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyNlsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtZ2FlbGljLmMtNDE0LVxuZnMvbmxzL21hYy1nYWVsaWMuYzo0MTU6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9tYWMtZ2FlbGljLmMtNDE2LVx0cGFnZTAwLCBwYWdlMDEsIHBhZ2UwMiwgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxuLS1cbmZzL25scy9tYWMtZ2FlbGljLmM9NDg1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTUxOS1cbmZzL25scy9tYWMtZ2FlbGljLmM6NTIwOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxuZnMvbmxzL21hYy1nYWVsaWMuYy01MjEte1xuZnMvbmxzL21hYy1nYWVsaWMuYzo1MjI6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9tYWMtZ2FlbGljLmMtNTIzLVx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcdTAwMjYgMHgwMGZmO1xuLS1cbmZzL25scy9tYWMtZ2FlbGljLmMtNTI4LVxuZnMvbmxzL21hYy1nYWVsaWMuYzo1Mjk6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL21hYy1nYWVsaWMuYzo1MzA6XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbmZzL25scy9tYWMtZ2FlbGljLmM6NTMxOlx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbWFjLWdhZWxpYy5jLTUzMi1cdGVsc2Vcbi0tXG5mcy9ubHMvbWFjLWdhZWxpYy5jPTU0NT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbmZzL25scy9tYWMtZ2FlbGljLmMtNTQ2LVx0LmNoYXJzZXRcdD0gXCYjMzQ7bWFjZ2FlbGljXCYjMzQ7LFxuZnMvbmxzL21hYy1nYWVsaWMuYzo1NDc6XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTU0OC1cdC5jaGFyMnVuaVx0PSBjaGFyMnVuaSxcbi0tXG5mcy9ubHMvbWFjLWdyZWVrLmM9MzEwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyMlsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtZ3JlZWsuYy0zNDQtXG5mcy9ubHMvbWFjLWdyZWVrLmM6MzQ1OnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG5mcy9ubHMvbWFjLWdyZWVrLmMtMzQ2LVx0cGFnZTAwLCBwYWdlMDEsIE5VTEwsICAgcGFnZTAzLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxuLS1cbmZzL25scy9tYWMtZ3JlZWsuYz00MTU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtZ3JlZWsuYy00NDktXG5mcy9ubHMvbWFjLWdyZWVrLmM6NDUwOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxuZnMvbmxzL21hYy1ncmVlay5jLTQ1MS17XG5mcy9ubHMvbWFjLWdyZWVrLmM6NDUyOlx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XG5mcy9ubHMvbWFjLWdyZWVrLmMtNDUzLVx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcdTAwMjYgMHgwMGZmO1xuLS1cbmZzL25scy9tYWMtZ3JlZWsuYy00NTgtXG5mcy9ubHMvbWFjLWdyZWVrLmM6NDU5Olx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcbmZzL25scy9tYWMtZ3JlZWsuYzo0NjA6XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbmZzL25scy9tYWMtZ3JlZWsuYzo0NjE6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9tYWMtZ3JlZWsuYy00NjItXHRlbHNlXG4tLVxuZnMvbmxzL21hYy1ncmVlay5jPTQ3NT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbmZzL25scy9tYWMtZ3JlZWsuYy00NzYtXHQuY2hhcnNldFx0PSBcJiMzNDttYWNncmVla1wmIzM0OyxcbmZzL25scy9tYWMtZ3JlZWsuYzo0Nzc6XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG5mcy9ubHMvbWFjLWdyZWVrLmMtNDc4LVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9tYWMtaWNlbGFuZC5jPTQxNT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlZjhbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLWljZWxhbmQuYy00NDktXG5mcy9ubHMvbWFjLWljZWxhbmQuYzo0NTA6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9tYWMtaWNlbGFuZC5jLTQ1MS1cdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcbi0tXG5mcy9ubHMvbWFjLWljZWxhbmQuYz01MjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtaWNlbGFuZC5jLTU1NC1cbmZzL25scy9tYWMtaWNlbGFuZC5jOjU1NTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9tYWMtaWNlbGFuZC5jLTU1Ni17XG5mcy9ubHMvbWFjLWljZWxhbmQuYzo1NTc6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9tYWMtaWNlbGFuZC5jLTU1OC1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbWFjLWljZWxhbmQuYy01NjMtXG5mcy9ubHMvbWFjLWljZWxhbmQuYzo1NjQ6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL21hYy1pY2VsYW5kLmM6NTY1Olx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbWFjLWljZWxhbmQuYzo1NjY6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9tYWMtaWNlbGFuZC5jLTU2Ny1cdGVsc2Vcbi0tXG5mcy9ubHMvbWFjLWljZWxhbmQuYz01ODA9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbWFjLWljZWxhbmQuYy01ODEtXHQuY2hhcnNldFx0PSBcJiMzNDttYWNpY2VsYW5kXCYjMzQ7LFxuZnMvbmxzL21hYy1pY2VsYW5kLmM6NTgyOlx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL21hYy1pY2VsYW5kLmMtNTgzLVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9tYWMtaW51aXQuYz0zNDU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTIxWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL21hYy1pbnVpdC5jLTM3OS1cbmZzL25scy9tYWMtaW51aXQuYzozODA6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9tYWMtaW51aXQuYy0zODEtXHRwYWdlMDAsIHBhZ2UwMSwgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsXG4tLVxuZnMvbmxzL21hYy1pbnVpdC5jPTQ1MD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL21hYy1pbnVpdC5jLTQ4NC1cbmZzL25scy9tYWMtaW51aXQuYzo0ODU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXG5mcy9ubHMvbWFjLWludWl0LmMtNDg2LXtcbmZzL25scy9tYWMtaW51aXQuYzo0ODc6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9tYWMtaW51aXQuYy00ODgtXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFx1MDAyNiAweDAwZmY7XG4tLVxuZnMvbmxzL21hYy1pbnVpdC5jLTQ5My1cbmZzL25scy9tYWMtaW51aXQuYzo0OTQ6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL21hYy1pbnVpdC5jOjQ5NTpcdGlmICh1bmkyY2hhcnNldCBcdTAwMjZcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxuZnMvbmxzL21hYy1pbnVpdC5jOjQ5NjpcdFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xuZnMvbmxzL21hYy1pbnVpdC5jLTQ5Ny1cdGVsc2Vcbi0tXG5mcy9ubHMvbWFjLWludWl0LmM9NTEwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xuZnMvbmxzL21hYy1pbnVpdC5jLTUxMS1cdC5jaGFyc2V0XHQ9IFwmIzM0O21hY2ludWl0XCYjMzQ7LFxuZnMvbmxzL21hYy1pbnVpdC5jOjUxMjpcdC51bmkyY2hhclx0PSB1bmkyY2hhcixcbmZzL25scy9tYWMtaW51aXQuYy01MTMtXHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4tLVxuZnMvbmxzL21hYy1yb21hbi5jPTQ1MD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlZmJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLXJvbWFuLmMtNDg0LVxuZnMvbmxzL21hYy1yb21hbi5jOjQ4NTpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL21hYy1yb21hbi5jLTQ4Ni1cdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcbi0tXG5mcy9ubHMvbWFjLXJvbWFuLmM9NTU1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLXJvbWFuLmMtNTg5LVxuZnMvbmxzL21hYy1yb21hbi5jOjU5MDpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9tYWMtcm9tYW4uYy01OTEte1xuZnMvbmxzL21hYy1yb21hbi5jOjU5MjpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL21hYy1yb21hbi5jLTU5My1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbWFjLXJvbWFuLmMtNTk4LVxuZnMvbmxzL21hYy1yb21hbi5jOjU5OTpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbWFjLXJvbWFuLmM6NjAwOlx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbWFjLXJvbWFuLmM6NjAxOlx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbWFjLXJvbWFuLmMtNjAyLVx0ZWxzZVxuLS1cbmZzL25scy9tYWMtcm9tYW4uYz02MTU9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbWFjLXJvbWFuLmMtNjE2LVx0LmNoYXJzZXRcdD0gXCYjMzQ7bWFjcm9tYW5cJiMzNDssXG5mcy9ubHMvbWFjLXJvbWFuLmM6NjE3Olx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL21hYy1yb21hbi5jLTYxOC1cdC5jaGFyMnVuaVx0PSBjaGFyMnVuaSxcbi0tXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM9NDE1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2VmOFsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtcm9tYW5pYW4uYy00NDktXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NDUwOnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG5mcy9ubHMvbWFjLXJvbWFuaWFuLmMtNDUxLVx0cGFnZTAwLCBwYWdlMDEsIHBhZ2UwMiwgcGFnZTAzLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxuLS1cbmZzL25scy9tYWMtcm9tYW5pYW4uYz01MjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtcm9tYW5pYW4uYy01NTQtXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NTU1OnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxuZnMvbmxzL21hYy1yb21hbmlhbi5jLTU1Ni17XG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NTU3Olx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XG5mcy9ubHMvbWFjLXJvbWFuaWFuLmMtNTU4LVx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcdTAwMjYgMHgwMGZmO1xuLS1cbmZzL25scy9tYWMtcm9tYW5pYW4uYy01NjMtXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NTY0Olx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcbmZzL25scy9tYWMtcm9tYW5pYW4uYzo1NjU6XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbmZzL25scy9tYWMtcm9tYW5pYW4uYzo1NjY6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9tYWMtcm9tYW5pYW4uYy01NjctXHRlbHNlXG4tLVxuZnMvbmxzL21hYy1yb21hbmlhbi5jPTU4MD1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbmZzL25scy9tYWMtcm9tYW5pYW4uYy01ODEtXHQuY2hhcnNldFx0PSBcJiMzNDttYWNyb21hbmlhblwmIzM0OyxcbmZzL25scy9tYWMtcm9tYW5pYW4uYzo1ODI6XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmMtNTgzLVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9tYWMtdHVya2lzaC5jPTQxNT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlZjhbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbWFjLXR1cmtpc2guYy00NDktXG5mcy9ubHMvbWFjLXR1cmtpc2guYzo0NTA6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9tYWMtdHVya2lzaC5jLTQ1MS1cdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcbi0tXG5mcy9ubHMvbWFjLXR1cmtpc2guYz01MjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9tYWMtdHVya2lzaC5jLTU1NC1cbmZzL25scy9tYWMtdHVya2lzaC5jOjU1NTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9tYWMtdHVya2lzaC5jLTU1Ni17XG5mcy9ubHMvbWFjLXR1cmtpc2guYzo1NTc6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9tYWMtdHVya2lzaC5jLTU1OC1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbWFjLXR1cmtpc2guYy01NjMtXG5mcy9ubHMvbWFjLXR1cmtpc2guYzo1NjQ6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL21hYy10dXJraXNoLmM6NTY1Olx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbWFjLXR1cmtpc2guYzo1NjY6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9tYWMtdHVya2lzaC5jLTU2Ny1cdGVsc2Vcbi0tXG5mcy9ubHMvbWFjLXR1cmtpc2guYz01ODA9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbWFjLXR1cmtpc2guYy01ODEtXHQuY2hhcnNldFx0PSBcJiMzNDttYWN0dXJraXNoXCYjMzQ7LFxuZnMvbmxzL21hYy10dXJraXNoLmM6NTgyOlx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL21hYy10dXJraXNoLmMtNTgzLVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9ubHNfYXNjaWkuYz01OT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDBbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2FzY2lpLmMtNzctXG5mcy9ubHMvbmxzX2FzY2lpLmM6Nzg6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9ubHNfYXNjaWkuYy03OS1cdHBhZ2UwMCxcbi0tXG5mcy9ubHMvbmxzX2FzY2lpLmM9MTAxPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2FzY2lpLmMtMTE5LVxuZnMvbmxzL25sc19hc2NpaS5jOjEyMDpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9ubHNfYXNjaWkuYy0xMjEte1xuZnMvbmxzL25sc19hc2NpaS5jOjEyMjpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL25sc19hc2NpaS5jLTEyMy1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbmxzX2FzY2lpLmMtMTI4LVxuZnMvbmxzL25sc19hc2NpaS5jOjEyOTpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbmxzX2FzY2lpLmM6MTMwOlx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbmxzX2FzY2lpLmM6MTMxOlx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbmxzX2FzY2lpLmMtMTMyLVx0ZWxzZVxuLS1cbmZzL25scy9ubHNfYXNjaWkuYz0xNDU9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbmxzX2FzY2lpLmMtMTQ2LVx0LmNoYXJzZXRcdD0gXCYjMzQ7YXNjaWlcJiMzNDssXG5mcy9ubHMvbmxzX2FzY2lpLmM6MTQ3Olx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL25sc19hc2NpaS5jLTE0OC1cdC5jaGFyMnVuaVx0PSBjaGFyMnVuaSxcbi0tXG5mcy9ubHMvbmxzX2Jhc2UuYz0zOTY9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAwWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL25sc19iYXNlLmMtNDMxLVxuZnMvbmxzL25sc19iYXNlLmM6NDMyOnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG5mcy9ubHMvbmxzX2Jhc2UuYy00MzMtXHRwYWdlMDBcbi0tXG5mcy9ubHMvbmxzX2Jhc2UuYz00NzI9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9ubHNfYmFzZS5jLTUwOC1cbmZzL25scy9ubHNfYmFzZS5jOjUwOTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9ubHNfYmFzZS5jLTUxMC17XG5mcy9ubHMvbmxzX2Jhc2UuYzo1MTE6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9ubHNfYmFzZS5jLTUxMi1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbmxzX2Jhc2UuYy01MTctXG5mcy9ubHMvbmxzX2Jhc2UuYzo1MTg6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL25sc19iYXNlLmM6NTE5Olx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbmxzX2Jhc2UuYzo1MjA6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9ubHNfYmFzZS5jLTUyMS1cdGVsc2Vcbi0tXG5mcy9ubHMvbmxzX2Jhc2UuYz01MzQ9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgZGVmYXVsdF90YWJsZSA9IHtcbmZzL25scy9ubHNfYmFzZS5jLTUzNS1cdC5jaGFyc2V0XHQ9IFwmIzM0O2RlZmF1bHRcJiMzNDssXG5mcy9ubHMvbmxzX2Jhc2UuYzo1MzY6XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG5mcy9ubHMvbmxzX2Jhc2UuYy01MzctXHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4tLVxuZnMvbmxzL25sc19jcDEyNTAuYz0yMTM9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTIxWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL25sc19jcDEyNTAuYy0yMjAtXG5mcy9ubHMvbmxzX2NwMTI1MC5jOjIyMTpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL25sc19jcDEyNTAuYy0yMjItXHRwYWdlMDAsXHRwYWdlMDEsXHRwYWdlMDIsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcbi0tXG5mcy9ubHMvbmxzX2NwMTI1MC5jPTI2NT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL25sc19jcDEyNTAuYy0zMDAtXG5mcy9ubHMvbmxzX2NwMTI1MC5jOjMwMTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9ubHNfY3AxMjUwLmMtMzAyLXtcbmZzL25scy9ubHNfY3AxMjUwLmM6MzAzOiAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XG5mcy9ubHMvbmxzX2NwMTI1MC5jLTMwNC0gICAgICAgIHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbmxzX2NwMTI1MC5jLTMwOS1cbmZzL25scy9ubHNfY3AxMjUwLmM6MzEwOiAgICAgICAgdW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcbmZzL25scy9ubHNfY3AxMjUwLmM6MzExOiAgICAgICAgaWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbmxzX2NwMTI1MC5jOjMxMjogICAgICAgICAgICAgICAgb3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xuZnMvbmxzL25sc19jcDEyNTAuYy0zMTMtICAgICAgICBlbHNlXG4tLVxuZnMvbmxzL25sc19jcDEyNTAuYz0zMjY9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbmxzX2NwMTI1MC5jLTMyNy1cdC5jaGFyc2V0XHQ9IFwmIzM0O2NwMTI1MFwmIzM0OyxcbmZzL25scy9ubHNfY3AxMjUwLmM6MzI4Olx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMjktXHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4tLVxuZnMvbmxzL25sc19jcDEyNTEuYz0xNjk9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTIxWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL25sc19jcDEyNTEuYy0xNzYtXG5mcy9ubHMvbmxzX2NwMTI1MS5jOjE3NzpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL25sc19jcDEyNTEuYy0xNzgtXHRwYWdlMDAsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIHBhZ2UwNCwgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgXG4tLVxuZnMvbmxzL25sc19jcDEyNTEuYz0yMjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9ubHNfY3AxMjUxLmMtMjU0LVxuZnMvbmxzL25sc19jcDEyNTEuYzoyNTU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXG5mcy9ubHMvbmxzX2NwMTI1MS5jLTI1Ni17XG5mcy9ubHMvbmxzX2NwMTI1MS5jOjI1NzpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL25sc19jcDEyNTEuYy0yNTgtXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFx1MDAyNiAweDAwZmY7XG4tLVxuZnMvbmxzL25sc19jcDEyNTEuYy0yNjMtXG5mcy9ubHMvbmxzX2NwMTI1MS5jOjI2NDpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbmxzX2NwMTI1MS5jOjI2NTpcdGlmICh1bmkyY2hhcnNldCBcdTAwMjZcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxuZnMvbmxzL25sc19jcDEyNTEuYzoyNjY6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9ubHNfY3AxMjUxLmMtMjY3LVx0ZWxzZVxuLS1cbmZzL25scy9ubHNfY3AxMjUxLmM9MjgwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xuZnMvbmxzL25sc19jcDEyNTEuYy0yODEtXHQuY2hhcnNldFx0PSBcJiMzNDtjcDEyNTFcJiMzNDssXG5mcy9ubHMvbmxzX2NwMTI1MS5jOjI4MjpcdC51bmkyY2hhclx0PSB1bmkyY2hhcixcbmZzL25scy9ubHNfY3AxMjUxLmMtMjgzLVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9ubHNfY3AxMjU1LmM9MjQ4PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyMVsyNTZdID0ge1xuLS1cbmZzL25scy9ubHNfY3AxMjU1LmMtMjU1LVxuZnMvbmxzL25sc19jcDEyNTUuYzoyNTY6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9ubHNfY3AxMjU1LmMtMjU3LVx0cGFnZTAwLCBwYWdlMDEsIHBhZ2UwMiwgTlVMTCwgICBOVUxMLCAgIHBhZ2UwNSwgTlVMTCwgICBOVUxMLCAgIFxuLS1cbmZzL25scy9ubHNfY3AxMjU1LmM9MzAwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2NwMTI1NS5jLTMzNS1cbmZzL25scy9ubHNfY3AxMjU1LmM6MzM2OnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxuZnMvbmxzL25sc19jcDEyNTUuYy0zMzcte1xuZnMvbmxzL25sc19jcDEyNTUuYzozMzg6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9ubHNfY3AxMjU1LmMtMzM5LVx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcdTAwMjYgMHgwMGZmO1xuLS1cbmZzL25scy9ubHNfY3AxMjU1LmMtMzQ0LVxuZnMvbmxzL25sc19jcDEyNTUuYzozNDU6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL25sc19jcDEyNTUuYzozNDY6XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbmZzL25scy9ubHNfY3AxMjU1LmM6MzQ3Olx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbmxzX2NwMTI1NS5jLTM0OC1cdGVsc2Vcbi0tXG5mcy9ubHMvbmxzX2NwMTI1NS5jPTM2MT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbi0tXG5mcy9ubHMvbmxzX2NwMTI1NS5jLTM2My1cdC5hbGlhc1x0XHQ9IFwmIzM0O2lzbzg4NTktOFwmIzM0OyxcbmZzL25scy9ubHNfY3AxMjU1LmM6MzY0Olx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL25sc19jcDEyNTUuYy0zNjUtXHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4tLVxuZnMvbmxzL25sc19jcDQzNy5jPTIzNj1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjVbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2NwNDM3LmMtMjYwLVxuZnMvbmxzL25sc19jcDQzNy5jOjI2MTpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL25sc19jcDQzNy5jLTI2Mi1cdHBhZ2UwMCwgcGFnZTAxLCBOVUxMLCAgIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBcbi0tXG5mcy9ubHMvbmxzX2NwNDM3LmM9MzA1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2NwNDM3LmMtMzQwLVxuZnMvbmxzL25sc19jcDQzNy5jOjM0MTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9ubHNfY3A0MzcuYy0zNDIte1xuZnMvbmxzL25sc19jcDQzNy5jOjM0MzpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL25sc19jcDQzNy5jLTM0NC1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbmxzX2NwNDM3LmMtMzQ5LVxuZnMvbmxzL25sc19jcDQzNy5jOjM1MDpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbmxzX2NwNDM3LmM6MzUxOlx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbmxzX2NwNDM3LmM6MzUyOlx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbmxzX2NwNDM3LmMtMzUzLVx0ZWxzZVxuLS1cbmZzL25scy9ubHNfY3A0MzcuYz0zNjY9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbmxzX2NwNDM3LmMtMzY3LVx0LmNoYXJzZXRcdD0gXCYjMzQ7Y3A0MzdcJiMzNDssXG5mcy9ubHMvbmxzX2NwNDM3LmM6MzY4Olx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL25sc19jcDQzNy5jLTM2OS1cdC5jaGFyMnVuaVx0PSBjaGFyMnVuaSxcbi0tXG5mcy9ubHMvbmxzX2NwNzM3LmM9MTk5PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyNVsyNTZdID0ge1xuLS1cbmZzL25scy9ubHNfY3A3MzcuYy0yMjMtXG5mcy9ubHMvbmxzX2NwNzM3LmM6MjI0OnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG5mcy9ubHMvbmxzX2NwNzM3LmMtMjI1LVx0cGFnZTAwLCBOVUxMLCAgIE5VTEwsICAgcGFnZTAzLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIFxuLS1cbmZzL25scy9ubHNfY3A3MzcuYz0yNjg9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xuLS1cbmZzL25scy9ubHNfY3A3MzcuYy0zMDMtXG5mcy9ubHMvbmxzX2NwNzM3LmM6MzA0OnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxuZnMvbmxzL25sc19jcDczNy5jLTMwNS17XG5mcy9ubHMvbmxzX2NwNzM3LmM6MzA2Olx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XG5mcy9ubHMvbmxzX2NwNzM3LmMtMzA3LVx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcdTAwMjYgMHgwMGZmO1xuLS1cbmZzL25scy9ubHNfY3A3MzcuYy0zMTItXG5mcy9ubHMvbmxzX2NwNzM3LmM6MzEzOlx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcbmZzL25scy9ubHNfY3A3MzcuYzozMTQ6XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbmZzL25scy9ubHNfY3A3MzcuYzozMTU6XHRcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcbmZzL25scy9ubHNfY3A3MzcuYy0zMTYtXHRlbHNlXG4tLVxuZnMvbmxzL25sc19jcDczNy5jPTMyOT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbmZzL25scy9ubHNfY3A3MzcuYy0zMzAtXHQuY2hhcnNldFx0PSBcJiMzNDtjcDczN1wmIzM0OyxcbmZzL25scy9ubHNfY3A3MzcuYzozMzE6XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG5mcy9ubHMvbmxzX2NwNzM3LmMtMzMyLVx0LmNoYXIydW5pXHQ9IGNoYXIydW5pLFxuLS1cbmZzL25scy9ubHNfY3A3NzUuYz0xNjg9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI1WzI1Nl0gPSB7XG4tLVxuZnMvbmxzL25sc19jcDc3NS5jLTE5Mi1cbmZzL25scy9ubHNfY3A3NzUuYzoxOTM6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcbmZzL25scy9ubHNfY3A3NzUuYy0xOTQtXHRwYWdlMDAsIHBhZ2UwMSwgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgXG4tLVxuZnMvbmxzL25sc19jcDc3NS5jPTIzNz1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XG4tLVxuZnMvbmxzL25sc19jcDc3NS5jLTI3Mi1cbmZzL25scy9ubHNfY3A3NzUuYzoyNzM6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXG5mcy9ubHMvbmxzX2NwNzc1LmMtMjc0LXtcbmZzL25scy9ubHNfY3A3NzUuYzoyNzU6XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbmZzL25scy9ubHNfY3A3NzUuYy0yNzYtXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFx1MDAyNiAweDAwZmY7XG4tLVxuZnMvbmxzL25sc19jcDc3NS5jLTI4MS1cbmZzL25scy9ubHNfY3A3NzUuYzoyODI6XHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xuZnMvbmxzL25sc19jcDc3NS5jOjI4MzpcdGlmICh1bmkyY2hhcnNldCBcdTAwMjZcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxuZnMvbmxzL25sc19jcDc3NS5jOjI4NDpcdFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xuZnMvbmxzL25sc19jcDc3NS5jLTI4NS1cdGVsc2Vcbi0tXG5mcy9ubHMvbmxzX2NwNzc1LmM9Mjk4PXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xuZnMvbmxzL25sc19jcDc3NS5jLTI5OS1cdC5jaGFyc2V0XHQ9IFwmIzM0O2NwNzc1XCYjMzQ7LFxuZnMvbmxzL25sc19jcDc3NS5jOjMwMDpcdC51bmkyY2hhclx0PSB1bmkyY2hhcixcbmZzL25scy9ubHNfY3A3NzUuYy0zMDEtXHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4tLVxuZnMvbmxzL25sc19jcDg1MC5jPTE2ND1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjVbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2NwODUwLmMtMTg4LVxuZnMvbmxzL25sc19jcDg1MC5jOjE4OTpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xuZnMvbmxzL25sc19jcDg1MC5jLTE5MC1cdHBhZ2UwMCwgcGFnZTAxLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBcbi0tXG5mcy9ubHMvbmxzX2NwODUwLmM9MjMzPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbi0tXG5mcy9ubHMvbmxzX2NwODUwLmMtMjY4LVxuZnMvbmxzL25sc19jcDg1MC5jOjI2OTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbmZzL25scy9ubHNfY3A4NTAuYy0yNzAte1xuZnMvbmxzL25sc19jcDg1MC5jOjI3MTpcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xuZnMvbmxzL25sc19jcDg1MC5jLTI3Mi1cdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbi0tXG5mcy9ubHMvbmxzX2NwODUwLmMtMjc3LVxuZnMvbmxzL25sc19jcDg1MC5jOjI3ODpcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG5mcy9ubHMvbmxzX2NwODUwLmM6Mjc5Olx0aWYgKHVuaTJjaGFyc2V0IFx1MDAyNlx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXG5mcy9ubHMvbmxzX2NwODUwLmM6MjgwOlx0XHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XG5mcy9ubHMvbmxzX2NwODUwLmMtMjgxLVx0ZWxzZVxuLS1cbmZzL25scy9ubHNfY3A4NTAuYz0yOTQ9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XG5mcy9ubHMvbmxzX2NwODUwLmMtMjk1LVx0LmNoYXJzZXRcdD0gXCYjMzQ7Y3A4NTBcJiMzNDssXG5mcy9ubHMvbmxzX2NwODUwLmM6Mjk2Olx0LnVuaTJjaGFyXHQ9IHVuaTJjaGFyLFxuZnMvbmxzL25sc19jcDg1MC5jLTI5Ny1cdC5jaGFyMnVuaVx0PSBjaGFyMnVuaSxcblxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE5LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MTI2MgoJCQkJCQkJb3V0cHV0OiA0MAoJCQkJCQkJdGhvdWdodHM6IDc2NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGb2N1c2luZyBvbiBDaGFyYWN0ZXIgRW5jb2Rpbmc6IHVuaTJjaGFyIGFuZCBpdHMgQ29udGV4dCoqCgpPa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duIHN5c3RlbWF0aWNhbGx5LiBJIG5lZWQgdG8gaWRlbnRpZnkgdGhlIGNydWNpYWwgZnVuY3Rpb25zIHJlbGF0ZWQgdG8gdGhlIGNoYXJhY3RlciBlbmNvZGluZyBjaGFuZ2VzLCBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIG1vZHVsZS4gRmlyc3QsIEkgd2FudGVkIHRvIGNvbmZpcm0gd2hpY2ggZnVuY3Rpb25zIGFyZSBldmVuIHByZXNlbnQsIGFuZCBJIHNlZTogYHVuaTJjaGFyYCwgYGNoYXIydW5pYCwgYGluaXRfbmxzX2lzbzg4NTlfMTRgLCBhbmQgYGV4aXRfbmxzX2lzbzg4NTlfMTRgLgoKTXkgaW1tZWRpYXRlIGZvY3VzIGlzIG9uIGhvdyBgcGFnZTAxYCBhbmQgYHBhZ2UxZWAsIHRoZSBkYXRhIHN0cnVjdHVyZXMgdGhhdCBzZWVtIHRvIGJlIHRoZSBmb2N1cyBvZiB0aGUgY2hhbmdlcywgYXJlIHV0aWxpemVkLiBJdCYjMzk7cyBxdWlja2x5IGFwcGFyZW50IHRoYXQgdGhlc2UgYXJlICpleGNsdXNpdmVseSogdXNlZCB3aXRoaW4gYHVuaTJjaGFyYCBhbmQgdGhlIGBwYWdlX3VuaTJjaGFyc2V0YCBhcnJheS4gTG9va2luZyBhdCB0aGUgY29kZSBmb3IgYHVuaTJjaGFyYCwgaXQmIzM5O3MgY2xlYXIgaXQgY29udmVydHMgYSBVbmljb2RlIGNoYXJhY3RlciAoYHVuaWApIHRvIGFuIElTTy04ODU5LTE0IGNoYXJhY3Rlci4gSWYgdGhlIGJvdW5kIGxlbmd0aCBpcyBpbmNvcnJlY3QsIGl0IHJldHVybnMgYW4gZXJyb3IuIEl0IGRvZXMgYSBzaW1wbGUgbG9va3VwIGluIGBwYWdlX3VuaTJjaGFyc2V0YCBiYXNlZCBvbiB0aGUgaGlnaCBhbmQgbG93IGJ5dGVzIG9mIHRoZSBVbmljb2RlIGNoYXJhY3Rlci4KCk5vdywgdGhpcyBpcyB3aGVyZSBpdCBnZXRzIGludGVyZXN0aW5nLiBBY2NvcmRpbmcgdG8gdGhlICYjMzQ7RVhUUkFDVElORyBGb2N1c1N5bWJvbHMmIzM0OyBzZWN0aW9uLCBJIHNob3VsZCBiZSB0YXJnZXRpbmcgc3BlY2lmaWMgZmVhdHVyZSBsb2dpYyBvciBlbnRyeXBvaW50cy4gVGhlIGtleSBpcyB0byAqYXZvaWQqIHViaXF1aXRvdXMgbGlmZWN5Y2xlIGZ1bmN0aW9ucyBhbmQgaW5zdGVhZCBwaW5wb2ludCB0aGUgY29kZSAqZGlyZWN0bHkqIGFmZmVjdGVkIGJ5IHRoZSBjaGFuZ2VzLiBgdW5pMmNoYXJgIHNlZW1zIHBlcmZlY3QuIEl0JiMzOTtzIHRoZSBjb3JlIGZ1bmN0aW9uIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlZCBkYXRhLCBgcGFnZTAxYCBhbmQgYHBhZ2UxZWAuIGBjaGFyMnVuaWAgaXMgYWxzbyBhbiBvYnZpb3VzIGNhbmRpZGF0ZSwgYXMgaXQgY29udmVydHMgSVNPLTg4NTktMTQgdG8gVW5pY29kZSBhbmQgdXRpbGl6ZXMgYGNoYXJzZXQydW5pYC4gYGluaXRfbmxzX2lzbzg4NTlfMTRgIGlzIHRoZSBmdW5jdGlvbiB0aGF0IHByZXN1bWFibHkgcmVnaXN0ZXJzIHRoZSB0YWJsZS4KClRoZSBjaGFsbGVuZ2Ugbm93IGlzIHRoZSBzdGF0aWMgbmF0dXJlIG9mIGB1bmkyY2hhcmAuIFdoaWxlIGl0JiMzOTtzIGRlY2xhcmVkIHN0YXRpYyBpbiB0aGUgYC5jYCBmaWxlLCB0aGUgY29tcGlsZXIsIGluIHRoZSBvYmplY3QgZmlsZSwgYW5kIGluIGthbGxzeW1zIGZvciB0aGUgbW9kdWxlLCBnZW5lcmF0ZXMgYSBzeW1ib2wgYHVuaTJjaGFyYCAob3Igc29tZXRoaW5nIHNpbWlsYXIgZGVwZW5kaW5nIG9uIG9wdGltaXphdGlvbikuIFRoaXMgbWVhbnMgdGhlIGZ1enplciBjYW4gc3RpbGwgYWNjZXNzIGl0IGlmIHRoZSBrZXJuZWwgbW9kdWxlIChubHNfaXNvODg1OV8xNC5rbykgaXMgYnVpbHQgYXMgYSBtb2R1bGUsIG9yIHdoZW4gYnVpbHQtaW4uCgpGaW5hbGx5LCBJIG5lZWQgdG8gY2hlY2sgZm9yIHBvdGVudGlhbCB3cmFwcGVyIGZ1bmN0aW9ucy4gQXJlIHRoZXJlIGFueSBwdWJsaWNseSBhY2Nlc3NpYmxlIGZ1bmN0aW9ucyBpbiBgZnMvbmxzL2AsIGBmcy9mYXQvYCwgb3IgYGluY2x1ZGUvbGludXgvbmxzLmhgIHRoYXQgKmNhbGwqIGB1bmkyY2hhcmA/IFRoaXMgd291bGQgZ2l2ZSBtZSBhbiBleHRlcm5hbCBlbnRyeSBwb2ludC4gQ2hlY2tpbmcgYGluY2x1ZGUvbGludXgvbmxzLmhgIHdvdWxkIGJlIHRoZSBvYnZpb3VzIG5leHQgc3RlcC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7dW5pMmNoYXJ8Y2hhcjJ1bml8bG9hZF9ubHMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtpbmNsdWRlL2xpbnV4L25scy5oJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvbmxzLmg9MjU9c3RydWN0IG5sc190YWJsZSB7XG4tLVxuaW5jbHVkZS9saW51eC9ubHMuaC0yNy1cdGNvbnN0IGNoYXIgKmFsaWFzO1xuaW5jbHVkZS9saW51eC9ubHMuaDoyODpcdGludCAoKnVuaTJjaGFyKSAod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKTtcbmluY2x1ZGUvbGludXgvbmxzLmg6Mjk6XHRpbnQgKCpjaGFyMnVuaSkgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJhd3N0cmluZywgaW50IGJvdW5kbGVuLFxuaW5jbHVkZS9saW51eC9ubHMuaC0zMC1cdFx0XHQgd2NoYXJfdCAqdW5pKTtcbi0tXG5pbmNsdWRlL2xpbnV4L25scy5oPTQ5PWV4dGVybiBpbnQgdW5yZWdpc3Rlcl9ubHMoc3RydWN0IG5sc190YWJsZSAqKTtcbmluY2x1ZGUvbGludXgvbmxzLmg6NTA6ZXh0ZXJuIHN0cnVjdCBubHNfdGFibGUgKmxvYWRfbmxzKGNvbnN0IGNoYXIgKmNoYXJzZXQpO1xuaW5jbHVkZS9saW51eC9ubHMuaDo1MTpleHRlcm4gdm9pZCB1bmxvYWRfbmxzKHN0cnVjdCBubHNfdGFibGUgKik7XG5pbmNsdWRlL2xpbnV4L25scy5oOjUyOmV4dGVybiBzdHJ1Y3QgbmxzX3RhYmxlICpsb2FkX25sc19kZWZhdWx0KHZvaWQpO1xuaW5jbHVkZS9saW51eC9ubHMuaC01My0jZGVmaW5lIHJlZ2lzdGVyX25scyhubHMpIF9fcmVnaXN0ZXJfbmxzKChubHMpLCBUSElTX01PRFVMRSlcbi0tXG5pbmNsdWRlL2xpbnV4L25scy5oPTk2PW5sc19udWxsc2l6ZShjb25zdCBzdHJ1Y3QgbmxzX3RhYmxlICpjb2RlcGFnZSlcbi0tXG5pbmNsdWRlL2xpbnV4L25scy5oLTEwMC1cbmluY2x1ZGUvbGludXgvbmxzLmg6MTAxOlx0Y2hhcmxlbiA9IGNvZGVwYWdlLVx1MDAzZXVuaTJjaGFyKDAsIHRtcCwgTkxTX01BWF9DSEFSU0VUX1NJWkUpO1xuaW5jbHVkZS9saW51eC9ubHMuaC0xMDItXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQzMDM4CgkJCQkJCQlvdXRwdXQ6IDE0NAoJCQkJCQkJdGhvdWdodHM6IDM4OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBbmFseXNpcyBvZiB0aGUgQ29uZmlndXJhdGlvbiBSZXF1aXJlbWVudHMqKgoKT2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93biBzeXN0ZW1hdGljYWxseS4gRmlyc3QsIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoaWNoIGNvbmZpZ3VyYXRpb25zIGFyZSBlc3NlbnRpYWwgZm9yIHRoaXMgc3BlY2lmaWMgdGFzaywgbGV0JiMzOTtzIGNhbGwgYEVuYWJsZUNvbmZpZ3NgLiBJJiMzOTtsbCBzdGFydCBieSBjaGVja2luZyB0aGUgcmVsZXZhbnQgS2NvbmZpZyBmaWxlLCBuYW1lbHkgYGZzL25scy9LY29uZmlnYC4gUmlnaHQgYXdheSwgSSBzZWUgdGhhdCBgTkxTYCBpcyB0aGUgcGFyZW50IGNvbmZpZywgY29udHJvbGxlZCB2aWEgbWVudWNvbmZpZy4gIFVuZGVyIGBOTFNgLCBJIGZpbmQgdGhlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gYE5MU19JU084ODU5XzE0YC4KClRoZXJlZm9yZSwgaXQmIzM5O3MgY2xlYXIgdGhhdCBJIG5lZWQgYm90aCBgTkxTYCBhbmQgYE5MU19JU084ODU5XzE0YC4gSSYjMzk7bGwgY29uZmlybSB0aGF0IHRoZXNlIHR3byBjb25maWd1cmF0aW9ucyBhcmUgaW5kZWVkIHRoZSBkaXJlY3Qga2VybmVsIG9wdGlvbnMgdGhhdCBnb3Zlcm4gdGhlIGNvbXBpbGF0aW9uIG9mIHRoZSBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIG1vZHVsZSwgZW5zdXJpbmcgaXQmIzM5O3MgYnVpbHQgaW50byB0aGUga2VybmVsLgoKTm93LCBsZXQmIzM5O3MgZG91YmxlLWNoZWNrIGFsbCByZXF1aXJlbWVudHMgdG8gYmUgYWJzb2x1dGVseSBzdXJlOgoKMS4gIGBXb3J0aEZ1enppbmdgIGlzIHNldCB0byBgdHJ1ZWAsIHdoaWNoIGlzIHNpZ25pZmljYW50IGJlY2F1c2UgdGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBjb3JlIG1hcHBpbmcgdGFibGVzIChgcGFnZTAxYCBhbmQgYHBhZ2UxZWApIHdpdGhpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgLiAgVGhlc2UgdGFibGVzIGFyZSBkaXJlY3RseSBpbnZvbHZlZCBpbiBmaWxlbmFtZSBjb252ZXJzaW9ucyBpbiBmaWxlc3lzdGVtcyBzdXBwb3J0aW5nIE5MUywgbGlrZSBGQVQgb3IgSVNPRlMuCjIuICBUaGUgYEZvY3VzU3ltYm9sc2AgYXJlIGVpdGhlciBgWyYjMzQ7dW5pMmNoYXImIzM0OywgJiMzNDtjaGFyMnVuaSYjMzQ7XWAgb3IganVzdCBgWyYjMzQ7dW5pMmNoYXImIzM0O11gLiBUaGUgZnVuY3Rpb24gYHVuaTJjaGFyYCB1c2VzIHRoZSBtb2RpZmllZCBgcGFnZTAxYCBhbmQgYHBhZ2UxZWAgdGFibGVzICh0aHJvdWdoIGBwYWdlX3VuaTJjaGFyc2V0YCksIGRpcmVjdGx5IGltcGFjdGluZyB0aGUgcG90ZW50aWFsIHZ1bG5lcmFiaWxpdHkuCjMuICBUaGUgYEVuYWJsZUNvbmZpZ3NgIGFyZSBleHBsaWNpdGx5IGBbJiMzNDtOTFMmIzM0OywgJiMzNDtOTFNfSVNPODg1OV8xNCYjMzQ7XWAsIHJlaW5mb3JjaW5nIHRoZSBuZWVkIGZvciB0aGVzZSBjb25maWd1cmF0aW9ucy4KNC4gIFRoZSByZWFzb25pbmcgcHJvdmlkZWQgaXMgY2xlYXIgYW5kIGNvbmNpc2UsIGNvbmZpcm1pbmcgbXkgdW5kZXJzdGFuZGluZy4KCldpdGggdGhpcyBjb21wbGV0ZSBhbmFseXNpcywgSSBhbSBjb25maWRlbnQgSSBjYW4gcHJvY2VlZCB3aXRoIHRoZSBuZXh0IHN0ZXAsIEkmIzM5O2xsIGNhbGwgYHNldC1yZXN1bHRzYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05MUyYjMzQ7LAogICAgJiMzNDtOTFNfSVNPODg1OV8xNCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3VuaTJjaGFyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNvcnJlY3RzIGNoYXJhY3RlciBtYXBwaW5nIGVudHJpZXMgaW4gdGhlIFVuaWNvZGUtdG8tSVNPLTg4NTktMTQgdGFibGVzIChwYWdlMDEgYW5kIHBhZ2UxZSkgaW4gZnMvbmxzL25sc19pc284ODU5LTE0LmMuIFRoZXNlIHRhYmxlcyBhcmUgdXNlZCBieSB1bmkyY2hhcigpIGR1cmluZyBmaWxlc3lzdGVtIGNoYXJhY3RlciBjb252ZXJzaW9uIG9wZXJhdGlvbnMgKGUuZy4gRkFULCBJU09GUyksIHJlcHJlc2VudGluZyByZWFjaGFibGUgY29kZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uIGNvcnJlY3RuZXNzIGFuZCBib3VuZGFyeSBzYWZldHkuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05MUyYjMzQ7LAogICAgJiMzNDtOTFNfSVNPODg1OV8xNCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3VuaTJjaGFyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNvcnJlY3RzIGNoYXJhY3RlciBtYXBwaW5nIGVudHJpZXMgaW4gdGhlIFVuaWNvZGUtdG8tSVNPLTg4NTktMTQgdGFibGVzIChwYWdlMDEgYW5kIHBhZ2UxZSkgaW4gZnMvbmxzL25sc19pc284ODU5LTE0LmMuIFRoZXNlIHRhYmxlcyBhcmUgdXNlZCBieSB1bmkyY2hhcigpIGR1cmluZyBmaWxlc3lzdGVtIGNoYXJhY3RlciBjb252ZXJzaW9uIG9wZXJhdGlvbnMgKGUuZy4gRkFULCBJU09GUyksIHJlcHJlc2VudGluZyByZWFjaGFibGUgY29kZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uIGNvcnJlY3RuZXNzIGFuZCBib3VuZGFyeSBzYWZldHkuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjMvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE0PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5JZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTQ8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+a21zYW4tZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Y29yZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtLTVNBTlJlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBzdGF0aWMgY29uc3RhbnQgbG9va3VwIHRhYmxlcyAoYHBhZ2UwMWAgYW5kIGBwYWdlMWVgKSBpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIHRvIGNvcnJlY3QgVW5pY29kZS10by1jaGFyc2V0IG1hcHBpbmcgZW50cmllcy4gXG5cblRoZXNlIHRhYmxlcyBhcmUgc3RhdGljIGNvbnN0IGFycmF5cyBvZiBmaXhlZCBzaXplICgyNTYgYnl0ZXMpIHBsYWNlZCBpbiByZWFkLW9ubHkgZGF0YSAoLnJvZGF0YSkuIE5vIGR5bmFtaWMgbWVtb3J5IGFsbG9jYXRpb24sIHN0YWNrIHZhcmlhYmxlcywga2VybmVsLXRvLXVzZXIgY29weSBvcGVyYXRpb25zLCBvciB1bmluaXRpYWxpemVkIG1lbW9yeSBwYXRocyBhcmUgaW50cm9kdWNlZCBvciBtb2RpZmllZC4gVGhlcmVmb3JlLCB0aGVyZSBhcmUgbm8gdW5pbml0aWFsaXplZCBtZW1vcnkgcmlza3MsIGFuZCBhIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaXMgbm90IHdhcnJhbnRlZC4mIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgc2VjdXJpdHkgZW5naW5lZXIgc3BlY2lhbGl6aW5nIGluIGtlcm5lbCBtZW1vcnkKZXJyb3IgZGV0ZWN0b3JzIChLQVNBTiBhbmQgS01TQU4pLiBZb3VyIGpvYiBpcyB0byByZXZpZXcgdGhlIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQKZGV0ZXJtaW5lIGlmIHRoZSBjb2RlIGNoYW5nZXMganVzdGlmeSBzcGF3bmluZyBhIGRlZGljYXRlZCBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKQpmdXp6aW5nIHNlc3Npb24gaW4gYWRkaXRpb24gdG8gc3RhbmRhcmQgS0FTQU4gZnV6emluZy4KCkNSSVRJQ0FMIERJU1RJTkNUSU9OIEJFVFdFRU4gS0FTQU4gQU5EIEtNU0FOOgotIFN0YW5kYXJkIEtBU0FOIGtlcm5lbCBidWlsZHMgKHVwc3RyZWFtLWFwcGFybW9yLWthc2FuLmNvbmZpZykgYWxyZWFkeSBlbmFibGUKICBhIGNvbXByZWhlbnNpdmUgc3VpdGUgb2YgZGVidWdnaW5nIHRvb2xzIGFuZCBzYW5pdGl6ZXJzLCBpbmNsdWRpbmcgS0FTQU4KICAob3V0LW9mLWJvdW5kcyBhY2Nlc3NlcywgdXNlLWFmdGVyLWZyZWUsIGRvdWJsZSBmcmVlLCBpbnZhbGlkIGZyZWUpLCBMT0NLREVQCiAgKGxvY2tpbmcgYnVncyBhbmQgZGVhZGxvY2tzKSwgVUItc2FuaXRpemVycywgYW5kIG1lbW9yeSBjb3JydXB0aW9uIGNoZWNrcy4KLSBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKSBkZXRlY3RzIHJlYWRzIG9mIFVOSU5JVElBTElaRUQgbWVtb3J5IChzdGFjaywgaGVhcCwKICBvciBwYWdlIGFsbG9jYXRpb25zKSBhbmQga2VybmVsLXRvLXVzZXIgbWVtb3J5IGluZm8tbGVha3MuCgpSdWxlOiBUSEVSRSBJUyBOTyBTRU5TRSBJTiBSVU5OSU5HIEEgS01TQU4gU0VTU0lPTiBJRiBBIEJVRyBDQU4gQkUgQ0FVR0hUIEJZIEtBU0FOLApMT0NLREVQLCBPUiBPVEhFUiBTVEFOREFSRCBCVUcgREVURUNUT1JTLgpBIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaW5jdXJzIHNpZ25pZmljYW50IHJlc291cmNlIGNvc3RzLiBZb3UgbXVzdCBPTkxZCnNldCBOZWVkc0tNU0FOPXRydWUgaWYgdGhlIGNvZGUgY2hhbmdlcyBpbnRyb2R1Y2Ugb3IgZXhwb3NlIFVOSU5JVElBTElaRUQgTUVNT1JZIHJpc2tzCnRoYXQgYXJlIGRldGVjdGVkIE9OTFkgYnkgS01TQU4uCgpMb29rIGhvbGlzdGljYWxseSBhdCB0aGUgcGF0Y2ggc2VyaWVzIGFuZCBzdXJyb3VuZGluZyBjb2RlLiBFdmVuIGlmIG5vIGRpcmVjdAp1bmluaXRpYWxpemVkIGZpZWxkIGFjY2Vzc2VzIG9yIG5ldyBidWZmZXIgYWxsb2NhdGlvbnMgYXJlIGFkZGVkIGluIHRoZSBkaWZmIGl0c2VsZiwKYSBwYXRjaCBtYXkgYWx0ZXIgY29udHJvbCBmbG93LCBib3VuZHMgY2hlY2tpbmcsIG9yIGRhdGEgbGVuZ3RoIGNhbGN1bGF0aW9ucyBpbiB3YXlzCnRoYXQgY2hhbmdlIGhvdyB0aGUgcmVzdCBvZiB0aGUgY29kZSBvcGVyYXRlcyBvbiBleGlzdGluZyBidWZmZXJzIChlLmcuIGFsbG93aW5nCnVuaW5pdGlhbGl6ZWQgc3RhY2svaGVhcCBtZW1vcnkgdG8gYmUgcmVhZCwgY29waWVkIHRvIHVzZXIgc3BhY2UsIG9yIHVzZWQgaW4gY29udHJvbApmbG93KS4gRG8gbm90IGhlc2l0YXRlIHRvIHVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGluc3BlY3QgdGhlIHN1cnJvdW5kaW5nIGNvZGUsCmNhbGxlZCBmdW5jdGlvbnMsIGFuZCBjYWxsZXJzLgoKU2V0IE5lZWRzS01TQU49dHJ1ZSBPTkxZIElGIHRoZSBwYXRjaCBpbnRyb2R1Y2VzIG9yIG1vZGlmaWVzOgoxLiBLZXJuZWwgc3RydWN0dXJlcyBzZW50IHRvIHVzZXIgc3BhY2UgKHZpYSBjb3B5X3RvX3VzZXIsIHB1dF91c2VyLCBuZXRsaW5rIHNrYgogICBhdHRyaWJ1dGVzLCBpb2N0bCBvdXRwdXQgYXJndW1lbnRzLCBzb2NrZXQgb3B0aW9ucywgb3IgQlBGIGJ1ZmZlcnMpIHdoZXJlIGZpZWxkcwogICBvciBzdHJ1Y3R1cmUgcGFkZGluZyBtaWdodCBub3QgYmUgZnVsbHkgaW5pdGlhbGl6ZWQvemVyb2VkLgoyLiBDb25kaXRpb25hbCBsb2dpYyBvciBicmFuY2hpbmcgdGhhdCBkZXBlbmRzIG9uIHBvdGVudGlhbGx5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzCiAgIG9yIHN0cnVjdCBmaWVsZHMuCjMuIEFsbG9jYXRpb24gb3IgaW5pdGlhbGl6YXRpb24gb2YgY29tcGxleCBkYXRhIHN0cnVjdHVyZXMgd2hlcmUgdW5pbml0aWFsaXplZCBmaWVsZHMKICAgY291bGQgYmUgcmVhZCBsYXRlciBpbiByZWFjaGFibGUgY29kZSBwYXRocy4KNC4gQm91bmRzIGNoZWNrcywgbGVuZ3Rocywgb3IgbG9naWMgaW4gYSB3YXkgdGhhdCBhbGxvd3Mgc3Vycm91bmRpbmcgY29kZSB0byBhY2Nlc3MKICAgdW5pbml0aWFsaXplZCBieXRlcyBvZiBleGlzdGluZyBidWZmZXJzLgoKU2V0IE5lZWRzS01TQU49ZmFsc2UgSUY6Ci0gVGhlIGNvZGUgY2hhbmdlcyBwcmltYXJpbHkgcmlzayBvdXQtb2YtYm91bmRzIGFjY2VzcywgYXJyYXkgb3ZlcmZsb3dzLCBOVUxMIHBvaW50ZXIKICBkZXJlZmVyZW5jZXMsIGxvY2tpbmcgZGVhZGxvY2tzLCBvciB1c2UtYWZ0ZXItZnJlZSBidWdzICh0aGVzZSBhcmUgYWxyZWFkeSBjYXVnaHQKICBieSBLQVNBTiwgTE9DS0RFUCwgb3Igc3RhbmRhcmQgYnVnIGRldGVjdG9ycykuCi0gQWxsIHN0YWNrL2hlYXAgc3RydWN0dXJlcyB0b3VjaGVkIG9yIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIGFyZSBmdWxseSB6ZXJvZWQKICBvciBpbml0aWFsaXplZCAoZS5nLiB1c2luZyA9IHswfSwgbWVtc2V0LCBremFsbG9jKSBiZWZvcmUgYmVpbmcgcmVhZCBvciBjb3BpZWQuCi0gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBhbnkgcmlzayBvZiB1bmluaXRpYWxpemVkIG1lbW9yeSB1c2FnZSBvciBpbmZvLWxlYWtzLgoKVXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gaW5zcGVjdCB0aGUgc3Vycm91bmRpbmcgY29kZSBpZiBuZWNlc3NhcnksIHRoZW4gcHJvdmlkZQpkZXRhaWxlZCBLTVNBTlJlYXNvbmluZyBjb250cmFzdGluZyBLQVNBTiB2cyBLTVNBTiBhcHBsaWNhYmlsaXR5IGZvciB0aGlzIHBhdGNoLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPlRhcmdldCBhcmNoaXRlY3R1cmU6IGFtZDY0CgpGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDIzNjc4M2MyNWVkOGZmOTRkYTVjN2ZmMWU1MmMxNTdhMjgzOTQ2MTAKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIFNlcCA5IDEzOjEzOjQ5IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZnMvbmxzL25sc19pc284ODU5LTE0LmMgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYwppbmRleCBjNzg5ZWNjYjhhNjk1Li42MGI5NDAwZjkxNWFmIDEwMDY0NAotLS0gYS9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYwomIzQzOyYjNDM7JiM0MzsgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYwpAQCAtMTM4LDI0ICYjNDM7MTM4LDIzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0gewogfTsKIAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7Ci0JMHgwMCwgMHgwMCwgMHhhMSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovCi0JMHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqLwomIzQzOwkweDAwLCAweDAwLCAweGE0LCAweGE1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi8KLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi8KJiM0MzsJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxOC0weDFmICovCiAJMHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovCi0JMHhiNCwgMHhiNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqLwogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDgtMHg0ZiAqLwotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjcsIDB4YjksIC8qIDB4NTAtMHg1NyAqLwomIzQzOwkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDUwLTB4NTcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDU4LTB4NWYgKi8KLQkweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi8KLQkweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi8KJiM0MzsJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqLwogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqLwogCTB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqLwotCQotCTB4YTgsIDB4YjgsIDB4YWEsIDB4YmEsIDB4YmQsIDB4YmUsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqLwomIzQzOwkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDk4LTB4OWYgKi8KQEAgLTE2OSw3ICYjNDM7MTY4LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7CiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlMC0weGU3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlOC0weGVmICovCi0JMHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqLwogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjgtMHhmZiAqLwogfTsKIApAQCAtMTc4LDcgJiM0MzsxNzcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMWVbMjU2XSA9IHsKIAkweDAwLCAweDAwLCAweGE2LCAweGFiLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi8KLQkweGIyLCAweGIzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi8KJiM0MzsJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovCiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovCkBAIC0xODgsOSAmIzQzOzE4Nyw4IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0gewogCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqLwogCTB4YmIsIDB4YmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqLwogCTB4MDAsIDB4MDAsIDB4ZDcsIDB4ZjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqLwotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqLwotCTB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqLwotCiYjNDM7CTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzAtMHg3NyAqLwomIzQzOwkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi8KIAkweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi8KIAkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi8KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjUvMzwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5rbXNhbi1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDUyOTkKCQkJCQkJCW91dHB1dDogNDUKCQkJCQkJCXRob3VnaHRzOiA0NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgcHJlc2VudGVkIGFzIGEgcGVyc29uYWwgdGhvdWdodCBwcm9jZXNzLCBhcyByZXF1ZXN0ZWQ6CgoqKktNU0FOIEZ1enppbmcgRGV0ZXJtaW5hdGlvbioqCgpBbHJpZ2h0LCB0aW1lIHRvIGRpdmUgaW4uIEZpcnN0LCBsZXQmIzM5O3MgYXNzZXNzIHRoaXMgcGF0Y2guIFRoZSBxdWVzdGlvbiBpczogZG9lcyB0aGlzIGNoYW5nZSB3YXJyYW50IGl0cyBvd24gZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgcnVuPyBJIG5lZWQgdG8gcXVpY2tseSBkZXRlcm1pbmUgdGhlIHJpc2sgcHJvZmlsZSBoZXJlLiBJJiMzOTtsbCBuZWVkIHRvIGNvbnNpZGVyIHdoYXQgYXJlYXMgb2YgdGhlIGtlcm5lbCBhcmUgYmVpbmcgbW9kaWZpZWQsIGhvdyBkZWVwbHkgdGhleSYjMzk7cmUgaW50ZWdyYXRlZCwgYW5kIGlmIHRoZXJlIGFyZSBhbnkgb2J2aW91cyAmIzM0O2dvdGNoYXMmIzM0OyB0aGF0IEtNU0FOIHdvdWxkIGJlIHBhcnRpY3VsYXJseSBnb29kIGF0IGNhdGNoaW5nLiBJdCYjMzk7cyBhIHJpc2sgYXNzZXNzbWVudCByaWdodCBvZmYgdGhlIGJhdC4KClNwZWNpZmljYWxseSwgSSYjMzk7bSBnb2luZyB0byB0YWtlIGEgbG9vayBhdCB0aGUgZmlsZSBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgLiBUaGlzIGlzIHdoZXJlIEkmIzM5O2xsIGJlZ2luIG15IGludmVzdGlnYXRpb24uIFRoaXMgY29kZSB3aWxsIGdpdmUgbWUgYSBnb29kIGlkZWEgb2Ygd2hhdCYjMzk7cyBiZWluZyBjaGFuZ2VkIGFuZCB3aGF0IHR5cGUgb2YgZGF0YSBpcyBiZWluZyBoYW5kbGVkLiBUaGUgZmlsZSBuYW1lIGFsb25lIGhpbnRzIGF0IGNoYXJhY3RlciBzZXQgY29udmVyc2lvbiwgYW5kIHRoYXQmIzM5O3Mgb2Z0ZW4gYSBzb3VyY2Ugb2YgbWVtb3J5IGNvcnJ1cHRpb24gYnVncy4gVGhpcyBpcyBhIHBvdGVudGlhbCBob3Qtc3BvdCBmb3IgS01TQU4sIGFuZCBzbyBpdCYjMzk7cyBhIGdvb2QgcGxhY2UgdG8gc3RhcnQgbXkgYW5hbHlzaXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjYvMzwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7ZnMvbmxzL25sc19pc284ODU5LTE0LmMmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAxLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDEwMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgICAxOlx0LypcbiAgIDI6XHQgKiBsaW51eC9mcy9ubHMvbmxzX2lzbzg4NTktMTQuY1xuICAgMzpcdCAqXG4gICA0Olx0ICogQ2hhcnNldCBpc284ODU5LTE0IHRyYW5zbGF0aW9uIHRhYmxlcy5cbiAgIDU6XHQgKlxuICAgNjpcdCAqIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIFVuaWNvZGUgYW5kIGNoYXJzZXQgdGFibGVcbiAgIDc6XHQgKiBwcm92aWRlZCBieSB0aGUgVW5pY29kZSBPcmdhbmlzYXRpb24gYXRcbiAgIDg6XHQgKiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1xuICAgOTpcdCAqIFRoZSBVbmljb2RlIHRvIGNoYXJzZXQgdGFibGUgaGFzIG9ubHkgZXhhY3QgbWFwcGluZ3MuXG4gIDEwOlx0ICpcbiAgMTE6XHQgKiBSaHlzIEpvbmVzLCBTd2Fuc2VhIFVuaXZlcnNpdHkgQ29tcHV0ZXIgU29jaWV0eVxuICAxMjpcdCAqIHJoeXNAc3Vjcy5zd2FuLmFjLnVrXG4gIDEzOlx0ICovXG4gIDE0Olx0XG4gIDE1Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvbW9kdWxlLmhcdTAwM2VcbiAgMTY6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9rZXJuZWwuaFx1MDAzZVxuICAxNzpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L3N0cmluZy5oXHUwMDNlXG4gIDE4Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvbmxzLmhcdTAwM2VcbiAgMTk6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJuby5oXHUwMDNlXG4gIDIwOlx0XG4gIDIxOlx0c3RhdGljIGNvbnN0IHdjaGFyX3QgY2hhcnNldDJ1bmlbMjU2XSA9IHtcbiAgMjI6XHRcdC8qIDB4MDAqL1xuICAyMzpcdFx0MHgwMDAwLCAweDAwMDEsIDB4MDAwMiwgMHgwMDAzLCBcbiAgMjQ6XHRcdDB4MDAwNCwgMHgwMDA1LCAweDAwMDYsIDB4MDAwNywgXG4gIDI1Olx0XHQweDAwMDgsIDB4MDAwOSwgMHgwMDBhLCAweDAwMGIsIFxuICAyNjpcdFx0MHgwMDBjLCAweDAwMGQsIDB4MDAwZSwgMHgwMDBmLCBcbiAgMjc6XHRcdC8qIDB4MTAqL1xuICAyODpcdFx0MHgwMDEwLCAweDAwMTEsIDB4MDAxMiwgMHgwMDEzLCBcbiAgMjk6XHRcdDB4MDAxNCwgMHgwMDE1LCAweDAwMTYsIDB4MDAxNywgXG4gIDMwOlx0XHQweDAwMTgsIDB4MDAxOSwgMHgwMDFhLCAweDAwMWIsIFxuICAzMTpcdFx0MHgwMDFjLCAweDAwMWQsIDB4MDAxZSwgMHgwMDFmLCBcbiAgMzI6XHRcdC8qIDB4MjAqL1xuICAzMzpcdFx0MHgwMDIwLCAweDAwMjEsIDB4MDAyMiwgMHgwMDIzLCBcbiAgMzQ6XHRcdDB4MDAyNCwgMHgwMDI1LCAweDAwMjYsIDB4MDAyNywgXG4gIDM1Olx0XHQweDAwMjgsIDB4MDAyOSwgMHgwMDJhLCAweDAwMmIsIFxuICAzNjpcdFx0MHgwMDJjLCAweDAwMmQsIDB4MDAyZSwgMHgwMDJmLCBcbiAgMzc6XHRcdC8qIDB4MzAqL1xuICAzODpcdFx0MHgwMDMwLCAweDAwMzEsIDB4MDAzMiwgMHgwMDMzLCBcbiAgMzk6XHRcdDB4MDAzNCwgMHgwMDM1LCAweDAwMzYsIDB4MDAzNywgXG4gIDQwOlx0XHQweDAwMzgsIDB4MDAzOSwgMHgwMDNhLCAweDAwM2IsIFxuICA0MTpcdFx0MHgwMDNjLCAweDAwM2QsIDB4MDAzZSwgMHgwMDNmLCBcbiAgNDI6XHRcdC8qIDB4NDAqL1xuICA0MzpcdFx0MHgwMDQwLCAweDAwNDEsIDB4MDA0MiwgMHgwMDQzLCBcbiAgNDQ6XHRcdDB4MDA0NCwgMHgwMDQ1LCAweDAwNDYsIDB4MDA0NywgXG4gIDQ1Olx0XHQweDAwNDgsIDB4MDA0OSwgMHgwMDRhLCAweDAwNGIsIFxuICA0NjpcdFx0MHgwMDRjLCAweDAwNGQsIDB4MDA0ZSwgMHgwMDRmLCBcbiAgNDc6XHRcdC8qIDB4NTAqL1xuICA0ODpcdFx0MHgwMDUwLCAweDAwNTEsIDB4MDA1MiwgMHgwMDUzLCBcbiAgNDk6XHRcdDB4MDA1NCwgMHgwMDU1LCAweDAwNTYsIDB4MDA1NywgXG4gIDUwOlx0XHQweDAwNTgsIDB4MDA1OSwgMHgwMDVhLCAweDAwNWIsIFxuICA1MTpcdFx0MHgwMDVjLCAweDAwNWQsIDB4MDA1ZSwgMHgwMDVmLCBcbiAgNTI6XHRcdC8qIDB4NjAqL1xuICA1MzpcdFx0MHgwMDYwLCAweDAwNjEsIDB4MDA2MiwgMHgwMDYzLCBcbiAgNTQ6XHRcdDB4MDA2NCwgMHgwMDY1LCAweDAwNjYsIDB4MDA2NywgXG4gIDU1Olx0XHQweDAwNjgsIDB4MDA2OSwgMHgwMDZhLCAweDAwNmIsIFxuICA1NjpcdFx0MHgwMDZjLCAweDAwNmQsIDB4MDA2ZSwgMHgwMDZmLCBcbiAgNTc6XHRcdC8qIDB4NzAqL1xuICA1ODpcdFx0MHgwMDcwLCAweDAwNzEsIDB4MDA3MiwgMHgwMDczLCBcbiAgNTk6XHRcdDB4MDA3NCwgMHgwMDc1LCAweDAwNzYsIDB4MDA3NywgXG4gIDYwOlx0XHQweDAwNzgsIDB4MDA3OSwgMHgwMDdhLCAweDAwN2IsIFxuICA2MTpcdFx0MHgwMDdjLCAweDAwN2QsIDB4MDA3ZSwgMHgwMDdmLCBcbiAgNjI6XHRcdC8qIDB4ODAqL1xuICA2MzpcdFx0MHgwMDgwLCAweDAwODEsIDB4MDA4MiwgMHgwMDgzLFxuICA2NDpcdFx0MHgwMDg0LCAweDAwODUsIDB4MDA4NiwgMHgwMDg3LFxuICA2NTpcdFx0MHgwMDg4LCAweDAwODksIDB4MDA4YSwgMHgwMDhiLFxuICA2NjpcdFx0MHgwMDhjLCAweDAwOGQsIDB4MDA4ZSwgMHgwMDhmLFxuICA2NzpcdFx0LyogMHg5MCovXG4gIDY4Olx0XHQweDAwOTAsIDB4MDA5MSwgMHgwMDkyLCAweDAwOTMsXG4gIDY5Olx0XHQweDAwOTQsIDB4MDA5NSwgMHgwMDk2LCAweDAwOTcsXG4gIDcwOlx0XHQweDAwOTgsIDB4MDA5OSwgMHgwMDlhLCAweDAwOWIsXG4gIDcxOlx0XHQweDAwOWMsIDB4MDA5ZCwgMHgwMDllLCAweDAwOWYsXG4gIDcyOlx0XHQvKiAweGEwKi9cbiAgNzM6XHRcdDB4MDBhMCwgMHgxZTAyLCAweDFlMDMsIDB4MDBhMywgXG4gIDc0Olx0XHQweDAxMGEsIDB4MDEwYiwgMHgxZTBhLCAweDAwYTcsIFxuICA3NTpcdFx0MHgxZTgwLCAweDAwYTksIDB4MWU4MiwgMHgxZTBiLCBcbiAgNzY6XHRcdDB4MWVmMiwgMHgwMGFkLCAweDAwYWUsIDB4MDE3OCwgXG4gIDc3Olx0XHQvKiAweGIwKi9cbiAgNzg6XHRcdDB4MWUxZSwgMHgxZTFmLCAweDAxMjAsIDB4MDEyMSwgXG4gIDc5Olx0XHQweDFlNDAsIDB4MWU0MSwgMHgwMGI2LCAweDFlNTYsIFxuICA4MDpcdFx0MHgxZTgxLCAweDFlNTcsIDB4MWU4MywgMHgxZTYwLCBcbiAgODE6XHRcdDB4MWVmMywgMHgxZTg0LCAweDFlODUsIDB4MWU2MSwgXG4gIDgyOlx0XHQvKiAweGMwKi9cbiAgODM6XHRcdDB4MDBjMCwgMHgwMGMxLCAweDAwYzIsIDB4MDBjMywgXG4gIDg0Olx0XHQweDAwYzQsIDB4MDBjNSwgMHgwMGM2LCAweDAwYzcsIFxuICA4NTpcdFx0MHgwMGM4LCAweDAwYzksIDB4MDBjYSwgMHgwMGNiLCBcbiAgODY6XHRcdDB4MDBjYywgMHgwMGNkLCAweDAwY2UsIDB4MDBjZiwgXG4gIDg3Olx0XHQvKiAweGQwKi9cbiAgODg6XHRcdDB4MDE3NCwgMHgwMGQxLCAweDAwZDIsIDB4MDBkMywgXG4gIDg5Olx0XHQweDAwZDQsIDB4MDBkNSwgMHgwMGQ2LCAweDFlNmEsIFxuICA5MDpcdFx0MHgwMGQ4LCAweDAwZDksIDB4MDBkYSwgMHgwMGRiLCBcbiAgOTE6XHRcdDB4MDBkYywgMHgwMGRkLCAweDAxNzYsIDB4MDBkZiwgXG4gIDkyOlx0XHQvKiAweGUwKi9cbiAgOTM6XHRcdDB4MDBlMCwgMHgwMGUxLCAweDAwZTIsIDB4MDBlMywgXG4gIDk0Olx0XHQweDAwZTQsIDB4MDBlNSwgMHgwMGU2LCAweDAwZTcsIFxuICA5NTpcdFx0MHgwMGU4LCAweDAwZTksIDB4MDBlYSwgMHgwMGViLCBcbiAgOTY6XHRcdDB4MDBlYywgMHgwMGVkLCAweDAwZWUsIDB4MDBlZiwgXG4gIDk3Olx0XHQvKiAweGYwKi9cbiAgOTg6XHRcdDB4MDE3NSwgMHgwMGYxLCAweDAwZjIsIDB4MDBmMywgXG4gIDk5Olx0XHQweDAwZjQsIDB4MDBmNSwgMHgwMGY2LCAweDFlNmIsIFxuIDEwMDpcdFx0MHgwMGY4LCAweDAwZjksIDB4MDBmYSwgMHgwMGZiLCBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yNy8zPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPmttc2FuLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogODQ4MwoJCQkJCQkJb3V0cHV0OiA0NwoJCQkJCQkJdGhvdWdodHM6IDI3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCBhc3N1bWluZyBJJiMzOTttIGFscmVhZHkgZGVlcCBpbiB0aGUgd2VlZHMgb2YgZmlsZXN5c3RlbSBjb2RlOgoKKipEaXZpbmcgaW50byB0aGUgSVNPLTg4NTktMTQgSW1wbGVtZW50YXRpb24qKgoKQWxyaWdodCwgdGltZSB0byBkaWcgZGVlcGVyLiBJJiMzOTt2ZSBiZWVuIHdvcmtpbmcgd2l0aCB0aGUgZmlsZXN5c3RlbSBjb2RlIGFuZCBub3cgSSBuZWVkIHRvIG1vdmUgb24gdG8gdGhlIGBmcy9ubHMvYCBkaXJlY3RvcnksIHNwZWNpZmljYWxseSBmb2N1c2luZyBvbiB0aGUgYG5sc19pc284ODU5LTE0LmNgIGZpbGUuIEkmIzM5O20gYXNzdW1pbmcgaXQmIzM5O3MgaGFuZGxpbmcgdGhlIGNoYXJhY3RlciBzZXQgY29udmVyc2lvbiBmb3IgSVNPLTg4NTktMTQsIGxpa2VseSBmb3IgZmlsZXN5c3RlbSBvcGVyYXRpb25zLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIHN5c3RlbSB0cmFuc2xhdGVzIGJldHdlZW4gVW5pY29kZSBhbmQgdGhpcyBzcGVjaWZpYyBlbmNvZGluZy4gTGV0JiMzOTtzIGdldCByZWFkaW5nIGFuZCBzZWUgd2hhdCYjMzk7cyB3aGF0LiBJJiMzOTttIGV4cGVjdGluZyB0byBmaW5kIHRoZSBjaGFyYWN0ZXIgbWFwcGluZyB0YWJsZXMsIHByb2JhYmx5IHNvbWUgY29udmVyc2lvbiBmdW5jdGlvbnMsIGFuZCBsaWtlbHkgc29tZSBlcnJvciBoYW5kbGluZy4gVGltZSB0byBkaXZlIGluIGFuZCBnZXQgYSBncmlwIG9uIGhvdyB0aGlzIHNwZWNpZmljIGVuY29kaW5nIGlzIHN1cHBvcnRlZCBhdCBhIGxvdyBsZXZlbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yOC8zPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMTM6MTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtmcy9ubHMvbmxzX2lzbzg4NTktMTQuYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEwMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxNTAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDEwMTpcdFx0MHgwMGZjLCAweDAwZmQsIDB4MDE3NywgMHgwMGZmLCBcbiAxMDI6XHR9O1xuIDEwMzpcdFxuIDEwNDpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0ge1xuIDEwNTpcdFx0MHgwMCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwNSwgMHgwNiwgMHgwNywgLyogMHgwMC0weDA3ICovXG4gMTA2Olx0XHQweDA4LCAweDA5LCAweDBhLCAweDBiLCAweDBjLCAweDBkLCAweDBlLCAweDBmLCAvKiAweDA4LTB4MGYgKi9cbiAxMDc6XHRcdDB4MTAsIDB4MTEsIDB4MTIsIDB4MTMsIDB4MTQsIDB4MTUsIDB4MTYsIDB4MTcsIC8qIDB4MTAtMHgxNyAqL1xuIDEwODpcdFx0MHgxOCwgMHgxOSwgMHgxYSwgMHgxYiwgMHgxYywgMHgxZCwgMHgxZSwgMHgxZiwgLyogMHgxOC0weDFmICovXG4gMTA5Olx0XHQweDIwLCAweDIxLCAweDIyLCAweDIzLCAweDI0LCAweDI1LCAweDI2LCAweDI3LCAvKiAweDIwLTB4MjcgKi9cbiAxMTA6XHRcdDB4MjgsIDB4MjksIDB4MmEsIDB4MmIsIDB4MmMsIDB4MmQsIDB4MmUsIDB4MmYsIC8qIDB4MjgtMHgyZiAqL1xuIDExMTpcdFx0MHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgLyogMHgzMC0weDM3ICovXG4gMTEyOlx0XHQweDM4LCAweDM5LCAweDNhLCAweDNiLCAweDNjLCAweDNkLCAweDNlLCAweDNmLCAvKiAweDM4LTB4M2YgKi9cbiAxMTM6XHRcdDB4NDAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NDAtMHg0NyAqL1xuIDExNDpcdFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg0OC0weDRmICovXG4gMTE1Olx0XHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDUwLTB4NTcgKi9cbiAxMTY6XHRcdDB4NTgsIDB4NTksIDB4NWEsIDB4NWIsIDB4NWMsIDB4NWQsIDB4NWUsIDB4NWYsIC8qIDB4NTgtMHg1ZiAqL1xuIDExNzpcdFx0MHg2MCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NywgLyogMHg2MC0weDY3ICovXG4gMTE4Olx0XHQweDY4LCAweDY5LCAweDZhLCAweDZiLCAweDZjLCAweDZkLCAweDZlLCAweDZmLCAvKiAweDY4LTB4NmYgKi9cbiAxMTk6XHRcdDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsIC8qIDB4NzAtMHg3NyAqL1xuIDEyMDpcdFx0MHg3OCwgMHg3OSwgMHg3YSwgMHg3YiwgMHg3YywgMHg3ZCwgMHg3ZSwgMHg3ZiwgLyogMHg3OC0weDdmICovXG4gMTIxOlx0XG4gMTIyOlx0XHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cbiAxMjM6XHRcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xuIDEyNDpcdFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXG4gMTI1Olx0XHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cbiAxMjY6XHRcdDB4YTAsIDB4MDAsIDB4MDAsIDB4YTMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xuIDEyNzpcdFx0MHgwMCwgMHhhOSwgMHgwMCwgMHgwMCwgMHgwMCwgMHhhZCwgMHhhZSwgMHgwMCwgLyogMHhhOC0weGFmICovXG4gMTI4Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGI2LCAweDAwLCAvKiAweGIwLTB4YjcgKi9cbiAxMjk6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjgtMHhiZiAqL1xuIDEzMDpcdFx0MHhjMCwgMHhjMSwgMHhjMiwgMHhjMywgMHhjNCwgMHhjNSwgMHhjNiwgMHhjNywgLyogMHhjMC0weGM3ICovXG4gMTMxOlx0XHQweGM4LCAweGM5LCAweGNhLCAweGNiLCAweGNjLCAweGNkLCAweGNlLCAweGNmLCAvKiAweGM4LTB4Y2YgKi9cbiAxMzI6XHRcdDB4MDAsIDB4ZDEsIDB4ZDIsIDB4ZDMsIDB4ZDQsIDB4ZDUsIDB4ZDYsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xuIDEzMzpcdFx0MHhkOCwgMHhkOSwgMHhkYSwgMHhkYiwgMHhkYywgMHhkZCwgMHgwMCwgMHhkZiwgLyogMHhkOC0weGRmICovXG4gMTM0Olx0XHQweGUwLCAweGUxLCAweGUyLCAweGUzLCAweGU0LCAweGU1LCAweGU2LCAweGU3LCAvKiAweGUwLTB4ZTcgKi9cbiAxMzU6XHRcdDB4ZTgsIDB4ZTksIDB4ZWEsIDB4ZWIsIDB4ZWMsIDB4ZWQsIDB4ZWUsIDB4ZWYsIC8qIDB4ZTgtMHhlZiAqL1xuIDEzNjpcdFx0MHgwMCwgMHhmMSwgMHhmMiwgMHhmMywgMHhmNCwgMHhmNSwgMHhmNiwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gMTM3Olx0XHQweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweGZkLCAweDAwLCAweGZmLCAvKiAweGY4LTB4ZmYgKi9cbiAxMzg6XHR9O1xuIDEzOTpcdFxuIDE0MDpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMVsyNTZdID0ge1xuIDE0MTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovXG4gMTQyOlx0XHQweDAwLCAweDAwLCAweGE0LCAweGE1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi9cbiAxNDM6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTAtMHgxNyAqL1xuIDE0NDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxOC0weDFmICovXG4gMTQ1Olx0XHQweGIyLCAweGIzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi9cbiAxNDY6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjgtMHgyZiAqL1xuIDE0NzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovXG4gMTQ4Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDM4LTB4M2YgKi9cbiAxNDk6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqL1xuIDE1MDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0OC0weDRmICovXG4gMTUxOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDUwLTB4NTcgKi9cbiAxNTI6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xuIDE1MzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4gMTU0Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbiAxNTU6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqL1xuIDE1NjpcdFx0MHhhZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4gMTU3Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbiAxNTg6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xuIDE1OTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5MC0weDk3ICovXG4gMTYwOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDk4LTB4OWYgKi9cbiAxNjE6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YTAtMHhhNyAqL1xuIDE2MjpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhhOC0weGFmICovXG4gMTYzOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGIwLTB4YjcgKi9cbiAxNjQ6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjgtMHhiZiAqL1xuIDE2NTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjMC0weGM3ICovXG4gMTY2Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGM4LTB4Y2YgKi9cbiAxNjc6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xuIDE2ODpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXG4gMTY5Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cbiAxNzA6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xuIDE3MTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gMTcyOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cbiAxNzM6XHR9O1xuIDE3NDpcdFxuIDE3NTpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0ge1xuIDE3NjpcdFx0MHgwMCwgMHgwMCwgMHhhMSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovXG4gMTc3Olx0XHQweDAwLCAweDAwLCAweGE2LCAweGFiLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi9cbiAxNzg6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTAtMHgxNyAqL1xuIDE3OTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiMCwgMHhiMSwgLyogMHgxOC0weDFmICovXG4gMTgwOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi9cbiAxODE6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjgtMHgyZiAqL1xuIDE4MjpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovXG4gMTgzOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDM4LTB4M2YgKi9cbiAxODQ6XHRcdDB4YjQsIDB4YjUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqL1xuIDE4NTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0OC0weDRmICovXG4gMTg2Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGI3LCAweGI5LCAvKiAweDUwLTB4NTcgKi9cbiAxODc6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xuIDE4ODpcdFx0MHhiYiwgMHhiZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4gMTg5Olx0XHQweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbiAxOTA6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzAtMHg3NyAqL1xuIDE5MTpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4gMTkyOlx0XHQweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbiAxOTM6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xuIDE5NDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5MC0weDk3ICovXG4gMTk1Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDk4LTB4OWYgKi9cbiAxOTY6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YTAtMHhhNyAqL1xuIDE5NzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhhOC0weGFmICovXG4gMTk4Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGIwLTB4YjcgKi9cbiAxOTk6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjgtMHhiZiAqL1xuIDIwMDpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjMC0weGM3ICovXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjkvMzwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5rbXNhbi1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE0NjM2CgkJCQkJCQlvdXRwdXQ6IDQ3CgkJCQkJCQl0aG91Z2h0czogMTAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIEkmIzM5O20gcmVhZHkgdG8gcmVjZWl2ZSB0aGUgdGV4dCBhbmQgcHJvdmlkZSBhIGZpcnN0LXBlcnNvbiBzdW1tYXJ5IG9mIHRoZSBkZXNjcmliZWQgdGhvdWdodHMsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2UuIEkgdW5kZXJzdGFuZCB0aGUgZ29hbCBpcyBhIGRldGFpbGVkIHdhbGt0aHJvdWdoIG9mIHRoZSBtZW50YWwgcHJvY2Vzc2VzLCBhcyBpZiBJIHdlcmUgaGF2aW5nIHRoZW0gbXlzZWxmLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMwLzM8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2ZzL25scy9ubHNfaXNvODg1OS0xNC5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMjAxLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDEwMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgMjAxOlx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGM4LTB4Y2YgKi9cbiAyMDI6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xuIDIwMzpcdFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXG4gMjA0Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cbiAyMDU6XHRcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xuIDIwNjpcdFx0MHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gMjA3Olx0XHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cbiAyMDg6XHR9O1xuIDIwOTpcdFxuIDIxMDpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XG4gMjExOlx0XHRwYWdlMDAsXHRwYWdlMDEsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIFxuIDIxMjpcdFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXG4gMjEzOlx0XG4gMjE0Olx0XHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcbiAyMTU6XHRcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdHBhZ2UxZSxcdE5VTEwsXG4gMjE2Olx0XG4gMjE3Olx0XHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcbiAyMTg6XHRcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFx0TlVMTCxcdE5VTEwsXHROVUxMLFxuIDIxOTpcdH07XG4gMjIwOlx0XG4gMjIxOlx0c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJsb3dlclsyNTZdID0ge1xuIDIyMjpcdFx0MHgwMCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwNSwgMHgwNiwgMHgwNywgLyogMHgwMC0weDA3ICovXG4gMjIzOlx0XHQweDA4LCAweDA5LCAweDBhLCAweDBiLCAweDBjLCAweDBkLCAweDBlLCAweDBmLCAvKiAweDA4LTB4MGYgKi9cbiAyMjQ6XHRcdDB4MTAsIDB4MTEsIDB4MTIsIDB4MTMsIDB4MTQsIDB4MTUsIDB4MTYsIDB4MTcsIC8qIDB4MTAtMHgxNyAqL1xuIDIyNTpcdFx0MHgxOCwgMHgxOSwgMHgxYSwgMHgxYiwgMHgxYywgMHgxZCwgMHgxZSwgMHgxZiwgLyogMHgxOC0weDFmICovXG4gMjI2Olx0XHQweDIwLCAweDIxLCAweDIyLCAweDIzLCAweDI0LCAweDI1LCAweDI2LCAweDI3LCAvKiAweDIwLTB4MjcgKi9cbiAyMjc6XHRcdDB4MjgsIDB4MjksIDB4MmEsIDB4MmIsIDB4MmMsIDB4MmQsIDB4MmUsIDB4MmYsIC8qIDB4MjgtMHgyZiAqL1xuIDIyODpcdFx0MHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgLyogMHgzMC0weDM3ICovXG4gMjI5Olx0XHQweDM4LCAweDM5LCAweDNhLCAweDNiLCAweDNjLCAweDNkLCAweDNlLCAweDNmLCAvKiAweDM4LTB4M2YgKi9cbiAyMzA6XHRcdDB4NDAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsIC8qIDB4NDAtMHg0NyAqL1xuIDIzMTpcdFx0MHg2OCwgMHg2OSwgMHg2YSwgMHg2YiwgMHg2YywgMHg2ZCwgMHg2ZSwgMHg2ZiwgLyogMHg0OC0weDRmICovXG4gMjMyOlx0XHQweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LCAvKiAweDUwLTB4NTcgKi9cbiAyMzM6XHRcdDB4NzgsIDB4NzksIDB4N2EsIDB4NWIsIDB4NWMsIDB4NWQsIDB4NWUsIDB4NWYsIC8qIDB4NTgtMHg1ZiAqL1xuIDIzNDpcdFx0MHg2MCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NywgLyogMHg2MC0weDY3ICovXG4gMjM1Olx0XHQweDY4LCAweDY5LCAweDZhLCAweDZiLCAweDZjLCAweDZkLCAweDZlLCAweDZmLCAvKiAweDY4LTB4NmYgKi9cbiAyMzY6XHRcdDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsIC8qIDB4NzAtMHg3NyAqL1xuIDIzNzpcdFx0MHg3OCwgMHg3OSwgMHg3YSwgMHg3YiwgMHg3YywgMHg3ZCwgMHg3ZSwgMHg3ZiwgLyogMHg3OC0weDdmICovXG4gMjM4Olx0XG4gMjM5Olx0XHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cbiAyNDA6XHRcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xuIDI0MTpcdFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXG4gMjQyOlx0XHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cbiAyNDM6XHRcdDB4YTAsIDB4YTIsIDB4YTIsIDB4YTMsIDB4YWIsIDB4YWIsIDB4YWIsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xuIDI0NDpcdFx0MHhiOCwgMHhhOSwgMHhiYSwgMHhhYiwgMHhiYywgMHhhZCwgMHhhZSwgMHhmZiwgLyogMHhhOC0weGFmICovXG4gMjQ1Olx0XHQweGIxLCAweGIxLCAweGIzLCAweGIzLCAweGI1LCAweGI1LCAweGI2LCAweGI5LCAvKiAweGIwLTB4YjcgKi9cbiAyNDY6XHRcdDB4YjgsIDB4YjksIDB4YmEsIDB4YmYsIDB4YmMsIDB4YmUsIDB4YmUsIDB4YmYsIC8qIDB4YjgtMHhiZiAqL1xuIDI0NzpcdFx0MHhlMCwgMHhlMSwgMHhlMiwgMHhlMywgMHhlNCwgMHhlNSwgMHhlNiwgMHhlNywgLyogMHhjMC0weGM3ICovXG4gMjQ4Olx0XHQweGU4LCAweGU5LCAweGVhLCAweGViLCAweGVjLCAweGVkLCAweGVlLCAweGVmLCAvKiAweGM4LTB4Y2YgKi9cbiAyNDk6XHRcdDB4ZjAsIDB4ZjEsIDB4ZjIsIDB4ZjMsIDB4ZjQsIDB4ZjUsIDB4ZjYsIDB4ZjcsIC8qIDB4ZDAtMHhkNyAqL1xuIDI1MDpcdFx0MHhmOCwgMHhmOSwgMHhmYSwgMHhmYiwgMHhmYywgMHhmZCwgMHhmZSwgMHhkZiwgLyogMHhkOC0weGRmICovXG4gMjUxOlx0XHQweGUwLCAweGUxLCAweGUyLCAweGUzLCAweGU0LCAweGU1LCAweGU2LCAweGU3LCAvKiAweGUwLTB4ZTcgKi9cbiAyNTI6XHRcdDB4ZTgsIDB4ZTksIDB4ZWEsIDB4ZWIsIDB4ZWMsIDB4ZWQsIDB4ZWUsIDB4ZWYsIC8qIDB4ZTgtMHhlZiAqL1xuIDI1MzpcdFx0MHhmMCwgMHhmMSwgMHhmMiwgMHhmMywgMHhmNCwgMHhmNSwgMHhmNiwgMHhmNywgLyogMHhmMC0weGY3ICovXG4gMjU0Olx0XHQweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweGZkLCAweGZlLCAweGZmLCAvKiAweGY4LTB4ZmYgKi9cbiAyNTU6XHR9O1xuIDI1NjpcdFxuIDI1NzpcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcbiAyNTg6XHRcdDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDUsIDB4MDYsIDB4MDcsIC8qIDB4MDAtMHgwNyAqL1xuIDI1OTpcdFx0MHgwOCwgMHgwOSwgMHgwYSwgMHgwYiwgMHgwYywgMHgwZCwgMHgwZSwgMHgwZiwgLyogMHgwOC0weDBmICovXG4gMjYwOlx0XHQweDEwLCAweDExLCAweDEyLCAweDEzLCAweDE0LCAweDE1LCAweDE2LCAweDE3LCAvKiAweDEwLTB4MTcgKi9cbiAyNjE6XHRcdDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsIC8qIDB4MTgtMHgxZiAqL1xuIDI2MjpcdFx0MHgyMCwgMHgyMSwgMHgyMiwgMHgyMywgMHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgLyogMHgyMC0weDI3ICovXG4gMjYzOlx0XHQweDI4LCAweDI5LCAweDJhLCAweDJiLCAweDJjLCAweDJkLCAweDJlLCAweDJmLCAvKiAweDI4LTB4MmYgKi9cbiAyNjQ6XHRcdDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIC8qIDB4MzAtMHgzNyAqL1xuIDI2NTpcdFx0MHgzOCwgMHgzOSwgMHgzYSwgMHgzYiwgMHgzYywgMHgzZCwgMHgzZSwgMHgzZiwgLyogMHgzOC0weDNmICovXG4gMjY2Olx0XHQweDQwLCAweDQxLCAweDQyLCAweDQzLCAweDQ0LCAweDQ1LCAweDQ2LCAweDQ3LCAvKiAweDQwLTB4NDcgKi9cbiAyNjc6XHRcdDB4NDgsIDB4NDksIDB4NGEsIDB4NGIsIDB4NGMsIDB4NGQsIDB4NGUsIDB4NGYsIC8qIDB4NDgtMHg0ZiAqL1xuIDI2ODpcdFx0MHg1MCwgMHg1MSwgMHg1MiwgMHg1MywgMHg1NCwgMHg1NSwgMHg1NiwgMHg1NywgLyogMHg1MC0weDU3ICovXG4gMjY5Olx0XHQweDU4LCAweDU5LCAweDVhLCAweDViLCAweDVjLCAweDVkLCAweDVlLCAweDVmLCAvKiAweDU4LTB4NWYgKi9cbiAyNzA6XHRcdDB4NjAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NjAtMHg2NyAqL1xuIDI3MTpcdFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg2OC0weDZmICovXG4gMjcyOlx0XHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDcwLTB4NzcgKi9cbiAyNzM6XHRcdDB4NTgsIDB4NTksIDB4NWEsIDB4N2IsIDB4N2MsIDB4N2QsIDB4N2UsIDB4N2YsIC8qIDB4NzgtMHg3ZiAqL1xuIDI3NDpcdFxuIDI3NTpcdFx0MHg4MCwgMHg4MSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4NSwgMHg4NiwgMHg4NywgLyogMHg4MC0weDg3ICovXG4gMjc2Olx0XHQweDg4LCAweDg5LCAweDhhLCAweDhiLCAweDhjLCAweDhkLCAweDhlLCAweDhmLCAvKiAweDg4LTB4OGYgKi9cbiAyNzc6XHRcdDB4OTAsIDB4OTEsIDB4OTIsIDB4OTMsIDB4OTQsIDB4OTUsIDB4OTYsIDB4OTcsIC8qIDB4OTAtMHg5NyAqL1xuIDI3ODpcdFx0MHg5OCwgMHg5OSwgMHg5YSwgMHg5YiwgMHg5YywgMHg5ZCwgMHg5ZSwgMHg5ZiwgLyogMHg5OC0weDlmICovXG4gMjc5Olx0XHQweGEwLCAweGExLCAweGExLCAweGEzLCAweGE2LCAweGE2LCAweGE2LCAweGE3LCAvKiAweGEwLTB4YTcgKi9cbiAyODA6XHRcdDB4YTgsIDB4YTksIDB4YWEsIDB4YTYsIDB4YWMsIDB4YWQsIDB4YWUsIDB4YWYsIC8qIDB4YTgtMHhhZiAqL1xuIDI4MTpcdFx0MHhiMCwgMHhiMCwgMHhiMiwgMHhiMiwgMHhiNCwgMHhiNCwgMHhiNiwgMHhiNywgLyogMHhiMC0weGI3ICovXG4gMjgyOlx0XHQweGE4LCAweGI3LCAweGFhLCAweGJiLCAweGFjLCAweGJkLCAweGJkLCAweGJiLCAvKiAweGI4LTB4YmYgKi9cbiAyODM6XHRcdDB4YzAsIDB4YzEsIDB4YzIsIDB4YzMsIDB4YzQsIDB4YzUsIDB4YzYsIDB4YzcsIC8qIDB4YzAtMHhjNyAqL1xuIDI4NDpcdFx0MHhjOCwgMHhjOSwgMHhjYSwgMHhjYiwgMHhjYywgMHhjZCwgMHhjZSwgMHhjZiwgLyogMHhjOC0weGNmICovXG4gMjg1Olx0XHQweGQwLCAweGQxLCAweGQyLCAweGQzLCAweGQ0LCAweGQ1LCAweGQ2LCAweGQ3LCAvKiAweGQwLTB4ZDcgKi9cbiAyODY6XHRcdDB4ZDgsIDB4ZDksIDB4ZGEsIDB4ZGIsIDB4ZGMsIDB4ZGQsIDB4ZGUsIDB4ZGYsIC8qIDB4ZDgtMHhkZiAqL1xuIDI4NzpcdFx0MHhjMCwgMHhjMSwgMHhjMiwgMHhjMywgMHhjNCwgMHhjNSwgMHhjNiwgMHhjNywgLyogMHhlMC0weGU3ICovXG4gMjg4Olx0XHQweGM4LCAweGM5LCAweGNhLCAweGNiLCAweGNjLCAweGNkLCAweGNlLCAweGNmLCAvKiAweGU4LTB4ZWYgKi9cbiAyODk6XHRcdDB4ZDAsIDB4ZDEsIDB4ZDIsIDB4ZDMsIDB4ZDQsIDB4ZDUsIDB4ZDYsIDB4ZDcsIC8qIDB4ZjAtMHhmNyAqL1xuIDI5MDpcdFx0MHhkOCwgMHhkOSwgMHhkYSwgMHhkYiwgMHhkYywgMHhkZCwgMHhkZSwgMHhhZiwgLyogMHhmOC0weGZmICovXG4gMjkxOlx0fTtcbiAyOTI6XHRcbiAyOTM6XHRzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcbiAyOTQ6XHR7XG4gMjk1Olx0XHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcbiAyOTY6XHRcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXHUwMDI2IDB4MDBmZjtcbiAyOTc6XHRcdHVuc2lnbmVkIGNoYXIgY2ggPSAodW5pIFx1MDAyNiAweGZmMDApIFx1MDAzZVx1MDAzZSA4O1xuIDI5ODpcdFxuIDI5OTpcdFx0aWYgKGJvdW5kbGVuIFx1MDAzYz0gMClcbiAzMDA6XHRcdFx0cmV0dXJuIC1FTkFNRVRPT0xPTkc7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MzEvMzwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDEzOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5rbXNhbi1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5NjUzCgkJCQkJCQlvdXRwdXQ6IDQ2CgkJCQkJCQl0aG91Z2h0czogMjcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgaW50ZXJwcmV0YXRpb24gb2Ygd2hhdCYjMzk7cyBnb2luZyB0aHJvdWdoIG15IG1pbmQgYXMgSSBhcHByb2FjaCB0aGlzIGNvZGUsIHByZXNlbnRlZCBpbiB0aGUgZmlyc3QgcGVyc29uLCBhcyByZXF1ZXN0ZWQ6CgoqKkRpdmluZyBpbnRvIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AqKgoKQWxyaWdodCwgbGV0JiMzOTtzIGdldCBpbnRvIHRoaXMuIEkmIzM5O20gbG9va2luZyBhdCBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgLiBPa2F5LCBzbyB0aGlzIGlzIGEgY2hhcmFjdGVyIHNldCBkZWZpbml0aW9uLCBsaWtlbHkgZm9yIGZpbGVzeXN0ZW0gb3BlcmF0aW9ucy4gS25vd2luZyB0aGUgYGZzL2AgcGF0aCwgSSYjMzk7bSBhbHJlYWR5IGFudGljaXBhdGluZyBzb21lIGNoYXJhY3RlciBzZXQgdHJhbnNsYXRpb24gbG9naWMsIHNvbWV0aGluZyBkZWFsaW5nIHdpdGggZmlsZW5hbWUgZW5jb2RpbmcsIHByb2JhYmx5LiBHaXZlbiB0aGUgZmlsZW5hbWUsIEkgY2FuIHRlbGwgaXQmIzM5O3MgbGlrZWx5IGRlYWxpbmcgd2l0aCB0aGUgSVNPIDg4NTktMTQgY2hhcmFjdGVyIHNldC4gU3BlY2lmaWNhbGx5LCBJJiMzOTttIGV4cGVjdGluZyB0aGlzIEMgZmlsZSB0byBjb250YWluIHRhYmxlcyB0aGF0IG1hcCB0aGUgcmF3IGJ5dGUgdmFsdWVzIG9mIHRoYXQgZW5jb2RpbmcgdG8gVW5pY29kZSBvciBvdGhlciBpbnRlcm5hbCByZXByZXNlbnRhdGlvbnMgdXNlZCBieSB0aGUga2VybmVsLiBUaGUgZ29hbCwgdWx0aW1hdGVseSwgaXMgdG8gZW5zdXJlIGZpbGVwYXRocyBhcmUgY29ycmVjdGx5IGludGVycHJldGVkIGFuZCBkaXNwbGF5ZWQgcmVnYXJkbGVzcyBvZiB0aGUgdW5kZXJseWluZyBjaGFyYWN0ZXIgc2V0IHVzZWQgb24gdGhlIGZpbGVzeXN0ZW0uIEkgc2hvdWxkIGJlIGxvb2tpbmcgZm9yIHRoaW5ncyBsaWtlOgoKKiAgICoqVGFibGVzOioqIFRoZSBjb3JlIHdpbGwgbGlrZWx5IGJlIGxvb2t1cCB0YWJsZXMg4oCTIGFuIGFycmF5IG9mIHZhbHVlcyB3aGVyZSBlYWNoIGluZGV4IHJlcHJlc2VudHMgYSBieXRlIG9mIHRoZSBJU08gODg1OS0xNCBlbmNvZGluZywgYW5kIHRoZSB2YWx1ZSByZXByZXNlbnRzIGEgVW5pY29kZSBjb2RlcG9pbnQgKG9yIGEgZmxhZyBpbmRpY2F0aW5nIGFuIGVycm9yL2ZhbGxiYWNrKS4KKiAgICoqVHJhbnNsYXRpb24gRnVuY3Rpb25zOioqIEkmIzM5O2xsIGFsc28gYmUgc2VhcmNoaW5nIGZvciBmdW5jdGlvbnMgdGhhdCBwZXJmb3JtIHRoZSBhY3R1YWwgY29udmVyc2lvbi4gSXQgY291bGQgYmUgYSBzaW1wbGUgYXJyYXkgbG9va3VwLCBvciBzb21ldGhpbmcgbW9yZSBjb21wbGV4IGlmIHRoZXJlIGFyZSBjaGFyYWN0ZXIgcmFuZ2VzLCBvciBzcGVjaWFsIG1hcHBpbmdzLgoqICAgKipJbml0aWFsaXphdGlvbjoqKiBTb21ld2hlcmUsIHRoZXJlJiMzOTtsbCBiZSBpbml0aWFsaXphdGlvbiBjb2RlIHRoYXQgbG9hZHMgdGhpcyBtYXBwaW5nIGludG8gbWVtb3J5IGF0IG1vZHVsZSBsb2FkIHRpbWUuCiogICAqKkVycm9yIEhhbmRsaW5nOioqIEl0JiMzOTtzIGltcG9ydGFudCB0byB1bmRlcnN0YW5kIGhvdyBpbnZhbGlkIG9yIHVubWFwcGVkIGNoYXJhY3RlcnMgYXJlIGhhbmRsZWQuIEFyZSB0aGV5IHJlcGxhY2VkIHdpdGggYSBkZWZhdWx0IGNoYXJhY3Rlcj8gT3IgaXMgYW4gZXJyb3Igc2lnbmFsZWQ/CiogICAqKlVzYWdlIENvbnRleHQ6KiogSWRlYWxseSwgdGhlIGNvZGUgd2lsbCBwcm92aWRlIGNsdWVzIGFib3V0IGhvdyB0aGVzZSB0YWJsZXMgYXJlIHVzZWQsIGUuZy4sIHdoaWNoIGZpbGVzeXN0ZW0gZHJpdmVycyByZWx5IG9uIHRoaXMgdHJhbnNsYXRpb24uCgpJJiMzOTttIHJlYWR5IHRvIGRpZyBpbiBhbmQgdW5kZXJzdGFuZCBob3cgdGhpcyBwYXJ0aWN1bGFyIGNoYXJhY3RlciBzZXQgaXMgc3VwcG9ydGVkIHdpdGhpbiB0aGlzIHNwZWNpZmljIHBhcnQgb2YgdGhlIGZpbGVzeXN0ZW0gY29kZS4gSSYjMzk7bGwgYmUgbG9va2luZyBmb3Igb3Bwb3J0dW5pdGllcyB0byB1bmRlcnN0YW5kIG9wdGltaXphdGlvbnMsIHBvdGVudGlhbCBlZGdlIGNhc2VzLCBvciBhbnkgYXJlYXMgZm9yIGltcHJvdmVtZW50LiBMZXQmIzM5O3Mgc2VlIHdoYXQmIzM5O3MgaW5zaWRlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMyLzM8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2ZzL25scy9ubHNfaXNvODg1OS0xNC5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMzAxLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDYwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAzMDE6XHRcbiAzMDI6XHRcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XG4gMzAzOlx0XHRpZiAodW5pMmNoYXJzZXQgXHUwMDI2XHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcbiAzMDQ6XHRcdFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xuIDMwNTpcdFx0ZWxzZVxuIDMwNjpcdFx0XHRyZXR1cm4gLUVJTlZBTDtcbiAzMDc6XHRcdHJldHVybiAxO1xuIDMwODpcdH1cbiAzMDk6XHRcbiAzMTA6XHRzdGF0aWMgaW50IGNoYXIydW5pKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJhd3N0cmluZywgaW50IGJvdW5kbGVuLCB3Y2hhcl90ICp1bmkpXG4gMzExOlx0e1xuIDMxMjpcdFx0KnVuaSA9IGNoYXJzZXQydW5pWypyYXdzdHJpbmddO1xuIDMxMzpcdFx0aWYgKCp1bmkgPT0gMHgwMDAwKVxuIDMxNDpcdFx0XHRyZXR1cm4gLUVJTlZBTDtcbiAzMTU6XHRcdHJldHVybiAxO1xuIDMxNjpcdH1cbiAzMTc6XHRcbiAzMTg6XHRzdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcbiAzMTk6XHRcdC5jaGFyc2V0XHQ9IFwmIzM0O2lzbzg4NTktMTRcJiMzNDssXG4gMzIwOlx0XHQudW5pMmNoYXJcdD0gdW5pMmNoYXIsXG4gMzIxOlx0XHQuY2hhcjJ1bmlcdD0gY2hhcjJ1bmksXG4gMzIyOlx0XHQuY2hhcnNldDJsb3dlclx0PSBjaGFyc2V0Mmxvd2VyLFxuIDMyMzpcdFx0LmNoYXJzZXQydXBwZXJcdD0gY2hhcnNldDJ1cHBlcixcbiAzMjQ6XHR9O1xuIDMyNTpcdFxuIDMyNjpcdHN0YXRpYyBpbnQgX19pbml0IGluaXRfbmxzX2lzbzg4NTlfMTQodm9pZClcbiAzMjc6XHR7XG4gMzI4Olx0XHRyZXR1cm4gcmVnaXN0ZXJfbmxzKFx1MDAyNnRhYmxlKTtcbiAzMjk6XHR9XG4gMzMwOlx0XG4gMzMxOlx0c3RhdGljIHZvaWQgX19leGl0IGV4aXRfbmxzX2lzbzg4NTlfMTQodm9pZClcbiAzMzI6XHR7XG4gMzMzOlx0XHR1bnJlZ2lzdGVyX25scyhcdTAwMjZ0YWJsZSk7XG4gMzM0Olx0fVxuIDMzNTpcdFxuIDMzNjpcdG1vZHVsZV9pbml0KGluaXRfbmxzX2lzbzg4NTlfMTQpXG4gMzM3Olx0bW9kdWxlX2V4aXQoZXhpdF9ubHNfaXNvODg1OV8xNClcbiAzMzg6XHRcbiAzMzk6XHRNT0RVTEVfREVTQ1JJUFRJT04oXCYjMzQ7TkxTIElTTyA4ODU5LTE0IChMYXRpbiA4OyBDZWx0aWMpXCYjMzQ7KTtcbiAzNDA6XHRNT0RVTEVfTElDRU5TRShcJiMzNDtEdWFsIEJTRC9HUExcJiMzNDspO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMzLzM8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+a21zYW4tZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDc4NgoJCQkJCQkJb3V0cHV0OiAxNTAKCQkJCQkJCXRob3VnaHRzOiAxMDE2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKlBhdGNoIEFuYWx5c2lzOiBDb3JyZWN0aW5nIElTTzg4NTktMTQgVW5pY29kZSBNYXBwaW5ncyoqCgpPa2F5LCBsZXQmIzM5O3MgZGl2ZSBpbnRvIHRoaXMgcGF0Y2guIE15IGltbWVkaWF0ZSBmb2N1cyBpcyB1bmRlcnN0YW5kaW5nIGl0cyBjb3JlIGZ1bmN0aW9uLiBJdCYjMzk7cyBtb2RpZnlpbmcgYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYCwgc3BlY2lmaWNhbGx5IHRoZSBgcGFnZTAxYCBhbmQgYHBhZ2UxZWAgdGFibGVzLiBUaGVzZSBhcmUgY3JpdGljYWwgc3RhdGljIGNvbnN0YW50IGxvb2t1cCB0YWJsZXMgdXNlZCBieSBgcGFnZV91bmkyY2hhcnNldGAgdG8gY29udmVydCBVbmljb2RlIGNvZGVwb2ludHMgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBJU084ODU5LTE0IGJ5dGUgdmFsdWVzLgoKSSBzZWUgaXQgYWRkcmVzc2VzIGFuIGV4aXN0aW5nIGlzc3VlOiBpbmNvcnJlY3Qgb3IgbWlzcGxhY2VkIG1hcHBpbmdzIGJldHdlZW4gVW5pY29kZSBwYWdlcyAweDAxIChMYXRpbiBFeHRlbmRlZC1BL0IpIGFuZCAweDFlIChMYXRpbiBFeHRlbmRlZCBBZGRpdGlvbmFsKS4gIEVzc2VudGlhbGx5LCB0aGUgcGF0Y2ggaXMgZml4aW5nIGVycm9uZW91cyBtYXBwaW5ncyBpbiBib3RoIGBjaGFyc2V0MnVuaWAgYW5kIGB1bmkyY2hhcmAgY29udmVyc2lvbiBwcm9jZXNzZXMsIHdoaWNoIEkmIzM5O3ZlIG9ic2VydmVkIGFzIGludmVydGVkIG9yIG1peGVkIHVwLiBUaGUgcHJvdmlkZWQgZXhhbXBsZXMgY2xlYXJseSBpbGx1c3RyYXRlIHRoZXNlIGVycm9ycywgd2hpY2ggdGhlIHBhdGNoIHJlc29sdmVzIGJ5IHVwZGF0aW5nIHRoZSBsb29rdXAgdGFibGVzLgoKTm93LCBhIGtleSBjb25jZXJuIGluIHRoZXNlIHR5cGVzIG9mIGNoYW5nZXMgaXMgdGhlIHBvdGVudGlhbCBmb3IgaW50cm9kdWNpbmcgdW5pbml0aWFsaXplZCBtZW1vcnkgcmlza3MuIEJ1dCwgcmV2aWV3aW5nIHRoZSBjb2RlLCBJIGRvbiYjMzk7dCBzZWUgYW55IGltbWVkaWF0ZSBjb25jZXJucy4gVGhlc2UgdGFibGVzIGFyZSBgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgWzI1Nl1gLCBtZWFuaW5nIHRoZXkgYXJlIHN0YXRpY2FsbHkgYWxsb2NhdGVkIGFuZCBmdWxseSBpbml0aWFsaXplZCBjb25zdGFudCBhcnJheXMgcmVzaWRpbmcgaW4gdGhlIC5yb2RhdGEgc2VjdGlvbi4KClRoZSBgdW5pMmNoYXJgIGZ1bmN0aW9uIGFjY2Vzc2VzIHRoZXNlIHRhYmxlcywgYnV0IGl0JiMzOTtzIGNoZWNraW5nIGZvciB2YWxpZCBtYXBwaW5ncyBhbmQgcmV0dXJuaW5nIC1FSU5WQUwgaW4gdGhlIGNhc2Ugb2YgYSBmYWlsZWQgbWFwcGluZyBhdHRlbXB0LgoKVGhlcmUmIzM5O3Mgbm8gaW50cm9kdWN0aW9uIG9mIHN0cnVjdCBwYWRkaW5nIG9yIHVuaW5pdGlhbGl6ZWQgc3RhY2svaGVhcCBhbGxvY2F0aW9ucy4gVGhlcmUgYXJlbiYjMzk7dCBhbnkgYnVmZmVyIGxlbmd0aCBtb2RpZmljYXRpb25zIG9yIG5ldyBhbGxvY2F0aW9ucyBpbiB0aGlzIGNvbnRleHQuIENvbnNlcXVlbnRseSwgS01TQU4gaXMgY29tcGxldGVseSBpbmFwcGxpY2FibGUsIGFuZCBzdGFuZGFyZCBzYW5pdGl6ZXJzIC8gS0FTQU4gYXJlbiYjMzk7dCBmaW5kaW5nIGFueXRoaW5nIGVpdGhlciBiZWNhdXNlIHdlJiMzOTtyZSBqdXN0IGNvcnJlY3RpbmcgdmFsdWVzIHdpdGhpbiBgcm9kYXRhYCwgc28gaXQmIzM5O3MgYSBjb21wbGV0ZWx5IHNhZmUgb3BlcmF0aW9uLgoKVG8gZW5zdXJlIHRoaXMgaXMgYWJzb2x1dGVseSBzb3VuZCwgSSYjMzk7bSBkb2luZyBhIGZpbmFsIHNhbml0eSBjaGVjaywgZ29pbmcgdGhyb3VnaCB0aGUga2V5IGNyaXRlcmlhLiBJdCYjMzk7cyBub3QgaW50cm9kdWNpbmcgb3IgbW9kaWZ5aW5nIGtlcm5lbCBzdHJ1Y3R1cmVzIHNlbnQgdG8gdXNlcnNwYWNlLCB0aGVyZSYjMzk7cyBubyBjb25kaXRpb25hbCBsb2dpYyBiYXNlZCBvbiB1bmluaXRpYWxpemVkIHZhcmlhYmxlcywgbm8gY29tcGxleCBkYXRhIHN0cnVjdHVyZSBhbGxvY2F0aW9uLCBhbmQgbm8gbW9kaWZpY2F0aW9ucyB0byBib3VuZHMgY2hlY2tzIHRoYXQgY291bGQgbGVhZCB0byByZWFkaW5nIHVuaW5pdGlhbGl6ZWQgZGF0YS4KClRoZXJlZm9yZSwgdGhpcyBwYXRjaCBoYXMgbm8gbWVtb3J5IHNhZmV0eSBjb25jZXJucy4gSSYjMzk7bSByZWFkeSB0byBtYXJrIHRoaXMgYXMgYE5lZWRzS01TQU4gPSBmYWxzZWAuIFRpbWUgdG8gcHJlcGFyZSB0aGUgY2FsbCB0byBgc2V0LXJlc3VsdHNgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjM0LzM8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAxMzoxNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtLTVNBTlJlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBzdGF0aWMgY29uc3RhbnQgbG9va3VwIHRhYmxlcyAoYHBhZ2UwMWAgYW5kIGBwYWdlMWVgKSBpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIHRvIGNvcnJlY3QgVW5pY29kZS10by1jaGFyc2V0IG1hcHBpbmcgZW50cmllcy4gXG5cblRoZXNlIHRhYmxlcyBhcmUgc3RhdGljIGNvbnN0IGFycmF5cyBvZiBmaXhlZCBzaXplICgyNTYgYnl0ZXMpIHBsYWNlZCBpbiByZWFkLW9ubHkgZGF0YSAoLnJvZGF0YSkuIE5vIGR5bmFtaWMgbWVtb3J5IGFsbG9jYXRpb24sIHN0YWNrIHZhcmlhYmxlcywga2VybmVsLXRvLXVzZXIgY29weSBvcGVyYXRpb25zLCBvciB1bmluaXRpYWxpemVkIG1lbW9yeSBwYXRocyBhcmUgaW50cm9kdWNlZCBvciBtb2RpZmllZC4gVGhlcmVmb3JlLCB0aGVyZSBhcmUgbm8gdW5pbml0aWFsaXplZCBtZW1vcnkgcmlza3MsIGFuZCBhIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaXMgbm90IHdhcnJhbnRlZC4mIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0tNU0FOUmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpYyBjb25zdGFudCBsb29rdXAgdGFibGVzIChgcGFnZTAxYCBhbmQgYHBhZ2UxZWApIGluIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgdG8gY29ycmVjdCBVbmljb2RlLXRvLWNoYXJzZXQgbWFwcGluZyBlbnRyaWVzLiBcblxuVGhlc2UgdGFibGVzIGFyZSBzdGF0aWMgY29uc3QgYXJyYXlzIG9mIGZpeGVkIHNpemUgKDI1NiBieXRlcykgcGxhY2VkIGluIHJlYWQtb25seSBkYXRhICgucm9kYXRhKS4gTm8gZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbiwgc3RhY2sgdmFyaWFibGVzLCBrZXJuZWwtdG8tdXNlciBjb3B5IG9wZXJhdGlvbnMsIG9yIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHBhdGhzIGFyZSBpbnRyb2R1Y2VkIG9yIG1vZGlmaWVkLiBUaGVyZWZvcmUsIHRoZXJlIGFyZSBubyB1bmluaXRpYWxpemVkIG1lbW9yeSByaXNrcywgYW5kIGEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpcyBub3Qgd2FycmFudGVkLiYjMzQ7LAogICYjMzQ7TmVlZHNLTVNBTiYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxMzo1MC44Mzk2ODk0NjJaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4NDU5NjMzMDUzMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJOTFNcIixcbiAgICBcIk5MU19JU084ODU5XzE0XCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidW5pMmNoYXJcIlxuICBdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpYyBjb25zdGFudCBsb29rdXAgdGFibGVzIChgcGFnZTAxYCBhbmQgYHBhZ2UxZWApIGluIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgdG8gY29ycmVjdCBVbmljb2RlLXRvLWNoYXJzZXQgbWFwcGluZyBlbnRyaWVzLiBcXG5cXG5UaGVzZSB0YWJsZXMgYXJlIHN0YXRpYyBjb25zdCBhcnJheXMgb2YgZml4ZWQgc2l6ZSAoMjU2IGJ5dGVzKSBwbGFjZWQgaW4gcmVhZC1vbmx5IGRhdGEgKC5yb2RhdGEpLiBObyBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLCBzdGFjayB2YXJpYWJsZXMsIGtlcm5lbC10by11c2VyIGNvcHkgb3BlcmF0aW9ucywgb3IgdW5pbml0aWFsaXplZCBtZW1vcnkgcGF0aHMgYXJlIGludHJvZHVjZWQgb3IgbW9kaWZpZWQuIFRoZXJlZm9yZSwgdGhlcmUgYXJlIG5vIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzLCBhbmQgYSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGlzIG5vdCB3YXJyYW50ZWQuXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggY29ycmVjdHMgY2hhcmFjdGVyIG1hcHBpbmcgZW50cmllcyBpbiB0aGUgVW5pY29kZS10by1JU08tODg1OS0xNCB0YWJsZXMgKHBhZ2UwMSBhbmQgcGFnZTFlKSBpbiBmcy9ubHMvbmxzX2lzbzg4NTktMTQuYy4gVGhlc2UgdGFibGVzIGFyZSB1c2VkIGJ5IHVuaTJjaGFyKCkgZHVyaW5nIGZpbGVzeXN0ZW0gY2hhcmFjdGVyIGNvbnZlcnNpb24gb3BlcmF0aW9ucyAoZS5nLiBGQVQsIElTT0ZTKSwgcmVwcmVzZW50aW5nIHJlYWNoYWJsZSBjb2RlIHRoYXQgc2hvdWxkIGJlIGZ1enplZCBmb3IgY2hhcmFjdGVyIGNvbnZlcnNpb24gY29ycmVjdG5lc3MgYW5kIGJvdW5kYXJ5IHNhZmV0eS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTM6NTAuODM5Njk2NDgyWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MTYyMjUxMDQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAyMzY3ODNjMjVlZDhmZjk0ZGE1YzdmZjFlNTJjMTU3YTI4Mzk0NjEwXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgU2VwIDkgMTM6MTM6NDkgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZnMvbmxzL25sc19pc284ODU5LTE0LmMgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuY1xcbmluZGV4IGM3ODllY2NiOGE2OTUuLjYwYjk0MDBmOTE1YWYgMTAwNjQ0XFxuLS0tIGEvZnMvbmxzL25sc19pc284ODU5LTE0LmNcXG4rKysgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuY1xcbkBAIC0xMzgsMjQgKzEzOCwyMyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDBbMjU2XSA9IHtcXG4gfTtcXG4gXFxuIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMVsyNTZdID0ge1xcbi1cXHQweDAwLCAweDAwLCAweGExLCAweGEyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDAwLTB4MDcgKi9cXG4tXFx0MHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXFxuK1xcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqL1xcbitcXHQweDAwLCAweDAwLCAweGE0LCAweGE1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxMC0weDE3ICovXFxuLVxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjAsIDB4YjEsIC8qIDB4MTgtMHgxZiAqL1xcbitcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDE4LTB4MWYgKi9cXG4gXFx0MHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjgtMHgyZiAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDMwLTB4MzcgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovXFxuLVxcdDB4YjQsIDB4YjUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqL1xcbitcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQwLTB4NDcgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0OC0weDRmICovXFxuLVxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjcsIDB4YjksIC8qIDB4NTAtMHg1NyAqL1xcbitcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDUwLTB4NTcgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1OC0weDVmICovXFxuLVxcdDB4YmIsIDB4YmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqL1xcbi1cXHQweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cXG4rXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXFxuK1xcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGQwLCAweGYwLCAweGRlLCAweGZlLCAvKiAweDcwLTB4NzcgKi9cXG4gXFx0MHhhZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXFxuLVxcdFxcbi1cXHQweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cXG4rXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5OC0weDlmICovXFxuQEAgLTE2OSw3ICsxNjgsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDFbMjU2XSA9IHtcXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTAtMHhlNyAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGU4LTB4ZWYgKi9cXG4tXFx0MHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXFxuK1xcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cXG4gfTtcXG4gXFxuQEAgLTE3OCw3ICsxNzcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMWVbMjU2XSA9IHtcXG4gXFx0MHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTAtMHgxNyAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi9cXG4tXFx0MHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXFxuK1xcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjAtMHgyNyAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDI4LTB4MmYgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovXFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzgtMHgzZiAqL1xcbkBAIC0xODgsOSArMTg3LDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTFlWzI1Nl0gPSB7XFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xcbiBcXHQweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi9cXG4gXFx0MHgwMCwgMHgwMCwgMHhkNywgMHhmNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2OC0weDZmICovXFxuLVxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqL1xcbi1cXHQweGFmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cXG4tXFxuK1xcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzAtMHg3NyAqL1xcbitcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cXG4gXFx0MHhhOCwgMHhiOCwgMHhhYSwgMHhiYSwgMHhiZCwgMHhiZSwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXFxuIFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xcbiBcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTM6NTEuNDU2ODkzMTI3WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiY29yZSIsIkR1cmF0aW9uIjo2NDk4ODc0NTMxMywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJOTFNcIixcbiAgICBcIk5MU19JU084ODU5XzE0XCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidW5pMmNoYXJcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBjb3JyZWN0cyBjaGFyYWN0ZXIgbWFwcGluZyBlbnRyaWVzIGluIHRoZSBVbmljb2RlLXRvLUlTTy04ODU5LTE0IHRhYmxlcyAocGFnZTAxIGFuZCBwYWdlMWUpIGluIGZzL25scy9ubHNfaXNvODg1OS0xNC5jLiBUaGVzZSB0YWJsZXMgYXJlIHVzZWQgYnkgdW5pMmNoYXIoKSBkdXJpbmcgZmlsZXN5c3RlbSBjaGFyYWN0ZXIgY29udmVyc2lvbiBvcGVyYXRpb25zIChlLmcuIEZBVCwgSVNPRlMpLCByZXByZXNlbnRpbmcgcmVhY2hhYmxlIGNvZGUgdGhhdCBzaG91bGQgYmUgZnV6emVkIGZvciBjaGFyYWN0ZXIgY29udmVyc2lvbiBjb3JyZWN0bmVzcyBhbmQgYm91bmRhcnkgc2FmZXR5LlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lciBhbmQgc2VjdXJpdHkgZW5naW5lZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGV2YWx1YXRlIHdoZXRoZXIgaXQgd2FycmFudHMgZnV6emluZyB3aXRoIHN5emthbGxlci5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24gaW50ZXJuYWwgYXNzdW1wdGlvbnMuIFlvdSBtdXN0IGFjdGl2ZWx5IHVzZSB5b3VyIGNvZGUgYWNjZXNzXG50b29scyB0byBpbnNwZWN0IHRoZSBhY3R1YWwgc291cmNlIGNvZGUsIGNhbGxlcnMsIGFuZCBzdXJyb3VuZGluZyBjb250ZXh0LlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuMS4gQ09SRSBUUklBR0UgUEhJTE9TT1BIWVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblRoZSBnb2FsIG9mIHBhdGNoIGZ1enppbmcgaXMgdG8gZGlzY292ZXIgY3Jhc2hlcywgcmVncmVzc2lvbnMsIGV4cG9zZWQgbGF0ZW50IGJ1Z3MsXG5hbmQgbmV3bHkgdHJpZ2dlcmVkIGFzc2VydGlvbnMgaW50cm9kdWNlZCBieSB0aGUgcGF0Y2ggc2VyaWVzLlxuXG4tIFJFQUNIQUJJTElUWSBJUyBUSEUgUFJJTUFSWSBHQVRFOlxuICBGdXp6aW5nIGNhbiBvbmx5IGRpc2NvdmVyIGJ1Z3MgaW4gY29kZSB0aGF0IGNhbiBhY3R1YWxseSBleGVjdXRlIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkXG4gIGVudmlyb25tZW50cyAoR0NFIG9yIFFFTVUsIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBkZXZpY2VzIGxpa2UgVVNCIGdhZGdldHMsIG5ldGRldiwgdHVuL3RhcCkuXG4gIElmIHRoZSBtb2RpZmllZCBjb2RlIGlzIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSAoc2VlIFNlY3Rpb24gMiksIGl0IE1VU1QgTk9UIGJlIGZ1enplZCxcbiAgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGFkZHMgYXNzZXJ0aW9ucyBvciBjb21wbGV4IGxvZ2ljLlxuXG4tIERPIE5PVCBCTElORExZIFRSVVNUIFwiTk8gRlVOQ1RJT05BTCBDSEFOR0VcIiAoTkZDSSkgT1IgXCJSRUZBQ1RPUklOR1wiIENMQUlNUzpcbiAgUGF0Y2ggYXV0aG9ycyByb3V0aW5lbHkgbGFiZWwgY2hhbmdlcyBhcyBcImNsZWFudXBzXCIsIFwicmVmYWN0b3JpbmdzXCIsIG9yIHN0YXRlXG4gIFwiTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWRcIi4gRG8gTk9UIHRha2UgdGhlc2UgY2xhaW1zIGF0IGZhY2UgdmFsdWUuXG4gIENvZGUgcmVmYWN0b3JpbmdzIHRoYXQgcmVhcnJhbmdlIGxvZ2ljLCBpbnRyb2R1Y2UgaGVscGVyIGZ1bmN0aW9ucywgb3IgYWx0ZXIgc3RhdGUgbWFuYWdlbWVudFxuICBpbiBjb3JlIHN1YnN5c3RlbXMgZnJlcXVlbnRseSBpbnRyb2R1Y2Ugc3VidGxlIHNlbWFudGljIHNoaWZ0cyBvciB1bmNvdmVyIGxhdGVudCBrZXJuZWwgYnVncy5cbiAgSWYgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSBpcyBtb2RpZmllZCBvciByZWZhY3RvcmVkLCBpdCBNVVNUIGJlIGZ1enplZC5cblxuLSBORVcgT1IgTU9ESUZJRUQgQVNTRVJUSU9OUyBJTiBSRUFDSEFCTEUgQ09ERSBNVVNUIEJFIEZVWlpFRDpcbiAgV2hlbiBhIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXMgcnVudGltZSBjaGVja3Mgb3IgYXNzZXJ0aW9ucyAoZS5nLiwgV0FSTl9PTiosIFZNX1dBUk5fT04qLFxuICBCVUdfT04qLCBsb2NrZGVwX2Fzc2VydCopIGluIHJlYWNoYWJsZSBjb2RlIHBhdGhzLCBpdCBlbmZvcmNlcyBuZXcgb3Igc3RyaWN0ZXIgaW52YXJpYW50cy5cbiAgRXZlbiBpZiB0aGUgYXV0aG9yIGJlbGlldmVzIHRoZSBpbnZhcmlhbnQgYWx3YXlzIGhvbGRzLCBmdXp6aW5nIGlzIGVzc2VudGlhbCB0byB2ZXJpZnkgd2hldGhlclxuICBhbiB1bnVzdWFsIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMgY2FuIHZpb2xhdGUgaXQuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4yLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9ZmFsc2UgKE5FR0FUSVZFIENSSVRFUklBKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgT05MWSBJRiBhbGwgbW9kaWZpZWQgY29kZSBmYWxscyBzdHJpY3RseSBpbnRvIG9uZSBvciBtb3JlIG9mIHRoZXNlIGNhdGVnb3JpZXM6XG5cbi0gTm9uLWtlcm5lbCBhbmQgbm9uLWV4ZWN1dGFibGUgY2hhbmdlczpcbiAgKiBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBjb21tZW50cywgb3Igc3BlbGxpbmcgZml4ZXMuXG4gICogVXNlci1zcGFjZSBkaXJlY3Rvcmllcywgc2VsZi10ZXN0cywgc2FtcGxlcywgb3Igc2NyaXB0cyAoZS5nLiwgdG9vbHMvLCBzYW1wbGVzLywgc2NyaXB0cy8sIHVzci8pXG4gICAgdGhhdCBkbyBub3QgYWZmZWN0IHRoZSBjb21waWxlZCBrZXJuZWwgaW1hZ2UgKHZtbGludXgpIG9yIGtlcm5lbCBtb2R1bGVzLlxuICAqIFB1cmVseSBkZWNvcmF0aXZlIGxvZ2dpbmcgKGUuZy4sIG1lc3NhZ2Ugc3RyaW5ncyBpbiBwcl9lcnIsIHByaW50aywgZGV2X2luZm8pIG9yIHRyYWNlcG9pbnRzXG4gICAgdGhhdCBkbyBub3QgYWx0ZXIgY29udHJvbCBmbG93IG9yIGRhdGEgc3RydWN0dXJlcy5cbiAgKiBCdWlsZCBzeXN0ZW0gb3IgS2NvbmZpZyBjaGFuZ2VzIHRoYXQgZG8gbm90IGFsdGVyIGNvbXBpbGVkIEMgbG9naWMuXG4tIFN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSBoYXJkd2FyZTpcbiAgKiBWZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgU21hcnROSUNzLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gICAgaW9uaWMsIGFtZGdwdSkgcmVxdWlyaW5nIHBoeXNpY2FsIEFTSUMvUENJZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gVW5yZWFjaGFibGUgZXhlY3V0aW9uIHBhdGhzOlxuICAqIERyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKC5yZW1vdmUsIC5zaHV0ZG93biwgcGNpX3VucmVnaXN0ZXJfZHJpdmVyKSBleGVjdXRlZCBvbmx5IGR1cmluZ1xuICAgIHBoeXNpY2FsIFBDSSBob3QtdW5wbHVnIG9yIG1hbnVhbCBzeXNmcyBkcml2ZXIgdW5iaW5kaW5nLlxuICAqIENvZGUgcGF0aHMgZXhjbHVzaXZlIHRvIGFyY2hpdGVjdHVyZXMgb3RoZXIgdGhhbiB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZS5cblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjMuIFdIRU4gVE8gUkVUVVJOIFdvcnRoRnV6emluZz10cnVlIChQT1NJVElWRSBDUklURVJJQSlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5SZXR1cm4gV29ydGhGdXp6aW5nPXRydWUgd2hlbmV2ZXIgdGhlIHBhdGNoIHRvdWNoZXMgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSwgaW5jbHVkaW5nOlxuLSBDb3JlIFN1YnN5c3RlbXM6XG4gICogQW55IGxvZ2ljIG1vZGlmaWNhdGlvbnMgaW4gbWVtb3J5IG1hbmFnZW1lbnQgKG1tLyksIHN5bmNocm9uaXphdGlvbi9sb2NraW5nIChrZXJuZWwvbG9ja2luZy8pLFxuICAgIEJQRiwgc2NoZWR1bGVyLCBjb3JlIG5ldHdvcmtpbmcsIFZGUywgb3Igc3lzY2FsbCBoYW5kbGluZy5cbi0gUmVmYWN0b3JpbmdzIGFuZCBDb2RlIENsZWFudXBzOlxuICAqIEFueSByZXN0cnVjdHVyaW5nIG9mIHJlYWNoYWJsZSBkYXRhIHN0cnVjdHVyZXMsIGhlbHBlciBhYnN0cmFjdGlvbnMsIG9yIGFsZ29yaXRobSBmbG93cy5cbi0gUnVudGltZSBBc3NlcnRpb25zIGFuZCBEZWZlbnNpdmUgQ2hlY2tzOlxuICAqIEFueSBpbnRyb2R1Y3Rpb24gb3IgYWx0ZXJhdGlvbiBvZiBhc3NlcnRpb25zIChXQVJOX09OKiwgVk1fV0FSTl9PTiosIEJVR19PTiosIGV0Yy4pIGluIHJlYWNoYWJsZSBwYXRocy5cbi0gUmVhY2hhYmxlIERyaXZlcnMgYW5kIFByb3RvY29sczpcbiAgKiBEcml2ZXJzIGFjY2Vzc2libGUgdmlhIHZpcnR1YWwgYnVzZXMgKHZpcnRpbywgVVNCIGdhZGdldCwgbG9vcGJhY2ssIG5ldGxpbmssIGJpbmRlciwgc29ja2V0cywgZXRjLikuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG40LiBFWFRSQUNUSU5HIEZvY3VzU3ltYm9scyAoUFJFVkVOVElORyBESUxVVElPTilcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5XaGVuIFdvcnRoRnV6emluZz10cnVlLCB5b3UgbXVzdCBleHRyYWN0IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgaW50byBGb2N1c1N5bWJvbHMgdG8gZ3VpZGUgdGhlIGZ1enplcjpcblxuLSBBVk9JRCBVQklRVUlUT1VTIExJRkVDWUNMRSBIT1QtUEFUSFM6XG4gIERvIE5PVCBsaXN0IGdlbmVyaWMsIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhbGxlZCBieSBhbG1vc3QgZXZlcnkgcHJvZ3JhbSBpbiB0aGUgY29ycHVzXG4gIChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bzogZ2VuZXJhbCBtZW1vcnkgYWxsb2NhdG9ycyBhbmQgZGVhbGxvY2F0b3JzLCBwYWdlIGZhdWx0XG4gIGFuZCB0cmFwIGhhbmRsZXJzLCBvciBjb3JlIHN5bmNocm9uaXphdGlvbiBwcmltaXRpdmVzOyB0aGlzIGlzIG5vdCBhbiBleGhhdXN0aXZlIGxpc3QpLlxuICBMaXN0aW5nIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhdXNlcyB0aGUgZnV6emVyIHRvIGNsYXNzaWZ5IHRob3VzYW5kcyBvZiB1bnJlbGF0ZWQgdGVzdHMgYXMgXCJmb2N1c2VkXCIsXG4gIHdoaWNoIHNldmVyZWx5IGRpbHV0ZXMgZnV6emluZyBlZmZvcnQgYXdheSBmcm9tIHRoZSBhY3R1YWwgY2hhbmdlcy5cblxuLSBUQVJHRVQgU1BFQ0lGSUMgRkVBVFVSRSBMT0dJQyBBTkQgRU5UUllQT0lOVFM6XG4gIExpc3QgZnVuY3Rpb25zIHRoYXQgc3BlY2lmaWNhbGx5IGltcGxlbWVudCB0aGUgbG9naWMgYmVpbmcgYWRkZWQgb3IgYWx0ZXJlZCwgb3IgZGlyZWN0IEFQSSBlbnRyeXBvaW50c1xuICBmb3IgdGhlIHN1YnN5c3RlbSBmZWF0dXJlIHVuZGVyIHJldmlldy5cblxuLSBIQU5ETElORyBTVEFUSUMgSU5MSU5FIEZVTkNUSU9OUyBJTiBIRUFERVJTICguaCk6XG4gIENvbXBpbGVyLWlubGluZWQgc3RhdGljIGZ1bmN0aW9ucyAoc3VjaCBhcyBzdGF0aWMgaW5saW5lcyBpbiBtbS8qLmggb3IgaW5jbHVkZS9saW51eC8qLmgpIGxhY2tcbiAgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcyBpbiB2bWxpbnV4IGFuZCBjYW5ub3QgYmUgdGFyZ2V0ZWQgZGlyZWN0bHkgYnkgc3ltYm9sIGNvdmVyYWdlIGZpbHRlcnMuXG4gIElmIHRoZSBjaGFuZ2VzIGFyZSBwcmltYXJpbHkgaW4gc3RhdGljIGlubGluZSBoZWxwZXJzLCBpZGVudGlmeSBub24tc3RhdGljLCBmZWF0dXJlLXNwZWNpZmljIGNhbGxlclxuICBmdW5jdGlvbnMgaW4gLmMgZmlsZXMgdGhhdCBleGVyY2lzZSB0aGVtIChhdm9pZGluZyB1YmlxdWl0b3VzIGxpZmVjeWNsZSB3cmFwcGVycykuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG41LiBJREVOVElGWUlORyBFbmFibGVDb25maWdzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSBjb21waWxlIGFuZCByZWFjaCB0aGUgbW9kaWZpZWQgY29kZTpcbi0gSW5zcGVjdCBLY29uZmlnIGZpbGVzIGFuZCAjaWZkZWYgZ3VhcmRzOyBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbi0gQ2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzIG5lZWRlZC5cbi0gU3RyaXAgYW55ICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IlRhcmdldCBhcmNoaXRlY3R1cmU6IGFtZDY0XG5cbkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDIzNjc4M2MyNWVkOGZmOTRkYTVjN2ZmMWU1MmMxNTdhMjgzOTQ2MTBcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIFNlcCA5IDEzOjEzOjQ5IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZnMvbmxzL25sc19pc284ODU5LTE0LmMgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuY1xuaW5kZXggYzc4OWVjY2I4YTY5NS4uNjBiOTQwMGY5MTVhZiAxMDA2NDRcbi0tLSBhL2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXG4rKysgYi9mcy9ubHMvbmxzX2lzbzg4NTktMTQuY1xuQEAgLTEzOCwyNCArMTM4LDIzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0ge1xuIH07XG4gXG4gc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7XG4tXHQweDAwLCAweDAwLCAweGExLCAweGEyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDAwLTB4MDcgKi9cbi1cdDB4MDAsIDB4MDAsIDB4YTYsIDB4YWIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwMC0weDA3ICovXG4rXHQweDAwLCAweDAwLCAweGE0LCAweGE1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDA4LTB4MGYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTAtMHgxNyAqL1xuLVx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiMCwgMHhiMSwgLyogMHgxOC0weDFmICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDE4LTB4MWYgKi9cbiBcdDB4YjIsIDB4YjMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjAtMHgyNyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDMwLTB4MzcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzgtMHgzZiAqL1xuLVx0MHhiNCwgMHhiNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQwLTB4NDcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDgtMHg0ZiAqL1xuLVx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiNywgMHhiOSwgLyogMHg1MC0weDU3ICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDUwLTB4NTcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTgtMHg1ZiAqL1xuLVx0MHhiYiwgMHhiZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4tXHQweDAwLCAweDAwLCAweGQ3LCAweGY3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbitcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2OC0weDZmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGQwLCAweGYwLCAweGRlLCAweGZlLCAvKiAweDcwLTB4NzcgKi9cbiBcdDB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqL1xuLVx0XG4tXHQweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbitcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4OC0weDhmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTgtMHg5ZiAqL1xuQEAgLTE2OSw3ICsxNjgsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDFbMjU2XSA9IHtcbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDgtMHhkZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlMC0weGU3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGU4LTB4ZWYgKi9cbi1cdDB4MDAsIDB4MDAsIDB4YWMsIDB4YmMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cbiB9O1xuIFxuQEAgLTE3OCw3ICsxNzcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMWVbMjU2XSA9IHtcbiBcdDB4MDAsIDB4MDAsIDB4YTYsIDB4YWIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxMC0weDE3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi9cbi1cdDB4YjIsIDB4YjMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjAtMHgyNyAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDI4LTB4MmYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzAtMHgzNyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovXG5AQCAtMTg4LDkgKzE4Nyw4IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0ge1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1OC0weDVmICovXG4gXHQweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4ZDcsIDB4ZjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xuLVx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhkMCwgMHhmMCwgMHhkZSwgMHhmZSwgLyogMHg3MC0weDc3ICovXG4tXHQweGFmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cbi1cbitcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzAtMHg3NyAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4gXHQweGE4LCAweGI4LCAweGFhLCAweGJhLCAweGJkLCAweGJlLCAweDAwLCAweDAwLCAvKiAweDgwLTB4ODcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODgtMHg4ZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5MC0weDk3ICovXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxMzo1MS40NTY4OTU1OTdaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjoxNzM5NDU5MDczNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFBhdGNoOiBubHNfaXNvODg1OS0xNC5jKipcblxuQWxyaWdodCwgbGV0J3MgZGl2ZSBpbnRvIHRoaXMuIFRoZSBwYXRjaCBpbW1lZGlhdGVseSBmbGFncyBteSBhdHRlbnRpb246IGl0J3MgaGl0dGluZyBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgLiBPa2F5LCBzbyB3ZSdyZSBkZWFsaW5nIHdpdGggY2hhcmFjdGVyIHNldCBzdXBwb3J0LCBzcGVjaWZpY2FsbHkgSVNPLTg4NTktMTQuIEkga25vdyB0aGlzIGZpbGU7IGl0J3MgdGhlIGNvcmUgb2YgdGhlIGltcGxlbWVudGF0aW9uIGZvciB0aGF0IHBhcnRpY3VsYXIgY2hhcmFjdGVyIGVuY29kaW5nIHdpdGhpbiB0aGUgZmlsZXN5c3RlbSdzIE5MUyAoTmF0aW9uYWwgTGFuZ3VhZ2UgU3VwcG9ydCkgbGF5ZXIuXG5cblRoZSBjcml0aWNhbCBwaWVjZXMgb2YgaW50ZXJlc3QgaGVyZSBhcmUgdGhlIGFycmF5cyBgcGFnZTAxYCBhbmQgYHBhZ2UxZWAgd2l0aGluIHRoYXQgc291cmNlIGZpbGUuIEl0IHdvdWxkIGJlIHZhbHVhYmxlIHRvIHVuZGVyc3RhbmQgd2hhdCB0aGVzZSBhcnJheXMgYXJlLiBJIG5lZWQgdG8gZ2V0IGEgY2xlYXIgcGljdHVyZSBvZiB3aGF0IHRoZXkgY29udGFpbiBhbmQgaG93IHRoZXkncmUgYmVpbmcgdXNlZCB3aXRoaW4gdGhlIGNvbnRleHQgb2YgdGhlIGVuY29kaW5nIGNvbnZlcnNpb24uXG5cbk15IG5leHQgc3RlcCBpcyBjbGVhcjogSSdtIGdvaW5nIHRvIHB1bGwgdXAgYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYCBkaXJlY3RseS4gSSBuZWVkIHRvIGV4YW1pbmUgdGhvc2UgYXJyYXlzIHdpdGhpbiB0aGVpciBicm9hZGVyIGNvbnRleHQuIEEgcXVpY2sgYHJlYWQtZmlsZWAgb3IgYSBgZ3JlcHBlcmAgY2FsbCBzaG91bGQgZ2l2ZSBtZSB3aGF0IEkgbmVlZC4gTGV0J3Mgc2VlIHdoYXQncyBiZWluZyB0d2Vha2VkIGFuZCB3aHkuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjYwODcsIk91dHB1dFRva2VucyI6NDUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTUsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDowOC44NTE1MDQ4NjFaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNTQ0NDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiZnMvbmxzL25sc19pc284ODU5LTE0LmNcIixcbiAgXCJGaXJzdExpbmVcIjogMSxcbiAgXCJMaW5lQ291bnRcIjogMTAwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0LypcXG4gICAyOlxcdCAqIGxpbnV4L2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXFxuICAgMzpcXHQgKlxcbiAgIDQ6XFx0ICogQ2hhcnNldCBpc284ODU5LTE0IHRyYW5zbGF0aW9uIHRhYmxlcy5cXG4gICA1OlxcdCAqXFxuICAgNjpcXHQgKiBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBmcm9tIHRoZSBVbmljb2RlIGFuZCBjaGFyc2V0IHRhYmxlXFxuICAgNzpcXHQgKiBwcm92aWRlZCBieSB0aGUgVW5pY29kZSBPcmdhbmlzYXRpb24gYXRcXG4gICA4OlxcdCAqIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvXFxuICAgOTpcXHQgKiBUaGUgVW5pY29kZSB0byBjaGFyc2V0IHRhYmxlIGhhcyBvbmx5IGV4YWN0IG1hcHBpbmdzLlxcbiAgMTA6XFx0ICpcXG4gIDExOlxcdCAqIFJoeXMgSm9uZXMsIFN3YW5zZWEgVW5pdmVyc2l0eSBDb21wdXRlciBTb2NpZXR5XFxuICAxMjpcXHQgKiByaHlzQHN1Y3Muc3dhbi5hYy51a1xcbiAgMTM6XFx0ICovXFxuICAxNDpcXHRcXG4gIDE1OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9tb2R1bGUuaFxcdTAwM2VcXG4gIDE2OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9rZXJuZWwuaFxcdTAwM2VcXG4gIDE3OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9zdHJpbmcuaFxcdTAwM2VcXG4gIDE4OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9ubHMuaFxcdTAwM2VcXG4gIDE5OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJuby5oXFx1MDAzZVxcbiAgMjA6XFx0XFxuICAyMTpcXHRzdGF0aWMgY29uc3Qgd2NoYXJfdCBjaGFyc2V0MnVuaVsyNTZdID0ge1xcbiAgMjI6XFx0XFx0LyogMHgwMCovXFxuICAyMzpcXHRcXHQweDAwMDAsIDB4MDAwMSwgMHgwMDAyLCAweDAwMDMsIFxcbiAgMjQ6XFx0XFx0MHgwMDA0LCAweDAwMDUsIDB4MDAwNiwgMHgwMDA3LCBcXG4gIDI1OlxcdFxcdDB4MDAwOCwgMHgwMDA5LCAweDAwMGEsIDB4MDAwYiwgXFxuICAyNjpcXHRcXHQweDAwMGMsIDB4MDAwZCwgMHgwMDBlLCAweDAwMGYsIFxcbiAgMjc6XFx0XFx0LyogMHgxMCovXFxuICAyODpcXHRcXHQweDAwMTAsIDB4MDAxMSwgMHgwMDEyLCAweDAwMTMsIFxcbiAgMjk6XFx0XFx0MHgwMDE0LCAweDAwMTUsIDB4MDAxNiwgMHgwMDE3LCBcXG4gIDMwOlxcdFxcdDB4MDAxOCwgMHgwMDE5LCAweDAwMWEsIDB4MDAxYiwgXFxuICAzMTpcXHRcXHQweDAwMWMsIDB4MDAxZCwgMHgwMDFlLCAweDAwMWYsIFxcbiAgMzI6XFx0XFx0LyogMHgyMCovXFxuICAzMzpcXHRcXHQweDAwMjAsIDB4MDAyMSwgMHgwMDIyLCAweDAwMjMsIFxcbiAgMzQ6XFx0XFx0MHgwMDI0LCAweDAwMjUsIDB4MDAyNiwgMHgwMDI3LCBcXG4gIDM1OlxcdFxcdDB4MDAyOCwgMHgwMDI5LCAweDAwMmEsIDB4MDAyYiwgXFxuICAzNjpcXHRcXHQweDAwMmMsIDB4MDAyZCwgMHgwMDJlLCAweDAwMmYsIFxcbiAgMzc6XFx0XFx0LyogMHgzMCovXFxuICAzODpcXHRcXHQweDAwMzAsIDB4MDAzMSwgMHgwMDMyLCAweDAwMzMsIFxcbiAgMzk6XFx0XFx0MHgwMDM0LCAweDAwMzUsIDB4MDAzNiwgMHgwMDM3LCBcXG4gIDQwOlxcdFxcdDB4MDAzOCwgMHgwMDM5LCAweDAwM2EsIDB4MDAzYiwgXFxuICA0MTpcXHRcXHQweDAwM2MsIDB4MDAzZCwgMHgwMDNlLCAweDAwM2YsIFxcbiAgNDI6XFx0XFx0LyogMHg0MCovXFxuICA0MzpcXHRcXHQweDAwNDAsIDB4MDA0MSwgMHgwMDQyLCAweDAwNDMsIFxcbiAgNDQ6XFx0XFx0MHgwMDQ0LCAweDAwNDUsIDB4MDA0NiwgMHgwMDQ3LCBcXG4gIDQ1OlxcdFxcdDB4MDA0OCwgMHgwMDQ5LCAweDAwNGEsIDB4MDA0YiwgXFxuICA0NjpcXHRcXHQweDAwNGMsIDB4MDA0ZCwgMHgwMDRlLCAweDAwNGYsIFxcbiAgNDc6XFx0XFx0LyogMHg1MCovXFxuICA0ODpcXHRcXHQweDAwNTAsIDB4MDA1MSwgMHgwMDUyLCAweDAwNTMsIFxcbiAgNDk6XFx0XFx0MHgwMDU0LCAweDAwNTUsIDB4MDA1NiwgMHgwMDU3LCBcXG4gIDUwOlxcdFxcdDB4MDA1OCwgMHgwMDU5LCAweDAwNWEsIDB4MDA1YiwgXFxuICA1MTpcXHRcXHQweDAwNWMsIDB4MDA1ZCwgMHgwMDVlLCAweDAwNWYsIFxcbiAgNTI6XFx0XFx0LyogMHg2MCovXFxuICA1MzpcXHRcXHQweDAwNjAsIDB4MDA2MSwgMHgwMDYyLCAweDAwNjMsIFxcbiAgNTQ6XFx0XFx0MHgwMDY0LCAweDAwNjUsIDB4MDA2NiwgMHgwMDY3LCBcXG4gIDU1OlxcdFxcdDB4MDA2OCwgMHgwMDY5LCAweDAwNmEsIDB4MDA2YiwgXFxuICA1NjpcXHRcXHQweDAwNmMsIDB4MDA2ZCwgMHgwMDZlLCAweDAwNmYsIFxcbiAgNTc6XFx0XFx0LyogMHg3MCovXFxuICA1ODpcXHRcXHQweDAwNzAsIDB4MDA3MSwgMHgwMDcyLCAweDAwNzMsIFxcbiAgNTk6XFx0XFx0MHgwMDc0LCAweDAwNzUsIDB4MDA3NiwgMHgwMDc3LCBcXG4gIDYwOlxcdFxcdDB4MDA3OCwgMHgwMDc5LCAweDAwN2EsIDB4MDA3YiwgXFxuICA2MTpcXHRcXHQweDAwN2MsIDB4MDA3ZCwgMHgwMDdlLCAweDAwN2YsIFxcbiAgNjI6XFx0XFx0LyogMHg4MCovXFxuICA2MzpcXHRcXHQweDAwODAsIDB4MDA4MSwgMHgwMDgyLCAweDAwODMsXFxuICA2NDpcXHRcXHQweDAwODQsIDB4MDA4NSwgMHgwMDg2LCAweDAwODcsXFxuICA2NTpcXHRcXHQweDAwODgsIDB4MDA4OSwgMHgwMDhhLCAweDAwOGIsXFxuICA2NjpcXHRcXHQweDAwOGMsIDB4MDA4ZCwgMHgwMDhlLCAweDAwOGYsXFxuICA2NzpcXHRcXHQvKiAweDkwKi9cXG4gIDY4OlxcdFxcdDB4MDA5MCwgMHgwMDkxLCAweDAwOTIsIDB4MDA5MyxcXG4gIDY5OlxcdFxcdDB4MDA5NCwgMHgwMDk1LCAweDAwOTYsIDB4MDA5NyxcXG4gIDcwOlxcdFxcdDB4MDA5OCwgMHgwMDk5LCAweDAwOWEsIDB4MDA5YixcXG4gIDcxOlxcdFxcdDB4MDA5YywgMHgwMDlkLCAweDAwOWUsIDB4MDA5ZixcXG4gIDcyOlxcdFxcdC8qIDB4YTAqL1xcbiAgNzM6XFx0XFx0MHgwMGEwLCAweDFlMDIsIDB4MWUwMywgMHgwMGEzLCBcXG4gIDc0OlxcdFxcdDB4MDEwYSwgMHgwMTBiLCAweDFlMGEsIDB4MDBhNywgXFxuICA3NTpcXHRcXHQweDFlODAsIDB4MDBhOSwgMHgxZTgyLCAweDFlMGIsIFxcbiAgNzY6XFx0XFx0MHgxZWYyLCAweDAwYWQsIDB4MDBhZSwgMHgwMTc4LCBcXG4gIDc3OlxcdFxcdC8qIDB4YjAqL1xcbiAgNzg6XFx0XFx0MHgxZTFlLCAweDFlMWYsIDB4MDEyMCwgMHgwMTIxLCBcXG4gIDc5OlxcdFxcdDB4MWU0MCwgMHgxZTQxLCAweDAwYjYsIDB4MWU1NiwgXFxuICA4MDpcXHRcXHQweDFlODEsIDB4MWU1NywgMHgxZTgzLCAweDFlNjAsIFxcbiAgODE6XFx0XFx0MHgxZWYzLCAweDFlODQsIDB4MWU4NSwgMHgxZTYxLCBcXG4gIDgyOlxcdFxcdC8qIDB4YzAqL1xcbiAgODM6XFx0XFx0MHgwMGMwLCAweDAwYzEsIDB4MDBjMiwgMHgwMGMzLCBcXG4gIDg0OlxcdFxcdDB4MDBjNCwgMHgwMGM1LCAweDAwYzYsIDB4MDBjNywgXFxuICA4NTpcXHRcXHQweDAwYzgsIDB4MDBjOSwgMHgwMGNhLCAweDAwY2IsIFxcbiAgODY6XFx0XFx0MHgwMGNjLCAweDAwY2QsIDB4MDBjZSwgMHgwMGNmLCBcXG4gIDg3OlxcdFxcdC8qIDB4ZDAqL1xcbiAgODg6XFx0XFx0MHgwMTc0LCAweDAwZDEsIDB4MDBkMiwgMHgwMGQzLCBcXG4gIDg5OlxcdFxcdDB4MDBkNCwgMHgwMGQ1LCAweDAwZDYsIDB4MWU2YSwgXFxuICA5MDpcXHRcXHQweDAwZDgsIDB4MDBkOSwgMHgwMGRhLCAweDAwZGIsIFxcbiAgOTE6XFx0XFx0MHgwMGRjLCAweDAwZGQsIDB4MDE3NiwgMHgwMGRmLCBcXG4gIDkyOlxcdFxcdC8qIDB4ZTAqL1xcbiAgOTM6XFx0XFx0MHgwMGUwLCAweDAwZTEsIDB4MDBlMiwgMHgwMGUzLCBcXG4gIDk0OlxcdFxcdDB4MDBlNCwgMHgwMGU1LCAweDAwZTYsIDB4MDBlNywgXFxuICA5NTpcXHRcXHQweDAwZTgsIDB4MDBlOSwgMHgwMGVhLCAweDAwZWIsIFxcbiAgOTY6XFx0XFx0MHgwMGVjLCAweDAwZWQsIDB4MDBlZSwgMHgwMGVmLCBcXG4gIDk3OlxcdFxcdC8qIDB4ZjAqL1xcbiAgOTg6XFx0XFx0MHgwMTc1LCAweDAwZjEsIDB4MDBmMiwgMHgwMGYzLCBcXG4gIDk5OlxcdFxcdDB4MDBmNCwgMHgwMGY1LCAweDAwZjYsIDB4MWU2YiwgXFxuIDEwMDpcXHRcXHQweDAwZjgsIDB4MDBmOSwgMHgwMGZhLCAweDAwZmIsIFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDowOC44NTE2NjE5OTFaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjoyODE2MzMzMzM0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBsZXQncyBkaXZlIGludG8gdGhpcyBjb2RlLlxuXG4qKkRpdmluZyBpbnRvIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AqKlxuXG5BbHJpZ2h0LCBJJ20gcmVhZHkgdG8gZ2V0IG15IHRlZXRoIGludG8gdGhlIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgZmlsZS4gR2l2ZW4gbXkgZXhwZXJ0aXNlLCBJJ20gZXhwZWN0aW5nIHRoaXMgdG8gYmUgYSBjaGFyYWN0ZXIgZW5jb2RpbmcgdGFibGUsIGxpa2VseSBkZWZpbmluZyB0aGUgbWFwcGluZyBiZXR3ZWVuIHRoZSBJU08tODg1OS0xNCBjaGFyYWN0ZXIgc2V0IGFuZCBzb21ldGhpbmcgaW50ZXJuYWwgdG8gdGhlIGZpbGVzeXN0ZW0sIHByb2JhYmx5IFVuaWNvZGUgb3IgVVRGLTguIEknbGwgYmUgbG9va2luZyBmb3IgdGhlIHN0cnVjdHVyZSB0aGF0IGhvbGRzIHRoZSBjaGFyYWN0ZXIgbWFwcGluZyBkYXRhLCBhbmQgSSBhbnRpY2lwYXRlIHNlZWluZyBhIHNlcmllcyBvZiBhcnJheXMgb3IgbG9va3VwIHRhYmxlcy4gSSdsbCBiZSBmb2N1c2luZyBvbiBob3cgdGhlIHRyYW5zbGF0aW9uIGJldHdlZW4gdGhlIGNoYXJhY3RlciBzZXRzIGlzIGhhbmRsZWQgYW5kIGlmIHRoZXJlJ3MgYW55IGNsZXZlcm5lc3MgaW4gdGhlIGltcGxlbWVudGF0aW9uIGZvciBvcHRpbWl6YXRpb24gb3Igc3BlY2lhbCBjaGFyYWN0ZXIgaGFuZGxpbmcuIEknbGwgYmUgcGFydGljdWxhcmx5IGludGVyZXN0ZWQgaW4gaG93IHRoZXkgYWRkcmVzcyBpc3N1ZXMgbGlrZSBpbnZhbGlkIG9yIHVubWFwcGFibGUgY2hhcmFjdGVycywgYW5kIGhvdyB0aG9zZSBjYXNlcyBhcmUgaGFuZGxlZC4gTGV0J3Mgc2VlIGlmIGl0J3Mgd2VsbC1jb21tZW50ZWQuIFRoYXQncyBhbHdheXMgYSBiaWcgaGVscCFcblxuXG4iLCJJbnB1dFRva2VucyI6OTM1OSwiT3V0cHV0VG9rZW5zIjo0NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI3LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MTEuNjY3OTk4NzM1WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTkyNDYwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9ubHNfaXNvODg1OS0xNC5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEwMSxcbiAgXCJMaW5lQ291bnRcIjogMTUwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAxMDE6XFx0XFx0MHgwMGZjLCAweDAwZmQsIDB4MDE3NywgMHgwMGZmLCBcXG4gMTAyOlxcdH07XFxuIDEwMzpcXHRcXG4gMTA0OlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMFsyNTZdID0ge1xcbiAxMDU6XFx0XFx0MHgwMCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwNSwgMHgwNiwgMHgwNywgLyogMHgwMC0weDA3ICovXFxuIDEwNjpcXHRcXHQweDA4LCAweDA5LCAweDBhLCAweDBiLCAweDBjLCAweDBkLCAweDBlLCAweDBmLCAvKiAweDA4LTB4MGYgKi9cXG4gMTA3OlxcdFxcdDB4MTAsIDB4MTEsIDB4MTIsIDB4MTMsIDB4MTQsIDB4MTUsIDB4MTYsIDB4MTcsIC8qIDB4MTAtMHgxNyAqL1xcbiAxMDg6XFx0XFx0MHgxOCwgMHgxOSwgMHgxYSwgMHgxYiwgMHgxYywgMHgxZCwgMHgxZSwgMHgxZiwgLyogMHgxOC0weDFmICovXFxuIDEwOTpcXHRcXHQweDIwLCAweDIxLCAweDIyLCAweDIzLCAweDI0LCAweDI1LCAweDI2LCAweDI3LCAvKiAweDIwLTB4MjcgKi9cXG4gMTEwOlxcdFxcdDB4MjgsIDB4MjksIDB4MmEsIDB4MmIsIDB4MmMsIDB4MmQsIDB4MmUsIDB4MmYsIC8qIDB4MjgtMHgyZiAqL1xcbiAxMTE6XFx0XFx0MHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgLyogMHgzMC0weDM3ICovXFxuIDExMjpcXHRcXHQweDM4LCAweDM5LCAweDNhLCAweDNiLCAweDNjLCAweDNkLCAweDNlLCAweDNmLCAvKiAweDM4LTB4M2YgKi9cXG4gMTEzOlxcdFxcdDB4NDAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NDAtMHg0NyAqL1xcbiAxMTQ6XFx0XFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg0OC0weDRmICovXFxuIDExNTpcXHRcXHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDUwLTB4NTcgKi9cXG4gMTE2OlxcdFxcdDB4NTgsIDB4NTksIDB4NWEsIDB4NWIsIDB4NWMsIDB4NWQsIDB4NWUsIDB4NWYsIC8qIDB4NTgtMHg1ZiAqL1xcbiAxMTc6XFx0XFx0MHg2MCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NywgLyogMHg2MC0weDY3ICovXFxuIDExODpcXHRcXHQweDY4LCAweDY5LCAweDZhLCAweDZiLCAweDZjLCAweDZkLCAweDZlLCAweDZmLCAvKiAweDY4LTB4NmYgKi9cXG4gMTE5OlxcdFxcdDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsIC8qIDB4NzAtMHg3NyAqL1xcbiAxMjA6XFx0XFx0MHg3OCwgMHg3OSwgMHg3YSwgMHg3YiwgMHg3YywgMHg3ZCwgMHg3ZSwgMHg3ZiwgLyogMHg3OC0weDdmICovXFxuIDEyMTpcXHRcXG4gMTIyOlxcdFxcdDB4ODAsIDB4ODEsIDB4ODIsIDB4ODMsIDB4ODQsIDB4ODUsIDB4ODYsIDB4ODcsIC8qIDB4ODAtMHg4NyAqL1xcbiAxMjM6XFx0XFx0MHg4OCwgMHg4OSwgMHg4YSwgMHg4YiwgMHg4YywgMHg4ZCwgMHg4ZSwgMHg4ZiwgLyogMHg4OC0weDhmICovXFxuIDEyNDpcXHRcXHQweDkwLCAweDkxLCAweDkyLCAweDkzLCAweDk0LCAweDk1LCAweDk2LCAweDk3LCAvKiAweDkwLTB4OTcgKi9cXG4gMTI1OlxcdFxcdDB4OTgsIDB4OTksIDB4OWEsIDB4OWIsIDB4OWMsIDB4OWQsIDB4OWUsIDB4OWYsIC8qIDB4OTgtMHg5ZiAqL1xcbiAxMjY6XFx0XFx0MHhhMCwgMHgwMCwgMHgwMCwgMHhhMywgMHgwMCwgMHgwMCwgMHgwMCwgMHhhNywgLyogMHhhMC0weGE3ICovXFxuIDEyNzpcXHRcXHQweDAwLCAweGE5LCAweDAwLCAweDAwLCAweDAwLCAweGFkLCAweGFlLCAweDAwLCAvKiAweGE4LTB4YWYgKi9cXG4gMTI4OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjYsIDB4MDAsIC8qIDB4YjAtMHhiNyAqL1xcbiAxMjk6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhiOC0weGJmICovXFxuIDEzMDpcXHRcXHQweGMwLCAweGMxLCAweGMyLCAweGMzLCAweGM0LCAweGM1LCAweGM2LCAweGM3LCAvKiAweGMwLTB4YzcgKi9cXG4gMTMxOlxcdFxcdDB4YzgsIDB4YzksIDB4Y2EsIDB4Y2IsIDB4Y2MsIDB4Y2QsIDB4Y2UsIDB4Y2YsIC8qIDB4YzgtMHhjZiAqL1xcbiAxMzI6XFx0XFx0MHgwMCwgMHhkMSwgMHhkMiwgMHhkMywgMHhkNCwgMHhkNSwgMHhkNiwgMHgwMCwgLyogMHhkMC0weGQ3ICovXFxuIDEzMzpcXHRcXHQweGQ4LCAweGQ5LCAweGRhLCAweGRiLCAweGRjLCAweGRkLCAweDAwLCAweGRmLCAvKiAweGQ4LTB4ZGYgKi9cXG4gMTM0OlxcdFxcdDB4ZTAsIDB4ZTEsIDB4ZTIsIDB4ZTMsIDB4ZTQsIDB4ZTUsIDB4ZTYsIDB4ZTcsIC8qIDB4ZTAtMHhlNyAqL1xcbiAxMzU6XFx0XFx0MHhlOCwgMHhlOSwgMHhlYSwgMHhlYiwgMHhlYywgMHhlZCwgMHhlZSwgMHhlZiwgLyogMHhlOC0weGVmICovXFxuIDEzNjpcXHRcXHQweDAwLCAweGYxLCAweGYyLCAweGYzLCAweGY0LCAweGY1LCAweGY2LCAweDAwLCAvKiAweGYwLTB4ZjcgKi9cXG4gMTM3OlxcdFxcdDB4ZjgsIDB4ZjksIDB4ZmEsIDB4ZmIsIDB4ZmMsIDB4ZmQsIDB4MDAsIDB4ZmYsIC8qIDB4ZjgtMHhmZiAqL1xcbiAxMzg6XFx0fTtcXG4gMTM5OlxcdFxcbiAxNDA6XFx0c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAxWzI1Nl0gPSB7XFxuIDE0MTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDAwLTB4MDcgKi9cXG4gMTQyOlxcdFxcdDB4MDAsIDB4MDAsIDB4YTQsIDB4YTUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xcbiAxNDM6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxMC0weDE3ICovXFxuIDE0NDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDE4LTB4MWYgKi9cXG4gMTQ1OlxcdFxcdDB4YjIsIDB4YjMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjAtMHgyNyAqL1xcbiAxNDY6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovXFxuIDE0NzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDMwLTB4MzcgKi9cXG4gMTQ4OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzgtMHgzZiAqL1xcbiAxNDk6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovXFxuIDE1MDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQ4LTB4NGYgKi9cXG4gMTUxOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTAtMHg1NyAqL1xcbiAxNTI6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1OC0weDVmICovXFxuIDE1MzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi9cXG4gMTU0OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xcbiAxNTU6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhkMCwgMHhmMCwgMHhkZSwgMHhmZSwgLyogMHg3MC0weDc3ICovXFxuIDE1NjpcXHRcXHQweGFmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cXG4gMTU3OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqL1xcbiAxNTg6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4OC0weDhmICovXFxuIDE1OTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi9cXG4gMTYwOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTgtMHg5ZiAqL1xcbiAxNjE6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhhMC0weGE3ICovXFxuIDE2MjpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGE4LTB4YWYgKi9cXG4gMTYzOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjAtMHhiNyAqL1xcbiAxNjQ6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhiOC0weGJmICovXFxuIDE2NTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGMwLTB4YzcgKi9cXG4gMTY2OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YzgtMHhjZiAqL1xcbiAxNjc6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkMC0weGQ3ICovXFxuIDE2ODpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGQ4LTB4ZGYgKi9cXG4gMTY5OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTAtMHhlNyAqL1xcbiAxNzA6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlOC0weGVmICovXFxuIDE3MTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGYwLTB4ZjcgKi9cXG4gMTcyOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjgtMHhmZiAqL1xcbiAxNzM6XFx0fTtcXG4gMTc0OlxcdFxcbiAxNzU6XFx0c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTFlWzI1Nl0gPSB7XFxuIDE3NjpcXHRcXHQweDAwLCAweDAwLCAweGExLCAweGEyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDAwLTB4MDcgKi9cXG4gMTc3OlxcdFxcdDB4MDAsIDB4MDAsIDB4YTYsIDB4YWIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xcbiAxNzg6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxMC0weDE3ICovXFxuIDE3OTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi9cXG4gMTgwOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjAtMHgyNyAqL1xcbiAxODE6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyOC0weDJmICovXFxuIDE4MjpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDMwLTB4MzcgKi9cXG4gMTgzOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzgtMHgzZiAqL1xcbiAxODQ6XFx0XFx0MHhiNCwgMHhiNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0MC0weDQ3ICovXFxuIDE4NTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQ4LTB4NGYgKi9cXG4gMTg2OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjcsIDB4YjksIC8qIDB4NTAtMHg1NyAqL1xcbiAxODc6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1OC0weDVmICovXFxuIDE4ODpcXHRcXHQweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi9cXG4gMTg5OlxcdFxcdDB4MDAsIDB4MDAsIDB4ZDcsIDB4ZjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xcbiAxOTA6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3MC0weDc3ICovXFxuIDE5MTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cXG4gMTkyOlxcdFxcdDB4YTgsIDB4YjgsIDB4YWEsIDB4YmEsIDB4YmQsIDB4YmUsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqL1xcbiAxOTM6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4OC0weDhmICovXFxuIDE5NDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi9cXG4gMTk1OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTgtMHg5ZiAqL1xcbiAxOTY6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhhMC0weGE3ICovXFxuIDE5NzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGE4LTB4YWYgKi9cXG4gMTk4OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YjAtMHhiNyAqL1xcbiAxOTk6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhiOC0weGJmICovXFxuIDIwMDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGMwLTB4YzcgKi9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MTEuNjY4MTk0Njk1WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6MjY4ODQ5ODI0MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHN1bW1hcnksIGFzIHRob3VnaCBJIHdlcmUgdGhpbmtpbmcgdGhyb3VnaCB0aGUgY29kZTpcblxuKipEaXZpbmcgaW50byBgbmxzX2lzbzg4NTktMTQuY2AqKlxuXG5Pa2F5LCB0aW1lIHRvIGdldCBteSBoYW5kcyBkaXJ0eS4gTGV0J3MgZGlnIGRlZXBlciBpbnRvIHRoZSBjb2RlLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0J3MgaGFwcGVuaW5nIHdpdGggdGhpcyBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIGZpbGUuIEknbSBnb2luZyB0byBmb2xsb3cgdGhlIGxvZ2ljIGFuZCB1bmRlcnN0YW5kIGV4YWN0bHkgaG93IGl0IGhhbmRsZXMgdGhlIElTTy04ODU5LTE0IGNoYXJhY3RlciBlbmNvZGluZyB3aXRoaW4gdGhlIGZpbGVzeXN0ZW0gbGF5ZXIuIEkgZXhwZWN0IHRoaXMgdG8gYmUgYSBjcnVjaWFsIHBpZWNlIGluIGVuc3VyaW5nIHByb3BlciBjaGFyYWN0ZXIgaW50ZXJwcmV0YXRpb24gYW5kIHN0b3JhZ2UuIExldCdzIHNlZSBob3cgdGhleSd2ZSBpbXBsZW1lbnRlZCB0aGUgY29udmVyc2lvbnMgYW5kIGhvdyBpdCBpbnRlcmFjdHMgd2l0aCB0aGUgYnJvYWRlciBOTFMgKE5hdGlvbmFsIExhbmd1YWdlIFN1cHBvcnQpIGluZnJhc3RydWN0dXJlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxNTU0MiwiT3V0cHV0VG9rZW5zIjo0NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI3LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MTQuMzU2Njk2Mjc2WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTYxMjY5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9ubHNfaXNvODg1OS0xNC5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDIwMCxcbiAgXCJMaW5lQ291bnRcIjogMTAwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAyMDA6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjMC0weGM3ICovXFxuIDIwMTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGM4LTB4Y2YgKi9cXG4gMjAyOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xcbiAyMDM6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXFxuIDIwNDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cXG4gMjA1OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xcbiAyMDY6XFx0XFx0MHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXFxuIDIwNzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cXG4gMjA4OlxcdH07XFxuIDIwOTpcXHRcXG4gMjEwOlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuIDIxMTpcXHRcXHRwYWdlMDAsXFx0cGFnZTAxLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBcXG4gMjEyOlxcdFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXG4gMjEzOlxcdFxcbiAyMTQ6XFx0XFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcbiAyMTU6XFx0XFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0cGFnZTFlLFxcdE5VTEwsXFxuIDIxNjpcXHRcXG4gMjE3OlxcdFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXG4gMjE4OlxcdFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXG4gMjE5OlxcdH07XFxuIDIyMDpcXHRcXG4gMjIxOlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQybG93ZXJbMjU2XSA9IHtcXG4gMjIyOlxcdFxcdDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDUsIDB4MDYsIDB4MDcsIC8qIDB4MDAtMHgwNyAqL1xcbiAyMjM6XFx0XFx0MHgwOCwgMHgwOSwgMHgwYSwgMHgwYiwgMHgwYywgMHgwZCwgMHgwZSwgMHgwZiwgLyogMHgwOC0weDBmICovXFxuIDIyNDpcXHRcXHQweDEwLCAweDExLCAweDEyLCAweDEzLCAweDE0LCAweDE1LCAweDE2LCAweDE3LCAvKiAweDEwLTB4MTcgKi9cXG4gMjI1OlxcdFxcdDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsIC8qIDB4MTgtMHgxZiAqL1xcbiAyMjY6XFx0XFx0MHgyMCwgMHgyMSwgMHgyMiwgMHgyMywgMHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgLyogMHgyMC0weDI3ICovXFxuIDIyNzpcXHRcXHQweDI4LCAweDI5LCAweDJhLCAweDJiLCAweDJjLCAweDJkLCAweDJlLCAweDJmLCAvKiAweDI4LTB4MmYgKi9cXG4gMjI4OlxcdFxcdDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIC8qIDB4MzAtMHgzNyAqL1xcbiAyMjk6XFx0XFx0MHgzOCwgMHgzOSwgMHgzYSwgMHgzYiwgMHgzYywgMHgzZCwgMHgzZSwgMHgzZiwgLyogMHgzOC0weDNmICovXFxuIDIzMDpcXHRcXHQweDQwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LCAvKiAweDQwLTB4NDcgKi9cXG4gMjMxOlxcdFxcdDB4NjgsIDB4NjksIDB4NmEsIDB4NmIsIDB4NmMsIDB4NmQsIDB4NmUsIDB4NmYsIC8qIDB4NDgtMHg0ZiAqL1xcbiAyMzI6XFx0XFx0MHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NywgLyogMHg1MC0weDU3ICovXFxuIDIzMzpcXHRcXHQweDc4LCAweDc5LCAweDdhLCAweDViLCAweDVjLCAweDVkLCAweDVlLCAweDVmLCAvKiAweDU4LTB4NWYgKi9cXG4gMjM0OlxcdFxcdDB4NjAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsIC8qIDB4NjAtMHg2NyAqL1xcbiAyMzU6XFx0XFx0MHg2OCwgMHg2OSwgMHg2YSwgMHg2YiwgMHg2YywgMHg2ZCwgMHg2ZSwgMHg2ZiwgLyogMHg2OC0weDZmICovXFxuIDIzNjpcXHRcXHQweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LCAvKiAweDcwLTB4NzcgKi9cXG4gMjM3OlxcdFxcdDB4NzgsIDB4NzksIDB4N2EsIDB4N2IsIDB4N2MsIDB4N2QsIDB4N2UsIDB4N2YsIC8qIDB4NzgtMHg3ZiAqL1xcbiAyMzg6XFx0XFxuIDIzOTpcXHRcXHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cXG4gMjQwOlxcdFxcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xcbiAyNDE6XFx0XFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXFxuIDI0MjpcXHRcXHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cXG4gMjQzOlxcdFxcdDB4YTAsIDB4YTIsIDB4YTIsIDB4YTMsIDB4YWIsIDB4YWIsIDB4YWIsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xcbiAyNDQ6XFx0XFx0MHhiOCwgMHhhOSwgMHhiYSwgMHhhYiwgMHhiYywgMHhhZCwgMHhhZSwgMHhmZiwgLyogMHhhOC0weGFmICovXFxuIDI0NTpcXHRcXHQweGIxLCAweGIxLCAweGIzLCAweGIzLCAweGI1LCAweGI1LCAweGI2LCAweGI5LCAvKiAweGIwLTB4YjcgKi9cXG4gMjQ2OlxcdFxcdDB4YjgsIDB4YjksIDB4YmEsIDB4YmYsIDB4YmMsIDB4YmUsIDB4YmUsIDB4YmYsIC8qIDB4YjgtMHhiZiAqL1xcbiAyNDc6XFx0XFx0MHhlMCwgMHhlMSwgMHhlMiwgMHhlMywgMHhlNCwgMHhlNSwgMHhlNiwgMHhlNywgLyogMHhjMC0weGM3ICovXFxuIDI0ODpcXHRcXHQweGU4LCAweGU5LCAweGVhLCAweGViLCAweGVjLCAweGVkLCAweGVlLCAweGVmLCAvKiAweGM4LTB4Y2YgKi9cXG4gMjQ5OlxcdFxcdDB4ZjAsIDB4ZjEsIDB4ZjIsIDB4ZjMsIDB4ZjQsIDB4ZjUsIDB4ZjYsIDB4ZjcsIC8qIDB4ZDAtMHhkNyAqL1xcbiAyNTA6XFx0XFx0MHhmOCwgMHhmOSwgMHhmYSwgMHhmYiwgMHhmYywgMHhmZCwgMHhmZSwgMHhkZiwgLyogMHhkOC0weGRmICovXFxuIDI1MTpcXHRcXHQweGUwLCAweGUxLCAweGUyLCAweGUzLCAweGU0LCAweGU1LCAweGU2LCAweGU3LCAvKiAweGUwLTB4ZTcgKi9cXG4gMjUyOlxcdFxcdDB4ZTgsIDB4ZTksIDB4ZWEsIDB4ZWIsIDB4ZWMsIDB4ZWQsIDB4ZWUsIDB4ZWYsIC8qIDB4ZTgtMHhlZiAqL1xcbiAyNTM6XFx0XFx0MHhmMCwgMHhmMSwgMHhmMiwgMHhmMywgMHhmNCwgMHhmNSwgMHhmNiwgMHhmNywgLyogMHhmMC0weGY3ICovXFxuIDI1NDpcXHRcXHQweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweGZkLCAweGZlLCAweGZmLCAvKiAweGY4LTB4ZmYgKi9cXG4gMjU1OlxcdH07XFxuIDI1NjpcXHRcXG4gMjU3OlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4gMjU4OlxcdFxcdDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDUsIDB4MDYsIDB4MDcsIC8qIDB4MDAtMHgwNyAqL1xcbiAyNTk6XFx0XFx0MHgwOCwgMHgwOSwgMHgwYSwgMHgwYiwgMHgwYywgMHgwZCwgMHgwZSwgMHgwZiwgLyogMHgwOC0weDBmICovXFxuIDI2MDpcXHRcXHQweDEwLCAweDExLCAweDEyLCAweDEzLCAweDE0LCAweDE1LCAweDE2LCAweDE3LCAvKiAweDEwLTB4MTcgKi9cXG4gMjYxOlxcdFxcdDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsIC8qIDB4MTgtMHgxZiAqL1xcbiAyNjI6XFx0XFx0MHgyMCwgMHgyMSwgMHgyMiwgMHgyMywgMHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgLyogMHgyMC0weDI3ICovXFxuIDI2MzpcXHRcXHQweDI4LCAweDI5LCAweDJhLCAweDJiLCAweDJjLCAweDJkLCAweDJlLCAweDJmLCAvKiAweDI4LTB4MmYgKi9cXG4gMjY0OlxcdFxcdDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIC8qIDB4MzAtMHgzNyAqL1xcbiAyNjU6XFx0XFx0MHgzOCwgMHgzOSwgMHgzYSwgMHgzYiwgMHgzYywgMHgzZCwgMHgzZSwgMHgzZiwgLyogMHgzOC0weDNmICovXFxuIDI2NjpcXHRcXHQweDQwLCAweDQxLCAweDQyLCAweDQzLCAweDQ0LCAweDQ1LCAweDQ2LCAweDQ3LCAvKiAweDQwLTB4NDcgKi9cXG4gMjY3OlxcdFxcdDB4NDgsIDB4NDksIDB4NGEsIDB4NGIsIDB4NGMsIDB4NGQsIDB4NGUsIDB4NGYsIC8qIDB4NDgtMHg0ZiAqL1xcbiAyNjg6XFx0XFx0MHg1MCwgMHg1MSwgMHg1MiwgMHg1MywgMHg1NCwgMHg1NSwgMHg1NiwgMHg1NywgLyogMHg1MC0weDU3ICovXFxuIDI2OTpcXHRcXHQweDU4LCAweDU5LCAweDVhLCAweDViLCAweDVjLCAweDVkLCAweDVlLCAweDVmLCAvKiAweDU4LTB4NWYgKi9cXG4gMjcwOlxcdFxcdDB4NjAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NjAtMHg2NyAqL1xcbiAyNzE6XFx0XFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg2OC0weDZmICovXFxuIDI3MjpcXHRcXHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDcwLTB4NzcgKi9cXG4gMjczOlxcdFxcdDB4NTgsIDB4NTksIDB4NWEsIDB4N2IsIDB4N2MsIDB4N2QsIDB4N2UsIDB4N2YsIC8qIDB4NzgtMHg3ZiAqL1xcbiAyNzQ6XFx0XFxuIDI3NTpcXHRcXHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cXG4gMjc2OlxcdFxcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xcbiAyNzc6XFx0XFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXFxuIDI3ODpcXHRcXHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cXG4gMjc5OlxcdFxcdDB4YTAsIDB4YTEsIDB4YTEsIDB4YTMsIDB4YTYsIDB4YTYsIDB4YTYsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xcbiAyODA6XFx0XFx0MHhhOCwgMHhhOSwgMHhhYSwgMHhhNiwgMHhhYywgMHhhZCwgMHhhZSwgMHhhZiwgLyogMHhhOC0weGFmICovXFxuIDI4MTpcXHRcXHQweGIwLCAweGIwLCAweGIyLCAweGIyLCAweGI0LCAweGI0LCAweGI2LCAweGI3LCAvKiAweGIwLTB4YjcgKi9cXG4gMjgyOlxcdFxcdDB4YTgsIDB4YjcsIDB4YWEsIDB4YmIsIDB4YWMsIDB4YmQsIDB4YmQsIDB4YmIsIC8qIDB4YjgtMHhiZiAqL1xcbiAyODM6XFx0XFx0MHhjMCwgMHhjMSwgMHhjMiwgMHhjMywgMHhjNCwgMHhjNSwgMHhjNiwgMHhjNywgLyogMHhjMC0weGM3ICovXFxuIDI4NDpcXHRcXHQweGM4LCAweGM5LCAweGNhLCAweGNiLCAweGNjLCAweGNkLCAweGNlLCAweGNmLCAvKiAweGM4LTB4Y2YgKi9cXG4gMjg1OlxcdFxcdDB4ZDAsIDB4ZDEsIDB4ZDIsIDB4ZDMsIDB4ZDQsIDB4ZDUsIDB4ZDYsIDB4ZDcsIC8qIDB4ZDAtMHhkNyAqL1xcbiAyODY6XFx0XFx0MHhkOCwgMHhkOSwgMHhkYSwgMHhkYiwgMHhkYywgMHhkZCwgMHhkZSwgMHhkZiwgLyogMHhkOC0weGRmICovXFxuIDI4NzpcXHRcXHQweGMwLCAweGMxLCAweGMyLCAweGMzLCAweGM0LCAweGM1LCAweGM2LCAweGM3LCAvKiAweGUwLTB4ZTcgKi9cXG4gMjg4OlxcdFxcdDB4YzgsIDB4YzksIDB4Y2EsIDB4Y2IsIDB4Y2MsIDB4Y2QsIDB4Y2UsIDB4Y2YsIC8qIDB4ZTgtMHhlZiAqL1xcbiAyODk6XFx0XFx0MHhkMCwgMHhkMSwgMHhkMiwgMHhkMywgMHhkNCwgMHhkNSwgMHhkNiwgMHhkNywgLyogMHhmMC0weGY3ICovXFxuIDI5MDpcXHRcXHQweGQ4LCAweGQ5LCAweGRhLCAweGRiLCAweGRjLCAweGRkLCAweGRlLCAweGFmLCAvKiAweGY4LTB4ZmYgKi9cXG4gMjkxOlxcdH07XFxuIDI5MjpcXHRcXG4gMjkzOlxcdHN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbiAyOTQ6XFx0e1xcbiAyOTU6XFx0XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuIDI5NjpcXHRcXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbiAyOTc6XFx0XFx0dW5zaWduZWQgY2hhciBjaCA9ICh1bmkgXFx1MDAyNiAweGZmMDApIFxcdTAwM2VcXHUwMDNlIDg7XFxuIDI5ODpcXHRcXG4gMjk5OlxcdFxcdGlmIChib3VuZGxlbiBcXHUwMDNjPSAwKVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDoxNC4zNTY4NTk3NDdaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjoxOTkxNzg2NzkwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOlxuXG4qKkFuYWx5emluZyB0aGUgQ29kZWJhc2UgZm9yIENoYXJhY3RlciBFbmNvZGluZyBJbnRlcmFjdGlvbnMqKlxuXG5Pa2F5LCBsZXQncyBkaXZlIGRlZXBlci4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoaXMgbW9kdWxlIGhhbmRsZXMgY2hhcmFjdGVyIGVuY29kaW5nLCBwYXJ0aWN1bGFybHkgaG93IGl0IG1hcHMgYmV0d2VlbiBVbmljb2RlIGNoYXJhY3RlcnMgYW5kIHdoYXRldmVyIGludGVybmFsIHJlcHJlc2VudGF0aW9uIGl0J3MgdXNpbmcuIFRoZSBrZXkgcGllY2VzIG9mIGZ1bmN0aW9uYWxpdHkgSSdtIGxvb2tpbmcgZm9yIHdpbGwgYmUgdGhlIGB1bmkyY2hhcmAgYW5kIGBjaGFyMnVuaWAgZnVuY3Rpb25zIG9yIHRoZWlyIGVxdWl2YWxlbnRzLiBJIHdhbnQgdG8gc2VlIGhvdyB0aGVzZSBhcmUgaW1wbGVtZW50ZWQsIGFuZCB3aGV0aGVyIHRoZXJlIGFyZSBhbnkgb3B0aW1pemF0aW9ucyBvciBwb3RlbnRpYWwgYm90dGxlbmVja3MgaW4gdGhvc2UgY29udmVyc2lvbnMuIEkgbmVlZCB0byBiZSBwcmVwYXJlZCB0byBpZGVudGlmeSB0aGUgc3BlY2lmaWMgbW9kdWxlIHJlZ2lzdHJhdGlvbiBtZWNoYW5pc21zLCB3aGljaCBtYXkgZ2l2ZSBoaW50cyBhYm91dCBob3cgdGhlc2UgZnVuY3Rpb25zIGFyZSBleHBvc2VkIGFuZCB1c2VkIGJ5IG90aGVyIHBhcnRzIG9mIHRoZSBzeXN0ZW0uIEkgYWxzbyBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoZSBzeXN0ZW0gaGFzIG1hZGUgdGhlIGltcGxlbWVudGF0aW9uIG1haW50YWluYWJsZSwgaXMgaXQgZWFzaWx5IGV4dGVuZGlibGU/XG5cbkxldCdzIHN0YXJ0IGRpZ2dpbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIwNzM3LCJPdXRwdXRUb2tlbnMiOjQ2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjQsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDoxNi4zNDg2NDkyMjZaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTIyNDQwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9ubHNfaXNvODg1OS0xNC5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDI5NSxcbiAgXCJMaW5lQ291bnRcIjogNjBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDI5NTpcXHRcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG4gMjk2OlxcdFxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuIDI5NzpcXHRcXHR1bnNpZ25lZCBjaGFyIGNoID0gKHVuaSBcXHUwMDI2IDB4ZmYwMCkgXFx1MDAzZVxcdTAwM2UgODtcXG4gMjk4OlxcdFxcbiAyOTk6XFx0XFx0aWYgKGJvdW5kbGVuIFxcdTAwM2M9IDApXFxuIDMwMDpcXHRcXHRcXHRyZXR1cm4gLUVOQU1FVE9PTE9ORztcXG4gMzAxOlxcdFxcbiAzMDI6XFx0XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG4gMzAzOlxcdFxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuIDMwNDpcXHRcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuIDMwNTpcXHRcXHRlbHNlXFxuIDMwNjpcXHRcXHRcXHRyZXR1cm4gLUVJTlZBTDtcXG4gMzA3OlxcdFxcdHJldHVybiAxO1xcbiAzMDg6XFx0fVxcbiAzMDk6XFx0XFxuIDMxMDpcXHRzdGF0aWMgaW50IGNoYXIydW5pKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJhd3N0cmluZywgaW50IGJvdW5kbGVuLCB3Y2hhcl90ICp1bmkpXFxuIDMxMTpcXHR7XFxuIDMxMjpcXHRcXHQqdW5pID0gY2hhcnNldDJ1bmlbKnJhd3N0cmluZ107XFxuIDMxMzpcXHRcXHRpZiAoKnVuaSA9PSAweDAwMDApXFxuIDMxNDpcXHRcXHRcXHRyZXR1cm4gLUVJTlZBTDtcXG4gMzE1OlxcdFxcdHJldHVybiAxO1xcbiAzMTY6XFx0fVxcbiAzMTc6XFx0XFxuIDMxODpcXHRzdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG4gMzE5OlxcdFxcdC5jaGFyc2V0XFx0PSBcXFwiaXNvODg1OS0xNFxcXCIsXFxuIDMyMDpcXHRcXHQudW5pMmNoYXJcXHQ9IHVuaTJjaGFyLFxcbiAzMjE6XFx0XFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4gMzIyOlxcdFxcdC5jaGFyc2V0Mmxvd2VyXFx0PSBjaGFyc2V0Mmxvd2VyLFxcbiAzMjM6XFx0XFx0LmNoYXJzZXQydXBwZXJcXHQ9IGNoYXJzZXQydXBwZXIsXFxuIDMyNDpcXHR9O1xcbiAzMjU6XFx0XFxuIDMyNjpcXHRzdGF0aWMgaW50IF9faW5pdCBpbml0X25sc19pc284ODU5XzE0KHZvaWQpXFxuIDMyNzpcXHR7XFxuIDMyODpcXHRcXHRyZXR1cm4gcmVnaXN0ZXJfbmxzKFxcdTAwMjZ0YWJsZSk7XFxuIDMyOTpcXHR9XFxuIDMzMDpcXHRcXG4gMzMxOlxcdHN0YXRpYyB2b2lkIF9fZXhpdCBleGl0X25sc19pc284ODU5XzE0KHZvaWQpXFxuIDMzMjpcXHR7XFxuIDMzMzpcXHRcXHR1bnJlZ2lzdGVyX25scyhcXHUwMDI2dGFibGUpO1xcbiAzMzQ6XFx0fVxcbiAzMzU6XFx0XFxuIDMzNjpcXHRtb2R1bGVfaW5pdChpbml0X25sc19pc284ODU5XzE0KVxcbiAzMzc6XFx0bW9kdWxlX2V4aXQoZXhpdF9ubHNfaXNvODg1OV8xNClcXG4gMzM4OlxcdFxcbiAzMzk6XFx0TU9EVUxFX0RFU0NSSVBUSU9OKFxcXCJOTFMgSVNPIDg4NTktMTQgKExhdGluIDg7IENlbHRpYylcXFwiKTtcXG4gMzQwOlxcdE1PRFVMRV9MSUNFTlNFKFxcXCJEdWFsIEJTRC9HUExcXFwiKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MTYuMzQ4Nzc1NDI3WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjE5MDY2MDk2NjcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzOlxuXG4qKkludmVzdGlnYXRpbmcgTkxTX0lTTzg4NTlfMTQgU3VwcG9ydCoqXG5cbk9rYXksIHNvIEkgbmVlZCB0byBkaWcgaW50byB0aGUga2VybmVsIGNvbmZpZyBzeXN0ZW0gdG8gZmlndXJlIG91dCBob3cgYG5sc19pc284ODU5LTE0YCBpcyBoYW5kbGVkLiBNeSBmaXJzdCBtb3ZlIGlzIHRvIGdvIHN0cmFpZ2h0IHRvIGBLY29uZmlnYC4gVGhhdCdzIHdoZXJlIGFsbCB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIGxpdmUuIEknbGwgbGlrZWx5IGZpbmQgaXQgdW5kZXIgYGZzL25scy9LY29uZmlnYCwgb3Igc29tZXdoZXJlIHNpbWlsYXIgaWYgaXQncyBiZWVuIG1vdmVkIGFyb3VuZC4gVGhlbiwgSSdsbCB1c2UgYGdyZXBgIOKAkyB0aGF0J3MgdGhlIGZhc3Rlc3Qgd2F5IHRvIG5haWwgZG93biB3aGVyZSBgTkxTX0lTTzg4NTlfMTRgIGlzIGRlZmluZWQgYW5kIHdoYXQgZGVwZW5kZW5jaWVzIG9yIGJ1aWxkIG9wdGlvbnMgYXJlIHRpZWQgdG8gaXQuIFRoaXMgc2hvdWxkIGdpdmUgbWUgYSBzb2xpZCBzdGFydGluZyBwb2ludCBmb3IgdW5kZXJzdGFuZGluZyBob3cgdGhpcyBjaGFyYWN0ZXIgc2V0IGlzIG1hbmFnZWQgd2l0aGluIHRoZSBrZXJuZWwncyBOTFMgZnJhbWV3b3JrLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMTY2NCwiT3V0cHV0VG9rZW5zIjoyNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ5LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MTguMjU1Mzg5MTU0WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NjEzNTYxNDEwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIk5MU19JU084ODU5XzE0XCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gvYXJtL2NvbmZpZ3Mvam9ybmFkYTcyMF9kZWZjb25maWc9ODc9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL2FybS9jb25maWdzL2pvcm5hZGE3MjBfZGVmY29uZmlnOjg4OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9hcm0vY29uZmlncy9qb3JuYWRhNzIwX2RlZmNvbmZpZy04OS1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvYW1pZ2FfZGVmY29uZmlnPTQ4Nz1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbTY4ay9jb25maWdzL2FtaWdhX2RlZmNvbmZpZzo0ODg6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL202OGsvY29uZmlncy9hbWlnYV9kZWZjb25maWctNDg5LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL202OGsvY29uZmlncy9hcG9sbG9fZGVmY29uZmlnPTQ0Mj1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbTY4ay9jb25maWdzL2Fwb2xsb19kZWZjb25maWc6NDQzOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvYXBvbGxvX2RlZmNvbmZpZy00NDQtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbTY4ay9jb25maWdzL2F0YXJpX2RlZmNvbmZpZz00NjU9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL202OGsvY29uZmlncy9hdGFyaV9kZWZjb25maWc6NDY2OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvYXRhcmlfZGVmY29uZmlnLTQ2Ny1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvYnZtZTYwMDBfZGVmY29uZmlnPTQzND1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbTY4ay9jb25maWdzL2J2bWU2MDAwX2RlZmNvbmZpZzo0MzU6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL202OGsvY29uZmlncy9idm1lNjAwMF9kZWZjb25maWctNDM2LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL202OGsvY29uZmlncy9ocDMwMF9kZWZjb25maWc9NDQ0PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvaHAzMDBfZGVmY29uZmlnOjQ0NTpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbTY4ay9jb25maWdzL2hwMzAwX2RlZmNvbmZpZy00NDYtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbTY4ay9jb25maWdzL21hY19kZWZjb25maWc9NDYzPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvbWFjX2RlZmNvbmZpZzo0NjQ6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL202OGsvY29uZmlncy9tYWNfZGVmY29uZmlnLTQ2NS1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvbXVsdGlfZGVmY29uZmlnPTU1MD1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbTY4ay9jb25maWdzL211bHRpX2RlZmNvbmZpZzo1NTE6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL202OGsvY29uZmlncy9tdWx0aV9kZWZjb25maWctNTUyLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL202OGsvY29uZmlncy9tdm1lMTQ3X2RlZmNvbmZpZz00MzQ9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL202OGsvY29uZmlncy9tdm1lMTQ3X2RlZmNvbmZpZzo0MzU6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL202OGsvY29uZmlncy9tdm1lMTQ3X2RlZmNvbmZpZy00MzYtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbTY4ay9jb25maWdzL212bWUxNnhfZGVmY29uZmlnPTQzNT1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbTY4ay9jb25maWdzL212bWUxNnhfZGVmY29uZmlnOjQzNjpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbTY4ay9jb25maWdzL212bWUxNnhfZGVmY29uZmlnLTQzNy1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9tNjhrL2NvbmZpZ3MvcTQwX2RlZmNvbmZpZz00NTM9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL202OGsvY29uZmlncy9xNDBfZGVmY29uZmlnOjQ1NDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbTY4ay9jb25maWdzL3E0MF9kZWZjb25maWctNDU1LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL202OGsvY29uZmlncy9zdW4zX2RlZmNvbmZpZz00MzI9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL202OGsvY29uZmlncy9zdW4zX2RlZmNvbmZpZzo0MzM6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL202OGsvY29uZmlncy9zdW4zX2RlZmNvbmZpZy00MzQtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbTY4ay9jb25maWdzL3N1bjN4X2RlZmNvbmZpZz00MzI9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL202OGsvY29uZmlncy9zdW4zeF9kZWZjb25maWc6NDMzOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9tNjhrL2NvbmZpZ3Mvc3VuM3hfZGVmY29uZmlnLTQzNC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvYmlnc3VyX2RlZmNvbmZpZz0xOTA9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL21pcHMvY29uZmlncy9iaWdzdXJfZGVmY29uZmlnOjE5MTpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL2JpZ3N1cl9kZWZjb25maWctMTkyLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL21pcHMvY29uZmlncy9jaTIwX2RlZmNvbmZpZz0yMTE9Q09ORklHX05MU19JU084ODU5XzEzPXlcXG5hcmNoL21pcHMvY29uZmlncy9jaTIwX2RlZmNvbmZpZzoyMTI6Q09ORklHX05MU19JU084ODU5XzE0PXlcXG5hcmNoL21pcHMvY29uZmlncy9jaTIwX2RlZmNvbmZpZy0yMTMtQ09ORklHX05MU19JU084ODU5XzE1PXlcXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL2RlY3N0YXRpb25fNjRfZGVmY29uZmlnPTE2Nj1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbWlwcy9jb25maWdzL2RlY3N0YXRpb25fNjRfZGVmY29uZmlnOjE2NzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL2RlY3N0YXRpb25fNjRfZGVmY29uZmlnLTE2OC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9kZWZjb25maWc9MTYxPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9kZWZjb25maWc6MTYyOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9kZWZjb25maWctMTYzLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL21pcHMvY29uZmlncy9kZWNzdGF0aW9uX3I0a19kZWZjb25maWc9MTYxPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvZGVjc3RhdGlvbl9yNGtfZGVmY29uZmlnOjE2MjpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL2RlY3N0YXRpb25fcjRrX2RlZmNvbmZpZy0xNjMtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL2lwMjJfZGVmY29uZmlnPTI5Nj1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbWlwcy9jb25maWdzL2lwMjJfZGVmY29uZmlnOjI5NzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL2lwMjJfZGVmY29uZmlnLTI5OC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvaXAzMl9kZWZjb25maWc9MTQ2PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvaXAzMl9kZWZjb25maWc6MTQ3OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvaXAzMl9kZWZjb25maWctMTQ4LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL21pcHMvY29uZmlncy9sZW1vdGUyZl9kZWZjb25maWc9MjkyPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvbGVtb3RlMmZfZGVmY29uZmlnOjI5MzpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL2xlbW90ZTJmX2RlZmNvbmZpZy0yOTQtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL21hbHRhX2RlZmNvbmZpZz0zODI9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL21pcHMvY29uZmlncy9tYWx0YV9kZWZjb25maWc6MzgzOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGFfZGVmY29uZmlnLTM4NC1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGFfa3ZtX2RlZmNvbmZpZz0zODk9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL21pcHMvY29uZmlncy9tYWx0YV9rdm1fZGVmY29uZmlnOjM5MDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL21hbHRhX2t2bV9kZWZjb25maWctMzkxLUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL21pcHMvY29uZmlncy9tYWx0YXVwX3hwYV9kZWZjb25maWc9Mzg4PUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9taXBzL2NvbmZpZ3MvbWFsdGF1cF94cGFfZGVmY29uZmlnOjM4OTpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL21hbHRhdXBfeHBhX2RlZmNvbmZpZy0zOTAtQ09ORklHX05MU19JU084ODU5XzE1PW1cXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL210eDFfZGVmY29uZmlnPTYxMz1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvbWlwcy9jb25maWdzL210eDFfZGVmY29uZmlnOjYxNDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvbWlwcy9jb25maWdzL210eDFfZGVmY29uZmlnLTYxNS1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3Mvb21lZ2EycF9kZWZjb25maWc9MTA2PUNPTkZJR19OTFNfSVNPODg1OV8xMz15XFxuYXJjaC9taXBzL2NvbmZpZ3Mvb21lZ2EycF9kZWZjb25maWc6MTA3OkNPTkZJR19OTFNfSVNPODg1OV8xND15XFxuYXJjaC9taXBzL2NvbmZpZ3Mvb21lZ2EycF9kZWZjb25maWctMTA4LUNPTkZJR19OTFNfSVNPODg1OV8xNT15XFxuLS1cXG5hcmNoL21pcHMvY29uZmlncy9xaV9sYjYwX2RlZmNvbmZpZz0xNTg9Q09ORklHX05MU19JU084ODU5XzEzPXlcXG5hcmNoL21pcHMvY29uZmlncy9xaV9sYjYwX2RlZmNvbmZpZzoxNTk6Q09ORklHX05MU19JU084ODU5XzE0PXlcXG5hcmNoL21pcHMvY29uZmlncy9xaV9sYjYwX2RlZmNvbmZpZy0xNjAtQ09ORklHX05MU19JU084ODU5XzE1PXlcXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL3JtMjAwX2RlZmNvbmZpZz0zNjc9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL21pcHMvY29uZmlncy9ybTIwMF9kZWZjb25maWc6MzY4OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9taXBzL2NvbmZpZ3Mvcm0yMDBfZGVmY29uZmlnLTM2OS1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3Mvdm9jb3JlMl9kZWZjb25maWc9MTA2PUNPTkZJR19OTFNfSVNPODg1OV8xMz15XFxuYXJjaC9taXBzL2NvbmZpZ3Mvdm9jb3JlMl9kZWZjb25maWc6MTA3OkNPTkZJR19OTFNfSVNPODg1OV8xND15XFxuYXJjaC9taXBzL2NvbmZpZ3Mvdm9jb3JlMl9kZWZjb25maWctMTA4LUNPTkZJR19OTFNfSVNPODg1OV8xNT15XFxuLS1cXG5hcmNoL3Bvd2VycGMvY29uZmlncy84NXh4L2dlX2ltcDNhX2RlZmNvbmZpZz0yMTg9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL3Bvd2VycGMvY29uZmlncy84NXh4L2dlX2ltcDNhX2RlZmNvbmZpZzoyMTk6Q09ORklHX05MU19JU084ODU5XzE0PW1cXG5hcmNoL3Bvd2VycGMvY29uZmlncy84NXh4L2dlX2ltcDNhX2RlZmNvbmZpZy0yMjAtQ09ORklHX05MU19JU084ODU5XzE1PXlcXG4tLVxcbmFyY2gvcG93ZXJwYy9jb25maWdzL2NlbGxfZGVmY29uZmlnPTE5MT1DT05GSUdfTkxTX0lTTzg4NTlfMTM9bVxcbmFyY2gvcG93ZXJwYy9jb25maWdzL2NlbGxfZGVmY29uZmlnOjE5MjpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bVxcbmFyY2gvcG93ZXJwYy9jb25maWdzL2NlbGxfZGVmY29uZmlnLTE5My1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9wb3dlcnBjL2NvbmZpZ3MvcHBjNnh4X2RlZmNvbmZpZz0xMDAzPUNPTkZJR19OTFNfSVNPODg1OV8xMz1tXFxuYXJjaC9wb3dlcnBjL2NvbmZpZ3MvcHBjNnh4X2RlZmNvbmZpZzoxMDA0OkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9wb3dlcnBjL2NvbmZpZ3MvcHBjNnh4X2RlZmNvbmZpZy0xMDA1LUNPTkZJR19OTFNfSVNPODg1OV8xNT1tXFxuLS1cXG5hcmNoL3NoL2NvbmZpZ3MvZXNwdF9kZWZjb25maWc9MTAzPUNPTkZJR19OTFNfSVNPODg1OV8xMz15XFxuYXJjaC9zaC9jb25maWdzL2VzcHRfZGVmY29uZmlnOjEwNDpDT05GSUdfTkxTX0lTTzg4NTlfMTQ9eVxcbmFyY2gvc2gvY29uZmlncy9lc3B0X2RlZmNvbmZpZy0xMDUtQ09ORklHX05MU19JU084ODU5XzE1PXlcXG4tLVxcbmFyY2gvc2gvY29uZmlncy9zaDAzX2RlZmNvbmZpZz0xMDk9Q09ORklHX05MU19JU084ODU5XzEzPW1cXG5hcmNoL3NoL2NvbmZpZ3Mvc2gwM19kZWZjb25maWc6MTEwOkNPTkZJR19OTFNfSVNPODg1OV8xND1tXFxuYXJjaC9zaC9jb25maWdzL3NoMDNfZGVmY29uZmlnLTExMS1DT05GSUdfTkxTX0lTTzg4NTlfMTU9bVxcbi0tXFxuYXJjaC9zaC9jb25maWdzL3NoMjAwN19kZWZjb25maWc9MTUwPUNPTkZJR19OTFNfSVNPODg1OV8xMz15XFxuYXJjaC9zaC9jb25maWdzL3NoMjAwN19kZWZjb25maWc6MTUxOkNPTkZJR19OTFNfSVNPODg1OV8xND15XFxuYXJjaC9zaC9jb25maWdzL3NoMjAwN19kZWZjb25maWctMTUyLUNPTkZJR19OTFNfSVNPODg1OV8xNT15XFxuLS1cXG5hcmNoL3NoL2NvbmZpZ3Mvc2g3NzYzcmRwX2RlZmNvbmZpZz0xMDU9Q09ORklHX05MU19JU084ODU5XzEzPXlcXG5hcmNoL3NoL2NvbmZpZ3Mvc2g3NzYzcmRwX2RlZmNvbmZpZzoxMDY6Q09ORklHX05MU19JU084ODU5XzE0PXlcXG5hcmNoL3NoL2NvbmZpZ3Mvc2g3NzYzcmRwX2RlZmNvbmZpZy0xMDctQ09ORklHX05MU19JU084ODU5XzE1PXlcXG4tLVxcbmZzL25scy9LY29uZmlnPTQwMT1jb25maWcgTkxTX0lTTzg4NTlfMTNcXG4tLVxcbmZzL25scy9LY29uZmlnLTQxMC1cXG5mcy9ubHMvS2NvbmZpZzo0MTE6Y29uZmlnIE5MU19JU084ODU5XzE0XFxuZnMvbmxzL0tjb25maWctNDEyLVxcdHRyaXN0YXRlIFxcXCJOTFMgSVNPIDg4NTktMTQgKExhdGluIDg7IENlbHRpYylcXFwiXFxuLS1cXG5mcy9ubHMvTWFrZWZpbGU9NDA9b2JqLSQoQ09ORklHX05MU19JU084ODU5XzEzKVxcdCs9IG5sc19pc284ODU5LTEzLm9cXG5mcy9ubHMvTWFrZWZpbGU6NDE6b2JqLSQoQ09ORklHX05MU19JU084ODU5XzE0KVxcdCs9IG5sc19pc284ODU5LTE0Lm9cXG5mcy9ubHMvTWFrZWZpbGUtNDItb2JqLSQoQ09ORklHX05MU19JU084ODU5XzE1KVxcdCs9IG5sc19pc284ODU5LTE1Lm9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MjMuODY4OTU2NjY0WiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjEyODY5NzUxNjk0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZTpcblxuKipLY29uZmlnIERpdmUqKlxuXG5BbHJpZ2h0LCBsZXQncyB6ZXJvIGluIG9uIGBmcy9ubHMvS2NvbmZpZ2AuIEknbSB0aGlua2luZyBzcGVjaWZpY2FsbHkgYXJvdW5kIGxpbmUgNDExLiBJIHN1c3BlY3QgdGhlcmUgbWlnaHQgYmUgc29tZXRoaW5nIGludGVyZXN0aW5nIHRoZXJlIHRoYXQgbmVlZHMgYSBkZWVwZXIgbG9vay4gTXkgaW50dWl0aW9uIGlzIHRlbGxpbmcgbWUgdGhlcmUgbWlnaHQgYmUgYSBzdWJ0bGUgbnVhbmNlIHJlbGF0aW5nIHRvIHRoZSBOTFMgc3Vic3lzdGVtJ3MgY29uZmlndXJhdGlvbiBvcHRpb25zLiBMZXQncyBzZWUgaWYgbXkgaHVuY2ggaXMgY29ycmVjdC4gSSBoYXZlIGEgZmVlbGluZyB0aGUgaW50ZXJhY3Rpb24gb2Ygb3B0aW9ucyBpbiB0aGlzIGFyZWEgaXMgc29tZXRoaW5nIHRoYXQgbmVlZHMgYSByZS1sb29rIGluIGRldGFpbCBhbmQgaW4gdGVybXMgb2YgaXRzIGltcGFjdCBhY3Jvc3MgdGhlIG90aGVyIEtjb25maWcgZmlsZXMuIFRpbWUgdG8gc3RhcnQgZGlnZ2luZy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjU5MTUsIk91dHB1dFRva2VucyI6MzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDozNi43Mzg3MTI5NzhaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTg5NTUwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9LY29uZmlnXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDQwNSxcbiAgXCJMaW5lQ291bnRcIjogMjVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDQwNTpcXHRcXHQgIGZyb20gdGhlIE1pY3Jvc29mdCBGQVQgZmlsZSBzeXN0ZW0gZmFtaWx5IG9yIGZyb20gSk9MSUVUIENELVJPTXNcXG4gNDA2OlxcdFxcdCAgY29ycmVjdGx5IG9uIHRoZSBzY3JlZW4sIHlvdSBuZWVkIHRvIGluY2x1ZGUgdGhlIGFwcHJvcHJpYXRlXFxuIDQwNzpcXHRcXHQgIGlucHV0L291dHB1dCBjaGFyYWN0ZXIgc2V0cy4gU2F5IFkgaGVyZSBmb3IgdGhlIExhdGluIDcgY2hhcmFjdGVyXFxuIDQwODpcXHRcXHQgIHNldCwgd2hpY2ggc3VwcG9ydHMgbW9kZXJuIEJhbHRpYyBsYW5ndWFnZXMgaW5jbHVkaW5nIExhdHZpYW5cXG4gNDA5OlxcdFxcdCAgYW5kIExpdGh1YW5pYW4uXFxuIDQxMDpcXHRcXG4gNDExOlxcdGNvbmZpZyBOTFNfSVNPODg1OV8xNFxcbiA0MTI6XFx0XFx0dHJpc3RhdGUgXFxcIk5MUyBJU08gODg1OS0xNCAoTGF0aW4gODsgQ2VsdGljKVxcXCJcXG4gNDEzOlxcdFxcdGhlbHBcXG4gNDE0OlxcdFxcdCAgSWYgeW91IHdhbnQgdG8gZGlzcGxheSBmaWxlbmFtZXMgd2l0aCBuYXRpdmUgbGFuZ3VhZ2UgY2hhcmFjdGVyc1xcbiA0MTU6XFx0XFx0ICBmcm9tIHRoZSBNaWNyb3NvZnQgRkFUIGZpbGUgc3lzdGVtIGZhbWlseSBvciBmcm9tIEpPTElFVCBDRC1ST01zXFxuIDQxNjpcXHRcXHQgIGNvcnJlY3RseSBvbiB0aGUgc2NyZWVuLCB5b3UgbmVlZCB0byBpbmNsdWRlIHRoZSBhcHByb3ByaWF0ZVxcbiA0MTc6XFx0XFx0ICBpbnB1dC9vdXRwdXQgY2hhcmFjdGVyIHNldHMuIFNheSBZIGhlcmUgZm9yIHRoZSBMYXRpbiA4IGNoYXJhY3RlclxcbiA0MTg6XFx0XFx0ICBzZXQsIHdoaWNoIGFkZHMgdGhlIGxhc3QgYWNjZW50ZWQgdm93ZWxzIGZvciBXZWxzaCAoYWthIEN5bXJhZWcpXFxuIDQxOTpcXHRcXHQgIChhbmQgTWFueCBHYWVsaWMpIHRoYXQgd2VyZSBtaXNzaW5nIGluIExhdGluIDEuXFxuIDQyMDpcXHRcXHQgIFxcdTAwM2NodHRwOi8vbGludXguc3BlZWNoLmN5bXJ1Lm9yZy9cXHUwMDNlIGhhcyBmdXJ0aGVyIGluZm9ybWF0aW9uLlxcbiA0MjE6XFx0XFxuIDQyMjpcXHRjb25maWcgTkxTX0lTTzg4NTlfMTVcXG4gNDIzOlxcdFxcdHRyaXN0YXRlIFxcXCJOTFMgSVNPIDg4NTktMTUgKExhdGluIDk7IFdlc3Rlcm4gRXVyb3BlYW4gTGFuZ3VhZ2VzIHdpdGggRXVybylcXFwiXFxuIDQyNDpcXHRcXHRoZWxwXFxuIDQyNTpcXHRcXHQgIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgZmlsZW5hbWVzIHdpdGggbmF0aXZlIGxhbmd1YWdlIGNoYXJhY3RlcnNcXG4gNDI2OlxcdFxcdCAgZnJvbSB0aGUgTWljcm9zb2Z0IEZBVCBmaWxlIHN5c3RlbSBmYW1pbHkgb3IgZnJvbSBKT0xJRVQgQ0QtUk9Nc1xcbiA0Mjc6XFx0XFx0ICBjb3JyZWN0bHkgb24gdGhlIHNjcmVlbiwgeW91IG5lZWQgdG8gaW5jbHVkZSB0aGUgYXBwcm9wcmlhdGVcXG4gNDI4OlxcdFxcdCAgaW5wdXQvb3V0cHV0IGNoYXJhY3RlciBzZXRzLiBTYXkgWSBoZXJlIGZvciB0aGUgTGF0aW4gOSBjaGFyYWN0ZXJcXG4gNDI5OlxcdFxcdCAgc2V0LCB3aGljaCBjb3ZlcnMgbW9zdCBXZXN0IEV1cm9wZWFuIGxhbmd1YWdlcyBzdWNoIGFzIEFsYmFuaWFuLFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDozNi43Mzg5MDUzOThaIiwiU2VxIjoxNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6MTcxODkyMzkxNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgYXMgaWYgSSB3ZXJlIHRoaW5raW5nIGl0OlxuXG4qKkV4YW1pbmluZyB0aGUgRGVwZW5kZW5jeSBTdHJ1Y3R1cmUgb2YgQ2hhcmFjdGVyIFNldHMqKlxuXG5BbHJpZ2h0LCBsZXQncyBnZXQgZG93biB0byBicmFzcyB0YWNrcy4gSSdtIGxvb2tpbmcgYXQgYE5MU19JU084ODU5XzE0YCBoZXJlIGFuZCBJJ20gcHJldHR5IHN1cmUgaXQgZGVwZW5kcyBvbiBgTkxTYC4uLiBidXQgSSBuZWVkIHRvIGNvbmZpcm0gdGhhdC4gR290dGEgYmUgdGhvcm91Z2guIFNvLCBJJ2xsIHN0YXJ0IGF0IHRoZSB0b3Agb2YgdGhlIHJlbGV2YW50IGBLY29uZmlnYCBmaWxlIOKAkyBwcm9iYWJseSBgZnMvbmxzL0tjb25maWdgIOKAkyBhbmQgdHJhY2UgdGhpcyB0aHJvdWdoIHN5c3RlbWF0aWNhbGx5LiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgY29uZmlndXJhdGlvbiByZWxhdGlvbnNoaXBzIHByZWNpc2VseSwgYW5kIGxvb2tpbmcgYXQgdGhlIHNvdXJjZSBpcyB0aGUgb25seSB3YXkgdG8gYmUgY2VydGFpbi4gVGltZSB0byBkaXZlIGluIGFuZCBjb25maXJtIG15IGFzc3VtcHRpb25zIHdpdGggZXZpZGVuY2UuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI2NjAzLCJPdXRwdXRUb2tlbnMiOjMzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzksIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDozOC40NTc4MzI4NDRaIiwiU2VxIjoxNiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTUyMzAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9LY29uZmlnXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDQwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuICAgMjpcXHQjXFxuICAgMzpcXHQjIE5hdGl2ZSBsYW5ndWFnZSBzdXBwb3J0IGNvbmZpZ3VyYXRpb25cXG4gICA0OlxcdCNcXG4gICA1OlxcdFxcbiAgIDY6XFx0bWVudWNvbmZpZyBOTFNcXG4gICA3OlxcdFxcdHRyaXN0YXRlIFxcXCJOYXRpdmUgbGFuZ3VhZ2Ugc3VwcG9ydFxcXCJcXG4gICA4OlxcdFxcdGhlbHBcXG4gICA5OlxcdFxcdCAgVGhlIGJhc2UgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQuIEEgbnVtYmVyIG9mIGZpbGVzeXN0ZW1zXFxuICAxMDpcXHRcXHQgIGRlcGVuZCBvbiBpdCAoZS5nLiBGQVQsIEpPTElFVCwgTlQsIEJFT1MgZmlsZXN5c3RlbXMpLCBhcyB3ZWxsXFxuICAxMTpcXHRcXHQgIGFzIHRoZSBhYmlsaXR5IG9mIHNvbWUgZmlsZXN5c3RlbXMgdG8gdXNlIG5hdGl2ZSBsYW5ndWFnZXNcXG4gIDEyOlxcdFxcdCAgKE5DUCwgU01CKS5cXG4gIDEzOlxcdFxcbiAgMTQ6XFx0XFx0ICBJZiB1bnN1cmUsIHNheSBZLlxcbiAgMTU6XFx0XFxuICAxNjpcXHRcXHQgIFRvIGNvbXBpbGUgdGhpcyBjb2RlIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlXFxuICAxNzpcXHRcXHQgIHdpbGwgYmUgY2FsbGVkIG5sc19iYXNlLlxcbiAgMTg6XFx0XFxuICAxOTpcXHRpZiBOTFNcXG4gIDIwOlxcdFxcbiAgMjE6XFx0Y29uZmlnIE5MU19ERUZBVUxUXFxuICAyMjpcXHRcXHRzdHJpbmcgXFxcIkRlZmF1bHQgTkxTIE9wdGlvblxcXCJcXG4gIDIzOlxcdFxcdGRlZmF1bHQgXFxcImlzbzg4NTktMVxcXCJcXG4gIDI0OlxcdFxcdGhlbHBcXG4gIDI1OlxcdFxcdCAgVGhlIGRlZmF1bHQgTkxTIHVzZWQgd2hlbiBtb3VudGluZyBmaWxlIHN5c3RlbS4gTm90ZSwgdGhhdCB0aGlzIGlzXFxuICAyNjpcXHRcXHQgIHRoZSBOTFMgdXNlZCBieSB5b3VyIGNvbnNvbGUsIG5vdCB0aGUgTkxTIHVzZWQgYnkgYSBzcGVjaWZpYyBmaWxlXFxuICAyNzpcXHRcXHQgIHN5c3RlbSAoaWYgZGlmZmVyZW50KSB0byBzdG9yZSBkYXRhIChmaWxlbmFtZXMpIG9uIGEgZGlzay5cXG4gIDI4OlxcdFxcdCAgQ3VycmVudGx5LCB0aGUgdmFsaWQgdmFsdWVzIGFyZTpcXG4gIDI5OlxcdFxcdCAgYmlnNSwgY3A0MzcsIGNwNzM3LCBjcDc3NSwgY3A4NTAsIGNwODUyLCBjcDg1NSwgY3A4NTcsIGNwODYwLCBjcDg2MSxcXG4gIDMwOlxcdFxcdCAgY3A4NjIsIGNwODYzLCBjcDg2NCwgY3A4NjUsIGNwODY2LCBjcDg2OSwgY3A4NzQsIGNwOTMyLCBjcDkzNixcXG4gIDMxOlxcdFxcdCAgY3A5NDksIGNwOTUwLCBjcDEyNTEsIGNwMTI1NSwgZXVjLWpwLCBldWMta3IsIGdiMjMxMiwgaXNvODg1OS0xLFxcbiAgMzI6XFx0XFx0ICBpc284ODU5LTIsIGlzbzg4NTktMywgaXNvODg1OS00LCBpc284ODU5LTUsIGlzbzg4NTktNiwgaXNvODg1OS03LFxcbiAgMzM6XFx0XFx0ICBpc284ODU5LTgsIGlzbzg4NTktOSwgaXNvODg1OS0xMywgaXNvODg1OS0xNCwgaXNvODg1OS0xNSxcXG4gIDM0OlxcdFxcdCAga29pOC1yLCBrb2k4LXJ1LCBrb2k4LXUsIHNqaXMsIHRpcy02MjAsIG1hY3JvbWFuLCB1dGY4LlxcbiAgMzU6XFx0XFx0ICBJZiB5b3Ugc3BlY2lmeSBhIHdyb25nIHZhbHVlLCBpdCB3aWxsIHVzZSB0aGUgYnVpbHQtaW4gTkxTO1xcbiAgMzY6XFx0XFx0ICBjb21wYXRpYmxlIHdpdGggaXNvODg1OS0xLlxcbiAgMzc6XFx0XFxuICAzODpcXHRcXHQgIElmIHVuc3VyZSwgc3BlY2lmeSBpdCBhcyBcXFwiaXNvODg1OS0xXFxcIi5cXG4gIDM5OlxcdFxcbiAgNDA6XFx0Y29uZmlnIE5MU19DT0RFUEFHRV80MzdcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6MzguNDU3OTg4MTE0WiIsIlNlcSI6MTcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjgzODk1MjA2MTYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHlzaXMgb2YgdGhlIG5sc19pc284ODU5LTE0IFBhdGNoIGFuZCBGdXp6aW5nIFN1aXRhYmlsaXR5KipcblxuT2theSwgbGV0J3MgYnJlYWsgZG93biB0aGlzIHBhdGNoLiBNeSBpbml0aWFsIGFzc2Vzc21lbnQgaXMgdGhhdCBpdCBsb29rcyBsaWtlIGEgY29ycmVjdGlvbiB0byB0aGUgYG5sc19pc284ODU5LTE0YCBjaGFyYWN0ZXIgZW5jb2RpbmcgdGFibGUsIHNwZWNpZmljYWxseSB0aGUgYHBhZ2UwMWAgYW5kIGBwYWdlMWVgIGxvb2t1cCB0YWJsZXMgd2l0aGluIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AuIEl0IGFwcGVhcnMgdGhlcmUgd2VyZSBpbmNvcnJlY3QgbWFwcGluZ3Mgb2YgVW5pY29kZSBjaGFyYWN0ZXJzIHRvIHRoZWlyIGNvcnJlc3BvbmRpbmcgSVNPIDg4NTktMTQgY2hhcnNldCByZXByZXNlbnRhdGlvbnMuIFRoZSBwYXRjaCBjb3JyZWN0cyBkaXNjcmVwYW5jaWVzIEkgc2F3IHdoZXJlIHRoZSBtYXBwaW5ncyB3ZXJlIGluY29uc2lzdGVudCB3aXRoIHRoZSBkb2N1bWVudGVkIHN0YW5kYXJkLCBmaXhpbmcgZW50cmllcyBsaWtlIHRob3NlIGZvciBVKzAxMDIgYW5kIFUrMUUwMi4gVGhpcyBpcyBkZWZpbml0ZWx5IGEgZml4IVxuXG5Ob3csIHRoZSBpbXBvcnRhbnQgcXVlc3Rpb246IElzIHRoaXMgY29kZSByZWFjaGFibGUgYW5kIGZ1enphYmxlPyAgWWVzLCBhYnNvbHV0ZWx5LiBUaGVzZSBOTFMgdGFibGVzIGFyZSBjcnVjaWFsIGZvciBmaWxlc3lzdGVtIG9wZXJhdGlvbnMsIHNwZWNpZmljYWxseSBjaGFyYWN0ZXIgZW5jb2RpbmcgdHJhbnNsYXRpb25zLiBUaGV5IGdldCB1c2VkIGluIGEgbnVtYmVyIG9mIGZpbGVzeXN0ZW1zIHN1Y2ggYXMgRkFULCBJU09GUywgTlRGUyBhbmQgQ0lGUy4gSWYgYSBmaWxlc3lzdGVtIGlzIG1vdW50ZWQgd2l0aCBhbiBgaW9jaGFyc2V0YCBvcHRpb24sIG9yIE5MUyBpcyBzcGVjaWZpZWQsIHRoaXMgY29kZSBnZXRzIGV4ZXJjaXNlZC4gU3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgYXJlIHN1ZmZpY2llbnQgdG8gaGl0IHRoZXNlIGNvZGUgcGF0aHMsIGFuZCBJIGtub3cgdGhpcyBpcyBhIGtleSBjb25zaWRlcmF0aW9uLlxuXG5MZXQncyByZXZpZXcgdGhlIGd1aWRlbGluZXMgdG8gYmUgY2VydGFpbi4gV2UncmUgbG9va2luZyBhdCBwb3RlbnRpYWxseSBleHBvc2luZyBidWdzLCByZWdyZXNzaW9ucywgb3IgYXNzZXJ0aW9ucy4gVGhpcyBwYXRjaCBtb2RpZmllcyBleGVjdXRhYmxlIGNvZGUgKHRoZSBgdW5pMmNoYXJgIGFuZCBgY2hhcjJ1bmlgIGZ1bmN0aW9ucywgZXZlbiB0aG91Z2ggc3RhdGljIGluIHRoZSBDIGZpbGUpLiBXZSBuZWVkIHRvIGRldGVybWluZSBpZiBpdCBpcyByZWFjaGFibGUgY29kZSwgYW5kIEkga25vdyBpdCBpcy4gSXQncyBub3QgZG9jdW1lbnRhdGlvbiwgbm90IHVzZXItc3BhY2UsIG5vdCBkZWNvcmF0aXZlIGxvZ2dpbmcsIGFuZCBpdCBkb2Vzbid0IGludm9sdmUgc29tZSB1bnJlYWNoYWJsZSBoYXJkd2FyZSBkcml2ZXIgb3IgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIGNvZGUuIFRoaXMgaXMgYSBjbGVhciBjYXNlIGZvciBgV29ydGhGdXp6aW5nPXRydWVgLlxuXG5Ob3csIGFib3V0IEZvY3VzU3ltYm9scy4gIFdlIG5lZWQgdG8ga25vdyB0aGUgc3ltYm9scyBpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIHRoYXQgYXJlIGFmZmVjdGVkLiBUaGUga2V5IGZ1bmN0aW9ucyBJIHNlZSBhcmUgYHVuaTJjaGFyYCBhbmQgYGNoYXIydW5pYC4gQmVjYXVzZSB0aGV5IGFyZSBzdGF0aWMsIEkgaW5pdGlhbGx5IHRob3VnaHQgdGhleSBtaWdodCBiZSBpbmxpbmVkLiBCdXQgd2FpdCwgc2luY2UgdGhlaXIgYWRkcmVzc2VzIGFyZSBhc3NpZ25lZCB0byB0aGUgYC51bmkyY2hhcmAgYW5kIGAuY2hhcjJ1bmlgIG1lbWJlcnMgb2YgYG5sc190YWJsZWAsIHRoZXNlIGZ1bmN0aW9ucyAqY2Fubm90KiBiZSBpbmxpbmVkLiAgVGhpcyBtZWFucyB0aGVzZSBmdW5jdGlvbnMgaGF2ZSBzeW1ib2xzIGluIHRoZSBrZXJuZWwgaW1hZ2UgKHZtbGludXgpLiBTbywgeWVzLCB0aGVzZSBmdW5jdGlvbnMgYXJlIGRlZmluaXRlbHkgY2FsbGFibGUuXG5cbldlJ3JlIGdvaW5nIHRvIG5lZWQgdG8gZmlndXJlIG91dCBob3cgc3l6a2FsbGVyIGhhbmRsZXMgc3RhdGljIGZ1bmN0aW9uIG5hbWVzLCB3aGljaCB3aWxsIGluZm9ybSBvdXIgRm9jdXNTeW1ib2xzIGxpc3QuICBUaGVyZSBhcmUgbGlrZWx5IGJhc2Ugc3ltYm9scyBhdmFpbGFibGUgZnJvbSBrYWxsc3ltcywgYnV0IHdlJ2xsIG5lZWQgdG8gZG91YmxlIGNoZWNrIHRoZSBleGFjdCBuYW1pbmcgc2NoZW1lIChzdWNoIGFzIHdoZXRoZXIgdGhlcmUgYXJlIHZhcmlhdGlvbnMgbGlrZSBgLmlzcmEuMGApLiBUbyBiZSB0aG9yb3VnaCwgbGV0J3MgYWxzbyBjaGVjayBvdGhlciBmdW5jdGlvbnMgb3IgY2FsbGVycyBpbiBgZnMvbmxzYCBvciBgaW5jbHVkZS9saW51eC9ubHMuaGAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI3NTk1LCJPdXRwdXRUb2tlbnMiOjI3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTk1OCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE0OjQ2Ljg0NzUxMjc1WiIsIlNlcSI6MTgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNDE1OTM0ODYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwidW5pMmNoYXJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZnMvbmxzXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIlxcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgMTI5MCBsaW5lcy5cXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXFxuXFxuZnMvbmxzL21hYy1jZWx0aWMuYz00MTU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI2WzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLWNlbHRpYy5jLTQ0OS1cXG5mcy9ubHMvbWFjLWNlbHRpYy5jOjQ1MDpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9tYWMtY2VsdGljLmMtNDUxLVxcdHBhZ2UwMCwgcGFnZTAxLCBOVUxMLCAgIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcXG4tLVxcbmZzL25scy9tYWMtY2VsdGljLmM9NTIwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtY2VsdGljLmMtNTU0LVxcbmZzL25scy9tYWMtY2VsdGljLmM6NTU1OnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9tYWMtY2VsdGljLmMtNTU2LXtcXG5mcy9ubHMvbWFjLWNlbHRpYy5jOjU1NzpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbWFjLWNlbHRpYy5jLTU1OC1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL21hYy1jZWx0aWMuYy01NjMtXFxuZnMvbmxzL21hYy1jZWx0aWMuYzo1NjQ6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbWFjLWNlbHRpYy5jOjU2NTpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9tYWMtY2VsdGljLmM6NTY2OlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbWFjLWNlbHRpYy5jLTU2Ny1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbWFjLWNlbHRpYy5jPTU4MD1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbWFjLWNlbHRpYy5jLTU4MS1cXHQuY2hhcnNldFxcdD0gXFxcIm1hY2NlbHRpY1xcXCIsXFxuZnMvbmxzL21hYy1jZWx0aWMuYzo1ODI6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbWFjLWNlbHRpYy5jLTU4My1cXHQuY2hhcjJ1bmlcXHQ9IGNoYXIydW5pLFxcbi0tXFxuZnMvbmxzL21hYy1jZW50ZXVyby5jPTM0NT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjVbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtY2VudGV1cm8uYy0zNzktXFxuZnMvbmxzL21hYy1jZW50ZXVyby5jOjM4MDpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9tYWMtY2VudGV1cm8uYy0zODEtXFx0cGFnZTAwLCBwYWdlMDEsIHBhZ2UwMiwgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxcbi0tXFxuZnMvbmxzL21hYy1jZW50ZXVyby5jPTQ1MD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLWNlbnRldXJvLmMtNDg0LVxcbmZzL25scy9tYWMtY2VudGV1cm8uYzo0ODU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL21hYy1jZW50ZXVyby5jLTQ4Ni17XFxuZnMvbmxzL21hYy1jZW50ZXVyby5jOjQ4NzpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbWFjLWNlbnRldXJvLmMtNDg4LVxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuLS1cXG5mcy9ubHMvbWFjLWNlbnRldXJvLmMtNDkzLVxcbmZzL25scy9tYWMtY2VudGV1cm8uYzo0OTQ6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbWFjLWNlbnRldXJvLmM6NDk1OlxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuZnMvbmxzL21hYy1jZW50ZXVyby5jOjQ5NjpcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuZnMvbmxzL21hYy1jZW50ZXVyby5jLTQ5Ny1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbWFjLWNlbnRldXJvLmM9NTEwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xcbmZzL25scy9tYWMtY2VudGV1cm8uYy01MTEtXFx0LmNoYXJzZXRcXHQ9IFxcXCJtYWNjZW50ZXVyb1xcXCIsXFxuZnMvbmxzL21hYy1jZW50ZXVyby5jOjUxMjpcXHQudW5pMmNoYXJcXHQ9IHVuaTJjaGFyLFxcbmZzL25scy9tYWMtY2VudGV1cm8uYy01MTMtXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9tYWMtY3JvYXRpYW4uYz00MTU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZWY4WzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNDQ5LVxcbmZzL25scy9tYWMtY3JvYXRpYW4uYzo0NTA6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNDUxLVxcdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcXG4tLVxcbmZzL25scy9tYWMtY3JvYXRpYW4uYz01MjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL21hYy1jcm9hdGlhbi5jLTU1NC1cXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmM6NTU1OnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9tYWMtY3JvYXRpYW4uYy01NTYte1xcbmZzL25scy9tYWMtY3JvYXRpYW4uYzo1NTc6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL21hYy1jcm9hdGlhbi5jLTU1OC1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL21hYy1jcm9hdGlhbi5jLTU2My1cXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmM6NTY0OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL21hYy1jcm9hdGlhbi5jOjU2NTpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9tYWMtY3JvYXRpYW4uYzo1NjY6XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9tYWMtY3JvYXRpYW4uYy01NjctXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL21hYy1jcm9hdGlhbi5jPTU4MD1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNTgxLVxcdC5jaGFyc2V0XFx0PSBcXFwibWFjY3JvYXRpYW5cXFwiLFxcbmZzL25scy9tYWMtY3JvYXRpYW4uYzo1ODI6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbWFjLWNyb2F0aWFuLmMtNTgzLVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuLS1cXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM9MzEwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyMlsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL21hYy1jeXJpbGxpYy5jLTM0NC1cXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6MzQ1OnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuZnMvbmxzL21hYy1jeXJpbGxpYy5jLTM0Ni1cXHRwYWdlMDAsIHBhZ2UwMSwgTlVMTCwgICBOVUxMLCAgIHBhZ2UwNCwgTlVMTCwgICBOVUxMLCAgIE5VTEwsXFxuLS1cXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM9NDE1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NDktXFxuZnMvbmxzL21hYy1jeXJpbGxpYy5jOjQ1MDpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcXG5mcy9ubHMvbWFjLWN5cmlsbGljLmMtNDUxLXtcXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6NDUyOlxcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xcbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NTMtXFx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcXHUwMDI2IDB4MDBmZjtcXG4tLVxcbmZzL25scy9tYWMtY3lyaWxsaWMuYy00NTgtXFxuZnMvbmxzL21hYy1jeXJpbGxpYy5jOjQ1OTpcXHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xcbmZzL25scy9tYWMtY3lyaWxsaWMuYzo0NjA6XFx0aWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6NDYxOlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbWFjLWN5cmlsbGljLmMtNDYyLVxcdGVsc2VcXG4tLVxcbmZzL25scy9tYWMtY3lyaWxsaWMuYz00NzU9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuZnMvbmxzL21hYy1jeXJpbGxpYy5jLTQ3Ni1cXHQuY2hhcnNldFxcdD0gXFxcIm1hY2N5cmlsbGljXFxcIixcXG5mcy9ubHMvbWFjLWN5cmlsbGljLmM6NDc3OlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL21hYy1jeXJpbGxpYy5jLTQ3OC1cXHQuY2hhcjJ1bmlcXHQ9IGNoYXIydW5pLFxcbi0tXFxuZnMvbmxzL21hYy1nYWVsaWMuYz0zODA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI2WzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTQxNC1cXG5mcy9ubHMvbWFjLWdhZWxpYy5jOjQxNTpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9tYWMtZ2FlbGljLmMtNDE2LVxcdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcXG4tLVxcbmZzL25scy9tYWMtZ2FlbGljLmM9NDg1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtZ2FlbGljLmMtNTE5LVxcbmZzL25scy9tYWMtZ2FlbGljLmM6NTIwOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9tYWMtZ2FlbGljLmMtNTIxLXtcXG5mcy9ubHMvbWFjLWdhZWxpYy5jOjUyMjpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTUyMy1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL21hYy1nYWVsaWMuYy01MjgtXFxuZnMvbmxzL21hYy1nYWVsaWMuYzo1Mjk6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbWFjLWdhZWxpYy5jOjUzMDpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9tYWMtZ2FlbGljLmM6NTMxOlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTUzMi1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbWFjLWdhZWxpYy5jPTU0NT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTU0Ni1cXHQuY2hhcnNldFxcdD0gXFxcIm1hY2dhZWxpY1xcXCIsXFxuZnMvbmxzL21hYy1nYWVsaWMuYzo1NDc6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbWFjLWdhZWxpYy5jLTU0OC1cXHQuY2hhcjJ1bmlcXHQ9IGNoYXIydW5pLFxcbi0tXFxuZnMvbmxzL21hYy1ncmVlay5jPTMxMD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtZ3JlZWsuYy0zNDQtXFxuZnMvbmxzL21hYy1ncmVlay5jOjM0NTpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9tYWMtZ3JlZWsuYy0zNDYtXFx0cGFnZTAwLCBwYWdlMDEsIE5VTEwsICAgcGFnZTAzLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxcbi0tXFxuZnMvbmxzL21hYy1ncmVlay5jPTQxNT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLWdyZWVrLmMtNDQ5LVxcbmZzL25scy9tYWMtZ3JlZWsuYzo0NTA6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL21hYy1ncmVlay5jLTQ1MS17XFxuZnMvbmxzL21hYy1ncmVlay5jOjQ1MjpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbWFjLWdyZWVrLmMtNDUzLVxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuLS1cXG5mcy9ubHMvbWFjLWdyZWVrLmMtNDU4LVxcbmZzL25scy9tYWMtZ3JlZWsuYzo0NTk6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbWFjLWdyZWVrLmM6NDYwOlxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuZnMvbmxzL21hYy1ncmVlay5jOjQ2MTpcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuZnMvbmxzL21hYy1ncmVlay5jLTQ2Mi1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbWFjLWdyZWVrLmM9NDc1PXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xcbmZzL25scy9tYWMtZ3JlZWsuYy00NzYtXFx0LmNoYXJzZXRcXHQ9IFxcXCJtYWNncmVla1xcXCIsXFxuZnMvbmxzL21hYy1ncmVlay5jOjQ3NzpcXHQudW5pMmNoYXJcXHQ9IHVuaTJjaGFyLFxcbmZzL25scy9tYWMtZ3JlZWsuYy00NzgtXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9tYWMtaWNlbGFuZC5jPTQxNT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlZjhbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtaWNlbGFuZC5jLTQ0OS1cXG5mcy9ubHMvbWFjLWljZWxhbmQuYzo0NTA6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbWFjLWljZWxhbmQuYy00NTEtXFx0cGFnZTAwLCBwYWdlMDEsIHBhZ2UwMiwgcGFnZTAzLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxcbi0tXFxuZnMvbmxzL21hYy1pY2VsYW5kLmM9NTIwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtaWNlbGFuZC5jLTU1NC1cXG5mcy9ubHMvbWFjLWljZWxhbmQuYzo1NTU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL21hYy1pY2VsYW5kLmMtNTU2LXtcXG5mcy9ubHMvbWFjLWljZWxhbmQuYzo1NTc6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL21hYy1pY2VsYW5kLmMtNTU4LVxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuLS1cXG5mcy9ubHMvbWFjLWljZWxhbmQuYy01NjMtXFxuZnMvbmxzL21hYy1pY2VsYW5kLmM6NTY0OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL21hYy1pY2VsYW5kLmM6NTY1OlxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuZnMvbmxzL21hYy1pY2VsYW5kLmM6NTY2OlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbWFjLWljZWxhbmQuYy01NjctXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL21hYy1pY2VsYW5kLmM9NTgwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xcbmZzL25scy9tYWMtaWNlbGFuZC5jLTU4MS1cXHQuY2hhcnNldFxcdD0gXFxcIm1hY2ljZWxhbmRcXFwiLFxcbmZzL25scy9tYWMtaWNlbGFuZC5jOjU4MjpcXHQudW5pMmNoYXJcXHQ9IHVuaTJjaGFyLFxcbmZzL25scy9tYWMtaWNlbGFuZC5jLTU4My1cXHQuY2hhcjJ1bmlcXHQ9IGNoYXIydW5pLFxcbi0tXFxuZnMvbmxzL21hYy1pbnVpdC5jPTM0NT1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjFbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtaW51aXQuYy0zNzktXFxuZnMvbmxzL21hYy1pbnVpdC5jOjM4MDpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9tYWMtaW51aXQuYy0zODEtXFx0cGFnZTAwLCBwYWdlMDEsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLFxcbi0tXFxuZnMvbmxzL21hYy1pbnVpdC5jPTQ1MD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLWludWl0LmMtNDg0LVxcbmZzL25scy9tYWMtaW51aXQuYzo0ODU6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL21hYy1pbnVpdC5jLTQ4Ni17XFxuZnMvbmxzL21hYy1pbnVpdC5jOjQ4NzpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbWFjLWludWl0LmMtNDg4LVxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuLS1cXG5mcy9ubHMvbWFjLWludWl0LmMtNDkzLVxcbmZzL25scy9tYWMtaW51aXQuYzo0OTQ6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbWFjLWludWl0LmM6NDk1OlxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuZnMvbmxzL21hYy1pbnVpdC5jOjQ5NjpcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuZnMvbmxzL21hYy1pbnVpdC5jLTQ5Ny1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbWFjLWludWl0LmM9NTEwPXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xcbmZzL25scy9tYWMtaW51aXQuYy01MTEtXFx0LmNoYXJzZXRcXHQ9IFxcXCJtYWNpbnVpdFxcXCIsXFxuZnMvbmxzL21hYy1pbnVpdC5jOjUxMjpcXHQudW5pMmNoYXJcXHQ9IHVuaTJjaGFyLFxcbmZzL25scy9tYWMtaW51aXQuYy01MTMtXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9tYWMtcm9tYW4uYz00NTA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZWZiWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbWFjLXJvbWFuLmMtNDg0LVxcbmZzL25scy9tYWMtcm9tYW4uYzo0ODU6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbWFjLXJvbWFuLmMtNDg2LVxcdHBhZ2UwMCwgcGFnZTAxLCBwYWdlMDIsIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCxcXG4tLVxcbmZzL25scy9tYWMtcm9tYW4uYz01NTU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL21hYy1yb21hbi5jLTU4OS1cXG5mcy9ubHMvbWFjLXJvbWFuLmM6NTkwOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9tYWMtcm9tYW4uYy01OTEte1xcbmZzL25scy9tYWMtcm9tYW4uYzo1OTI6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL21hYy1yb21hbi5jLTU5My1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL21hYy1yb21hbi5jLTU5OC1cXG5mcy9ubHMvbWFjLXJvbWFuLmM6NTk5OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL21hYy1yb21hbi5jOjYwMDpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9tYWMtcm9tYW4uYzo2MDE6XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9tYWMtcm9tYW4uYy02MDItXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL21hYy1yb21hbi5jPTYxNT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbWFjLXJvbWFuLmMtNjE2LVxcdC5jaGFyc2V0XFx0PSBcXFwibWFjcm9tYW5cXFwiLFxcbmZzL25scy9tYWMtcm9tYW4uYzo2MTc6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbWFjLXJvbWFuLmMtNjE4LVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuLS1cXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM9NDE1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2VmOFsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL21hYy1yb21hbmlhbi5jLTQ0OS1cXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NDUwOnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuZnMvbmxzL21hYy1yb21hbmlhbi5jLTQ1MS1cXHRwYWdlMDAsIHBhZ2UwMSwgcGFnZTAyLCBwYWdlMDMsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsXFxuLS1cXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM9NTIwPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9tYWMtcm9tYW5pYW4uYy01NTQtXFxuZnMvbmxzL21hYy1yb21hbmlhbi5jOjU1NTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmMtNTU2LXtcXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NTU3OlxcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xcbmZzL25scy9tYWMtcm9tYW5pYW4uYy01NTgtXFx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcXHUwMDI2IDB4MDBmZjtcXG4tLVxcbmZzL25scy9tYWMtcm9tYW5pYW4uYy01NjMtXFxuZnMvbmxzL21hYy1yb21hbmlhbi5jOjU2NDpcXHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xcbmZzL25scy9tYWMtcm9tYW5pYW4uYzo1NjU6XFx0aWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NTY2OlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmMtNTY3LVxcdGVsc2VcXG4tLVxcbmZzL25scy9tYWMtcm9tYW5pYW4uYz01ODA9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuZnMvbmxzL21hYy1yb21hbmlhbi5jLTU4MS1cXHQuY2hhcnNldFxcdD0gXFxcIm1hY3JvbWFuaWFuXFxcIixcXG5mcy9ubHMvbWFjLXJvbWFuaWFuLmM6NTgyOlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL21hYy1yb21hbmlhbi5jLTU4My1cXHQuY2hhcjJ1bmlcXHQ9IGNoYXIydW5pLFxcbi0tXFxuZnMvbmxzL21hYy10dXJraXNoLmM9NDE1PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2VmOFsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL21hYy10dXJraXNoLmMtNDQ5LVxcbmZzL25scy9tYWMtdHVya2lzaC5jOjQ1MDpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9tYWMtdHVya2lzaC5jLTQ1MS1cXHRwYWdlMDAsIHBhZ2UwMSwgcGFnZTAyLCBwYWdlMDMsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsXFxuLS1cXG5mcy9ubHMvbWFjLXR1cmtpc2guYz01MjA9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL21hYy10dXJraXNoLmMtNTU0LVxcbmZzL25scy9tYWMtdHVya2lzaC5jOjU1NTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcXG5mcy9ubHMvbWFjLXR1cmtpc2guYy01NTYte1xcbmZzL25scy9tYWMtdHVya2lzaC5jOjU1NzpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbWFjLXR1cmtpc2guYy01NTgtXFx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcXHUwMDI2IDB4MDBmZjtcXG4tLVxcbmZzL25scy9tYWMtdHVya2lzaC5jLTU2My1cXG5mcy9ubHMvbWFjLXR1cmtpc2guYzo1NjQ6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbWFjLXR1cmtpc2guYzo1NjU6XFx0aWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbWFjLXR1cmtpc2guYzo1NjY6XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9tYWMtdHVya2lzaC5jLTU2Ny1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbWFjLXR1cmtpc2guYz01ODA9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuZnMvbmxzL21hYy10dXJraXNoLmMtNTgxLVxcdC5jaGFyc2V0XFx0PSBcXFwibWFjdHVya2lzaFxcXCIsXFxuZnMvbmxzL21hYy10dXJraXNoLmM6NTgyOlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL21hYy10dXJraXNoLmMtNTgzLVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuLS1cXG5mcy9ubHMvbmxzX2FzY2lpLmM9NTk9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAwWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2FzY2lpLmMtNzctXFxuZnMvbmxzL25sc19hc2NpaS5jOjc4OnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuZnMvbmxzL25sc19hc2NpaS5jLTc5LVxcdHBhZ2UwMCxcXG4tLVxcbmZzL25scy9ubHNfYXNjaWkuYz0xMDE9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19hc2NpaS5jLTExOS1cXG5mcy9ubHMvbmxzX2FzY2lpLmM6MTIwOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9ubHNfYXNjaWkuYy0xMjEte1xcbmZzL25scy9ubHNfYXNjaWkuYzoxMjI6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19hc2NpaS5jLTEyMy1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL25sc19hc2NpaS5jLTEyOC1cXG5mcy9ubHMvbmxzX2FzY2lpLmM6MTI5OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL25sc19hc2NpaS5jOjEzMDpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9ubHNfYXNjaWkuYzoxMzE6XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9ubHNfYXNjaWkuYy0xMzItXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL25sc19hc2NpaS5jPTE0NT1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbmxzX2FzY2lpLmMtMTQ2LVxcdC5jaGFyc2V0XFx0PSBcXFwiYXNjaWlcXFwiLFxcbmZzL25scy9ubHNfYXNjaWkuYzoxNDc6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbmxzX2FzY2lpLmMtMTQ4LVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuLS1cXG5mcy9ubHMvbmxzX2Jhc2UuYz0zOTY9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAwWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2Jhc2UuYy00MzEtXFxuZnMvbmxzL25sc19iYXNlLmM6NDMyOnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuZnMvbmxzL25sc19iYXNlLmMtNDMzLVxcdHBhZ2UwMFxcbi0tXFxuZnMvbmxzL25sc19iYXNlLmM9NDcyPXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9ubHNfYmFzZS5jLTUwOC1cXG5mcy9ubHMvbmxzX2Jhc2UuYzo1MDk6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL25sc19iYXNlLmMtNTEwLXtcXG5mcy9ubHMvbmxzX2Jhc2UuYzo1MTE6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19iYXNlLmMtNTEyLVxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuLS1cXG5mcy9ubHMvbmxzX2Jhc2UuYy01MTctXFxuZnMvbmxzL25sc19iYXNlLmM6NTE4OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL25sc19iYXNlLmM6NTE5OlxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuZnMvbmxzL25sc19iYXNlLmM6NTIwOlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbmxzX2Jhc2UuYy01MjEtXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL25sc19iYXNlLmM9NTM0PXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIGRlZmF1bHRfdGFibGUgPSB7XFxuZnMvbmxzL25sc19iYXNlLmMtNTM1LVxcdC5jaGFyc2V0XFx0PSBcXFwiZGVmYXVsdFxcXCIsXFxuZnMvbmxzL25sc19iYXNlLmM6NTM2OlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL25sc19iYXNlLmMtNTM3LVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuLS1cXG5mcy9ubHMvbmxzX2NwMTI1MC5jPTIxMz1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjFbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9ubHNfY3AxMjUwLmMtMjIwLVxcbmZzL25scy9ubHNfY3AxMjUwLmM6MjIxOnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuZnMvbmxzL25sc19jcDEyNTAuYy0yMjItXFx0cGFnZTAwLFxcdHBhZ2UwMSxcXHRwYWdlMDIsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcbi0tXFxuZnMvbmxzL25sc19jcDEyNTAuYz0yNjU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMDAtXFxuZnMvbmxzL25sc19jcDEyNTAuYzozMDE6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMDIte1xcbmZzL25scy9ubHNfY3AxMjUwLmM6MzAzOiAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMDQtICAgICAgICB1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMDktXFxuZnMvbmxzL25sc19jcDEyNTAuYzozMTA6ICAgICAgICB1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xcbmZzL25scy9ubHNfY3AxMjUwLmM6MzExOiAgICAgICAgaWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbmxzX2NwMTI1MC5jOjMxMjogICAgICAgICAgICAgICAgb3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9ubHNfY3AxMjUwLmMtMzEzLSAgICAgICAgZWxzZVxcbi0tXFxuZnMvbmxzL25sc19jcDEyNTAuYz0zMjY9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMjctXFx0LmNoYXJzZXRcXHQ9IFxcXCJjcDEyNTBcXFwiLFxcbmZzL25scy9ubHNfY3AxMjUwLmM6MzI4OlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL25sc19jcDEyNTAuYy0zMjktXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9ubHNfY3AxMjUxLmM9MTY5PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyMVsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19jcDEyNTEuYy0xNzYtXFxuZnMvbmxzL25sc19jcDEyNTEuYzoxNzc6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbmxzX2NwMTI1MS5jLTE3OC1cXHRwYWdlMDAsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIHBhZ2UwNCwgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgXFxuLS1cXG5mcy9ubHMvbmxzX2NwMTI1MS5jPTIyMD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2NwMTI1MS5jLTI1NC1cXG5mcy9ubHMvbmxzX2NwMTI1MS5jOjI1NTpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcXG5mcy9ubHMvbmxzX2NwMTI1MS5jLTI1Ni17XFxuZnMvbmxzL25sc19jcDEyNTEuYzoyNTc6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19jcDEyNTEuYy0yNTgtXFx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcXHUwMDI2IDB4MDBmZjtcXG4tLVxcbmZzL25scy9ubHNfY3AxMjUxLmMtMjYzLVxcbmZzL25scy9ubHNfY3AxMjUxLmM6MjY0OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL25sc19jcDEyNTEuYzoyNjU6XFx0aWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbmxzX2NwMTI1MS5jOjI2NjpcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuZnMvbmxzL25sc19jcDEyNTEuYy0yNjctXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL25sc19jcDEyNTEuYz0yODA9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuZnMvbmxzL25sc19jcDEyNTEuYy0yODEtXFx0LmNoYXJzZXRcXHQ9IFxcXCJjcDEyNTFcXFwiLFxcbmZzL25scy9ubHNfY3AxMjUxLmM6MjgyOlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL25sc19jcDEyNTEuYy0yODMtXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9ubHNfY3AxMjU1LmM9MjQ4PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyMVsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19jcDEyNTUuYy0yNTUtXFxuZnMvbmxzL25sc19jcDEyNTUuYzoyNTY6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbmxzX2NwMTI1NS5jLTI1Ny1cXHRwYWdlMDAsIHBhZ2UwMSwgcGFnZTAyLCBOVUxMLCAgIE5VTEwsICAgcGFnZTA1LCBOVUxMLCAgIE5VTEwsICAgXFxuLS1cXG5mcy9ubHMvbmxzX2NwMTI1NS5jPTMwMD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2NwMTI1NS5jLTMzNS1cXG5mcy9ubHMvbmxzX2NwMTI1NS5jOjMzNjpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcXG5mcy9ubHMvbmxzX2NwMTI1NS5jLTMzNy17XFxuZnMvbmxzL25sc19jcDEyNTUuYzozMzg6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19jcDEyNTUuYy0zMzktXFx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcXHUwMDI2IDB4MDBmZjtcXG4tLVxcbmZzL25scy9ubHNfY3AxMjU1LmMtMzQ0LVxcbmZzL25scy9ubHNfY3AxMjU1LmM6MzQ1OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL25sc19jcDEyNTUuYzozNDY6XFx0aWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbmxzX2NwMTI1NS5jOjM0NzpcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuZnMvbmxzL25sc19jcDEyNTUuYy0zNDgtXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL25sc19jcDEyNTUuYz0zNjE9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2NwMTI1NS5jLTM2My1cXHQuYWxpYXNcXHRcXHQ9IFxcXCJpc284ODU5LThcXFwiLFxcbmZzL25scy9ubHNfY3AxMjU1LmM6MzY0OlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL25sc19jcDEyNTUuYy0zNjUtXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9ubHNfY3A0MzcuYz0yMzY9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI1WzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2NwNDM3LmMtMjYwLVxcbmZzL25scy9ubHNfY3A0MzcuYzoyNjE6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbmxzX2NwNDM3LmMtMjYyLVxcdHBhZ2UwMCwgcGFnZTAxLCBOVUxMLCAgIHBhZ2UwMywgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBcXG4tLVxcbmZzL25scy9ubHNfY3A0MzcuYz0zMDU9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19jcDQzNy5jLTM0MC1cXG5mcy9ubHMvbmxzX2NwNDM3LmM6MzQxOnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9ubHNfY3A0MzcuYy0zNDIte1xcbmZzL25scy9ubHNfY3A0MzcuYzozNDM6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19jcDQzNy5jLTM0NC1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL25sc19jcDQzNy5jLTM0OS1cXG5mcy9ubHMvbmxzX2NwNDM3LmM6MzUwOlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL25sc19jcDQzNy5jOjM1MTpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9ubHNfY3A0MzcuYzozNTI6XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9ubHNfY3A0MzcuYy0zNTMtXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL25sc19jcDQzNy5jPTM2Nj1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbmxzX2NwNDM3LmMtMzY3LVxcdC5jaGFyc2V0XFx0PSBcXFwiY3A0MzdcXFwiLFxcbmZzL25scy9ubHNfY3A0MzcuYzozNjg6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbmxzX2NwNDM3LmMtMzY5LVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuLS1cXG5mcy9ubHMvbmxzX2NwNzM3LmM9MTk5PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UyNVsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19jcDczNy5jLTIyMy1cXG5mcy9ubHMvbmxzX2NwNzM3LmM6MjI0OnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuZnMvbmxzL25sc19jcDczNy5jLTIyNS1cXHRwYWdlMDAsIE5VTEwsICAgTlVMTCwgICBwYWdlMDMsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgXFxuLS1cXG5mcy9ubHMvbmxzX2NwNzM3LmM9MjY4PXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9ubHNfY3A3MzcuYy0zMDMtXFxuZnMvbmxzL25sc19jcDczNy5jOjMwNDpzdGF0aWMgaW50IHVuaTJjaGFyKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbilcXG5mcy9ubHMvbmxzX2NwNzM3LmMtMzA1LXtcXG5mcy9ubHMvbmxzX2NwNzM3LmM6MzA2OlxcdGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVuaTJjaGFyc2V0O1xcbmZzL25scy9ubHNfY3A3MzcuYy0zMDctXFx0dW5zaWduZWQgY2hhciBjbCA9IHVuaSBcXHUwMDI2IDB4MDBmZjtcXG4tLVxcbmZzL25scy9ubHNfY3A3MzcuYy0zMTItXFxuZnMvbmxzL25sc19jcDczNy5jOjMxMzpcXHR1bmkyY2hhcnNldCA9IHBhZ2VfdW5pMmNoYXJzZXRbY2hdO1xcbmZzL25scy9ubHNfY3A3MzcuYzozMTQ6XFx0aWYgKHVuaTJjaGFyc2V0IFxcdTAwMjZcXHUwMDI2IHVuaTJjaGFyc2V0W2NsXSlcXG5mcy9ubHMvbmxzX2NwNzM3LmM6MzE1OlxcdFxcdG91dFswXSA9IHVuaTJjaGFyc2V0W2NsXTtcXG5mcy9ubHMvbmxzX2NwNzM3LmMtMzE2LVxcdGVsc2VcXG4tLVxcbmZzL25scy9ubHNfY3A3MzcuYz0zMjk9c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuZnMvbmxzL25sc19jcDczNy5jLTMzMC1cXHQuY2hhcnNldFxcdD0gXFxcImNwNzM3XFxcIixcXG5mcy9ubHMvbmxzX2NwNzM3LmM6MzMxOlxcdC51bmkyY2hhclxcdD0gdW5pMmNoYXIsXFxuZnMvbmxzL25sc19jcDczNy5jLTMzMi1cXHQuY2hhcjJ1bmlcXHQ9IGNoYXIydW5pLFxcbi0tXFxuZnMvbmxzL25sc19jcDc3NS5jPTE2OD1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMjVbMjU2XSA9IHtcXG4tLVxcbmZzL25scy9ubHNfY3A3NzUuYy0xOTItXFxuZnMvbmxzL25sc19jcDc3NS5jOjE5MzpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgcGFnZV91bmkyY2hhcnNldFsyNTZdID0ge1xcbmZzL25scy9ubHNfY3A3NzUuYy0xOTQtXFx0cGFnZTAwLCBwYWdlMDEsIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIFxcbi0tXFxuZnMvbmxzL25sc19jcDc3NS5jPTIzNz1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaGFyc2V0MnVwcGVyWzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2NwNzc1LmMtMjcyLVxcbmZzL25scy9ubHNfY3A3NzUuYzoyNzM6c3RhdGljIGludCB1bmkyY2hhcih3Y2hhcl90IHVuaSwgdW5zaWduZWQgY2hhciAqb3V0LCBpbnQgYm91bmRsZW4pXFxuZnMvbmxzL25sc19jcDc3NS5jLTI3NC17XFxuZnMvbmxzL25sc19jcDc3NS5jOjI3NTpcXHRjb25zdCB1bnNpZ25lZCBjaGFyICp1bmkyY2hhcnNldDtcXG5mcy9ubHMvbmxzX2NwNzc1LmMtMjc2LVxcdHVuc2lnbmVkIGNoYXIgY2wgPSB1bmkgXFx1MDAyNiAweDAwZmY7XFxuLS1cXG5mcy9ubHMvbmxzX2NwNzc1LmMtMjgxLVxcbmZzL25scy9ubHNfY3A3NzUuYzoyODI6XFx0dW5pMmNoYXJzZXQgPSBwYWdlX3VuaTJjaGFyc2V0W2NoXTtcXG5mcy9ubHMvbmxzX2NwNzc1LmM6MjgzOlxcdGlmICh1bmkyY2hhcnNldCBcXHUwMDI2XFx1MDAyNiB1bmkyY2hhcnNldFtjbF0pXFxuZnMvbmxzL25sc19jcDc3NS5jOjI4NDpcXHRcXHRvdXRbMF0gPSB1bmkyY2hhcnNldFtjbF07XFxuZnMvbmxzL25sc19jcDc3NS5jLTI4NS1cXHRlbHNlXFxuLS1cXG5mcy9ubHMvbmxzX2NwNzc1LmM9Mjk4PXN0YXRpYyBzdHJ1Y3QgbmxzX3RhYmxlIHRhYmxlID0ge1xcbmZzL25scy9ubHNfY3A3NzUuYy0yOTktXFx0LmNoYXJzZXRcXHQ9IFxcXCJjcDc3NVxcXCIsXFxuZnMvbmxzL25sc19jcDc3NS5jOjMwMDpcXHQudW5pMmNoYXJcXHQ9IHVuaTJjaGFyLFxcbmZzL25scy9ubHNfY3A3NzUuYy0zMDEtXFx0LmNoYXIydW5pXFx0PSBjaGFyMnVuaSxcXG4tLVxcbmZzL25scy9ubHNfY3A4NTAuYz0xNjQ9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTI1WzI1Nl0gPSB7XFxuLS1cXG5mcy9ubHMvbmxzX2NwODUwLmMtMTg4LVxcbmZzL25scy9ubHNfY3A4NTAuYzoxODk6c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0IHBhZ2VfdW5pMmNoYXJzZXRbMjU2XSA9IHtcXG5mcy9ubHMvbmxzX2NwODUwLmMtMTkwLVxcdHBhZ2UwMCwgcGFnZTAxLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBcXG4tLVxcbmZzL25scy9ubHNfY3A4NTAuYz0yMzM9c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2hhcnNldDJ1cHBlclsyNTZdID0ge1xcbi0tXFxuZnMvbmxzL25sc19jcDg1MC5jLTI2OC1cXG5mcy9ubHMvbmxzX2NwODUwLmM6MjY5OnN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbmZzL25scy9ubHNfY3A4NTAuYy0yNzAte1xcbmZzL25scy9ubHNfY3A4NTAuYzoyNzE6XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuZnMvbmxzL25sc19jcDg1MC5jLTI3Mi1cXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbi0tXFxuZnMvbmxzL25sc19jcDg1MC5jLTI3Ny1cXG5mcy9ubHMvbmxzX2NwODUwLmM6Mjc4OlxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuZnMvbmxzL25sc19jcDg1MC5jOjI3OTpcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbmZzL25scy9ubHNfY3A4NTAuYzoyODA6XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbmZzL25scy9ubHNfY3A4NTAuYy0yODEtXFx0ZWxzZVxcbi0tXFxuZnMvbmxzL25sc19jcDg1MC5jPTI5ND1zdGF0aWMgc3RydWN0IG5sc190YWJsZSB0YWJsZSA9IHtcXG5mcy9ubHMvbmxzX2NwODUwLmMtMjk1LVxcdC5jaGFyc2V0XFx0PSBcXFwiY3A4NTBcXFwiLFxcbmZzL25scy9ubHNfY3A4NTAuYzoyOTY6XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG5mcy9ubHMvbmxzX2NwODUwLmMtMjk3LVxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE0OjQ2Ljk4OTEyMjg2NloiLCJTZXEiOjE5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1MjU3NTM1NTY3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZvY3VzaW5nIG9uIENoYXJhY3RlciBFbmNvZGluZzogdW5pMmNoYXIgYW5kIGl0cyBDb250ZXh0KipcblxuT2theSwgbGV0J3MgYnJlYWsgdGhpcyBkb3duIHN5c3RlbWF0aWNhbGx5LiBJIG5lZWQgdG8gaWRlbnRpZnkgdGhlIGNydWNpYWwgZnVuY3Rpb25zIHJlbGF0ZWQgdG8gdGhlIGNoYXJhY3RlciBlbmNvZGluZyBjaGFuZ2VzLCBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIG1vZHVsZS4gRmlyc3QsIEkgd2FudGVkIHRvIGNvbmZpcm0gd2hpY2ggZnVuY3Rpb25zIGFyZSBldmVuIHByZXNlbnQsIGFuZCBJIHNlZTogYHVuaTJjaGFyYCwgYGNoYXIydW5pYCwgYGluaXRfbmxzX2lzbzg4NTlfMTRgLCBhbmQgYGV4aXRfbmxzX2lzbzg4NTlfMTRgLlxuXG5NeSBpbW1lZGlhdGUgZm9jdXMgaXMgb24gaG93IGBwYWdlMDFgIGFuZCBgcGFnZTFlYCwgdGhlIGRhdGEgc3RydWN0dXJlcyB0aGF0IHNlZW0gdG8gYmUgdGhlIGZvY3VzIG9mIHRoZSBjaGFuZ2VzLCBhcmUgdXRpbGl6ZWQuIEl0J3MgcXVpY2tseSBhcHBhcmVudCB0aGF0IHRoZXNlIGFyZSAqZXhjbHVzaXZlbHkqIHVzZWQgd2l0aGluIGB1bmkyY2hhcmAgYW5kIHRoZSBgcGFnZV91bmkyY2hhcnNldGAgYXJyYXkuIExvb2tpbmcgYXQgdGhlIGNvZGUgZm9yIGB1bmkyY2hhcmAsIGl0J3MgY2xlYXIgaXQgY29udmVydHMgYSBVbmljb2RlIGNoYXJhY3RlciAoYHVuaWApIHRvIGFuIElTTy04ODU5LTE0IGNoYXJhY3Rlci4gSWYgdGhlIGJvdW5kIGxlbmd0aCBpcyBpbmNvcnJlY3QsIGl0IHJldHVybnMgYW4gZXJyb3IuIEl0IGRvZXMgYSBzaW1wbGUgbG9va3VwIGluIGBwYWdlX3VuaTJjaGFyc2V0YCBiYXNlZCBvbiB0aGUgaGlnaCBhbmQgbG93IGJ5dGVzIG9mIHRoZSBVbmljb2RlIGNoYXJhY3Rlci5cblxuTm93LCB0aGlzIGlzIHdoZXJlIGl0IGdldHMgaW50ZXJlc3RpbmcuIEFjY29yZGluZyB0byB0aGUgXCJFWFRSQUNUSU5HIEZvY3VzU3ltYm9sc1wiIHNlY3Rpb24sIEkgc2hvdWxkIGJlIHRhcmdldGluZyBzcGVjaWZpYyBmZWF0dXJlIGxvZ2ljIG9yIGVudHJ5cG9pbnRzLiBUaGUga2V5IGlzIHRvICphdm9pZCogdWJpcXVpdG91cyBsaWZlY3ljbGUgZnVuY3Rpb25zIGFuZCBpbnN0ZWFkIHBpbnBvaW50IHRoZSBjb2RlICpkaXJlY3RseSogYWZmZWN0ZWQgYnkgdGhlIGNoYW5nZXMuIGB1bmkyY2hhcmAgc2VlbXMgcGVyZmVjdC4gSXQncyB0aGUgY29yZSBmdW5jdGlvbiBkZWFsaW5nIHdpdGggdGhlIGNoYW5nZWQgZGF0YSwgYHBhZ2UwMWAgYW5kIGBwYWdlMWVgLiBgY2hhcjJ1bmlgIGlzIGFsc28gYW4gb2J2aW91cyBjYW5kaWRhdGUsIGFzIGl0IGNvbnZlcnRzIElTTy04ODU5LTE0IHRvIFVuaWNvZGUgYW5kIHV0aWxpemVzIGBjaGFyc2V0MnVuaWAuIGBpbml0X25sc19pc284ODU5XzE0YCBpcyB0aGUgZnVuY3Rpb24gdGhhdCBwcmVzdW1hYmx5IHJlZ2lzdGVycyB0aGUgdGFibGUuXG5cblRoZSBjaGFsbGVuZ2Ugbm93IGlzIHRoZSBzdGF0aWMgbmF0dXJlIG9mIGB1bmkyY2hhcmAuIFdoaWxlIGl0J3MgZGVjbGFyZWQgc3RhdGljIGluIHRoZSBgLmNgIGZpbGUsIHRoZSBjb21waWxlciwgaW4gdGhlIG9iamVjdCBmaWxlLCBhbmQgaW4ga2FsbHN5bXMgZm9yIHRoZSBtb2R1bGUsIGdlbmVyYXRlcyBhIHN5bWJvbCBgdW5pMmNoYXJgIChvciBzb21ldGhpbmcgc2ltaWxhciBkZXBlbmRpbmcgb24gb3B0aW1pemF0aW9uKS4gVGhpcyBtZWFucyB0aGUgZnV6emVyIGNhbiBzdGlsbCBhY2Nlc3MgaXQgaWYgdGhlIGtlcm5lbCBtb2R1bGUgKG5sc19pc284ODU5XzE0LmtvKSBpcyBidWlsdCBhcyBhIG1vZHVsZSwgb3Igd2hlbiBidWlsdC1pbi5cblxuRmluYWxseSwgSSBuZWVkIHRvIGNoZWNrIGZvciBwb3RlbnRpYWwgd3JhcHBlciBmdW5jdGlvbnMuIEFyZSB0aGVyZSBhbnkgcHVibGljbHkgYWNjZXNzaWJsZSBmdW5jdGlvbnMgaW4gYGZzL25scy9gLCBgZnMvZmF0L2AsIG9yIGBpbmNsdWRlL2xpbnV4L25scy5oYCB0aGF0ICpjYWxsKiBgdW5pMmNoYXJgPyBUaGlzIHdvdWxkIGdpdmUgbWUgYW4gZXh0ZXJuYWwgZW50cnkgcG9pbnQuIENoZWNraW5nIGBpbmNsdWRlL2xpbnV4L25scy5oYCB3b3VsZCBiZSB0aGUgb2J2aW91cyBuZXh0IHN0ZXAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQxMjYyLCJPdXRwdXRUb2tlbnMiOjQwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NzY0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE0OjUyLjI0NjY2Mzk2M1oiLCJTZXEiOjIwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTY4MjM4NzMyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInVuaTJjaGFyfGNoYXIydW5pfGxvYWRfbmxzXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImluY2x1ZGUvbGludXgvbmxzLmhcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiaW5jbHVkZS9saW51eC9ubHMuaD0yNT1zdHJ1Y3QgbmxzX3RhYmxlIHtcXG4tLVxcbmluY2x1ZGUvbGludXgvbmxzLmgtMjctXFx0Y29uc3QgY2hhciAqYWxpYXM7XFxuaW5jbHVkZS9saW51eC9ubHMuaDoyODpcXHRpbnQgKCp1bmkyY2hhcikgKHdjaGFyX3QgdW5pLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCBib3VuZGxlbik7XFxuaW5jbHVkZS9saW51eC9ubHMuaDoyOTpcXHRpbnQgKCpjaGFyMnVuaSkgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJhd3N0cmluZywgaW50IGJvdW5kbGVuLFxcbmluY2x1ZGUvbGludXgvbmxzLmgtMzAtXFx0XFx0XFx0IHdjaGFyX3QgKnVuaSk7XFxuLS1cXG5pbmNsdWRlL2xpbnV4L25scy5oPTQ5PWV4dGVybiBpbnQgdW5yZWdpc3Rlcl9ubHMoc3RydWN0IG5sc190YWJsZSAqKTtcXG5pbmNsdWRlL2xpbnV4L25scy5oOjUwOmV4dGVybiBzdHJ1Y3QgbmxzX3RhYmxlICpsb2FkX25scyhjb25zdCBjaGFyICpjaGFyc2V0KTtcXG5pbmNsdWRlL2xpbnV4L25scy5oOjUxOmV4dGVybiB2b2lkIHVubG9hZF9ubHMoc3RydWN0IG5sc190YWJsZSAqKTtcXG5pbmNsdWRlL2xpbnV4L25scy5oOjUyOmV4dGVybiBzdHJ1Y3QgbmxzX3RhYmxlICpsb2FkX25sc19kZWZhdWx0KHZvaWQpO1xcbmluY2x1ZGUvbGludXgvbmxzLmgtNTMtI2RlZmluZSByZWdpc3Rlcl9ubHMobmxzKSBfX3JlZ2lzdGVyX25scygobmxzKSwgVEhJU19NT0RVTEUpXFxuLS1cXG5pbmNsdWRlL2xpbnV4L25scy5oPTk2PW5sc19udWxsc2l6ZShjb25zdCBzdHJ1Y3QgbmxzX3RhYmxlICpjb2RlcGFnZSlcXG4tLVxcbmluY2x1ZGUvbGludXgvbmxzLmgtMTAwLVxcbmluY2x1ZGUvbGludXgvbmxzLmg6MTAxOlxcdGNoYXJsZW4gPSBjb2RlcGFnZS1cXHUwMDNldW5pMmNoYXIoMCwgdG1wLCBOTFNfTUFYX0NIQVJTRVRfU0laRSk7XFxuaW5jbHVkZS9saW51eC9ubHMuaC0xMDItXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE0OjUyLjQxNDkwODQ5NVoiLCJTZXEiOjIxLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjozODMxMjU4NzczLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFuYWx5c2lzIG9mIHRoZSBDb25maWd1cmF0aW9uIFJlcXVpcmVtZW50cyoqXG5cbk9rYXksIGxldCdzIGJyZWFrIHRoaXMgZG93biBzeXN0ZW1hdGljYWxseS4gRmlyc3QsIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoaWNoIGNvbmZpZ3VyYXRpb25zIGFyZSBlc3NlbnRpYWwgZm9yIHRoaXMgc3BlY2lmaWMgdGFzaywgbGV0J3MgY2FsbCBgRW5hYmxlQ29uZmlnc2AuIEknbGwgc3RhcnQgYnkgY2hlY2tpbmcgdGhlIHJlbGV2YW50IEtjb25maWcgZmlsZSwgbmFtZWx5IGBmcy9ubHMvS2NvbmZpZ2AuIFJpZ2h0IGF3YXksIEkgc2VlIHRoYXQgYE5MU2AgaXMgdGhlIHBhcmVudCBjb25maWcsIGNvbnRyb2xsZWQgdmlhIG1lbnVjb25maWcuICBVbmRlciBgTkxTYCwgSSBmaW5kIHRoZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGBOTFNfSVNPODg1OV8xNGAuXG5cblRoZXJlZm9yZSwgaXQncyBjbGVhciB0aGF0IEkgbmVlZCBib3RoIGBOTFNgIGFuZCBgTkxTX0lTTzg4NTlfMTRgLiBJJ2xsIGNvbmZpcm0gdGhhdCB0aGVzZSB0d28gY29uZmlndXJhdGlvbnMgYXJlIGluZGVlZCB0aGUgZGlyZWN0IGtlcm5lbCBvcHRpb25zIHRoYXQgZ292ZXJuIHRoZSBjb21waWxhdGlvbiBvZiB0aGUgYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYCBtb2R1bGUsIGVuc3VyaW5nIGl0J3MgYnVpbHQgaW50byB0aGUga2VybmVsLlxuXG5Ob3csIGxldCdzIGRvdWJsZS1jaGVjayBhbGwgcmVxdWlyZW1lbnRzIHRvIGJlIGFic29sdXRlbHkgc3VyZTpcblxuMS4gIGBXb3J0aEZ1enppbmdgIGlzIHNldCB0byBgdHJ1ZWAsIHdoaWNoIGlzIHNpZ25pZmljYW50IGJlY2F1c2UgdGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBjb3JlIG1hcHBpbmcgdGFibGVzIChgcGFnZTAxYCBhbmQgYHBhZ2UxZWApIHdpdGhpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgLiAgVGhlc2UgdGFibGVzIGFyZSBkaXJlY3RseSBpbnZvbHZlZCBpbiBmaWxlbmFtZSBjb252ZXJzaW9ucyBpbiBmaWxlc3lzdGVtcyBzdXBwb3J0aW5nIE5MUywgbGlrZSBGQVQgb3IgSVNPRlMuXG4yLiAgVGhlIGBGb2N1c1N5bWJvbHNgIGFyZSBlaXRoZXIgYFtcInVuaTJjaGFyXCIsIFwiY2hhcjJ1bmlcIl1gIG9yIGp1c3QgYFtcInVuaTJjaGFyXCJdYC4gVGhlIGZ1bmN0aW9uIGB1bmkyY2hhcmAgdXNlcyB0aGUgbW9kaWZpZWQgYHBhZ2UwMWAgYW5kIGBwYWdlMWVgIHRhYmxlcyAodGhyb3VnaCBgcGFnZV91bmkyY2hhcnNldGApLCBkaXJlY3RseSBpbXBhY3RpbmcgdGhlIHBvdGVudGlhbCB2dWxuZXJhYmlsaXR5LlxuMy4gIFRoZSBgRW5hYmxlQ29uZmlnc2AgYXJlIGV4cGxpY2l0bHkgYFtcIk5MU1wiLCBcIk5MU19JU084ODU5XzE0XCJdYCwgcmVpbmZvcmNpbmcgdGhlIG5lZWQgZm9yIHRoZXNlIGNvbmZpZ3VyYXRpb25zLlxuNC4gIFRoZSByZWFzb25pbmcgcHJvdmlkZWQgaXMgY2xlYXIgYW5kIGNvbmNpc2UsIGNvbmZpcm1pbmcgbXkgdW5kZXJzdGFuZGluZy5cblxuV2l0aCB0aGlzIGNvbXBsZXRlIGFuYWx5c2lzLCBJIGFtIGNvbmZpZGVudCBJIGNhbiBwcm9jZWVkIHdpdGggdGhlIG5leHQgc3RlcCwgSSdsbCBjYWxsIGBzZXQtcmVzdWx0c2AuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQzMDM4LCJPdXRwdXRUb2tlbnMiOjE0NCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM4OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNDo1Ni4yNDYxNzA3MThaIiwiU2VxIjoyMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxOTk0NjI3MTIsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk5MU1wiLFxuICAgIFwiTkxTX0lTTzg4NTlfMTRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ1bmkyY2hhclwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGNvcnJlY3RzIGNoYXJhY3RlciBtYXBwaW5nIGVudHJpZXMgaW4gdGhlIFVuaWNvZGUtdG8tSVNPLTg4NTktMTQgdGFibGVzIChwYWdlMDEgYW5kIHBhZ2UxZSkgaW4gZnMvbmxzL25sc19pc284ODU5LTE0LmMuIFRoZXNlIHRhYmxlcyBhcmUgdXNlZCBieSB1bmkyY2hhcigpIGR1cmluZyBmaWxlc3lzdGVtIGNoYXJhY3RlciBjb252ZXJzaW9uIG9wZXJhdGlvbnMgKGUuZy4gRkFULCBJU09GUyksIHJlcHJlc2VudGluZyByZWFjaGFibGUgY29kZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uIGNvcnJlY3RuZXNzIGFuZCBib3VuZGFyeSBzYWZldHkuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTkxTXCIsXG4gICAgXCJOTFNfSVNPODg1OV8xNFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInVuaTJjaGFyXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggY29ycmVjdHMgY2hhcmFjdGVyIG1hcHBpbmcgZW50cmllcyBpbiB0aGUgVW5pY29kZS10by1JU08tODg1OS0xNCB0YWJsZXMgKHBhZ2UwMSBhbmQgcGFnZTFlKSBpbiBmcy9ubHMvbmxzX2lzbzg4NTktMTQuYy4gVGhlc2UgdGFibGVzIGFyZSB1c2VkIGJ5IHVuaTJjaGFyKCkgZHVyaW5nIGZpbGVzeXN0ZW0gY2hhcmFjdGVyIGNvbnZlcnNpb24gb3BlcmF0aW9ucyAoZS5nLiBGQVQsIElTT0ZTKSwgcmVwcmVzZW50aW5nIHJlYWNoYWJsZSBjb2RlIHRoYXQgc2hvdWxkIGJlIGZ1enplZCBmb3IgY2hhcmFjdGVyIGNvbnZlcnNpb24gY29ycmVjdG5lc3MgYW5kIGJvdW5kYXJ5IHNhZmV0eS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6NTYuNDQ1NjQ1MDlaIiwiU2VxIjoyMywiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJJZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE4OTkwMzU1MDkyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTQ6NTYuNDQ3NTUxNTQyWiIsIlNlcSI6MjQsIk5lc3RpbmciOjIsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJrbXNhbi1ldmFsdWF0b3IiLCJNb2RlbCI6ImNvcmUiLCJEdXJhdGlvbiI6MTg5ODg0NDI3NTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpYyBjb25zdGFudCBsb29rdXAgdGFibGVzIChgcGFnZTAxYCBhbmQgYHBhZ2UxZWApIGluIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgdG8gY29ycmVjdCBVbmljb2RlLXRvLWNoYXJzZXQgbWFwcGluZyBlbnRyaWVzLiBcXG5cXG5UaGVzZSB0YWJsZXMgYXJlIHN0YXRpYyBjb25zdCBhcnJheXMgb2YgZml4ZWQgc2l6ZSAoMjU2IGJ5dGVzKSBwbGFjZWQgaW4gcmVhZC1vbmx5IGRhdGEgKC5yb2RhdGEpLiBObyBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLCBzdGFjayB2YXJpYWJsZXMsIGtlcm5lbC10by11c2VyIGNvcHkgb3BlcmF0aW9ucywgb3IgdW5pbml0aWFsaXplZCBtZW1vcnkgcGF0aHMgYXJlIGludHJvZHVjZWQgb3IgbW9kaWZpZWQuIFRoZXJlZm9yZSwgdGhlcmUgYXJlIG5vIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzLCBhbmQgYSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGlzIG5vdCB3YXJyYW50ZWQuXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIHNlY3VyaXR5IGVuZ2luZWVyIHNwZWNpYWxpemluZyBpbiBrZXJuZWwgbWVtb3J5XG5lcnJvciBkZXRlY3RvcnMgKEtBU0FOIGFuZCBLTVNBTikuIFlvdXIgam9iIGlzIHRvIHJldmlldyB0aGUgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZFxuZGV0ZXJtaW5lIGlmIHRoZSBjb2RlIGNoYW5nZXMganVzdGlmeSBzcGF3bmluZyBhIGRlZGljYXRlZCBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKVxuZnV6emluZyBzZXNzaW9uIGluIGFkZGl0aW9uIHRvIHN0YW5kYXJkIEtBU0FOIGZ1enppbmcuXG5cbkNSSVRJQ0FMIERJU1RJTkNUSU9OIEJFVFdFRU4gS0FTQU4gQU5EIEtNU0FOOlxuLSBTdGFuZGFyZCBLQVNBTiBrZXJuZWwgYnVpbGRzICh1cHN0cmVhbS1hcHBhcm1vci1rYXNhbi5jb25maWcpIGFscmVhZHkgZW5hYmxlXG4gIGEgY29tcHJlaGVuc2l2ZSBzdWl0ZSBvZiBkZWJ1Z2dpbmcgdG9vbHMgYW5kIHNhbml0aXplcnMsIGluY2x1ZGluZyBLQVNBTlxuICAob3V0LW9mLWJvdW5kcyBhY2Nlc3NlcywgdXNlLWFmdGVyLWZyZWUsIGRvdWJsZSBmcmVlLCBpbnZhbGlkIGZyZWUpLCBMT0NLREVQXG4gIChsb2NraW5nIGJ1Z3MgYW5kIGRlYWRsb2NrcyksIFVCLXNhbml0aXplcnMsIGFuZCBtZW1vcnkgY29ycnVwdGlvbiBjaGVja3MuXG4tIEtNU0FOIChLZXJuZWxNZW1vcnlTYW5pdGl6ZXIpIGRldGVjdHMgcmVhZHMgb2YgVU5JTklUSUFMSVpFRCBtZW1vcnkgKHN0YWNrLCBoZWFwLFxuICBvciBwYWdlIGFsbG9jYXRpb25zKSBhbmQga2VybmVsLXRvLXVzZXIgbWVtb3J5IGluZm8tbGVha3MuXG5cblJ1bGU6IFRIRVJFIElTIE5PIFNFTlNFIElOIFJVTk5JTkcgQSBLTVNBTiBTRVNTSU9OIElGIEEgQlVHIENBTiBCRSBDQVVHSFQgQlkgS0FTQU4sXG5MT0NLREVQLCBPUiBPVEhFUiBTVEFOREFSRCBCVUcgREVURUNUT1JTLlxuQSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGluY3VycyBzaWduaWZpY2FudCByZXNvdXJjZSBjb3N0cy4gWW91IG11c3QgT05MWVxuc2V0IE5lZWRzS01TQU49dHJ1ZSBpZiB0aGUgY29kZSBjaGFuZ2VzIGludHJvZHVjZSBvciBleHBvc2UgVU5JTklUSUFMSVpFRCBNRU1PUlkgcmlza3NcbnRoYXQgYXJlIGRldGVjdGVkIE9OTFkgYnkgS01TQU4uXG5cbkxvb2sgaG9saXN0aWNhbGx5IGF0IHRoZSBwYXRjaCBzZXJpZXMgYW5kIHN1cnJvdW5kaW5nIGNvZGUuIEV2ZW4gaWYgbm8gZGlyZWN0XG51bmluaXRpYWxpemVkIGZpZWxkIGFjY2Vzc2VzIG9yIG5ldyBidWZmZXIgYWxsb2NhdGlvbnMgYXJlIGFkZGVkIGluIHRoZSBkaWZmIGl0c2VsZixcbmEgcGF0Y2ggbWF5IGFsdGVyIGNvbnRyb2wgZmxvdywgYm91bmRzIGNoZWNraW5nLCBvciBkYXRhIGxlbmd0aCBjYWxjdWxhdGlvbnMgaW4gd2F5c1xudGhhdCBjaGFuZ2UgaG93IHRoZSByZXN0IG9mIHRoZSBjb2RlIG9wZXJhdGVzIG9uIGV4aXN0aW5nIGJ1ZmZlcnMgKGUuZy4gYWxsb3dpbmdcbnVuaW5pdGlhbGl6ZWQgc3RhY2svaGVhcCBtZW1vcnkgdG8gYmUgcmVhZCwgY29waWVkIHRvIHVzZXIgc3BhY2UsIG9yIHVzZWQgaW4gY29udHJvbFxuZmxvdykuIERvIG5vdCBoZXNpdGF0ZSB0byB1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBpbnNwZWN0IHRoZSBzdXJyb3VuZGluZyBjb2RlLFxuY2FsbGVkIGZ1bmN0aW9ucywgYW5kIGNhbGxlcnMuXG5cblNldCBOZWVkc0tNU0FOPXRydWUgT05MWSBJRiB0aGUgcGF0Y2ggaW50cm9kdWNlcyBvciBtb2RpZmllczpcbjEuIEtlcm5lbCBzdHJ1Y3R1cmVzIHNlbnQgdG8gdXNlciBzcGFjZSAodmlhIGNvcHlfdG9fdXNlciwgcHV0X3VzZXIsIG5ldGxpbmsgc2tiXG4gICBhdHRyaWJ1dGVzLCBpb2N0bCBvdXRwdXQgYXJndW1lbnRzLCBzb2NrZXQgb3B0aW9ucywgb3IgQlBGIGJ1ZmZlcnMpIHdoZXJlIGZpZWxkc1xuICAgb3Igc3RydWN0dXJlIHBhZGRpbmcgbWlnaHQgbm90IGJlIGZ1bGx5IGluaXRpYWxpemVkL3plcm9lZC5cbjIuIENvbmRpdGlvbmFsIGxvZ2ljIG9yIGJyYW5jaGluZyB0aGF0IGRlcGVuZHMgb24gcG90ZW50aWFsbHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZXNcbiAgIG9yIHN0cnVjdCBmaWVsZHMuXG4zLiBBbGxvY2F0aW9uIG9yIGluaXRpYWxpemF0aW9uIG9mIGNvbXBsZXggZGF0YSBzdHJ1Y3R1cmVzIHdoZXJlIHVuaW5pdGlhbGl6ZWQgZmllbGRzXG4gICBjb3VsZCBiZSByZWFkIGxhdGVyIGluIHJlYWNoYWJsZSBjb2RlIHBhdGhzLlxuNC4gQm91bmRzIGNoZWNrcywgbGVuZ3Rocywgb3IgbG9naWMgaW4gYSB3YXkgdGhhdCBhbGxvd3Mgc3Vycm91bmRpbmcgY29kZSB0byBhY2Nlc3NcbiAgIHVuaW5pdGlhbGl6ZWQgYnl0ZXMgb2YgZXhpc3RpbmcgYnVmZmVycy5cblxuU2V0IE5lZWRzS01TQU49ZmFsc2UgSUY6XG4tIFRoZSBjb2RlIGNoYW5nZXMgcHJpbWFyaWx5IHJpc2sgb3V0LW9mLWJvdW5kcyBhY2Nlc3MsIGFycmF5IG92ZXJmbG93cywgTlVMTCBwb2ludGVyXG4gIGRlcmVmZXJlbmNlcywgbG9ja2luZyBkZWFkbG9ja3MsIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgKHRoZXNlIGFyZSBhbHJlYWR5IGNhdWdodFxuICBieSBLQVNBTiwgTE9DS0RFUCwgb3Igc3RhbmRhcmQgYnVnIGRldGVjdG9ycykuXG4tIEFsbCBzdGFjay9oZWFwIHN0cnVjdHVyZXMgdG91Y2hlZCBvciBpbnRyb2R1Y2VkIGJ5IHRoZSBwYXRjaCBhcmUgZnVsbHkgemVyb2VkXG4gIG9yIGluaXRpYWxpemVkIChlLmcuIHVzaW5nID0gezB9LCBtZW1zZXQsIGt6YWxsb2MpIGJlZm9yZSBiZWluZyByZWFkIG9yIGNvcGllZC5cbi0gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBhbnkgcmlzayBvZiB1bmluaXRpYWxpemVkIG1lbW9yeSB1c2FnZSBvciBpbmZvLWxlYWtzLlxuXG5Vc2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBpbnNwZWN0IHRoZSBzdXJyb3VuZGluZyBjb2RlIGlmIG5lY2Vzc2FyeSwgdGhlbiBwcm92aWRlXG5kZXRhaWxlZCBLTVNBTlJlYXNvbmluZyBjb250cmFzdGluZyBLQVNBTiB2cyBLTVNBTiBhcHBsaWNhYmlsaXR5IGZvciB0aGlzIHBhdGNoLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiVGFyZ2V0IGFyY2hpdGVjdHVyZTogYW1kNjRcblxuRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgMjM2NzgzYzI1ZWQ4ZmY5NGRhNWM3ZmYxZTUyYzE1N2EyODM5NDYxMFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgU2VwIDkgMTM6MTM6NDkgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy9ubHMvbmxzX2lzbzg4NTktMTQuYyBiL2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXG5pbmRleCBjNzg5ZWNjYjhhNjk1Li42MGI5NDAwZjkxNWFmIDEwMDY0NFxuLS0tIGEvZnMvbmxzL25sc19pc284ODU5LTE0LmNcbisrKyBiL2ZzL25scy9ubHNfaXNvODg1OS0xNC5jXG5AQCAtMTM4LDI0ICsxMzgsMjMgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAwWzI1Nl0gPSB7XG4gfTtcbiBcbiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDFbMjU2XSA9IHtcbi1cdDB4MDAsIDB4MDAsIDB4YTEsIDB4YTIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqL1xuLVx0MHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDAwLTB4MDcgKi9cbitcdDB4MDAsIDB4MDAsIDB4YTQsIDB4YTUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDgtMHgwZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgxMC0weDE3ICovXG4tXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGIwLCAweGIxLCAvKiAweDE4LTB4MWYgKi9cbitcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTgtMHgxZiAqL1xuIFx0MHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDI4LTB4MmYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzAtMHgzNyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovXG4tXHQweGI0LCAweGI1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQwLTB4NDcgKi9cbitcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDAtMHg0NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg0OC0weDRmICovXG4tXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGI3LCAweGI5LCAvKiAweDUwLTB4NTcgKi9cbitcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NTAtMHg1NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1OC0weDVmICovXG4tXHQweGJiLCAweGJmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDYwLTB4NjcgKi9cbi1cdDB4MDAsIDB4MDAsIDB4ZDcsIDB4ZjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjgtMHg2ZiAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2MC0weDY3ICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDY4LTB4NmYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZDAsIDB4ZjAsIDB4ZGUsIDB4ZmUsIC8qIDB4NzAtMHg3NyAqL1xuIFx0MHhhZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3OC0weDdmICovXG4tXHRcbi1cdDB4YTgsIDB4YjgsIDB4YWEsIDB4YmEsIDB4YmQsIDB4YmUsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqL1xuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTAtMHg5NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5OC0weDlmICovXG5AQCAtMTY5LDcgKzE2OCw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UwMVsyNTZdID0ge1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xuLVx0MHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGYwLTB4ZjcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjgtMHhmZiAqL1xuIH07XG4gXG5AQCAtMTc4LDcgKzE3Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZ2UxZVsyNTZdID0ge1xuIFx0MHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjAsIDB4YjEsIC8qIDB4MTgtMHgxZiAqL1xuLVx0MHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDIwLTB4MjcgKi9cbiBcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MjgtMHgyZiAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzMC0weDM3ICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDM4LTB4M2YgKi9cbkBAIC0xODgsOSArMTg3LDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTFlWzI1Nl0gPSB7XG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDU4LTB4NWYgKi9cbiBcdDB4YmIsIDB4YmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHhkNywgMHhmNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2OC0weDZmICovXG4tXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGQwLCAweGYwLCAweGRlLCAweGZlLCAvKiAweDcwLTB4NzcgKi9cbi1cdDB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqL1xuLVxuK1x0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg3MC0weDc3ICovXG4rXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDc4LTB4N2YgKi9cbiBcdDB4YTgsIDB4YjgsIDB4YWEsIDB4YmEsIDB4YmQsIDB4YmUsIDB4MDAsIDB4MDAsIC8qIDB4ODAtMHg4NyAqL1xuIFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4OC0weDhmICovXG4gXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDkwLTB4OTcgKi9cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE0OjU2LjQ0NzU1Mzk3MloiLCJTZXEiOjI1LCJOZXN0aW5nIjozLCJUeXBlIjoibGxtIiwiTmFtZSI6Imttc2FuLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo0NjgxMzM5NzcyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhvc2UgdGhvdWdodHMsIHByZXNlbnRlZCBhcyBhIHBlcnNvbmFsIHRob3VnaHQgcHJvY2VzcywgYXMgcmVxdWVzdGVkOlxuXG4qKktNU0FOIEZ1enppbmcgRGV0ZXJtaW5hdGlvbioqXG5cbkFscmlnaHQsIHRpbWUgdG8gZGl2ZSBpbi4gRmlyc3QsIGxldCdzIGFzc2VzcyB0aGlzIHBhdGNoLiBUaGUgcXVlc3Rpb24gaXM6IGRvZXMgdGhpcyBjaGFuZ2Ugd2FycmFudCBpdHMgb3duIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHJ1bj8gSSBuZWVkIHRvIHF1aWNrbHkgZGV0ZXJtaW5lIHRoZSByaXNrIHByb2ZpbGUgaGVyZS4gSSdsbCBuZWVkIHRvIGNvbnNpZGVyIHdoYXQgYXJlYXMgb2YgdGhlIGtlcm5lbCBhcmUgYmVpbmcgbW9kaWZpZWQsIGhvdyBkZWVwbHkgdGhleSdyZSBpbnRlZ3JhdGVkLCBhbmQgaWYgdGhlcmUgYXJlIGFueSBvYnZpb3VzIFwiZ290Y2hhc1wiIHRoYXQgS01TQU4gd291bGQgYmUgcGFydGljdWxhcmx5IGdvb2QgYXQgY2F0Y2hpbmcuIEl0J3MgYSByaXNrIGFzc2Vzc21lbnQgcmlnaHQgb2ZmIHRoZSBiYXQuXG5cblNwZWNpZmljYWxseSwgSSdtIGdvaW5nIHRvIHRha2UgYSBsb29rIGF0IHRoZSBmaWxlIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AuIFRoaXMgaXMgd2hlcmUgSSdsbCBiZWdpbiBteSBpbnZlc3RpZ2F0aW9uLiBUaGlzIGNvZGUgd2lsbCBnaXZlIG1lIGEgZ29vZCBpZGVhIG9mIHdoYXQncyBiZWluZyBjaGFuZ2VkIGFuZCB3aGF0IHR5cGUgb2YgZGF0YSBpcyBiZWluZyBoYW5kbGVkLiBUaGUgZmlsZSBuYW1lIGFsb25lIGhpbnRzIGF0IGNoYXJhY3RlciBzZXQgY29udmVyc2lvbiwgYW5kIHRoYXQncyBvZnRlbiBhIHNvdXJjZSBvZiBtZW1vcnkgY29ycnVwdGlvbiBidWdzLiBUaGlzIGlzIGEgcG90ZW50aWFsIGhvdC1zcG90IGZvciBLTVNBTiwgYW5kIHNvIGl0J3MgYSBnb29kIHBsYWNlIHRvIHN0YXJ0IG15IGFuYWx5c2lzLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1Mjk5LCJPdXRwdXRUb2tlbnMiOjQ1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDQsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNTowMS4xMjg4OTY2MzRaIiwiU2VxIjoyNiwiTmVzdGluZyI6MywiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTI1NjgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9ubHNfaXNvODg1OS0xNC5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDEwMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgICAxOlxcdC8qXFxuICAgMjpcXHQgKiBsaW51eC9mcy9ubHMvbmxzX2lzbzg4NTktMTQuY1xcbiAgIDM6XFx0ICpcXG4gICA0OlxcdCAqIENoYXJzZXQgaXNvODg1OS0xNCB0cmFuc2xhdGlvbiB0YWJsZXMuXFxuICAgNTpcXHQgKlxcbiAgIDY6XFx0ICogR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgZnJvbSB0aGUgVW5pY29kZSBhbmQgY2hhcnNldCB0YWJsZVxcbiAgIDc6XFx0ICogcHJvdmlkZWQgYnkgdGhlIFVuaWNvZGUgT3JnYW5pc2F0aW9uIGF0XFxuICAgODpcXHQgKiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1xcbiAgIDk6XFx0ICogVGhlIFVuaWNvZGUgdG8gY2hhcnNldCB0YWJsZSBoYXMgb25seSBleGFjdCBtYXBwaW5ncy5cXG4gIDEwOlxcdCAqXFxuICAxMTpcXHQgKiBSaHlzIEpvbmVzLCBTd2Fuc2VhIFVuaXZlcnNpdHkgQ29tcHV0ZXIgU29jaWV0eVxcbiAgMTI6XFx0ICogcmh5c0BzdWNzLnN3YW4uYWMudWtcXG4gIDEzOlxcdCAqL1xcbiAgMTQ6XFx0XFxuICAxNTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvbW9kdWxlLmhcXHUwMDNlXFxuICAxNjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgva2VybmVsLmhcXHUwMDNlXFxuICAxNzpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvc3RyaW5nLmhcXHUwMDNlXFxuICAxODpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvbmxzLmhcXHUwMDNlXFxuICAxOTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJybm8uaFxcdTAwM2VcXG4gIDIwOlxcdFxcbiAgMjE6XFx0c3RhdGljIGNvbnN0IHdjaGFyX3QgY2hhcnNldDJ1bmlbMjU2XSA9IHtcXG4gIDIyOlxcdFxcdC8qIDB4MDAqL1xcbiAgMjM6XFx0XFx0MHgwMDAwLCAweDAwMDEsIDB4MDAwMiwgMHgwMDAzLCBcXG4gIDI0OlxcdFxcdDB4MDAwNCwgMHgwMDA1LCAweDAwMDYsIDB4MDAwNywgXFxuICAyNTpcXHRcXHQweDAwMDgsIDB4MDAwOSwgMHgwMDBhLCAweDAwMGIsIFxcbiAgMjY6XFx0XFx0MHgwMDBjLCAweDAwMGQsIDB4MDAwZSwgMHgwMDBmLCBcXG4gIDI3OlxcdFxcdC8qIDB4MTAqL1xcbiAgMjg6XFx0XFx0MHgwMDEwLCAweDAwMTEsIDB4MDAxMiwgMHgwMDEzLCBcXG4gIDI5OlxcdFxcdDB4MDAxNCwgMHgwMDE1LCAweDAwMTYsIDB4MDAxNywgXFxuICAzMDpcXHRcXHQweDAwMTgsIDB4MDAxOSwgMHgwMDFhLCAweDAwMWIsIFxcbiAgMzE6XFx0XFx0MHgwMDFjLCAweDAwMWQsIDB4MDAxZSwgMHgwMDFmLCBcXG4gIDMyOlxcdFxcdC8qIDB4MjAqL1xcbiAgMzM6XFx0XFx0MHgwMDIwLCAweDAwMjEsIDB4MDAyMiwgMHgwMDIzLCBcXG4gIDM0OlxcdFxcdDB4MDAyNCwgMHgwMDI1LCAweDAwMjYsIDB4MDAyNywgXFxuICAzNTpcXHRcXHQweDAwMjgsIDB4MDAyOSwgMHgwMDJhLCAweDAwMmIsIFxcbiAgMzY6XFx0XFx0MHgwMDJjLCAweDAwMmQsIDB4MDAyZSwgMHgwMDJmLCBcXG4gIDM3OlxcdFxcdC8qIDB4MzAqL1xcbiAgMzg6XFx0XFx0MHgwMDMwLCAweDAwMzEsIDB4MDAzMiwgMHgwMDMzLCBcXG4gIDM5OlxcdFxcdDB4MDAzNCwgMHgwMDM1LCAweDAwMzYsIDB4MDAzNywgXFxuICA0MDpcXHRcXHQweDAwMzgsIDB4MDAzOSwgMHgwMDNhLCAweDAwM2IsIFxcbiAgNDE6XFx0XFx0MHgwMDNjLCAweDAwM2QsIDB4MDAzZSwgMHgwMDNmLCBcXG4gIDQyOlxcdFxcdC8qIDB4NDAqL1xcbiAgNDM6XFx0XFx0MHgwMDQwLCAweDAwNDEsIDB4MDA0MiwgMHgwMDQzLCBcXG4gIDQ0OlxcdFxcdDB4MDA0NCwgMHgwMDQ1LCAweDAwNDYsIDB4MDA0NywgXFxuICA0NTpcXHRcXHQweDAwNDgsIDB4MDA0OSwgMHgwMDRhLCAweDAwNGIsIFxcbiAgNDY6XFx0XFx0MHgwMDRjLCAweDAwNGQsIDB4MDA0ZSwgMHgwMDRmLCBcXG4gIDQ3OlxcdFxcdC8qIDB4NTAqL1xcbiAgNDg6XFx0XFx0MHgwMDUwLCAweDAwNTEsIDB4MDA1MiwgMHgwMDUzLCBcXG4gIDQ5OlxcdFxcdDB4MDA1NCwgMHgwMDU1LCAweDAwNTYsIDB4MDA1NywgXFxuICA1MDpcXHRcXHQweDAwNTgsIDB4MDA1OSwgMHgwMDVhLCAweDAwNWIsIFxcbiAgNTE6XFx0XFx0MHgwMDVjLCAweDAwNWQsIDB4MDA1ZSwgMHgwMDVmLCBcXG4gIDUyOlxcdFxcdC8qIDB4NjAqL1xcbiAgNTM6XFx0XFx0MHgwMDYwLCAweDAwNjEsIDB4MDA2MiwgMHgwMDYzLCBcXG4gIDU0OlxcdFxcdDB4MDA2NCwgMHgwMDY1LCAweDAwNjYsIDB4MDA2NywgXFxuICA1NTpcXHRcXHQweDAwNjgsIDB4MDA2OSwgMHgwMDZhLCAweDAwNmIsIFxcbiAgNTY6XFx0XFx0MHgwMDZjLCAweDAwNmQsIDB4MDA2ZSwgMHgwMDZmLCBcXG4gIDU3OlxcdFxcdC8qIDB4NzAqL1xcbiAgNTg6XFx0XFx0MHgwMDcwLCAweDAwNzEsIDB4MDA3MiwgMHgwMDczLCBcXG4gIDU5OlxcdFxcdDB4MDA3NCwgMHgwMDc1LCAweDAwNzYsIDB4MDA3NywgXFxuICA2MDpcXHRcXHQweDAwNzgsIDB4MDA3OSwgMHgwMDdhLCAweDAwN2IsIFxcbiAgNjE6XFx0XFx0MHgwMDdjLCAweDAwN2QsIDB4MDA3ZSwgMHgwMDdmLCBcXG4gIDYyOlxcdFxcdC8qIDB4ODAqL1xcbiAgNjM6XFx0XFx0MHgwMDgwLCAweDAwODEsIDB4MDA4MiwgMHgwMDgzLFxcbiAgNjQ6XFx0XFx0MHgwMDg0LCAweDAwODUsIDB4MDA4NiwgMHgwMDg3LFxcbiAgNjU6XFx0XFx0MHgwMDg4LCAweDAwODksIDB4MDA4YSwgMHgwMDhiLFxcbiAgNjY6XFx0XFx0MHgwMDhjLCAweDAwOGQsIDB4MDA4ZSwgMHgwMDhmLFxcbiAgNjc6XFx0XFx0LyogMHg5MCovXFxuICA2ODpcXHRcXHQweDAwOTAsIDB4MDA5MSwgMHgwMDkyLCAweDAwOTMsXFxuICA2OTpcXHRcXHQweDAwOTQsIDB4MDA5NSwgMHgwMDk2LCAweDAwOTcsXFxuICA3MDpcXHRcXHQweDAwOTgsIDB4MDA5OSwgMHgwMDlhLCAweDAwOWIsXFxuICA3MTpcXHRcXHQweDAwOWMsIDB4MDA5ZCwgMHgwMDllLCAweDAwOWYsXFxuICA3MjpcXHRcXHQvKiAweGEwKi9cXG4gIDczOlxcdFxcdDB4MDBhMCwgMHgxZTAyLCAweDFlMDMsIDB4MDBhMywgXFxuICA3NDpcXHRcXHQweDAxMGEsIDB4MDEwYiwgMHgxZTBhLCAweDAwYTcsIFxcbiAgNzU6XFx0XFx0MHgxZTgwLCAweDAwYTksIDB4MWU4MiwgMHgxZTBiLCBcXG4gIDc2OlxcdFxcdDB4MWVmMiwgMHgwMGFkLCAweDAwYWUsIDB4MDE3OCwgXFxuICA3NzpcXHRcXHQvKiAweGIwKi9cXG4gIDc4OlxcdFxcdDB4MWUxZSwgMHgxZTFmLCAweDAxMjAsIDB4MDEyMSwgXFxuICA3OTpcXHRcXHQweDFlNDAsIDB4MWU0MSwgMHgwMGI2LCAweDFlNTYsIFxcbiAgODA6XFx0XFx0MHgxZTgxLCAweDFlNTcsIDB4MWU4MywgMHgxZTYwLCBcXG4gIDgxOlxcdFxcdDB4MWVmMywgMHgxZTg0LCAweDFlODUsIDB4MWU2MSwgXFxuICA4MjpcXHRcXHQvKiAweGMwKi9cXG4gIDgzOlxcdFxcdDB4MDBjMCwgMHgwMGMxLCAweDAwYzIsIDB4MDBjMywgXFxuICA4NDpcXHRcXHQweDAwYzQsIDB4MDBjNSwgMHgwMGM2LCAweDAwYzcsIFxcbiAgODU6XFx0XFx0MHgwMGM4LCAweDAwYzksIDB4MDBjYSwgMHgwMGNiLCBcXG4gIDg2OlxcdFxcdDB4MDBjYywgMHgwMGNkLCAweDAwY2UsIDB4MDBjZiwgXFxuICA4NzpcXHRcXHQvKiAweGQwKi9cXG4gIDg4OlxcdFxcdDB4MDE3NCwgMHgwMGQxLCAweDAwZDIsIDB4MDBkMywgXFxuICA4OTpcXHRcXHQweDAwZDQsIDB4MDBkNSwgMHgwMGQ2LCAweDFlNmEsIFxcbiAgOTA6XFx0XFx0MHgwMGQ4LCAweDAwZDksIDB4MDBkYSwgMHgwMGRiLCBcXG4gIDkxOlxcdFxcdDB4MDBkYywgMHgwMGRkLCAweDAxNzYsIDB4MDBkZiwgXFxuICA5MjpcXHRcXHQvKiAweGUwKi9cXG4gIDkzOlxcdFxcdDB4MDBlMCwgMHgwMGUxLCAweDAwZTIsIDB4MDBlMywgXFxuICA5NDpcXHRcXHQweDAwZTQsIDB4MDBlNSwgMHgwMGU2LCAweDAwZTcsIFxcbiAgOTU6XFx0XFx0MHgwMGU4LCAweDAwZTksIDB4MDBlYSwgMHgwMGViLCBcXG4gIDk2OlxcdFxcdDB4MDBlYywgMHgwMGVkLCAweDAwZWUsIDB4MDBlZiwgXFxuICA5NzpcXHRcXHQvKiAweGYwKi9cXG4gIDk4OlxcdFxcdDB4MDE3NSwgMHgwMGYxLCAweDAwZjIsIDB4MDBmMywgXFxuICA5OTpcXHRcXHQweDAwZjQsIDB4MDBmNSwgMHgwMGY2LCAweDFlNmIsIFxcbiAxMDA6XFx0XFx0MHgwMGY4LCAweDAwZjksIDB4MDBmYSwgMHgwMGZiLCBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTU6MDEuMTI5MDI1MzI0WiIsIlNlcSI6MjcsIk5lc3RpbmciOjMsIlR5cGUiOiJsbG0iLCJOYW1lIjoia21zYW4tZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjIxNDczMjMwNTksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aGF0IHRob3VnaHQgcHJvY2VzcywgYXNzdW1pbmcgSSdtIGFscmVhZHkgZGVlcCBpbiB0aGUgd2VlZHMgb2YgZmlsZXN5c3RlbSBjb2RlOlxuXG4qKkRpdmluZyBpbnRvIHRoZSBJU08tODg1OS0xNCBJbXBsZW1lbnRhdGlvbioqXG5cbkFscmlnaHQsIHRpbWUgdG8gZGlnIGRlZXBlci4gSSd2ZSBiZWVuIHdvcmtpbmcgd2l0aCB0aGUgZmlsZXN5c3RlbSBjb2RlIGFuZCBub3cgSSBuZWVkIHRvIG1vdmUgb24gdG8gdGhlIGBmcy9ubHMvYCBkaXJlY3RvcnksIHNwZWNpZmljYWxseSBmb2N1c2luZyBvbiB0aGUgYG5sc19pc284ODU5LTE0LmNgIGZpbGUuIEknbSBhc3N1bWluZyBpdCdzIGhhbmRsaW5nIHRoZSBjaGFyYWN0ZXIgc2V0IGNvbnZlcnNpb24gZm9yIElTTy04ODU5LTE0LCBsaWtlbHkgZm9yIGZpbGVzeXN0ZW0gb3BlcmF0aW9ucy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoZSBzeXN0ZW0gdHJhbnNsYXRlcyBiZXR3ZWVuIFVuaWNvZGUgYW5kIHRoaXMgc3BlY2lmaWMgZW5jb2RpbmcuIExldCdzIGdldCByZWFkaW5nIGFuZCBzZWUgd2hhdCdzIHdoYXQuIEknbSBleHBlY3RpbmcgdG8gZmluZCB0aGUgY2hhcmFjdGVyIG1hcHBpbmcgdGFibGVzLCBwcm9iYWJseSBzb21lIGNvbnZlcnNpb24gZnVuY3Rpb25zLCBhbmQgbGlrZWx5IHNvbWUgZXJyb3IgaGFuZGxpbmcuIFRpbWUgdG8gZGl2ZSBpbiBhbmQgZ2V0IGEgZ3JpcCBvbiBob3cgdGhpcyBzcGVjaWZpYyBlbmNvZGluZyBpcyBzdXBwb3J0ZWQgYXQgYSBsb3cgbGV2ZWwuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjg0ODMsIk91dHB1dFRva2VucyI6NDcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNywiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE1OjAzLjI3NjM1MjM3M1oiLCJTZXEiOjI4LCJOZXN0aW5nIjozLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNDE5MTEsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiZnMvbmxzL25sc19pc284ODU5LTE0LmNcIixcbiAgXCJGaXJzdExpbmVcIjogMTAxLFxuICBcIkxpbmVDb3VudFwiOiAxNTBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDEwMTpcXHRcXHQweDAwZmMsIDB4MDBmZCwgMHgwMTc3LCAweDAwZmYsIFxcbiAxMDI6XFx0fTtcXG4gMTAzOlxcdFxcbiAxMDQ6XFx0c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGFnZTAwWzI1Nl0gPSB7XFxuIDEwNTpcXHRcXHQweDAwLCAweDAxLCAweDAyLCAweDAzLCAweDA0LCAweDA1LCAweDA2LCAweDA3LCAvKiAweDAwLTB4MDcgKi9cXG4gMTA2OlxcdFxcdDB4MDgsIDB4MDksIDB4MGEsIDB4MGIsIDB4MGMsIDB4MGQsIDB4MGUsIDB4MGYsIC8qIDB4MDgtMHgwZiAqL1xcbiAxMDc6XFx0XFx0MHgxMCwgMHgxMSwgMHgxMiwgMHgxMywgMHgxNCwgMHgxNSwgMHgxNiwgMHgxNywgLyogMHgxMC0weDE3ICovXFxuIDEwODpcXHRcXHQweDE4LCAweDE5LCAweDFhLCAweDFiLCAweDFjLCAweDFkLCAweDFlLCAweDFmLCAvKiAweDE4LTB4MWYgKi9cXG4gMTA5OlxcdFxcdDB4MjAsIDB4MjEsIDB4MjIsIDB4MjMsIDB4MjQsIDB4MjUsIDB4MjYsIDB4MjcsIC8qIDB4MjAtMHgyNyAqL1xcbiAxMTA6XFx0XFx0MHgyOCwgMHgyOSwgMHgyYSwgMHgyYiwgMHgyYywgMHgyZCwgMHgyZSwgMHgyZiwgLyogMHgyOC0weDJmICovXFxuIDExMTpcXHRcXHQweDMwLCAweDMxLCAweDMyLCAweDMzLCAweDM0LCAweDM1LCAweDM2LCAweDM3LCAvKiAweDMwLTB4MzcgKi9cXG4gMTEyOlxcdFxcdDB4MzgsIDB4MzksIDB4M2EsIDB4M2IsIDB4M2MsIDB4M2QsIDB4M2UsIDB4M2YsIC8qIDB4MzgtMHgzZiAqL1xcbiAxMTM6XFx0XFx0MHg0MCwgMHg0MSwgMHg0MiwgMHg0MywgMHg0NCwgMHg0NSwgMHg0NiwgMHg0NywgLyogMHg0MC0weDQ3ICovXFxuIDExNDpcXHRcXHQweDQ4LCAweDQ5LCAweDRhLCAweDRiLCAweDRjLCAweDRkLCAweDRlLCAweDRmLCAvKiAweDQ4LTB4NGYgKi9cXG4gMTE1OlxcdFxcdDB4NTAsIDB4NTEsIDB4NTIsIDB4NTMsIDB4NTQsIDB4NTUsIDB4NTYsIDB4NTcsIC8qIDB4NTAtMHg1NyAqL1xcbiAxMTY6XFx0XFx0MHg1OCwgMHg1OSwgMHg1YSwgMHg1YiwgMHg1YywgMHg1ZCwgMHg1ZSwgMHg1ZiwgLyogMHg1OC0weDVmICovXFxuIDExNzpcXHRcXHQweDYwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LCAvKiAweDYwLTB4NjcgKi9cXG4gMTE4OlxcdFxcdDB4NjgsIDB4NjksIDB4NmEsIDB4NmIsIDB4NmMsIDB4NmQsIDB4NmUsIDB4NmYsIC8qIDB4NjgtMHg2ZiAqL1xcbiAxMTk6XFx0XFx0MHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NywgLyogMHg3MC0weDc3ICovXFxuIDEyMDpcXHRcXHQweDc4LCAweDc5LCAweDdhLCAweDdiLCAweDdjLCAweDdkLCAweDdlLCAweDdmLCAvKiAweDc4LTB4N2YgKi9cXG4gMTIxOlxcdFxcbiAxMjI6XFx0XFx0MHg4MCwgMHg4MSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4NSwgMHg4NiwgMHg4NywgLyogMHg4MC0weDg3ICovXFxuIDEyMzpcXHRcXHQweDg4LCAweDg5LCAweDhhLCAweDhiLCAweDhjLCAweDhkLCAweDhlLCAweDhmLCAvKiAweDg4LTB4OGYgKi9cXG4gMTI0OlxcdFxcdDB4OTAsIDB4OTEsIDB4OTIsIDB4OTMsIDB4OTQsIDB4OTUsIDB4OTYsIDB4OTcsIC8qIDB4OTAtMHg5NyAqL1xcbiAxMjU6XFx0XFx0MHg5OCwgMHg5OSwgMHg5YSwgMHg5YiwgMHg5YywgMHg5ZCwgMHg5ZSwgMHg5ZiwgLyogMHg5OC0weDlmICovXFxuIDEyNjpcXHRcXHQweGEwLCAweDAwLCAweDAwLCAweGEzLCAweDAwLCAweDAwLCAweDAwLCAweGE3LCAvKiAweGEwLTB4YTcgKi9cXG4gMTI3OlxcdFxcdDB4MDAsIDB4YTksIDB4MDAsIDB4MDAsIDB4MDAsIDB4YWQsIDB4YWUsIDB4MDAsIC8qIDB4YTgtMHhhZiAqL1xcbiAxMjg6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiNiwgMHgwMCwgLyogMHhiMC0weGI3ICovXFxuIDEyOTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGI4LTB4YmYgKi9cXG4gMTMwOlxcdFxcdDB4YzAsIDB4YzEsIDB4YzIsIDB4YzMsIDB4YzQsIDB4YzUsIDB4YzYsIDB4YzcsIC8qIDB4YzAtMHhjNyAqL1xcbiAxMzE6XFx0XFx0MHhjOCwgMHhjOSwgMHhjYSwgMHhjYiwgMHhjYywgMHhjZCwgMHhjZSwgMHhjZiwgLyogMHhjOC0weGNmICovXFxuIDEzMjpcXHRcXHQweDAwLCAweGQxLCAweGQyLCAweGQzLCAweGQ0LCAweGQ1LCAweGQ2LCAweDAwLCAvKiAweGQwLTB4ZDcgKi9cXG4gMTMzOlxcdFxcdDB4ZDgsIDB4ZDksIDB4ZGEsIDB4ZGIsIDB4ZGMsIDB4ZGQsIDB4MDAsIDB4ZGYsIC8qIDB4ZDgtMHhkZiAqL1xcbiAxMzQ6XFx0XFx0MHhlMCwgMHhlMSwgMHhlMiwgMHhlMywgMHhlNCwgMHhlNSwgMHhlNiwgMHhlNywgLyogMHhlMC0weGU3ICovXFxuIDEzNTpcXHRcXHQweGU4LCAweGU5LCAweGVhLCAweGViLCAweGVjLCAweGVkLCAweGVlLCAweGVmLCAvKiAweGU4LTB4ZWYgKi9cXG4gMTM2OlxcdFxcdDB4MDAsIDB4ZjEsIDB4ZjIsIDB4ZjMsIDB4ZjQsIDB4ZjUsIDB4ZjYsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqL1xcbiAxMzc6XFx0XFx0MHhmOCwgMHhmOSwgMHhmYSwgMHhmYiwgMHhmYywgMHhmZCwgMHgwMCwgMHhmZiwgLyogMHhmOC0weGZmICovXFxuIDEzODpcXHR9O1xcbiAxMzk6XFx0XFxuIDE0MDpcXHRzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMDFbMjU2XSA9IHtcXG4gMTQxOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqL1xcbiAxNDI6XFx0XFx0MHgwMCwgMHgwMCwgMHhhNCwgMHhhNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXFxuIDE0MzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi9cXG4gMTQ0OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MTgtMHgxZiAqL1xcbiAxNDU6XFx0XFx0MHhiMiwgMHhiMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXFxuIDE0NjpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDI4LTB4MmYgKi9cXG4gMTQ3OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzAtMHgzNyAqL1xcbiAxNDg6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovXFxuIDE0OTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQwLTB4NDcgKi9cXG4gMTUwOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDgtMHg0ZiAqL1xcbiAxNTE6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg1MC0weDU3ICovXFxuIDE1MjpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDU4LTB4NWYgKi9cXG4gMTUzOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqL1xcbiAxNTQ6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2OC0weDZmICovXFxuIDE1NTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGQwLCAweGYwLCAweGRlLCAweGZlLCAvKiAweDcwLTB4NzcgKi9cXG4gMTU2OlxcdFxcdDB4YWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqL1xcbiAxNTc6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXFxuIDE1ODpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi9cXG4gMTU5OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTAtMHg5NyAqL1xcbiAxNjA6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5OC0weDlmICovXFxuIDE2MTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGEwLTB4YTcgKi9cXG4gMTYyOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YTgtMHhhZiAqL1xcbiAxNjM6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhiMC0weGI3ICovXFxuIDE2NDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGI4LTB4YmYgKi9cXG4gMTY1OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YzAtMHhjNyAqL1xcbiAxNjY6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhjOC0weGNmICovXFxuIDE2NzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGQwLTB4ZDcgKi9cXG4gMTY4OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDgtMHhkZiAqL1xcbiAxNjk6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhlMC0weGU3ICovXFxuIDE3MDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGU4LTB4ZWYgKi9cXG4gMTcxOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZjAtMHhmNyAqL1xcbiAxNzI6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmOC0weGZmICovXFxuIDE3MzpcXHR9O1xcbiAxNzQ6XFx0XFxuIDE3NTpcXHRzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYWdlMWVbMjU2XSA9IHtcXG4gMTc2OlxcdFxcdDB4MDAsIDB4MDAsIDB4YTEsIDB4YTIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MDAtMHgwNyAqL1xcbiAxNzc6XFx0XFx0MHgwMCwgMHgwMCwgMHhhNiwgMHhhYiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgwOC0weDBmICovXFxuIDE3ODpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDEwLTB4MTcgKi9cXG4gMTc5OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjAsIDB4YjEsIC8qIDB4MTgtMHgxZiAqL1xcbiAxODA6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgyMC0weDI3ICovXFxuIDE4MTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDI4LTB4MmYgKi9cXG4gMTgyOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4MzAtMHgzNyAqL1xcbiAxODM6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHgzOC0weDNmICovXFxuIDE4NDpcXHRcXHQweGI0LCAweGI1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDQwLTB4NDcgKi9cXG4gMTg1OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NDgtMHg0ZiAqL1xcbiAxODY6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiNywgMHhiOSwgLyogMHg1MC0weDU3ICovXFxuIDE4NzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDU4LTB4NWYgKi9cXG4gMTg4OlxcdFxcdDB4YmIsIDB4YmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NjAtMHg2NyAqL1xcbiAxODk6XFx0XFx0MHgwMCwgMHgwMCwgMHhkNywgMHhmNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg2OC0weDZmICovXFxuIDE5MDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDcwLTB4NzcgKi9cXG4gMTkxOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4NzgtMHg3ZiAqL1xcbiAxOTI6XFx0XFx0MHhhOCwgMHhiOCwgMHhhYSwgMHhiYSwgMHhiZCwgMHhiZSwgMHgwMCwgMHgwMCwgLyogMHg4MC0weDg3ICovXFxuIDE5MzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDg4LTB4OGYgKi9cXG4gMTk0OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4OTAtMHg5NyAqL1xcbiAxOTU6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHg5OC0weDlmICovXFxuIDE5NjpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGEwLTB4YTcgKi9cXG4gMTk3OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YTgtMHhhZiAqL1xcbiAxOTg6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhiMC0weGI3ICovXFxuIDE5OTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGI4LTB4YmYgKi9cXG4gMjAwOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4YzAtMHhjNyAqL1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNTowMy4yNzY0OTc2OTRaIiwiU2VxIjoyOSwiTmVzdGluZyI6MywiVHlwZSI6ImxsbSIsIk5hbWUiOiJrbXNhbi1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6MTQ1MTc1NzE2MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgSSdtIHJlYWR5IHRvIHJlY2VpdmUgdGhlIHRleHQgYW5kIHByb3ZpZGUgYSBmaXJzdC1wZXJzb24gc3VtbWFyeSBvZiB0aGUgZGVzY3JpYmVkIHRob3VnaHRzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLiBJIHVuZGVyc3RhbmQgdGhlIGdvYWwgaXMgYSBkZXRhaWxlZCB3YWxrdGhyb3VnaCBvZiB0aGUgbWVudGFsIHByb2Nlc3NlcywgYXMgaWYgSSB3ZXJlIGhhdmluZyB0aGVtIG15c2VsZi5cblxuXG4iLCJJbnB1dFRva2VucyI6MTQ2MzYsIk91dHB1dFRva2VucyI6NDcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE1OjA0LjcyODI1Nzg5M1oiLCJTZXEiOjMwLCJOZXN0aW5nIjozLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNjI3MzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiZnMvbmxzL25sc19pc284ODU5LTE0LmNcIixcbiAgXCJGaXJzdExpbmVcIjogMjAxLFxuICBcIkxpbmVDb3VudFwiOiAxMDBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDIwMTpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGM4LTB4Y2YgKi9cXG4gMjAyOlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZDAtMHhkNyAqL1xcbiAyMDM6XFx0XFx0MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhkOC0weGRmICovXFxuIDIwNDpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGUwLTB4ZTcgKi9cXG4gMjA1OlxcdFxcdDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIC8qIDB4ZTgtMHhlZiAqL1xcbiAyMDY6XFx0XFx0MHgwMCwgMHgwMCwgMHhhYywgMHhiYywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgLyogMHhmMC0weGY3ICovXFxuIDIwNzpcXHRcXHQweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweGY4LTB4ZmYgKi9cXG4gMjA4OlxcdH07XFxuIDIwOTpcXHRcXG4gMjEwOlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBwYWdlX3VuaTJjaGFyc2V0WzI1Nl0gPSB7XFxuIDIxMTpcXHRcXHRwYWdlMDAsXFx0cGFnZTAxLCBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBOVUxMLCAgIE5VTEwsICAgTlVMTCwgICBcXG4gMjEyOlxcdFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXG4gMjEzOlxcdFxcbiAyMTQ6XFx0XFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcbiAyMTU6XFx0XFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0cGFnZTFlLFxcdE5VTEwsXFxuIDIxNjpcXHRcXG4gMjE3OlxcdFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXG4gMjE4OlxcdFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXHROVUxMLFxcdE5VTEwsXFx0TlVMTCxcXG4gMjE5OlxcdH07XFxuIDIyMDpcXHRcXG4gMjIxOlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQybG93ZXJbMjU2XSA9IHtcXG4gMjIyOlxcdFxcdDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDUsIDB4MDYsIDB4MDcsIC8qIDB4MDAtMHgwNyAqL1xcbiAyMjM6XFx0XFx0MHgwOCwgMHgwOSwgMHgwYSwgMHgwYiwgMHgwYywgMHgwZCwgMHgwZSwgMHgwZiwgLyogMHgwOC0weDBmICovXFxuIDIyNDpcXHRcXHQweDEwLCAweDExLCAweDEyLCAweDEzLCAweDE0LCAweDE1LCAweDE2LCAweDE3LCAvKiAweDEwLTB4MTcgKi9cXG4gMjI1OlxcdFxcdDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsIC8qIDB4MTgtMHgxZiAqL1xcbiAyMjY6XFx0XFx0MHgyMCwgMHgyMSwgMHgyMiwgMHgyMywgMHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgLyogMHgyMC0weDI3ICovXFxuIDIyNzpcXHRcXHQweDI4LCAweDI5LCAweDJhLCAweDJiLCAweDJjLCAweDJkLCAweDJlLCAweDJmLCAvKiAweDI4LTB4MmYgKi9cXG4gMjI4OlxcdFxcdDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIC8qIDB4MzAtMHgzNyAqL1xcbiAyMjk6XFx0XFx0MHgzOCwgMHgzOSwgMHgzYSwgMHgzYiwgMHgzYywgMHgzZCwgMHgzZSwgMHgzZiwgLyogMHgzOC0weDNmICovXFxuIDIzMDpcXHRcXHQweDQwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LCAvKiAweDQwLTB4NDcgKi9cXG4gMjMxOlxcdFxcdDB4NjgsIDB4NjksIDB4NmEsIDB4NmIsIDB4NmMsIDB4NmQsIDB4NmUsIDB4NmYsIC8qIDB4NDgtMHg0ZiAqL1xcbiAyMzI6XFx0XFx0MHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NywgLyogMHg1MC0weDU3ICovXFxuIDIzMzpcXHRcXHQweDc4LCAweDc5LCAweDdhLCAweDViLCAweDVjLCAweDVkLCAweDVlLCAweDVmLCAvKiAweDU4LTB4NWYgKi9cXG4gMjM0OlxcdFxcdDB4NjAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsIC8qIDB4NjAtMHg2NyAqL1xcbiAyMzU6XFx0XFx0MHg2OCwgMHg2OSwgMHg2YSwgMHg2YiwgMHg2YywgMHg2ZCwgMHg2ZSwgMHg2ZiwgLyogMHg2OC0weDZmICovXFxuIDIzNjpcXHRcXHQweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LCAvKiAweDcwLTB4NzcgKi9cXG4gMjM3OlxcdFxcdDB4NzgsIDB4NzksIDB4N2EsIDB4N2IsIDB4N2MsIDB4N2QsIDB4N2UsIDB4N2YsIC8qIDB4NzgtMHg3ZiAqL1xcbiAyMzg6XFx0XFxuIDIzOTpcXHRcXHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cXG4gMjQwOlxcdFxcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xcbiAyNDE6XFx0XFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXFxuIDI0MjpcXHRcXHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cXG4gMjQzOlxcdFxcdDB4YTAsIDB4YTIsIDB4YTIsIDB4YTMsIDB4YWIsIDB4YWIsIDB4YWIsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xcbiAyNDQ6XFx0XFx0MHhiOCwgMHhhOSwgMHhiYSwgMHhhYiwgMHhiYywgMHhhZCwgMHhhZSwgMHhmZiwgLyogMHhhOC0weGFmICovXFxuIDI0NTpcXHRcXHQweGIxLCAweGIxLCAweGIzLCAweGIzLCAweGI1LCAweGI1LCAweGI2LCAweGI5LCAvKiAweGIwLTB4YjcgKi9cXG4gMjQ2OlxcdFxcdDB4YjgsIDB4YjksIDB4YmEsIDB4YmYsIDB4YmMsIDB4YmUsIDB4YmUsIDB4YmYsIC8qIDB4YjgtMHhiZiAqL1xcbiAyNDc6XFx0XFx0MHhlMCwgMHhlMSwgMHhlMiwgMHhlMywgMHhlNCwgMHhlNSwgMHhlNiwgMHhlNywgLyogMHhjMC0weGM3ICovXFxuIDI0ODpcXHRcXHQweGU4LCAweGU5LCAweGVhLCAweGViLCAweGVjLCAweGVkLCAweGVlLCAweGVmLCAvKiAweGM4LTB4Y2YgKi9cXG4gMjQ5OlxcdFxcdDB4ZjAsIDB4ZjEsIDB4ZjIsIDB4ZjMsIDB4ZjQsIDB4ZjUsIDB4ZjYsIDB4ZjcsIC8qIDB4ZDAtMHhkNyAqL1xcbiAyNTA6XFx0XFx0MHhmOCwgMHhmOSwgMHhmYSwgMHhmYiwgMHhmYywgMHhmZCwgMHhmZSwgMHhkZiwgLyogMHhkOC0weGRmICovXFxuIDI1MTpcXHRcXHQweGUwLCAweGUxLCAweGUyLCAweGUzLCAweGU0LCAweGU1LCAweGU2LCAweGU3LCAvKiAweGUwLTB4ZTcgKi9cXG4gMjUyOlxcdFxcdDB4ZTgsIDB4ZTksIDB4ZWEsIDB4ZWIsIDB4ZWMsIDB4ZWQsIDB4ZWUsIDB4ZWYsIC8qIDB4ZTgtMHhlZiAqL1xcbiAyNTM6XFx0XFx0MHhmMCwgMHhmMSwgMHhmMiwgMHhmMywgMHhmNCwgMHhmNSwgMHhmNiwgMHhmNywgLyogMHhmMC0weGY3ICovXFxuIDI1NDpcXHRcXHQweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweGZkLCAweGZlLCAweGZmLCAvKiAweGY4LTB4ZmYgKi9cXG4gMjU1OlxcdH07XFxuIDI1NjpcXHRcXG4gMjU3OlxcdHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGNoYXJzZXQydXBwZXJbMjU2XSA9IHtcXG4gMjU4OlxcdFxcdDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDUsIDB4MDYsIDB4MDcsIC8qIDB4MDAtMHgwNyAqL1xcbiAyNTk6XFx0XFx0MHgwOCwgMHgwOSwgMHgwYSwgMHgwYiwgMHgwYywgMHgwZCwgMHgwZSwgMHgwZiwgLyogMHgwOC0weDBmICovXFxuIDI2MDpcXHRcXHQweDEwLCAweDExLCAweDEyLCAweDEzLCAweDE0LCAweDE1LCAweDE2LCAweDE3LCAvKiAweDEwLTB4MTcgKi9cXG4gMjYxOlxcdFxcdDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsIC8qIDB4MTgtMHgxZiAqL1xcbiAyNjI6XFx0XFx0MHgyMCwgMHgyMSwgMHgyMiwgMHgyMywgMHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgLyogMHgyMC0weDI3ICovXFxuIDI2MzpcXHRcXHQweDI4LCAweDI5LCAweDJhLCAweDJiLCAweDJjLCAweDJkLCAweDJlLCAweDJmLCAvKiAweDI4LTB4MmYgKi9cXG4gMjY0OlxcdFxcdDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIC8qIDB4MzAtMHgzNyAqL1xcbiAyNjU6XFx0XFx0MHgzOCwgMHgzOSwgMHgzYSwgMHgzYiwgMHgzYywgMHgzZCwgMHgzZSwgMHgzZiwgLyogMHgzOC0weDNmICovXFxuIDI2NjpcXHRcXHQweDQwLCAweDQxLCAweDQyLCAweDQzLCAweDQ0LCAweDQ1LCAweDQ2LCAweDQ3LCAvKiAweDQwLTB4NDcgKi9cXG4gMjY3OlxcdFxcdDB4NDgsIDB4NDksIDB4NGEsIDB4NGIsIDB4NGMsIDB4NGQsIDB4NGUsIDB4NGYsIC8qIDB4NDgtMHg0ZiAqL1xcbiAyNjg6XFx0XFx0MHg1MCwgMHg1MSwgMHg1MiwgMHg1MywgMHg1NCwgMHg1NSwgMHg1NiwgMHg1NywgLyogMHg1MC0weDU3ICovXFxuIDI2OTpcXHRcXHQweDU4LCAweDU5LCAweDVhLCAweDViLCAweDVjLCAweDVkLCAweDVlLCAweDVmLCAvKiAweDU4LTB4NWYgKi9cXG4gMjcwOlxcdFxcdDB4NjAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIC8qIDB4NjAtMHg2NyAqL1xcbiAyNzE6XFx0XFx0MHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZiwgLyogMHg2OC0weDZmICovXFxuIDI3MjpcXHRcXHQweDUwLCAweDUxLCAweDUyLCAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAvKiAweDcwLTB4NzcgKi9cXG4gMjczOlxcdFxcdDB4NTgsIDB4NTksIDB4NWEsIDB4N2IsIDB4N2MsIDB4N2QsIDB4N2UsIDB4N2YsIC8qIDB4NzgtMHg3ZiAqL1xcbiAyNzQ6XFx0XFxuIDI3NTpcXHRcXHQweDgwLCAweDgxLCAweDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCAvKiAweDgwLTB4ODcgKi9cXG4gMjc2OlxcdFxcdDB4ODgsIDB4ODksIDB4OGEsIDB4OGIsIDB4OGMsIDB4OGQsIDB4OGUsIDB4OGYsIC8qIDB4ODgtMHg4ZiAqL1xcbiAyNzc6XFx0XFx0MHg5MCwgMHg5MSwgMHg5MiwgMHg5MywgMHg5NCwgMHg5NSwgMHg5NiwgMHg5NywgLyogMHg5MC0weDk3ICovXFxuIDI3ODpcXHRcXHQweDk4LCAweDk5LCAweDlhLCAweDliLCAweDljLCAweDlkLCAweDllLCAweDlmLCAvKiAweDk4LTB4OWYgKi9cXG4gMjc5OlxcdFxcdDB4YTAsIDB4YTEsIDB4YTEsIDB4YTMsIDB4YTYsIDB4YTYsIDB4YTYsIDB4YTcsIC8qIDB4YTAtMHhhNyAqL1xcbiAyODA6XFx0XFx0MHhhOCwgMHhhOSwgMHhhYSwgMHhhNiwgMHhhYywgMHhhZCwgMHhhZSwgMHhhZiwgLyogMHhhOC0weGFmICovXFxuIDI4MTpcXHRcXHQweGIwLCAweGIwLCAweGIyLCAweGIyLCAweGI0LCAweGI0LCAweGI2LCAweGI3LCAvKiAweGIwLTB4YjcgKi9cXG4gMjgyOlxcdFxcdDB4YTgsIDB4YjcsIDB4YWEsIDB4YmIsIDB4YWMsIDB4YmQsIDB4YmQsIDB4YmIsIC8qIDB4YjgtMHhiZiAqL1xcbiAyODM6XFx0XFx0MHhjMCwgMHhjMSwgMHhjMiwgMHhjMywgMHhjNCwgMHhjNSwgMHhjNiwgMHhjNywgLyogMHhjMC0weGM3ICovXFxuIDI4NDpcXHRcXHQweGM4LCAweGM5LCAweGNhLCAweGNiLCAweGNjLCAweGNkLCAweGNlLCAweGNmLCAvKiAweGM4LTB4Y2YgKi9cXG4gMjg1OlxcdFxcdDB4ZDAsIDB4ZDEsIDB4ZDIsIDB4ZDMsIDB4ZDQsIDB4ZDUsIDB4ZDYsIDB4ZDcsIC8qIDB4ZDAtMHhkNyAqL1xcbiAyODY6XFx0XFx0MHhkOCwgMHhkOSwgMHhkYSwgMHhkYiwgMHhkYywgMHhkZCwgMHhkZSwgMHhkZiwgLyogMHhkOC0weGRmICovXFxuIDI4NzpcXHRcXHQweGMwLCAweGMxLCAweGMyLCAweGMzLCAweGM0LCAweGM1LCAweGM2LCAweGM3LCAvKiAweGUwLTB4ZTcgKi9cXG4gMjg4OlxcdFxcdDB4YzgsIDB4YzksIDB4Y2EsIDB4Y2IsIDB4Y2MsIDB4Y2QsIDB4Y2UsIDB4Y2YsIC8qIDB4ZTgtMHhlZiAqL1xcbiAyODk6XFx0XFx0MHhkMCwgMHhkMSwgMHhkMiwgMHhkMywgMHhkNCwgMHhkNSwgMHhkNiwgMHhkNywgLyogMHhmMC0weGY3ICovXFxuIDI5MDpcXHRcXHQweGQ4LCAweGQ5LCAweGRhLCAweGRiLCAweGRjLCAweGRkLCAweGRlLCAweGFmLCAvKiAweGY4LTB4ZmYgKi9cXG4gMjkxOlxcdH07XFxuIDI5MjpcXHRcXG4gMjkzOlxcdHN0YXRpYyBpbnQgdW5pMmNoYXIod2NoYXJfdCB1bmksIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IGJvdW5kbGVuKVxcbiAyOTQ6XFx0e1xcbiAyOTU6XFx0XFx0Y29uc3QgdW5zaWduZWQgY2hhciAqdW5pMmNoYXJzZXQ7XFxuIDI5NjpcXHRcXHR1bnNpZ25lZCBjaGFyIGNsID0gdW5pIFxcdTAwMjYgMHgwMGZmO1xcbiAyOTc6XFx0XFx0dW5zaWduZWQgY2hhciBjaCA9ICh1bmkgXFx1MDAyNiAweGZmMDApIFxcdTAwM2VcXHUwMDNlIDg7XFxuIDI5ODpcXHRcXG4gMjk5OlxcdFxcdGlmIChib3VuZGxlbiBcXHUwMDNjPSAwKVxcbiAzMDA6XFx0XFx0XFx0cmV0dXJuIC1FTkFNRVRPT0xPTkc7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE1OjA0LjcyODQyMjkwM1oiLCJTZXEiOjMxLCJOZXN0aW5nIjozLCJUeXBlIjoibGxtIiwiTmFtZSI6Imttc2FuLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo0OTk2MjQ1Mzc1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2Ygd2hhdCdzIGdvaW5nIHRocm91Z2ggbXkgbWluZCBhcyBJIGFwcHJvYWNoIHRoaXMgY29kZSwgcHJlc2VudGVkIGluIHRoZSBmaXJzdCBwZXJzb24sIGFzIHJlcXVlc3RlZDpcblxuKipEaXZpbmcgaW50byBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgKipcblxuQWxyaWdodCwgbGV0J3MgZ2V0IGludG8gdGhpcy4gSSdtIGxvb2tpbmcgYXQgYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYC4gT2theSwgc28gdGhpcyBpcyBhIGNoYXJhY3RlciBzZXQgZGVmaW5pdGlvbiwgbGlrZWx5IGZvciBmaWxlc3lzdGVtIG9wZXJhdGlvbnMuIEtub3dpbmcgdGhlIGBmcy9gIHBhdGgsIEknbSBhbHJlYWR5IGFudGljaXBhdGluZyBzb21lIGNoYXJhY3RlciBzZXQgdHJhbnNsYXRpb24gbG9naWMsIHNvbWV0aGluZyBkZWFsaW5nIHdpdGggZmlsZW5hbWUgZW5jb2RpbmcsIHByb2JhYmx5LiBHaXZlbiB0aGUgZmlsZW5hbWUsIEkgY2FuIHRlbGwgaXQncyBsaWtlbHkgZGVhbGluZyB3aXRoIHRoZSBJU08gODg1OS0xNCBjaGFyYWN0ZXIgc2V0LiBTcGVjaWZpY2FsbHksIEknbSBleHBlY3RpbmcgdGhpcyBDIGZpbGUgdG8gY29udGFpbiB0YWJsZXMgdGhhdCBtYXAgdGhlIHJhdyBieXRlIHZhbHVlcyBvZiB0aGF0IGVuY29kaW5nIHRvIFVuaWNvZGUgb3Igb3RoZXIgaW50ZXJuYWwgcmVwcmVzZW50YXRpb25zIHVzZWQgYnkgdGhlIGtlcm5lbC4gVGhlIGdvYWwsIHVsdGltYXRlbHksIGlzIHRvIGVuc3VyZSBmaWxlcGF0aHMgYXJlIGNvcnJlY3RseSBpbnRlcnByZXRlZCBhbmQgZGlzcGxheWVkIHJlZ2FyZGxlc3Mgb2YgdGhlIHVuZGVybHlpbmcgY2hhcmFjdGVyIHNldCB1c2VkIG9uIHRoZSBmaWxlc3lzdGVtLiBJIHNob3VsZCBiZSBsb29raW5nIGZvciB0aGluZ3MgbGlrZTpcblxuKiAgICoqVGFibGVzOioqIFRoZSBjb3JlIHdpbGwgbGlrZWx5IGJlIGxvb2t1cCB0YWJsZXMg4oCTIGFuIGFycmF5IG9mIHZhbHVlcyB3aGVyZSBlYWNoIGluZGV4IHJlcHJlc2VudHMgYSBieXRlIG9mIHRoZSBJU08gODg1OS0xNCBlbmNvZGluZywgYW5kIHRoZSB2YWx1ZSByZXByZXNlbnRzIGEgVW5pY29kZSBjb2RlcG9pbnQgKG9yIGEgZmxhZyBpbmRpY2F0aW5nIGFuIGVycm9yL2ZhbGxiYWNrKS5cbiogICAqKlRyYW5zbGF0aW9uIEZ1bmN0aW9uczoqKiBJJ2xsIGFsc28gYmUgc2VhcmNoaW5nIGZvciBmdW5jdGlvbnMgdGhhdCBwZXJmb3JtIHRoZSBhY3R1YWwgY29udmVyc2lvbi4gSXQgY291bGQgYmUgYSBzaW1wbGUgYXJyYXkgbG9va3VwLCBvciBzb21ldGhpbmcgbW9yZSBjb21wbGV4IGlmIHRoZXJlIGFyZSBjaGFyYWN0ZXIgcmFuZ2VzLCBvciBzcGVjaWFsIG1hcHBpbmdzLlxuKiAgICoqSW5pdGlhbGl6YXRpb246KiogU29tZXdoZXJlLCB0aGVyZSdsbCBiZSBpbml0aWFsaXphdGlvbiBjb2RlIHRoYXQgbG9hZHMgdGhpcyBtYXBwaW5nIGludG8gbWVtb3J5IGF0IG1vZHVsZSBsb2FkIHRpbWUuXG4qICAgKipFcnJvciBIYW5kbGluZzoqKiBJdCdzIGltcG9ydGFudCB0byB1bmRlcnN0YW5kIGhvdyBpbnZhbGlkIG9yIHVubWFwcGVkIGNoYXJhY3RlcnMgYXJlIGhhbmRsZWQuIEFyZSB0aGV5IHJlcGxhY2VkIHdpdGggYSBkZWZhdWx0IGNoYXJhY3Rlcj8gT3IgaXMgYW4gZXJyb3Igc2lnbmFsZWQ/XG4qICAgKipVc2FnZSBDb250ZXh0OioqIElkZWFsbHksIHRoZSBjb2RlIHdpbGwgcHJvdmlkZSBjbHVlcyBhYm91dCBob3cgdGhlc2UgdGFibGVzIGFyZSB1c2VkLCBlLmcuLCB3aGljaCBmaWxlc3lzdGVtIGRyaXZlcnMgcmVseSBvbiB0aGlzIHRyYW5zbGF0aW9uLlxuXG5JJ20gcmVhZHkgdG8gZGlnIGluIGFuZCB1bmRlcnN0YW5kIGhvdyB0aGlzIHBhcnRpY3VsYXIgY2hhcmFjdGVyIHNldCBpcyBzdXBwb3J0ZWQgd2l0aGluIHRoaXMgc3BlY2lmaWMgcGFydCBvZiB0aGUgZmlsZXN5c3RlbSBjb2RlLiBJJ2xsIGJlIGxvb2tpbmcgZm9yIG9wcG9ydHVuaXRpZXMgdG8gdW5kZXJzdGFuZCBvcHRpbWl6YXRpb25zLCBwb3RlbnRpYWwgZWRnZSBjYXNlcywgb3IgYW55IGFyZWFzIGZvciBpbXByb3ZlbWVudC4gTGV0J3Mgc2VlIHdoYXQncyBpbnNpZGUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE5NjUzLCJPdXRwdXRUb2tlbnMiOjQ2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjcsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQxMzoxNTowOS43MjQ2NzEzOThaIiwiU2VxIjozMiwiTmVzdGluZyI6MywiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTUzNDIwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImZzL25scy9ubHNfaXNvODg1OS0xNC5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDMwMSxcbiAgXCJMaW5lQ291bnRcIjogNjBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDMwMTpcXHRcXG4gMzAyOlxcdFxcdHVuaTJjaGFyc2V0ID0gcGFnZV91bmkyY2hhcnNldFtjaF07XFxuIDMwMzpcXHRcXHRpZiAodW5pMmNoYXJzZXQgXFx1MDAyNlxcdTAwMjYgdW5pMmNoYXJzZXRbY2xdKVxcbiAzMDQ6XFx0XFx0XFx0b3V0WzBdID0gdW5pMmNoYXJzZXRbY2xdO1xcbiAzMDU6XFx0XFx0ZWxzZVxcbiAzMDY6XFx0XFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuIDMwNzpcXHRcXHRyZXR1cm4gMTtcXG4gMzA4OlxcdH1cXG4gMzA5OlxcdFxcbiAzMTA6XFx0c3RhdGljIGludCBjaGFyMnVuaShjb25zdCB1bnNpZ25lZCBjaGFyICpyYXdzdHJpbmcsIGludCBib3VuZGxlbiwgd2NoYXJfdCAqdW5pKVxcbiAzMTE6XFx0e1xcbiAzMTI6XFx0XFx0KnVuaSA9IGNoYXJzZXQydW5pWypyYXdzdHJpbmddO1xcbiAzMTM6XFx0XFx0aWYgKCp1bmkgPT0gMHgwMDAwKVxcbiAzMTQ6XFx0XFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuIDMxNTpcXHRcXHRyZXR1cm4gMTtcXG4gMzE2OlxcdH1cXG4gMzE3OlxcdFxcbiAzMTg6XFx0c3RhdGljIHN0cnVjdCBubHNfdGFibGUgdGFibGUgPSB7XFxuIDMxOTpcXHRcXHQuY2hhcnNldFxcdD0gXFxcImlzbzg4NTktMTRcXFwiLFxcbiAzMjA6XFx0XFx0LnVuaTJjaGFyXFx0PSB1bmkyY2hhcixcXG4gMzIxOlxcdFxcdC5jaGFyMnVuaVxcdD0gY2hhcjJ1bmksXFxuIDMyMjpcXHRcXHQuY2hhcnNldDJsb3dlclxcdD0gY2hhcnNldDJsb3dlcixcXG4gMzIzOlxcdFxcdC5jaGFyc2V0MnVwcGVyXFx0PSBjaGFyc2V0MnVwcGVyLFxcbiAzMjQ6XFx0fTtcXG4gMzI1OlxcdFxcbiAzMjY6XFx0c3RhdGljIGludCBfX2luaXQgaW5pdF9ubHNfaXNvODg1OV8xNCh2b2lkKVxcbiAzMjc6XFx0e1xcbiAzMjg6XFx0XFx0cmV0dXJuIHJlZ2lzdGVyX25scyhcXHUwMDI2dGFibGUpO1xcbiAzMjk6XFx0fVxcbiAzMzA6XFx0XFxuIDMzMTpcXHRzdGF0aWMgdm9pZCBfX2V4aXQgZXhpdF9ubHNfaXNvODg1OV8xNCh2b2lkKVxcbiAzMzI6XFx0e1xcbiAzMzM6XFx0XFx0dW5yZWdpc3Rlcl9ubHMoXFx1MDAyNnRhYmxlKTtcXG4gMzM0OlxcdH1cXG4gMzM1OlxcdFxcbiAzMzY6XFx0bW9kdWxlX2luaXQoaW5pdF9ubHNfaXNvODg1OV8xNClcXG4gMzM3OlxcdG1vZHVsZV9leGl0KGV4aXRfbmxzX2lzbzg4NTlfMTQpXFxuIDMzODpcXHRcXG4gMzM5OlxcdE1PRFVMRV9ERVNDUklQVElPTihcXFwiTkxTIElTTyA4ODU5LTE0IChMYXRpbiA4OyBDZWx0aWMpXFxcIik7XFxuIDM0MDpcXHRNT0RVTEVfTElDRU5TRShcXFwiRHVhbCBCU0QvR1BMXFxcIik7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDEzOjE1OjA5LjcyNDgyODcwOFoiLCJTZXEiOjMzLCJOZXN0aW5nIjozLCJUeXBlIjoibGxtIiwiTmFtZSI6Imttc2FuLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1NzExMTM3NTA0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKlBhdGNoIEFuYWx5c2lzOiBDb3JyZWN0aW5nIElTTzg4NTktMTQgVW5pY29kZSBNYXBwaW5ncyoqXG5cbk9rYXksIGxldCdzIGRpdmUgaW50byB0aGlzIHBhdGNoLiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgdW5kZXJzdGFuZGluZyBpdHMgY29yZSBmdW5jdGlvbi4gSXQncyBtb2RpZnlpbmcgYGZzL25scy9ubHNfaXNvODg1OS0xNC5jYCwgc3BlY2lmaWNhbGx5IHRoZSBgcGFnZTAxYCBhbmQgYHBhZ2UxZWAgdGFibGVzLiBUaGVzZSBhcmUgY3JpdGljYWwgc3RhdGljIGNvbnN0YW50IGxvb2t1cCB0YWJsZXMgdXNlZCBieSBgcGFnZV91bmkyY2hhcnNldGAgdG8gY29udmVydCBVbmljb2RlIGNvZGVwb2ludHMgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBJU084ODU5LTE0IGJ5dGUgdmFsdWVzLlxuXG5JIHNlZSBpdCBhZGRyZXNzZXMgYW4gZXhpc3RpbmcgaXNzdWU6IGluY29ycmVjdCBvciBtaXNwbGFjZWQgbWFwcGluZ3MgYmV0d2VlbiBVbmljb2RlIHBhZ2VzIDB4MDEgKExhdGluIEV4dGVuZGVkLUEvQikgYW5kIDB4MWUgKExhdGluIEV4dGVuZGVkIEFkZGl0aW9uYWwpLiAgRXNzZW50aWFsbHksIHRoZSBwYXRjaCBpcyBmaXhpbmcgZXJyb25lb3VzIG1hcHBpbmdzIGluIGJvdGggYGNoYXJzZXQydW5pYCBhbmQgYHVuaTJjaGFyYCBjb252ZXJzaW9uIHByb2Nlc3Nlcywgd2hpY2ggSSd2ZSBvYnNlcnZlZCBhcyBpbnZlcnRlZCBvciBtaXhlZCB1cC4gVGhlIHByb3ZpZGVkIGV4YW1wbGVzIGNsZWFybHkgaWxsdXN0cmF0ZSB0aGVzZSBlcnJvcnMsIHdoaWNoIHRoZSBwYXRjaCByZXNvbHZlcyBieSB1cGRhdGluZyB0aGUgbG9va3VwIHRhYmxlcy5cblxuTm93LCBhIGtleSBjb25jZXJuIGluIHRoZXNlIHR5cGVzIG9mIGNoYW5nZXMgaXMgdGhlIHBvdGVudGlhbCBmb3IgaW50cm9kdWNpbmcgdW5pbml0aWFsaXplZCBtZW1vcnkgcmlza3MuIEJ1dCwgcmV2aWV3aW5nIHRoZSBjb2RlLCBJIGRvbid0IHNlZSBhbnkgaW1tZWRpYXRlIGNvbmNlcm5zLiBUaGVzZSB0YWJsZXMgYXJlIGBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBbMjU2XWAsIG1lYW5pbmcgdGhleSBhcmUgc3RhdGljYWxseSBhbGxvY2F0ZWQgYW5kIGZ1bGx5IGluaXRpYWxpemVkIGNvbnN0YW50IGFycmF5cyByZXNpZGluZyBpbiB0aGUgLnJvZGF0YSBzZWN0aW9uLlxuXG5UaGUgYHVuaTJjaGFyYCBmdW5jdGlvbiBhY2Nlc3NlcyB0aGVzZSB0YWJsZXMsIGJ1dCBpdCdzIGNoZWNraW5nIGZvciB2YWxpZCBtYXBwaW5ncyBhbmQgcmV0dXJuaW5nIC1FSU5WQUwgaW4gdGhlIGNhc2Ugb2YgYSBmYWlsZWQgbWFwcGluZyBhdHRlbXB0LlxuXG5UaGVyZSdzIG5vIGludHJvZHVjdGlvbiBvZiBzdHJ1Y3QgcGFkZGluZyBvciB1bmluaXRpYWxpemVkIHN0YWNrL2hlYXAgYWxsb2NhdGlvbnMuIFRoZXJlIGFyZW4ndCBhbnkgYnVmZmVyIGxlbmd0aCBtb2RpZmljYXRpb25zIG9yIG5ldyBhbGxvY2F0aW9ucyBpbiB0aGlzIGNvbnRleHQuIENvbnNlcXVlbnRseSwgS01TQU4gaXMgY29tcGxldGVseSBpbmFwcGxpY2FibGUsIGFuZCBzdGFuZGFyZCBzYW5pdGl6ZXJzIC8gS0FTQU4gYXJlbid0IGZpbmRpbmcgYW55dGhpbmcgZWl0aGVyIGJlY2F1c2Ugd2UncmUganVzdCBjb3JyZWN0aW5nIHZhbHVlcyB3aXRoaW4gYHJvZGF0YWAsIHNvIGl0J3MgYSBjb21wbGV0ZWx5IHNhZmUgb3BlcmF0aW9uLlxuXG5UbyBlbnN1cmUgdGhpcyBpcyBhYnNvbHV0ZWx5IHNvdW5kLCBJJ20gZG9pbmcgYSBmaW5hbCBzYW5pdHkgY2hlY2ssIGdvaW5nIHRocm91Z2ggdGhlIGtleSBjcml0ZXJpYS4gSXQncyBub3QgaW50cm9kdWNpbmcgb3IgbW9kaWZ5aW5nIGtlcm5lbCBzdHJ1Y3R1cmVzIHNlbnQgdG8gdXNlcnNwYWNlLCB0aGVyZSdzIG5vIGNvbmRpdGlvbmFsIGxvZ2ljIGJhc2VkIG9uIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzLCBubyBjb21wbGV4IGRhdGEgc3RydWN0dXJlIGFsbG9jYXRpb24sIGFuZCBubyBtb2RpZmljYXRpb25zIHRvIGJvdW5kcyBjaGVja3MgdGhhdCBjb3VsZCBsZWFkIHRvIHJlYWRpbmcgdW5pbml0aWFsaXplZCBkYXRhLlxuXG5UaGVyZWZvcmUsIHRoaXMgcGF0Y2ggaGFzIG5vIG1lbW9yeSBzYWZldHkgY29uY2VybnMuIEknbSByZWFkeSB0byBtYXJrIHRoaXMgYXMgYE5lZWRzS01TQU4gPSBmYWxzZWAuIFRpbWUgdG8gcHJlcGFyZSB0aGUgY2FsbCB0byBgc2V0LXJlc3VsdHNgLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMDc4NiwiT3V0cHV0VG9rZW5zIjoxNTAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMDE2LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMTM6MTU6MTUuNDM1OTcwNjIyWiIsIlNlcSI6MzQsIk5lc3RpbmciOjMsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjIxMDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBzdGF0aWMgY29uc3RhbnQgbG9va3VwIHRhYmxlcyAoYHBhZ2UwMWAgYW5kIGBwYWdlMWVgKSBpbiBgZnMvbmxzL25sc19pc284ODU5LTE0LmNgIHRvIGNvcnJlY3QgVW5pY29kZS10by1jaGFyc2V0IG1hcHBpbmcgZW50cmllcy4gXFxuXFxuVGhlc2UgdGFibGVzIGFyZSBzdGF0aWMgY29uc3QgYXJyYXlzIG9mIGZpeGVkIHNpemUgKDI1NiBieXRlcykgcGxhY2VkIGluIHJlYWQtb25seSBkYXRhICgucm9kYXRhKS4gTm8gZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbiwgc3RhY2sgdmFyaWFibGVzLCBrZXJuZWwtdG8tdXNlciBjb3B5IG9wZXJhdGlvbnMsIG9yIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHBhdGhzIGFyZSBpbnRyb2R1Y2VkIG9yIG1vZGlmaWVkLiBUaGVyZWZvcmUsIHRoZXJlIGFyZSBubyB1bmluaXRpYWxpemVkIG1lbW9yeSByaXNrcywgYW5kIGEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpcyBub3Qgd2FycmFudGVkLlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpYyBjb25zdGFudCBsb29rdXAgdGFibGVzIChgcGFnZTAxYCBhbmQgYHBhZ2UxZWApIGluIGBmcy9ubHMvbmxzX2lzbzg4NTktMTQuY2AgdG8gY29ycmVjdCBVbmljb2RlLXRvLWNoYXJzZXQgbWFwcGluZyBlbnRyaWVzLiBcXG5cXG5UaGVzZSB0YWJsZXMgYXJlIHN0YXRpYyBjb25zdCBhcnJheXMgb2YgZml4ZWQgc2l6ZSAoMjU2IGJ5dGVzKSBwbGFjZWQgaW4gcmVhZC1vbmx5IGRhdGEgKC5yb2RhdGEpLiBObyBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLCBzdGFjayB2YXJpYWJsZXMsIGtlcm5lbC10by11c2VyIGNvcHkgb3BlcmF0aW9ucywgb3IgdW5pbml0aWFsaXplZCBtZW1vcnkgcGF0aHMgYXJlIGludHJvZHVjZWQgb3IgbW9kaWZpZWQuIFRoZXJlZm9yZSwgdGhlcmUgYXJlIG5vIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzLCBhbmQgYSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGlzIG5vdCB3YXJyYW50ZWQuXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowspd6n[1] Phase: Succeeded StartedAt: 2026-09-09 13:15:27 +0000 UTC FinishedAt: 2026-09-09 13:15:27 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-09-09 13:15:27 +0000 UTC FinishedAt: 2026-09-09 13:15:27 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2] Phase: Succeeded StartedAt: 2026-09-09 13:15:27 +0000 UTC FinishedAt: 2026-09-09 14:01:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-09-09 13:15:27 +0000 UTC FinishedAt: 2026-09-09 14:01:31 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-09-09 13:15:27 +0000 UTC FinishedAt: 2026-09-09 13:15:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-09-09 13:15:27 +0000 UTC FinishedAt: 2026-09-09 13:15:45 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-convert-artifact-67845783/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-09-09 13:15:50 +0000 UTC FinishedAt: 2026-09-09 13:37:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-09-09 13:15:50 +0000 UTC FinishedAt: 2026-09-09 13:37:39 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*9757ffb3-1530-49ae-ad99-df04ab9bd6ce,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-convert-artifact-67845783/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "90468d97-bf1a-456d-be88-5d5902387892", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-build-action-3426614253/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-09-09 13:15:50 +0000 UTC FinishedAt: 2026-09-09 13:37:14 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*9757ffb3-1530-49ae-ad99-df04ab9bd6ce,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-convert-artifact-67845783/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "90468d97-bf1a-456d-be88-5d5902387892", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-build-action-3426614253/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-09-09 13:37:39 +0000 UTC FinishedAt: 2026-09-09 13:37:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-09-09 13:37:39 +0000 UTC FinishedAt: 2026-09-09 13:37:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-09-09 13:37:39 +0000 UTC FinishedAt: 2026-09-09 13:37:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-09-09 13:37:39 +0000 UTC FinishedAt: 2026-09-09 13:37:44 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-convert-artifact-1128179398/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-09-09 13:37:50 +0000 UTC FinishedAt: 2026-09-09 13:40:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-09-09 13:37:50 +0000 UTC FinishedAt: 2026-09-09 13:39:53 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*90468d97-bf1a-456d-be88-5d5902387892,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-build-action-3426614253/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-09-09 13:40:05 +0000 UTC FinishedAt: 2026-09-09 13:40:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-09-09 13:40:05 +0000 UTC FinishedAt: 2026-09-09 13:40:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-09-09 13:40:05 +0000 UTC FinishedAt: 2026-09-09 13:56:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-09-09 13:40:05 +0000 UTC FinishedAt: 2026-09-09 13:56:20 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*9757ffb3-1530-49ae-ad99-df04ab9bd6ce,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-convert-artifact-1128179398/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "af7cde21-0565-463f-8560-7476376d2e99", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-build-action-1990928906/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-09-09 13:40:05 +0000 UTC FinishedAt: 2026-09-09 13:56:10 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*9757ffb3-1530-49ae-ad99-df04ab9bd6ce,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-convert-artifact-1128179398/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "af7cde21-0565-463f-8560-7476376d2e99", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-build-action-1990928906/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-09-09 13:56:20 +0000 UTC FinishedAt: 2026-09-09 13:56:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-09-09 13:56:20 +0000 UTC FinishedAt: 2026-09-09 13:56:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-09-09 13:56:20 +0000 UTC FinishedAt: 2026-09-09 13:58:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-09-09 13:56:20 +0000 UTC FinishedAt: 2026-09-09 13:58:20 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*af7cde21-0565-463f-8560-7476376d2e99,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-build-action-1990928906/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-09-09 13:58:30 +0000 UTC FinishedAt: 2026-09-09 14:01:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-09-09 13:58:30 +0000 UTC FinishedAt: 2026-09-09 14:01:31 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:track,Default:nil,Value:*KASAN,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:base-build-id,Default:nil,Value:*90468d97-bf1a-456d-be88-5d5902387892,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*af7cde21-0565-463f-8560-7476376d2e99,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-build-action-3426614253/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-build-action-1990928906/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-09-09 13:58:30 +0000 UTC FinishedAt: 2026-09-09 13:58:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-09-09 13:58:30 +0000 UTC FinishedAt: 2026-09-09 13:58:35 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-convert-artifact-3366258827/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-09-09 13:58:30 +0000 UTC FinishedAt: 2026-09-09 13:58:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-09-09 13:58:30 +0000 UTC FinishedAt: 2026-09-09 13:58:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-09-09 13:58:30 +0000 UTC FinishedAt: 2026-09-09 13:58:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-09-09 13:58:40 +0000 UTC FinishedAt: 2026-09-09 14:01:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowspd6n[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["uni2char"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"21860bb220225edeb87e9c831e6bf25c620e2126","config_name":"upstream-apparmor-kasan.config","enable_configs":["NLS","NLS_ISO8859_14"],"series_id":"2d0153a3-5f7f-4308-88db-5fdcc94ed218","tree_name":"vfs","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/vfs/vfs.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-09-09 13:58:40 +0000 UTC FinishedAt: 2026-09-09 14:01:09 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*90468d97-bf1a-456d-be88-5d5902387892,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*af7cde21-0565-463f-8560-7476376d2e99,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Fuzz,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-build-action-3426614253/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:/patched,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-build-action-1990928906/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:config,Path:/tmp/config.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowspd6n/series-workflowspd6n-convert-artifact-3366258827/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,}