Name: series-workflowwkm7s Phase: Succeeded StartedAt: 2026-07-07 05:24:15 +0000 UTC FinishedAt: 2026-07-07 10:36:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[0] Phase: Succeeded StartedAt: 2026-07-07 05:24:15 +0000 UTC FinishedAt: 2026-07-07 05:48:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[0].run-triage Phase: Succeeded StartedAt: 2026-07-07 05:24:15 +0000 UTC FinishedAt: 2026-07-07 05:48:52 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "8cdeaa50eae8dad34885515f62559ee83e7e8dda", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "MAC80211" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "8cdeaa50eae8dad34885515f62559ee83e7e8dda", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "MAC80211" ], "series_id": "db60c0d7-2649-4f54-831a-ff7320c79abb" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "ieee80211_update_sta_info", "ieee80211_sta_init_nss_bw_capa" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDA1OjQ3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O01BQzgwMjExJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7aWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyYjMzQ7LAogICAgJiMzNDtpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgc3RhdGlvbiBjYXBhYmlsaXR5IGluaXRpYWxpemF0aW9uIGluIElCU1MgbW9kZSBieSByZXBsYWNpbmcgYSBoYXJkY29kZWQgcnhfbnNzIHJlc2V0IHdpdGggYSBjYWxsIHRvIGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBtYWM4MDIxMSBzdGFjayB0aGF0IGFmZmVjdHMgaG93IHN0YXRpb24gY2FwYWJpbGl0aWVzIGFyZSBwYXJzZWQgYW5kIHVwZGF0ZWQgd2hlbiByZWNlaXZpbmcgbWFuYWdlbWVudCBmcmFtZXMuIEl0IGlzIHJlYWNoYWJsZSB2aWEgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgbGlrZSBtYWM4MDIxMV9od3NpbSBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDU5OWRiY2QxNWI5N2NlMDQ4MDlkMGQ1OGUxYzQ1OWI0ZTQ4ZmYxZmFcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1bCA3IDA1OjQ3OjA0IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS9pYnNzLmMgYi9uZXQvbWFjODAyMTEvaWJzcy5jXG5pbmRleCBkMGZkNjA1NGYxODIwMC4uMWU1NDE0ZWUyN2MwZDEgMTAwNjQ0XG4tLS0gYS9uZXQvbWFjODAyMTEvaWJzcy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvbWFjODAyMTEvaWJzcy5jXG5AQCAtMTAyOSw4ICYjNDM7MTAyOSw4IEBAIHN0YXRpYyB2b2lkIGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm8oc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXG4gXHRcdHUzMiBjaGFuZ2VkID0gSUVFRTgwMjExX1JDX1NVUFBfUkFURVNfQ0hBTkdFRDtcbiBcdFx0dTggcnhfbnNzID0gc3RhLVx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcztcbiBcbi1cdFx0LyogRm9yY2UgcnhfbnNzIHJlY2FsY3VsYXRpb24gKi9cbi1cdFx0c3RhLVx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcyA9IDA7XG4mIzQzO1x0XHRpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoXHUwMDI2c3RhLVx1MDAzZWRlZmxpbmssXG4mIzQzO1x0XHRcdFx0XHQgICAgICAgXHUwMDI2c2RhdGEtXHUwMDNlZGVmbGluay5jb25mLVx1MDAzZWNoYW5yZXEub3Blcik7XG4gXHRcdHJhdGVfY29udHJvbF9yYXRlX2luaXQoXHUwMDI2c3RhLVx1MDAzZWRlZmxpbmspO1xuIFx0XHRpZiAoc3RhLVx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcyAhPSByeF9uc3MpXG4gXHRcdFx0Y2hhbmdlZCB8PSBJRUVFODAyMTFfUkNfTlNTX0NIQU5HRUQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TUFDODAyMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvJiMzNDssCiAgICAmIzM0O2llZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBzdGF0aW9uIGNhcGFiaWxpdHkgaW5pdGlhbGl6YXRpb24gaW4gSUJTUyBtb2RlIGJ5IHJlcGxhY2luZyBhIGhhcmRjb2RlZCByeF9uc3MgcmVzZXQgd2l0aCBhIGNhbGwgdG8gaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1hYzgwMjExIHN0YWNrIHRoYXQgYWZmZWN0cyBob3cgc3RhdGlvbiBjYXBhYmlsaXRpZXMgYXJlIHBhcnNlZCBhbmQgdXBkYXRlZCB3aGVuIHJlY2VpdmluZyBtYW5hZ2VtZW50IGZyYW1lcy4gSXQgaXMgcmVhY2hhYmxlIHZpYSBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSBsaWtlIG1hYzgwMjExX2h3c2ltIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCA1OTlkYmNkMTViOTdjZTA0ODA5ZDBkNThlMWM0NTliNGU0OGZmMWZhCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFR1ZSBKdWwgNyAwNTo0NzowNCAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS9pYnNzLmMgYi9uZXQvbWFjODAyMTEvaWJzcy5jCmluZGV4IGQwZmQ2MDU0ZjE4MjAwLi4xZTU0MTRlZTI3YzBkMSAxMDA2NDQKLS0tIGEvbmV0L21hYzgwMjExL2lic3MuYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQvbWFjODAyMTEvaWJzcy5jCkBAIC0xMDI5LDggJiM0MzsxMDI5LDggQEAgc3RhdGljIHZvaWQgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSwKIAkJdTMyIGNoYW5nZWQgPSBJRUVFODAyMTFfUkNfU1VQUF9SQVRFU19DSEFOR0VEOwogCQl1OCByeF9uc3MgPSBzdGEtJmd0O3N0YS5kZWZsaW5rLnJ4X25zczsKIAotCQkvKiBGb3JjZSByeF9uc3MgcmVjYWxjdWxhdGlvbiAqLwotCQlzdGEtJmd0O3N0YS5kZWZsaW5rLnJ4X25zcyA9IDA7CiYjNDM7CQlpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoJmFtcDtzdGEtJmd0O2RlZmxpbmssCiYjNDM7CQkJCQkgICAgICAgJmFtcDtzZGF0YS0mZ3Q7ZGVmbGluay5jb25mLSZndDtjaGFucmVxLm9wZXIpOwogCQlyYXRlX2NvbnRyb2xfcmF0ZV9pbml0KCZhbXA7c3RhLSZndDtkZWZsaW5rKTsKIAkJaWYgKHN0YS0mZ3Q7c3RhLmRlZmxpbmsucnhfbnNzICE9IHJ4X25zcykKIAkJCWNoYW5nZWQgfD0gSUVFRTgwMjExX1JDX05TU19DSEFOR0VEOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxOTU5CgkJCQkJCQlvdXRwdXQ6IDQ2CgkJCQkJCQl0aG91Z2h0czogMTY2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgSUJTUyBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYG5ldC9tYWM4MDIxMS9pYnNzLmNgLiBTZWVtcyBsaWtlIHNvbWVvbmUmIzM5O3MgbWFkZSBhIGNoYW5nZSB0byB0aGUgYGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9gIGZ1bmN0aW9uLCB3aGljaCBpcyBhbHdheXMgaW50ZXJlc3RpbmcuIFNwZWNpZmljYWxseSwgaXQgbG9va3MgbGlrZSB0aGV5JiMzOTt2ZSByZW1vdmVkIGEgbGluZSB0aGF0IHdhcyBleHBsaWNpdGx5IHJlc2V0dGluZyBgc3RhLSZndDtzdGEuZGVmbGluay5yeF9uc3NgIHRvIDAuIEhtbSwgdGhhdCYjMzk7cyBhIGJpdCBkaXJlY3QsIGFuZCBJJiMzOTtkIGxpa2UgdG8gdW5kZXJzdGFuZCB0aGUgcmVhc29uaW5nLgoKVGhleSYjMzk7dmUgcmVwbGFjZWQgdGhhdCByZXNldCB3aXRoIGEgY2FsbCB0byBgaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhYCwgcGFzc2luZyBpbiBgJmFtcDtzdGEtJmd0O2RlZmxpbmtgIGFuZCB0aGUgb3BlcmF0aW9uYWwgY2hhbm5lbCByZXF1ZXN0IGluZm9ybWF0aW9uIGAmYW1wO3NkYXRhLSZndDtkZWZsaW5rLmNvbmYtJmd0O2NoYW5yZXEub3BlcmAuICBTbywgaW5zdGVhZCBvZiBqdXN0IGZvcmNpbmcgdGhlIGByeF9uc3NgIHRvIHplcm8sIHRoZXkmIzM5O3JlIG5vdyBjYWxsaW5nIGEgZnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSB0aGUgTlNTIChOdW1iZXIgb2YgU3BhdGlhbCBTdHJlYW1zKSBhbmQgYmFuZHdpZHRoIGNhcGFiaWxpdGllcyBvZiB0aGUgc3RhdGlvbiYjMzk7cyBkZWZsaW5rLCBsaWtlbHkgYmFzZWQgb24gdGhlIGN1cnJlbnQgb3BlcmF0aW9uYWwgY2hhbm5lbC4gVGhhdCBtYWtlcyBzZW5zZTsgaXQmIzM5O3MgbW9yZSBkeW5hbWljLgoKSSYjMzk7bGwgbmVlZCB0byBkaWcgaW50byBgbmV0L21hYzgwMjExL2lic3MuY2AgdG8gZnVsbHkgdW5kZXJzdGFuZCB0aGUgY29udGV4dC4gSSYjMzk7bGwgYWxzbyB3YW50IHRvIHJldmlldyB0aGUgY29kZSBmb3IgYGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9gIGl0c2VsZi4gVGhpcyBtZWFucyBsb29raW5nIGF0IGhvdyB0aGUgZnVuY3Rpb24gaXMgdXNlZCBhbmQgd2hhdCBvdGhlciBkYXRhIGl0IHVwZGF0ZXMuIEl04oCZcyBpbXBvcnRhbnQgdG8gdW5kZXJzdGFuZCB0aGUgZmxvdyBoZXJlLiBJJiMzOTttIGVzcGVjaWFsbHkgaW50ZXJlc3RlZCBpbiBob3cgdGhlIG9wZXJhdGlvbmFsIGNoYW5uZWwgaW5mb3JtYXRpb24gaXMgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBzdGF0aW9uIGRhdGEgdG8gZGV0ZXJtaW5lIHRoZSBjb3JyZWN0IE5TUy4KClRoaXMgY291bGQgYmUgYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24sIGEgYnVnIGZpeCwgb3IgZXZlbiBhIGZlYXR1cmUgYWRkaXRpb24gcmVsYXRlZCB0byBtb3JlIGludGVsbGlnZW50IGJhbmR3aWR0aCBtYW5hZ2VtZW50IGluIElCU1MgbW9kZS4gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIG9yaWdpbmFsIHByb2JsZW0gdGhlIHBhdGNoIGlzIHRyeWluZyB0byBzb2x2ZSwgYW5kIGV2YWx1YXRlIHRoZSBlZmZlY3RzIG9mIHRoZSBgaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhYCBjYWxsIGluIHRoaXMgZnVuY3Rpb24uIFRoaXMgaW5pdGlhbGl6YXRpb24gaXMgbGlrZWx5IHRvIGJlIGEgY29tcGxleCBmdW5jdGlvbiwgYW5kIEkmIzM5O2xsIG5lZWQgdG8gcmVhZCB0aGlzIG9uZSBjYXJlZnVsbHkuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9pYnNzLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L21hYzgwMjExL2lic3MuYz04OTQ9c3RhdGljIHZvaWQgaWVlZTgwMjExX3J4X21nbXRfYXV0aF9pYnNzKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxuLS1cbm5ldC9tYWM4MDIxMS9pYnNzLmMtOTI0LVxubmV0L21hYzgwMjExL2lic3MuYzo5MjU6c3RhdGljIHZvaWQgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSxcbm5ldC9tYWM4MDIxMS9pYnNzLmMtOTI2LVx0XHRcdFx0ICAgICAgc3RydWN0IGllZWU4MDIxMV9tZ210ICptZ210LCBzaXplX3QgbGVuLFxuLS1cbm5ldC9tYWM4MDIxMS9pYnNzLmM9MTA0NT1zdGF0aWMgdm9pZCBpZWVlODAyMTFfcnhfYnNzX2luZm8oc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXG4tLVxubmV0L21hYzgwMjExL2lic3MuYy0xMDYxLVxubmV0L21hYzgwMjExL2lic3MuYzoxMDYyOlx0aWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzZGF0YSwgbWdtdCwgbGVuLCByeF9zdGF0dXMsIGVsZW1zLCBjaGFubmVsKTtcbm5ldC9tYWM4MDIxMS9pYnNzLmMtMTA2My1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyOTQ3CgkJCQkJCQlvdXRwdXQ6IDM3CgkJCQkJCQl0aG91Z2h0czogNzgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGxldCYjMzk7cyBicmVhayB0aGlzIGRvd24uCgoqKkRpdmluZyBpbnRvIHRoZSA4MDIuMTEgU3RhY2sqKgoKUmlnaHQsIHNvIHRoZSBpc3N1ZSBJJiMzOTttIGxvb2tpbmcgaW50byBzZWVtcyB0byBiZSByb290ZWQgaW4gYGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9gLiBUaGF0IGZ1bmN0aW9uIGdldHMgY2FsbGVkIGJ5IGBpZWVlODAyMTFfcnhfYnNzX2luZm9gLiAgVGhhdCYjMzk7cyBhIHByZXR0eSBjbGVhciBpbmRpY2F0b3IgaXQmIzM5O3MgcHJvYmFibHkgcmVsYXRlZCB0byByZWNlaXZpbmcgYW5kIHByb2Nlc3NpbmcgaW5mb3JtYXRpb24gYWJvdXQgc3RhdGlvbnMsIHByZXN1bWFibHkgd2l0aGluIGEgQlNTLiAgSXQmIzM5O3Mgc29saWQsIGZ1bmN0aW9uYWwgY29kZSB3aXRoaW4gdGhlIGBtYWM4MDIxMWAgZnJhbWV3b3JrLiBHb29kLiBBbmQgaXQmIzM5O3MgcmVhY2hhYmxlIHRocm91Z2ggYG1hYzgwMjExX2h3c2ltYCwgd2hpY2ggaXMgaGVscGZ1bCBmb3IgdGVzdGluZyBhbmQgc2ltdWxhdGlvbi4gVGhhdCBuYXJyb3dzIGRvd24gbXkgZm9jdXMgY29uc2lkZXJhYmx5LiBOb3csIG15IG5leHQgbW92ZSBpcyB0byBsb2NhdGUgdGhlIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWNzIGZvciBgbWFjODAyMTFgLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBpdHMgc2V0dXAgdG8gZ3Jhc3AgaG93IHRoaXMgc3BlY2lmaWMgcGFydCBvZiB0aGUgY29kZSBiZWhhdmVzIHdpdGhpbiB0aGUgYnJvYWRlciBzeXN0ZW0uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7TUFDODAyMTEmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxubmV0L21hYzgwMjExL0tjb25maWc6Mjpjb25maWcgTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMtXHR0cmlzdGF0ZSBcJiMzNDtHZW5lcmljIElFRUUgODAyLjExIE5ldHdvcmtpbmcgU3RhY2sgKG1hYzgwMjExKVwmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1LVxubmV0L21hYzgwMjExL0tjb25maWc6MTY6Y29tbWVudCBcJiMzNDtDRkc4MDIxMSBuZWVkcyB0byBiZSBlbmFibGVkIGZvciBNQUM4MDIxMVwmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWctMTctXHRkZXBlbmRzIG9uIENGRzgwMjExPW5cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4LVxubmV0L21hYzgwMjExL0tjb25maWc6MTk6aWYgTUFDODAyMTEgIT0gblxubmV0L21hYzgwMjExL0tjb25maWctMjAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMTpjb25maWcgTUFDODAyMTFfSEFTX1JDXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMi1cdGJvb2xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzLVxubmV0L21hYzgwMjExL0tjb25maWc6MjQ6Y29uZmlnIE1BQzgwMjExX1JDX01JTlNUUkVMXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNS1cdGJvb2wgXCYjMzQ7TWluc3RyZWxcJiMzNDsgaWYgRVhQRVJUXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNjpcdHNlbGVjdCBNQUM4MDIxMV9IQVNfUkNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI3LVx0ZGVmYXVsdCB5XG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9MzE9Y2hvaWNlXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zMi1cdHByb21wdCBcJiMzNDtEZWZhdWx0IHJhdGUgY29udHJvbCBhbGdvcml0aG1cJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjMzOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9IQVNfUkNcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjM0Olx0ZGVmYXVsdCBNQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zNS1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy00MC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQxOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMXG5uZXQvbWFjODAyMTEvS2NvbmZpZy00Mi1cdGJvb2wgXCYjMzQ7TWluc3RyZWxcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQzOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9SQ19NSU5TVFJFTFxubmV0L21hYzgwMjExL0tjb25maWctNDQtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9NDg9ZW5kY2hvaWNlXG5uZXQvbWFjODAyMTEvS2NvbmZpZy00OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjUwOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUXG5uZXQvbWFjODAyMTEvS2NvbmZpZy01MS1cdHN0cmluZ1xubmV0L21hYzgwMjExL0tjb25maWc6NTI6XHRkZWZhdWx0IFwmIzM0O21pbnN0cmVsX2h0XCYjMzQ7IGlmIE1BQzgwMjExX1JDX0RFRkFVTFRfTUlOU1RSRUxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTUzLVx0ZGVmYXVsdCBcJiMzNDtcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZz01Nz1jb21tZW50IFwmIzM0O1NvbWUgd2lyZWxlc3MgZHJpdmVycyByZXF1aXJlIGEgcmF0ZSBjb250cm9sIGFsZ29yaXRobVwmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6NTg6XHRkZXBlbmRzIG9uIE1BQzgwMjExIFx1MDAyNlx1MDAyNiBNQUM4MDIxMV9IQVNfUkM9blxubmV0L21hYzgwMjExL0tjb25maWctNTktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MDpjb25maWcgTUFDODAyMTFfS1VOSVRfVEVTVFxubmV0L21hYzgwMjExL0tjb25maWctNjEtXHR0cmlzdGF0ZSBcJiMzNDtLVW5pdCB0ZXN0cyBmb3IgbWFjODAyMTFcJiMzNDsgaWYgIUtVTklUX0FMTF9URVNUU1xubmV0L21hYzgwMjExL0tjb25maWctNjItXHRkZXBlbmRzIG9uIEtVTklUXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MzpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTY0LVx0ZGVmYXVsdCBLVU5JVF9BTExfVEVTVFNcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy02OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjcwOmNvbmZpZyBNQUM4MDIxMV9NRVNIXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03MS1cdGJvb2wgXCYjMzQ7RW5hYmxlIG1hYzgwMjExIG1lc2ggbmV0d29ya2luZyBzdXBwb3J0XCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo3MjpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTczLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTc4LVxubmV0L21hYzgwMjExL0tjb25maWc6Nzk6Y29uZmlnIE1BQzgwMjExX0xFRFNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTgwLVx0Ym9vbCBcJiMzNDtFbmFibGUgTEVEIHRyaWdnZXJzXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo4MTpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjgyOlx0ZGVwZW5kcyBvbiBMRURTX0NMQVNTPXkgfHwgTEVEU19DTEFTUz1NQUM4MDIxMVxubmV0L21hYzgwMjExL0tjb25maWctODMtXHRzZWxlY3QgTEVEU19UUklHR0VSU1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg3LVxubmV0L21hYzgwMjExL0tjb25maWc6ODg6Y29uZmlnIE1BQzgwMjExX0RFQlVHRlNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg5LVx0Ym9vbCBcJiMzNDtFeHBvcnQgbWFjODAyMTEgaW50ZXJuYWxzIGluIERlYnVnRlNcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjkwOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMSBcdTAwMjZcdTAwMjYgQ0ZHODAyMTFfREVCVUdGU1xubmV0L21hYzgwMjExL0tjb25maWctOTEtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctOTYtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5Nzpjb25maWcgTUFDODAyMTFfTUVTU0FHRV9UUkFDSU5HXG5uZXQvbWFjODAyMTEvS2NvbmZpZy05OC1cdGJvb2wgXCYjMzQ7VHJhY2UgYWxsIG1hYzgwMjExIGRlYnVnIG1lc3NhZ2VzXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5OTpcdGRlcGVuZHMgb24gTUFDODAyMTEgXHUwMDI2XHUwMDI2IFRSQUNJTkdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEwMC1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMDktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTA6bWVudWNvbmZpZyBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTEtXHRib29sIFwmIzM0O1NlbGVjdCBtYWM4MDIxMSBkZWJ1Z2dpbmcgZmVhdHVyZXNcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExMjpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExMy1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTUtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTY6Y29uZmlnIE1BQzgwMjExX05PSU5MSU5FXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTctXHRib29sIFwmIzM0O0RvIG5vdCBpbmxpbmUgVFgvUlggaGFuZGxlcnNcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExODpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTE5LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzMS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzMjpjb25maWcgTUFDODAyMTFfVkVSQk9TRV9ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMTMzLVx0Ym9vbCBcJiMzNDtWZXJib3NlIGRlYnVnZ2luZyBvdXRwdXRcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzNDpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTM1LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE0Mi1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE0Mzpjb25maWcgTUFDODAyMTFfTUxNRV9ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMTQ0LVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1hbmFnZWQgTUxNRSBvdXRwdXRcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE0NTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTQ2LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1My1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NDpjb25maWcgTUFDODAyMTFfU1RBX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNTUtXHRib29sIFwmIzM0O1ZlcmJvc2Ugc3RhdGlvbiBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NjpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTU3LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE2Mi1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2Mzpjb25maWcgTUFDODAyMTFfSFRfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE2NC1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBIVCBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2NTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTY2LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE3NC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE3NTpjb25maWcgTUFDODAyMTFfT0NCX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzYtXHRib29sIFwmIzM0O1ZlcmJvc2UgT0NCIGRlYnVnZ2luZ1wmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MTc3Olx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzgtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMTg1LVxubmV0L21hYzgwMjExL0tjb25maWc6MTg2OmNvbmZpZyBNQUM4MDIxMV9JQlNTX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xODctXHRib29sIFwmIzM0O1ZlcmJvc2UgSUJTUyBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4ODpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTg5LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE5Ni1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5Nzpjb25maWcgTUFDODAyMTFfUFNfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE5OC1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBwb3dlcnNhdmUgbW9kZSBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5OTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMjAwLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIwOC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIwOTpjb25maWcgTUFDODAyMTFfTVBMX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTAtXHRib29sIFwmIzM0O1ZlcmJvc2UgbWVzaCBwZWVyIGxpbmsgZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMTE6XHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIxMjpcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxubmV0L21hYzgwMjExL0tjb25maWctMjEzLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIyMS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyMjpjb25maWcgTUFDODAyMTFfTVBBVEhfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIyMy1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIHBhdGggZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMjQ6XHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyNTpcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxubmV0L21hYzgwMjExL0tjb25maWctMjI2LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNTpjb25maWcgTUFDODAyMTFfTUhXTVBfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNi1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIEhXTVAgcm91dGluZyBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNzpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWc6MjM4Olx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMzktXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjQ3LVxubmV0L21hYzgwMjExL0tjb25maWc6MjQ4OmNvbmZpZyBNQUM4MDIxMV9NRVNIX1NZTkNfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0OS1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIHN5bmNocm9uaXphdGlvbiBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI1MDpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWc6MjUxOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNTItXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjU4LVxubmV0L21hYzgwMjExL0tjb25maWc6MjU5OmNvbmZpZyBNQUM4MDIxMV9NRVNIX0NTQV9ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjYwLVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1lc2ggY2hhbm5lbCBzd2l0Y2ggZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNjE6XHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI2MjpcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxubmV0L21hYzgwMjExL0tjb25maWctMjYzLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI3MDpjb25maWcgTUFDODAyMTFfTUVTSF9QU19ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjcxLVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1lc2ggcG93ZXJzYXZlIGRlYnVnZ2luZ1wmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MjcyOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNzM6XHRkZXBlbmRzIG9uIE1BQzgwMjExX01FU0hcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI3NC1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyODE6Y29uZmlnIE1BQzgwMjExX1RETFNfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4Mi1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBURExTIGRlYnVnZ2luZ1wmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MjgzOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODQtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjkyLVxubmV0L21hYzgwMjExL0tjb25maWc6MjkzOmNvbmZpZyBNQUM4MDIxMV9ERUJVR19DT1VOVEVSU1xubmV0L21hYzgwMjExL0tjb25maWctMjk0LVx0Ym9vbCBcJiMzNDtFeHRyYSBzdGF0aXN0aWNzIGZvciBUWC9SWCBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5NTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWc6Mjk2Olx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR0ZTXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yOTctXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMzA3LVxubmV0L21hYzgwMjExL0tjb25maWc6MzA4OmNvbmZpZyBNQUM4MDIxMV9TVEFfSEFTSF9NQVhfU0laRVxubmV0L21hYzgwMjExL0tjb25maWc6MzA5Olx0aW50IFwmIzM0O1N0YXRpb24gaGFzaCB0YWJsZSBtYXhpbXVtIHNpemVcJiMzNDsgaWYgTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMzEwLVx0ZGVmYXVsdCAwXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNzE3NwoJCQkJCQkJb3V0cHV0OiAzMgoJCQkJCQkJdGhvdWdodHM6IDczCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgSUJTUyBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBjb25maWcsIGBNQUM4MDIxMWAuIFRoYXQgaW1tZWRpYXRlbHkgdGVsbHMgbWUgd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCB0aGUgY29yZSB3aXJlbGVzcyBuZXR3b3JraW5nIHN0YWNrLCB3aGljaCBpcyBnb29kIHRvIGtub3cuIFRoZSBwYXRjaCBpdHNlbGYgaXMgbG9jYXRlZCBpbiBgbmV0L21hYzgwMjExL2lic3MuY2AsIHNvIHdlJiMzOTtyZSBzcGVjaWZpY2FsbHkgdGFsa2luZyBhYm91dCBJQlNTLCBvciBBZC1Ib2MgbW9kZSBmdW5jdGlvbmFsaXR5IHdpdGhpbiBgbWFjODAyMTFgLiBOb3csIG15IGluaXRpYWwgdGhvdWdodCBpcywgJiMzNDtpcyB0aGVyZSBhIHNlcGFyYXRlIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGp1c3QgZm9yIElCU1MsIHdpdGhpbiB0aGF0IGxhcmdlciBgbWFjODAyMTFgIGNvbnRleHQ/JiMzNDsgSSBzaG91bGQgcHJvYmFibHkgY29uZmlybSB3aGV0aGVyIHRoZXJlJiMzOTtzIGEgZGVkaWNhdGVkIElCU1MgY29uZmlnIG9wdGlvbiBvciBpZiBpdCYjMzk7cyBpbXBsaWNpdGx5IGVuYWJsZWQgb3IgZGlzYWJsZWQgYmFzZWQgb24gb3RoZXIgc2V0dGluZ3MuIEJlc3Qgd2F5IHRvIGNoZWNrIHRoYXQgaXMgdG8ganVtcCBvdmVyIHRvIHRoZSBgbmV0L21hYzgwMjExL01ha2VmaWxlYCBhbmQgc2VlIGhvdyB0aGV5IGhhbmRsZSB0aGUgYnVpbGQgY29uZmlndXJhdGlvbnMgcmVsYXRlZCB0byBJQlNTLiBMZXQmIzM5O3Mgc2VlIHdoYXQmIzM5O3MgaW4gdGhlcmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aWJzcyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9NYWtlZmlsZSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvTWFrZWZpbGU9NT1tYWM4MDIxMS15IDo9IFxcXG4tLVxubmV0L21hYzgwMjExL01ha2VmaWxlLTE2LVx0czFnLm8gXFxcbm5ldC9tYWM4MDIxMS9NYWtlZmlsZToxNzpcdGlic3MubyBcXFxubmV0L21hYzgwMjExL01ha2VmaWxlLTE4LVx0aWZhY2UubyBcXFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDA1OjQ3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDc1ODYKCQkJCQkJCW91dHB1dDogNDgKCQkJCQkJCXRob3VnaHRzOiA3NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duIG1lbnRhbCBwcm9jZXNzaW5nOgoKKipBbmFseXppbmcgdGhlIERlcGVuZGVuY3kgb2YgYGlic3Mub2AqKgoKUmlnaHQsIHNvLCBpZiBJIHVuZGVyc3RhbmQgdGhpcyBjb3JyZWN0bHksIGBpYnNzLm9gIGlzIGVzc2VudGlhbGx5IGFsd2F5cyBnb2luZyB0byBiZSBidWlsdCBhcyBsb25nIGFzIGBNQUM4MDIxMWAgaXMgZW5hYmxlZC4gVGhhdCBzaW1wbGlmaWVzIHRoaW5ncywgZG9lc24mIzM5O3QgaXQ/IE1lYW5pbmcsIGlmIEkgc2VlIGBNQUM4MDIxMWAgZW5hYmxlZCwgSSBjYW4gYmUgcHJldHR5IGNlcnRhaW4gYGlic3Mub2AgaXMgdGhlcmUgYXMgd2VsbCDigJMgbm8gZnVydGhlciBjaGVja3MgbmVlZGVkIG9uIHRoYXQgZnJvbnQuIEl0JiMzOTtzIGEgZGlyZWN0IGRlcGVuZGVuY3ksIHdoaWNoIGlzIGdvb2QgdG8ga25vdyBmb3IgYnVpbGQgY29uZmlndXJhdGlvbnMuCgpOb3csIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgYGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYWAgYWN0dWFsbHkgKmRvZXMqLiBJIGRvbiYjMzk7dCByZWNhbGwgaXQgb2ZmIHRoZSB0b3Agb2YgbXkgaGVhZCwgYW5kIEkmIzM5O2QgbGlrZSB0byBxdWlja2x5IGRldGVybWluZSB3aGV0aGVyIGl0JiMzOTtzIHNvbWV0aGluZyB0aGF0IGdldHMgY2FsbGVkIGZyZXF1ZW50bHksIG9yIGlmIGl0JiMzOTtzIG1vcmUgb2YgYW4gaW5pdGlhbGl6YXRpb24gcm91dGluZS4gSXMgaXQgaW4gYSBwZXJmb3JtYW5jZS1jcml0aWNhbCBwYXRoPyBJcyBpdCBqdXN0IHNldHRpbmcgdXAgc29tZSBzdGF0aW9uIGNhcGFiaWxpdGllcyBvciBkb2luZyBzb21ldGhpbmcgbW9yZSBpbnZvbHZlZD8gSSYjMzk7bGwgY2hlY2sgaXRzIGRlZmluaXRpb24gdG8gZ2V0IGEgYmV0dGVyIHNlbnNlIG9mIGl0cyByb2xlLiBUaGF0IHdpbGwgZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IGl0JiMzOTtzIHNvbWV0aGluZyBJIG5lZWQgdG8ga2VlcCBhbiBleWUgb24gd2hlbiBsb29raW5nIGF0IG92ZXJhbGwgc3lzdGVtIHBlcmZvcm1hbmNlIG9yIHdoZW4gZGVidWdnaW5nLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9jZmcuYz0yMjYwPXN0YXRpYyBpbnQgc3RhX2xpbmtfYXBwbHlfcGFyYW1ldGVycyhzdHJ1Y3QgaWVlZTgwMjExX2xvY2FsICpsb2NhbCxcbi0tXG5uZXQvbWFjODAyMTEvY2ZnLmMtMjQxOC1cdGRlZmF1bHQ6XG5uZXQvbWFjODAyMTEvY2ZnLmM6MjQxOTpcdFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKGxpbmtfc3RhLCBcdTAwMjZsaW5rLVx1MDAzZWNvbmYtXHUwMDNlY2hhbnJlcS5vcGVyKTtcbm5ldC9tYWM4MDIxMS9jZmcuYy0yNDIwLVx0XHRicmVhaztcbi0tXG5uZXQvbWFjODAyMTEvaWJzcy5jPTUzOD1zdGF0aWMgc3RydWN0IHN0YV9pbmZvICppZWVlODAyMTFfaWJzc19maW5pc2hfc3RhKHN0cnVjdCBzdGFfaW5mbyAqc3RhKVxuLS1cbm5ldC9tYWM4MDIxMS9pYnNzLmMtNTQ1LVxubmV0L21hYzgwMjExL2lic3MuYzo1NDY6XHRpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoXHUwMDI2c3RhLVx1MDAzZWRlZmxpbmssXG5uZXQvbWFjODAyMTEvaWJzcy5jLTU0Ny1cdFx0XHRcdCAgICAgICBcdTAwMjZzZGF0YS1cdTAwM2VkZWZsaW5rLmNvbmYtXHUwMDNlY2hhbnJlcS5vcGVyKTtcbi0tXG5uZXQvbWFjODAyMTEvaWJzcy5jPTkyNT1zdGF0aWMgdm9pZCBpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxuLS1cbm5ldC9tYWM4MDIxMS9pYnNzLmMtMTAzMS1cbm5ldC9tYWM4MDIxMS9pYnNzLmM6MTAzMjpcdFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKFx1MDAyNnN0YS1cdTAwM2VkZWZsaW5rLFxubmV0L21hYzgwMjExL2lic3MuYy0xMDMzLVx0XHRcdFx0XHQgICAgICAgXHUwMDI2c2RhdGEtXHUwMDNlZGVmbGluay5jb25mLVx1MDAzZWNoYW5yZXEub3Blcik7XG4tLVxubmV0L21hYzgwMjExL21lc2hfcGxpbmsuYz00MjM9c3RhdGljIHZvaWQgbWVzaF9zdGFfaW5mb19pbml0KHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxuLS1cbm5ldC9tYWM4MDIxMS9tZXNoX3BsaW5rLmMtNDcwLVxubmV0L21hYzgwMjExL21lc2hfcGxpbmsuYzo0NzE6XHRpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoXHUwMDI2c3RhLVx1MDAzZWRlZmxpbmssXG5uZXQvbWFjODAyMTEvbWVzaF9wbGluay5jLTQ3Mi1cdFx0XHRcdCAgICAgICBcdTAwMjZzZGF0YS1cdTAwM2VkZWZsaW5rLmNvbmYtXHUwMDNlY2hhbnJlcS5vcGVyKTtcbi0tXG5uZXQvbWFjODAyMTEvbWxtZS5jPTU4NDY9c3RhdGljIGJvb2wgaWVlZTgwMjExX2Fzc29jX2NvbmZpZ19saW5rKHN0cnVjdCBpZWVlODAyMTFfbGlua19kYXRhICpsaW5rLFxuLS1cbm5ldC9tYWM4MDIxMS9tbG1lLmMtNjIzNi1cbm5ldC9tYWM4MDIxMS9tbG1lLmM6NjIzNzpcdGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYShsaW5rX3N0YSwgXHUwMDI2YnNzX2NvbmYtXHUwMDNlY2hhbnJlcS5vcGVyKTtcbm5ldC9tYWM4MDIxMS9tbG1lLmMtNjIzOC1cbi0tXG5uZXQvbWFjODAyMTEvb2NiLmM9ODc9c3RhdGljIHN0cnVjdCBzdGFfaW5mbyAqaWVlZTgwMjExX29jYl9maW5pc2hfc3RhKHN0cnVjdCBzdGFfaW5mbyAqc3RhKVxuLS1cbm5ldC9tYWM4MDIxMS9vY2IuYy05NC1cbm5ldC9tYWM4MDIxMS9vY2IuYzo5NTpcdGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYShcdTAwMjZzdGEtXHUwMDNlZGVmbGluayxcbm5ldC9tYWM4MDIxMS9vY2IuYy05Ni1cdFx0XHRcdCAgICAgICBcdTAwMjZzZGF0YS1cdTAwM2VkZWZsaW5rLmNvbmYtXHUwMDNlY2hhbnJlcS5vcGVyKTtcbi0tXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uYz0zNDUzPXN0YXRpYyB1OCBpZWVlODAyMTFfc3RhX25zc19jYXBhYmlsaXR5KHN0cnVjdCBsaW5rX3N0YV9pbmZvICpsaW5rX3N0YSlcbi0tXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uYy0zNTM5LVxubmV0L21hYzgwMjExL3N0YV9pbmZvLmM6MzU0MDp2b2lkIGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYShzdHJ1Y3QgbGlua19zdGFfaW5mbyAqbGlua19zdGEsXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uYy0zNTQxLVx0XHRcdFx0ICAgIHN0cnVjdCBjZmc4MDIxMV9jaGFuX2RlZiAqY2hhbmRlZilcbi0tXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uaD0xMDA5PXVuc2lnbmVkIGxvbmcgaWVlZTgwMjExX3N0YV9sYXN0X2FjdGl2ZShzdHJ1Y3Qgc3RhX2luZm8gKnN0YSwgaW50IGxpbmtfaWQpO1xubmV0L21hYzgwMjExL3N0YV9pbmZvLmgtMTAxMC1cbm5ldC9tYWM4MDIxMS9zdGFfaW5mby5oOjEwMTE6dm9pZCBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoc3RydWN0IGxpbmtfc3RhX2luZm8gKmxpbmtfc3RhLFxubmV0L21hYzgwMjExL3N0YV9pbmZvLmgtMTAxMi1cdFx0XHRcdCAgICBzdHJ1Y3QgY2ZnODAyMTFfY2hhbl9kZWYgKmNoYW5kZWYpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA5MjMwCgkJCQkJCQlvdXRwdXQ6IDQ2CgkJCQkJCQl0aG91Z2h0czogMjUxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgVGFyZ2V0IElkZW50aWZpY2F0aW9uKioKCk9rYXksIHNvIEkmIzM5O3ZlIHNwb3R0ZWQgYSBwb3RlbnRpYWwgdnVsbmVyYWJpbGl0eSBpbiBgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb2AsIHNwZWNpZmljYWxseSB3aXRoaW4gdGhlIElCU1MgbW9kZSBvZiB0aGUgTUFDODAyMTEgc3RhY2suIEl0IGxvb2tzIGxpa2UgYSByZWNlbnQgcGF0Y2ggY2hhbmdlZCBob3cgdGhlIHJlY2VpdmUgc3BhdGlhbCBzdHJlYW0gYW5kIGJhbmR3aWR0aCBjYXBhYmlsaXRpZXMgYXJlIGluaXRpYWxpemVkLiBJbnN0ZWFkIG9mIGp1c3Qgc2V0dGluZyBgc3RhLSZndDtzdGEuZGVmbGluay5yeF9uc3MgPSAwYCwgaXQgbm93IGNhbGxzIGBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoJmFtcDtzdGEtJmd0O2RlZmxpbmssICZhbXA7c2RhdGEtJmd0O2RlZmxpbmsuY29uZi0mZ3Q7Y2hhbnJlcS5vcGVyKTtgLiBUaGlzIGlzIGEgY2xlYXIgZnVuY3Rpb25hbCBjaGFuZ2UsIHNvIGl0JiMzOTtzIGEgcHJpbWUgY2FuZGlkYXRlIGZvciBmdXp6aW5nLgoKTXkgcHJpbWFyeSBmb2N1cyB3aWxsIGJlIG9uIHRoZSBgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb2AgZnVuY3Rpb24gaXRzZWxmIGFuZCBhbHNvIHRoZSBgaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhYCBmdW5jdGlvbi4gSSB0aGluayB0aGVzZSBhcmUgdGhlIGtleSBzeW1ib2xzIHRvIHRhcmdldC4KClRoZSBvYnZpb3VzIGNvbmZpZyB0byBlbmFibGUgaXMgYE1BQzgwMjExYCwgZ2l2ZW4gdGhhdCYjMzk7cyB0aGUgYXJlYSBpbnZvbHZlZCwgYnV0IGl0IHdvdWxkIGJlIHdpc2UgdG8gZG91YmxlLWNoZWNrIGlmIEkgbmVlZCB0byBlbmFibGUgYW55dGhpbmcgZWxzZSB0byBmdWxseSBleGVyY2lzZSB0aGlzIGNvZGUgcGF0aC4gTGV0JiMzOTtzIG1ha2Ugc3VyZSBub3RoaW5nIGVsc2UgaXMgcmVsZXZhbnQuIFJpZ2h0LCBpdCYjMzk7cyBkZWZpbmVkIGluIGBuZXQvbWFjODAyMTEvaWJzcy5jYCwgc28gSSBzaG91bGQgYmUgZ29vZC4gVGltZSB0byBkaXZlIGludG8gdGhlIGNvZGUgYW5kIHN0YXJ0IGRldmlzaW5nIHNvbWUgaW50ZXJlc3RpbmcgdGVzdCBjYXNlcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9pYnNzLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L21hYzgwMjExL2lic3MuYz04OTQ9c3RhdGljIHZvaWQgaWVlZTgwMjExX3J4X21nbXRfYXV0aF9pYnNzKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxuLS1cbm5ldC9tYWM4MDIxMS9pYnNzLmMtOTI0LVxubmV0L21hYzgwMjExL2lic3MuYzo5MjU6c3RhdGljIHZvaWQgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSxcbm5ldC9tYWM4MDIxMS9pYnNzLmMtOTI2LVx0XHRcdFx0ICAgICAgc3RydWN0IGllZWU4MDIxMV9tZ210ICptZ210LCBzaXplX3QgbGVuLFxuLS1cbm5ldC9tYWM4MDIxMS9pYnNzLmM9MTA0NT1zdGF0aWMgdm9pZCBpZWVlODAyMTFfcnhfYnNzX2luZm8oc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXG4tLVxubmV0L21hYzgwMjExL2lic3MuYy0xMDYxLVxubmV0L21hYzgwMjExL2lic3MuYzoxMDYyOlx0aWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzZGF0YSwgbWdtdCwgbGVuLCByeF9zdGF0dXMsIGVsZW1zLCBjaGFubmVsKTtcbm5ldC9tYWM4MDIxMS9pYnNzLmMtMTA2My1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTAxNjcKCQkJCQkJCW91dHB1dDogMzgKCQkJCQkJCXRob3VnaHRzOiAyMjQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIE1BQzgwMjExIEZ1bmN0aW9uIERlcGVuZGVuY2llcyoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhlc2UgdHdvIGZ1bmN0aW9uczogYGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9gLCB3aGljaCBpcyBhIHN0YXRpYyBmdW5jdGlvbiBidXJpZWQgd2l0aGluIGBuZXQvbWFjODAyMTEvaWJzcy5jYCwgYW5kIGBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGFgLCBhIGdsb2JhbCBmdW5jdGlvbiBmb3VuZCBpbiBgbmV0L21hYzgwMjExL3N0YV9pbmZvLmNgLiBUaGUgbWVudGFsIG5vdGUgaXMgdG8gdHJhY2UgdGhlaXIgZGVwZW5kZW5jaWVzLCBpZiBhbnksIHRocm91Z2ggdGhlIGJ1aWxkIHN5c3RlbS4gVGhlIHByaW1hcnkgY29uZmlnIEkmIzM5O20gd29ya2luZyB3aXRoIGhlcmUgaXMgYE1BQzgwMjExYC4KCkJ1dCB3YWl0IGEgbWludXRlLCBiZWZvcmUgSSBnbyB0b28gZmFyIGRvd24gdGhhdCByYWJiaXQgaG9sZSwgYW0gSSBtaXNzaW5nIHNvbWV0aGluZz8gSXMgYE1BQzgwMjExYCB0aGUgKm9ubHkqIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9uIGhlcmU/IE15IGluaXRpYWwgYXNzdW1wdGlvbiB3YXMgdGhhdCBpdCB3YXMsIGJ1dCBJJiMzOTtkIGJldHRlciBiZSBzdXJlLiBXaGF0IGFib3V0IGBDRkc4MDIxMWA/IFRoZXJlJiMzOTtzIGEgbmFnZ2luZyBmZWVsaW5nIHRoYXQgdGhleSBtaWdodCBpbnRlcmFjdC4KCkxldCBtZSBqdXN0IHF1aWNrbHkgdmVyaWZ5IGluIHRoZSBgbmV0L21hYzgwMjExL0tjb25maWdgIGZpbGUsIEkgcmVtZW1iZXIgc29tZSBwb3RlbnRpYWwgaW50ZXJhY3Rpb25zIG9yIGRlcGVuZGVuY2llcyAtIHRoZSAmIzM0O2RlcGVuZHMgb24gQ0ZHODAyMTE9biYjMzQ7IGNvbW1lbnQuIE9rLCBsZXQgbWUgZG91YmxlIGNoZWNrIHRoYXQgLSBiZXR0ZXIgdG8gYmUgc3VyZS4gSXQgY291bGQgYmUgY3JpdGljYWwgdG8gZnVsbHkgdW5kZXJzdGFuZCBob3cgdGhlc2UgZnVuY3Rpb25zIGJlaGF2ZSB1bmRlciBkaWZmZXJlbnQga2VybmVsIGNvbmZpZ3VyYXRpb25zLiBObyBzZW5zZSBnb2luZyBkb3duIHRoZSByYWJiaXQgaG9sZSB3aXRob3V0IGZ1bGx5IHVuZGVyc3RhbmRpbmcgdGhlIGVudmlyb25tZW50LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtDRkc4MDIxMSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9LY29uZmlnPTI9Y29uZmlnIE1BQzgwMjExXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zLVx0dHJpc3RhdGUgXCYjMzQ7R2VuZXJpYyBJRUVFIDgwMi4xMSBOZXR3b3JraW5nIFN0YWNrIChtYWM4MDIxMSlcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQ6XHRkZXBlbmRzIG9uIENGRzgwMjExXG5uZXQvbWFjODAyMTEvS2NvbmZpZy01LVx0c2VsZWN0IENSWVBUT1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1LVxubmV0L21hYzgwMjExL0tjb25maWc6MTY6Y29tbWVudCBcJiMzNDtDRkc4MDIxMSBuZWVkcyB0byBiZSBlbmFibGVkIGZvciBNQUM4MDIxMVwmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MTc6XHRkZXBlbmRzIG9uIENGRzgwMjExPW5cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4LVxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnPTg4PWNvbmZpZyBNQUM4MDIxMV9ERUJVR0ZTXG5uZXQvbWFjODAyMTEvS2NvbmZpZy04OS1cdGJvb2wgXCYjMzQ7RXhwb3J0IG1hYzgwMjExIGludGVybmFscyBpbiBEZWJ1Z0ZTXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5MDpcdGRlcGVuZHMgb24gTUFDODAyMTEgXHUwMDI2XHUwMDI2IENGRzgwMjExX0RFQlVHRlNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTkxLVx0aGVscFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxMTA2MwoJCQkJCQkJb3V0cHV0OiAxNzQKCQkJCQkJCXRob3VnaHRzOiA0MAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgc3VtbWFyaXplZCBmcm9tIG15IHBlcnNwZWN0aXZlIGFzIHNvbWVvbmUgZmFtaWxpYXIgd2l0aCB0aGVzZSBzeXN0ZW1zOgoKKipXaXJlbGVzcyBDb25maWd1cmF0aW9uICZhbXA7IEludGVyZmFjZSBTZXR1cCoqCgpSaWdodCwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgYW5kIGl0JiMzOTtzIGNsZWFyIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyBoZWF2aWx5IGRlcGVuZGVudCBvbiBgQ0ZHODAyMTFgLiBUaGF0JiMzOTtzIHRoZSBjb3JlIHdpcmVsZXNzIGNvbmZpZ3VyYXRpb24gZnJhbWV3b3JrLCBzbyB0aGF0JiMzOTtzIGV4cGVjdGVkLiBBaCwgeWVzLCBsb29raW5nIGF0IHRoZSBjb2RlLCBpdCBsb29rcyBsaWtlIGBNQUM4MDIxMWAgaXMgdGhlIGFjdHVhbCBtb2R1bGUgSSBuZWVkIHRvIGNvbmZpZ3VyZSBhbmQgZW5hYmxlIHRvIG1ha2UgYWxsIG9mIHRoaXMgd29yay4gT2theSwgbm93IHRoYXQgSSBoYXZlIHRoaXMgc29ydGVkIG91dCwgdGltZSB0byBjYWxsIGBzZXQtcmVzdWx0c2AuIEhvcGVmdWxseSwgaXQmIzM5O3MgYWxsIGNvbmZpZ3VyZWQgY29ycmVjdGx5LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE2LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0ODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TUFDODAyMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvJiMzNDssCiAgICAmIzM0O2llZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBzdGF0aW9uIGNhcGFiaWxpdHkgaW5pdGlhbGl6YXRpb24gaW4gSUJTUyBtb2RlIGJ5IHJlcGxhY2luZyBhIGhhcmRjb2RlZCByeF9uc3MgcmVzZXQgd2l0aCBhIGNhbGwgdG8gaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1hYzgwMjExIHN0YWNrIHRoYXQgYWZmZWN0cyBob3cgc3RhdGlvbiBjYXBhYmlsaXRpZXMgYXJlIHBhcnNlZCBhbmQgdXBkYXRlZCB3aGVuIHJlY2VpdmluZyBtYW5hZ2VtZW50IGZyYW1lcy4gSXQgaXMgcmVhY2hhYmxlIHZpYSBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSBsaWtlIG1hYzgwMjExX2h3c2ltIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtNQUM4MDIxMSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2llZWU4MDIxMV91cGRhdGVfc3RhX2luZm8mIzM0OywKICAgICYjMzQ7aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpb24gY2FwYWJpbGl0eSBpbml0aWFsaXphdGlvbiBpbiBJQlNTIG1vZGUgYnkgcmVwbGFjaW5nIGEgaGFyZGNvZGVkIHJ4X25zcyByZXNldCB3aXRoIGEgY2FsbCB0byBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgbWFjODAyMTEgc3RhY2sgdGhhdCBhZmZlY3RzIGhvdyBzdGF0aW9uIGNhcGFiaWxpdGllcyBhcmUgcGFyc2VkIGFuZCB1cGRhdGVkIHdoZW4gcmVjZWl2aW5nIG1hbmFnZW1lbnQgZnJhbWVzLiBJdCBpcyByZWFjaGFibGUgdmlhIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIGxpa2UgbWFjODAyMTFfaHdzaW0gYW5kIHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0NzowNi40MjkxNTIwNzRaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5NDEzMzQ5OTI3NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJNQUM4MDIxMVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9cIixcbiAgICBcImllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpb24gY2FwYWJpbGl0eSBpbml0aWFsaXphdGlvbiBpbiBJQlNTIG1vZGUgYnkgcmVwbGFjaW5nIGEgaGFyZGNvZGVkIHJ4X25zcyByZXNldCB3aXRoIGEgY2FsbCB0byBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgbWFjODAyMTEgc3RhY2sgdGhhdCBhZmZlY3RzIGhvdyBzdGF0aW9uIGNhcGFiaWxpdGllcyBhcmUgcGFyc2VkIGFuZCB1cGRhdGVkIHdoZW4gcmVjZWl2aW5nIG1hbmFnZW1lbnQgZnJhbWVzLiBJdCBpcyByZWFjaGFibGUgdmlhIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIGxpa2UgbWFjODAyMTFfaHdzaW0gYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDA1OjQ3OjA2LjQyOTE1NzA5NFoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTEwNDc1MDA4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNTk5ZGJjZDE1Yjk3Y2UwNDgwOWQwZDU4ZTFjNDU5YjRlNDhmZjFmYVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVHVlIEp1bCA3IDA1OjQ3OjA0IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS9pYnNzLmMgYi9uZXQvbWFjODAyMTEvaWJzcy5jXFxuaW5kZXggZDBmZDYwNTRmMTgyMDAuLjFlNTQxNGVlMjdjMGQxIDEwMDY0NFxcbi0tLSBhL25ldC9tYWM4MDIxMS9pYnNzLmNcXG4rKysgYi9uZXQvbWFjODAyMTEvaWJzcy5jXFxuQEAgLTEwMjksOCArMTAyOSw4IEBAIHN0YXRpYyB2b2lkIGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm8oc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXFxuIFxcdFxcdHUzMiBjaGFuZ2VkID0gSUVFRTgwMjExX1JDX1NVUFBfUkFURVNfQ0hBTkdFRDtcXG4gXFx0XFx0dTggcnhfbnNzID0gc3RhLVxcdTAwM2VzdGEuZGVmbGluay5yeF9uc3M7XFxuIFxcbi1cXHRcXHQvKiBGb3JjZSByeF9uc3MgcmVjYWxjdWxhdGlvbiAqL1xcbi1cXHRcXHRzdGEtXFx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcyA9IDA7XFxuK1xcdFxcdGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYShcXHUwMDI2c3RhLVxcdTAwM2VkZWZsaW5rLFxcbitcXHRcXHRcXHRcXHRcXHQgICAgICAgXFx1MDAyNnNkYXRhLVxcdTAwM2VkZWZsaW5rLmNvbmYtXFx1MDAzZWNoYW5yZXEub3Blcik7XFxuIFxcdFxcdHJhdGVfY29udHJvbF9yYXRlX2luaXQoXFx1MDAyNnN0YS1cXHUwMDNlZGVmbGluayk7XFxuIFxcdFxcdGlmIChzdGEtXFx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcyAhPSByeF9uc3MpXFxuIFxcdFxcdFxcdGNoYW5nZWQgfD0gSUVFRTgwMjExX1JDX05TU19DSEFOR0VEO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0NzowNi45NDAzNTEzNDJaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjkzNjIyMjkyMTQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk1BQzgwMjExXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb1wiLFxuICAgIFwiaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgc3RhdGlvbiBjYXBhYmlsaXR5IGluaXRpYWxpemF0aW9uIGluIElCU1MgbW9kZSBieSByZXBsYWNpbmcgYSBoYXJkY29kZWQgcnhfbnNzIHJlc2V0IHdpdGggYSBjYWxsIHRvIGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBtYWM4MDIxMSBzdGFjayB0aGF0IGFmZmVjdHMgaG93IHN0YXRpb24gY2FwYWJpbGl0aWVzIGFyZSBwYXJzZWQgYW5kIHVwZGF0ZWQgd2hlbiByZWNlaXZpbmcgbWFuYWdlbWVudCBmcmFtZXMuIEl0IGlzIHJlYWNoYWJsZSB2aWEgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgbGlrZSBtYWM4MDIxMV9od3NpbSBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA1OTlkYmNkMTViOTdjZTA0ODA5ZDBkNThlMWM0NTliNGU0OGZmMWZhXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdWwgNyAwNTo0NzowNCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS9pYnNzLmMgYi9uZXQvbWFjODAyMTEvaWJzcy5jXG5pbmRleCBkMGZkNjA1NGYxODIwMC4uMWU1NDE0ZWUyN2MwZDEgMTAwNjQ0XG4tLS0gYS9uZXQvbWFjODAyMTEvaWJzcy5jXG4rKysgYi9uZXQvbWFjODAyMTEvaWJzcy5jXG5AQCAtMTAyOSw4ICsxMDI5LDggQEAgc3RhdGljIHZvaWQgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSxcbiBcdFx0dTMyIGNoYW5nZWQgPSBJRUVFODAyMTFfUkNfU1VQUF9SQVRFU19DSEFOR0VEO1xuIFx0XHR1OCByeF9uc3MgPSBzdGEtXHUwMDNlc3RhLmRlZmxpbmsucnhfbnNzO1xuIFxuLVx0XHQvKiBGb3JjZSByeF9uc3MgcmVjYWxjdWxhdGlvbiAqL1xuLVx0XHRzdGEtXHUwMDNlc3RhLmRlZmxpbmsucnhfbnNzID0gMDtcbitcdFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKFx1MDAyNnN0YS1cdTAwM2VkZWZsaW5rLFxuK1x0XHRcdFx0XHQgICAgICAgXHUwMDI2c2RhdGEtXHUwMDNlZGVmbGluay5jb25mLVx1MDAzZWNoYW5yZXEub3Blcik7XG4gXHRcdHJhdGVfY29udHJvbF9yYXRlX2luaXQoXHUwMDI2c3RhLVx1MDAzZWRlZmxpbmspO1xuIFx0XHRpZiAoc3RhLVx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcyAhPSByeF9uc3MpXG4gXHRcdFx0Y2hhbmdlZCB8PSBJRUVFODAyMTFfUkNfTlNTX0NIQU5HRUQ7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0NzowNi45NDAzNTI4OTJaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMzk4MDk0MDc0MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIElCU1MgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgbmV0L21hYzgwMjExL2lic3MuY2AuIFNlZW1zIGxpa2Ugc29tZW9uZSdzIG1hZGUgYSBjaGFuZ2UgdG8gdGhlIGBpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvYCBmdW5jdGlvbiwgd2hpY2ggaXMgYWx3YXlzIGludGVyZXN0aW5nLiBTcGVjaWZpY2FsbHksIGl0IGxvb2tzIGxpa2UgdGhleSd2ZSByZW1vdmVkIGEgbGluZSB0aGF0IHdhcyBleHBsaWNpdGx5IHJlc2V0dGluZyBgc3RhLVx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zc2AgdG8gMC4gSG1tLCB0aGF0J3MgYSBiaXQgZGlyZWN0LCBhbmQgSSdkIGxpa2UgdG8gdW5kZXJzdGFuZCB0aGUgcmVhc29uaW5nLlxuXG5UaGV5J3ZlIHJlcGxhY2VkIHRoYXQgcmVzZXQgd2l0aCBhIGNhbGwgdG8gYGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYWAsIHBhc3NpbmcgaW4gYFx1MDAyNnN0YS1cdTAwM2VkZWZsaW5rYCBhbmQgdGhlIG9wZXJhdGlvbmFsIGNoYW5uZWwgcmVxdWVzdCBpbmZvcm1hdGlvbiBgXHUwMDI2c2RhdGEtXHUwMDNlZGVmbGluay5jb25mLVx1MDAzZWNoYW5yZXEub3BlcmAuICBTbywgaW5zdGVhZCBvZiBqdXN0IGZvcmNpbmcgdGhlIGByeF9uc3NgIHRvIHplcm8sIHRoZXkncmUgbm93IGNhbGxpbmcgYSBmdW5jdGlvbiB0byBpbml0aWFsaXplIHRoZSBOU1MgKE51bWJlciBvZiBTcGF0aWFsIFN0cmVhbXMpIGFuZCBiYW5kd2lkdGggY2FwYWJpbGl0aWVzIG9mIHRoZSBzdGF0aW9uJ3MgZGVmbGluaywgbGlrZWx5IGJhc2VkIG9uIHRoZSBjdXJyZW50IG9wZXJhdGlvbmFsIGNoYW5uZWwuIFRoYXQgbWFrZXMgc2Vuc2U7IGl0J3MgbW9yZSBkeW5hbWljLlxuXG5JJ2xsIG5lZWQgdG8gZGlnIGludG8gYG5ldC9tYWM4MDIxMS9pYnNzLmNgIHRvIGZ1bGx5IHVuZGVyc3RhbmQgdGhlIGNvbnRleHQuIEknbGwgYWxzbyB3YW50IHRvIHJldmlldyB0aGUgY29kZSBmb3IgYGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9gIGl0c2VsZi4gVGhpcyBtZWFucyBsb29raW5nIGF0IGhvdyB0aGUgZnVuY3Rpb24gaXMgdXNlZCBhbmQgd2hhdCBvdGhlciBkYXRhIGl0IHVwZGF0ZXMuIEl04oCZcyBpbXBvcnRhbnQgdG8gdW5kZXJzdGFuZCB0aGUgZmxvdyBoZXJlLiBJJ20gZXNwZWNpYWxseSBpbnRlcmVzdGVkIGluIGhvdyB0aGUgb3BlcmF0aW9uYWwgY2hhbm5lbCBpbmZvcm1hdGlvbiBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHN0YXRpb24gZGF0YSB0byBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgTlNTLlxuXG5UaGlzIGNvdWxkIGJlIGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uLCBhIGJ1ZyBmaXgsIG9yIGV2ZW4gYSBmZWF0dXJlIGFkZGl0aW9uIHJlbGF0ZWQgdG8gbW9yZSBpbnRlbGxpZ2VudCBiYW5kd2lkdGggbWFuYWdlbWVudCBpbiBJQlNTIG1vZGUuIEkgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSBvcmlnaW5hbCBwcm9ibGVtIHRoZSBwYXRjaCBpcyB0cnlpbmcgdG8gc29sdmUsIGFuZCBldmFsdWF0ZSB0aGUgZWZmZWN0cyBvZiB0aGUgYGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYWAgY2FsbCBpbiB0aGlzIGZ1bmN0aW9uLiBUaGlzIGluaXRpYWxpemF0aW9uIGlzIGxpa2VseSB0byBiZSBhIGNvbXBsZXggZnVuY3Rpb24sIGFuZCBJJ2xsIG5lZWQgdG8gcmVhZCB0aGlzIG9uZSBjYXJlZnVsbHkuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE5NTksIk91dHB1dFRva2VucyI6NDYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjYsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0NzoyMC45MjEyOTY0NDRaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTg2NzI4NDMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvbWFjODAyMTEvaWJzcy5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9tYWM4MDIxMS9pYnNzLmM9ODk0PXN0YXRpYyB2b2lkIGllZWU4MDIxMV9yeF9tZ210X2F1dGhfaWJzcyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSxcXG4tLVxcbm5ldC9tYWM4MDIxMS9pYnNzLmMtOTI0LVxcbm5ldC9tYWM4MDIxMS9pYnNzLmM6OTI1OnN0YXRpYyB2b2lkIGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm8oc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXFxubmV0L21hYzgwMjExL2lic3MuYy05MjYtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGllZWU4MDIxMV9tZ210ICptZ210LCBzaXplX3QgbGVuLFxcbi0tXFxubmV0L21hYzgwMjExL2lic3MuYz0xMDQ1PXN0YXRpYyB2b2lkIGllZWU4MDIxMV9yeF9ic3NfaW5mbyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSxcXG4tLVxcbm5ldC9tYWM4MDIxMS9pYnNzLmMtMTA2MS1cXG5uZXQvbWFjODAyMTEvaWJzcy5jOjEwNjI6XFx0aWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzZGF0YSwgbWdtdCwgbGVuLCByeF9zdGF0dXMsIGVsZW1zLCBjaGFubmVsKTtcXG5uZXQvbWFjODAyMTEvaWJzcy5jLTEwNjMtXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDA1OjQ3OjIwLjk3OTk3NDUxN1oiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ5NjMwMDQ2MTcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGxldCdzIGJyZWFrIHRoaXMgZG93bi5cblxuKipEaXZpbmcgaW50byB0aGUgODAyLjExIFN0YWNrKipcblxuUmlnaHQsIHNvIHRoZSBpc3N1ZSBJJ20gbG9va2luZyBpbnRvIHNlZW1zIHRvIGJlIHJvb3RlZCBpbiBgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb2AuIFRoYXQgZnVuY3Rpb24gZ2V0cyBjYWxsZWQgYnkgYGllZWU4MDIxMV9yeF9ic3NfaW5mb2AuICBUaGF0J3MgYSBwcmV0dHkgY2xlYXIgaW5kaWNhdG9yIGl0J3MgcHJvYmFibHkgcmVsYXRlZCB0byByZWNlaXZpbmcgYW5kIHByb2Nlc3NpbmcgaW5mb3JtYXRpb24gYWJvdXQgc3RhdGlvbnMsIHByZXN1bWFibHkgd2l0aGluIGEgQlNTLiAgSXQncyBzb2xpZCwgZnVuY3Rpb25hbCBjb2RlIHdpdGhpbiB0aGUgYG1hYzgwMjExYCBmcmFtZXdvcmsuIEdvb2QuIEFuZCBpdCdzIHJlYWNoYWJsZSB0aHJvdWdoIGBtYWM4MDIxMV9od3NpbWAsIHdoaWNoIGlzIGhlbHBmdWwgZm9yIHRlc3RpbmcgYW5kIHNpbXVsYXRpb24uIFRoYXQgbmFycm93cyBkb3duIG15IGZvY3VzIGNvbnNpZGVyYWJseS4gTm93LCBteSBuZXh0IG1vdmUgaXMgdG8gbG9jYXRlIHRoZSBjb25maWd1cmF0aW9uIHNwZWNpZmljcyBmb3IgYG1hYzgwMjExYC4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaXRzIHNldHVwIHRvIGdyYXNwIGhvdyB0aGlzIHNwZWNpZmljIHBhcnQgb2YgdGhlIGNvZGUgYmVoYXZlcyB3aXRoaW4gdGhlIGJyb2FkZXIgc3lzdGVtLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyOTQ3LCJPdXRwdXRUb2tlbnMiOjM3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NzgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMDU6NDc6MjUuOTQyOTgwODU0WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU1NTA1NTY0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIk1BQzgwMjExXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9tYWM4MDIxMS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9tYWM4MDIxMS9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxubmV0L21hYzgwMjExL0tjb25maWc6Mjpjb25maWcgTUFDODAyMTFcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zLVxcdHRyaXN0YXRlIFxcXCJHZW5lcmljIElFRUUgODAyLjExIE5ldHdvcmtpbmcgU3RhY2sgKG1hYzgwMjExKVxcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2OmNvbW1lbnQgXFxcIkNGRzgwMjExIG5lZWRzIHRvIGJlIGVuYWJsZWQgZm9yIE1BQzgwMjExXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE3LVxcdGRlcGVuZHMgb24gQ0ZHODAyMTE9blxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5OmlmIE1BQzgwMjExICE9IG5cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMC1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMTpjb25maWcgTUFDODAyMTFfSEFTX1JDXFxubmV0L21hYzgwMjExL0tjb25maWctMjItXFx0Ym9vbFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI0OmNvbmZpZyBNQUM4MDIxMV9SQ19NSU5TVFJFTFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI1LVxcdGJvb2wgXFxcIk1pbnN0cmVsXFxcIiBpZiBFWFBFUlRcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNjpcXHRzZWxlY3QgTUFDODAyMTFfSEFTX1JDXFxubmV0L21hYzgwMjExL0tjb25maWctMjctXFx0ZGVmYXVsdCB5XFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz0zMT1jaG9pY2VcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zMi1cXHRwcm9tcHQgXFxcIkRlZmF1bHQgcmF0ZSBjb250cm9sIGFsZ29yaXRobVxcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzozMzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0hBU19SQ1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjM0OlxcdGRlZmF1bHQgTUFDODAyMTFfUkNfREVGQVVMVF9NSU5TVFJFTFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTM1LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQxOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMXFxubmV0L21hYzgwMjExL0tjb25maWctNDItXFx0Ym9vbCBcXFwiTWluc3RyZWxcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6NDM6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9SQ19NSU5TVFJFTFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQ0LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnPTQ4PWVuZGNob2ljZVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQ5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjUwOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUXFxubmV0L21hYzgwMjExL0tjb25maWctNTEtXFx0c3RyaW5nXFxubmV0L21hYzgwMjExL0tjb25maWc6NTI6XFx0ZGVmYXVsdCBcXFwibWluc3RyZWxfaHRcXFwiIGlmIE1BQzgwMjExX1JDX0RFRkFVTFRfTUlOU1RSRUxcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy01My1cXHRkZWZhdWx0IFxcXCJcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz01Nz1jb21tZW50IFxcXCJTb21lIHdpcmVsZXNzIGRyaXZlcnMgcmVxdWlyZSBhIHJhdGUgY29udHJvbCBhbGdvcml0aG1cXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6NTg6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMSBcXHUwMDI2XFx1MDAyNiBNQUM4MDIxMV9IQVNfUkM9blxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTU5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjYwOmNvbmZpZyBNQUM4MDIxMV9LVU5JVF9URVNUXFxubmV0L21hYzgwMjExL0tjb25maWctNjEtXFx0dHJpc3RhdGUgXFxcIktVbml0IHRlc3RzIGZvciBtYWM4MDIxMVxcXCIgaWYgIUtVTklUX0FMTF9URVNUU1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTYyLVxcdGRlcGVuZHMgb24gS1VOSVRcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExXFxubmV0L21hYzgwMjExL0tjb25maWctNjQtXFx0ZGVmYXVsdCBLVU5JVF9BTExfVEVTVFNcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTY5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjcwOmNvbmZpZyBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctNzEtXFx0Ym9vbCBcXFwiRW5hYmxlIG1hYzgwMjExIG1lc2ggbmV0d29ya2luZyBzdXBwb3J0XFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjcyOlxcdGRlcGVuZHMgb24gTUFDODAyMTFcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03My1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03OC1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo3OTpjb25maWcgTUFDODAyMTFfTEVEU1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTgwLVxcdGJvb2wgXFxcIkVuYWJsZSBMRUQgdHJpZ2dlcnNcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6ODE6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjgyOlxcdGRlcGVuZHMgb24gTEVEU19DTEFTUz15IHx8IExFRFNfQ0xBU1M9TUFDODAyMTFcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy04My1cXHRzZWxlY3QgTEVEU19UUklHR0VSU1xcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctODctXFxubmV0L21hYzgwMjExL0tjb25maWc6ODg6Y29uZmlnIE1BQzgwMjExX0RFQlVHRlNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy04OS1cXHRib29sIFxcXCJFeHBvcnQgbWFjODAyMTEgaW50ZXJuYWxzIGluIERlYnVnRlNcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6OTA6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMSBcXHUwMDI2XFx1MDAyNiBDRkc4MDIxMV9ERUJVR0ZTXFxubmV0L21hYzgwMjExL0tjb25maWctOTEtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctOTYtXFxubmV0L21hYzgwMjExL0tjb25maWc6OTc6Y29uZmlnIE1BQzgwMjExX01FU1NBR0VfVFJBQ0lOR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTk4LVxcdGJvb2wgXFxcIlRyYWNlIGFsbCBtYWM4MDIxMSBkZWJ1ZyBtZXNzYWdlc1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5OTpcXHRkZXBlbmRzIG9uIE1BQzgwMjExIFxcdTAwMjZcXHUwMDI2IFRSQUNJTkdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMDAtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTA5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExMDptZW51Y29uZmlnIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTEtXFx0Ym9vbCBcXFwiU2VsZWN0IG1hYzgwMjExIGRlYnVnZ2luZyBmZWF0dXJlc1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTI6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExMy1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTUtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTE2OmNvbmZpZyBNQUM4MDIxMV9OT0lOTElORVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExNy1cXHRib29sIFxcXCJEbyBub3QgaW5saW5lIFRYL1JYIGhhbmRsZXJzXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExODpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTktXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTMxLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzMjpjb25maWcgTUFDODAyMTFfVkVSQk9TRV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzMy1cXHRib29sIFxcXCJWZXJib3NlIGRlYnVnZ2luZyBvdXRwdXRcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTM0OlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzNS1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNDItXFxubmV0L21hYzgwMjExL0tjb25maWc6MTQzOmNvbmZpZyBNQUM4MDIxMV9NTE1FX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMTQ0LVxcdGJvb2wgXFxcIlZlcmJvc2UgbWFuYWdlZCBNTE1FIG91dHB1dFxcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxNDU6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXFxubmV0L21hYzgwMjExL0tjb25maWctMTQ2LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1My1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxNTQ6Y29uZmlnIE1BQzgwMjExX1NUQV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1NS1cXHRib29sIFxcXCJWZXJib3NlIHN0YXRpb24gZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NjpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNTctXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTYyLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2Mzpjb25maWcgTUFDODAyMTFfSFRfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNjQtXFx0Ym9vbCBcXFwiVmVyYm9zZSBIVCBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTY1OlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE2Ni1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzQtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTc1OmNvbmZpZyBNQUM4MDIxMV9PQ0JfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzYtXFx0Ym9vbCBcXFwiVmVyYm9zZSBPQ0IgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE3NzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzgtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTg1LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4Njpjb25maWcgTUFDODAyMTFfSUJTU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4Ny1cXHRib29sIFxcXCJWZXJib3NlIElCU1MgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4ODpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xODktXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTk2LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5Nzpjb25maWcgTUFDODAyMTFfUFNfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xOTgtXFx0Ym9vbCBcXFwiVmVyYm9zZSBwb3dlcnNhdmUgbW9kZSBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTk5OlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIwMC1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMDgtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjA5OmNvbmZpZyBNQUM4MDIxMV9NUExfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTAtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBlZXIgbGluayBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MjExOlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIxMjpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX01FU0hcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTMtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjIxLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyMjpjb25maWcgTUFDODAyMTFfTVBBVEhfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMjMtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBhdGggZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyNDpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMjU6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctMjI2LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNC1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMzU6Y29uZmlnIE1BQzgwMjExX01IV01QX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMjM2LVxcdGJvb2wgXFxcIlZlcmJvc2UgbWVzaCBIV01QIHJvdXRpbmcgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMzg6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctMjM5LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0Ny1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNDg6Y29uZmlnIE1BQzgwMjExX01FU0hfU1lOQ19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0OS1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggc3luY2hyb25pemF0aW9uIGRlYnVnZ2luZ1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNTA6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXFxubmV0L21hYzgwMjExL0tjb25maWc6MjUxOlxcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI1Mi1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNTgtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjU5OmNvbmZpZyBNQUM4MDIxMV9NRVNIX0NTQV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2MC1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggY2hhbm5lbCBzd2l0Y2ggZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI2MTpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNjI6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctMjYzLVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2OS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNzA6Y29uZmlnIE1BQzgwMjExX01FU0hfUFNfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNzEtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBvd2Vyc2F2ZSBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MjcyOlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI3MzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX01FU0hcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNzQtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjgwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MTpjb25maWcgTUFDODAyMTFfVERMU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4Mi1cXHRib29sIFxcXCJWZXJib3NlIFRETFMgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODQtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjkyLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5Mzpjb25maWcgTUFDODAyMTFfREVCVUdfQ09VTlRFUlNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yOTQtXFx0Ym9vbCBcXFwiRXh0cmEgc3RhdGlzdGljcyBmb3IgVFgvUlggZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5NTpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyOTY6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR0ZTXFxubmV0L21hYzgwMjExL0tjb25maWctMjk3LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMwNy1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzozMDg6Y29uZmlnIE1BQzgwMjExX1NUQV9IQVNIX01BWF9TSVpFXFxubmV0L21hYzgwMjExL0tjb25maWc6MzA5OlxcdGludCBcXFwiU3RhdGlvbiBoYXNoIHRhYmxlIG1heGltdW0gc2l6ZVxcXCIgaWYgTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMxMC1cXHRkZWZhdWx0IDBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMDU6NDc6MjUuOTk4NDkxMDE4WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzcwODQwNzMxNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIElCU1MgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIGNvbmZpZywgYE1BQzgwMjExYC4gVGhhdCBpbW1lZGlhdGVseSB0ZWxscyBtZSB3ZSdyZSBkZWFsaW5nIHdpdGggdGhlIGNvcmUgd2lyZWxlc3MgbmV0d29ya2luZyBzdGFjaywgd2hpY2ggaXMgZ29vZCB0byBrbm93LiBUaGUgcGF0Y2ggaXRzZWxmIGlzIGxvY2F0ZWQgaW4gYG5ldC9tYWM4MDIxMS9pYnNzLmNgLCBzbyB3ZSdyZSBzcGVjaWZpY2FsbHkgdGFsa2luZyBhYm91dCBJQlNTLCBvciBBZC1Ib2MgbW9kZSBmdW5jdGlvbmFsaXR5IHdpdGhpbiBgbWFjODAyMTFgLiBOb3csIG15IGluaXRpYWwgdGhvdWdodCBpcywgXCJpcyB0aGVyZSBhIHNlcGFyYXRlIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGp1c3QgZm9yIElCU1MsIHdpdGhpbiB0aGF0IGxhcmdlciBgbWFjODAyMTFgIGNvbnRleHQ/XCIgSSBzaG91bGQgcHJvYmFibHkgY29uZmlybSB3aGV0aGVyIHRoZXJlJ3MgYSBkZWRpY2F0ZWQgSUJTUyBjb25maWcgb3B0aW9uIG9yIGlmIGl0J3MgaW1wbGljaXRseSBlbmFibGVkIG9yIGRpc2FibGVkIGJhc2VkIG9uIG90aGVyIHNldHRpbmdzLiBCZXN0IHdheSB0byBjaGVjayB0aGF0IGlzIHRvIGp1bXAgb3ZlciB0byB0aGUgYG5ldC9tYWM4MDIxMS9NYWtlZmlsZWAgYW5kIHNlZSBob3cgdGhleSBoYW5kbGUgdGhlIGJ1aWxkIGNvbmZpZ3VyYXRpb25zIHJlbGF0ZWQgdG8gSUJTUy4gTGV0J3Mgc2VlIHdoYXQncyBpbiB0aGVyZS5cblxuXG4iLCJJbnB1dFRva2VucyI6NzE3NywiT3V0cHV0VG9rZW5zIjozMiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjczLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDA1OjQ3OjI5LjcwNjkwMDQ5NVoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NjMxMTA4NSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJpYnNzXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9tYWM4MDIxMS9NYWtlZmlsZVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvbWFjODAyMTEvTWFrZWZpbGU9NT1tYWM4MDIxMS15IDo9IFxcXFxcXG4tLVxcbm5ldC9tYWM4MDIxMS9NYWtlZmlsZS0xNi1cXHRzMWcubyBcXFxcXFxubmV0L21hYzgwMjExL01ha2VmaWxlOjE3OlxcdGlic3MubyBcXFxcXFxubmV0L21hYzgwMjExL01ha2VmaWxlLTE4LVxcdGlmYWNlLm8gXFxcXFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0NzoyOS43NjMyMTY5NDlaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3NDU1MjgxMDYyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIG15IG93biBtZW50YWwgcHJvY2Vzc2luZzpcblxuKipBbmFseXppbmcgdGhlIERlcGVuZGVuY3kgb2YgYGlic3Mub2AqKlxuXG5SaWdodCwgc28sIGlmIEkgdW5kZXJzdGFuZCB0aGlzIGNvcnJlY3RseSwgYGlic3Mub2AgaXMgZXNzZW50aWFsbHkgYWx3YXlzIGdvaW5nIHRvIGJlIGJ1aWx0IGFzIGxvbmcgYXMgYE1BQzgwMjExYCBpcyBlbmFibGVkLiBUaGF0IHNpbXBsaWZpZXMgdGhpbmdzLCBkb2Vzbid0IGl0PyBNZWFuaW5nLCBpZiBJIHNlZSBgTUFDODAyMTFgIGVuYWJsZWQsIEkgY2FuIGJlIHByZXR0eSBjZXJ0YWluIGBpYnNzLm9gIGlzIHRoZXJlIGFzIHdlbGwg4oCTIG5vIGZ1cnRoZXIgY2hlY2tzIG5lZWRlZCBvbiB0aGF0IGZyb250LiBJdCdzIGEgZGlyZWN0IGRlcGVuZGVuY3ksIHdoaWNoIGlzIGdvb2QgdG8ga25vdyBmb3IgYnVpbGQgY29uZmlndXJhdGlvbnMuXG5cbk5vdywgSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCBgaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhYCBhY3R1YWxseSAqZG9lcyouIEkgZG9uJ3QgcmVjYWxsIGl0IG9mZiB0aGUgdG9wIG9mIG15IGhlYWQsIGFuZCBJJ2QgbGlrZSB0byBxdWlja2x5IGRldGVybWluZSB3aGV0aGVyIGl0J3Mgc29tZXRoaW5nIHRoYXQgZ2V0cyBjYWxsZWQgZnJlcXVlbnRseSwgb3IgaWYgaXQncyBtb3JlIG9mIGFuIGluaXRpYWxpemF0aW9uIHJvdXRpbmUuIElzIGl0IGluIGEgcGVyZm9ybWFuY2UtY3JpdGljYWwgcGF0aD8gSXMgaXQganVzdCBzZXR0aW5nIHVwIHNvbWUgc3RhdGlvbiBjYXBhYmlsaXRpZXMgb3IgZG9pbmcgc29tZXRoaW5nIG1vcmUgaW52b2x2ZWQ/IEknbGwgY2hlY2sgaXRzIGRlZmluaXRpb24gdG8gZ2V0IGEgYmV0dGVyIHNlbnNlIG9mIGl0cyByb2xlLiBUaGF0IHdpbGwgZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IGl0J3Mgc29tZXRoaW5nIEkgbmVlZCB0byBrZWVwIGFuIGV5ZSBvbiB3aGVuIGxvb2tpbmcgYXQgb3ZlcmFsbCBzeXN0ZW0gcGVyZm9ybWFuY2Ugb3Igd2hlbiBkZWJ1Z2dpbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjc1ODYsIk91dHB1dFRva2VucyI6NDgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3NiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0NzozNy4yMTg1MDAxMjFaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU4OTU2Mzg0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvbWFjODAyMTEvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9tYWM4MDIxMS9jZmcuYz0yMjYwPXN0YXRpYyBpbnQgc3RhX2xpbmtfYXBwbHlfcGFyYW1ldGVycyhzdHJ1Y3QgaWVlZTgwMjExX2xvY2FsICpsb2NhbCxcXG4tLVxcbm5ldC9tYWM4MDIxMS9jZmcuYy0yNDE4LVxcdGRlZmF1bHQ6XFxubmV0L21hYzgwMjExL2NmZy5jOjI0MTk6XFx0XFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKGxpbmtfc3RhLCBcXHUwMDI2bGluay1cXHUwMDNlY29uZi1cXHUwMDNlY2hhbnJlcS5vcGVyKTtcXG5uZXQvbWFjODAyMTEvY2ZnLmMtMjQyMC1cXHRcXHRicmVhaztcXG4tLVxcbm5ldC9tYWM4MDIxMS9pYnNzLmM9NTM4PXN0YXRpYyBzdHJ1Y3Qgc3RhX2luZm8gKmllZWU4MDIxMV9pYnNzX2ZpbmlzaF9zdGEoc3RydWN0IHN0YV9pbmZvICpzdGEpXFxuLS1cXG5uZXQvbWFjODAyMTEvaWJzcy5jLTU0NS1cXG5uZXQvbWFjODAyMTEvaWJzcy5jOjU0NjpcXHRpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoXFx1MDAyNnN0YS1cXHUwMDNlZGVmbGluayxcXG5uZXQvbWFjODAyMTEvaWJzcy5jLTU0Ny1cXHRcXHRcXHRcXHQgICAgICAgXFx1MDAyNnNkYXRhLVxcdTAwM2VkZWZsaW5rLmNvbmYtXFx1MDAzZWNoYW5yZXEub3Blcik7XFxuLS1cXG5uZXQvbWFjODAyMTEvaWJzcy5jPTkyNT1zdGF0aWMgdm9pZCBpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxcbi0tXFxubmV0L21hYzgwMjExL2lic3MuYy0xMDMxLVxcbm5ldC9tYWM4MDIxMS9pYnNzLmM6MTAzMjpcXHRcXHRpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoXFx1MDAyNnN0YS1cXHUwMDNlZGVmbGluayxcXG5uZXQvbWFjODAyMTEvaWJzcy5jLTEwMzMtXFx0XFx0XFx0XFx0XFx0ICAgICAgIFxcdTAwMjZzZGF0YS1cXHUwMDNlZGVmbGluay5jb25mLVxcdTAwM2VjaGFucmVxLm9wZXIpO1xcbi0tXFxubmV0L21hYzgwMjExL21lc2hfcGxpbmsuYz00MjM9c3RhdGljIHZvaWQgbWVzaF9zdGFfaW5mb19pbml0KHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxcbi0tXFxubmV0L21hYzgwMjExL21lc2hfcGxpbmsuYy00NzAtXFxubmV0L21hYzgwMjExL21lc2hfcGxpbmsuYzo0NzE6XFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKFxcdTAwMjZzdGEtXFx1MDAzZWRlZmxpbmssXFxubmV0L21hYzgwMjExL21lc2hfcGxpbmsuYy00NzItXFx0XFx0XFx0XFx0ICAgICAgIFxcdTAwMjZzZGF0YS1cXHUwMDNlZGVmbGluay5jb25mLVxcdTAwM2VjaGFucmVxLm9wZXIpO1xcbi0tXFxubmV0L21hYzgwMjExL21sbWUuYz01ODQ2PXN0YXRpYyBib29sIGllZWU4MDIxMV9hc3NvY19jb25maWdfbGluayhzdHJ1Y3QgaWVlZTgwMjExX2xpbmtfZGF0YSAqbGluayxcXG4tLVxcbm5ldC9tYWM4MDIxMS9tbG1lLmMtNjIzNi1cXG5uZXQvbWFjODAyMTEvbWxtZS5jOjYyMzc6XFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKGxpbmtfc3RhLCBcXHUwMDI2YnNzX2NvbmYtXFx1MDAzZWNoYW5yZXEub3Blcik7XFxubmV0L21hYzgwMjExL21sbWUuYy02MjM4LVxcbi0tXFxubmV0L21hYzgwMjExL29jYi5jPTg3PXN0YXRpYyBzdHJ1Y3Qgc3RhX2luZm8gKmllZWU4MDIxMV9vY2JfZmluaXNoX3N0YShzdHJ1Y3Qgc3RhX2luZm8gKnN0YSlcXG4tLVxcbm5ldC9tYWM4MDIxMS9vY2IuYy05NC1cXG5uZXQvbWFjODAyMTEvb2NiLmM6OTU6XFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKFxcdTAwMjZzdGEtXFx1MDAzZWRlZmxpbmssXFxubmV0L21hYzgwMjExL29jYi5jLTk2LVxcdFxcdFxcdFxcdCAgICAgICBcXHUwMDI2c2RhdGEtXFx1MDAzZWRlZmxpbmsuY29uZi1cXHUwMDNlY2hhbnJlcS5vcGVyKTtcXG4tLVxcbm5ldC9tYWM4MDIxMS9zdGFfaW5mby5jPTM0NTM9c3RhdGljIHU4IGllZWU4MDIxMV9zdGFfbnNzX2NhcGFiaWxpdHkoc3RydWN0IGxpbmtfc3RhX2luZm8gKmxpbmtfc3RhKVxcbi0tXFxubmV0L21hYzgwMjExL3N0YV9pbmZvLmMtMzUzOS1cXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uYzozNTQwOnZvaWQgaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKHN0cnVjdCBsaW5rX3N0YV9pbmZvICpsaW5rX3N0YSxcXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uYy0zNTQxLVxcdFxcdFxcdFxcdCAgICBzdHJ1Y3QgY2ZnODAyMTFfY2hhbl9kZWYgKmNoYW5kZWYpXFxuLS1cXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uaD0xMDA5PXVuc2lnbmVkIGxvbmcgaWVlZTgwMjExX3N0YV9sYXN0X2FjdGl2ZShzdHJ1Y3Qgc3RhX2luZm8gKnN0YSwgaW50IGxpbmtfaWQpO1xcbm5ldC9tYWM4MDIxMS9zdGFfaW5mby5oLTEwMTAtXFxubmV0L21hYzgwMjExL3N0YV9pbmZvLmg6MTAxMTp2b2lkIGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYShzdHJ1Y3QgbGlua19zdGFfaW5mbyAqbGlua19zdGEsXFxubmV0L21hYzgwMjExL3N0YV9pbmZvLmgtMTAxMi1cXHRcXHRcXHRcXHQgICAgc3RydWN0IGNmZzgwMjExX2NoYW5fZGVmICpjaGFuZGVmKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMDU6NDc6MzcuMjc3NDYxMTY0WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUzNzI0NDMxNzIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRnV6emluZyBUYXJnZXQgSWRlbnRpZmljYXRpb24qKlxuXG5Pa2F5LCBzbyBJJ3ZlIHNwb3R0ZWQgYSBwb3RlbnRpYWwgdnVsbmVyYWJpbGl0eSBpbiBgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb2AsIHNwZWNpZmljYWxseSB3aXRoaW4gdGhlIElCU1MgbW9kZSBvZiB0aGUgTUFDODAyMTEgc3RhY2suIEl0IGxvb2tzIGxpa2UgYSByZWNlbnQgcGF0Y2ggY2hhbmdlZCBob3cgdGhlIHJlY2VpdmUgc3BhdGlhbCBzdHJlYW0gYW5kIGJhbmR3aWR0aCBjYXBhYmlsaXRpZXMgYXJlIGluaXRpYWxpemVkLiBJbnN0ZWFkIG9mIGp1c3Qgc2V0dGluZyBgc3RhLVx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcyA9IDBgLCBpdCBub3cgY2FsbHMgYGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYShcdTAwMjZzdGEtXHUwMDNlZGVmbGluaywgXHUwMDI2c2RhdGEtXHUwMDNlZGVmbGluay5jb25mLVx1MDAzZWNoYW5yZXEub3Blcik7YC4gVGhpcyBpcyBhIGNsZWFyIGZ1bmN0aW9uYWwgY2hhbmdlLCBzbyBpdCdzIGEgcHJpbWUgY2FuZGlkYXRlIGZvciBmdXp6aW5nLlxuXG5NeSBwcmltYXJ5IGZvY3VzIHdpbGwgYmUgb24gdGhlIGBpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvYCBmdW5jdGlvbiBpdHNlbGYgYW5kIGFsc28gdGhlIGBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGFgIGZ1bmN0aW9uLiBJIHRoaW5rIHRoZXNlIGFyZSB0aGUga2V5IHN5bWJvbHMgdG8gdGFyZ2V0LlxuXG5UaGUgb2J2aW91cyBjb25maWcgdG8gZW5hYmxlIGlzIGBNQUM4MDIxMWAsIGdpdmVuIHRoYXQncyB0aGUgYXJlYSBpbnZvbHZlZCwgYnV0IGl0IHdvdWxkIGJlIHdpc2UgdG8gZG91YmxlLWNoZWNrIGlmIEkgbmVlZCB0byBlbmFibGUgYW55dGhpbmcgZWxzZSB0byBmdWxseSBleGVyY2lzZSB0aGlzIGNvZGUgcGF0aC4gTGV0J3MgbWFrZSBzdXJlIG5vdGhpbmcgZWxzZSBpcyByZWxldmFudC4gUmlnaHQsIGl0J3MgZGVmaW5lZCBpbiBgbmV0L21hYzgwMjExL2lic3MuY2AsIHNvIEkgc2hvdWxkIGJlIGdvb2QuIFRpbWUgdG8gZGl2ZSBpbnRvIHRoZSBjb2RlIGFuZCBzdGFydCBkZXZpc2luZyBzb21lIGludGVyZXN0aW5nIHRlc3QgY2FzZXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjkyMzAsIk91dHB1dFRva2VucyI6NDYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNTEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMDU6NDc6NDIuNjQ5OTA2NTY2WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NjEzNjUxNSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9tYWM4MDIxMS9pYnNzLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L21hYzgwMjExL2lic3MuYz04OTQ9c3RhdGljIHZvaWQgaWVlZTgwMjExX3J4X21nbXRfYXV0aF9pYnNzKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxcbi0tXFxubmV0L21hYzgwMjExL2lic3MuYy05MjQtXFxubmV0L21hYzgwMjExL2lic3MuYzo5MjU6c3RhdGljIHZvaWQgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSxcXG5uZXQvbWFjODAyMTEvaWJzcy5jLTkyNi1cXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3QgaWVlZTgwMjExX21nbXQgKm1nbXQsIHNpemVfdCBsZW4sXFxuLS1cXG5uZXQvbWFjODAyMTEvaWJzcy5jPTEwNDU9c3RhdGljIHZvaWQgaWVlZTgwMjExX3J4X2Jzc19pbmZvKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxcbi0tXFxubmV0L21hYzgwMjExL2lic3MuYy0xMDYxLVxcbm5ldC9tYWM4MDIxMS9pYnNzLmM6MTA2MjpcXHRpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvKHNkYXRhLCBtZ210LCBsZW4sIHJ4X3N0YXR1cywgZWxlbXMsIGNoYW5uZWwpO1xcbm5ldC9tYWM4MDIxMS9pYnNzLmMtMTA2My1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMDU6NDc6NDIuNzA2MDQ4ODkxWiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE2OTczNzUzMTE4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBNQUM4MDIxMSBGdW5jdGlvbiBEZXBlbmRlbmNpZXMqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGVzZSB0d28gZnVuY3Rpb25zOiBgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb2AsIHdoaWNoIGlzIGEgc3RhdGljIGZ1bmN0aW9uIGJ1cmllZCB3aXRoaW4gYG5ldC9tYWM4MDIxMS9pYnNzLmNgLCBhbmQgYGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYWAsIGEgZ2xvYmFsIGZ1bmN0aW9uIGZvdW5kIGluIGBuZXQvbWFjODAyMTEvc3RhX2luZm8uY2AuIFRoZSBtZW50YWwgbm90ZSBpcyB0byB0cmFjZSB0aGVpciBkZXBlbmRlbmNpZXMsIGlmIGFueSwgdGhyb3VnaCB0aGUgYnVpbGQgc3lzdGVtLiBUaGUgcHJpbWFyeSBjb25maWcgSSdtIHdvcmtpbmcgd2l0aCBoZXJlIGlzIGBNQUM4MDIxMWAuXG5cbkJ1dCB3YWl0IGEgbWludXRlLCBiZWZvcmUgSSBnbyB0b28gZmFyIGRvd24gdGhhdCByYWJiaXQgaG9sZSwgYW0gSSBtaXNzaW5nIHNvbWV0aGluZz8gSXMgYE1BQzgwMjExYCB0aGUgKm9ubHkqIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9uIGhlcmU/IE15IGluaXRpYWwgYXNzdW1wdGlvbiB3YXMgdGhhdCBpdCB3YXMsIGJ1dCBJJ2QgYmV0dGVyIGJlIHN1cmUuIFdoYXQgYWJvdXQgYENGRzgwMjExYD8gVGhlcmUncyBhIG5hZ2dpbmcgZmVlbGluZyB0aGF0IHRoZXkgbWlnaHQgaW50ZXJhY3QuXG5cbkxldCBtZSBqdXN0IHF1aWNrbHkgdmVyaWZ5IGluIHRoZSBgbmV0L21hYzgwMjExL0tjb25maWdgIGZpbGUsIEkgcmVtZW1iZXIgc29tZSBwb3RlbnRpYWwgaW50ZXJhY3Rpb25zIG9yIGRlcGVuZGVuY2llcyAtIHRoZSBcImRlcGVuZHMgb24gQ0ZHODAyMTE9blwiIGNvbW1lbnQuIE9rLCBsZXQgbWUgZG91YmxlIGNoZWNrIHRoYXQgLSBiZXR0ZXIgdG8gYmUgc3VyZS4gSXQgY291bGQgYmUgY3JpdGljYWwgdG8gZnVsbHkgdW5kZXJzdGFuZCBob3cgdGhlc2UgZnVuY3Rpb25zIGJlaGF2ZSB1bmRlciBkaWZmZXJlbnQga2VybmVsIGNvbmZpZ3VyYXRpb25zLiBObyBzZW5zZSBnb2luZyBkb3duIHRoZSByYWJiaXQgaG9sZSB3aXRob3V0IGZ1bGx5IHVuZGVyc3RhbmRpbmcgdGhlIGVudmlyb25tZW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjoxMDE2NywiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIyNCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0Nzo1OS42Nzk4MDQzMjhaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI4NzM2MzAxMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJDRkc4MDIxMVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvbWFjODAyMTEvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvbWFjODAyMTEvS2NvbmZpZz0yPWNvbmZpZyBNQUM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMtXFx0dHJpc3RhdGUgXFxcIkdlbmVyaWMgSUVFRSA4MDIuMTEgTmV0d29ya2luZyBTdGFjayAobWFjODAyMTEpXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQ6XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTUtXFx0c2VsZWN0IENSWVBUT1xcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTUtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTY6Y29tbWVudCBcXFwiQ0ZHODAyMTEgbmVlZHMgdG8gYmUgZW5hYmxlZCBmb3IgTUFDODAyMTFcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTc6XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMT1uXFxubmV0L21hYzgwMjExL0tjb25maWctMTgtXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz04OD1jb25maWcgTUFDODAyMTFfREVCVUdGU1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg5LVxcdGJvb2wgXFxcIkV4cG9ydCBtYWM4MDIxMSBpbnRlcm5hbHMgaW4gRGVidWdGU1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5MDpcXHRkZXBlbmRzIG9uIE1BQzgwMjExIFxcdTAwMjZcXHUwMDI2IENGRzgwMjExX0RFQlVHRlNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy05MS1cXHRoZWxwXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDA1OjQ3OjU5Ljk2NzE3MjY5OFoiLCJTZXEiOjE1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MDUwNjA3NDg1NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGludGVycHJldGF0aW9uIG9mIHRob3NlIHRob3VnaHRzLCBzdW1tYXJpemVkIGZyb20gbXkgcGVyc3BlY3RpdmUgYXMgc29tZW9uZSBmYW1pbGlhciB3aXRoIHRoZXNlIHN5c3RlbXM6XG5cbioqV2lyZWxlc3MgQ29uZmlndXJhdGlvbiBcdTAwMjYgSW50ZXJmYWNlIFNldHVwKipcblxuUmlnaHQsIHNvIEknbSBsb29raW5nIGF0IHRoaXMgYW5kIGl0J3MgY2xlYXIgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIGhlYXZpbHkgZGVwZW5kZW50IG9uIGBDRkc4MDIxMWAuIFRoYXQncyB0aGUgY29yZSB3aXJlbGVzcyBjb25maWd1cmF0aW9uIGZyYW1ld29yaywgc28gdGhhdCdzIGV4cGVjdGVkLiBBaCwgeWVzLCBsb29raW5nIGF0IHRoZSBjb2RlLCBpdCBsb29rcyBsaWtlIGBNQUM4MDIxMWAgaXMgdGhlIGFjdHVhbCBtb2R1bGUgSSBuZWVkIHRvIGNvbmZpZ3VyZSBhbmQgZW5hYmxlIHRvIG1ha2UgYWxsIG9mIHRoaXMgd29yay4gT2theSwgbm93IHRoYXQgSSBoYXZlIHRoaXMgc29ydGVkIG91dCwgdGltZSB0byBjYWxsIGBzZXQtcmVzdWx0c2AuIEhvcGVmdWxseSwgaXQncyBhbGwgY29uZmlndXJlZCBjb3JyZWN0bHkuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjExMDYzLCJPdXRwdXRUb2tlbnMiOjE3NCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQwLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDA1OjQ4OjQwLjQ3MzI1MDAwNVoiLCJTZXEiOjE2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg5Mzg5Njk1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJNQUM4MDIxMVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9cIixcbiAgICBcImllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpb24gY2FwYWJpbGl0eSBpbml0aWFsaXphdGlvbiBpbiBJQlNTIG1vZGUgYnkgcmVwbGFjaW5nIGEgaGFyZGNvZGVkIHJ4X25zcyByZXNldCB3aXRoIGEgY2FsbCB0byBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgbWFjODAyMTEgc3RhY2sgdGhhdCBhZmZlY3RzIGhvdyBzdGF0aW9uIGNhcGFiaWxpdGllcyBhcmUgcGFyc2VkIGFuZCB1cGRhdGVkIHdoZW4gcmVjZWl2aW5nIG1hbmFnZW1lbnQgZnJhbWVzLiBJdCBpcyByZWFjaGFibGUgdmlhIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIGxpa2UgbWFjODAyMTFfaHdzaW0gYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTUFDODAyMTFcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvXCIsXG4gICAgXCJpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGFcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBzdGF0aW9uIGNhcGFiaWxpdHkgaW5pdGlhbGl6YXRpb24gaW4gSUJTUyBtb2RlIGJ5IHJlcGxhY2luZyBhIGhhcmRjb2RlZCByeF9uc3MgcmVzZXQgd2l0aCBhIGNhbGwgdG8gaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1hYzgwMjExIHN0YWNrIHRoYXQgYWZmZWN0cyBob3cgc3RhdGlvbiBjYXBhYmlsaXRpZXMgYXJlIHBhcnNlZCBhbmQgdXBkYXRlZCB3aGVuIHJlY2VpdmluZyBtYW5hZ2VtZW50IGZyYW1lcy4gSXQgaXMgcmVhY2hhYmxlIHZpYSBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSBsaWtlIG1hYzgwMjExX2h3c2ltIGFuZCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },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-workflowwkm7s[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-07 05:24:15 +0000 UTC FinishedAt: 2026-07-07 05:48:42 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "8cdeaa50eae8dad34885515f62559ee83e7e8dda", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "MAC80211" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "8cdeaa50eae8dad34885515f62559ee83e7e8dda", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "MAC80211" ], "series_id": "db60c0d7-2649-4f54-831a-ff7320c79abb" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "ieee80211_update_sta_info", "ieee80211_sta_init_nss_bw_capa" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDA1OjQ3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O01BQzgwMjExJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7aWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyYjMzQ7LAogICAgJiMzNDtpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgc3RhdGlvbiBjYXBhYmlsaXR5IGluaXRpYWxpemF0aW9uIGluIElCU1MgbW9kZSBieSByZXBsYWNpbmcgYSBoYXJkY29kZWQgcnhfbnNzIHJlc2V0IHdpdGggYSBjYWxsIHRvIGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBtYWM4MDIxMSBzdGFjayB0aGF0IGFmZmVjdHMgaG93IHN0YXRpb24gY2FwYWJpbGl0aWVzIGFyZSBwYXJzZWQgYW5kIHVwZGF0ZWQgd2hlbiByZWNlaXZpbmcgbWFuYWdlbWVudCBmcmFtZXMuIEl0IGlzIHJlYWNoYWJsZSB2aWEgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgbGlrZSBtYWM4MDIxMV9od3NpbSBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDU5OWRiY2QxNWI5N2NlMDQ4MDlkMGQ1OGUxYzQ1OWI0ZTQ4ZmYxZmFcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1bCA3IDA1OjQ3OjA0IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS9pYnNzLmMgYi9uZXQvbWFjODAyMTEvaWJzcy5jXG5pbmRleCBkMGZkNjA1NGYxODIwMC4uMWU1NDE0ZWUyN2MwZDEgMTAwNjQ0XG4tLS0gYS9uZXQvbWFjODAyMTEvaWJzcy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvbWFjODAyMTEvaWJzcy5jXG5AQCAtMTAyOSw4ICYjNDM7MTAyOSw4IEBAIHN0YXRpYyB2b2lkIGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm8oc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXG4gXHRcdHUzMiBjaGFuZ2VkID0gSUVFRTgwMjExX1JDX1NVUFBfUkFURVNfQ0hBTkdFRDtcbiBcdFx0dTggcnhfbnNzID0gc3RhLVx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcztcbiBcbi1cdFx0LyogRm9yY2UgcnhfbnNzIHJlY2FsY3VsYXRpb24gKi9cbi1cdFx0c3RhLVx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcyA9IDA7XG4mIzQzO1x0XHRpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoXHUwMDI2c3RhLVx1MDAzZWRlZmxpbmssXG4mIzQzO1x0XHRcdFx0XHQgICAgICAgXHUwMDI2c2RhdGEtXHUwMDNlZGVmbGluay5jb25mLVx1MDAzZWNoYW5yZXEub3Blcik7XG4gXHRcdHJhdGVfY29udHJvbF9yYXRlX2luaXQoXHUwMDI2c3RhLVx1MDAzZWRlZmxpbmspO1xuIFx0XHRpZiAoc3RhLVx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcyAhPSByeF9uc3MpXG4gXHRcdFx0Y2hhbmdlZCB8PSBJRUVFODAyMTFfUkNfTlNTX0NIQU5HRUQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TUFDODAyMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvJiMzNDssCiAgICAmIzM0O2llZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBzdGF0aW9uIGNhcGFiaWxpdHkgaW5pdGlhbGl6YXRpb24gaW4gSUJTUyBtb2RlIGJ5IHJlcGxhY2luZyBhIGhhcmRjb2RlZCByeF9uc3MgcmVzZXQgd2l0aCBhIGNhbGwgdG8gaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1hYzgwMjExIHN0YWNrIHRoYXQgYWZmZWN0cyBob3cgc3RhdGlvbiBjYXBhYmlsaXRpZXMgYXJlIHBhcnNlZCBhbmQgdXBkYXRlZCB3aGVuIHJlY2VpdmluZyBtYW5hZ2VtZW50IGZyYW1lcy4gSXQgaXMgcmVhY2hhYmxlIHZpYSBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSBsaWtlIG1hYzgwMjExX2h3c2ltIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCA1OTlkYmNkMTViOTdjZTA0ODA5ZDBkNThlMWM0NTliNGU0OGZmMWZhCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFR1ZSBKdWwgNyAwNTo0NzowNCAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS9pYnNzLmMgYi9uZXQvbWFjODAyMTEvaWJzcy5jCmluZGV4IGQwZmQ2MDU0ZjE4MjAwLi4xZTU0MTRlZTI3YzBkMSAxMDA2NDQKLS0tIGEvbmV0L21hYzgwMjExL2lic3MuYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQvbWFjODAyMTEvaWJzcy5jCkBAIC0xMDI5LDggJiM0MzsxMDI5LDggQEAgc3RhdGljIHZvaWQgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSwKIAkJdTMyIGNoYW5nZWQgPSBJRUVFODAyMTFfUkNfU1VQUF9SQVRFU19DSEFOR0VEOwogCQl1OCByeF9uc3MgPSBzdGEtJmd0O3N0YS5kZWZsaW5rLnJ4X25zczsKIAotCQkvKiBGb3JjZSByeF9uc3MgcmVjYWxjdWxhdGlvbiAqLwotCQlzdGEtJmd0O3N0YS5kZWZsaW5rLnJ4X25zcyA9IDA7CiYjNDM7CQlpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoJmFtcDtzdGEtJmd0O2RlZmxpbmssCiYjNDM7CQkJCQkgICAgICAgJmFtcDtzZGF0YS0mZ3Q7ZGVmbGluay5jb25mLSZndDtjaGFucmVxLm9wZXIpOwogCQlyYXRlX2NvbnRyb2xfcmF0ZV9pbml0KCZhbXA7c3RhLSZndDtkZWZsaW5rKTsKIAkJaWYgKHN0YS0mZ3Q7c3RhLmRlZmxpbmsucnhfbnNzICE9IHJ4X25zcykKIAkJCWNoYW5nZWQgfD0gSUVFRTgwMjExX1JDX05TU19DSEFOR0VEOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxOTU5CgkJCQkJCQlvdXRwdXQ6IDQ2CgkJCQkJCQl0aG91Z2h0czogMTY2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgSUJTUyBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYG5ldC9tYWM4MDIxMS9pYnNzLmNgLiBTZWVtcyBsaWtlIHNvbWVvbmUmIzM5O3MgbWFkZSBhIGNoYW5nZSB0byB0aGUgYGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9gIGZ1bmN0aW9uLCB3aGljaCBpcyBhbHdheXMgaW50ZXJlc3RpbmcuIFNwZWNpZmljYWxseSwgaXQgbG9va3MgbGlrZSB0aGV5JiMzOTt2ZSByZW1vdmVkIGEgbGluZSB0aGF0IHdhcyBleHBsaWNpdGx5IHJlc2V0dGluZyBgc3RhLSZndDtzdGEuZGVmbGluay5yeF9uc3NgIHRvIDAuIEhtbSwgdGhhdCYjMzk7cyBhIGJpdCBkaXJlY3QsIGFuZCBJJiMzOTtkIGxpa2UgdG8gdW5kZXJzdGFuZCB0aGUgcmVhc29uaW5nLgoKVGhleSYjMzk7dmUgcmVwbGFjZWQgdGhhdCByZXNldCB3aXRoIGEgY2FsbCB0byBgaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhYCwgcGFzc2luZyBpbiBgJmFtcDtzdGEtJmd0O2RlZmxpbmtgIGFuZCB0aGUgb3BlcmF0aW9uYWwgY2hhbm5lbCByZXF1ZXN0IGluZm9ybWF0aW9uIGAmYW1wO3NkYXRhLSZndDtkZWZsaW5rLmNvbmYtJmd0O2NoYW5yZXEub3BlcmAuICBTbywgaW5zdGVhZCBvZiBqdXN0IGZvcmNpbmcgdGhlIGByeF9uc3NgIHRvIHplcm8sIHRoZXkmIzM5O3JlIG5vdyBjYWxsaW5nIGEgZnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSB0aGUgTlNTIChOdW1iZXIgb2YgU3BhdGlhbCBTdHJlYW1zKSBhbmQgYmFuZHdpZHRoIGNhcGFiaWxpdGllcyBvZiB0aGUgc3RhdGlvbiYjMzk7cyBkZWZsaW5rLCBsaWtlbHkgYmFzZWQgb24gdGhlIGN1cnJlbnQgb3BlcmF0aW9uYWwgY2hhbm5lbC4gVGhhdCBtYWtlcyBzZW5zZTsgaXQmIzM5O3MgbW9yZSBkeW5hbWljLgoKSSYjMzk7bGwgbmVlZCB0byBkaWcgaW50byBgbmV0L21hYzgwMjExL2lic3MuY2AgdG8gZnVsbHkgdW5kZXJzdGFuZCB0aGUgY29udGV4dC4gSSYjMzk7bGwgYWxzbyB3YW50IHRvIHJldmlldyB0aGUgY29kZSBmb3IgYGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9gIGl0c2VsZi4gVGhpcyBtZWFucyBsb29raW5nIGF0IGhvdyB0aGUgZnVuY3Rpb24gaXMgdXNlZCBhbmQgd2hhdCBvdGhlciBkYXRhIGl0IHVwZGF0ZXMuIEl04oCZcyBpbXBvcnRhbnQgdG8gdW5kZXJzdGFuZCB0aGUgZmxvdyBoZXJlLiBJJiMzOTttIGVzcGVjaWFsbHkgaW50ZXJlc3RlZCBpbiBob3cgdGhlIG9wZXJhdGlvbmFsIGNoYW5uZWwgaW5mb3JtYXRpb24gaXMgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBzdGF0aW9uIGRhdGEgdG8gZGV0ZXJtaW5lIHRoZSBjb3JyZWN0IE5TUy4KClRoaXMgY291bGQgYmUgYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24sIGEgYnVnIGZpeCwgb3IgZXZlbiBhIGZlYXR1cmUgYWRkaXRpb24gcmVsYXRlZCB0byBtb3JlIGludGVsbGlnZW50IGJhbmR3aWR0aCBtYW5hZ2VtZW50IGluIElCU1MgbW9kZS4gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIG9yaWdpbmFsIHByb2JsZW0gdGhlIHBhdGNoIGlzIHRyeWluZyB0byBzb2x2ZSwgYW5kIGV2YWx1YXRlIHRoZSBlZmZlY3RzIG9mIHRoZSBgaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhYCBjYWxsIGluIHRoaXMgZnVuY3Rpb24uIFRoaXMgaW5pdGlhbGl6YXRpb24gaXMgbGlrZWx5IHRvIGJlIGEgY29tcGxleCBmdW5jdGlvbiwgYW5kIEkmIzM5O2xsIG5lZWQgdG8gcmVhZCB0aGlzIG9uZSBjYXJlZnVsbHkuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9pYnNzLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L21hYzgwMjExL2lic3MuYz04OTQ9c3RhdGljIHZvaWQgaWVlZTgwMjExX3J4X21nbXRfYXV0aF9pYnNzKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxuLS1cbm5ldC9tYWM4MDIxMS9pYnNzLmMtOTI0LVxubmV0L21hYzgwMjExL2lic3MuYzo5MjU6c3RhdGljIHZvaWQgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSxcbm5ldC9tYWM4MDIxMS9pYnNzLmMtOTI2LVx0XHRcdFx0ICAgICAgc3RydWN0IGllZWU4MDIxMV9tZ210ICptZ210LCBzaXplX3QgbGVuLFxuLS1cbm5ldC9tYWM4MDIxMS9pYnNzLmM9MTA0NT1zdGF0aWMgdm9pZCBpZWVlODAyMTFfcnhfYnNzX2luZm8oc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXG4tLVxubmV0L21hYzgwMjExL2lic3MuYy0xMDYxLVxubmV0L21hYzgwMjExL2lic3MuYzoxMDYyOlx0aWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzZGF0YSwgbWdtdCwgbGVuLCByeF9zdGF0dXMsIGVsZW1zLCBjaGFubmVsKTtcbm5ldC9tYWM4MDIxMS9pYnNzLmMtMTA2My1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyOTQ3CgkJCQkJCQlvdXRwdXQ6IDM3CgkJCQkJCQl0aG91Z2h0czogNzgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGxldCYjMzk7cyBicmVhayB0aGlzIGRvd24uCgoqKkRpdmluZyBpbnRvIHRoZSA4MDIuMTEgU3RhY2sqKgoKUmlnaHQsIHNvIHRoZSBpc3N1ZSBJJiMzOTttIGxvb2tpbmcgaW50byBzZWVtcyB0byBiZSByb290ZWQgaW4gYGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9gLiBUaGF0IGZ1bmN0aW9uIGdldHMgY2FsbGVkIGJ5IGBpZWVlODAyMTFfcnhfYnNzX2luZm9gLiAgVGhhdCYjMzk7cyBhIHByZXR0eSBjbGVhciBpbmRpY2F0b3IgaXQmIzM5O3MgcHJvYmFibHkgcmVsYXRlZCB0byByZWNlaXZpbmcgYW5kIHByb2Nlc3NpbmcgaW5mb3JtYXRpb24gYWJvdXQgc3RhdGlvbnMsIHByZXN1bWFibHkgd2l0aGluIGEgQlNTLiAgSXQmIzM5O3Mgc29saWQsIGZ1bmN0aW9uYWwgY29kZSB3aXRoaW4gdGhlIGBtYWM4MDIxMWAgZnJhbWV3b3JrLiBHb29kLiBBbmQgaXQmIzM5O3MgcmVhY2hhYmxlIHRocm91Z2ggYG1hYzgwMjExX2h3c2ltYCwgd2hpY2ggaXMgaGVscGZ1bCBmb3IgdGVzdGluZyBhbmQgc2ltdWxhdGlvbi4gVGhhdCBuYXJyb3dzIGRvd24gbXkgZm9jdXMgY29uc2lkZXJhYmx5LiBOb3csIG15IG5leHQgbW92ZSBpcyB0byBsb2NhdGUgdGhlIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWNzIGZvciBgbWFjODAyMTFgLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBpdHMgc2V0dXAgdG8gZ3Jhc3AgaG93IHRoaXMgc3BlY2lmaWMgcGFydCBvZiB0aGUgY29kZSBiZWhhdmVzIHdpdGhpbiB0aGUgYnJvYWRlciBzeXN0ZW0uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7TUFDODAyMTEmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxubmV0L21hYzgwMjExL0tjb25maWc6Mjpjb25maWcgTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMtXHR0cmlzdGF0ZSBcJiMzNDtHZW5lcmljIElFRUUgODAyLjExIE5ldHdvcmtpbmcgU3RhY2sgKG1hYzgwMjExKVwmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1LVxubmV0L21hYzgwMjExL0tjb25maWc6MTY6Y29tbWVudCBcJiMzNDtDRkc4MDIxMSBuZWVkcyB0byBiZSBlbmFibGVkIGZvciBNQUM4MDIxMVwmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWctMTctXHRkZXBlbmRzIG9uIENGRzgwMjExPW5cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4LVxubmV0L21hYzgwMjExL0tjb25maWc6MTk6aWYgTUFDODAyMTEgIT0gblxubmV0L21hYzgwMjExL0tjb25maWctMjAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMTpjb25maWcgTUFDODAyMTFfSEFTX1JDXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMi1cdGJvb2xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzLVxubmV0L21hYzgwMjExL0tjb25maWc6MjQ6Y29uZmlnIE1BQzgwMjExX1JDX01JTlNUUkVMXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNS1cdGJvb2wgXCYjMzQ7TWluc3RyZWxcJiMzNDsgaWYgRVhQRVJUXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNjpcdHNlbGVjdCBNQUM4MDIxMV9IQVNfUkNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI3LVx0ZGVmYXVsdCB5XG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9MzE9Y2hvaWNlXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zMi1cdHByb21wdCBcJiMzNDtEZWZhdWx0IHJhdGUgY29udHJvbCBhbGdvcml0aG1cJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjMzOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9IQVNfUkNcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjM0Olx0ZGVmYXVsdCBNQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zNS1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy00MC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQxOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMXG5uZXQvbWFjODAyMTEvS2NvbmZpZy00Mi1cdGJvb2wgXCYjMzQ7TWluc3RyZWxcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQzOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9SQ19NSU5TVFJFTFxubmV0L21hYzgwMjExL0tjb25maWctNDQtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9NDg9ZW5kY2hvaWNlXG5uZXQvbWFjODAyMTEvS2NvbmZpZy00OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjUwOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUXG5uZXQvbWFjODAyMTEvS2NvbmZpZy01MS1cdHN0cmluZ1xubmV0L21hYzgwMjExL0tjb25maWc6NTI6XHRkZWZhdWx0IFwmIzM0O21pbnN0cmVsX2h0XCYjMzQ7IGlmIE1BQzgwMjExX1JDX0RFRkFVTFRfTUlOU1RSRUxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTUzLVx0ZGVmYXVsdCBcJiMzNDtcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZz01Nz1jb21tZW50IFwmIzM0O1NvbWUgd2lyZWxlc3MgZHJpdmVycyByZXF1aXJlIGEgcmF0ZSBjb250cm9sIGFsZ29yaXRobVwmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6NTg6XHRkZXBlbmRzIG9uIE1BQzgwMjExIFx1MDAyNlx1MDAyNiBNQUM4MDIxMV9IQVNfUkM9blxubmV0L21hYzgwMjExL0tjb25maWctNTktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MDpjb25maWcgTUFDODAyMTFfS1VOSVRfVEVTVFxubmV0L21hYzgwMjExL0tjb25maWctNjEtXHR0cmlzdGF0ZSBcJiMzNDtLVW5pdCB0ZXN0cyBmb3IgbWFjODAyMTFcJiMzNDsgaWYgIUtVTklUX0FMTF9URVNUU1xubmV0L21hYzgwMjExL0tjb25maWctNjItXHRkZXBlbmRzIG9uIEtVTklUXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MzpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTY0LVx0ZGVmYXVsdCBLVU5JVF9BTExfVEVTVFNcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy02OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjcwOmNvbmZpZyBNQUM4MDIxMV9NRVNIXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03MS1cdGJvb2wgXCYjMzQ7RW5hYmxlIG1hYzgwMjExIG1lc2ggbmV0d29ya2luZyBzdXBwb3J0XCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo3MjpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTczLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTc4LVxubmV0L21hYzgwMjExL0tjb25maWc6Nzk6Y29uZmlnIE1BQzgwMjExX0xFRFNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTgwLVx0Ym9vbCBcJiMzNDtFbmFibGUgTEVEIHRyaWdnZXJzXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo4MTpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjgyOlx0ZGVwZW5kcyBvbiBMRURTX0NMQVNTPXkgfHwgTEVEU19DTEFTUz1NQUM4MDIxMVxubmV0L21hYzgwMjExL0tjb25maWctODMtXHRzZWxlY3QgTEVEU19UUklHR0VSU1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg3LVxubmV0L21hYzgwMjExL0tjb25maWc6ODg6Y29uZmlnIE1BQzgwMjExX0RFQlVHRlNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg5LVx0Ym9vbCBcJiMzNDtFeHBvcnQgbWFjODAyMTEgaW50ZXJuYWxzIGluIERlYnVnRlNcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjkwOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMSBcdTAwMjZcdTAwMjYgQ0ZHODAyMTFfREVCVUdGU1xubmV0L21hYzgwMjExL0tjb25maWctOTEtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctOTYtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5Nzpjb25maWcgTUFDODAyMTFfTUVTU0FHRV9UUkFDSU5HXG5uZXQvbWFjODAyMTEvS2NvbmZpZy05OC1cdGJvb2wgXCYjMzQ7VHJhY2UgYWxsIG1hYzgwMjExIGRlYnVnIG1lc3NhZ2VzXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5OTpcdGRlcGVuZHMgb24gTUFDODAyMTEgXHUwMDI2XHUwMDI2IFRSQUNJTkdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEwMC1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMDktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTA6bWVudWNvbmZpZyBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTEtXHRib29sIFwmIzM0O1NlbGVjdCBtYWM4MDIxMSBkZWJ1Z2dpbmcgZmVhdHVyZXNcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExMjpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExMy1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTUtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTY6Y29uZmlnIE1BQzgwMjExX05PSU5MSU5FXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTctXHRib29sIFwmIzM0O0RvIG5vdCBpbmxpbmUgVFgvUlggaGFuZGxlcnNcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExODpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTE5LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzMS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzMjpjb25maWcgTUFDODAyMTFfVkVSQk9TRV9ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMTMzLVx0Ym9vbCBcJiMzNDtWZXJib3NlIGRlYnVnZ2luZyBvdXRwdXRcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzNDpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTM1LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE0Mi1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE0Mzpjb25maWcgTUFDODAyMTFfTUxNRV9ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMTQ0LVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1hbmFnZWQgTUxNRSBvdXRwdXRcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE0NTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTQ2LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1My1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NDpjb25maWcgTUFDODAyMTFfU1RBX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNTUtXHRib29sIFwmIzM0O1ZlcmJvc2Ugc3RhdGlvbiBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NjpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTU3LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE2Mi1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2Mzpjb25maWcgTUFDODAyMTFfSFRfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE2NC1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBIVCBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2NTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTY2LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE3NC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE3NTpjb25maWcgTUFDODAyMTFfT0NCX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzYtXHRib29sIFwmIzM0O1ZlcmJvc2UgT0NCIGRlYnVnZ2luZ1wmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MTc3Olx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzgtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMTg1LVxubmV0L21hYzgwMjExL0tjb25maWc6MTg2OmNvbmZpZyBNQUM4MDIxMV9JQlNTX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xODctXHRib29sIFwmIzM0O1ZlcmJvc2UgSUJTUyBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4ODpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTg5LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE5Ni1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5Nzpjb25maWcgTUFDODAyMTFfUFNfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE5OC1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBwb3dlcnNhdmUgbW9kZSBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5OTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMjAwLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIwOC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIwOTpjb25maWcgTUFDODAyMTFfTVBMX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTAtXHRib29sIFwmIzM0O1ZlcmJvc2UgbWVzaCBwZWVyIGxpbmsgZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMTE6XHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIxMjpcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxubmV0L21hYzgwMjExL0tjb25maWctMjEzLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIyMS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyMjpjb25maWcgTUFDODAyMTFfTVBBVEhfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIyMy1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIHBhdGggZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMjQ6XHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyNTpcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxubmV0L21hYzgwMjExL0tjb25maWctMjI2LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNTpjb25maWcgTUFDODAyMTFfTUhXTVBfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNi1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIEhXTVAgcm91dGluZyBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNzpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWc6MjM4Olx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMzktXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjQ3LVxubmV0L21hYzgwMjExL0tjb25maWc6MjQ4OmNvbmZpZyBNQUM4MDIxMV9NRVNIX1NZTkNfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0OS1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIHN5bmNocm9uaXphdGlvbiBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI1MDpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWc6MjUxOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNTItXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjU4LVxubmV0L21hYzgwMjExL0tjb25maWc6MjU5OmNvbmZpZyBNQUM4MDIxMV9NRVNIX0NTQV9ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjYwLVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1lc2ggY2hhbm5lbCBzd2l0Y2ggZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNjE6XHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI2MjpcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxubmV0L21hYzgwMjExL0tjb25maWctMjYzLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI3MDpjb25maWcgTUFDODAyMTFfTUVTSF9QU19ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjcxLVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1lc2ggcG93ZXJzYXZlIGRlYnVnZ2luZ1wmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MjcyOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNzM6XHRkZXBlbmRzIG9uIE1BQzgwMjExX01FU0hcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI3NC1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyODE6Y29uZmlnIE1BQzgwMjExX1RETFNfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4Mi1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBURExTIGRlYnVnZ2luZ1wmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MjgzOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODQtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjkyLVxubmV0L21hYzgwMjExL0tjb25maWc6MjkzOmNvbmZpZyBNQUM4MDIxMV9ERUJVR19DT1VOVEVSU1xubmV0L21hYzgwMjExL0tjb25maWctMjk0LVx0Ym9vbCBcJiMzNDtFeHRyYSBzdGF0aXN0aWNzIGZvciBUWC9SWCBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5NTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWc6Mjk2Olx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR0ZTXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yOTctXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMzA3LVxubmV0L21hYzgwMjExL0tjb25maWc6MzA4OmNvbmZpZyBNQUM4MDIxMV9TVEFfSEFTSF9NQVhfU0laRVxubmV0L21hYzgwMjExL0tjb25maWc6MzA5Olx0aW50IFwmIzM0O1N0YXRpb24gaGFzaCB0YWJsZSBtYXhpbXVtIHNpemVcJiMzNDsgaWYgTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMzEwLVx0ZGVmYXVsdCAwXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNzE3NwoJCQkJCQkJb3V0cHV0OiAzMgoJCQkJCQkJdGhvdWdodHM6IDczCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgSUJTUyBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBjb25maWcsIGBNQUM4MDIxMWAuIFRoYXQgaW1tZWRpYXRlbHkgdGVsbHMgbWUgd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCB0aGUgY29yZSB3aXJlbGVzcyBuZXR3b3JraW5nIHN0YWNrLCB3aGljaCBpcyBnb29kIHRvIGtub3cuIFRoZSBwYXRjaCBpdHNlbGYgaXMgbG9jYXRlZCBpbiBgbmV0L21hYzgwMjExL2lic3MuY2AsIHNvIHdlJiMzOTtyZSBzcGVjaWZpY2FsbHkgdGFsa2luZyBhYm91dCBJQlNTLCBvciBBZC1Ib2MgbW9kZSBmdW5jdGlvbmFsaXR5IHdpdGhpbiBgbWFjODAyMTFgLiBOb3csIG15IGluaXRpYWwgdGhvdWdodCBpcywgJiMzNDtpcyB0aGVyZSBhIHNlcGFyYXRlIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGp1c3QgZm9yIElCU1MsIHdpdGhpbiB0aGF0IGxhcmdlciBgbWFjODAyMTFgIGNvbnRleHQ/JiMzNDsgSSBzaG91bGQgcHJvYmFibHkgY29uZmlybSB3aGV0aGVyIHRoZXJlJiMzOTtzIGEgZGVkaWNhdGVkIElCU1MgY29uZmlnIG9wdGlvbiBvciBpZiBpdCYjMzk7cyBpbXBsaWNpdGx5IGVuYWJsZWQgb3IgZGlzYWJsZWQgYmFzZWQgb24gb3RoZXIgc2V0dGluZ3MuIEJlc3Qgd2F5IHRvIGNoZWNrIHRoYXQgaXMgdG8ganVtcCBvdmVyIHRvIHRoZSBgbmV0L21hYzgwMjExL01ha2VmaWxlYCBhbmQgc2VlIGhvdyB0aGV5IGhhbmRsZSB0aGUgYnVpbGQgY29uZmlndXJhdGlvbnMgcmVsYXRlZCB0byBJQlNTLiBMZXQmIzM5O3Mgc2VlIHdoYXQmIzM5O3MgaW4gdGhlcmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aWJzcyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9NYWtlZmlsZSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvTWFrZWZpbGU9NT1tYWM4MDIxMS15IDo9IFxcXG4tLVxubmV0L21hYzgwMjExL01ha2VmaWxlLTE2LVx0czFnLm8gXFxcbm5ldC9tYWM4MDIxMS9NYWtlZmlsZToxNzpcdGlic3MubyBcXFxubmV0L21hYzgwMjExL01ha2VmaWxlLTE4LVx0aWZhY2UubyBcXFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDA1OjQ3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDc1ODYKCQkJCQkJCW91dHB1dDogNDgKCQkJCQkJCXRob3VnaHRzOiA3NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duIG1lbnRhbCBwcm9jZXNzaW5nOgoKKipBbmFseXppbmcgdGhlIERlcGVuZGVuY3kgb2YgYGlic3Mub2AqKgoKUmlnaHQsIHNvLCBpZiBJIHVuZGVyc3RhbmQgdGhpcyBjb3JyZWN0bHksIGBpYnNzLm9gIGlzIGVzc2VudGlhbGx5IGFsd2F5cyBnb2luZyB0byBiZSBidWlsdCBhcyBsb25nIGFzIGBNQUM4MDIxMWAgaXMgZW5hYmxlZC4gVGhhdCBzaW1wbGlmaWVzIHRoaW5ncywgZG9lc24mIzM5O3QgaXQ/IE1lYW5pbmcsIGlmIEkgc2VlIGBNQUM4MDIxMWAgZW5hYmxlZCwgSSBjYW4gYmUgcHJldHR5IGNlcnRhaW4gYGlic3Mub2AgaXMgdGhlcmUgYXMgd2VsbCDigJMgbm8gZnVydGhlciBjaGVja3MgbmVlZGVkIG9uIHRoYXQgZnJvbnQuIEl0JiMzOTtzIGEgZGlyZWN0IGRlcGVuZGVuY3ksIHdoaWNoIGlzIGdvb2QgdG8ga25vdyBmb3IgYnVpbGQgY29uZmlndXJhdGlvbnMuCgpOb3csIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgYGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYWAgYWN0dWFsbHkgKmRvZXMqLiBJIGRvbiYjMzk7dCByZWNhbGwgaXQgb2ZmIHRoZSB0b3Agb2YgbXkgaGVhZCwgYW5kIEkmIzM5O2QgbGlrZSB0byBxdWlja2x5IGRldGVybWluZSB3aGV0aGVyIGl0JiMzOTtzIHNvbWV0aGluZyB0aGF0IGdldHMgY2FsbGVkIGZyZXF1ZW50bHksIG9yIGlmIGl0JiMzOTtzIG1vcmUgb2YgYW4gaW5pdGlhbGl6YXRpb24gcm91dGluZS4gSXMgaXQgaW4gYSBwZXJmb3JtYW5jZS1jcml0aWNhbCBwYXRoPyBJcyBpdCBqdXN0IHNldHRpbmcgdXAgc29tZSBzdGF0aW9uIGNhcGFiaWxpdGllcyBvciBkb2luZyBzb21ldGhpbmcgbW9yZSBpbnZvbHZlZD8gSSYjMzk7bGwgY2hlY2sgaXRzIGRlZmluaXRpb24gdG8gZ2V0IGEgYmV0dGVyIHNlbnNlIG9mIGl0cyByb2xlLiBUaGF0IHdpbGwgZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IGl0JiMzOTtzIHNvbWV0aGluZyBJIG5lZWQgdG8ga2VlcCBhbiBleWUgb24gd2hlbiBsb29raW5nIGF0IG92ZXJhbGwgc3lzdGVtIHBlcmZvcm1hbmNlIG9yIHdoZW4gZGVidWdnaW5nLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9jZmcuYz0yMjYwPXN0YXRpYyBpbnQgc3RhX2xpbmtfYXBwbHlfcGFyYW1ldGVycyhzdHJ1Y3QgaWVlZTgwMjExX2xvY2FsICpsb2NhbCxcbi0tXG5uZXQvbWFjODAyMTEvY2ZnLmMtMjQxOC1cdGRlZmF1bHQ6XG5uZXQvbWFjODAyMTEvY2ZnLmM6MjQxOTpcdFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKGxpbmtfc3RhLCBcdTAwMjZsaW5rLVx1MDAzZWNvbmYtXHUwMDNlY2hhbnJlcS5vcGVyKTtcbm5ldC9tYWM4MDIxMS9jZmcuYy0yNDIwLVx0XHRicmVhaztcbi0tXG5uZXQvbWFjODAyMTEvaWJzcy5jPTUzOD1zdGF0aWMgc3RydWN0IHN0YV9pbmZvICppZWVlODAyMTFfaWJzc19maW5pc2hfc3RhKHN0cnVjdCBzdGFfaW5mbyAqc3RhKVxuLS1cbm5ldC9tYWM4MDIxMS9pYnNzLmMtNTQ1LVxubmV0L21hYzgwMjExL2lic3MuYzo1NDY6XHRpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoXHUwMDI2c3RhLVx1MDAzZWRlZmxpbmssXG5uZXQvbWFjODAyMTEvaWJzcy5jLTU0Ny1cdFx0XHRcdCAgICAgICBcdTAwMjZzZGF0YS1cdTAwM2VkZWZsaW5rLmNvbmYtXHUwMDNlY2hhbnJlcS5vcGVyKTtcbi0tXG5uZXQvbWFjODAyMTEvaWJzcy5jPTkyNT1zdGF0aWMgdm9pZCBpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxuLS1cbm5ldC9tYWM4MDIxMS9pYnNzLmMtMTAzMS1cbm5ldC9tYWM4MDIxMS9pYnNzLmM6MTAzMjpcdFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKFx1MDAyNnN0YS1cdTAwM2VkZWZsaW5rLFxubmV0L21hYzgwMjExL2lic3MuYy0xMDMzLVx0XHRcdFx0XHQgICAgICAgXHUwMDI2c2RhdGEtXHUwMDNlZGVmbGluay5jb25mLVx1MDAzZWNoYW5yZXEub3Blcik7XG4tLVxubmV0L21hYzgwMjExL21lc2hfcGxpbmsuYz00MjM9c3RhdGljIHZvaWQgbWVzaF9zdGFfaW5mb19pbml0KHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxuLS1cbm5ldC9tYWM4MDIxMS9tZXNoX3BsaW5rLmMtNDcwLVxubmV0L21hYzgwMjExL21lc2hfcGxpbmsuYzo0NzE6XHRpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoXHUwMDI2c3RhLVx1MDAzZWRlZmxpbmssXG5uZXQvbWFjODAyMTEvbWVzaF9wbGluay5jLTQ3Mi1cdFx0XHRcdCAgICAgICBcdTAwMjZzZGF0YS1cdTAwM2VkZWZsaW5rLmNvbmYtXHUwMDNlY2hhbnJlcS5vcGVyKTtcbi0tXG5uZXQvbWFjODAyMTEvbWxtZS5jPTU4NDY9c3RhdGljIGJvb2wgaWVlZTgwMjExX2Fzc29jX2NvbmZpZ19saW5rKHN0cnVjdCBpZWVlODAyMTFfbGlua19kYXRhICpsaW5rLFxuLS1cbm5ldC9tYWM4MDIxMS9tbG1lLmMtNjIzNi1cbm5ldC9tYWM4MDIxMS9tbG1lLmM6NjIzNzpcdGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYShsaW5rX3N0YSwgXHUwMDI2YnNzX2NvbmYtXHUwMDNlY2hhbnJlcS5vcGVyKTtcbm5ldC9tYWM4MDIxMS9tbG1lLmMtNjIzOC1cbi0tXG5uZXQvbWFjODAyMTEvb2NiLmM9ODc9c3RhdGljIHN0cnVjdCBzdGFfaW5mbyAqaWVlZTgwMjExX29jYl9maW5pc2hfc3RhKHN0cnVjdCBzdGFfaW5mbyAqc3RhKVxuLS1cbm5ldC9tYWM4MDIxMS9vY2IuYy05NC1cbm5ldC9tYWM4MDIxMS9vY2IuYzo5NTpcdGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYShcdTAwMjZzdGEtXHUwMDNlZGVmbGluayxcbm5ldC9tYWM4MDIxMS9vY2IuYy05Ni1cdFx0XHRcdCAgICAgICBcdTAwMjZzZGF0YS1cdTAwM2VkZWZsaW5rLmNvbmYtXHUwMDNlY2hhbnJlcS5vcGVyKTtcbi0tXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uYz0zNDUzPXN0YXRpYyB1OCBpZWVlODAyMTFfc3RhX25zc19jYXBhYmlsaXR5KHN0cnVjdCBsaW5rX3N0YV9pbmZvICpsaW5rX3N0YSlcbi0tXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uYy0zNTM5LVxubmV0L21hYzgwMjExL3N0YV9pbmZvLmM6MzU0MDp2b2lkIGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYShzdHJ1Y3QgbGlua19zdGFfaW5mbyAqbGlua19zdGEsXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uYy0zNTQxLVx0XHRcdFx0ICAgIHN0cnVjdCBjZmc4MDIxMV9jaGFuX2RlZiAqY2hhbmRlZilcbi0tXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uaD0xMDA5PXVuc2lnbmVkIGxvbmcgaWVlZTgwMjExX3N0YV9sYXN0X2FjdGl2ZShzdHJ1Y3Qgc3RhX2luZm8gKnN0YSwgaW50IGxpbmtfaWQpO1xubmV0L21hYzgwMjExL3N0YV9pbmZvLmgtMTAxMC1cbm5ldC9tYWM4MDIxMS9zdGFfaW5mby5oOjEwMTE6dm9pZCBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoc3RydWN0IGxpbmtfc3RhX2luZm8gKmxpbmtfc3RhLFxubmV0L21hYzgwMjExL3N0YV9pbmZvLmgtMTAxMi1cdFx0XHRcdCAgICBzdHJ1Y3QgY2ZnODAyMTFfY2hhbl9kZWYgKmNoYW5kZWYpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA5MjMwCgkJCQkJCQlvdXRwdXQ6IDQ2CgkJCQkJCQl0aG91Z2h0czogMjUxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgVGFyZ2V0IElkZW50aWZpY2F0aW9uKioKCk9rYXksIHNvIEkmIzM5O3ZlIHNwb3R0ZWQgYSBwb3RlbnRpYWwgdnVsbmVyYWJpbGl0eSBpbiBgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb2AsIHNwZWNpZmljYWxseSB3aXRoaW4gdGhlIElCU1MgbW9kZSBvZiB0aGUgTUFDODAyMTEgc3RhY2suIEl0IGxvb2tzIGxpa2UgYSByZWNlbnQgcGF0Y2ggY2hhbmdlZCBob3cgdGhlIHJlY2VpdmUgc3BhdGlhbCBzdHJlYW0gYW5kIGJhbmR3aWR0aCBjYXBhYmlsaXRpZXMgYXJlIGluaXRpYWxpemVkLiBJbnN0ZWFkIG9mIGp1c3Qgc2V0dGluZyBgc3RhLSZndDtzdGEuZGVmbGluay5yeF9uc3MgPSAwYCwgaXQgbm93IGNhbGxzIGBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoJmFtcDtzdGEtJmd0O2RlZmxpbmssICZhbXA7c2RhdGEtJmd0O2RlZmxpbmsuY29uZi0mZ3Q7Y2hhbnJlcS5vcGVyKTtgLiBUaGlzIGlzIGEgY2xlYXIgZnVuY3Rpb25hbCBjaGFuZ2UsIHNvIGl0JiMzOTtzIGEgcHJpbWUgY2FuZGlkYXRlIGZvciBmdXp6aW5nLgoKTXkgcHJpbWFyeSBmb2N1cyB3aWxsIGJlIG9uIHRoZSBgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb2AgZnVuY3Rpb24gaXRzZWxmIGFuZCBhbHNvIHRoZSBgaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhYCBmdW5jdGlvbi4gSSB0aGluayB0aGVzZSBhcmUgdGhlIGtleSBzeW1ib2xzIHRvIHRhcmdldC4KClRoZSBvYnZpb3VzIGNvbmZpZyB0byBlbmFibGUgaXMgYE1BQzgwMjExYCwgZ2l2ZW4gdGhhdCYjMzk7cyB0aGUgYXJlYSBpbnZvbHZlZCwgYnV0IGl0IHdvdWxkIGJlIHdpc2UgdG8gZG91YmxlLWNoZWNrIGlmIEkgbmVlZCB0byBlbmFibGUgYW55dGhpbmcgZWxzZSB0byBmdWxseSBleGVyY2lzZSB0aGlzIGNvZGUgcGF0aC4gTGV0JiMzOTtzIG1ha2Ugc3VyZSBub3RoaW5nIGVsc2UgaXMgcmVsZXZhbnQuIFJpZ2h0LCBpdCYjMzk7cyBkZWZpbmVkIGluIGBuZXQvbWFjODAyMTEvaWJzcy5jYCwgc28gSSBzaG91bGQgYmUgZ29vZC4gVGltZSB0byBkaXZlIGludG8gdGhlIGNvZGUgYW5kIHN0YXJ0IGRldmlzaW5nIHNvbWUgaW50ZXJlc3RpbmcgdGVzdCBjYXNlcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9pYnNzLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L21hYzgwMjExL2lic3MuYz04OTQ9c3RhdGljIHZvaWQgaWVlZTgwMjExX3J4X21nbXRfYXV0aF9pYnNzKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxuLS1cbm5ldC9tYWM4MDIxMS9pYnNzLmMtOTI0LVxubmV0L21hYzgwMjExL2lic3MuYzo5MjU6c3RhdGljIHZvaWQgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSxcbm5ldC9tYWM4MDIxMS9pYnNzLmMtOTI2LVx0XHRcdFx0ICAgICAgc3RydWN0IGllZWU4MDIxMV9tZ210ICptZ210LCBzaXplX3QgbGVuLFxuLS1cbm5ldC9tYWM4MDIxMS9pYnNzLmM9MTA0NT1zdGF0aWMgdm9pZCBpZWVlODAyMTFfcnhfYnNzX2luZm8oc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXG4tLVxubmV0L21hYzgwMjExL2lic3MuYy0xMDYxLVxubmV0L21hYzgwMjExL2lic3MuYzoxMDYyOlx0aWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzZGF0YSwgbWdtdCwgbGVuLCByeF9zdGF0dXMsIGVsZW1zLCBjaGFubmVsKTtcbm5ldC9tYWM4MDIxMS9pYnNzLmMtMTA2My1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMDU6NDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTAxNjcKCQkJCQkJCW91dHB1dDogMzgKCQkJCQkJCXRob3VnaHRzOiAyMjQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIE1BQzgwMjExIEZ1bmN0aW9uIERlcGVuZGVuY2llcyoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhlc2UgdHdvIGZ1bmN0aW9uczogYGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9gLCB3aGljaCBpcyBhIHN0YXRpYyBmdW5jdGlvbiBidXJpZWQgd2l0aGluIGBuZXQvbWFjODAyMTEvaWJzcy5jYCwgYW5kIGBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGFgLCBhIGdsb2JhbCBmdW5jdGlvbiBmb3VuZCBpbiBgbmV0L21hYzgwMjExL3N0YV9pbmZvLmNgLiBUaGUgbWVudGFsIG5vdGUgaXMgdG8gdHJhY2UgdGhlaXIgZGVwZW5kZW5jaWVzLCBpZiBhbnksIHRocm91Z2ggdGhlIGJ1aWxkIHN5c3RlbS4gVGhlIHByaW1hcnkgY29uZmlnIEkmIzM5O20gd29ya2luZyB3aXRoIGhlcmUgaXMgYE1BQzgwMjExYC4KCkJ1dCB3YWl0IGEgbWludXRlLCBiZWZvcmUgSSBnbyB0b28gZmFyIGRvd24gdGhhdCByYWJiaXQgaG9sZSwgYW0gSSBtaXNzaW5nIHNvbWV0aGluZz8gSXMgYE1BQzgwMjExYCB0aGUgKm9ubHkqIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9uIGhlcmU/IE15IGluaXRpYWwgYXNzdW1wdGlvbiB3YXMgdGhhdCBpdCB3YXMsIGJ1dCBJJiMzOTtkIGJldHRlciBiZSBzdXJlLiBXaGF0IGFib3V0IGBDRkc4MDIxMWA/IFRoZXJlJiMzOTtzIGEgbmFnZ2luZyBmZWVsaW5nIHRoYXQgdGhleSBtaWdodCBpbnRlcmFjdC4KCkxldCBtZSBqdXN0IHF1aWNrbHkgdmVyaWZ5IGluIHRoZSBgbmV0L21hYzgwMjExL0tjb25maWdgIGZpbGUsIEkgcmVtZW1iZXIgc29tZSBwb3RlbnRpYWwgaW50ZXJhY3Rpb25zIG9yIGRlcGVuZGVuY2llcyAtIHRoZSAmIzM0O2RlcGVuZHMgb24gQ0ZHODAyMTE9biYjMzQ7IGNvbW1lbnQuIE9rLCBsZXQgbWUgZG91YmxlIGNoZWNrIHRoYXQgLSBiZXR0ZXIgdG8gYmUgc3VyZS4gSXQgY291bGQgYmUgY3JpdGljYWwgdG8gZnVsbHkgdW5kZXJzdGFuZCBob3cgdGhlc2UgZnVuY3Rpb25zIGJlaGF2ZSB1bmRlciBkaWZmZXJlbnQga2VybmVsIGNvbmZpZ3VyYXRpb25zLiBObyBzZW5zZSBnb2luZyBkb3duIHRoZSByYWJiaXQgaG9sZSB3aXRob3V0IGZ1bGx5IHVuZGVyc3RhbmRpbmcgdGhlIGVudmlyb25tZW50LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtDRkc4MDIxMSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9LY29uZmlnPTI9Y29uZmlnIE1BQzgwMjExXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zLVx0dHJpc3RhdGUgXCYjMzQ7R2VuZXJpYyBJRUVFIDgwMi4xMSBOZXR3b3JraW5nIFN0YWNrIChtYWM4MDIxMSlcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQ6XHRkZXBlbmRzIG9uIENGRzgwMjExXG5uZXQvbWFjODAyMTEvS2NvbmZpZy01LVx0c2VsZWN0IENSWVBUT1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1LVxubmV0L21hYzgwMjExL0tjb25maWc6MTY6Y29tbWVudCBcJiMzNDtDRkc4MDIxMSBuZWVkcyB0byBiZSBlbmFibGVkIGZvciBNQUM4MDIxMVwmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MTc6XHRkZXBlbmRzIG9uIENGRzgwMjExPW5cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4LVxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnPTg4PWNvbmZpZyBNQUM4MDIxMV9ERUJVR0ZTXG5uZXQvbWFjODAyMTEvS2NvbmZpZy04OS1cdGJvb2wgXCYjMzQ7RXhwb3J0IG1hYzgwMjExIGludGVybmFscyBpbiBEZWJ1Z0ZTXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5MDpcdGRlcGVuZHMgb24gTUFDODAyMTEgXHUwMDI2XHUwMDI2IENGRzgwMjExX0RFQlVHRlNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTkxLVx0aGVscFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxMTA2MwoJCQkJCQkJb3V0cHV0OiAxNzQKCQkJCQkJCXRob3VnaHRzOiA0MAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgc3VtbWFyaXplZCBmcm9tIG15IHBlcnNwZWN0aXZlIGFzIHNvbWVvbmUgZmFtaWxpYXIgd2l0aCB0aGVzZSBzeXN0ZW1zOgoKKipXaXJlbGVzcyBDb25maWd1cmF0aW9uICZhbXA7IEludGVyZmFjZSBTZXR1cCoqCgpSaWdodCwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgYW5kIGl0JiMzOTtzIGNsZWFyIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyBoZWF2aWx5IGRlcGVuZGVudCBvbiBgQ0ZHODAyMTFgLiBUaGF0JiMzOTtzIHRoZSBjb3JlIHdpcmVsZXNzIGNvbmZpZ3VyYXRpb24gZnJhbWV3b3JrLCBzbyB0aGF0JiMzOTtzIGV4cGVjdGVkLiBBaCwgeWVzLCBsb29raW5nIGF0IHRoZSBjb2RlLCBpdCBsb29rcyBsaWtlIGBNQUM4MDIxMWAgaXMgdGhlIGFjdHVhbCBtb2R1bGUgSSBuZWVkIHRvIGNvbmZpZ3VyZSBhbmQgZW5hYmxlIHRvIG1ha2UgYWxsIG9mIHRoaXMgd29yay4gT2theSwgbm93IHRoYXQgSSBoYXZlIHRoaXMgc29ydGVkIG91dCwgdGltZSB0byBjYWxsIGBzZXQtcmVzdWx0c2AuIEhvcGVmdWxseSwgaXQmIzM5O3MgYWxsIGNvbmZpZ3VyZWQgY29ycmVjdGx5LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE2LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAwNTo0ODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TUFDODAyMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvJiMzNDssCiAgICAmIzM0O2llZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBzdGF0aW9uIGNhcGFiaWxpdHkgaW5pdGlhbGl6YXRpb24gaW4gSUJTUyBtb2RlIGJ5IHJlcGxhY2luZyBhIGhhcmRjb2RlZCByeF9uc3MgcmVzZXQgd2l0aCBhIGNhbGwgdG8gaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1hYzgwMjExIHN0YWNrIHRoYXQgYWZmZWN0cyBob3cgc3RhdGlvbiBjYXBhYmlsaXRpZXMgYXJlIHBhcnNlZCBhbmQgdXBkYXRlZCB3aGVuIHJlY2VpdmluZyBtYW5hZ2VtZW50IGZyYW1lcy4gSXQgaXMgcmVhY2hhYmxlIHZpYSBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSBsaWtlIG1hYzgwMjExX2h3c2ltIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtNQUM4MDIxMSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2llZWU4MDIxMV91cGRhdGVfc3RhX2luZm8mIzM0OywKICAgICYjMzQ7aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpb24gY2FwYWJpbGl0eSBpbml0aWFsaXphdGlvbiBpbiBJQlNTIG1vZGUgYnkgcmVwbGFjaW5nIGEgaGFyZGNvZGVkIHJ4X25zcyByZXNldCB3aXRoIGEgY2FsbCB0byBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgbWFjODAyMTEgc3RhY2sgdGhhdCBhZmZlY3RzIGhvdyBzdGF0aW9uIGNhcGFiaWxpdGllcyBhcmUgcGFyc2VkIGFuZCB1cGRhdGVkIHdoZW4gcmVjZWl2aW5nIG1hbmFnZW1lbnQgZnJhbWVzLiBJdCBpcyByZWFjaGFibGUgdmlhIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIGxpa2UgbWFjODAyMTFfaHdzaW0gYW5kIHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0NzowNi40MjkxNTIwNzRaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5NDEzMzQ5OTI3NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJNQUM4MDIxMVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9cIixcbiAgICBcImllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpb24gY2FwYWJpbGl0eSBpbml0aWFsaXphdGlvbiBpbiBJQlNTIG1vZGUgYnkgcmVwbGFjaW5nIGEgaGFyZGNvZGVkIHJ4X25zcyByZXNldCB3aXRoIGEgY2FsbCB0byBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgbWFjODAyMTEgc3RhY2sgdGhhdCBhZmZlY3RzIGhvdyBzdGF0aW9uIGNhcGFiaWxpdGllcyBhcmUgcGFyc2VkIGFuZCB1cGRhdGVkIHdoZW4gcmVjZWl2aW5nIG1hbmFnZW1lbnQgZnJhbWVzLiBJdCBpcyByZWFjaGFibGUgdmlhIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIGxpa2UgbWFjODAyMTFfaHdzaW0gYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDA1OjQ3OjA2LjQyOTE1NzA5NFoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTEwNDc1MDA4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNTk5ZGJjZDE1Yjk3Y2UwNDgwOWQwZDU4ZTFjNDU5YjRlNDhmZjFmYVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVHVlIEp1bCA3IDA1OjQ3OjA0IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS9pYnNzLmMgYi9uZXQvbWFjODAyMTEvaWJzcy5jXFxuaW5kZXggZDBmZDYwNTRmMTgyMDAuLjFlNTQxNGVlMjdjMGQxIDEwMDY0NFxcbi0tLSBhL25ldC9tYWM4MDIxMS9pYnNzLmNcXG4rKysgYi9uZXQvbWFjODAyMTEvaWJzcy5jXFxuQEAgLTEwMjksOCArMTAyOSw4IEBAIHN0YXRpYyB2b2lkIGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm8oc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXFxuIFxcdFxcdHUzMiBjaGFuZ2VkID0gSUVFRTgwMjExX1JDX1NVUFBfUkFURVNfQ0hBTkdFRDtcXG4gXFx0XFx0dTggcnhfbnNzID0gc3RhLVxcdTAwM2VzdGEuZGVmbGluay5yeF9uc3M7XFxuIFxcbi1cXHRcXHQvKiBGb3JjZSByeF9uc3MgcmVjYWxjdWxhdGlvbiAqL1xcbi1cXHRcXHRzdGEtXFx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcyA9IDA7XFxuK1xcdFxcdGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYShcXHUwMDI2c3RhLVxcdTAwM2VkZWZsaW5rLFxcbitcXHRcXHRcXHRcXHRcXHQgICAgICAgXFx1MDAyNnNkYXRhLVxcdTAwM2VkZWZsaW5rLmNvbmYtXFx1MDAzZWNoYW5yZXEub3Blcik7XFxuIFxcdFxcdHJhdGVfY29udHJvbF9yYXRlX2luaXQoXFx1MDAyNnN0YS1cXHUwMDNlZGVmbGluayk7XFxuIFxcdFxcdGlmIChzdGEtXFx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcyAhPSByeF9uc3MpXFxuIFxcdFxcdFxcdGNoYW5nZWQgfD0gSUVFRTgwMjExX1JDX05TU19DSEFOR0VEO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0NzowNi45NDAzNTEzNDJaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjkzNjIyMjkyMTQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk1BQzgwMjExXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb1wiLFxuICAgIFwiaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgc3RhdGlvbiBjYXBhYmlsaXR5IGluaXRpYWxpemF0aW9uIGluIElCU1MgbW9kZSBieSByZXBsYWNpbmcgYSBoYXJkY29kZWQgcnhfbnNzIHJlc2V0IHdpdGggYSBjYWxsIHRvIGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBtYWM4MDIxMSBzdGFjayB0aGF0IGFmZmVjdHMgaG93IHN0YXRpb24gY2FwYWJpbGl0aWVzIGFyZSBwYXJzZWQgYW5kIHVwZGF0ZWQgd2hlbiByZWNlaXZpbmcgbWFuYWdlbWVudCBmcmFtZXMuIEl0IGlzIHJlYWNoYWJsZSB2aWEgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgbGlrZSBtYWM4MDIxMV9od3NpbSBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA1OTlkYmNkMTViOTdjZTA0ODA5ZDBkNThlMWM0NTliNGU0OGZmMWZhXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdWwgNyAwNTo0NzowNCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS9pYnNzLmMgYi9uZXQvbWFjODAyMTEvaWJzcy5jXG5pbmRleCBkMGZkNjA1NGYxODIwMC4uMWU1NDE0ZWUyN2MwZDEgMTAwNjQ0XG4tLS0gYS9uZXQvbWFjODAyMTEvaWJzcy5jXG4rKysgYi9uZXQvbWFjODAyMTEvaWJzcy5jXG5AQCAtMTAyOSw4ICsxMDI5LDggQEAgc3RhdGljIHZvaWQgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSxcbiBcdFx0dTMyIGNoYW5nZWQgPSBJRUVFODAyMTFfUkNfU1VQUF9SQVRFU19DSEFOR0VEO1xuIFx0XHR1OCByeF9uc3MgPSBzdGEtXHUwMDNlc3RhLmRlZmxpbmsucnhfbnNzO1xuIFxuLVx0XHQvKiBGb3JjZSByeF9uc3MgcmVjYWxjdWxhdGlvbiAqL1xuLVx0XHRzdGEtXHUwMDNlc3RhLmRlZmxpbmsucnhfbnNzID0gMDtcbitcdFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKFx1MDAyNnN0YS1cdTAwM2VkZWZsaW5rLFxuK1x0XHRcdFx0XHQgICAgICAgXHUwMDI2c2RhdGEtXHUwMDNlZGVmbGluay5jb25mLVx1MDAzZWNoYW5yZXEub3Blcik7XG4gXHRcdHJhdGVfY29udHJvbF9yYXRlX2luaXQoXHUwMDI2c3RhLVx1MDAzZWRlZmxpbmspO1xuIFx0XHRpZiAoc3RhLVx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcyAhPSByeF9uc3MpXG4gXHRcdFx0Y2hhbmdlZCB8PSBJRUVFODAyMTFfUkNfTlNTX0NIQU5HRUQ7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0NzowNi45NDAzNTI4OTJaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMzk4MDk0MDc0MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIElCU1MgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgbmV0L21hYzgwMjExL2lic3MuY2AuIFNlZW1zIGxpa2Ugc29tZW9uZSdzIG1hZGUgYSBjaGFuZ2UgdG8gdGhlIGBpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvYCBmdW5jdGlvbiwgd2hpY2ggaXMgYWx3YXlzIGludGVyZXN0aW5nLiBTcGVjaWZpY2FsbHksIGl0IGxvb2tzIGxpa2UgdGhleSd2ZSByZW1vdmVkIGEgbGluZSB0aGF0IHdhcyBleHBsaWNpdGx5IHJlc2V0dGluZyBgc3RhLVx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zc2AgdG8gMC4gSG1tLCB0aGF0J3MgYSBiaXQgZGlyZWN0LCBhbmQgSSdkIGxpa2UgdG8gdW5kZXJzdGFuZCB0aGUgcmVhc29uaW5nLlxuXG5UaGV5J3ZlIHJlcGxhY2VkIHRoYXQgcmVzZXQgd2l0aCBhIGNhbGwgdG8gYGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYWAsIHBhc3NpbmcgaW4gYFx1MDAyNnN0YS1cdTAwM2VkZWZsaW5rYCBhbmQgdGhlIG9wZXJhdGlvbmFsIGNoYW5uZWwgcmVxdWVzdCBpbmZvcm1hdGlvbiBgXHUwMDI2c2RhdGEtXHUwMDNlZGVmbGluay5jb25mLVx1MDAzZWNoYW5yZXEub3BlcmAuICBTbywgaW5zdGVhZCBvZiBqdXN0IGZvcmNpbmcgdGhlIGByeF9uc3NgIHRvIHplcm8sIHRoZXkncmUgbm93IGNhbGxpbmcgYSBmdW5jdGlvbiB0byBpbml0aWFsaXplIHRoZSBOU1MgKE51bWJlciBvZiBTcGF0aWFsIFN0cmVhbXMpIGFuZCBiYW5kd2lkdGggY2FwYWJpbGl0aWVzIG9mIHRoZSBzdGF0aW9uJ3MgZGVmbGluaywgbGlrZWx5IGJhc2VkIG9uIHRoZSBjdXJyZW50IG9wZXJhdGlvbmFsIGNoYW5uZWwuIFRoYXQgbWFrZXMgc2Vuc2U7IGl0J3MgbW9yZSBkeW5hbWljLlxuXG5JJ2xsIG5lZWQgdG8gZGlnIGludG8gYG5ldC9tYWM4MDIxMS9pYnNzLmNgIHRvIGZ1bGx5IHVuZGVyc3RhbmQgdGhlIGNvbnRleHQuIEknbGwgYWxzbyB3YW50IHRvIHJldmlldyB0aGUgY29kZSBmb3IgYGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9gIGl0c2VsZi4gVGhpcyBtZWFucyBsb29raW5nIGF0IGhvdyB0aGUgZnVuY3Rpb24gaXMgdXNlZCBhbmQgd2hhdCBvdGhlciBkYXRhIGl0IHVwZGF0ZXMuIEl04oCZcyBpbXBvcnRhbnQgdG8gdW5kZXJzdGFuZCB0aGUgZmxvdyBoZXJlLiBJJ20gZXNwZWNpYWxseSBpbnRlcmVzdGVkIGluIGhvdyB0aGUgb3BlcmF0aW9uYWwgY2hhbm5lbCBpbmZvcm1hdGlvbiBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHN0YXRpb24gZGF0YSB0byBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgTlNTLlxuXG5UaGlzIGNvdWxkIGJlIGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uLCBhIGJ1ZyBmaXgsIG9yIGV2ZW4gYSBmZWF0dXJlIGFkZGl0aW9uIHJlbGF0ZWQgdG8gbW9yZSBpbnRlbGxpZ2VudCBiYW5kd2lkdGggbWFuYWdlbWVudCBpbiBJQlNTIG1vZGUuIEkgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSBvcmlnaW5hbCBwcm9ibGVtIHRoZSBwYXRjaCBpcyB0cnlpbmcgdG8gc29sdmUsIGFuZCBldmFsdWF0ZSB0aGUgZWZmZWN0cyBvZiB0aGUgYGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYWAgY2FsbCBpbiB0aGlzIGZ1bmN0aW9uLiBUaGlzIGluaXRpYWxpemF0aW9uIGlzIGxpa2VseSB0byBiZSBhIGNvbXBsZXggZnVuY3Rpb24sIGFuZCBJJ2xsIG5lZWQgdG8gcmVhZCB0aGlzIG9uZSBjYXJlZnVsbHkuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE5NTksIk91dHB1dFRva2VucyI6NDYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjYsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0NzoyMC45MjEyOTY0NDRaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTg2NzI4NDMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvbWFjODAyMTEvaWJzcy5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9tYWM4MDIxMS9pYnNzLmM9ODk0PXN0YXRpYyB2b2lkIGllZWU4MDIxMV9yeF9tZ210X2F1dGhfaWJzcyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSxcXG4tLVxcbm5ldC9tYWM4MDIxMS9pYnNzLmMtOTI0LVxcbm5ldC9tYWM4MDIxMS9pYnNzLmM6OTI1OnN0YXRpYyB2b2lkIGllZWU4MDIxMV91cGRhdGVfc3RhX2luZm8oc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXFxubmV0L21hYzgwMjExL2lic3MuYy05MjYtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGllZWU4MDIxMV9tZ210ICptZ210LCBzaXplX3QgbGVuLFxcbi0tXFxubmV0L21hYzgwMjExL2lic3MuYz0xMDQ1PXN0YXRpYyB2b2lkIGllZWU4MDIxMV9yeF9ic3NfaW5mbyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSxcXG4tLVxcbm5ldC9tYWM4MDIxMS9pYnNzLmMtMTA2MS1cXG5uZXQvbWFjODAyMTEvaWJzcy5jOjEwNjI6XFx0aWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzZGF0YSwgbWdtdCwgbGVuLCByeF9zdGF0dXMsIGVsZW1zLCBjaGFubmVsKTtcXG5uZXQvbWFjODAyMTEvaWJzcy5jLTEwNjMtXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDA1OjQ3OjIwLjk3OTk3NDUxN1oiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ5NjMwMDQ2MTcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGxldCdzIGJyZWFrIHRoaXMgZG93bi5cblxuKipEaXZpbmcgaW50byB0aGUgODAyLjExIFN0YWNrKipcblxuUmlnaHQsIHNvIHRoZSBpc3N1ZSBJJ20gbG9va2luZyBpbnRvIHNlZW1zIHRvIGJlIHJvb3RlZCBpbiBgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb2AuIFRoYXQgZnVuY3Rpb24gZ2V0cyBjYWxsZWQgYnkgYGllZWU4MDIxMV9yeF9ic3NfaW5mb2AuICBUaGF0J3MgYSBwcmV0dHkgY2xlYXIgaW5kaWNhdG9yIGl0J3MgcHJvYmFibHkgcmVsYXRlZCB0byByZWNlaXZpbmcgYW5kIHByb2Nlc3NpbmcgaW5mb3JtYXRpb24gYWJvdXQgc3RhdGlvbnMsIHByZXN1bWFibHkgd2l0aGluIGEgQlNTLiAgSXQncyBzb2xpZCwgZnVuY3Rpb25hbCBjb2RlIHdpdGhpbiB0aGUgYG1hYzgwMjExYCBmcmFtZXdvcmsuIEdvb2QuIEFuZCBpdCdzIHJlYWNoYWJsZSB0aHJvdWdoIGBtYWM4MDIxMV9od3NpbWAsIHdoaWNoIGlzIGhlbHBmdWwgZm9yIHRlc3RpbmcgYW5kIHNpbXVsYXRpb24uIFRoYXQgbmFycm93cyBkb3duIG15IGZvY3VzIGNvbnNpZGVyYWJseS4gTm93LCBteSBuZXh0IG1vdmUgaXMgdG8gbG9jYXRlIHRoZSBjb25maWd1cmF0aW9uIHNwZWNpZmljcyBmb3IgYG1hYzgwMjExYC4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaXRzIHNldHVwIHRvIGdyYXNwIGhvdyB0aGlzIHNwZWNpZmljIHBhcnQgb2YgdGhlIGNvZGUgYmVoYXZlcyB3aXRoaW4gdGhlIGJyb2FkZXIgc3lzdGVtLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyOTQ3LCJPdXRwdXRUb2tlbnMiOjM3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NzgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMDU6NDc6MjUuOTQyOTgwODU0WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU1NTA1NTY0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIk1BQzgwMjExXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9tYWM4MDIxMS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9tYWM4MDIxMS9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxubmV0L21hYzgwMjExL0tjb25maWc6Mjpjb25maWcgTUFDODAyMTFcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zLVxcdHRyaXN0YXRlIFxcXCJHZW5lcmljIElFRUUgODAyLjExIE5ldHdvcmtpbmcgU3RhY2sgKG1hYzgwMjExKVxcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2OmNvbW1lbnQgXFxcIkNGRzgwMjExIG5lZWRzIHRvIGJlIGVuYWJsZWQgZm9yIE1BQzgwMjExXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE3LVxcdGRlcGVuZHMgb24gQ0ZHODAyMTE9blxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5OmlmIE1BQzgwMjExICE9IG5cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMC1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMTpjb25maWcgTUFDODAyMTFfSEFTX1JDXFxubmV0L21hYzgwMjExL0tjb25maWctMjItXFx0Ym9vbFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI0OmNvbmZpZyBNQUM4MDIxMV9SQ19NSU5TVFJFTFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI1LVxcdGJvb2wgXFxcIk1pbnN0cmVsXFxcIiBpZiBFWFBFUlRcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNjpcXHRzZWxlY3QgTUFDODAyMTFfSEFTX1JDXFxubmV0L21hYzgwMjExL0tjb25maWctMjctXFx0ZGVmYXVsdCB5XFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz0zMT1jaG9pY2VcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zMi1cXHRwcm9tcHQgXFxcIkRlZmF1bHQgcmF0ZSBjb250cm9sIGFsZ29yaXRobVxcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzozMzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0hBU19SQ1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjM0OlxcdGRlZmF1bHQgTUFDODAyMTFfUkNfREVGQVVMVF9NSU5TVFJFTFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTM1LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQxOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMXFxubmV0L21hYzgwMjExL0tjb25maWctNDItXFx0Ym9vbCBcXFwiTWluc3RyZWxcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6NDM6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9SQ19NSU5TVFJFTFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQ0LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnPTQ4PWVuZGNob2ljZVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQ5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjUwOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUXFxubmV0L21hYzgwMjExL0tjb25maWctNTEtXFx0c3RyaW5nXFxubmV0L21hYzgwMjExL0tjb25maWc6NTI6XFx0ZGVmYXVsdCBcXFwibWluc3RyZWxfaHRcXFwiIGlmIE1BQzgwMjExX1JDX0RFRkFVTFRfTUlOU1RSRUxcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy01My1cXHRkZWZhdWx0IFxcXCJcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz01Nz1jb21tZW50IFxcXCJTb21lIHdpcmVsZXNzIGRyaXZlcnMgcmVxdWlyZSBhIHJhdGUgY29udHJvbCBhbGdvcml0aG1cXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6NTg6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMSBcXHUwMDI2XFx1MDAyNiBNQUM4MDIxMV9IQVNfUkM9blxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTU5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjYwOmNvbmZpZyBNQUM4MDIxMV9LVU5JVF9URVNUXFxubmV0L21hYzgwMjExL0tjb25maWctNjEtXFx0dHJpc3RhdGUgXFxcIktVbml0IHRlc3RzIGZvciBtYWM4MDIxMVxcXCIgaWYgIUtVTklUX0FMTF9URVNUU1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTYyLVxcdGRlcGVuZHMgb24gS1VOSVRcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExXFxubmV0L21hYzgwMjExL0tjb25maWctNjQtXFx0ZGVmYXVsdCBLVU5JVF9BTExfVEVTVFNcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTY5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjcwOmNvbmZpZyBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctNzEtXFx0Ym9vbCBcXFwiRW5hYmxlIG1hYzgwMjExIG1lc2ggbmV0d29ya2luZyBzdXBwb3J0XFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjcyOlxcdGRlcGVuZHMgb24gTUFDODAyMTFcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03My1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03OC1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo3OTpjb25maWcgTUFDODAyMTFfTEVEU1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTgwLVxcdGJvb2wgXFxcIkVuYWJsZSBMRUQgdHJpZ2dlcnNcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6ODE6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjgyOlxcdGRlcGVuZHMgb24gTEVEU19DTEFTUz15IHx8IExFRFNfQ0xBU1M9TUFDODAyMTFcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy04My1cXHRzZWxlY3QgTEVEU19UUklHR0VSU1xcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctODctXFxubmV0L21hYzgwMjExL0tjb25maWc6ODg6Y29uZmlnIE1BQzgwMjExX0RFQlVHRlNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy04OS1cXHRib29sIFxcXCJFeHBvcnQgbWFjODAyMTEgaW50ZXJuYWxzIGluIERlYnVnRlNcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6OTA6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMSBcXHUwMDI2XFx1MDAyNiBDRkc4MDIxMV9ERUJVR0ZTXFxubmV0L21hYzgwMjExL0tjb25maWctOTEtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctOTYtXFxubmV0L21hYzgwMjExL0tjb25maWc6OTc6Y29uZmlnIE1BQzgwMjExX01FU1NBR0VfVFJBQ0lOR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTk4LVxcdGJvb2wgXFxcIlRyYWNlIGFsbCBtYWM4MDIxMSBkZWJ1ZyBtZXNzYWdlc1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5OTpcXHRkZXBlbmRzIG9uIE1BQzgwMjExIFxcdTAwMjZcXHUwMDI2IFRSQUNJTkdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMDAtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTA5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExMDptZW51Y29uZmlnIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTEtXFx0Ym9vbCBcXFwiU2VsZWN0IG1hYzgwMjExIGRlYnVnZ2luZyBmZWF0dXJlc1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTI6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExMy1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTUtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTE2OmNvbmZpZyBNQUM4MDIxMV9OT0lOTElORVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExNy1cXHRib29sIFxcXCJEbyBub3QgaW5saW5lIFRYL1JYIGhhbmRsZXJzXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExODpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTktXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTMxLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzMjpjb25maWcgTUFDODAyMTFfVkVSQk9TRV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzMy1cXHRib29sIFxcXCJWZXJib3NlIGRlYnVnZ2luZyBvdXRwdXRcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTM0OlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzNS1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNDItXFxubmV0L21hYzgwMjExL0tjb25maWc6MTQzOmNvbmZpZyBNQUM4MDIxMV9NTE1FX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMTQ0LVxcdGJvb2wgXFxcIlZlcmJvc2UgbWFuYWdlZCBNTE1FIG91dHB1dFxcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxNDU6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXFxubmV0L21hYzgwMjExL0tjb25maWctMTQ2LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1My1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxNTQ6Y29uZmlnIE1BQzgwMjExX1NUQV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1NS1cXHRib29sIFxcXCJWZXJib3NlIHN0YXRpb24gZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NjpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNTctXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTYyLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2Mzpjb25maWcgTUFDODAyMTFfSFRfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNjQtXFx0Ym9vbCBcXFwiVmVyYm9zZSBIVCBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTY1OlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE2Ni1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzQtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTc1OmNvbmZpZyBNQUM4MDIxMV9PQ0JfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzYtXFx0Ym9vbCBcXFwiVmVyYm9zZSBPQ0IgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE3NzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzgtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTg1LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4Njpjb25maWcgTUFDODAyMTFfSUJTU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4Ny1cXHRib29sIFxcXCJWZXJib3NlIElCU1MgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4ODpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xODktXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTk2LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5Nzpjb25maWcgTUFDODAyMTFfUFNfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xOTgtXFx0Ym9vbCBcXFwiVmVyYm9zZSBwb3dlcnNhdmUgbW9kZSBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTk5OlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIwMC1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMDgtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjA5OmNvbmZpZyBNQUM4MDIxMV9NUExfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTAtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBlZXIgbGluayBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MjExOlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIxMjpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX01FU0hcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTMtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjIxLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyMjpjb25maWcgTUFDODAyMTFfTVBBVEhfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMjMtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBhdGggZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyNDpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMjU6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctMjI2LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNC1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMzU6Y29uZmlnIE1BQzgwMjExX01IV01QX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMjM2LVxcdGJvb2wgXFxcIlZlcmJvc2UgbWVzaCBIV01QIHJvdXRpbmcgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMzg6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctMjM5LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0Ny1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNDg6Y29uZmlnIE1BQzgwMjExX01FU0hfU1lOQ19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0OS1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggc3luY2hyb25pemF0aW9uIGRlYnVnZ2luZ1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNTA6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXFxubmV0L21hYzgwMjExL0tjb25maWc6MjUxOlxcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI1Mi1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNTgtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjU5OmNvbmZpZyBNQUM4MDIxMV9NRVNIX0NTQV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2MC1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggY2hhbm5lbCBzd2l0Y2ggZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI2MTpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNjI6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctMjYzLVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2OS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNzA6Y29uZmlnIE1BQzgwMjExX01FU0hfUFNfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNzEtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBvd2Vyc2F2ZSBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MjcyOlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI3MzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX01FU0hcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNzQtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjgwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MTpjb25maWcgTUFDODAyMTFfVERMU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4Mi1cXHRib29sIFxcXCJWZXJib3NlIFRETFMgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODQtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjkyLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5Mzpjb25maWcgTUFDODAyMTFfREVCVUdfQ09VTlRFUlNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yOTQtXFx0Ym9vbCBcXFwiRXh0cmEgc3RhdGlzdGljcyBmb3IgVFgvUlggZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5NTpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyOTY6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR0ZTXFxubmV0L21hYzgwMjExL0tjb25maWctMjk3LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMwNy1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzozMDg6Y29uZmlnIE1BQzgwMjExX1NUQV9IQVNIX01BWF9TSVpFXFxubmV0L21hYzgwMjExL0tjb25maWc6MzA5OlxcdGludCBcXFwiU3RhdGlvbiBoYXNoIHRhYmxlIG1heGltdW0gc2l6ZVxcXCIgaWYgTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMxMC1cXHRkZWZhdWx0IDBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMDU6NDc6MjUuOTk4NDkxMDE4WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzcwODQwNzMxNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIElCU1MgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIGNvbmZpZywgYE1BQzgwMjExYC4gVGhhdCBpbW1lZGlhdGVseSB0ZWxscyBtZSB3ZSdyZSBkZWFsaW5nIHdpdGggdGhlIGNvcmUgd2lyZWxlc3MgbmV0d29ya2luZyBzdGFjaywgd2hpY2ggaXMgZ29vZCB0byBrbm93LiBUaGUgcGF0Y2ggaXRzZWxmIGlzIGxvY2F0ZWQgaW4gYG5ldC9tYWM4MDIxMS9pYnNzLmNgLCBzbyB3ZSdyZSBzcGVjaWZpY2FsbHkgdGFsa2luZyBhYm91dCBJQlNTLCBvciBBZC1Ib2MgbW9kZSBmdW5jdGlvbmFsaXR5IHdpdGhpbiBgbWFjODAyMTFgLiBOb3csIG15IGluaXRpYWwgdGhvdWdodCBpcywgXCJpcyB0aGVyZSBhIHNlcGFyYXRlIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGp1c3QgZm9yIElCU1MsIHdpdGhpbiB0aGF0IGxhcmdlciBgbWFjODAyMTFgIGNvbnRleHQ/XCIgSSBzaG91bGQgcHJvYmFibHkgY29uZmlybSB3aGV0aGVyIHRoZXJlJ3MgYSBkZWRpY2F0ZWQgSUJTUyBjb25maWcgb3B0aW9uIG9yIGlmIGl0J3MgaW1wbGljaXRseSBlbmFibGVkIG9yIGRpc2FibGVkIGJhc2VkIG9uIG90aGVyIHNldHRpbmdzLiBCZXN0IHdheSB0byBjaGVjayB0aGF0IGlzIHRvIGp1bXAgb3ZlciB0byB0aGUgYG5ldC9tYWM4MDIxMS9NYWtlZmlsZWAgYW5kIHNlZSBob3cgdGhleSBoYW5kbGUgdGhlIGJ1aWxkIGNvbmZpZ3VyYXRpb25zIHJlbGF0ZWQgdG8gSUJTUy4gTGV0J3Mgc2VlIHdoYXQncyBpbiB0aGVyZS5cblxuXG4iLCJJbnB1dFRva2VucyI6NzE3NywiT3V0cHV0VG9rZW5zIjozMiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjczLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDA1OjQ3OjI5LjcwNjkwMDQ5NVoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NjMxMTA4NSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJpYnNzXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9tYWM4MDIxMS9NYWtlZmlsZVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvbWFjODAyMTEvTWFrZWZpbGU9NT1tYWM4MDIxMS15IDo9IFxcXFxcXG4tLVxcbm5ldC9tYWM4MDIxMS9NYWtlZmlsZS0xNi1cXHRzMWcubyBcXFxcXFxubmV0L21hYzgwMjExL01ha2VmaWxlOjE3OlxcdGlic3MubyBcXFxcXFxubmV0L21hYzgwMjExL01ha2VmaWxlLTE4LVxcdGlmYWNlLm8gXFxcXFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0NzoyOS43NjMyMTY5NDlaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3NDU1MjgxMDYyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIG15IG93biBtZW50YWwgcHJvY2Vzc2luZzpcblxuKipBbmFseXppbmcgdGhlIERlcGVuZGVuY3kgb2YgYGlic3Mub2AqKlxuXG5SaWdodCwgc28sIGlmIEkgdW5kZXJzdGFuZCB0aGlzIGNvcnJlY3RseSwgYGlic3Mub2AgaXMgZXNzZW50aWFsbHkgYWx3YXlzIGdvaW5nIHRvIGJlIGJ1aWx0IGFzIGxvbmcgYXMgYE1BQzgwMjExYCBpcyBlbmFibGVkLiBUaGF0IHNpbXBsaWZpZXMgdGhpbmdzLCBkb2Vzbid0IGl0PyBNZWFuaW5nLCBpZiBJIHNlZSBgTUFDODAyMTFgIGVuYWJsZWQsIEkgY2FuIGJlIHByZXR0eSBjZXJ0YWluIGBpYnNzLm9gIGlzIHRoZXJlIGFzIHdlbGwg4oCTIG5vIGZ1cnRoZXIgY2hlY2tzIG5lZWRlZCBvbiB0aGF0IGZyb250LiBJdCdzIGEgZGlyZWN0IGRlcGVuZGVuY3ksIHdoaWNoIGlzIGdvb2QgdG8ga25vdyBmb3IgYnVpbGQgY29uZmlndXJhdGlvbnMuXG5cbk5vdywgSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCBgaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhYCBhY3R1YWxseSAqZG9lcyouIEkgZG9uJ3QgcmVjYWxsIGl0IG9mZiB0aGUgdG9wIG9mIG15IGhlYWQsIGFuZCBJJ2QgbGlrZSB0byBxdWlja2x5IGRldGVybWluZSB3aGV0aGVyIGl0J3Mgc29tZXRoaW5nIHRoYXQgZ2V0cyBjYWxsZWQgZnJlcXVlbnRseSwgb3IgaWYgaXQncyBtb3JlIG9mIGFuIGluaXRpYWxpemF0aW9uIHJvdXRpbmUuIElzIGl0IGluIGEgcGVyZm9ybWFuY2UtY3JpdGljYWwgcGF0aD8gSXMgaXQganVzdCBzZXR0aW5nIHVwIHNvbWUgc3RhdGlvbiBjYXBhYmlsaXRpZXMgb3IgZG9pbmcgc29tZXRoaW5nIG1vcmUgaW52b2x2ZWQ/IEknbGwgY2hlY2sgaXRzIGRlZmluaXRpb24gdG8gZ2V0IGEgYmV0dGVyIHNlbnNlIG9mIGl0cyByb2xlLiBUaGF0IHdpbGwgZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IGl0J3Mgc29tZXRoaW5nIEkgbmVlZCB0byBrZWVwIGFuIGV5ZSBvbiB3aGVuIGxvb2tpbmcgYXQgb3ZlcmFsbCBzeXN0ZW0gcGVyZm9ybWFuY2Ugb3Igd2hlbiBkZWJ1Z2dpbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjc1ODYsIk91dHB1dFRva2VucyI6NDgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3NiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0NzozNy4yMTg1MDAxMjFaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU4OTU2Mzg0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvbWFjODAyMTEvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9tYWM4MDIxMS9jZmcuYz0yMjYwPXN0YXRpYyBpbnQgc3RhX2xpbmtfYXBwbHlfcGFyYW1ldGVycyhzdHJ1Y3QgaWVlZTgwMjExX2xvY2FsICpsb2NhbCxcXG4tLVxcbm5ldC9tYWM4MDIxMS9jZmcuYy0yNDE4LVxcdGRlZmF1bHQ6XFxubmV0L21hYzgwMjExL2NmZy5jOjI0MTk6XFx0XFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKGxpbmtfc3RhLCBcXHUwMDI2bGluay1cXHUwMDNlY29uZi1cXHUwMDNlY2hhbnJlcS5vcGVyKTtcXG5uZXQvbWFjODAyMTEvY2ZnLmMtMjQyMC1cXHRcXHRicmVhaztcXG4tLVxcbm5ldC9tYWM4MDIxMS9pYnNzLmM9NTM4PXN0YXRpYyBzdHJ1Y3Qgc3RhX2luZm8gKmllZWU4MDIxMV9pYnNzX2ZpbmlzaF9zdGEoc3RydWN0IHN0YV9pbmZvICpzdGEpXFxuLS1cXG5uZXQvbWFjODAyMTEvaWJzcy5jLTU0NS1cXG5uZXQvbWFjODAyMTEvaWJzcy5jOjU0NjpcXHRpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoXFx1MDAyNnN0YS1cXHUwMDNlZGVmbGluayxcXG5uZXQvbWFjODAyMTEvaWJzcy5jLTU0Ny1cXHRcXHRcXHRcXHQgICAgICAgXFx1MDAyNnNkYXRhLVxcdTAwM2VkZWZsaW5rLmNvbmYtXFx1MDAzZWNoYW5yZXEub3Blcik7XFxuLS1cXG5uZXQvbWFjODAyMTEvaWJzcy5jPTkyNT1zdGF0aWMgdm9pZCBpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxcbi0tXFxubmV0L21hYzgwMjExL2lic3MuYy0xMDMxLVxcbm5ldC9tYWM4MDIxMS9pYnNzLmM6MTAzMjpcXHRcXHRpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEoXFx1MDAyNnN0YS1cXHUwMDNlZGVmbGluayxcXG5uZXQvbWFjODAyMTEvaWJzcy5jLTEwMzMtXFx0XFx0XFx0XFx0XFx0ICAgICAgIFxcdTAwMjZzZGF0YS1cXHUwMDNlZGVmbGluay5jb25mLVxcdTAwM2VjaGFucmVxLm9wZXIpO1xcbi0tXFxubmV0L21hYzgwMjExL21lc2hfcGxpbmsuYz00MjM9c3RhdGljIHZvaWQgbWVzaF9zdGFfaW5mb19pbml0KHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxcbi0tXFxubmV0L21hYzgwMjExL21lc2hfcGxpbmsuYy00NzAtXFxubmV0L21hYzgwMjExL21lc2hfcGxpbmsuYzo0NzE6XFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKFxcdTAwMjZzdGEtXFx1MDAzZWRlZmxpbmssXFxubmV0L21hYzgwMjExL21lc2hfcGxpbmsuYy00NzItXFx0XFx0XFx0XFx0ICAgICAgIFxcdTAwMjZzZGF0YS1cXHUwMDNlZGVmbGluay5jb25mLVxcdTAwM2VjaGFucmVxLm9wZXIpO1xcbi0tXFxubmV0L21hYzgwMjExL21sbWUuYz01ODQ2PXN0YXRpYyBib29sIGllZWU4MDIxMV9hc3NvY19jb25maWdfbGluayhzdHJ1Y3QgaWVlZTgwMjExX2xpbmtfZGF0YSAqbGluayxcXG4tLVxcbm5ldC9tYWM4MDIxMS9tbG1lLmMtNjIzNi1cXG5uZXQvbWFjODAyMTEvbWxtZS5jOjYyMzc6XFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKGxpbmtfc3RhLCBcXHUwMDI2YnNzX2NvbmYtXFx1MDAzZWNoYW5yZXEub3Blcik7XFxubmV0L21hYzgwMjExL21sbWUuYy02MjM4LVxcbi0tXFxubmV0L21hYzgwMjExL29jYi5jPTg3PXN0YXRpYyBzdHJ1Y3Qgc3RhX2luZm8gKmllZWU4MDIxMV9vY2JfZmluaXNoX3N0YShzdHJ1Y3Qgc3RhX2luZm8gKnN0YSlcXG4tLVxcbm5ldC9tYWM4MDIxMS9vY2IuYy05NC1cXG5uZXQvbWFjODAyMTEvb2NiLmM6OTU6XFx0aWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKFxcdTAwMjZzdGEtXFx1MDAzZWRlZmxpbmssXFxubmV0L21hYzgwMjExL29jYi5jLTk2LVxcdFxcdFxcdFxcdCAgICAgICBcXHUwMDI2c2RhdGEtXFx1MDAzZWRlZmxpbmsuY29uZi1cXHUwMDNlY2hhbnJlcS5vcGVyKTtcXG4tLVxcbm5ldC9tYWM4MDIxMS9zdGFfaW5mby5jPTM0NTM9c3RhdGljIHU4IGllZWU4MDIxMV9zdGFfbnNzX2NhcGFiaWxpdHkoc3RydWN0IGxpbmtfc3RhX2luZm8gKmxpbmtfc3RhKVxcbi0tXFxubmV0L21hYzgwMjExL3N0YV9pbmZvLmMtMzUzOS1cXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uYzozNTQwOnZvaWQgaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhKHN0cnVjdCBsaW5rX3N0YV9pbmZvICpsaW5rX3N0YSxcXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uYy0zNTQxLVxcdFxcdFxcdFxcdCAgICBzdHJ1Y3QgY2ZnODAyMTFfY2hhbl9kZWYgKmNoYW5kZWYpXFxuLS1cXG5uZXQvbWFjODAyMTEvc3RhX2luZm8uaD0xMDA5PXVuc2lnbmVkIGxvbmcgaWVlZTgwMjExX3N0YV9sYXN0X2FjdGl2ZShzdHJ1Y3Qgc3RhX2luZm8gKnN0YSwgaW50IGxpbmtfaWQpO1xcbm5ldC9tYWM4MDIxMS9zdGFfaW5mby5oLTEwMTAtXFxubmV0L21hYzgwMjExL3N0YV9pbmZvLmg6MTAxMTp2b2lkIGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYShzdHJ1Y3QgbGlua19zdGFfaW5mbyAqbGlua19zdGEsXFxubmV0L21hYzgwMjExL3N0YV9pbmZvLmgtMTAxMi1cXHRcXHRcXHRcXHQgICAgc3RydWN0IGNmZzgwMjExX2NoYW5fZGVmICpjaGFuZGVmKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMDU6NDc6MzcuMjc3NDYxMTY0WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUzNzI0NDMxNzIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRnV6emluZyBUYXJnZXQgSWRlbnRpZmljYXRpb24qKlxuXG5Pa2F5LCBzbyBJJ3ZlIHNwb3R0ZWQgYSBwb3RlbnRpYWwgdnVsbmVyYWJpbGl0eSBpbiBgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb2AsIHNwZWNpZmljYWxseSB3aXRoaW4gdGhlIElCU1MgbW9kZSBvZiB0aGUgTUFDODAyMTEgc3RhY2suIEl0IGxvb2tzIGxpa2UgYSByZWNlbnQgcGF0Y2ggY2hhbmdlZCBob3cgdGhlIHJlY2VpdmUgc3BhdGlhbCBzdHJlYW0gYW5kIGJhbmR3aWR0aCBjYXBhYmlsaXRpZXMgYXJlIGluaXRpYWxpemVkLiBJbnN0ZWFkIG9mIGp1c3Qgc2V0dGluZyBgc3RhLVx1MDAzZXN0YS5kZWZsaW5rLnJ4X25zcyA9IDBgLCBpdCBub3cgY2FsbHMgYGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYShcdTAwMjZzdGEtXHUwMDNlZGVmbGluaywgXHUwMDI2c2RhdGEtXHUwMDNlZGVmbGluay5jb25mLVx1MDAzZWNoYW5yZXEub3Blcik7YC4gVGhpcyBpcyBhIGNsZWFyIGZ1bmN0aW9uYWwgY2hhbmdlLCBzbyBpdCdzIGEgcHJpbWUgY2FuZGlkYXRlIGZvciBmdXp6aW5nLlxuXG5NeSBwcmltYXJ5IGZvY3VzIHdpbGwgYmUgb24gdGhlIGBpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvYCBmdW5jdGlvbiBpdHNlbGYgYW5kIGFsc28gdGhlIGBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGFgIGZ1bmN0aW9uLiBJIHRoaW5rIHRoZXNlIGFyZSB0aGUga2V5IHN5bWJvbHMgdG8gdGFyZ2V0LlxuXG5UaGUgb2J2aW91cyBjb25maWcgdG8gZW5hYmxlIGlzIGBNQUM4MDIxMWAsIGdpdmVuIHRoYXQncyB0aGUgYXJlYSBpbnZvbHZlZCwgYnV0IGl0IHdvdWxkIGJlIHdpc2UgdG8gZG91YmxlLWNoZWNrIGlmIEkgbmVlZCB0byBlbmFibGUgYW55dGhpbmcgZWxzZSB0byBmdWxseSBleGVyY2lzZSB0aGlzIGNvZGUgcGF0aC4gTGV0J3MgbWFrZSBzdXJlIG5vdGhpbmcgZWxzZSBpcyByZWxldmFudC4gUmlnaHQsIGl0J3MgZGVmaW5lZCBpbiBgbmV0L21hYzgwMjExL2lic3MuY2AsIHNvIEkgc2hvdWxkIGJlIGdvb2QuIFRpbWUgdG8gZGl2ZSBpbnRvIHRoZSBjb2RlIGFuZCBzdGFydCBkZXZpc2luZyBzb21lIGludGVyZXN0aW5nIHRlc3QgY2FzZXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjkyMzAsIk91dHB1dFRva2VucyI6NDYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNTEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMDU6NDc6NDIuNjQ5OTA2NTY2WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NjEzNjUxNSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9tYWM4MDIxMS9pYnNzLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L21hYzgwMjExL2lic3MuYz04OTQ9c3RhdGljIHZvaWQgaWVlZTgwMjExX3J4X21nbXRfYXV0aF9pYnNzKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxcbi0tXFxubmV0L21hYzgwMjExL2lic3MuYy05MjQtXFxubmV0L21hYzgwMjExL2lic3MuYzo5MjU6c3RhdGljIHZvaWQgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mbyhzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSxcXG5uZXQvbWFjODAyMTEvaWJzcy5jLTkyNi1cXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3QgaWVlZTgwMjExX21nbXQgKm1nbXQsIHNpemVfdCBsZW4sXFxuLS1cXG5uZXQvbWFjODAyMTEvaWJzcy5jPTEwNDU9c3RhdGljIHZvaWQgaWVlZTgwMjExX3J4X2Jzc19pbmZvKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxcbi0tXFxubmV0L21hYzgwMjExL2lic3MuYy0xMDYxLVxcbm5ldC9tYWM4MDIxMS9pYnNzLmM6MTA2MjpcXHRpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvKHNkYXRhLCBtZ210LCBsZW4sIHJ4X3N0YXR1cywgZWxlbXMsIGNoYW5uZWwpO1xcbm5ldC9tYWM4MDIxMS9pYnNzLmMtMTA2My1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMDU6NDc6NDIuNzA2MDQ4ODkxWiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE2OTczNzUzMTE4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBNQUM4MDIxMSBGdW5jdGlvbiBEZXBlbmRlbmNpZXMqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGVzZSB0d28gZnVuY3Rpb25zOiBgaWVlZTgwMjExX3VwZGF0ZV9zdGFfaW5mb2AsIHdoaWNoIGlzIGEgc3RhdGljIGZ1bmN0aW9uIGJ1cmllZCB3aXRoaW4gYG5ldC9tYWM4MDIxMS9pYnNzLmNgLCBhbmQgYGllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYWAsIGEgZ2xvYmFsIGZ1bmN0aW9uIGZvdW5kIGluIGBuZXQvbWFjODAyMTEvc3RhX2luZm8uY2AuIFRoZSBtZW50YWwgbm90ZSBpcyB0byB0cmFjZSB0aGVpciBkZXBlbmRlbmNpZXMsIGlmIGFueSwgdGhyb3VnaCB0aGUgYnVpbGQgc3lzdGVtLiBUaGUgcHJpbWFyeSBjb25maWcgSSdtIHdvcmtpbmcgd2l0aCBoZXJlIGlzIGBNQUM4MDIxMWAuXG5cbkJ1dCB3YWl0IGEgbWludXRlLCBiZWZvcmUgSSBnbyB0b28gZmFyIGRvd24gdGhhdCByYWJiaXQgaG9sZSwgYW0gSSBtaXNzaW5nIHNvbWV0aGluZz8gSXMgYE1BQzgwMjExYCB0aGUgKm9ubHkqIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9uIGhlcmU/IE15IGluaXRpYWwgYXNzdW1wdGlvbiB3YXMgdGhhdCBpdCB3YXMsIGJ1dCBJJ2QgYmV0dGVyIGJlIHN1cmUuIFdoYXQgYWJvdXQgYENGRzgwMjExYD8gVGhlcmUncyBhIG5hZ2dpbmcgZmVlbGluZyB0aGF0IHRoZXkgbWlnaHQgaW50ZXJhY3QuXG5cbkxldCBtZSBqdXN0IHF1aWNrbHkgdmVyaWZ5IGluIHRoZSBgbmV0L21hYzgwMjExL0tjb25maWdgIGZpbGUsIEkgcmVtZW1iZXIgc29tZSBwb3RlbnRpYWwgaW50ZXJhY3Rpb25zIG9yIGRlcGVuZGVuY2llcyAtIHRoZSBcImRlcGVuZHMgb24gQ0ZHODAyMTE9blwiIGNvbW1lbnQuIE9rLCBsZXQgbWUgZG91YmxlIGNoZWNrIHRoYXQgLSBiZXR0ZXIgdG8gYmUgc3VyZS4gSXQgY291bGQgYmUgY3JpdGljYWwgdG8gZnVsbHkgdW5kZXJzdGFuZCBob3cgdGhlc2UgZnVuY3Rpb25zIGJlaGF2ZSB1bmRlciBkaWZmZXJlbnQga2VybmVsIGNvbmZpZ3VyYXRpb25zLiBObyBzZW5zZSBnb2luZyBkb3duIHRoZSByYWJiaXQgaG9sZSB3aXRob3V0IGZ1bGx5IHVuZGVyc3RhbmRpbmcgdGhlIGVudmlyb25tZW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjoxMDE2NywiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIyNCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QwNTo0Nzo1OS42Nzk4MDQzMjhaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI4NzM2MzAxMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJDRkc4MDIxMVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvbWFjODAyMTEvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvbWFjODAyMTEvS2NvbmZpZz0yPWNvbmZpZyBNQUM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMtXFx0dHJpc3RhdGUgXFxcIkdlbmVyaWMgSUVFRSA4MDIuMTEgTmV0d29ya2luZyBTdGFjayAobWFjODAyMTEpXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQ6XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTUtXFx0c2VsZWN0IENSWVBUT1xcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTUtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTY6Y29tbWVudCBcXFwiQ0ZHODAyMTEgbmVlZHMgdG8gYmUgZW5hYmxlZCBmb3IgTUFDODAyMTFcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTc6XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMT1uXFxubmV0L21hYzgwMjExL0tjb25maWctMTgtXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz04OD1jb25maWcgTUFDODAyMTFfREVCVUdGU1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg5LVxcdGJvb2wgXFxcIkV4cG9ydCBtYWM4MDIxMSBpbnRlcm5hbHMgaW4gRGVidWdGU1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5MDpcXHRkZXBlbmRzIG9uIE1BQzgwMjExIFxcdTAwMjZcXHUwMDI2IENGRzgwMjExX0RFQlVHRlNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy05MS1cXHRoZWxwXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDA1OjQ3OjU5Ljk2NzE3MjY5OFoiLCJTZXEiOjE1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MDUwNjA3NDg1NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGludGVycHJldGF0aW9uIG9mIHRob3NlIHRob3VnaHRzLCBzdW1tYXJpemVkIGZyb20gbXkgcGVyc3BlY3RpdmUgYXMgc29tZW9uZSBmYW1pbGlhciB3aXRoIHRoZXNlIHN5c3RlbXM6XG5cbioqV2lyZWxlc3MgQ29uZmlndXJhdGlvbiBcdTAwMjYgSW50ZXJmYWNlIFNldHVwKipcblxuUmlnaHQsIHNvIEknbSBsb29raW5nIGF0IHRoaXMgYW5kIGl0J3MgY2xlYXIgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIGhlYXZpbHkgZGVwZW5kZW50IG9uIGBDRkc4MDIxMWAuIFRoYXQncyB0aGUgY29yZSB3aXJlbGVzcyBjb25maWd1cmF0aW9uIGZyYW1ld29yaywgc28gdGhhdCdzIGV4cGVjdGVkLiBBaCwgeWVzLCBsb29raW5nIGF0IHRoZSBjb2RlLCBpdCBsb29rcyBsaWtlIGBNQUM4MDIxMWAgaXMgdGhlIGFjdHVhbCBtb2R1bGUgSSBuZWVkIHRvIGNvbmZpZ3VyZSBhbmQgZW5hYmxlIHRvIG1ha2UgYWxsIG9mIHRoaXMgd29yay4gT2theSwgbm93IHRoYXQgSSBoYXZlIHRoaXMgc29ydGVkIG91dCwgdGltZSB0byBjYWxsIGBzZXQtcmVzdWx0c2AuIEhvcGVmdWxseSwgaXQncyBhbGwgY29uZmlndXJlZCBjb3JyZWN0bHkuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjExMDYzLCJPdXRwdXRUb2tlbnMiOjE3NCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQwLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDA1OjQ4OjQwLjQ3MzI1MDAwNVoiLCJTZXEiOjE2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg5Mzg5Njk1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJNQUM4MDIxMVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImllZWU4MDIxMV91cGRhdGVfc3RhX2luZm9cIixcbiAgICBcImllZWU4MDIxMV9zdGFfaW5pdF9uc3NfYndfY2FwYVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHN0YXRpb24gY2FwYWJpbGl0eSBpbml0aWFsaXphdGlvbiBpbiBJQlNTIG1vZGUgYnkgcmVwbGFjaW5nIGEgaGFyZGNvZGVkIHJ4X25zcyByZXNldCB3aXRoIGEgY2FsbCB0byBpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGEuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgbWFjODAyMTEgc3RhY2sgdGhhdCBhZmZlY3RzIGhvdyBzdGF0aW9uIGNhcGFiaWxpdGllcyBhcmUgcGFyc2VkIGFuZCB1cGRhdGVkIHdoZW4gcmVjZWl2aW5nIG1hbmFnZW1lbnQgZnJhbWVzLiBJdCBpcyByZWFjaGFibGUgdmlhIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIGxpa2UgbWFjODAyMTFfaHdzaW0gYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTUFDODAyMTFcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJpZWVlODAyMTFfdXBkYXRlX3N0YV9pbmZvXCIsXG4gICAgXCJpZWVlODAyMTFfc3RhX2luaXRfbnNzX2J3X2NhcGFcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBzdGF0aW9uIGNhcGFiaWxpdHkgaW5pdGlhbGl6YXRpb24gaW4gSUJTUyBtb2RlIGJ5IHJlcGxhY2luZyBhIGhhcmRjb2RlZCByeF9uc3MgcmVzZXQgd2l0aCBhIGNhbGwgdG8gaWVlZTgwMjExX3N0YV9pbml0X25zc19id19jYXBhLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1hYzgwMjExIHN0YWNrIHRoYXQgYWZmZWN0cyBob3cgc3RhdGlvbiBjYXBhYmlsaXRpZXMgYXJlIHBhcnNlZCBhbmQgdXBkYXRlZCB3aGVuIHJlY2VpdmluZyBtYW5hZ2VtZW50IGZyYW1lcy4gSXQgaXMgcmVhY2hhYmxlIHZpYSBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSBsaWtlIG1hYzgwMjExX2h3c2ltIGFuZCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },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-workflowwkm7s[1] Phase: Succeeded StartedAt: 2026-07-07 05:48:52 +0000 UTC FinishedAt: 2026-07-07 05:48:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-07 05:48:52 +0000 UTC FinishedAt: 2026-07-07 05:48:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2] Phase: Succeeded StartedAt: 2026-07-07 05:48:52 +0000 UTC FinishedAt: 2026-07-07 10:36:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-07 05:48:52 +0000 UTC FinishedAt: 2026-07-07 10:36:13 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-07 05:48:52 +0000 UTC FinishedAt: 2026-07-07 05:49:02 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-07 05:48:52 +0000 UTC FinishedAt: 2026-07-07 05:48:58 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},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-workflowwkm7s/series-workflowwkm7s-convert-artifact-3179150600/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-07 05:49:02 +0000 UTC FinishedAt: 2026-07-07 06:31:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-07 05:49:02 +0000 UTC FinishedAt: 2026-07-07 06:31:32 +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:*ad39548b-2e56-403c-8744-021ac8abe7a8,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-workflowwkm7s/series-workflowwkm7s-convert-artifact-3179150600/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": "4ae8cf4e-6e4e-45dc-87d6-4eb0bddcd2ac", "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-workflowwkm7s/series-workflowwkm7s-build-action-1642583934/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-07 05:49:02 +0000 UTC FinishedAt: 2026-07-07 06:31:22 +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:*ad39548b-2e56-403c-8744-021ac8abe7a8,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-workflowwkm7s/series-workflowwkm7s-convert-artifact-3179150600/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": "4ae8cf4e-6e4e-45dc-87d6-4eb0bddcd2ac", "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-workflowwkm7s/series-workflowwkm7s-build-action-1642583934/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-07 06:31:32 +0000 UTC FinishedAt: 2026-07-07 06:31:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-07 06:31:32 +0000 UTC FinishedAt: 2026-07-07 06:31:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-07 06:31:32 +0000 UTC FinishedAt: 2026-07-07 06:31:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-07 06:31:32 +0000 UTC FinishedAt: 2026-07-07 06:31:39 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},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-workflowwkm7s/series-workflowwkm7s-convert-artifact-3309523951/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-07 06:31:42 +0000 UTC FinishedAt: 2026-07-07 06:34:02 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-07 06:31:42 +0000 UTC FinishedAt: 2026-07-07 06:33:52 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*4ae8cf4e-6e4e-45dc-87d6-4eb0bddcd2ac,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-workflowwkm7s/series-workflowwkm7s-build-action-1642583934/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-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-07 06:34:02 +0000 UTC FinishedAt: 2026-07-07 06:34:02 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-07 06:34:02 +0000 UTC FinishedAt: 2026-07-07 06:34:02 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-07 06:34:02 +0000 UTC FinishedAt: 2026-07-07 07:29:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-07 06:34:02 +0000 UTC FinishedAt: 2026-07-07 07:29:29 +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:*ad39548b-2e56-403c-8744-021ac8abe7a8,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-workflowwkm7s/series-workflowwkm7s-convert-artifact-3309523951/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": "08de2dba-25de-4106-ad84-90e440f2d9ef", "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-workflowwkm7s/series-workflowwkm7s-build-action-308463491/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-07 06:34:02 +0000 UTC FinishedAt: 2026-07-07 07:28:29 +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:*ad39548b-2e56-403c-8744-021ac8abe7a8,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-workflowwkm7s/series-workflowwkm7s-convert-artifact-3309523951/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": "08de2dba-25de-4106-ad84-90e440f2d9ef", "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-workflowwkm7s/series-workflowwkm7s-build-action-308463491/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-07 07:29:29 +0000 UTC FinishedAt: 2026-07-07 07:29:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-07 07:29:29 +0000 UTC FinishedAt: 2026-07-07 07:29:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-07 07:29:29 +0000 UTC FinishedAt: 2026-07-07 07:32:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-07 07:29:30 +0000 UTC FinishedAt: 2026-07-07 07:31:43 +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:*08de2dba-25de-4106-ad84-90e440f2d9ef,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-workflowwkm7s/series-workflowwkm7s-build-action-308463491/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-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-07 07:32:01 +0000 UTC FinishedAt: 2026-07-07 07:32:02 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-07 07:32:02 +0000 UTC FinishedAt: 2026-07-07 10:36:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-07 07:32:02 +0000 UTC FinishedAt: 2026-07-07 10:36:13 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"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:*4ae8cf4e-6e4e-45dc-87d6-4eb0bddcd2ac,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*08de2dba-25de-4106-ad84-90e440f2d9ef,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-workflowwkm7s/series-workflowwkm7s-build-action-1642583934/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-workflowwkm7s/series-workflowwkm7s-build-action-308463491/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-07 07:32:02 +0000 UTC FinishedAt: 2026-07-07 07:32:02 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-07 07:32:03 +0000 UTC FinishedAt: 2026-07-07 07:32:27 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-07 07:32:03 +0000 UTC FinishedAt: 2026-07-07 07:32:10 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"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-workflowwkm7s/series-workflowwkm7s-convert-artifact-779798440/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-07 07:32:03 +0000 UTC FinishedAt: 2026-07-07 07:32:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-07 07:32:27 +0000 UTC FinishedAt: 2026-07-07 10:36:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwkm7s[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ieee80211_update_sta_info","ieee80211_sta_init_nss_bw_capa"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cdeaa50eae8dad34885515f62559ee83e7e8dda","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211"],"series_id":"db60c0d7-2649-4f54-831a-ff7320c79abb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-07 07:32:27 +0000 UTC FinishedAt: 2026-07-07 10:35:52 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*4ae8cf4e-6e4e-45dc-87d6-4eb0bddcd2ac,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*08de2dba-25de-4106-ad84-90e440f2d9ef,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-workflowwkm7s/series-workflowwkm7s-build-action-1642583934/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-workflowwkm7s/series-workflowwkm7s-build-action-308463491/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-workflowwkm7s/series-workflowwkm7s-convert-artifact-779798440/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,}