Name: series-workflow6lltr Phase: Succeeded StartedAt: 2026-07-10 07:47:11 +0000 UTC FinishedAt: 2026-07-10 10:04:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[0] Phase: Succeeded StartedAt: 2026-07-10 07:47:11 +0000 UTC FinishedAt: 2026-07-10 08:06:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[0].run-triage Phase: Succeeded StartedAt: 2026-07-10 07:47:11 +0000 UTC FinishedAt: 2026-07-10 08:06:12 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "linux-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next", "commit_hash": "722c7de93c5cf558bfedd8b9583845b1ce227a8e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BRCMFMAC", "BRCMFMAC_USB" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "linux-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next", "commit_hash": "722c7de93c5cf558bfedd8b9583845b1ce227a8e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BRCMFMAC", "BRCMFMAC_USB" ], "series_id": "9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "brcmf_cyw_mgmt_tx", "brcmf_cyw_external_auth" ], "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+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjAzPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JSQ01GTUFDJiMzNDssCiAgICAmIzM0O0JSQ01GTUFDX1VTQiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JyY21mX2N5d19tZ210X3R4JiMzNDssCiAgICAmIzM0O2JyY21mX2N5d19leHRlcm5hbF9hdXRoJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBsb2dpYyBpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlciAoYnJjbWZtYWMpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBmcm9tIHVzZXJzcGFjZSB2aWEgbmw4MDIxMSBjb21tYW5kcyBhbmQgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgZW11bGF0b3IuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDM8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA1ZTUxYzBkOWZjMmI5MmJkM2VlZmY4YWIwOWIxZTVkOTExNTBlYzVhXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMTAgMDg6MDM6MTEgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY1xuaW5kZXggY2UwOWQ0NGZhNzNjZjguLmNjYTUzZmYxOTM2YTQwIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXG5AQCAtMjMsNiAmIzQzOzIzLDggQEBcbiAjZGVmaW5lIE1HTVRfQVVUSF9GUkFNRV9EV0VMTF9USU1FXHQ0MDAwXG4gI2RlZmluZSBNR01UX0FVVEhfRlJBTUVfV0FJVF9USU1FXHQoTUdNVF9BVVRIX0ZSQU1FX0RXRUxMX1RJTUUgJiM0MzsgMTAwKVxuIFxuJiM0MztzdGF0aWMgYXRvbWljX3QgYnJjbWZfY3l3X21nbXRfdHhfaWQgPSBBVE9NSUNfSU5JVCgwKTtcbiYjNDM7XG4gc3RhdGljIGludCBicmNtZl9jeXdfc2V0X3NhZV9wd2Qoc3RydWN0IGJyY21mX2lmICppZnAsXG4gXHRcdFx0XHQgc3RydWN0IGNmZzgwMjExX2NyeXB0b19zZXR0aW5ncyAqY3J5cHRvKVxuIHtcbkBAIC0xNTUsNyAmIzQzOzE1Nyw3IEBAIGludCBicmNtZl9jeXdfbWdtdF90eChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxuIFxuIFx0bWVtY3B5KFx1MDAyNm1mX3BhcmFtcy1cdTAwM2VkYVswXSwgXHUwMDI2bWdtdC1cdTAwM2VkYVswXSwgRVRIX0FMRU4pO1xuIFx0bWVtY3B5KFx1MDAyNm1mX3BhcmFtcy1cdTAwM2Vic3NpZFswXSwgXHUwMDI2bWdtdC1cdTAwM2Vic3NpZFswXSwgRVRIX0FMRU4pO1xuLVx0bWZfcGFyYW1zLVx1MDAzZXBhY2tldF9pZCA9IGNwdV90b19sZTMyKCpjb29raWUpO1xuJiM0MztcdG1mX3BhcmFtcy1cdTAwM2VwYWNrZXRfaWQgPSBjcHVfdG9fbGUzMihhdG9taWNfaW5jX3JldHVybihcdTAwMjZicmNtZl9jeXdfbWdtdF90eF9pZCkpO1xuIFx0bWVtY3B5KG1mX3BhcmFtcy1cdTAwM2VkYXRhLCBcdTAwMjZidWZbRE9UMTFfTUdNVF9IRFJfTEVOXSxcbiBcdCAgICAgICBsZTE2X3RvX2NwdShtZl9wYXJhbXMtXHUwMDNlbGVuKSk7XG4gXG5AQCAtMjAwLDcgJiM0MzsyMDIsNyBAQCBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIHtcbiBcdHN0cnVjdCBicmNtZl9pZiAqaWZwO1xuIFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2cjtcbi1cdHN0cnVjdCBicmNtZl9hdXRoX3JlcV9zdGF0dXNfbGUgYXV0aF9zdGF0dXM7XG4mIzQzO1x0c3RydWN0IGJyY21mX2F1dGhfcmVxX3N0YXR1c19sZSBhdXRoX3N0YXR1cyA9IHt9O1xuIFx0aW50IHJldCA9IDA7XG4gXG4gXHRicmNtZl9kYmcoVFJBQ0UsIFwmIzM0O0VudGVyXFxuXCYjMzQ7KTtcbkBAIC0yMDgsNiAmIzQzOzIxMCw4IEBAIGJyY21mX2N5d19leHRlcm5hbF9hdXRoKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4gXHRpZnAgPSBuZXRkZXZfcHJpdihkZXYpO1xuIFx0ZHJ2ciA9IGlmcC1cdTAwM2VkcnZyO1xuIFx0aWYgKHBhcmFtcy1cdTAwM2VzdGF0dXMgPT0gV0xBTl9TVEFUVVNfU1VDQ0VTUykge1xuJiM0MztcdFx0aWYgKHBhcmFtcy1cdTAwM2VwbWtpZClcbiYjNDM7XHRcdFx0bWVtY3B5KGF1dGhfc3RhdHVzLnBta2lkLCBwYXJhbXMtXHUwMDNlcG1raWQsIFdMQU5fUE1LSURfTEVOKTtcbiBcdFx0YXV0aF9zdGF0dXMuZmxhZ3MgPSBjcHVfdG9fbGUxNihCUkNNRl9FWFRBVVRIX1NVQ0NFU1MpO1xuIFx0fSBlbHNlIHtcbiBcdFx0YnBoeV9lcnIoZHJ2ciwgXCYjMzQ7RXh0ZXJuYWwgYXV0aGVudGljYXRpb24gZmFpbGVkOiBzdGF0dXM9JWRcXG5cJiMzNDssXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDM8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QlJDTUZNQUMmIzM0OywKICAgICYjMzQ7QlJDTUZNQUNfVVNCJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YnJjbWZfY3l3X21nbXRfdHgmIzM0OywKICAgICYjMzQ7YnJjbWZfY3l3X2V4dGVybmFsX2F1dGgmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgbWFuYWdlbWVudCBmcmFtZSB0cmFuc21pc3Npb24gYW5kIGV4dGVybmFsIGF1dGhlbnRpY2F0aW9uIGxvZ2ljIGluIHRoZSBCcm9hZGNvbSBGdWxsTUFDIFdMQU4gZHJpdmVyIChicmNtZm1hYykuIFRoZXNlIGZ1bmN0aW9ucyBhcmUgcmVhY2hhYmxlIGZyb20gdXNlcnNwYWNlIHZpYSBubDgwMjExIGNvbW1hbmRzIGFuZCBjYW4gYmUgZnV6emVkIHVzaW5nIGEgVVNCIGdhZGdldCBlbXVsYXRvci4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNWU1MWMwZDlmYzJiOTJiZDNlZWZmOGFiMDliMWU1ZDkxMTUwZWM1YQpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgSnVsIDEwIDA4OjAzOjExIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYwppbmRleCBjZTA5ZDQ0ZmE3M2NmOC4uY2NhNTNmZjE5MzZhNDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jCkBAIC0yMyw2ICYjNDM7MjMsOCBAQAogI2RlZmluZSBNR01UX0FVVEhfRlJBTUVfRFdFTExfVElNRQk0MDAwCiAjZGVmaW5lIE1HTVRfQVVUSF9GUkFNRV9XQUlUX1RJTUUJKE1HTVRfQVVUSF9GUkFNRV9EV0VMTF9USU1FICYjNDM7IDEwMCkKIAomIzQzO3N0YXRpYyBhdG9taWNfdCBicmNtZl9jeXdfbWdtdF90eF9pZCA9IEFUT01JQ19JTklUKDApOwomIzQzOwogc3RhdGljIGludCBicmNtZl9jeXdfc2V0X3NhZV9wd2Qoc3RydWN0IGJyY21mX2lmICppZnAsCiAJCQkJIHN0cnVjdCBjZmc4MDIxMV9jcnlwdG9fc2V0dGluZ3MgKmNyeXB0bykKIHsKQEAgLTE1NSw3ICYjNDM7MTU3LDcgQEAgaW50IGJyY21mX2N5d19tZ210X3R4KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsCiAKIAltZW1jcHkoJmFtcDttZl9wYXJhbXMtJmd0O2RhWzBdLCAmYW1wO21nbXQtJmd0O2RhWzBdLCBFVEhfQUxFTik7CiAJbWVtY3B5KCZhbXA7bWZfcGFyYW1zLSZndDtic3NpZFswXSwgJmFtcDttZ210LSZndDtic3NpZFswXSwgRVRIX0FMRU4pOwotCW1mX3BhcmFtcy0mZ3Q7cGFja2V0X2lkID0gY3B1X3RvX2xlMzIoKmNvb2tpZSk7CiYjNDM7CW1mX3BhcmFtcy0mZ3Q7cGFja2V0X2lkID0gY3B1X3RvX2xlMzIoYXRvbWljX2luY19yZXR1cm4oJmFtcDticmNtZl9jeXdfbWdtdF90eF9pZCkpOwogCW1lbWNweShtZl9wYXJhbXMtJmd0O2RhdGEsICZhbXA7YnVmW0RPVDExX01HTVRfSERSX0xFTl0sCiAJICAgICAgIGxlMTZfdG9fY3B1KG1mX3BhcmFtcy0mZ3Q7bGVuKSk7CiAKQEAgLTIwMCw3ICYjNDM7MjAyLDcgQEAgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIHsKIAlzdHJ1Y3QgYnJjbWZfaWYgKmlmcDsKIAlzdHJ1Y3QgYnJjbWZfcHViICpkcnZyOwotCXN0cnVjdCBicmNtZl9hdXRoX3JlcV9zdGF0dXNfbGUgYXV0aF9zdGF0dXM7CiYjNDM7CXN0cnVjdCBicmNtZl9hdXRoX3JlcV9zdGF0dXNfbGUgYXV0aF9zdGF0dXMgPSB7fTsKIAlpbnQgcmV0ID0gMDsKIAogCWJyY21mX2RiZyhUUkFDRSwgJiMzNDtFbnRlclxuJiMzNDspOwpAQCAtMjA4LDYgJiM0MzsyMTAsOCBAQCBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCWlmcCA9IG5ldGRldl9wcml2KGRldik7CiAJZHJ2ciA9IGlmcC0mZ3Q7ZHJ2cjsKIAlpZiAocGFyYW1zLSZndDtzdGF0dXMgPT0gV0xBTl9TVEFUVVNfU1VDQ0VTUykgewomIzQzOwkJaWYgKHBhcmFtcy0mZ3Q7cG1raWQpCiYjNDM7CQkJbWVtY3B5KGF1dGhfc3RhdHVzLnBta2lkLCBwYXJhbXMtJmd0O3Bta2lkLCBXTEFOX1BNS0lEX0xFTik7CiAJCWF1dGhfc3RhdHVzLmZsYWdzID0gY3B1X3RvX2xlMTYoQlJDTUZfRVhUQVVUSF9TVUNDRVNTKTsKIAl9IGVsc2UgewogCQlicGh5X2VycihkcnZyLCAmIzM0O0V4dGVybmFsIGF1dGhlbnRpY2F0aW9uIGZhaWxlZDogc3RhdHVzPSVkXG4mIzM0OywKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjQyNAoJCQkJCQkJb3V0cHV0OiAyNAoJCQkJCQkJdGhvdWdodHM6IDM1NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBCcm9hZGNvbSBXaXJlbGVzcyBEcml2ZXIgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IGEgcGF0Y2ggd2l0aGluIGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY2AuIEl0JiMzOTtzIHRvdWNoaW5nIHR3byBmdW5jdGlvbnM6IGBicmNtZl9jeXdfbWdtdF90eGAgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAuIExldCYjMzk7cyBicmVhayB0aGlzIGRvd24uCgpJbiBgYnJjbWZfY3l3X21nbXRfdHhgLCBpdCBsb29rcyBsaWtlIHRoZXkmIzM5O3ZlIGNoYW5nZWQgdGhlIHBhY2tldCBJRCBhc3NpZ25tZW50LiBPcmlnaW5hbGx5IGl0IHdhcyB1c2luZyBhIHBvaW50ZXIgdG8gYSBjb29raWUsIGBtZl9wYXJhbXMtJmd0O3BhY2tldF9pZCA9IGNwdV90b19sZTMyKCpjb29raWUpO2AsIG5vdyBpdCYjMzk7cyB1c2luZyBhbiBhdG9taWMgaW5jcmVtZW50LCBgbWZfcGFyYW1zLSZndDtwYWNrZXRfaWQgPSBjcHVfdG9fbGUzMihhdG9taWNfaW5jX3JldHVybigmYW1wO2JyY21mX2N5d19tZ210X3R4X2lkKSk7YC4gVGhpcyBzaWduYWxzIGEgcG90ZW50aWFsIGZpeCBmb3IgYSByYWNlIGNvbmRpdGlvbiBvciBhIG1vcmUgcm9idXN0IHBhY2tldCBpZGVudGlmaWNhdGlvbiBzeXN0ZW0sIG1vdmluZyBmcm9tIGEgbGlrZWx5IHNoYXJlZCBvciBleHRlcm5hbCBjb29raWUgdG8gYSBwZXItZnVuY3Rpb24gYXRvbWljIGNvdW50ZXIuCgpJbiBgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGhgLCB0aGV5JiMzOTt2ZSBpbml0aWFsaXplZCBgYXV0aF9zdGF0dXNgIHRvIGFuIGVtcHR5IHN0cnVjdHVyZSBhbmQgYXJlIGNvcHlpbmcgdGhlIFBNS0lEIGZyb20gYHBhcmFtc2AgdG8gYGF1dGhfc3RhdHVzLnBta2lkYCBpZiB0aGUgUE1LSUQgaXNuJiMzOTt0IG51bGwuIEEgc3RhbmRhcmQgaW5pdGlhbGl6YXRpb24gb2YgdmFyaWFibGVzIHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzIG9yIHVuZGVmaW5lZCBiZWhhdmlvci4KCk5vdywgdGhlIGludGVyZXN0aW5nIHF1ZXN0aW9uIGlzOiBjYW4gSSB0cmlnZ2VyIHRoaXMgY29kZSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50PyBUaGlzIGlzIGEgYGJyY21mbWFjYCBCcm9hZGNvbSB3aXJlbGVzcyBkcml2ZXIsIHNvIG15IGZpcnN0IGluc3RpbmN0IGlzIHRoYXQgaXQmIzM5O3MgZ29pbmcgdG8gYmUgdHJpY2t5LiBUaGVzZSBraW5kcyBvZiBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXJzIG9mdGVuIHJlbHkgb24gZGlyZWN0IGhhcmR3YXJlIGludGVyYWN0aW9uLCB3aGljaCBpc24mIzM5O3QgYWx3YXlzIGF2YWlsYWJsZSBpbiBhIHZpcnR1YWwgbWFjaGluZSB1bmxlc3Mgd2UmIzM5O3JlIHRhbGtpbmcgYWJvdXQgZW11bGF0ZWQgaGFyZHdhcmUuIEhvd2V2ZXIsIGBicmNtZm1hY2Agc3VwcG9ydHMgU0RJTywgVVNCLCBhbmQgUENJRS4gU2luY2UgVVNCIGhhcyB0aGUgaGlnaGVzdCBwb3RlbnRpYWwgZm9yIHNvZnR3YXJlIGVtdWxhdGlvbiwgdGhlIHByZXNlbmNlIG9mIFVTQiBzdXBwb3J0IGlzIGdvb2QgbmV3cy4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBgYnJjbWZtYWNgIGhhcyBVU0Igc3VwcG9ydC4gTGV0IG1lIGNoZWNrLi4uIEFoLCB5ZXMsIGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvdXNiLmNgIGV4aXN0cy4gR29vZC4gVVNCIGRldmljZXMgY2FuIGJlIGVtdWxhdGVkIGJ5IHN5emthbGxlciB2aWEgYSBVU0IgZ2FkZ2V0IChgZHVtbXlfaGNkYCkuIE5vdywgSSBqdXN0IG5lZWQgdG8gdmVyaWZ5IHRoYXQgYGJyY21mX2N5d19tZ210X3R4YCBpcyByZWFjaGFibGUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnJjbWZfY3l3X21nbXRfdHgmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyNjpzdGF0aWMgYXRvbWljX3QgYnJjbWZfY3l3X21nbXRfdHhfaWQgPSBBVE9NSUNfSU5JVCgwKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTI3LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTEwMz1zdGF0aWNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjEwNDppbnQgYnJjbWZfY3l3X21nbXRfdHgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTEwNS1cdFx0ICAgICAgc3RydWN0IGNmZzgwMjExX21nbXRfdHhfcGFyYW1zICpwYXJhbXMsIHU2NCAqY29va2llKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTE1OS1cdG1lbWNweShcdTAwMjZtZl9wYXJhbXMtXHUwMDNlYnNzaWRbMF0sIFx1MDAyNm1nbXQtXHUwMDNlYnNzaWRbMF0sIEVUSF9BTEVOKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjE2MDpcdG1mX3BhcmFtcy1cdTAwM2VwYWNrZXRfaWQgPSBjcHVfdG9fbGUzMihhdG9taWNfaW5jX3JldHVybihcdTAwMjZicmNtZl9jeXdfbWdtdF90eF9pZCkpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMTYxLVx0bWVtY3B5KG1mX3BhcmFtcy1cdTAwM2VkYXRhLCBcdTAwMjZidWZbRE9UMTFfTUdNVF9IRFJfTEVOXSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0yMzY9c3RhdGljIHZvaWQgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTIzNy17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyMzg6XHRkcnZyLVx1MDAzZW9wcy1cdTAwM2VtZ210X3R4ID0gYnJjbWZfY3l3X21nbXRfdHg7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yMzktXHRkcnZyLVx1MDAzZW9wcy1cdTAwM2VleHRlcm5hbF9hdXRoID0gYnJjbWZfY3l3X2V4dGVybmFsX2F1dGg7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDAwMwoJCQkJCQkJb3V0cHV0OiAzMQoJCQkJCQkJdGhvdWdodHM6IDEwMwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipFeGFtaW5pbmcgdGhlIEJSQ01GIENvbmZpZ3VyYXRpb24gT3BlcmF0aW9ucyoqCgpPa2F5LCBzbyBJJiMzOTttIGRpZ2dpbmcgaW50byBob3cgdGhlIEJyb2FkY29tIGZpcm13YXJlIGludGVyYWN0cyB3aXRoIHRoZSBjZmc4MDIxMSB3aXJlbGVzcyBzdGFjay4gSSBzZWUgdGhhdCB0aGUgYGJyY21mX2N5d19tZ210X3R4YCBmdW5jdGlvbiBpcyBiZWluZyBhc3NpZ25lZCBhcyB0aGUgYGRydnItJmd0O29wcy0mZ3Q7bWdtdF90eGAgaGFuZGxlciwgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAgaXMgYXNzaWduZWQgdG8gYGRydnItJmd0O29wcy0mZ3Q7ZXh0ZXJuYWxfYXV0aGAuIFRoaXMgaXMgc3RhbmRhcmQgcHJhY3RpY2UgZm9yIHByb3ZpZGluZyB0aGUgbmVjZXNzYXJ5IGNhbGxiYWNrcyBmb3IgbWFuYWdlbWVudCBmcmFtZSB0cmFuc21pc3Npb24gYW5kIGV4dGVybmFsIGF1dGhlbnRpY2F0aW9uIHdpdGhpbiB0aGUgZHJpdmVyLgoKTm93LCBJIHVuZGVyc3RhbmQgdGhhdCBgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHNgIGlzIHRoZSBrZXkgZnVuY3Rpb24gdG8gZ2V0IHRoZXNlIG9wZXJhdGlvbnMsIHNvIEkgcmVhbGx5IG5lZWQgdG8gdHJhY2UgZG93biB3aGVyZSAqdGhhdCogaXMgYmVpbmcgY2FsbGVkLiBUaGF0JiMzOTtzIHdoZXJlIHRoZSBpbnRlcmVzdGluZyBzdHVmZiB1c3VhbGx5IGlzLiBMZXQmIzM5O3Mgc2VlIHdoZXJlIHRoYXQgaXMgdXNlZCwgYW5kIGhvdyB0aGVzZSBmdW5jdGlvbnMgZ2V0IGludm9rZWQgaW4gYSBydW5uaW5nIHN5c3RlbS4gTGV0JiMzOTtzIGZpZ3VyZSBvdXQgdGhlIG9wZXJhdGlvbmFsIGZsb3cuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MjAwPWJyY21mX2N5d19leHRlcm5hbF9hdXRoKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjM1LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MjM2OnN0YXRpYyB2b2lkIGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yMzcte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTM3MD1jb25zdCBzdHJ1Y3QgYnJjbWZfZnd2aWRfb3BzIGJyY21mX2N5d19vcHMgPSB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzczLVx0LmFjdGl2YXRlX2V2ZW50cyA9IGJyY21mX2N5d19hY3RpdmF0ZV9ldmVudHMsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzozNzQ6XHQuZ2V0X2NmZzgwMjExX29wcyA9IGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzc1LVx0LnJlZ2lzdGVyX2V2ZW50X2hhbmRsZXJzID0gYnJjbWZfY3l3X3JlZ2lzdGVyX2V2ZW50X2hhbmRsZXJzLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjAzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ3NzYKCQkJCQkJCW91dHB1dDogMjIKCQkJCQkJCXRob3VnaHRzOiA0MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgc3VtbWFyaXplZCBmcm9tIG15IHBlcnNwZWN0aXZlIGFzIGFuIGV4cGVydCBpbiB0aGUgZmllbGQ6CgoqKkFuYWx5emluZyB0aGUgYnJjbWZfY3l3X29wcyBTdHJ1Y3R1cmUqKgoKUmlnaHQsIHNvIGBicmNtZl9jeXdfb3BzYCBpcyBkZWZpbmVkIGFzIGEgYGJyY21mX2Z3dmlkX29wc2AuIFRoYXQgaW1tZWRpYXRlbHkgdGVsbHMgbWUgaXQmIzM5O3MgbGlrZWx5IGEgc3RydWN0dXJlIGNvbnRhaW5pbmcgZnVuY3Rpb24gcG9pbnRlcnMgcmVsYXRlZCB0byBmaXJtd2FyZSB2aWRlbyBvcGVyYXRpb25zIHdpdGhpbiB0aGUgQnJvYWRjb20gV2ktRmkgZHJpdmVyIGZyYW1ld29yay4gTXkgbmV4dCBzdGVwIGlzIGNsZWFyOiBJIG5lZWQgdG8gdHJhY2UgdGhlIHVzYWdlIG9mIGBicmNtZl9jeXdfb3BzYCB3aXRoaW4gdGhlIGNvZGViYXNlLiBVbmRlcnN0YW5kaW5nIHdoZXJlIHRoaXMgc3RydWN0dXJlIGlzIGluc3RhbnRpYXRlZCBhbmQsIG1vcmUgaW1wb3J0YW50bHksICpob3cqIGl0cyBmdW5jdGlvbiBwb2ludGVycyBhcmUgdXRpbGl6ZWQgd2lsbCBiZSBjcml0aWNhbCB0byBncmFzcGluZyBpdHMgcm9sZSBpbiB0aGUgZHJpdmVyJiMzOTtzIG92ZXJhbGwgb3BlcmF0aW9uLiBJIHdhbnQgdG8gc2VlIGhvdyB0aGVzZSBmaXJtd2FyZSB2aWRlbyBvcGVyYXRpb25zIGFyZSBiZWluZyBsZXZlcmFnZWQuIEFyZSB0aGV5IGludm9sdmVkIGluIGNhcHR1cmluZywgcHJvY2Vzc2luZywgb3IgdHJhbnNtaXR0aW5nIHZpZGVvIGRhdGEgb3ZlciBXaS1GaT8gQXJlIHRoZXJlIGFueSBkYXRhIGZsb3dzIGludm9sdmVkIHRoYXQgSSBzaG91bGQgYmUgYXdhcmUgb2Y/IFRoaXMgd2lsbCBoZWxwIG1lIGRldmVsb3AgbXkgZnVsbCB1bmRlcnN0YW5kaW5nLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjAzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2JyY21mX2N5d19vcHMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MzU4PXN0YXRpYyB2b2lkIGJyY21mX2N5d19yZWdpc3Rlcl9ldmVudF9oYW5kbGVycyhzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM2OS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjM3MDpjb25zdCBzdHJ1Y3QgYnJjbWZfZnd2aWRfb3BzIGJyY21mX2N5d19vcHMgPSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNzEtXHQuc2V0X3NhZV9wYXNzd29yZCA9IGJyY21mX2N5d19zZXRfc2FlX3B3ZCxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L21vZHVsZS5jPTEyPXN0YXRpYyBpbnQgX19pbml0IGJyY21mX2N5d19pbml0KHZvaWQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9tb2R1bGUuYy0xNC1cdHJldHVybiBicmNtZl9md3ZpZF9yZWdpc3Rlcl92ZW5kb3IoQlJDTUZfRldWRU5ET1JfQ1lXLCBUSElTX01PRFVMRSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvbW9kdWxlLmM6MTU6XHRcdFx0XHRcdCAgIFx1MDAyNmJyY21mX2N5d19vcHMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9tb2R1bGUuYy0xNi19XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy92b3BzLmgtNy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvdm9wcy5oOjg6ZXh0ZXJuIGNvbnN0IHN0cnVjdCBicmNtZl9md3ZpZF9vcHMgYnJjbWZfY3l3X29wcztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvdm9wcy5oOjk6I2RlZmluZSBDWVdfVk9QU1x0KFx1MDAyNmJyY21mX2N5d19vcHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L3ZvcHMuaC0xMC1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowMzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA1NjI1CgkJCQkJCQlvdXRwdXQ6IDIxCgkJCQkJCQl0aG91Z2h0czogMTMwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFuYWx5c2lzIG9mIHRoZSBgYnJjbWZtYWNgIERyaXZlcioqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBgQlJDTUZfRldWRU5ET1JfQ1lXYCByZWdpc3RyYXRpb24sIHdoaWNoIGlzIGNsZWFybHkgbGlua2luZyB1cCB0aGUgZmlybXdhcmUgdmVuZG9yIGluZm9ybWF0aW9uIHdpdGggdGhlIGBicmNtZl9jeXdfb3BzYCBvcGVyYXRpb25zLiBUaGF0IG1ha2VzIHNlbnNlLCBzdGFuZGFyZCBkcml2ZXIgaW5pdGlhbGl6YXRpb24uCgpOb3csIG15IG1pbmQgc3RhcnRzIHJhY2luZyB0b3dhcmRzIGZ1enppbmcuIEkgcmVjYWxsIHRoYXQgdGhlIGBicmNtZm1hY2AgZHJpdmVyIGhhcyBhIGZldyBhdHRhY2sgc3VyZmFjZXMuIEkgY2FuIHRyeSB0aGUgdXN1YWwgc3VzcGVjdHM6IFVTQiBnYWRnZXQgc2V0dXAgb3IgZXZlbiBgbWFjODAyMTFfaHdzaW1gLiBCdXQgd2FpdCwgdGhhdCBsYXN0IG9uZSBpcyB0cmlja3kgc2luY2UgYGJyY21mbWFjYCBpcyBhICpmdWxsbWFjKiBkcml2ZXIsIHNvIGl0IHVzZXMgYGNmZzgwMjExYCBkaXJlY3RseSBhbmQgbm90IGBtYWM4MDIxMWAuIFNvIGBod3NpbWAgaXMgbm90IHRoZSBiZXN0IGFwcHJvYWNoLi4uCgpUaGVuIGl0IGhpdHMgbWUhIGBicmNtZm1hY2AgKmRvZXMqIGhhdmUgYSBVU0IgaW50ZXJmYWNlISBBaGEhIFN5emthbGxlciEgV2UgY2FuIHByb2JhYmx5IHRhcmdldCBpdCB1c2luZyBgZHVtbXlfaGNkYC4gVGhhdCBzaG91bGQgb3BlbiBhIGp1aWN5IGF0dGFjayBzdXJmYWNlISBJJiMzOTtsbCBxdWlja2x5IGNoZWNrIGlmIGBCUkNNRk1BQ19VU0JgIGlzIGV2ZW4gZW5hYmxlZCBpbiB0aGUgY29uZmlnLiBUaGF0JiMzOTtzIHRoZSBuZXh0IGxvZ2ljYWwgc3RlcC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIEJSQ01GTUFDX1VTQiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZz0xNz1jb25maWcgQlJDTUZNQUNfU0RJT1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTI4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6Mjk6Y29uZmlnIEJSQ01GTUFDX1VTQlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMzAtXHRib29sIFwmIzM0O1VTQiBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjA0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDYxODMKCQkJCQkJCW91dHB1dDogMTkKCQkJCQkJCXRob3VnaHRzOiAxMTMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBCUkNNRk1BQ19VU0IgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7dmUgY29uZmlybWVkIHRoYXQgYEJSQ01GTUFDX1VTQmAgaXMgZGVmaW5pdGVseSBhIHRoaW5nLCBnb29kIHN0YXJ0LiBOb3csIGxldCYjMzk7cyBkaXZlIGludG8gdGhlIGNvcmUgb2YgdGhpcyBwYXRjaC4gSXQgbG9va3MgbGlrZSBpdCYjMzk7cyB0b3VjaGluZyBgYnJjbWZfY3l3X21nbXRfdHhgIGFuZCBgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGhgLiBSaWdodCwgdGhvc2UgZnVuY3Rpb25zIGFyZSBjYWxsZWQgYnkgYGNmZzgwMjExYCwgdGhlIHN0YW5kYXJkIHdpcmVsZXNzIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlLCBzcGVjaWZpY2FsbHkgZHVyaW5nIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBwcm9jZWR1cmVzLCB3aGljaCBtYWtlcyBzZW5zZS4gSG1tLCBgYnJjbWZfY3l3X21nbXRfdHhgIGlzIGJlaW5nIGFzc2lnbmVkIHRvIGBkcnZyLSZndDtvcHMtJmd0O21nbXRfdHhgLiBUaGlzIGlzIGludGVyZXN0aW5nOyBgZHJ2cmAgaXMgbGlrZWx5IHRoZSBkcml2ZXIgY29udGV4dCBhbmQgYG9wc2AgaXMgdGhlIGRyaXZlciBvcGVyYXRpb24gc3RydWN0dXJlLiBTbywgdGhpcyBwYXRjaCBpcyBlc3NlbnRpYWxseSBpbmplY3RpbmcgYSBjdXN0b20gbWdtdF90eCBoYW5kbGVyLiBUaGUgY3J1Y2lhbCBuZXh0IHN0ZXAgaXMgdG8gZmlndXJlIG91dCAqd2hlcmUqIHRoYXQgYGRydnItJmd0O29wcy0mZ3Q7bWdtdF90eGAgZnVuY3Rpb24gaXMgYWN0dWFsbHkgYmVpbmcgKnVzZWQqLiBUaGF0JiMzOTtzIHdoZXJlIHRoZSByZWFsIGltcGFjdCBvZiB0aGlzIGNoYW5nZSB3aWxsIGJlIHJldmVhbGVkLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtvcHMtXHUwMDNlbWdtdF90eCYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0yMzY9c3RhdGljIHZvaWQgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTIzNy17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyMzg6XHRkcnZyLVx1MDAzZW9wcy1cdTAwM2VtZ210X3R4ID0gYnJjbWZfY3l3X21nbXRfdHg7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yMzktXHRkcnZyLVx1MDAzZW9wcy1cdTAwM2VleHRlcm5hbF9hdXRoID0gYnJjbWZfY3l3X2V4dGVybmFsX2F1dGg7XG4tLVxubmV0L3dpcmVsZXNzL21sbWUuYz04NTI9aW50IGNmZzgwMjExX21sbWVfbWdtdF90eChzdHJ1Y3QgY2ZnODAyMTFfcmVnaXN0ZXJlZF9kZXZpY2UgKnJkZXYsXG4tLVxubmV0L3dpcmVsZXNzL21sbWUuYy04NjMtXG5uZXQvd2lyZWxlc3MvbWxtZS5jOjg2NDpcdGlmICghcmRldi1cdTAwM2VvcHMtXHUwMDNlbWdtdF90eClcbm5ldC93aXJlbGVzcy9tbG1lLmMtODY1LVx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4tLVxubmV0L3dpcmVsZXNzL25sODAyMTEuYz0xNDUzMj1zdGF0aWMgaW50IG5sODAyMTFfcmVnaXN0ZXJfbWdtdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuLS1cbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMTQ1NzEtXHQvKiBub3QgbXVjaCBwb2ludCBpbiByZWdpc3RlcmluZyBpZiB3ZSBjYW4mIzM5O3QgcmVwbHkgKi9cbm5ldC93aXJlbGVzcy9ubDgwMjExLmM6MTQ1NzI6XHRpZiAoIXJkZXYtXHUwMDNlb3BzLVx1MDAzZW1nbXRfdHgpXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE0NTczLVx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4tLVxubmV0L3dpcmVsZXNzL25sODAyMTEuYz0xNDU5MD1zdGF0aWMgaW50IG5sODAyMTFfdHhfbWdtdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuLS1cbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMTQ2MDYtXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jOjE0NjA3Olx0aWYgKCFyZGV2LVx1MDAzZW9wcy1cdTAwM2VtZ210X3R4KVxubmV0L3dpcmVsZXNzL25sODAyMTEuYy0xNDYwOC1cdFx0cmV0dXJuIC1FT1BOT1RTVVBQO1xuLS1cbm5ldC93aXJlbGVzcy9ubDgwMjExLmM9MTQ3MzU9c3RhdGljIGludCBubDgwMjExX3R4X21nbXRfY2FuY2VsX3dhaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbi0tXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE0NzQzLVxubmV0L3dpcmVsZXNzL25sODAyMTEuYzoxNDc0NDpcdGlmICghcmRldi1cdTAwM2VvcHMtXHUwMDNlbWdtdF90eF9jYW5jZWxfd2FpdClcbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMTQ3NDUtXHRcdHJldHVybiAtRU9QTk9UU1VQUDtcbi0tXG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaD03NjE9c3RhdGljIGlubGluZSBpbnQgcmRldl9tZ210X3R4KHN0cnVjdCBjZmc4MDIxMV9yZWdpc3RlcmVkX2RldmljZSAqcmRldixcbi0tXG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaC03NjctXHR0cmFjZV9yZGV2X21nbXRfdHgoXHUwMDI2cmRldi1cdTAwM2V3aXBoeSwgd2RldiwgcGFyYW1zKTtcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oOjc2ODpcdHJldCA9IHJkZXYtXHUwMDNlb3BzLVx1MDAzZW1nbXRfdHgoXHUwMDI2cmRldi1cdTAwM2V3aXBoeSwgd2RldiwgcGFyYW1zLCBjb29raWUpO1xubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmgtNzY5LVx0dHJhY2VfcmRldl9yZXR1cm5faW50X2Nvb2tpZShcdTAwMjZyZGV2LVx1MDAzZXdpcGh5LCByZXQsICpjb29raWUpO1xuLS1cbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oPTc5Mz1yZGV2X21nbXRfdHhfY2FuY2VsX3dhaXQoc3RydWN0IGNmZzgwMjExX3JlZ2lzdGVyZWRfZGV2aWNlICpyZGV2LFxuLS1cbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oLTc5Ny1cdHRyYWNlX3JkZXZfbWdtdF90eF9jYW5jZWxfd2FpdChcdTAwMjZyZGV2LVx1MDAzZXdpcGh5LCB3ZGV2LCBjb29raWUpO1xubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmg6Nzk4Olx0cmV0ID0gcmRldi1cdTAwM2VvcHMtXHUwMDNlbWdtdF90eF9jYW5jZWxfd2FpdChcdTAwMjZyZGV2LVx1MDAzZXdpcGh5LCB3ZGV2LCBjb29raWUpO1xubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmgtNzk5LVx0dHJhY2VfcmRldl9yZXR1cm5faW50KFx1MDAyNnJkZXYtXHUwMDNld2lwaHksIHJldCk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjA0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDc2MjIKCQkJCQkJCW91dHB1dDogMjAKCQkJCQkJCXRob3VnaHRzOiA0NwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgbGV0JiMzOTtzIHNlZS4uLgoKKipWZXJpZnlpbmcgdGhlIERyaXZlciYjMzk7cyBjZmc4MDIxMSBPcGVyYXRpb25zKioKClJpZ2h0LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgYGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzYCwgYW5kIGl0JiMzOTtzIGtleSB0aGF0IGBkcnZyLSZndDtvcHNgIGhlcmUgaXMgYWN0dWFsbHkgcG9pbnRpbmcgdG8gYSBgc3RydWN0IGNmZzgwMjExX29wc2AuIEkgbmVlZCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4gYWJvdXQgdGhpcyBiZWZvcmUgcHJvY2VlZGluZy4gQSBtaXN0YWtlIGhlcmUgd291bGQgYmUgYSBuaWdodG1hcmUgdG8gZGVidWcgbGF0ZXIuIEkmIzM5O2xsIHRha2UgYSBtb21lbnQgdG8gY29uZmlybSB0aGF0IHRoaXMgc3RydWN0dXJlIGFzc2lnbm1lbnQgaXMgaW5kZWVkIHdoYXQgSSBleHBlY3QuIEkgbmVlZCB0byB0cnVzdCBidXQgdmVyaWZ5IC0gbGV0JiMzOTtzIGVuc3VyZSB0aGUgZGF0YSBzdHJ1Y3R1cmVzIGFyZSBhbGlnbmVkIGFzIHRoZSBjb2RlIGNsYWltcyB0aGV5IGFyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3RydWN0IGJyY21mX3B1YiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgMTUyOCBsaW5lcy5cblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cblxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjYS9jb3JlLmM9MTY9c3RhdGljIHZvaWQgYnJjbWZfYmNhX2ZlYXRfYXR0YWNoKHN0cnVjdCBicmNtZl9pZiAqaWZwKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2EvY29yZS5jLTIxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjYS9jb3JlLmM6MjI6c3RhdGljIGludCBicmNtZl9iY2FfYWxsb2NfZndlaF9pbmZvKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNhL2NvcmUuYy0yMy17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz05Mj1zdHJ1Y3QgYnJjbWZfYmNkYyB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0xMDAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjEwMTpzdHJ1Y3QgYnJjbWZfZndzX2luZm8gKmRydnJfdG9fZndzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTEwMi17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0xMDg9c3RhdGljIGludFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzoxMDk6YnJjbWZfcHJvdG9fYmNkY19tc2coc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgaW50IGlmaWR4LCB1aW50IGNtZCwgdm9pZCAqYnVmLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0xMTAtXHRcdCAgICAgdWludCBsZW4sIGJvb2wgc2V0KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMTM5LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzoxNDA6c3RhdGljIGludCBicmNtZl9wcm90b19iY2RjX2NtcGx0KHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIHUzMiBpZCwgdTMyIGxlbilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMTQxLXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jPTE1Nz1zdGF0aWMgaW50XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjE1ODpicmNtZl9wcm90b19iY2RjX3F1ZXJ5X2RjbWQoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgaW50IGlmaWR4LCB1aW50IGNtZCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMTU5LVx0XHRcdCAgICB2b2lkICpidWYsIHVpbnQgbGVuLCBpbnQgKmZ3ZXJyKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9MjE1PXN0YXRpYyBpbnRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6MjE2OmJyY21mX3Byb3RvX2JjZGNfc2V0X2RjbWQoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgaW50IGlmaWR4LCB1aW50IGNtZCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMjE3LVx0XHRcdCAgdm9pZCAqYnVmLCB1aW50IGxlbiwgaW50ICpmd2Vycilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jPTI1Nj1zdGF0aWMgdm9pZFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzoyNTc6YnJjbWZfcHJvdG9fYmNkY19oZHJwdXNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCwgdTggb2Zmc2V0LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0yNTgtXHRcdFx0IHN0cnVjdCBza19idWZmICpwa3RidWYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0yODA9c3RhdGljIGludFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzoyODE6YnJjbWZfcHJvdG9fYmNkY19oZHJwdWxsKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGJvb2wgZG9fZndzLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0yODItXHRcdFx0IHN0cnVjdCBza19idWZmICpwa3RidWYsIHN0cnVjdCBicmNtZl9pZiAqKmlmcClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTMzMi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6MzMzOnN0YXRpYyBpbnQgYnJjbWZfcHJvdG9fYmNkY190eF9xdWV1ZV9kYXRhKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMzM0LVx0XHRcdFx0XHQgIHN0cnVjdCBza19idWZmICpza2IpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0zNDU9c3RhdGljIGludFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzozNDY6YnJjbWZfcHJvdG9fYmNkY190eGRhdGEoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgaW50IGlmaWR4LCB1OCBvZmZzZXQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTM0Ny1cdFx0XHRzdHJ1Y3Qgc2tfYnVmZiAqcGt0YnVmKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9MzUzPXZvaWQgYnJjbWZfcHJvdG9fYmNkY190eGZsb3dibG9jayhzdHJ1Y3QgZGV2aWNlICpkZXYsIGJvb2wgc3RhdGUpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0zNTUtXHRzdHJ1Y3QgYnJjbWZfYnVzICpidXNfaWYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6MzU2Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGJ1c19pZi1cdTAwM2VkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0zNTctXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0zODI9c3RhdGljIHZvaWRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6MzgzOmJyY21mX3Byb3RvX2JjZGNfY29uZmlndXJlX2FkZHJfbW9kZShzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLCBpbnQgaWZpZHgsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTM4NC1cdFx0XHRcdCAgICAgZW51bSBwcm90b19hZGRyX21vZGUgYWRkcl9tb2RlKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9Mzg4PXN0YXRpYyB2b2lkXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjM4OTpicmNtZl9wcm90b19iY2RjX2RlbGV0ZV9wZWVyKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMzkwLVx0XHRcdCAgICAgdTggcGVlcltFVEhfQUxFTl0pXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0zOTQ9c3RhdGljIHZvaWRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6Mzk1OmJyY21mX3Byb3RvX2JjZGNfYWRkX3RkbHNfcGVlcihzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLCBpbnQgaWZpZHgsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTM5Ni1cdFx0XHQgICAgICAgdTggcGVlcltFVEhfQUxFTl0pXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz00MjQ9c3RhdGljIGludFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzo0MjU6YnJjbWZfcHJvdG9fYmNkY19pbml0X2RvbmUoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtNDI2LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTQzNy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6NDM4OnN0YXRpYyB2b2lkIGJyY21mX3Byb3RvX2JjZGNfZGVidWdmc19jcmVhdGUoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtNDM5LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTQ0Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6NDQzOmludCBicmNtZl9wcm90b19iY2RjX2F0dGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy00NDQte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtNDgyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzo0ODM6dm9pZCBicmNtZl9wcm90b19iY2RjX2RldGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy00ODQte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmgtOC0jaWZkZWYgQ09ORklHX0JSQ01GTUFDX1BST1RPX0JDRENcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmg6OTppbnQgYnJjbWZfcHJvdG9fYmNkY19hdHRhY2goc3RydWN0IGJyY21mX3B1YiAqZHJ2cik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oOjEwOnZvaWQgYnJjbWZfcHJvdG9fYmNkY19kZXRhY2goc3RydWN0IGJyY21mX3B1YiAqZHJ2cik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oLTExLXZvaWQgYnJjbWZfcHJvdG9fYmNkY190eGZsb3dibG9jayhzdHJ1Y3QgZGV2aWNlICpkZXYsIGJvb2wgc3RhdGUpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuaD0xMj12b2lkIGJyY21mX3Byb3RvX2JjZGNfdHhjb21wbGV0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICp0eHAsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oLTEzLVx0XHRcdFx0IGJvb2wgc3VjY2Vzcyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oOjE0OnN0cnVjdCBicmNtZl9md3NfaW5mbyAqZHJ2cl90b19md3Moc3RydWN0IGJyY21mX3B1YiAqZHJ2cik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oLTE1LSNlbHNlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oOjE2OnN0YXRpYyBpbmxpbmUgaW50IGJyY21mX3Byb3RvX2JjZGNfYXR0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpIHsgcmV0dXJuIDA7IH1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmg6MTc6c3RhdGljIGlubGluZSB2b2lkIGJyY21mX3Byb3RvX2JjZGNfZGV0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpIHt9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oLTE4LSNlbmRpZlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9idXMuaD0xNjU9c3RydWN0IGJyY21mX2J1cyB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2J1cy5oLTE3Mi1cdHN0cnVjdCBkZXZpY2UgKmRldjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9idXMuaDoxNzM6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2J1cy5oLTE3NC1cdGVudW0gYnJjbWZfYnVzX3N0YXRlIHN0YXRlO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTU0Nz1zZW5kX2tleV90b19kb25nbGUoc3RydWN0IGJyY21mX2lmICppZnAsIHN0cnVjdCBicmNtZl93c2VjX2tleSAqa2V5KVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTQ4LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjU0OTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU1MC1cdGludCBlcnI7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTY2PWJyY21mX2NmZzgwMjExX3VwZGF0ZV9wcm90b19hZGRyX21vZGUoc3RydWN0IHdpcmVsZXNzX2RldiAqd2Rldilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODMtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1ODQ6c3RhdGljIGludCBicmNtZl9nZXRfZmlyc3RfZnJlZV9ic3NjZmdpZHgoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU4NS17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NzA2PXN0YXRpYyBpbnQgYnJjbWZfY2ZnODAyMTFfcmVxdWVzdF9hcF9pZihzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy03MTEtXHR1MzIgaWZhY2VfY3JlYXRlX3ZlcjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjcxMjpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcxMy1cdHN0cnVjdCBicmNtZl9tYnNzX3NzaWRfbGUgbWJzc19zc2lkX2xlO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTgyMD1zdHJ1Y3Qgd2lyZWxlc3NfZGV2ICpicmNtZl9hcHN0YV9hZGRfdmlmKHN0cnVjdCB3aXBoeSAqd2lwaHksIGNvbnN0IGNoYXIgKm5hbWUsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtODI1LVx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihjZmdfdG9fbmRldihjZmcpKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjgyNjpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtODI3LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTk3Nz1zdGF0aWMgc3RydWN0IHdpcmVsZXNzX2RldiAqYnJjbWZfY2ZnODAyMTFfYWRkX2lmYWNlKHN0cnVjdCB3aXBoeSAqd2lwaHksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtOTgzLVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo5ODQ6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTk4NS1cdHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXY7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTAzMT12b2lkIGJyY21mX3NldF9tcGMoc3RydWN0IGJyY21mX2lmICppZnAsIGludCBtcGMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xMDMyLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjEwMzM6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xMDM0LVx0czMyIGVyciA9IDA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTE4Mz1zMzIgYnJjbWZfbm90aWZ5X2VzY2FuX2NvbXBsZXRlKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTE4Ni17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxMTg3Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xMTg4LVx0c3RydWN0IGJyY21mX3NjYW5fcGFyYW1zX3YyX2xlIHBhcmFtc192Ml9sZTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xMjYzPXN0YXRpYyBpbnQgYnJjbWZfY2ZnODAyMTFfZGVsX2Fwc3RhX2lmYWNlKHN0cnVjdCB3aXBoeSAqd2lwaHksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTI2OC1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxMjY5Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xMjcwLVx0aW50IHJldDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xMzQyPWJyY21mX2NmZzgwMjExX2NoYW5nZV9pZmFjZShzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xMzQ4LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmID0gaWZwLVx1MDAzZXZpZjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjEzNDk6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTEzNTAtXHRzMzIgaW5mcmEgPSAwO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTE0NDI9YnJjbWZfcnVuX2VzY2FuKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcsIHN0cnVjdCBicmNtZl9pZiAqaWZwLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE0NDQte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTQ0NTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTQ0Ni1cdHMzMiBwYXJhbXNfc2l6ZSA9IEJSQ01GX1NDQU5fUEFSQU1TX1YyX0ZJWEVEX1NJWkUgJiM0Mztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xNTMwPWJyY21mX2NmZzgwMjExX3NjYW4oc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IGNmZzgwMjExX3NjYW5fcmVxdWVzdCAqcmVxdWVzdClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNTMyLVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxNTMzOlx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNTM0LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTE1OTg9c3RhdGljIHMzMiBicmNtZl9zZXRfcnRzKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LCB1MzIgcnRzX3RocmVzaG9sZClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNjAwLVx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjE2MDE6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNjAyLVx0czMyIGVyciA9IDA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTYxMT1zdGF0aWMgczMyIGJyY21mX3NldF9mcmFnKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LCB1MzIgZnJhZ190aHJlc2hvbGQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTYxMy1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxNjE0Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cdTAwM2VkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTYxNS1cdHMzMiBlcnIgPSAwO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTE2MjU9c3RhdGljIHMzMiBicmNtZl9zZXRfcmV0cnkoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsIHUzMiByZXRyeSwgYm9vbCBsKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE2MjctXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KG5kZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTYyODpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE2MjktXHRzMzIgZXJyID0gMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xNzA5PWludCBicmNtZl9zZXRfd3NlYyhzdHJ1Y3QgYnJjbWZfaWYgKmlmcCwgY29uc3QgdTggKmtleSwgdTE2IGtleV9sZW4sIHUxNiBmbGFncylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE3MTAte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTcxMTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE3MTItXHRzdHJ1Y3QgYnJjbWZfd3NlY19wbWtfbGUgcG1rO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTE3NDQ9c3RhdGljIHZvaWQgYnJjbWZfbGlua19kb3duKHN0cnVjdCBicmNtZl9jZmc4MDIxMV92aWYgKnZpZiwgdTE2IHJlYXNvbixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNzQ3LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh2aWYtXHUwMDNld2Rldi53aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxNzQ4Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNzQ5LVx0Ym9vbCBidXNfdXAgPSBkcnZyLVx1MDAzZWJ1c19pZi1cdTAwM2VzdGF0ZSA9PSBCUkNNRl9CVVNfVVA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTc4Mz1icmNtZl9jZmc4MDIxMV9qb2luX2lic3Moc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTc4OC1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gXHUwMDI2aWZwLVx1MDAzZXZpZi1cdTAwM2Vwcm9maWxlO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTc4OTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTc5MC1cdHN0cnVjdCBicmNtZl9qb2luX3BhcmFtcyBqb2luX3BhcmFtcztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xOTU2PXN0YXRpYyBzMzIgYnJjbWZfc2V0X3dwYV92ZXJzaW9uKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE5NjAtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfcHJvZmlsZSAqcHJvZmlsZSA9IG5kZXZfdG9fcHJvZihuZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjE5NjE6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xOTYyLVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3NlY3VyaXR5ICpzZWM7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTk5MD1zdGF0aWMgczMyIGJyY21mX3NldF9hdXRoX3R5cGUoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTk5NC1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gbmRldl90b19wcm9mKG5kZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTk5NTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE5OTYtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfc2VjdXJpdHkgKnNlYztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yMDMwPWJyY21mX3NldF93c2VjX21vZGUoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjAzNC1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gbmRldl90b19wcm9mKG5kZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjAzNTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIwMzYtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfc2VjdXJpdHkgKnNlYztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yMTA3PWJyY21mX3NldF9rZXlfbWdtdChzdHJ1Y3QgbmV0X2RldmljZSAqbmRldiwgc3RydWN0IGNmZzgwMjExX2Nvbm5lY3RfcGFyYW1zICpzbWUpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjExMC1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gXHUwMDI2aWZwLVx1MDAzZXZpZi1cdTAwM2Vwcm9maWxlO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjExMTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIxMTItXHRzMzIgdmFsO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTIyNTI9YnJjbWZfc2V0X3NoYXJlZGtleShzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMjU1LVx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjIyNTY6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMjU3LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBuZGV2X3RvX3Byb2YobmRldik7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjMzMT1zdGF0aWMgdm9pZCBicmNtZl9zZXRfam9pbl9wcmVmKHN0cnVjdCBicmNtZl9pZiAqaWZwLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIzMzMte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjMzNDpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIzMzUtXHRzdHJ1Y3QgYnJjbWZfam9pbl9wcmVmX3BhcmFtcyBqb2luX3ByZWZfcGFyYW1zWzJdO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTIzNzc9YnJjbWZfY2ZnODAyMTFfY29ubmVjdChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMzgzLVx0c3RydWN0IGllZWU4MDIxMV9jaGFubmVsICpjaGFuID0gc21lLVx1MDAzZWNoYW5uZWw7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyMzg0Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cdTAwM2VkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjM4NS1cdHN0cnVjdCBicmNtZl9qb2luX3BhcmFtcyBqb2luX3BhcmFtcztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yNjE2PWJyY21mX2NmZzgwMjExX2Rpc2Nvbm5lY3Qoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjYyMS1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gXHUwMDI2aWZwLVx1MDAzZXZpZi1cdTAwM2Vwcm9maWxlO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjYyMjpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjYyMy1cdHN0cnVjdCBicmNtZl9zY2JfdmFsX2xlIHNjYnZhbDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yNjQ4PWJyY21mX2NmZzgwMjExX3NldF90eF9wb3dlcihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTI2NTQtXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KG5kZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjY1NTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjY1Ni1cdHMzMiBlcnI7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjcwMD1icmNtZl9jZmc4MDIxMV9nZXRfdHhfcG93ZXIoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2Rldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yNzA0LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmID0gd2Rldl90b192aWYod2Rldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyNzA1Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yNzA2LVx0czMyIHFkYm07XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjcyNj1icmNtZl9jZmc4MDIxMV9jb25maWdfZGVmYXVsdF9rZXkoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjczMC1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyNzMxOlx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cdTAwM2VkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjczMi1cdHUzMiBpbmRleDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yNzk5PWJyY21mX2NmZzgwMjExX2FkZF9rZXkoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2Rldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yODA0LVx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdih3ZGV2LVx1MDAzZW5ldGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyODA1Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yODA2LVx0c3RydWN0IGJyY21mX3dzZWNfa2V5ICprZXk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjkyMT1icmNtZl9jZmc4MDIxMV9nZXRfa2V5KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjkzMC1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gXHUwMDI2aWZwLVx1MDAzZXZpZi1cdTAwM2Vwcm9maWxlO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjkzMTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjkzMi1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9zZWN1cml0eSAqc2VjO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTI5OTU9YnJjbWZfY2ZnODAyMTFfcmVjb25maWd1cmVfd2VwKHN0cnVjdCBicmNtZl9pZiAqaWZwKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjk5Ni17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyOTk3Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cdTAwM2VkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjk5OC1cdHMzMiBlcnI7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzA0OT1zdGF0aWMgdm9pZCBicmNtZl9maWxsX2Jzc19wYXJhbShzdHJ1Y3QgYnJjbWZfaWYgKmlmcCwgc3RydWN0IHN0YXRpb25faW5mbyAqc2kpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMDUwLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjMwNTE6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMDUyLVx0c3RydWN0IHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMDg2PWJyY21mX2NmZzgwMjExX2dldF9zdGF0aW9uX2lic3Moc3RydWN0IGJyY21mX2lmICppZnAsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzA4OC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozMDg5Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cdTAwM2VkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzA5MC1cdHN0cnVjdCBicmNtZl9zY2JfdmFsX2xlIHNjYnZhbDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMTM1PWJyY21mX2NmZzgwMjExX2dldF9zdGF0aW9uKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzEzOS1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYod2Rldi1cdTAwM2VuZXRkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzE0MDpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzE0MS1cdHN0cnVjdCBicmNtZl9zY2JfdmFsX2xlIHNjYl92YWw7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzI1OD1icmNtZl9jZmc4MDIxMV9kdW1wX3N0YXRpb24oc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2Rldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMjYyLVx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdih3ZGV2LVx1MDAzZW5ldGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozMjYzOlx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMjY0LVx0czMyIGVycjtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMjk0PWJyY21mX2NmZzgwMjExX3NldF9wb3dlcl9tZ210KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTMzMDAtXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KG5kZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzMwMTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzMwMi1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMzQ1PXN0YXRpYyBzMzIgYnJjbWZfaW5mb3JtX3NpbmdsZV9ic3Moc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMzQ4LVx0c3RydWN0IHdpcGh5ICp3aXBoeSA9IGNmZ190b193aXBoeShjZmcpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzM0OTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzM1MC1cdHN0cnVjdCBjZmc4MDIxMV9ic3MgKmJzcztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zNDE4PXN0YXRpYyBzMzIgYnJjbWZfaW5mb3JtX2JzcyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzQxOS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozNDIwOlx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zNDIxLVx0c3RydWN0IGJyY21mX3NjYW5fcmVzdWx0cyAqYnNzX2xpc3Q7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzQ0Mz1zdGF0aWMgczMyIGJyY21mX2luZm9ybV9pYnNzKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzQ0Ni1cdHN0cnVjdCB3aXBoeSAqd2lwaHkgPSBjZmdfdG9fd2lwaHkoY2ZnKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjM0NDc6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM0NDgtXHRzdHJ1Y3QgaWVlZTgwMjExX2NoYW5uZWwgKm5vdGlmeV9jaGFubmVsO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTM1MjY9c3RhdGljIHMzMiBicmNtZl91cGRhdGVfYnNzX2luZm8oc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zNTI4LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjM1Mjk6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM1MzAtXHRzdHJ1Y3QgYnJjbWZfYnNzX2luZm9fbGUgKmJpID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zNTc1PXN0YXRpYyB2b2lkIGJyY21mX2VzY2FuX3RpbWVvdXQoc3RydWN0IHRpbWVyX2xpc3QgKnQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzU3OC1cdFx0XHR0aW1lcl9jb250YWluZXJfb2YoY2ZnLCB0LCBlc2Nhbl90aW1lb3V0KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjM1Nzk6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM1ODAtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzYyNz1icmNtZl9jZmc4MDIxMV9lc2Nhbl9oYW5kbGVyKHN0cnVjdCBicmNtZl9pZiAqaWZwLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM2Mjkte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzYzMDpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM2MzEtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gZHJ2ci1cdTAwM2Vjb25maWc7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9Mzg2ND1icmNtZl9ub3RpZnlfc2NoZWRfc2Nhbl9yZXN1bHRzKHN0cnVjdCBicmNtZl9pZiAqaWZwLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM4NjYte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Mzg2NzpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM4NjgtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gZHJ2ci1cdTAwM2Vjb25maWc7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9Mzk1MT1icmNtZl9jZmc4MDIxMV9zY2hlZF9zY2FuX3N0YXJ0KHN0cnVjdCB3aXBoeSAqd2lwaHksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzk1Ni1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozOTU3Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zOTU4LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQwMzk9YnJjbWZfd293bF9uZF9yZXN1bHRzKHN0cnVjdCBicmNtZl9pZiAqaWZwLCBjb25zdCBzdHJ1Y3QgYnJjbWZfZXZlbnRfbXNnICplLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQwNDEte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDA0MjpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQwNDMtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gZHJ2ci1cdTAwM2Vjb25maWc7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NDA4OT1zdGF0aWMgdm9pZCBicmNtZl9yZXBvcnRfd293bF93YWtlaW5kKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBicmNtZl9pZiAqaWZwKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQwOTEtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gd2lwaHlfdG9fY2ZnKHdpcGh5KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQwOTI6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQwOTMtXHRzdHJ1Y3QgYnJjbWZfd293bF93YWtlaW5kX2xlIHdha2VfaW5kX2xlO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQzODY9YnJjbWZfY2ZnODAyMTFfc2V0X3Bta3NhKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQzOTEtXHRzdHJ1Y3QgYnJjbWZfcG1rc2EgKnBtayA9IFx1MDAyNmNmZy1cdTAwM2VwbWtfbGlzdC5wbWtbMF07XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo0MzkyOlx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00MzkzLVx0czMyIGVycjtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz00NDMxPWJyY21mX2NmZzgwMjExX2RlbF9wbWtzYShzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NDM2LVx0c3RydWN0IGJyY21mX3Bta3NhICpwbWsgPSBcdTAwMjZjZmctXHUwMDNlcG1rX2xpc3QucG1rWzBdO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDQzNzpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDQzOC1cdHMzMiBlcnI7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NDUwMT1zdGF0aWMgczMyIGJyY21mX2NvbmZpZ3VyZV9vcGVuc2VjdXJpdHkoc3RydWN0IGJyY21mX2lmICppZnApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NTAyLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQ1MDM6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NTA0LVx0czMyIGVycjtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz00NTQyPWJyY21mX2NvbmZpZ3VyZV93cGFpZShzdHJ1Y3QgYnJjbWZfaWYgKmlmcCxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NTQ1LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQ1NDY6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NTQ3LVx0dTMyIGF1dGggPSAwOyAvKiBkMTEgb3BlbiBhdXRoZW50aWNhdGlvbiAqL1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQ4NTc9czMyIGJyY21mX3ZpZl9zZXRfbWdtdF9pZShzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfdmlmICp2aWYsIHMzMiBwa3RmbGFnLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQ4NTkte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDg2MDpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00ODYxLVx0c3RydWN0IGJyY21mX2lmICppZnA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTA0Mz1icmNtZl9jb25maWdfYXBfbWdtdF9pZShzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfdmlmICp2aWYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTA0NS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1MDQ2Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IHZpZi1cdTAwM2VpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTUwNDctXHRzMzIgZXJyO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTUxMjI9YnJjbWZfY2ZnODAyMTFfc3RhcnRfYXAoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTEyNy1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1MTI4Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01MTI5LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBcdTAwMjZpZnAtXHUwMDNldmlmLVx1MDAzZXByb2ZpbGU7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTM3MD1zdGF0aWMgaW50IGJyY21mX2NmZzgwMjExX3N0b3BfYXAoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTM3NC1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1Mzc1Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01Mzc2LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBcdTAwMjZpZnAtXHUwMDNldmlmLVx1MDAzZXByb2ZpbGU7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTQ1Nj1icmNtZl9jZmc4MDIxMV9kZWxfc3RhdGlvbihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU0NTktXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gd2lwaHlfdG9fY2ZnKHdpcGh5KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjU0NjA6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU0NjEtXHRzdHJ1Y3QgYnJjbWZfc2NiX3ZhbF9sZSBzY2J2YWw7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTQ4OT1icmNtZl9jZmc4MDIxMV9jaGFuZ2Vfc3RhdGlvbihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU0OTItXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gd2lwaHlfdG9fY2ZnKHdpcGh5KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjU0OTM6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU0OTQtXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KHdkZXYtXHUwMDNlbmV0ZGV2KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01NTMzPWJyY21mX2NmZzgwMjExX21nbXRfdHgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2Rldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01NTM3LVx0c3RydWN0IGllZWU4MDIxMV9jaGFubmVsICpjaGFuID0gcGFyYW1zLVx1MDAzZWNoYW47XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1NTM4Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01NTM5LVx0Y29uc3QgdTggKmJ1ZiA9IHBhcmFtcy1cdTAwM2VidWY7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTY5Mj1icmNtZl9jZmc4MDIxMV9jYW5jZWxfcmVtYWluX29uX2NoYW5uZWwoc3RydWN0IHdpcGh5ICp3aXBoeSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01Njk2LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1Njk3Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01Njk4LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTU3MTQ9c3RhdGljIGludCBicmNtZl9jZmc4MDIxMV9nZXRfY2hhbm5lbChzdHJ1Y3Qgd2lwaHkgKndpcGh5LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU3MjAtXHRzdHJ1Y3QgbmV0X2RldmljZSAqbmRldiA9IHdkZXYtXHUwMDNlbmV0ZGV2O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NTcyMTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTcyMi1cdHN0cnVjdCBicmNtdV9jaGFuIGNoO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTU4NTE9c3RhdGljIGludCBicmNtZl9jZmc4MDIxMV90ZGxzX29wZXIoc3RydWN0IHdpcGh5ICp3aXBoeSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODU1LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1ODU2Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODU3LVx0c3RydWN0IGJyY21mX2lmICppZnA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTg4MD1icmNtZl9jZmc4MDIxMV91cGRhdGVfY29ubl9wYXJhbXMoc3RydWN0IHdpcGh5ICp3aXBoeSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODg1LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1ODg2Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODg3LVx0c3RydWN0IGJyY21mX2lmICppZnA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTkwNj1icmNtZl9jZmc4MDIxMV9zZXRfcmVrZXlfZGF0YShzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01OTA5LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1OTEwOlx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01OTExLVx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02MzIzPXN0YXRpYyBzMzIgYnJjbWZfZ2V0X2Fzc29jX2llcyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTYzMjUte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjMyNjpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjMyNy1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9hc3NvY19pZWxlbl9sZSAqYXNzb2NfaW5mbztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02NTE5PWJyY21mX25vdGlmeV9jb25uZWN0X3N0YXR1c19hcChzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY1MjIte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjUyMzpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjUyNC1cdHN0YXRpYyBpbnQgZ2VuZXJhdGlvbjtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02ODkzPXN0YXRpYyBzMzIgYnJjbWZfZG9uZ2xlX3JvYW0oc3RydWN0IGJyY21mX2lmICppZnApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODk0LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY4OTU6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODk2LVx0czMyIGVycjtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02OTQ1PWJyY21mX2RvbmdsZV9zY2FudGltZShzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY5NDYte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njk0NzpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY5NDgtXHRzMzIgZXJyID0gMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02OTk1PXN0YXRpYyBpbnQgYnJjbWZfY29uc3RydWN0X2NoYW5pbmZvKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjk5OC1cdHN0cnVjdCB3aXBoeSAqd2lwaHkgPSBjZmdfdG9fd2lwaHkoY2ZnKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY5OTk6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcwMDAtXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IGJyY21mX2dldF9pZnAoZHJ2ciwgMCk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NzEzMD1zdGF0aWMgaW50IGJyY21mX2VuYWJsZV9idzQwXzJnKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy03MTMxLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjcxMzI6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcxMzMtXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IGJyY21mX2dldF9pZnAoZHJ2ciwgMCk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NzIxNT1zdGF0aWMgdm9pZCBicmNtZl9nZXRfYndjYXAoc3RydWN0IGJyY21mX2lmICppZnAsIHUzMiBid19jYXBbXSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcyMTYte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NzIxNzpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcyMTgtXHR1MzIgYmFuZCwgbWltb19id2NhcDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz03MzI1PXN0YXRpYyBpbnQgYnJjbWZfc2V0dXBfd2lwaHliYW5kcyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnKVxuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjA0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI2NjI4CgkJCQkJCQlvdXRwdXQ6IDIxCgkJCQkJCQl0aG91Z2h0czogODEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGhvdWdodCBwcm9jZXNzLCBhcyBpZiBJIHdlcmUgY29uc2lkZXJpbmcgdGhpcyBjb2RlOgoKKipOYXZpZ2F0aW5nIERyaXZlciBTdHJ1Y3R1cmUgYW5kIENGRzgwMjExIEludGVncmF0aW9uKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGRyaXZlciBzdHJ1Y3R1cmUgYW5kIG15IGluaXRpYWwgdGhvdWdodCBpcyB0aGF0IGBkcnZyLSZndDtvcHNgIHNob3VsZCBwb2ludCB0byBhIGBicmNtZl9md3ZpZF9vcHNgIHN0cnVjdCwgb3Igc29tZXRoaW5nIGNvbXBhcmFibGUgZm9yIGZpcm13YXJlIHZpZGVvIG9wZXJhdGlvbnMuIFRoYXQgbWFrZXMgc2Vuc2UsIGtlZXBpbmcgdGhpbmdzIG1vZHVsYXIuIEJ1dCBoYW5nIG9uLCBpbiB0aGUgYGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzYCBmdW5jdGlvbiwgYGRydnItJmd0O29wc2AgaXMgYXBwYXJlbnRseSBhIGBjZmc4MDIxMV9vcHNgIHN0cnVjdC4gVGhhdCYjMzk7cyB1bmV4cGVjdGVkLi4uIEkgbmVlZCB0byB1bmRlcnN0YW5kIGhvdyB0aGUgZHJpdmVyIGludGVyZmFjZXMgd2l0aCB0aGUgY2ZnODAyMTEgc3Vic3lzdGVtLgoKVG8gY2xhcmlmeSB0aGlzIGluY29uc2lzdGVuY3ksIEkmIzM5O20gZ29pbmcgdG8gZG91YmxlLWNoZWNrIHRoZSBgYnJjbWZfcHViYCBzdHJ1Y3R1cmUuIEkgbmVlZCB0byBzZWUgaG93IHRoZXNlIGRpZmZlcmVudCBvcGVyYXRpb24gc3RydWN0dXJlcywgcmVsYXRlZCB0byBmaXJtd2FyZSB2aWRlbywgYW5kIHJlbGF0ZWQgdG8gY2ZnODAyMTEgYXJlIGNvbm5lY3RlZCwgb3IgaWYgdGhlcmUmIzM5O3MgYSBtaXNub21lciBpbiBteSBhbmFseXNpcyBvZiB0aGUgY29kZS4gVGhpcyBpcyB3aGVyZSB0aGUgbWFnaWMgKG9yIHRoZSBjb25mdXNpb24pIGxpa2VseSBoYXBwZW5zLiBMZXQmIzM5O3Mgc2VlIGhvdyB0aGluZ3MgYXJlIGluaXRpYWxpemVkIGFuZCB3aGljaCBgb3BzYCBhcmUgYWN0dWFsbHkgYXNzaWduZWQgd2hlcmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjA0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3N0cnVjdCBicmNtZl9wdWIgXFx7JiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jb3JlLmg9ODA9c3RydWN0IGJyY21mX3Jldl9pbmZvIHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5oLTEwMC0vKiBDb21tb24gc3RydWN0dXJlIGZvciBtb2R1bGUgYW5kIGluc3RhbmNlIGxpbmthZ2UgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jb3JlLmg6MTAxOnN0cnVjdCBicmNtZl9wdWIge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuaC0xMDItXHQvKiBMaW5rYWdlIHBvbnRlcnMgKi9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjcxNTYKCQkJCQkJCW91dHB1dDogNTMKCQkJCQkJCXRob3VnaHRzOiAzOAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBzdW1tYXJ5LCBhcyBpZiBJIHdlcmUgdGhpbmtpbmcgdGhlc2UgdGhvdWdodHM6CgoqKkRpdmluZyBpbnRvIGJyY21mbWFjJiMzOTtzIENvcmUgSGVhZGVyKioKCk9rYXksIHRpbWUgdG8gZ2V0IG15IGhhbmRzIGRpcnR5LiBJJiMzOTttIGdvaW5nIHRvIHRha2UgYSBsb29rIGF0IHRoZSBgYnJjbWZtYWNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSBgY29yZS5oYCBoZWFkZXIgZmlsZS4gSSBrbm93IHRoaXMgaXMgdGhlIGNlbnRyYWwgcG9pbnQgZm9yIGEgbG90IG9mIHRoZSBmdW5kYW1lbnRhbCBkZWZpbml0aW9ucyBhbmQgc3RydWN0dXJlcy4gSSYjMzk7bSBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIGFyb3VuZCBsaW5lIDEwMSwgd2hpY2ggaXMgdXN1YWxseSB3aGVyZSBhIGdvb2QgY2h1bmsgb2YgdGhlIGltcG9ydGFudCBzdHVmZiBiZWdpbnMuIEkmIzM5O20gZXhwZWN0aW5nIHRvIGZpbmQgc29tZSBjcnVjaWFsIG1hY3JvIGRlZmluaXRpb25zLCBwb3RlbnRpYWxseSBzb21lIGtleSBkYXRhIHN0cnVjdHVyZXMgbGlrZSB0aGUgbWFpbiBkcml2ZXIgY29udGV4dCwgb3IgbWF5YmUgc29tZSBpbXBvcnRhbnQgZnVuY3Rpb24gcHJvdG90eXBlcyBmb3IgaW5pdGlhbGl6aW5nIG9yIG1hbmFnaW5nIHRoZSBCcm9hZGNvbSB3aXJlbGVzcyBpbnRlcmZhY2UuIFRoaXMgaXMgZ29pbmcgdG8gYmUgdGhlIGZvdW5kYXRpb24gZm9yIHVuZGVyc3RhbmRpbmcgaG93IHRoZSBjb3JlIG9mIHRoaXMgZHJpdmVyIGludGVyYWN0cyB3aXRoIHRoZSBoYXJkd2FyZS4gTGV0JiMzOTtzIHNlZSB3aGF0JiMzOTtzIHRoZXJlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE4LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jb3JlLmgmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAxMDAsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogNTAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDEwMDpcdC8qIENvbW1vbiBzdHJ1Y3R1cmUgZm9yIG1vZHVsZSBhbmQgaW5zdGFuY2UgbGlua2FnZSAqL1xuIDEwMTpcdHN0cnVjdCBicmNtZl9wdWIge1xuIDEwMjpcdFx0LyogTGlua2FnZSBwb250ZXJzICovXG4gMTAzOlx0XHRzdHJ1Y3QgYnJjbWZfYnVzICpidXNfaWY7XG4gMTA0Olx0XHRzdHJ1Y3QgYnJjbWZfcHJvdG8gKnByb3RvO1xuIDEwNTpcdFx0c3RydWN0IHdpcGh5ICp3aXBoeTtcbiAxMDY6XHRcdHN0cnVjdCBjZmc4MDIxMV9vcHMgKm9wcztcbiAxMDc6XHRcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjb25maWc7XG4gMTA4Olx0XG4gMTA5Olx0XHQvKiBJbnRlcm5hbCBicmNtZiBpdGVtcyAqL1xuIDExMDpcdFx0dWludCBoZHJsZW47XHRcdC8qIFRvdGFsIEJSQ01GIGhlYWRlciBsZW5ndGggKHByb3RvICYjNDM7IGJ1cykgKi9cbiAxMTE6XHRcbiAxMTI6XHRcdC8qIERvbmdsZSBtZWRpYSBpbmZvICovXG4gMTEzOlx0XHRjaGFyIGZ3dmVyW0JSQ01GX0RSSVZFUl9GSVJNV0FSRV9WRVJTSU9OX0xFTl07XG4gMTE0Olx0XHR1OCBtYWNbRVRIX0FMRU5dO1x0XHQvKiBNQUMgYWRkcmVzcyBvYnRhaW5lZCBmcm9tIGRvbmdsZSAqL1xuIDExNTpcdFxuIDExNjpcdFx0c3RydWN0IG1hY19hZGRyZXNzIGFkZHJlc3Nlc1tCUkNNRl9NQVhfSUZTXTtcbiAxMTc6XHRcbiAxMTg6XHRcdHN0cnVjdCBicmNtZl9pZiAqaWZsaXN0W0JSQ01GX01BWF9JRlNdO1xuIDExOTpcdFx0czMyIGlmMmJzc1tCUkNNRl9NQVhfSUZTXTtcbiAxMjA6XHRcdHN0cnVjdCBicmNtZl9pZiAqbW9uX2lmO1xuIDEyMTpcdFxuIDEyMjpcdFx0c3RydWN0IG11dGV4IHByb3RvX2Jsb2NrO1xuIDEyMzpcdFx0dW5zaWduZWQgY2hhciBwcm90b19idWZbQlJDTUZfRENNRF9NQVhMRU5dO1xuIDEyNDpcdFxuIDEyNTpcdFx0c3RydWN0IGJyY21mX2Z3ZWhfaW5mbyAqZndlaDtcbiAxMjY6XHRcbiAxMjc6XHRcdHN0cnVjdCBicmNtZl9hbXBkdV9yeF9yZW9yZGVyXG4gMTI4Olx0XHRcdCpyZW9yZGVyX2Zsb3dzW0JSQ01GX0FNUERVX1JYX1JFT1JERVJfTUFYRkxPV1NdO1xuIDEyOTpcdFxuIDEzMDpcdFx0dTMyIGZlYXRfZmxhZ3M7XG4gMTMxOlx0XHR1MzIgY2hpcF9xdWlya3M7XG4gMTMyOlx0XG4gMTMzOlx0XHRzdHJ1Y3QgYnJjbWZfcmV2X2luZm8gcmV2aW5mbztcbiAxMzQ6XHQjaWZkZWYgREVCVUdcbiAxMzU6XHRcdHN0cnVjdCBkZW50cnkgKmRiZ2ZzX2RpcjtcbiAxMzY6XHQjZW5kaWZcbiAxMzc6XHRcbiAxMzg6XHRcdHN0cnVjdCBub3RpZmllcl9ibG9jayBpbmV0YWRkcl9ub3RpZmllcjtcbiAxMzk6XHRcdHN0cnVjdCBub3RpZmllcl9ibG9jayBpbmV0NmFkZHJfbm90aWZpZXI7XG4gMTQwOlx0XHRzdHJ1Y3QgYnJjbWZfbXBfZGV2aWNlICpzZXR0aW5ncztcbiAxNDE6XHRcbiAxNDI6XHRcdHN0cnVjdCB3b3JrX3N0cnVjdCBidXNfcmVzZXQ7XG4gMTQzOlx0XG4gMTQ0Olx0XHR1OCBjbG12ZXJbQlJDTUZfRENNRF9TTUxFTl07XG4gMTQ1Olx0XHR1OCBzdGFfbWFjX2lkeDtcbiAxNDY6XHRcdGNvbnN0IHN0cnVjdCBicmNtZl9md3ZpZF9vcHMgKnZvcHM7XG4gMTQ3Olx0XHR2b2lkICp2ZGF0YTtcbiAxNDg6XHR9O1xuIDE0OTpcdFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE5LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyODE4MAoJCQkJCQkJb3V0cHV0OiAxOQoJCQkJCQkJdGhvdWdodHM6IDMyNQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIFRhcmdldCBJZGVudGlmaWNhdGlvbjogYnJjbWZtYWMgTWdtdCBUWCBhbmQgRXh0ZXJuYWwgQXV0aCBDYWxsYmFja3MqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kIGNvbmZpcm1pbmcgbXkgaW5pdGlhbCBhc3Nlc3NtZW50LiBZZXMsIHRoZSBgc3RydWN0IGNmZzgwMjExX29wcyAqb3BzO2AgY29uZmlybXMgaXQuIFNwZWNpZmljYWxseSwgdGhlIGBicmNtZl9jeXdfbWdtdF90eGAgY2FsbGJhY2sgaXMgaW5kZWVkIHRoZSBgbWdtdF90eGAgZnVuY3Rpb24gd2l0aGluIGBjZmc4MDIxMWAsIGFuZCBgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGhgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGBleHRlcm5hbF9hdXRoYCBjYWxsYmFjay4gVGhlc2UgYXJlIGludGVyZXN0aW5nIGJlY2F1c2UgdGhleSYjMzk7cmUgZGlyZWN0bHkgZXhwb3NlZCB0byB1c2Vyc3BhY2UgaW50ZXJhY3Rpb24gdGhyb3VnaCBgbmw4MDIxMWAgY29tbWFuZHM6IHNwZWNpZmljYWxseSBgbmw4MDIxMV90eF9tZ210YCBhbmQgYG5sODAyMTFfZXh0ZXJuYWxfYXV0aGAuCgpTaW5jZSB0aGUgYGJyY21mbWFjYCBkcml2ZXIgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgc2V0dXAgKGxpa2UgYGR1bW15X2hjZGApLCBJIGtub3cgdGhlc2UgZnVuY3Rpb25zIGFyZSByZWFjaGFibGUgYW5kLCBjcml0aWNhbGx5LCBmdW5jdGlvbmFsLiBUaGUgcGF0Y2ggaXRzZWxmIGlzIG1ha2luZyBzb21lIGZ1bmN0aW9uYWwgbW9kaWZpY2F0aW9ucy4gYGJyY21mX2N5d19tZ210X3R4YCBpcyBjaGFuZ2luZyBmcm9tIHVzaW5nIGEgcHJvdmlkZWQgYGNvb2tpZWAgdG8gYW4gYXRvbWljIGNvdW50ZXIgZm9yIGBwYWNrZXRfaWRgLiAgQW5kIGluIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAgaXQmIzM5O3MgbWFraW5nIHN1cmUgdG8gY29weSBgcG1raWRgIGlmIGl0JiMzOTtzIHRoZXJlLgoKVGhlc2UgYXJlIGdvb2QgdGFyZ2V0cyBmb3IgZnV6emluZy4gVGhleSByZXByZXNlbnQgcG9pbnRzIHdoZXJlIHdlJiMzOTt2ZSBjaGFuZ2VkIGV4aXN0aW5nLCBleHBvc2VkIGZ1bmN0aW9uYWxpdHksIGFuZCBhcmUgdGhlcmVmb3JlIHByaW1lIGNhbmRpZGF0ZXMgZm9yIGRpc2NvdmVyaW5nIG5ldyBidWdzLgoKTXkgZm9jdXMgc2hvdWxkIGJlIG9uIGBicmNtZl9jeXdfbWdtdF90eGAgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAuIExldCYjMzk7cyBhbHNvIGNoZWNrIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucy4gVGhlIGRyaXZlciBjb25maWdzIGFyZSBgQlJDTUZNQUNgLCBgQlJDTUZNQUNfVVNCYCBhbmQsIGltcGxpY2l0bHksIGBDRkc4MDIxMWAuIEhvd2V2ZXIsIEkgbmVlZCB0byBjaGVjayB0aGUgS2NvbmZpZyBmaWxlIGluIGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZ2AgdG8gYmUgc3VyZSB0aGVyZSBhcmVuJiMzOTt0IGFueSBDWVctc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgSSBuZWVkIHRvIHRha2UgaW50byBhY2NvdW50LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgQlJDTUZNQUMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6MTpjb25maWcgQlJDTUZNQUNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTItXHR0cmlzdGF0ZSBcJiMzNDtCcm9hZGNvbSBGdWxsTUFDIFdMQU4gZHJpdmVyXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzoxMTpjb25maWcgQlJDTUZNQUNfUFJPVE9fQkNEQ1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTItXHRib29sXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjE0OmNvbmZpZyBCUkNNRk1BQ19QUk9UT19NU0dCVUZcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTE1LVx0Ym9vbFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzoxNzpjb25maWcgQlJDTUZNQUNfU0RJT1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTgtXHRib29sIFwmIzM0O1NESU8gYnVzIGludGVyZmFjZSBzdXBwb3J0IGZvciBGdWxsTUFDIGRyaXZlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTI4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6Mjk6Y29uZmlnIEJSQ01GTUFDX1VTQlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMzAtXHRib29sIFwmIzM0O1VTQiBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMzktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzo0MDpjb25maWcgQlJDTUZNQUNfUENJRVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctNDEtXHRib29sIFwmIzM0O1BDSUUgYnVzIGludGVyZmFjZSBzdXBwb3J0IGZvciBGdWxsTUFDIGRyaXZlclwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIxLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyOTU3MwoJCQkJCQkJb3V0cHV0OiA0NQoJCQkJCQkJdGhvdWdodHM6IDUwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBsZXQmIzM5O3Mgc2VlLi4uCgoqKkNoZWNraW5nIHRoZSBCdWlsZCBDb25maWd1cmF0aW9uKioKCkhhbmcgb24gYSBzZWNvbmQsIGBjeXdgIGlzIGEgc3ViZGlyZWN0b3J5LCBpc24mIzM5O3QgaXQ/IFJpZ2h0LCBpdCYjMzk7cyBub3QgYSB0b3AtbGV2ZWwgc291cmNlIGZpbGUuIE9rYXksIHNvIHRoYXQgbWVhbnMgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgKmhvdyogaXQgZ2V0cyBpbmNsdWRlZCBpbiB0aGUgYnVpbGQuIEl0JiMzOTtzIGxpa2VseSBjb25kaXRpb25hbGx5IGNvbXBpbGVkLiBUaGUgZmlyc3QgcGxhY2UgSSYjMzk7ZCBjaGVjayBpcyB0aGUgcmVsZXZhbnQgYE1ha2VmaWxlYC4gU28sIGxldCYjMzk7cyBnbyBwb2tlIGFyb3VuZCBpbiBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL01ha2VmaWxlYCBhbmQgc2VlIHdoYXQmIzM5O3Mgd2hhdC4gVGhhdCYjMzk7cyB0aGUgbW9zdCBsb2dpY2FsIHBsYWNlIHRvIHN0YXJ0IGxvb2tpbmcgZm9yIGJ1aWxkIHJ1bGVzIGFmZmVjdGluZyB0aGF0IGRpcmVjdG9yeS4gSSYjMzk7bSBleHBlY3RpbmcgdG8gZmluZCBzb21lIGBpZmVxYCBvciBgaWZuZXFgIGRpcmVjdGl2ZXMsIG9yIG1heWJlIGV2ZW4gYSBtb3JlIGNvbXBsZXggY29uZGl0aW9uYWwgaW52b2x2aW5nIGtlcm5lbCBjb25maWd1cmF0aW9uIG9wdGlvbnMuIExldCYjMzk7cyBzZWUgd2hhdCB3ZSBmaW5kLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjeXcmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL01ha2VmaWxlPTU1PW9iai1tICYjNDM7PSB3Y2MvXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGU6NTY6b2JqLW0gJiM0Mzs9IGN5dy9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9NYWtlZmlsZS01Ny1vYmotbSAmIzQzOz0gYmNhL1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9NYWtlZmlsZT01OT1icmNtZm1hYy0kKENPTkZJR19CUkNNRk1BQykgJiM0Mzs9IHdjYy9jb3JlLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9NYWtlZmlsZTo2MDpicmNtZm1hYy0kKENPTkZJR19CUkNNRk1BQykgJiM0Mzs9IGN5dy9jb3JlLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9NYWtlZmlsZS02MS1icmNtZm1hYy0kKENPTkZJR19CUkNNRk1BQykgJiM0Mzs9IGJjYS9jb3JlLm9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzAxMTQKCQkJCQkJCW91dHB1dDogMTkKCQkJCQkJCXRob3VnaHRzOiAxNTUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBgQlJDTUZNQUNgIENvbmZpZ3VyYXRpb24gYW5kIFJlbGV2YW50IENvZGUgUGF0aHMqKgoKT2theSwgc28gdGhpcyBjb2RlIGlzIG9ubHkgY29tcGlsZWQgaWYgYENPTkZJR19CUkNNRk1BQ2AgaXMgZW5hYmxlZC4gVGhhdCBtYWtlcyBzZW5zZSwgc28gSSBuZWVkIHRvIGZvY3VzIG9uIGVuYWJsaW5nIGJvdGggYEJSQ01GTUFDYCBhbmQgYEJSQ01GTUFDX1VTQmAgd2l0aGluIHRoZSBjb25maWd1cmF0aW9uLiBOb3csIEkgbmVlZCB0byBwaW5wb2ludCB0aGUgY3JpdGljYWwgZnVuY3Rpb25zIEkgd2FudCB0byBleGFtaW5lIGluIG1vcmUgZGV0YWlsLgoKYGJyY21mX2N5d19tZ210X3R4YCBhbmQgYGJyY21mX2N5d19leHRlcm5hbF9hdXRoYCBzZWVtIGxpa2UgcHJvbWlzaW5nIGNhbmRpZGF0ZXMuIExldCBtZSBqdXN0IGNvbmZpcm0gdGhlc2UgYXJlIHRoZSBwcmltYXJ5IGZ1bmN0aW9ucyBJJiMzOTttIGludGVyZXN0ZWQgaW4gYW5kIG5vdCBqdXN0IHNvbWUgZ2VuZXJpYyBob3QgcGF0aCBjb2RlLiBZZXMsIEkmIzM5O20gcmlnaHQsIHRob3NlIGFyZSBleGFjdGx5IHRoZSBmdW5jdGlvbnMgdGhhdCBhcmUgYmVpbmcgbW9kaWZpZWQsIGFuZCB0aG9zZSBhcmVuJiMzOTt0IGV4YWN0bHkgaG90IHBhdGgsIGFzIHRoZXkgYXJlIHBhcnQgb2YgdGhlIGNvbnRyb2wgcGxhbmUuIEdvb2QsIHRoYXQgdmVyaWZpZXMgbXkgaW5pdGlhbCBhc3Nlc3NtZW50LgoKTm93LCBsZXQmIzM5O3MgbWFrZSBzdXJlIHRoYXQgYGJyY21mX2N5d19leHRlcm5hbF9hdXRoYCBpcyBhY3R1YWxseSBiZWluZyB1c2VkIHNvbWV3aGVyZSwgdGhhdCBpdCYjMzk7cyByZWFjaGFibGUgY29kZS4gSXQgbG9va3MgbGlrZSBpdCBpcywgaXQmIzM5O3MgYXNzaWduZWQgdG8gYGRydnItJmd0O29wcy0mZ3Q7ZXh0ZXJuYWxfYXV0aGAuIEFuZCBJIHNlZSBpdOKAmXMgYXNzaWduZWQgaW4gYG5ldC93aXJlbGVzcy9ubDgwMjExLmNgLiBBbHJpZ2h0LCB0aGF0JiMzOTtzIGRlZmluaXRlbHkgZ29vZCBjb25maXJtYXRpb24gdGhhdCB0aGlzIGlzIGEgdmFsaWQgcGF0aCB0byBpbnZlc3RpZ2F0ZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7b3BzLVx1MDAzZWV4dGVybmFsX2F1dGgmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MjM2PXN0YXRpYyB2b2lkIGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjM4LVx0ZHJ2ci1cdTAwM2VvcHMtXHUwMDNlbWdtdF90eCA9IGJyY21mX2N5d19tZ210X3R4O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MjM5Olx0ZHJ2ci1cdTAwM2VvcHMtXHUwMDNlZXh0ZXJuYWxfYXV0aCA9IGJyY21mX2N5d19leHRlcm5hbF9hdXRoO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjQwLX1cbi0tXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jPTE4MzA1PXN0YXRpYyBpbnQgbmw4MDIxMV9leHRlcm5hbF9hdXRoKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXG4tLVxubmV0L3dpcmVsZXNzL25sODAyMTEuYy0xODMxMC1cbm5ldC93aXJlbGVzcy9ubDgwMjExLmM6MTgzMTE6XHRpZiAoIXJkZXYtXHUwMDNlb3BzLVx1MDAzZWV4dGVybmFsX2F1dGgpXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE4MzEyLVx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4tLVxubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmg9MTMzOT1yZGV2X2V4dGVybmFsX2F1dGgoc3RydWN0IGNmZzgwMjExX3JlZ2lzdGVyZWRfZGV2aWNlICpyZGV2LFxuLS1cbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oLTEzNDUtXHR0cmFjZV9yZGV2X2V4dGVybmFsX2F1dGgoXHUwMDI2cmRldi1cdTAwM2V3aXBoeSwgZGV2LCBwYXJhbXMpO1xubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmg6MTM0NjpcdGlmIChyZGV2LVx1MDAzZW9wcy1cdTAwM2VleHRlcm5hbF9hdXRoKVxubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmg6MTM0NzpcdFx0cmV0ID0gcmRldi1cdTAwM2VvcHMtXHUwMDNlZXh0ZXJuYWxfYXV0aChcdTAwMjZyZGV2LVx1MDAzZXdpcGh5LCBkZXYsIHBhcmFtcyk7XG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaC0xMzQ4LVx0dHJhY2VfcmRldl9yZXR1cm5faW50KFx1MDAyNnJkZXYtXHUwMDNld2lwaHksIHJldCk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjA1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxMTAzCgkJCQkJCQlvdXRwdXQ6IDEyMgoJCQkJCQkJdGhvdWdodHM6IDIzMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBGdXp6aW5nIFN0cmF0ZWd5IGZvciB0aGUgQnJvYWRjb20gRnVsbE1BQyBEcml2ZXIqKgoKT2theSwgc28gSSYjMzk7dmUgYmVlbiBhbmFseXppbmcgdGhpcyBwYXRjaCB0YXJnZXRpbmcgdGhlIEJyb2FkY29tIEZ1bGxNQUMgV0xBTiBkcml2ZXIsIHNwZWNpZmljYWxseSBmb2N1c2luZyBvbiBgYnJjbWZtYWNgLiAgTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCB5ZXMsIHRoZSBgbmw4MDIxMV9leHRlcm5hbF9hdXRoYCBmdW5jdGlvbmFsaXR5ICppcyogcmVhY2hhYmxlIOKAkyB0aGF0JiMzOTtzIGEgZ29vZCBzdGFydGluZyBwb2ludC4gTm93LCBsZXQmIzM5O3Mgc2VlIGlmIHRoZXJlIGFyZSAqb3RoZXIqIGNvbmZpZ3VyYXRpb25zIEkgbmVlZCB0byBjb25zaWRlciBmb3IgZW5hYmxpbmcgdGhlIHJlbGV2YW50IGNvZGUgcGF0aHMuIEFoLCBoZXJlIHdlIGdvLCBgQlJDTUZNQUNgIGFuZCBgQlJDTUZNQUNfVVNCYC4gR29vZC4gSSBub3RlIHRoYXQgYENGRzgwMjExYCBpcywgdGhhbmtmdWxseSwgYWxyZWFkeSBlbmFibGVkIGJ5IGRlZmF1bHQgaW4gc3l6a2FsbGVyLgoKUmlnaHQsIEkmIzM5O20gZ29pbmcgdG8gZm9sbG93IHRoZSBndWlkYW5jZS4gVGhlIGluc3RydWN0aW9ucyBhcmUgY2xlYXI6IGtlZXAgdGhlIGNvbmZpZ3VyYXRpb24gZm9jdXNlZCBvbiB3aGF0JiMzOTtzICptb2RpZmllZCouIERvbuKAmXQgbGlzdCBnZW5lcmljLCBhbHJlYWR5LWVuYWJsZWQgY29uZmlncy4gU2luY2UgdGhlIGNvcmUgbW9kaWZpY2F0aW9ucyB0b3VjaCBtYW5hZ2VtZW50IGZyYW1lIHRyYW5zbWlzc2lvbiBhbmQgZXh0ZXJuYWwgYXV0aGVudGljYXRpb24gc3BlY2lmaWNhbGx5IHdpdGhpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBkcml2ZXIsIGBCUkNNRk1BQ2AgYW5kIGBCUkNNRk1BQ19VU0JgIHdpbGwgY292ZXIgd2hhdCYjMzk7cyBuZWNlc3NhcnkuIEkgZG9uJiMzOTt0IG5lZWQgdG8gYmxvYXQgdGhlIGNvbmZpZ3VyYXRpb24gd2l0aCByZWR1bmRhbnQgb3B0aW9ucy4KCkxldCYjMzk7cyBkaXN0aWxsIHRoaXMgaW50byBhIGNvbmNpc2UgZnV6emluZyBzdHJhdGVneS4gSSYjMzk7bSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZ2AgdG8gYHRydWVgLCBvZiBjb3Vyc2UuIE15IGBGb2N1c1N5bWJvbHNgIHdpbGwgYmUgYCYjMzQ7YnJjbWZfY3l3X21nbXRfdHgmIzM0O2AgYW5kIGAmIzM0O2JyY21mX2N5d19leHRlcm5hbF9hdXRoJiMzNDtgLiBUaGUgcmVsZXZhbnQgYEVuYWJsZUNvbmZpZ3NgIGFyZSBgWyYjMzQ7QlJDTUZNQUMmIzM0OywgJiMzNDtCUkNNRk1BQ19VU0ImIzM0O11gLiBUaGUgcmF0aW9uYWxlIGlzIHN0cmFpZ2h0Zm9yd2FyZDogdGhlIHBhdGNoIGFsdGVycyB0aGUgbWFuYWdlbWVudCBmcmFtZSB0eCBhbmQgZXh0ZXJuYWwgYXV0aGVudGljYXRpb24gbG9naWMgaW4gdGhlIEJyb2FkY29tIEZ1bGxNQUMgZHJpdmVyIChgYnJjbWZtYWNgKS4gVGhlc2UgZnVuY3Rpb25zIGFyZSBhY2Nlc3NpYmxlIGZyb20gdXNlcnNwYWNlIHRocm91Z2ggYG5sODAyMTFgIGNvbW1hbmRzIGFuZCBhcmUgcGVyZmVjdCBjYW5kaWRhdGVzIGZvciBmdXp6aW5nIHVzaW5nIGEgVVNCIGdhZGdldCBlbXVsYXRvci4gVGhpcyBhcHByb2FjaCB3aWxsIG1heGltaXplIGNvZGUgY292ZXJhZ2Ugd2l0aGluIHRoZSBzY29wZSBvZiB0aGUgbW9kaWZpY2F0aW9uLCB3aGljaCBpcyB0aGUga2V5IHRvIGVmZmljaWVudCBhbmQgdGFyZ2V0ZWQgZnV6emluZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yNi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JSQ01GTUFDJiMzNDssCiAgICAmIzM0O0JSQ01GTUFDX1VTQiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JyY21mX2N5d19tZ210X3R4JiMzNDssCiAgICAmIzM0O2JyY21mX2N5d19leHRlcm5hbF9hdXRoJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBsb2dpYyBpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlciAoYnJjbWZtYWMpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBmcm9tIHVzZXJzcGFjZSB2aWEgbmw4MDIxMSBjb21tYW5kcyBhbmQgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgZW11bGF0b3IuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JSQ01GTUFDJiMzNDssCiAgICAmIzM0O0JSQ01GTUFDX1VTQiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JyY21mX2N5d19tZ210X3R4JiMzNDssCiAgICAmIzM0O2JyY21mX2N5d19leHRlcm5hbF9hdXRoJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBsb2dpYyBpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlciAoYnJjbWZtYWMpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBmcm9tIHVzZXJzcGFjZSB2aWEgbmw4MDIxMSBjb21tYW5kcyBhbmQgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgZW11bGF0b3IuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowMzoxMy42NjI5NzY5MDhaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNjczMDAwMjkxNzQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlJDTUZNQUNcIixcbiAgICBcIkJSQ01GTUFDX1VTQlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJyY21mX2N5d19tZ210X3R4XCIsXG4gICAgXCJicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBsb2dpYyBpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlciAoYnJjbWZtYWMpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBmcm9tIHVzZXJzcGFjZSB2aWEgbmw4MDIxMSBjb21tYW5kcyBhbmQgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgZW11bGF0b3IuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjAzOjEzLjY2Mjk4NjkwOFoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjU1ODM5NzkwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNWU1MWMwZDlmYzJiOTJiZDNlZWZmOGFiMDliMWU1ZDkxMTUwZWM1YVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgRnJpIEp1bCAxMCAwODowMzoxMSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXFxuaW5kZXggY2UwOWQ0NGZhNzNjZjguLmNjYTUzZmYxOTM2YTQwIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNcXG5AQCAtMjMsNiArMjMsOCBAQFxcbiAjZGVmaW5lIE1HTVRfQVVUSF9GUkFNRV9EV0VMTF9USU1FXFx0NDAwMFxcbiAjZGVmaW5lIE1HTVRfQVVUSF9GUkFNRV9XQUlUX1RJTUVcXHQoTUdNVF9BVVRIX0ZSQU1FX0RXRUxMX1RJTUUgKyAxMDApXFxuIFxcbitzdGF0aWMgYXRvbWljX3QgYnJjbWZfY3l3X21nbXRfdHhfaWQgPSBBVE9NSUNfSU5JVCgwKTtcXG4rXFxuIHN0YXRpYyBpbnQgYnJjbWZfY3l3X3NldF9zYWVfcHdkKHN0cnVjdCBicmNtZl9pZiAqaWZwLFxcbiBcXHRcXHRcXHRcXHQgc3RydWN0IGNmZzgwMjExX2NyeXB0b19zZXR0aW5ncyAqY3J5cHRvKVxcbiB7XFxuQEAgLTE1NSw3ICsxNTcsNyBAQCBpbnQgYnJjbWZfY3l3X21nbXRfdHgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldixcXG4gXFxuIFxcdG1lbWNweShcXHUwMDI2bWZfcGFyYW1zLVxcdTAwM2VkYVswXSwgXFx1MDAyNm1nbXQtXFx1MDAzZWRhWzBdLCBFVEhfQUxFTik7XFxuIFxcdG1lbWNweShcXHUwMDI2bWZfcGFyYW1zLVxcdTAwM2Vic3NpZFswXSwgXFx1MDAyNm1nbXQtXFx1MDAzZWJzc2lkWzBdLCBFVEhfQUxFTik7XFxuLVxcdG1mX3BhcmFtcy1cXHUwMDNlcGFja2V0X2lkID0gY3B1X3RvX2xlMzIoKmNvb2tpZSk7XFxuK1xcdG1mX3BhcmFtcy1cXHUwMDNlcGFja2V0X2lkID0gY3B1X3RvX2xlMzIoYXRvbWljX2luY19yZXR1cm4oXFx1MDAyNmJyY21mX2N5d19tZ210X3R4X2lkKSk7XFxuIFxcdG1lbWNweShtZl9wYXJhbXMtXFx1MDAzZWRhdGEsIFxcdTAwMjZidWZbRE9UMTFfTUdNVF9IRFJfTEVOXSxcXG4gXFx0ICAgICAgIGxlMTZfdG9fY3B1KG1mX3BhcmFtcy1cXHUwMDNlbGVuKSk7XFxuIFxcbkBAIC0yMDAsNyArMjAyLDcgQEAgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4ge1xcbiBcXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcDtcXG4gXFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2cjtcXG4tXFx0c3RydWN0IGJyY21mX2F1dGhfcmVxX3N0YXR1c19sZSBhdXRoX3N0YXR1cztcXG4rXFx0c3RydWN0IGJyY21mX2F1dGhfcmVxX3N0YXR1c19sZSBhdXRoX3N0YXR1cyA9IHt9O1xcbiBcXHRpbnQgcmV0ID0gMDtcXG4gXFxuIFxcdGJyY21mX2RiZyhUUkFDRSwgXFxcIkVudGVyXFxcXG5cXFwiKTtcXG5AQCAtMjA4LDYgKzIxMCw4IEBAIGJyY21mX2N5d19leHRlcm5hbF9hdXRoKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuIFxcdGlmcCA9IG5ldGRldl9wcml2KGRldik7XFxuIFxcdGRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuIFxcdGlmIChwYXJhbXMtXFx1MDAzZXN0YXR1cyA9PSBXTEFOX1NUQVRVU19TVUNDRVNTKSB7XFxuK1xcdFxcdGlmIChwYXJhbXMtXFx1MDAzZXBta2lkKVxcbitcXHRcXHRcXHRtZW1jcHkoYXV0aF9zdGF0dXMucG1raWQsIHBhcmFtcy1cXHUwMDNlcG1raWQsIFdMQU5fUE1LSURfTEVOKTtcXG4gXFx0XFx0YXV0aF9zdGF0dXMuZmxhZ3MgPSBjcHVfdG9fbGUxNihCUkNNRl9FWFRBVVRIX1NVQ0NFU1MpO1xcbiBcXHR9IGVsc2Uge1xcbiBcXHRcXHRicGh5X2VycihkcnZyLCBcXFwiRXh0ZXJuYWwgYXV0aGVudGljYXRpb24gZmFpbGVkOiBzdGF0dXM9JWRcXFxcblxcXCIsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjAzOjE0LjMyMDA2MDA1OFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTY2NjQyOTE3MzM0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJSQ01GTUFDXCIsXG4gICAgXCJCUkNNRk1BQ19VU0JcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicmNtZl9jeXdfbWdtdF90eFwiLFxuICAgIFwiYnJjbWZfY3l3X2V4dGVybmFsX2F1dGhcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBtYW5hZ2VtZW50IGZyYW1lIHRyYW5zbWlzc2lvbiBhbmQgZXh0ZXJuYWwgYXV0aGVudGljYXRpb24gbG9naWMgaW4gdGhlIEJyb2FkY29tIEZ1bGxNQUMgV0xBTiBkcml2ZXIgKGJyY21mbWFjKS4gVGhlc2UgZnVuY3Rpb25zIGFyZSByZWFjaGFibGUgZnJvbSB1c2Vyc3BhY2UgdmlhIG5sODAyMTEgY29tbWFuZHMgYW5kIGNhbiBiZSBmdXp6ZWQgdXNpbmcgYSBVU0IgZ2FkZ2V0IGVtdWxhdG9yLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDVlNTFjMGQ5ZmMyYjkyYmQzZWVmZjhhYjA5YjFlNWQ5MTE1MGVjNWFcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAxMCAwODowMzoxMSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNcbmluZGV4IGNlMDlkNDRmYTczY2Y4Li5jY2E1M2ZmMTkzNmE0MCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY1xuQEAgLTIzLDYgKzIzLDggQEBcbiAjZGVmaW5lIE1HTVRfQVVUSF9GUkFNRV9EV0VMTF9USU1FXHQ0MDAwXG4gI2RlZmluZSBNR01UX0FVVEhfRlJBTUVfV0FJVF9USU1FXHQoTUdNVF9BVVRIX0ZSQU1FX0RXRUxMX1RJTUUgKyAxMDApXG4gXG4rc3RhdGljIGF0b21pY190IGJyY21mX2N5d19tZ210X3R4X2lkID0gQVRPTUlDX0lOSVQoMCk7XG4rXG4gc3RhdGljIGludCBicmNtZl9jeXdfc2V0X3NhZV9wd2Qoc3RydWN0IGJyY21mX2lmICppZnAsXG4gXHRcdFx0XHQgc3RydWN0IGNmZzgwMjExX2NyeXB0b19zZXR0aW5ncyAqY3J5cHRvKVxuIHtcbkBAIC0xNTUsNyArMTU3LDcgQEAgaW50IGJyY21mX2N5d19tZ210X3R4KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsXG4gXG4gXHRtZW1jcHkoXHUwMDI2bWZfcGFyYW1zLVx1MDAzZWRhWzBdLCBcdTAwMjZtZ210LVx1MDAzZWRhWzBdLCBFVEhfQUxFTik7XG4gXHRtZW1jcHkoXHUwMDI2bWZfcGFyYW1zLVx1MDAzZWJzc2lkWzBdLCBcdTAwMjZtZ210LVx1MDAzZWJzc2lkWzBdLCBFVEhfQUxFTik7XG4tXHRtZl9wYXJhbXMtXHUwMDNlcGFja2V0X2lkID0gY3B1X3RvX2xlMzIoKmNvb2tpZSk7XG4rXHRtZl9wYXJhbXMtXHUwMDNlcGFja2V0X2lkID0gY3B1X3RvX2xlMzIoYXRvbWljX2luY19yZXR1cm4oXHUwMDI2YnJjbWZfY3l3X21nbXRfdHhfaWQpKTtcbiBcdG1lbWNweShtZl9wYXJhbXMtXHUwMDNlZGF0YSwgXHUwMDI2YnVmW0RPVDExX01HTVRfSERSX0xFTl0sXG4gXHQgICAgICAgbGUxNl90b19jcHUobWZfcGFyYW1zLVx1MDAzZWxlbikpO1xuIFxuQEAgLTIwMCw3ICsyMDIsNyBAQCBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIHtcbiBcdHN0cnVjdCBicmNtZl9pZiAqaWZwO1xuIFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2cjtcbi1cdHN0cnVjdCBicmNtZl9hdXRoX3JlcV9zdGF0dXNfbGUgYXV0aF9zdGF0dXM7XG4rXHRzdHJ1Y3QgYnJjbWZfYXV0aF9yZXFfc3RhdHVzX2xlIGF1dGhfc3RhdHVzID0ge307XG4gXHRpbnQgcmV0ID0gMDtcbiBcbiBcdGJyY21mX2RiZyhUUkFDRSwgXCJFbnRlclxcblwiKTtcbkBAIC0yMDgsNiArMjEwLDggQEAgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbiBcdGlmcCA9IG5ldGRldl9wcml2KGRldik7XG4gXHRkcnZyID0gaWZwLVx1MDAzZWRydnI7XG4gXHRpZiAocGFyYW1zLVx1MDAzZXN0YXR1cyA9PSBXTEFOX1NUQVRVU19TVUNDRVNTKSB7XG4rXHRcdGlmIChwYXJhbXMtXHUwMDNlcG1raWQpXG4rXHRcdFx0bWVtY3B5KGF1dGhfc3RhdHVzLnBta2lkLCBwYXJhbXMtXHUwMDNlcG1raWQsIFdMQU5fUE1LSURfTEVOKTtcbiBcdFx0YXV0aF9zdGF0dXMuZmxhZ3MgPSBjcHVfdG9fbGUxNihCUkNNRl9FWFRBVVRIX1NVQ0NFU1MpO1xuIFx0fSBlbHNlIHtcbiBcdFx0YnBoeV9lcnIoZHJ2ciwgXCJFeHRlcm5hbCBhdXRoZW50aWNhdGlvbiBmYWlsZWQ6IHN0YXR1cz0lZFxcblwiLFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDM6MTQuMzIwMDYyMzI4WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NjkzMTIyMDAyOCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBCcm9hZGNvbSBXaXJlbGVzcyBEcml2ZXIgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCBhIHBhdGNoIHdpdGhpbiBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNgLiBJdCdzIHRvdWNoaW5nIHR3byBmdW5jdGlvbnM6IGBicmNtZl9jeXdfbWdtdF90eGAgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAuIExldCdzIGJyZWFrIHRoaXMgZG93bi5cblxuSW4gYGJyY21mX2N5d19tZ210X3R4YCwgaXQgbG9va3MgbGlrZSB0aGV5J3ZlIGNoYW5nZWQgdGhlIHBhY2tldCBJRCBhc3NpZ25tZW50LiBPcmlnaW5hbGx5IGl0IHdhcyB1c2luZyBhIHBvaW50ZXIgdG8gYSBjb29raWUsIGBtZl9wYXJhbXMtXHUwMDNlcGFja2V0X2lkID0gY3B1X3RvX2xlMzIoKmNvb2tpZSk7YCwgbm93IGl0J3MgdXNpbmcgYW4gYXRvbWljIGluY3JlbWVudCwgYG1mX3BhcmFtcy1cdTAwM2VwYWNrZXRfaWQgPSBjcHVfdG9fbGUzMihhdG9taWNfaW5jX3JldHVybihcdTAwMjZicmNtZl9jeXdfbWdtdF90eF9pZCkpO2AuIFRoaXMgc2lnbmFscyBhIHBvdGVudGlhbCBmaXggZm9yIGEgcmFjZSBjb25kaXRpb24gb3IgYSBtb3JlIHJvYnVzdCBwYWNrZXQgaWRlbnRpZmljYXRpb24gc3lzdGVtLCBtb3ZpbmcgZnJvbSBhIGxpa2VseSBzaGFyZWQgb3IgZXh0ZXJuYWwgY29va2llIHRvIGEgcGVyLWZ1bmN0aW9uIGF0b21pYyBjb3VudGVyLlxuXG5JbiBgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGhgLCB0aGV5J3ZlIGluaXRpYWxpemVkIGBhdXRoX3N0YXR1c2AgdG8gYW4gZW1wdHkgc3RydWN0dXJlIGFuZCBhcmUgY29weWluZyB0aGUgUE1LSUQgZnJvbSBgcGFyYW1zYCB0byBgYXV0aF9zdGF0dXMucG1raWRgIGlmIHRoZSBQTUtJRCBpc24ndCBudWxsLiBBIHN0YW5kYXJkIGluaXRpYWxpemF0aW9uIG9mIHZhcmlhYmxlcyB0byBwcmV2ZW50IG1lbW9yeSBsZWFrcyBvciB1bmRlZmluZWQgYmVoYXZpb3IuXG5cbk5vdywgdGhlIGludGVyZXN0aW5nIHF1ZXN0aW9uIGlzOiBjYW4gSSB0cmlnZ2VyIHRoaXMgY29kZSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50PyBUaGlzIGlzIGEgYGJyY21mbWFjYCBCcm9hZGNvbSB3aXJlbGVzcyBkcml2ZXIsIHNvIG15IGZpcnN0IGluc3RpbmN0IGlzIHRoYXQgaXQncyBnb2luZyB0byBiZSB0cmlja3kuIFRoZXNlIGtpbmRzIG9mIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlcnMgb2Z0ZW4gcmVseSBvbiBkaXJlY3QgaGFyZHdhcmUgaW50ZXJhY3Rpb24sIHdoaWNoIGlzbid0IGFsd2F5cyBhdmFpbGFibGUgaW4gYSB2aXJ0dWFsIG1hY2hpbmUgdW5sZXNzIHdlJ3JlIHRhbGtpbmcgYWJvdXQgZW11bGF0ZWQgaGFyZHdhcmUuIEhvd2V2ZXIsIGBicmNtZm1hY2Agc3VwcG9ydHMgU0RJTywgVVNCLCBhbmQgUENJRS4gU2luY2UgVVNCIGhhcyB0aGUgaGlnaGVzdCBwb3RlbnRpYWwgZm9yIHNvZnR3YXJlIGVtdWxhdGlvbiwgdGhlIHByZXNlbmNlIG9mIFVTQiBzdXBwb3J0IGlzIGdvb2QgbmV3cy4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBgYnJjbWZtYWNgIGhhcyBVU0Igc3VwcG9ydC4gTGV0IG1lIGNoZWNrLi4uIEFoLCB5ZXMsIGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvdXNiLmNgIGV4aXN0cy4gR29vZC4gVVNCIGRldmljZXMgY2FuIGJlIGVtdWxhdGVkIGJ5IHN5emthbGxlciB2aWEgYSBVU0IgZ2FkZ2V0IChgZHVtbXlfaGNkYCkuIE5vdywgSSBqdXN0IG5lZWQgdG8gdmVyaWZ5IHRoYXQgYGJyY21mX2N5d19tZ210X3R4YCBpcyByZWFjaGFibGUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0MjQsIk91dHB1dFRva2VucyI6MjQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNTYsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowMzoyMS4yNTEyODUwMDZaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Mjk2NDU1MTIzNywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicmNtZl9jeXdfbWdtdF90eFwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yNS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyNjpzdGF0aWMgYXRvbWljX3QgYnJjbWZfY3l3X21nbXRfdHhfaWQgPSBBVE9NSUNfSU5JVCgwKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yNy1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTEwMz1zdGF0aWNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoxMDQ6aW50IGJyY21mX2N5d19tZ210X3R4KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMTA1LVxcdFxcdCAgICAgIHN0cnVjdCBjZmc4MDIxMV9tZ210X3R4X3BhcmFtcyAqcGFyYW1zLCB1NjQgKmNvb2tpZSlcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTE1OS1cXHRtZW1jcHkoXFx1MDAyNm1mX3BhcmFtcy1cXHUwMDNlYnNzaWRbMF0sIFxcdTAwMjZtZ210LVxcdTAwM2Vic3NpZFswXSwgRVRIX0FMRU4pO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjE2MDpcXHRtZl9wYXJhbXMtXFx1MDAzZXBhY2tldF9pZCA9IGNwdV90b19sZTMyKGF0b21pY19pbmNfcmV0dXJuKFxcdTAwMjZicmNtZl9jeXdfbWdtdF90eF9pZCkpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTE2MS1cXHRtZW1jcHkobWZfcGFyYW1zLVxcdTAwM2VkYXRhLCBcXHUwMDI2YnVmW0RPVDExX01HTVRfSERSX0xFTl0sXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0yMzY9c3RhdGljIHZvaWQgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yMzcte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjIzODpcXHRkcnZyLVxcdTAwM2VvcHMtXFx1MDAzZW1nbXRfdHggPSBicmNtZl9jeXdfbWdtdF90eDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yMzktXFx0ZHJ2ci1cXHUwMDNlb3BzLVxcdTAwM2VleHRlcm5hbF9hdXRoID0gYnJjbWZfY3l3X2V4dGVybmFsX2F1dGg7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjAzOjI0LjIxNTg0MDc5MloiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ3MDE3OTgwMTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRXhhbWluaW5nIHRoZSBCUkNNRiBDb25maWd1cmF0aW9uIE9wZXJhdGlvbnMqKlxuXG5Pa2F5LCBzbyBJJ20gZGlnZ2luZyBpbnRvIGhvdyB0aGUgQnJvYWRjb20gZmlybXdhcmUgaW50ZXJhY3RzIHdpdGggdGhlIGNmZzgwMjExIHdpcmVsZXNzIHN0YWNrLiBJIHNlZSB0aGF0IHRoZSBgYnJjbWZfY3l3X21nbXRfdHhgIGZ1bmN0aW9uIGlzIGJlaW5nIGFzc2lnbmVkIGFzIHRoZSBgZHJ2ci1cdTAwM2VvcHMtXHUwMDNlbWdtdF90eGAgaGFuZGxlciwgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAgaXMgYXNzaWduZWQgdG8gYGRydnItXHUwMDNlb3BzLVx1MDAzZWV4dGVybmFsX2F1dGhgLiBUaGlzIGlzIHN0YW5kYXJkIHByYWN0aWNlIGZvciBwcm92aWRpbmcgdGhlIG5lY2Vzc2FyeSBjYWxsYmFja3MgZm9yIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiB3aXRoaW4gdGhlIGRyaXZlci5cblxuTm93LCBJIHVuZGVyc3RhbmQgdGhhdCBgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHNgIGlzIHRoZSBrZXkgZnVuY3Rpb24gdG8gZ2V0IHRoZXNlIG9wZXJhdGlvbnMsIHNvIEkgcmVhbGx5IG5lZWQgdG8gdHJhY2UgZG93biB3aGVyZSAqdGhhdCogaXMgYmVpbmcgY2FsbGVkLiBUaGF0J3Mgd2hlcmUgdGhlIGludGVyZXN0aW5nIHN0dWZmIHVzdWFsbHkgaXMuIExldCdzIHNlZSB3aGVyZSB0aGF0IGlzIHVzZWQsIGFuZCBob3cgdGhlc2UgZnVuY3Rpb25zIGdldCBpbnZva2VkIGluIGEgcnVubmluZyBzeXN0ZW0uIExldCdzIGZpZ3VyZSBvdXQgdGhlIG9wZXJhdGlvbmFsIGZsb3cuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQwMDMsIk91dHB1dFRva2VucyI6MzEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMDMsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDM6MjguOTE3NjQwOTUyWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI0MTY2MzE4NDQsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MjAwPWJyY21mX2N5d19leHRlcm5hbF9hdXRoKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yMzUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MjM2OnN0YXRpYyB2b2lkIGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjM3LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTM3MD1jb25zdCBzdHJ1Y3QgYnJjbWZfZnd2aWRfb3BzIGJyY21mX2N5d19vcHMgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNzMtXFx0LmFjdGl2YXRlX2V2ZW50cyA9IGJyY21mX2N5d19hY3RpdmF0ZV9ldmVudHMsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6Mzc0OlxcdC5nZXRfY2ZnODAyMTFfb3BzID0gYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHMsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzc1LVxcdC5yZWdpc3Rlcl9ldmVudF9oYW5kbGVycyA9IGJyY21mX2N5d19yZWdpc3Rlcl9ldmVudF9oYW5kbGVycyxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDM6MzEuMzM0Mjc5NTc3WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjM4NDcyMDA4NzgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgc3VtbWFyaXplZCBmcm9tIG15IHBlcnNwZWN0aXZlIGFzIGFuIGV4cGVydCBpbiB0aGUgZmllbGQ6XG5cbioqQW5hbHl6aW5nIHRoZSBicmNtZl9jeXdfb3BzIFN0cnVjdHVyZSoqXG5cblJpZ2h0LCBzbyBgYnJjbWZfY3l3X29wc2AgaXMgZGVmaW5lZCBhcyBhIGBicmNtZl9md3ZpZF9vcHNgLiBUaGF0IGltbWVkaWF0ZWx5IHRlbGxzIG1lIGl0J3MgbGlrZWx5IGEgc3RydWN0dXJlIGNvbnRhaW5pbmcgZnVuY3Rpb24gcG9pbnRlcnMgcmVsYXRlZCB0byBmaXJtd2FyZSB2aWRlbyBvcGVyYXRpb25zIHdpdGhpbiB0aGUgQnJvYWRjb20gV2ktRmkgZHJpdmVyIGZyYW1ld29yay4gTXkgbmV4dCBzdGVwIGlzIGNsZWFyOiBJIG5lZWQgdG8gdHJhY2UgdGhlIHVzYWdlIG9mIGBicmNtZl9jeXdfb3BzYCB3aXRoaW4gdGhlIGNvZGViYXNlLiBVbmRlcnN0YW5kaW5nIHdoZXJlIHRoaXMgc3RydWN0dXJlIGlzIGluc3RhbnRpYXRlZCBhbmQsIG1vcmUgaW1wb3J0YW50bHksICpob3cqIGl0cyBmdW5jdGlvbiBwb2ludGVycyBhcmUgdXRpbGl6ZWQgd2lsbCBiZSBjcml0aWNhbCB0byBncmFzcGluZyBpdHMgcm9sZSBpbiB0aGUgZHJpdmVyJ3Mgb3ZlcmFsbCBvcGVyYXRpb24uIEkgd2FudCB0byBzZWUgaG93IHRoZXNlIGZpcm13YXJlIHZpZGVvIG9wZXJhdGlvbnMgYXJlIGJlaW5nIGxldmVyYWdlZC4gQXJlIHRoZXkgaW52b2x2ZWQgaW4gY2FwdHVyaW5nLCBwcm9jZXNzaW5nLCBvciB0cmFuc21pdHRpbmcgdmlkZW8gZGF0YSBvdmVyIFdpLUZpPyBBcmUgdGhlcmUgYW55IGRhdGEgZmxvd3MgaW52b2x2ZWQgdGhhdCBJIHNob3VsZCBiZSBhd2FyZSBvZj8gVGhpcyB3aWxsIGhlbHAgbWUgZGV2ZWxvcCBteSBmdWxsIHVuZGVyc3RhbmRpbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ3NzYsIk91dHB1dFRva2VucyI6MjIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo0MSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowMzo1NS4xODE0ODI1NjRaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjQxODYwMzI1NCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicmNtZl9jeXdfb3BzXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTM1OD1zdGF0aWMgdm9pZCBicmNtZl9jeXdfcmVnaXN0ZXJfZXZlbnRfaGFuZGxlcnMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM2OS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzozNzA6Y29uc3Qgc3RydWN0IGJyY21mX2Z3dmlkX29wcyBicmNtZl9jeXdfb3BzID0ge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM3MS1cXHQuc2V0X3NhZV9wYXNzd29yZCA9IGJyY21mX2N5d19zZXRfc2FlX3B3ZCxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvbW9kdWxlLmM9MTI9c3RhdGljIGludCBfX2luaXQgYnJjbWZfY3l3X2luaXQodm9pZClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvbW9kdWxlLmMtMTQtXFx0cmV0dXJuIGJyY21mX2Z3dmlkX3JlZ2lzdGVyX3ZlbmRvcihCUkNNRl9GV1ZFTkRPUl9DWVcsIFRISVNfTU9EVUxFLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvbW9kdWxlLmM6MTU6XFx0XFx0XFx0XFx0XFx0ICAgXFx1MDAyNmJyY21mX2N5d19vcHMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvbW9kdWxlLmMtMTYtfVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy92b3BzLmgtNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L3ZvcHMuaDo4OmV4dGVybiBjb25zdCBzdHJ1Y3QgYnJjbWZfZnd2aWRfb3BzIGJyY21mX2N5d19vcHM7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy92b3BzLmg6OTojZGVmaW5lIENZV19WT1BTXFx0KFxcdTAwMjZicmNtZl9jeXdfb3BzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvdm9wcy5oLTEwLVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowMzo1Ny42MDAwOTE1NzhaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0Mzk0NTA5NTc1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFuYWx5c2lzIG9mIHRoZSBgYnJjbWZtYWNgIERyaXZlcioqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgYEJSQ01GX0ZXVkVORE9SX0NZV2AgcmVnaXN0cmF0aW9uLCB3aGljaCBpcyBjbGVhcmx5IGxpbmtpbmcgdXAgdGhlIGZpcm13YXJlIHZlbmRvciBpbmZvcm1hdGlvbiB3aXRoIHRoZSBgYnJjbWZfY3l3X29wc2Agb3BlcmF0aW9ucy4gVGhhdCBtYWtlcyBzZW5zZSwgc3RhbmRhcmQgZHJpdmVyIGluaXRpYWxpemF0aW9uLlxuXG5Ob3csIG15IG1pbmQgc3RhcnRzIHJhY2luZyB0b3dhcmRzIGZ1enppbmcuIEkgcmVjYWxsIHRoYXQgdGhlIGBicmNtZm1hY2AgZHJpdmVyIGhhcyBhIGZldyBhdHRhY2sgc3VyZmFjZXMuIEkgY2FuIHRyeSB0aGUgdXN1YWwgc3VzcGVjdHM6IFVTQiBnYWRnZXQgc2V0dXAgb3IgZXZlbiBgbWFjODAyMTFfaHdzaW1gLiBCdXQgd2FpdCwgdGhhdCBsYXN0IG9uZSBpcyB0cmlja3kgc2luY2UgYGJyY21mbWFjYCBpcyBhICpmdWxsbWFjKiBkcml2ZXIsIHNvIGl0IHVzZXMgYGNmZzgwMjExYCBkaXJlY3RseSBhbmQgbm90IGBtYWM4MDIxMWAuIFNvIGBod3NpbWAgaXMgbm90IHRoZSBiZXN0IGFwcHJvYWNoLi4uXG5cblRoZW4gaXQgaGl0cyBtZSEgYGJyY21mbWFjYCAqZG9lcyogaGF2ZSBhIFVTQiBpbnRlcmZhY2UhIEFoYSEgU3l6a2FsbGVyISBXZSBjYW4gcHJvYmFibHkgdGFyZ2V0IGl0IHVzaW5nIGBkdW1teV9oY2RgLiBUaGF0IHNob3VsZCBvcGVuIGEganVpY3kgYXR0YWNrIHN1cmZhY2UhIEknbGwgcXVpY2tseSBjaGVjayBpZiBgQlJDTUZNQUNfVVNCYCBpcyBldmVuIGVuYWJsZWQgaW4gdGhlIGNvbmZpZy4gVGhhdCdzIHRoZSBuZXh0IGxvZ2ljYWwgc3RlcC5cblxuXG4iLCJJbnB1dFRva2VucyI6NTYyNSwiT3V0cHV0VG9rZW5zIjoyMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEzMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNDowMS45OTQ2MDMyODNaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI0NjQyMDc0NTQsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJSQ01GTUFDX1VTQlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZz0xNz1jb25maWcgQlJDTUZNQUNfU0RJT1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMjgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6Mjk6Y29uZmlnIEJSQ01GTUFDX1VTQlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTMwLVxcdGJvb2wgXFxcIlVTQiBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNDowNC40NTg4MTc0NTdaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTQ2MTM3MzI5NzQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBCUkNNRk1BQ19VU0IgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGNvbmZpcm1lZCB0aGF0IGBCUkNNRk1BQ19VU0JgIGlzIGRlZmluaXRlbHkgYSB0aGluZywgZ29vZCBzdGFydC4gTm93LCBsZXQncyBkaXZlIGludG8gdGhlIGNvcmUgb2YgdGhpcyBwYXRjaC4gSXQgbG9va3MgbGlrZSBpdCdzIHRvdWNoaW5nIGBicmNtZl9jeXdfbWdtdF90eGAgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAuIFJpZ2h0LCB0aG9zZSBmdW5jdGlvbnMgYXJlIGNhbGxlZCBieSBgY2ZnODAyMTFgLCB0aGUgc3RhbmRhcmQgd2lyZWxlc3MgY29uZmlndXJhdGlvbiBpbnRlcmZhY2UsIHNwZWNpZmljYWxseSBkdXJpbmcgbWFuYWdlbWVudCBmcmFtZSB0cmFuc21pc3Npb24gYW5kIGV4dGVybmFsIGF1dGhlbnRpY2F0aW9uIHByb2NlZHVyZXMsIHdoaWNoIG1ha2VzIHNlbnNlLiBIbW0sIGBicmNtZl9jeXdfbWdtdF90eGAgaXMgYmVpbmcgYXNzaWduZWQgdG8gYGRydnItXHUwMDNlb3BzLVx1MDAzZW1nbXRfdHhgLiBUaGlzIGlzIGludGVyZXN0aW5nOyBgZHJ2cmAgaXMgbGlrZWx5IHRoZSBkcml2ZXIgY29udGV4dCBhbmQgYG9wc2AgaXMgdGhlIGRyaXZlciBvcGVyYXRpb24gc3RydWN0dXJlLiBTbywgdGhpcyBwYXRjaCBpcyBlc3NlbnRpYWxseSBpbmplY3RpbmcgYSBjdXN0b20gbWdtdF90eCBoYW5kbGVyLiBUaGUgY3J1Y2lhbCBuZXh0IHN0ZXAgaXMgdG8gZmlndXJlIG91dCAqd2hlcmUqIHRoYXQgYGRydnItXHUwMDNlb3BzLVx1MDAzZW1nbXRfdHhgIGZ1bmN0aW9uIGlzIGFjdHVhbGx5IGJlaW5nICp1c2VkKi4gVGhhdCdzIHdoZXJlIHRoZSByZWFsIGltcGFjdCBvZiB0aGlzIGNoYW5nZSB3aWxsIGJlIHJldmVhbGVkLlxuXG5cbiIsIklucHV0VG9rZW5zIjo2MTgzLCJPdXRwdXRUb2tlbnMiOjE5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTEzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjA0OjE5LjA3MjU1MjkzMVoiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzAwMzM2Mzg5NiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJvcHMtXFx1MDAzZW1nbXRfdHhcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MjM2PXN0YXRpYyB2b2lkIGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjM3LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyMzg6XFx0ZHJ2ci1cXHUwMDNlb3BzLVxcdTAwM2VtZ210X3R4ID0gYnJjbWZfY3l3X21nbXRfdHg7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjM5LVxcdGRydnItXFx1MDAzZW9wcy1cXHUwMDNlZXh0ZXJuYWxfYXV0aCA9IGJyY21mX2N5d19leHRlcm5hbF9hdXRoO1xcbi0tXFxubmV0L3dpcmVsZXNzL21sbWUuYz04NTI9aW50IGNmZzgwMjExX21sbWVfbWdtdF90eChzdHJ1Y3QgY2ZnODAyMTFfcmVnaXN0ZXJlZF9kZXZpY2UgKnJkZXYsXFxuLS1cXG5uZXQvd2lyZWxlc3MvbWxtZS5jLTg2My1cXG5uZXQvd2lyZWxlc3MvbWxtZS5jOjg2NDpcXHRpZiAoIXJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlbWdtdF90eClcXG5uZXQvd2lyZWxlc3MvbWxtZS5jLTg2NS1cXHRcXHRyZXR1cm4gLUVPUE5PVFNVUFA7XFxuLS1cXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jPTE0NTMyPXN0YXRpYyBpbnQgbmw4MDIxMV9yZWdpc3Rlcl9tZ210KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXFxuLS1cXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE0NTcxLVxcdC8qIG5vdCBtdWNoIHBvaW50IGluIHJlZ2lzdGVyaW5nIGlmIHdlIGNhbid0IHJlcGx5ICovXFxubmV0L3dpcmVsZXNzL25sODAyMTEuYzoxNDU3MjpcXHRpZiAoIXJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlbWdtdF90eClcXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE0NTczLVxcdFxcdHJldHVybiAtRU9QTk9UU1VQUDtcXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmM9MTQ1OTA9c3RhdGljIGludCBubDgwMjExX3R4X21nbXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMTQ2MDYtXFxubmV0L3dpcmVsZXNzL25sODAyMTEuYzoxNDYwNzpcXHRpZiAoIXJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlbWdtdF90eClcXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE0NjA4LVxcdFxcdHJldHVybiAtRU9QTk9UU1VQUDtcXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmM9MTQ3MzU9c3RhdGljIGludCBubDgwMjExX3R4X21nbXRfY2FuY2VsX3dhaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMTQ3NDMtXFxubmV0L3dpcmVsZXNzL25sODAyMTEuYzoxNDc0NDpcXHRpZiAoIXJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlbWdtdF90eF9jYW5jZWxfd2FpdClcXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE0NzQ1LVxcdFxcdHJldHVybiAtRU9QTk9UU1VQUDtcXG4tLVxcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oPTc2MT1zdGF0aWMgaW5saW5lIGludCByZGV2X21nbXRfdHgoc3RydWN0IGNmZzgwMjExX3JlZ2lzdGVyZWRfZGV2aWNlICpyZGV2LFxcbi0tXFxubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmgtNzY3LVxcdHRyYWNlX3JkZXZfbWdtdF90eChcXHUwMDI2cmRldi1cXHUwMDNld2lwaHksIHdkZXYsIHBhcmFtcyk7XFxubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmg6NzY4OlxcdHJldCA9IHJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlbWdtdF90eChcXHUwMDI2cmRldi1cXHUwMDNld2lwaHksIHdkZXYsIHBhcmFtcywgY29va2llKTtcXG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaC03NjktXFx0dHJhY2VfcmRldl9yZXR1cm5faW50X2Nvb2tpZShcXHUwMDI2cmRldi1cXHUwMDNld2lwaHksIHJldCwgKmNvb2tpZSk7XFxuLS1cXG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaD03OTM9cmRldl9tZ210X3R4X2NhbmNlbF93YWl0KHN0cnVjdCBjZmc4MDIxMV9yZWdpc3RlcmVkX2RldmljZSAqcmRldixcXG4tLVxcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oLTc5Ny1cXHR0cmFjZV9yZGV2X21nbXRfdHhfY2FuY2VsX3dhaXQoXFx1MDAyNnJkZXYtXFx1MDAzZXdpcGh5LCB3ZGV2LCBjb29raWUpO1xcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oOjc5ODpcXHRyZXQgPSByZGV2LVxcdTAwM2VvcHMtXFx1MDAzZW1nbXRfdHhfY2FuY2VsX3dhaXQoXFx1MDAyNnJkZXYtXFx1MDAzZXdpcGh5LCB3ZGV2LCBjb29raWUpO1xcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oLTc5OS1cXHR0cmFjZV9yZGV2X3JldHVybl9pbnQoXFx1MDAyNnJkZXYtXFx1MDAzZXdpcGh5LCByZXQpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNDoyMi4wNzU5MjUzMDdaIiwiU2VxIjoxMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjQyMjU5MjczMTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGxldCdzIHNlZS4uLlxuXG4qKlZlcmlmeWluZyB0aGUgRHJpdmVyJ3MgY2ZnODAyMTEgT3BlcmF0aW9ucyoqXG5cblJpZ2h0LCBzbyBJJ20gbG9va2luZyBhdCBgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHNgLCBhbmQgaXQncyBrZXkgdGhhdCBgZHJ2ci1cdTAwM2VvcHNgIGhlcmUgaXMgYWN0dWFsbHkgcG9pbnRpbmcgdG8gYSBgc3RydWN0IGNmZzgwMjExX29wc2AuIEkgbmVlZCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4gYWJvdXQgdGhpcyBiZWZvcmUgcHJvY2VlZGluZy4gQSBtaXN0YWtlIGhlcmUgd291bGQgYmUgYSBuaWdodG1hcmUgdG8gZGVidWcgbGF0ZXIuIEknbGwgdGFrZSBhIG1vbWVudCB0byBjb25maXJtIHRoYXQgdGhpcyBzdHJ1Y3R1cmUgYXNzaWdubWVudCBpcyBpbmRlZWQgd2hhdCBJIGV4cGVjdC4gSSBuZWVkIHRvIHRydXN0IGJ1dCB2ZXJpZnkgLSBsZXQncyBlbnN1cmUgdGhlIGRhdGEgc3RydWN0dXJlcyBhcmUgYWxpZ25lZCBhcyB0aGUgY29kZSBjbGFpbXMgdGhleSBhcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjc2MjIsIk91dHB1dFRva2VucyI6MjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo0NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNDo0Ni4zMDE4NTQ0MzFaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI3MDQ1NjM5MTEsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwic3RydWN0IGJyY21mX3B1YlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJcXG5GdWxsIG91dHB1dCBpcyB0b28gbG9uZywgc2hvd2luZyA1MDAgb3V0IG9mIDE1MjggbGluZXMuXFxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxcblxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2EvY29yZS5jPTE2PXN0YXRpYyB2b2lkIGJyY21mX2JjYV9mZWF0X2F0dGFjaChzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2EvY29yZS5jLTIxLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2EvY29yZS5jOjIyOnN0YXRpYyBpbnQgYnJjbWZfYmNhX2FsbG9jX2Z3ZWhfaW5mbyhzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2EvY29yZS5jLTIzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9OTI9c3RydWN0IGJyY21mX2JjZGMge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0xMDAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzoxMDE6c3RydWN0IGJyY21mX2Z3c19pbmZvICpkcnZyX3RvX2Z3cyhzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMTAyLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9MTA4PXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjEwOTpicmNtZl9wcm90b19iY2RjX21zZyhzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLCBpbnQgaWZpZHgsIHVpbnQgY21kLCB2b2lkICpidWYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0xMTAtXFx0XFx0ICAgICB1aW50IGxlbiwgYm9vbCBzZXQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTEzOS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjE0MDpzdGF0aWMgaW50IGJyY21mX3Byb3RvX2JjZGNfY21wbHQoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgdTMyIGlkLCB1MzIgbGVuKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMTQxLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9MTU3PXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjE1ODpicmNtZl9wcm90b19iY2RjX3F1ZXJ5X2RjbWQoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgaW50IGlmaWR4LCB1aW50IGNtZCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTE1OS1cXHRcXHRcXHQgICAgdm9pZCAqYnVmLCB1aW50IGxlbiwgaW50ICpmd2VycilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9MjE1PXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjIxNjpicmNtZl9wcm90b19iY2RjX3NldF9kY21kKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCwgdWludCBjbWQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0yMTctXFx0XFx0XFx0ICB2b2lkICpidWYsIHVpbnQgbGVuLCBpbnQgKmZ3ZXJyKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0yNTY9c3RhdGljIHZvaWRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjI1NzpicmNtZl9wcm90b19iY2RjX2hkcnB1c2goc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgaW50IGlmaWR4LCB1OCBvZmZzZXQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0yNTgtXFx0XFx0XFx0IHN0cnVjdCBza19idWZmICpwa3RidWYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jPTI4MD1zdGF0aWMgaW50XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzoyODE6YnJjbWZfcHJvdG9fYmNkY19oZHJwdWxsKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGJvb2wgZG9fZndzLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMjgyLVxcdFxcdFxcdCBzdHJ1Y3Qgc2tfYnVmZiAqcGt0YnVmLCBzdHJ1Y3QgYnJjbWZfaWYgKippZnApXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTMzMi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjMzMzpzdGF0aWMgaW50IGJyY21mX3Byb3RvX2JjZGNfdHhfcXVldWVfZGF0YShzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLCBpbnQgaWZpZHgsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0zMzQtXFx0XFx0XFx0XFx0XFx0ICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0zNDU9c3RhdGljIGludFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6MzQ2OmJyY21mX3Byb3RvX2JjZGNfdHhkYXRhKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCwgdTggb2Zmc2V0LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMzQ3LVxcdFxcdFxcdHN0cnVjdCBza19idWZmICpwa3RidWYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jPTM1Mz12b2lkIGJyY21mX3Byb3RvX2JjZGNfdHhmbG93YmxvY2soc3RydWN0IGRldmljZSAqZGV2LCBib29sIHN0YXRlKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0zNTUtXFx0c3RydWN0IGJyY21mX2J1cyAqYnVzX2lmID0gZGV2X2dldF9kcnZkYXRhKGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzozNTY6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGJ1c19pZi1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTM1Ny1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9MzgyPXN0YXRpYyB2b2lkXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzozODM6YnJjbWZfcHJvdG9fYmNkY19jb25maWd1cmVfYWRkcl9tb2RlKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTM4NC1cXHRcXHRcXHRcXHQgICAgIGVudW0gcHJvdG9fYWRkcl9tb2RlIGFkZHJfbW9kZSlcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9Mzg4PXN0YXRpYyB2b2lkXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzozODk6YnJjbWZfcHJvdG9fYmNkY19kZWxldGVfcGVlcihzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLCBpbnQgaWZpZHgsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0zOTAtXFx0XFx0XFx0ICAgICB1OCBwZWVyW0VUSF9BTEVOXSlcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9Mzk0PXN0YXRpYyB2b2lkXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzozOTU6YnJjbWZfcHJvdG9fYmNkY19hZGRfdGRsc19wZWVyKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTM5Ni1cXHRcXHRcXHQgICAgICAgdTggcGVlcltFVEhfQUxFTl0pXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jPTQyND1zdGF0aWMgaW50XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzo0MjU6YnJjbWZfcHJvdG9fYmNkY19pbml0X2RvbmUoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTQyNi17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTQzNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjQzODpzdGF0aWMgdm9pZCBicmNtZl9wcm90b19iY2RjX2RlYnVnZnNfY3JlYXRlKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy00Mzkte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy00NDItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzo0NDM6aW50IGJyY21mX3Byb3RvX2JjZGNfYXR0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy00NDQte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy00ODItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzo0ODM6dm9pZCBicmNtZl9wcm90b19iY2RjX2RldGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtNDg0LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmgtOC0jaWZkZWYgQ09ORklHX0JSQ01GTUFDX1BST1RPX0JDRENcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oOjk6aW50IGJyY21mX3Byb3RvX2JjZGNfYXR0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmg6MTA6dm9pZCBicmNtZl9wcm90b19iY2RjX2RldGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oLTExLXZvaWQgYnJjbWZfcHJvdG9fYmNkY190eGZsb3dibG9jayhzdHJ1Y3QgZGV2aWNlICpkZXYsIGJvb2wgc3RhdGUpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmg9MTI9dm9pZCBicmNtZl9wcm90b19iY2RjX3R4Y29tcGxldGUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqdHhwLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmgtMTMtXFx0XFx0XFx0XFx0IGJvb2wgc3VjY2Vzcyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuaDoxNDpzdHJ1Y3QgYnJjbWZfZndzX2luZm8gKmRydnJfdG9fZndzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmgtMTUtI2Vsc2VcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oOjE2OnN0YXRpYyBpbmxpbmUgaW50IGJyY21mX3Byb3RvX2JjZGNfYXR0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpIHsgcmV0dXJuIDA7IH1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oOjE3OnN0YXRpYyBpbmxpbmUgdm9pZCBicmNtZl9wcm90b19iY2RjX2RldGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKSB7fVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmgtMTgtI2VuZGlmXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYnVzLmg9MTY1PXN0cnVjdCBicmNtZl9idXMge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2J1cy5oLTE3Mi1cXHRzdHJ1Y3QgZGV2aWNlICpkZXY7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2J1cy5oOjE3MzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9idXMuaC0xNzQtXFx0ZW51bSBicmNtZl9idXNfc3RhdGUgc3RhdGU7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01NDc9c2VuZF9rZXlfdG9fZG9uZ2xlKHN0cnVjdCBicmNtZl9pZiAqaWZwLCBzdHJ1Y3QgYnJjbWZfd3NlY19rZXkgKmtleSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01NDgte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjU0OTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU1MC1cXHRpbnQgZXJyO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTY2PWJyY21mX2NmZzgwMjExX3VwZGF0ZV9wcm90b19hZGRyX21vZGUoc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU4My1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1ODQ6c3RhdGljIGludCBicmNtZl9nZXRfZmlyc3RfZnJlZV9ic3NjZmdpZHgoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODUte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NzA2PXN0YXRpYyBpbnQgYnJjbWZfY2ZnODAyMTFfcmVxdWVzdF9hcF9pZihzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcxMS1cXHR1MzIgaWZhY2VfY3JlYXRlX3ZlcjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo3MTI6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy03MTMtXFx0c3RydWN0IGJyY21mX21ic3Nfc3NpZF9sZSBtYnNzX3NzaWRfbGU7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz04MjA9c3RydWN0IHdpcmVsZXNzX2RldiAqYnJjbWZfYXBzdGFfYWRkX3ZpZihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBjb25zdCBjaGFyICpuYW1lLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtODI1LVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYoY2ZnX3RvX25kZXYoY2ZnKSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6ODI2OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy04MjctXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9OTc3PXN0YXRpYyBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICpicmNtZl9jZmc4MDIxMV9hZGRfaWZhY2Uoc3RydWN0IHdpcGh5ICp3aXBoeSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTk4My1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gd2lwaHlfdG9fY2ZnKHdpcGh5KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo5ODQ6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTk4NS1cXHRzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2O1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTAzMT12b2lkIGJyY21mX3NldF9tcGMoc3RydWN0IGJyY21mX2lmICppZnAsIGludCBtcGMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTAzMi17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTAzMzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTEwMzQtXFx0czMyIGVyciA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xMTgzPXMzMiBicmNtZl9ub3RpZnlfZXNjYW5fY29tcGxldGUoc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTExODYte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjExODc6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTExODgtXFx0c3RydWN0IGJyY21mX3NjYW5fcGFyYW1zX3YyX2xlIHBhcmFtc192Ml9sZTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTEyNjM9c3RhdGljIGludCBicmNtZl9jZmc4MDIxMV9kZWxfYXBzdGFfaWZhY2Uoc3RydWN0IHdpcGh5ICp3aXBoeSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTEyNjgtXFx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxMjY5OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xMjcwLVxcdGludCByZXQ7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xMzQyPWJyY21mX2NmZzgwMjExX2NoYW5nZV9pZmFjZShzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTEzNDgtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmID0gaWZwLVxcdTAwM2V2aWY7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTM0OTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTM1MC1cXHRzMzIgaW5mcmEgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTQ0Mj1icmNtZl9ydW5fZXNjYW4oc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZywgc3RydWN0IGJyY21mX2lmICppZnAsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNDQ0LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxNDQ1OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNDQ2LVxcdHMzMiBwYXJhbXNfc2l6ZSA9IEJSQ01GX1NDQU5fUEFSQU1TX1YyX0ZJWEVEX1NJWkUgK1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTUzMD1icmNtZl9jZmc4MDIxMV9zY2FuKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBjZmc4MDIxMV9zY2FuX3JlcXVlc3QgKnJlcXVlc3QpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNTMyLVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcgPSB3aXBoeV90b19jZmcod2lwaHkpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjE1MzM6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE1MzQtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTU5OD1zdGF0aWMgczMyIGJyY21mX3NldF9ydHMoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsIHUzMiBydHNfdGhyZXNob2xkKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTYwMC1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KG5kZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjE2MDE6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNjAyLVxcdHMzMiBlcnIgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTYxMT1zdGF0aWMgczMyIGJyY21mX3NldF9mcmFnKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LCB1MzIgZnJhZ190aHJlc2hvbGQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNjEzLVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTYxNDpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE2MTUtXFx0czMyIGVyciA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xNjI1PXN0YXRpYyBzMzIgYnJjbWZfc2V0X3JldHJ5KHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LCB1MzIgcmV0cnksIGJvb2wgbClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE2MjctXFx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxNjI4OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTYyOS1cXHRzMzIgZXJyID0gMDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTE3MDk9aW50IGJyY21mX3NldF93c2VjKHN0cnVjdCBicmNtZl9pZiAqaWZwLCBjb25zdCB1OCAqa2V5LCB1MTYga2V5X2xlbiwgdTE2IGZsYWdzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE3MTAte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjE3MTE6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNzEyLVxcdHN0cnVjdCBicmNtZl93c2VjX3Bta19sZSBwbWs7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xNzQ0PXN0YXRpYyB2b2lkIGJyY21mX2xpbmtfZG93bihzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfdmlmICp2aWYsIHUxNiByZWFzb24sXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNzQ3LVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcgPSB3aXBoeV90b19jZmcodmlmLVxcdTAwM2V3ZGV2LndpcGh5KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxNzQ4OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNzQ5LVxcdGJvb2wgYnVzX3VwID0gZHJ2ci1cXHUwMDNlYnVzX2lmLVxcdTAwM2VzdGF0ZSA9PSBCUkNNRl9CVVNfVVA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xNzgzPWJyY21mX2NmZzgwMjExX2pvaW5faWJzcyhzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE3ODgtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBcXHUwMDI2aWZwLVxcdTAwM2V2aWYtXFx1MDAzZXByb2ZpbGU7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTc4OTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTc5MC1cXHRzdHJ1Y3QgYnJjbWZfam9pbl9wYXJhbXMgam9pbl9wYXJhbXM7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xOTU2PXN0YXRpYyBzMzIgYnJjbWZfc2V0X3dwYV92ZXJzaW9uKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTk2MC1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfcHJvZmlsZSAqcHJvZmlsZSA9IG5kZXZfdG9fcHJvZihuZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxOTYxOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTk2Mi1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfc2VjdXJpdHkgKnNlYztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTE5OTA9c3RhdGljIHMzMiBicmNtZl9zZXRfYXV0aF90eXBlKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTk5NC1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfcHJvZmlsZSAqcHJvZmlsZSA9IG5kZXZfdG9fcHJvZihuZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxOTk1OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTk5Ni1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfc2VjdXJpdHkgKnNlYztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTIwMzA9YnJjbWZfc2V0X3dzZWNfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIwMzQtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBuZGV2X3RvX3Byb2YobmRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjAzNTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIwMzYtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3NlY3VyaXR5ICpzZWM7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yMTA3PWJyY21mX3NldF9rZXlfbWdtdChzdHJ1Y3QgbmV0X2RldmljZSAqbmRldiwgc3RydWN0IGNmZzgwMjExX2Nvbm5lY3RfcGFyYW1zICpzbWUpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMTEwLVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gXFx1MDAyNmlmcC1cXHUwMDNldmlmLVxcdTAwM2Vwcm9maWxlO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjIxMTE6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMTEyLVxcdHMzMiB2YWw7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yMjUyPWJyY21mX3NldF9zaGFyZWRrZXkoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMjU1LVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjI1NjpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIyNTctXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBuZGV2X3RvX3Byb2YobmRldik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yMzMxPXN0YXRpYyB2b2lkIGJyY21mX3NldF9qb2luX3ByZWYoc3RydWN0IGJyY21mX2lmICppZnAsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMzMzLXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyMzM0OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjMzNS1cXHRzdHJ1Y3QgYnJjbWZfam9pbl9wcmVmX3BhcmFtcyBqb2luX3ByZWZfcGFyYW1zWzJdO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjM3Nz1icmNtZl9jZmc4MDIxMV9jb25uZWN0KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjM4My1cXHRzdHJ1Y3QgaWVlZTgwMjExX2NoYW5uZWwgKmNoYW4gPSBzbWUtXFx1MDAzZWNoYW5uZWw7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjM4NDpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIzODUtXFx0c3RydWN0IGJyY21mX2pvaW5fcGFyYW1zIGpvaW5fcGFyYW1zO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjYxNj1icmNtZl9jZmc4MDIxMV9kaXNjb25uZWN0KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjYyMS1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfcHJvZmlsZSAqcHJvZmlsZSA9IFxcdTAwMjZpZnAtXFx1MDAzZXZpZi1cXHUwMDNlcHJvZmlsZTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyNjIyOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yNjIzLVxcdHN0cnVjdCBicmNtZl9zY2JfdmFsX2xlIHNjYnZhbDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTI2NDg9YnJjbWZfY2ZnODAyMTFfc2V0X3R4X3Bvd2VyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yNjU0LVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjY1NTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjY1Ni1cXHRzMzIgZXJyO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjcwMD1icmNtZl9jZmc4MDIxMV9nZXRfdHhfcG93ZXIoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTI3MDQtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmID0gd2Rldl90b192aWYod2Rldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjcwNTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjcwNi1cXHRzMzIgcWRibTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTI3MjY9YnJjbWZfY2ZnODAyMTFfY29uZmlnX2RlZmF1bHRfa2V5KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjczMC1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KG5kZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjI3MzE6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yNzMyLVxcdHUzMiBpbmRleDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTI3OTk9YnJjbWZfY2ZnODAyMTFfYWRkX2tleShzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjgwNC1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KHdkZXYtXFx1MDAzZW5ldGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjgwNTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjgwNi1cXHRzdHJ1Y3QgYnJjbWZfd3NlY19rZXkgKmtleTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTI5MjE9YnJjbWZfY2ZnODAyMTFfZ2V0X2tleShzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjkzMC1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfcHJvZmlsZSAqcHJvZmlsZSA9IFxcdTAwMjZpZnAtXFx1MDAzZXZpZi1cXHUwMDNlcHJvZmlsZTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyOTMxOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yOTMyLVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9zZWN1cml0eSAqc2VjO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9Mjk5NT1icmNtZl9jZmc4MDIxMV9yZWNvbmZpZ3VyZV93ZXAoc3RydWN0IGJyY21mX2lmICppZnApXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjk5Ni17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Mjk5NzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTI5OTgtXFx0czMyIGVycjtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTMwNDk9c3RhdGljIHZvaWQgYnJjbWZfZmlsbF9ic3NfcGFyYW0oc3RydWN0IGJyY21mX2lmICppZnAsIHN0cnVjdCBzdGF0aW9uX2luZm8gKnNpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTMwNTAte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjMwNTE6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMDUyLVxcdHN0cnVjdCB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMDg2PWJyY21mX2NmZzgwMjExX2dldF9zdGF0aW9uX2lic3Moc3RydWN0IGJyY21mX2lmICppZnAsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMDg4LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozMDg5OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzA5MC1cXHRzdHJ1Y3QgYnJjbWZfc2NiX3ZhbF9sZSBzY2J2YWw7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMTM1PWJyY21mX2NmZzgwMjExX2dldF9zdGF0aW9uKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMTM5LVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYod2Rldi1cXHUwMDNlbmV0ZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozMTQwOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMTQxLVxcdHN0cnVjdCBicmNtZl9zY2JfdmFsX2xlIHNjYl92YWw7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMjU4PWJyY21mX2NmZzgwMjExX2R1bXBfc3RhdGlvbihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzI2Mi1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KHdkZXYtXFx1MDAzZW5ldGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzI2MzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzI2NC1cXHRzMzIgZXJyO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzI5ND1icmNtZl9jZmc4MDIxMV9zZXRfcG93ZXJfbWdtdChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTMzMDAtXFx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozMzAxOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMzAyLVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzM0NT1zdGF0aWMgczMyIGJyY21mX2luZm9ybV9zaW5nbGVfYnNzKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMzQ4LVxcdHN0cnVjdCB3aXBoeSAqd2lwaHkgPSBjZmdfdG9fd2lwaHkoY2ZnKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozMzQ5OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMzUwLVxcdHN0cnVjdCBjZmc4MDIxMV9ic3MgKmJzcztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTM0MTg9c3RhdGljIHMzMiBicmNtZl9pbmZvcm1fYnNzKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzQxOS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzQyMDpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzQyMS1cXHRzdHJ1Y3QgYnJjbWZfc2Nhbl9yZXN1bHRzICpic3NfbGlzdDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTM0NDM9c3RhdGljIHMzMiBicmNtZl9pbmZvcm1faWJzcyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzQ0Ni1cXHRzdHJ1Y3Qgd2lwaHkgKndpcGh5ID0gY2ZnX3RvX3dpcGh5KGNmZyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzQ0NzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzQ0OC1cXHRzdHJ1Y3QgaWVlZTgwMjExX2NoYW5uZWwgKm5vdGlmeV9jaGFubmVsO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzUyNj1zdGF0aWMgczMyIGJyY21mX3VwZGF0ZV9ic3NfaW5mbyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzUyOC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzUyOTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzUzMC1cXHRzdHJ1Y3QgYnJjbWZfYnNzX2luZm9fbGUgKmJpID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTM1NzU9c3RhdGljIHZvaWQgYnJjbWZfZXNjYW5fdGltZW91dChzdHJ1Y3QgdGltZXJfbGlzdCAqdClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM1NzgtXFx0XFx0XFx0dGltZXJfY29udGFpbmVyX29mKGNmZywgdCwgZXNjYW5fdGltZW91dCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzU3OTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzU4MC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTM2Mjc9YnJjbWZfY2ZnODAyMTFfZXNjYW5faGFuZGxlcihzdHJ1Y3QgYnJjbWZfaWYgKmlmcCxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM2Mjkte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjM2MzA6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zNjMxLVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcgPSBkcnZyLVxcdTAwM2Vjb25maWc7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zODY0PWJyY21mX25vdGlmeV9zY2hlZF9zY2FuX3Jlc3VsdHMoc3RydWN0IGJyY21mX2lmICppZnAsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zODY2LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozODY3OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzg2OC1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gZHJ2ci1cXHUwMDNlY29uZmlnO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9Mzk1MT1icmNtZl9jZmc4MDIxMV9zY2hlZF9zY2FuX3N0YXJ0KHN0cnVjdCB3aXBoeSAqd2lwaHksXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zOTU2LVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Mzk1NzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzk1OC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQwMzk9YnJjbWZfd293bF9uZF9yZXN1bHRzKHN0cnVjdCBicmNtZl9pZiAqaWZwLCBjb25zdCBzdHJ1Y3QgYnJjbWZfZXZlbnRfbXNnICplLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDA0MS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDA0MjpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQwNDMtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IGRydnItXFx1MDAzZWNvbmZpZztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQwODk9c3RhdGljIHZvaWQgYnJjbWZfcmVwb3J0X3dvd2xfd2FrZWluZChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQwOTEtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDA5MjpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDA5My1cXHRzdHJ1Y3QgYnJjbWZfd293bF93YWtlaW5kX2xlIHdha2VfaW5kX2xlO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NDM4Nj1icmNtZl9jZmc4MDIxMV9zZXRfcG1rc2Eoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00MzkxLVxcdHN0cnVjdCBicmNtZl9wbWtzYSAqcG1rID0gXFx1MDAyNmNmZy1cXHUwMDNlcG1rX2xpc3QucG1rWzBdO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQzOTI6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQzOTMtXFx0czMyIGVycjtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQ0MzE9YnJjbWZfY2ZnODAyMTFfZGVsX3Bta3NhKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDQzNi1cXHRzdHJ1Y3QgYnJjbWZfcG1rc2EgKnBtayA9IFxcdTAwMjZjZmctXFx1MDAzZXBta19saXN0LnBta1swXTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo0NDM3OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NDM4LVxcdHMzMiBlcnI7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz00NTAxPXN0YXRpYyBzMzIgYnJjbWZfY29uZmlndXJlX29wZW5zZWN1cml0eShzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NTAyLXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo0NTAzOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDUwNC1cXHRzMzIgZXJyO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NDU0Mj1icmNtZl9jb25maWd1cmVfd3BhaWUoc3RydWN0IGJyY21mX2lmICppZnAsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NTQ1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo0NTQ2OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDU0Ny1cXHR1MzIgYXV0aCA9IDA7IC8qIGQxMSBvcGVuIGF1dGhlbnRpY2F0aW9uICovXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz00ODU3PXMzMiBicmNtZl92aWZfc2V0X21nbXRfaWUoc3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmLCBzMzIgcGt0ZmxhZyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQ4NTkte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQ4NjA6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00ODYxLVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTA0Mz1icmNtZl9jb25maWdfYXBfbWdtdF9pZShzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfdmlmICp2aWYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01MDQ1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1MDQ2OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSB2aWYtXFx1MDAzZWlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01MDQ3LVxcdHMzMiBlcnI7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01MTIyPWJyY21mX2NmZzgwMjExX3N0YXJ0X2FwKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTEyNy1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KG5kZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjUxMjg6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTUxMjktXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBcXHUwMDI2aWZwLVxcdTAwM2V2aWYtXFx1MDAzZXByb2ZpbGU7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01MzcwPXN0YXRpYyBpbnQgYnJjbWZfY2ZnODAyMTFfc3RvcF9hcChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTUzNzQtXFx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1Mzc1OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01Mzc2LVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gXFx1MDAyNmlmcC1cXHUwMDNldmlmLVxcdTAwM2Vwcm9maWxlO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTQ1Nj1icmNtZl9jZmc4MDIxMV9kZWxfc3RhdGlvbihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTQ1OS1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gd2lwaHlfdG9fY2ZnKHdpcGh5KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1NDYwOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01NDYxLVxcdHN0cnVjdCBicmNtZl9zY2JfdmFsX2xlIHNjYnZhbDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTU0ODk9YnJjbWZfY2ZnODAyMTFfY2hhbmdlX3N0YXRpb24oc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU0OTItXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NTQ5MzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTQ5NC1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KHdkZXYtXFx1MDAzZW5ldGRldik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01NTMzPWJyY21mX2NmZzgwMjExX21nbXRfdHgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU1MzctXFx0c3RydWN0IGllZWU4MDIxMV9jaGFubmVsICpjaGFuID0gcGFyYW1zLVxcdTAwM2VjaGFuO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjU1Mzg6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU1MzktXFx0Y29uc3QgdTggKmJ1ZiA9IHBhcmFtcy1cXHUwMDNlYnVmO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTY5Mj1icmNtZl9jZmc4MDIxMV9jYW5jZWxfcmVtYWluX29uX2NoYW5uZWwoc3RydWN0IHdpcGh5ICp3aXBoeSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU2OTYtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NTY5NzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTY5OC1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfdmlmICp2aWY7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01NzE0PXN0YXRpYyBpbnQgYnJjbWZfY2ZnODAyMTFfZ2V0X2NoYW5uZWwoc3RydWN0IHdpcGh5ICp3aXBoeSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU3MjAtXFx0c3RydWN0IG5ldF9kZXZpY2UgKm5kZXYgPSB3ZGV2LVxcdTAwM2VuZXRkZXY7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NTcyMTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTcyMi1cXHRzdHJ1Y3QgYnJjbXVfY2hhbiBjaDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTU4NTE9c3RhdGljIGludCBicmNtZl9jZmc4MDIxMV90ZGxzX29wZXIoc3RydWN0IHdpcGh5ICp3aXBoeSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU4NTUtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NTg1NjpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTg1Ny1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTU4ODA9YnJjbWZfY2ZnODAyMTFfdXBkYXRlX2Nvbm5fcGFyYW1zKHN0cnVjdCB3aXBoeSAqd2lwaHksXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODg1LVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcgPSB3aXBoeV90b19jZmcod2lwaHkpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjU4ODY6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU4ODctXFx0c3RydWN0IGJyY21mX2lmICppZnA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01OTA2PWJyY21mX2NmZzgwMjExX3NldF9yZWtleV9kYXRhKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTkwOS1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gd2lwaHlfdG9fY2ZnKHdpcGh5KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1OTEwOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01OTExLVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02MzIzPXN0YXRpYyBzMzIgYnJjbWZfZ2V0X2Fzc29jX2llcyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjMyNS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjMyNjpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjMyNy1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfYXNzb2NfaWVsZW5fbGUgKmFzc29jX2luZm87XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02NTE5PWJyY21mX25vdGlmeV9jb25uZWN0X3N0YXR1c19hcChzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjUyMi17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjUyMzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjUyNC1cXHRzdGF0aWMgaW50IGdlbmVyYXRpb247XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02ODkzPXN0YXRpYyBzMzIgYnJjbWZfZG9uZ2xlX3JvYW0oc3RydWN0IGJyY21mX2lmICppZnApXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjg5NC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njg5NTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY4OTYtXFx0czMyIGVycjtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTY5NDU9YnJjbWZfZG9uZ2xlX3NjYW50aW1lKHN0cnVjdCBicmNtZl9pZiAqaWZwKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY5NDYte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY5NDc6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02OTQ4LVxcdHMzMiBlcnIgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9Njk5NT1zdGF0aWMgaW50IGJyY21mX2NvbnN0cnVjdF9jaGFuaW5mbyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjk5OC1cXHRzdHJ1Y3Qgd2lwaHkgKndpcGh5ID0gY2ZnX3RvX3dpcGh5KGNmZyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njk5OTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNzAwMC1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IGJyY21mX2dldF9pZnAoZHJ2ciwgMCk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz03MTMwPXN0YXRpYyBpbnQgYnJjbWZfZW5hYmxlX2J3NDBfMmcoc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy03MTMxLXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo3MTMyOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy03MTMzLVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gYnJjbWZfZ2V0X2lmcChkcnZyLCAwKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTcyMTU9c3RhdGljIHZvaWQgYnJjbWZfZ2V0X2J3Y2FwKHN0cnVjdCBicmNtZl9pZiAqaWZwLCB1MzIgYndfY2FwW10pXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNzIxNi17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NzIxNzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcyMTgtXFx0dTMyIGJhbmQsIG1pbW9fYndjYXA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz03MzI1PXN0YXRpYyBpbnQgYnJjbWZfc2V0dXBfd2lwaHliYW5kcyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnKVxcblxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNDo0OS4wMDY0MjQ0OTJaIiwiU2VxIjoxNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTU4NzM5NTI5OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRob3VnaHQgcHJvY2VzcywgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoaXMgY29kZTpcblxuKipOYXZpZ2F0aW5nIERyaXZlciBTdHJ1Y3R1cmUgYW5kIENGRzgwMjExIEludGVncmF0aW9uKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBkcml2ZXIgc3RydWN0dXJlIGFuZCBteSBpbml0aWFsIHRob3VnaHQgaXMgdGhhdCBgZHJ2ci1cdTAwM2VvcHNgIHNob3VsZCBwb2ludCB0byBhIGBicmNtZl9md3ZpZF9vcHNgIHN0cnVjdCwgb3Igc29tZXRoaW5nIGNvbXBhcmFibGUgZm9yIGZpcm13YXJlIHZpZGVvIG9wZXJhdGlvbnMuIFRoYXQgbWFrZXMgc2Vuc2UsIGtlZXBpbmcgdGhpbmdzIG1vZHVsYXIuIEJ1dCBoYW5nIG9uLCBpbiB0aGUgYGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzYCBmdW5jdGlvbiwgYGRydnItXHUwMDNlb3BzYCBpcyBhcHBhcmVudGx5IGEgYGNmZzgwMjExX29wc2Agc3RydWN0LiBUaGF0J3MgdW5leHBlY3RlZC4uLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIGRyaXZlciBpbnRlcmZhY2VzIHdpdGggdGhlIGNmZzgwMjExIHN1YnN5c3RlbS5cblxuVG8gY2xhcmlmeSB0aGlzIGluY29uc2lzdGVuY3ksIEknbSBnb2luZyB0byBkb3VibGUtY2hlY2sgdGhlIGBicmNtZl9wdWJgIHN0cnVjdHVyZS4gSSBuZWVkIHRvIHNlZSBob3cgdGhlc2UgZGlmZmVyZW50IG9wZXJhdGlvbiBzdHJ1Y3R1cmVzLCByZWxhdGVkIHRvIGZpcm13YXJlIHZpZGVvLCBhbmQgcmVsYXRlZCB0byBjZmc4MDIxMSBhcmUgY29ubmVjdGVkLCBvciBpZiB0aGVyZSdzIGEgbWlzbm9tZXIgaW4gbXkgYW5hbHlzaXMgb2YgdGhlIGNvZGUuIFRoaXMgaXMgd2hlcmUgdGhlIG1hZ2ljIChvciB0aGUgY29uZnVzaW9uKSBsaWtlbHkgaGFwcGVucy4gTGV0J3Mgc2VlIGhvdyB0aGluZ3MgYXJlIGluaXRpYWxpemVkIGFuZCB3aGljaCBgb3BzYCBhcmUgYWN0dWFsbHkgYXNzaWduZWQgd2hlcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI2NjI4LCJPdXRwdXRUb2tlbnMiOjIxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6ODEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDQ6NTQuNTkzODIyMDUxWiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyODc5NTY0ODQ3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN0cnVjdCBicmNtZl9wdWIgXFxcXHtcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuaD04MD1zdHJ1Y3QgYnJjbWZfcmV2X2luZm8ge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuaC0xMDAtLyogQ29tbW9uIHN0cnVjdHVyZSBmb3IgbW9kdWxlIGFuZCBpbnN0YW5jZSBsaW5rYWdlICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuaDoxMDE6c3RydWN0IGJyY21mX3B1YiB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuaC0xMDItXFx0LyogTGlua2FnZSBwb250ZXJzICovXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjA0OjU3LjQ3MzM5OTA2OFoiLCJTZXEiOjE3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0NTQyNTkzNjMzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgc3VtbWFyeSwgYXMgaWYgSSB3ZXJlIHRoaW5raW5nIHRoZXNlIHRob3VnaHRzOlxuXG4qKkRpdmluZyBpbnRvIGJyY21mbWFjJ3MgQ29yZSBIZWFkZXIqKlxuXG5Pa2F5LCB0aW1lIHRvIGdldCBteSBoYW5kcyBkaXJ0eS4gSSdtIGdvaW5nIHRvIHRha2UgYSBsb29rIGF0IHRoZSBgYnJjbWZtYWNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSBgY29yZS5oYCBoZWFkZXIgZmlsZS4gSSBrbm93IHRoaXMgaXMgdGhlIGNlbnRyYWwgcG9pbnQgZm9yIGEgbG90IG9mIHRoZSBmdW5kYW1lbnRhbCBkZWZpbml0aW9ucyBhbmQgc3RydWN0dXJlcy4gSSdtIHNwZWNpZmljYWxseSB0YXJnZXRpbmcgYXJvdW5kIGxpbmUgMTAxLCB3aGljaCBpcyB1c3VhbGx5IHdoZXJlIGEgZ29vZCBjaHVuayBvZiB0aGUgaW1wb3J0YW50IHN0dWZmIGJlZ2lucy4gSSdtIGV4cGVjdGluZyB0byBmaW5kIHNvbWUgY3J1Y2lhbCBtYWNybyBkZWZpbml0aW9ucywgcG90ZW50aWFsbHkgc29tZSBrZXkgZGF0YSBzdHJ1Y3R1cmVzIGxpa2UgdGhlIG1haW4gZHJpdmVyIGNvbnRleHQsIG9yIG1heWJlIHNvbWUgaW1wb3J0YW50IGZ1bmN0aW9uIHByb3RvdHlwZXMgZm9yIGluaXRpYWxpemluZyBvciBtYW5hZ2luZyB0aGUgQnJvYWRjb20gd2lyZWxlc3MgaW50ZXJmYWNlLiBUaGlzIGlzIGdvaW5nIHRvIGJlIHRoZSBmb3VuZGF0aW9uIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0aGUgY29yZSBvZiB0aGlzIGRyaXZlciBpbnRlcmFjdHMgd2l0aCB0aGUgaGFyZHdhcmUuIExldCdzIHNlZSB3aGF0J3MgdGhlcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI3MTU2LCJPdXRwdXRUb2tlbnMiOjUzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDU6MDIuMDE1OTk0ODkxWiIsIlNlcSI6MTgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwNzIyMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5oXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEwMCxcbiAgXCJMaW5lQ291bnRcIjogNTBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDEwMDpcXHQvKiBDb21tb24gc3RydWN0dXJlIGZvciBtb2R1bGUgYW5kIGluc3RhbmNlIGxpbmthZ2UgKi9cXG4gMTAxOlxcdHN0cnVjdCBicmNtZl9wdWIge1xcbiAxMDI6XFx0XFx0LyogTGlua2FnZSBwb250ZXJzICovXFxuIDEwMzpcXHRcXHRzdHJ1Y3QgYnJjbWZfYnVzICpidXNfaWY7XFxuIDEwNDpcXHRcXHRzdHJ1Y3QgYnJjbWZfcHJvdG8gKnByb3RvO1xcbiAxMDU6XFx0XFx0c3RydWN0IHdpcGh5ICp3aXBoeTtcXG4gMTA2OlxcdFxcdHN0cnVjdCBjZmc4MDIxMV9vcHMgKm9wcztcXG4gMTA3OlxcdFxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjb25maWc7XFxuIDEwODpcXHRcXG4gMTA5OlxcdFxcdC8qIEludGVybmFsIGJyY21mIGl0ZW1zICovXFxuIDExMDpcXHRcXHR1aW50IGhkcmxlbjtcXHRcXHQvKiBUb3RhbCBCUkNNRiBoZWFkZXIgbGVuZ3RoIChwcm90byArIGJ1cykgKi9cXG4gMTExOlxcdFxcbiAxMTI6XFx0XFx0LyogRG9uZ2xlIG1lZGlhIGluZm8gKi9cXG4gMTEzOlxcdFxcdGNoYXIgZnd2ZXJbQlJDTUZfRFJJVkVSX0ZJUk1XQVJFX1ZFUlNJT05fTEVOXTtcXG4gMTE0OlxcdFxcdHU4IG1hY1tFVEhfQUxFTl07XFx0XFx0LyogTUFDIGFkZHJlc3Mgb2J0YWluZWQgZnJvbSBkb25nbGUgKi9cXG4gMTE1OlxcdFxcbiAxMTY6XFx0XFx0c3RydWN0IG1hY19hZGRyZXNzIGFkZHJlc3Nlc1tCUkNNRl9NQVhfSUZTXTtcXG4gMTE3OlxcdFxcbiAxMTg6XFx0XFx0c3RydWN0IGJyY21mX2lmICppZmxpc3RbQlJDTUZfTUFYX0lGU107XFxuIDExOTpcXHRcXHRzMzIgaWYyYnNzW0JSQ01GX01BWF9JRlNdO1xcbiAxMjA6XFx0XFx0c3RydWN0IGJyY21mX2lmICptb25faWY7XFxuIDEyMTpcXHRcXG4gMTIyOlxcdFxcdHN0cnVjdCBtdXRleCBwcm90b19ibG9jaztcXG4gMTIzOlxcdFxcdHVuc2lnbmVkIGNoYXIgcHJvdG9fYnVmW0JSQ01GX0RDTURfTUFYTEVOXTtcXG4gMTI0OlxcdFxcbiAxMjU6XFx0XFx0c3RydWN0IGJyY21mX2Z3ZWhfaW5mbyAqZndlaDtcXG4gMTI2OlxcdFxcbiAxMjc6XFx0XFx0c3RydWN0IGJyY21mX2FtcGR1X3J4X3Jlb3JkZXJcXG4gMTI4OlxcdFxcdFxcdCpyZW9yZGVyX2Zsb3dzW0JSQ01GX0FNUERVX1JYX1JFT1JERVJfTUFYRkxPV1NdO1xcbiAxMjk6XFx0XFxuIDEzMDpcXHRcXHR1MzIgZmVhdF9mbGFncztcXG4gMTMxOlxcdFxcdHUzMiBjaGlwX3F1aXJrcztcXG4gMTMyOlxcdFxcbiAxMzM6XFx0XFx0c3RydWN0IGJyY21mX3Jldl9pbmZvIHJldmluZm87XFxuIDEzNDpcXHQjaWZkZWYgREVCVUdcXG4gMTM1OlxcdFxcdHN0cnVjdCBkZW50cnkgKmRiZ2ZzX2RpcjtcXG4gMTM2OlxcdCNlbmRpZlxcbiAxMzc6XFx0XFxuIDEzODpcXHRcXHRzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgaW5ldGFkZHJfbm90aWZpZXI7XFxuIDEzOTpcXHRcXHRzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgaW5ldDZhZGRyX25vdGlmaWVyO1xcbiAxNDA6XFx0XFx0c3RydWN0IGJyY21mX21wX2RldmljZSAqc2V0dGluZ3M7XFxuIDE0MTpcXHRcXG4gMTQyOlxcdFxcdHN0cnVjdCB3b3JrX3N0cnVjdCBidXNfcmVzZXQ7XFxuIDE0MzpcXHRcXG4gMTQ0OlxcdFxcdHU4IGNsbXZlcltCUkNNRl9EQ01EX1NNTEVOXTtcXG4gMTQ1OlxcdFxcdHU4IHN0YV9tYWNfaWR4O1xcbiAxNDY6XFx0XFx0Y29uc3Qgc3RydWN0IGJyY21mX2Z3dmlkX29wcyAqdm9wcztcXG4gMTQ3OlxcdFxcdHZvaWQgKnZkYXRhO1xcbiAxNDg6XFx0fTtcXG4gMTQ5OlxcdFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNTowMi4wMTYxMDQ3MjFaIiwiU2VxIjoxOSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NjcyMDIwMjI1MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipGdXp6aW5nIFRhcmdldCBJZGVudGlmaWNhdGlvbjogYnJjbWZtYWMgTWdtdCBUWCBhbmQgRXh0ZXJuYWwgQXV0aCBDYWxsYmFja3MqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBjb25maXJtaW5nIG15IGluaXRpYWwgYXNzZXNzbWVudC4gWWVzLCB0aGUgYHN0cnVjdCBjZmc4MDIxMV9vcHMgKm9wcztgIGNvbmZpcm1zIGl0LiBTcGVjaWZpY2FsbHksIHRoZSBgYnJjbWZfY3l3X21nbXRfdHhgIGNhbGxiYWNrIGlzIGluZGVlZCB0aGUgYG1nbXRfdHhgIGZ1bmN0aW9uIHdpdGhpbiBgY2ZnODAyMTFgLCBhbmQgYGJyY21mX2N5d19leHRlcm5hbF9hdXRoYCBpcyB0aGUgY29ycmVzcG9uZGluZyBgZXh0ZXJuYWxfYXV0aGAgY2FsbGJhY2suIFRoZXNlIGFyZSBpbnRlcmVzdGluZyBiZWNhdXNlIHRoZXkncmUgZGlyZWN0bHkgZXhwb3NlZCB0byB1c2Vyc3BhY2UgaW50ZXJhY3Rpb24gdGhyb3VnaCBgbmw4MDIxMWAgY29tbWFuZHM6IHNwZWNpZmljYWxseSBgbmw4MDIxMV90eF9tZ210YCBhbmQgYG5sODAyMTFfZXh0ZXJuYWxfYXV0aGAuXG5cblNpbmNlIHRoZSBgYnJjbWZtYWNgIGRyaXZlciBjYW4gYmUgZnV6emVkIHVzaW5nIGEgVVNCIGdhZGdldCBzZXR1cCAobGlrZSBgZHVtbXlfaGNkYCksIEkga25vdyB0aGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBhbmQsIGNyaXRpY2FsbHksIGZ1bmN0aW9uYWwuIFRoZSBwYXRjaCBpdHNlbGYgaXMgbWFraW5nIHNvbWUgZnVuY3Rpb25hbCBtb2RpZmljYXRpb25zLiBgYnJjbWZfY3l3X21nbXRfdHhgIGlzIGNoYW5naW5nIGZyb20gdXNpbmcgYSBwcm92aWRlZCBgY29va2llYCB0byBhbiBhdG9taWMgY291bnRlciBmb3IgYHBhY2tldF9pZGAuICBBbmQgaW4gYGJyY21mX2N5d19leHRlcm5hbF9hdXRoYCBpdCdzIG1ha2luZyBzdXJlIHRvIGNvcHkgYHBta2lkYCBpZiBpdCdzIHRoZXJlLlxuXG5UaGVzZSBhcmUgZ29vZCB0YXJnZXRzIGZvciBmdXp6aW5nLiBUaGV5IHJlcHJlc2VudCBwb2ludHMgd2hlcmUgd2UndmUgY2hhbmdlZCBleGlzdGluZywgZXhwb3NlZCBmdW5jdGlvbmFsaXR5LCBhbmQgYXJlIHRoZXJlZm9yZSBwcmltZSBjYW5kaWRhdGVzIGZvciBkaXNjb3ZlcmluZyBuZXcgYnVncy5cblxuTXkgZm9jdXMgc2hvdWxkIGJlIG9uIGBicmNtZl9jeXdfbWdtdF90eGAgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAuIExldCdzIGFsc28gY2hlY2sgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb25zLiBUaGUgZHJpdmVyIGNvbmZpZ3MgYXJlIGBCUkNNRk1BQ2AsIGBCUkNNRk1BQ19VU0JgIGFuZCwgaW1wbGljaXRseSwgYENGRzgwMjExYC4gSG93ZXZlciwgSSBuZWVkIHRvIGNoZWNrIHRoZSBLY29uZmlnIGZpbGUgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnYCB0byBiZSBzdXJlIHRoZXJlIGFyZW4ndCBhbnkgQ1lXLXNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIEkgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjgxODAsIk91dHB1dFRva2VucyI6MTksIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMjUsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNTowOC43MzYzMTAwOTFaIiwiU2VxIjoyMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI2NjE1ODAxOTEsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJSQ01GTUFDXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjE6Y29uZmlnIEJSQ01GTUFDXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMi1cXHR0cmlzdGF0ZSBcXFwiQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTEwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjExOmNvbmZpZyBCUkNNRk1BQ19QUk9UT19CQ0RDXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTItXFx0Ym9vbFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTEzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjE0OmNvbmZpZyBCUkNNRk1BQ19QUk9UT19NU0dCVUZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xNS1cXHRib29sXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6MTc6Y29uZmlnIEJSQ01GTUFDX1NESU9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xOC1cXHRib29sIFxcXCJTRElPIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgRnVsbE1BQyBkcml2ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0yOC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzoyOTpjb25maWcgQlJDTUZNQUNfVVNCXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMzAtXFx0Ym9vbCBcXFwiVVNCIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgRnVsbE1BQyBkcml2ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0zOS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzo0MDpjb25maWcgQlJDTUZNQUNfUENJRVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTQxLVxcdGJvb2wgXFxcIlBDSUUgYnVzIGludGVyZmFjZSBzdXBwb3J0IGZvciBGdWxsTUFDIGRyaXZlclxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDU6MTEuMzk3ODk2NTkyWiIsIlNlcSI6MjEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE4Njc2NDYyMTU3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBsZXQncyBzZWUuLi5cblxuKipDaGVja2luZyB0aGUgQnVpbGQgQ29uZmlndXJhdGlvbioqXG5cbkhhbmcgb24gYSBzZWNvbmQsIGBjeXdgIGlzIGEgc3ViZGlyZWN0b3J5LCBpc24ndCBpdD8gUmlnaHQsIGl0J3Mgbm90IGEgdG9wLWxldmVsIHNvdXJjZSBmaWxlLiBPa2F5LCBzbyB0aGF0IG1lYW5zIEkgbmVlZCB0byBmaWd1cmUgb3V0ICpob3cqIGl0IGdldHMgaW5jbHVkZWQgaW4gdGhlIGJ1aWxkLiBJdCdzIGxpa2VseSBjb25kaXRpb25hbGx5IGNvbXBpbGVkLiBUaGUgZmlyc3QgcGxhY2UgSSdkIGNoZWNrIGlzIHRoZSByZWxldmFudCBgTWFrZWZpbGVgLiBTbywgbGV0J3MgZ28gcG9rZSBhcm91bmQgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9NYWtlZmlsZWAgYW5kIHNlZSB3aGF0J3Mgd2hhdC4gVGhhdCdzIHRoZSBtb3N0IGxvZ2ljYWwgcGxhY2UgdG8gc3RhcnQgbG9va2luZyBmb3IgYnVpbGQgcnVsZXMgYWZmZWN0aW5nIHRoYXQgZGlyZWN0b3J5LiBJJ20gZXhwZWN0aW5nIHRvIGZpbmQgc29tZSBgaWZlcWAgb3IgYGlmbmVxYCBkaXJlY3RpdmVzLCBvciBtYXliZSBldmVuIGEgbW9yZSBjb21wbGV4IGNvbmRpdGlvbmFsIGludm9sdmluZyBrZXJuZWwgY29uZmlndXJhdGlvbiBvcHRpb25zLiBMZXQncyBzZWUgd2hhdCB3ZSBmaW5kLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyOTU3MywiT3V0cHV0VG9rZW5zIjo0NSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjUwLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjA1OjMwLjA3NDM2MjI1OVoiLCJTZXEiOjIyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTM5NTU1MDQyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImN5d1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGVcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL01ha2VmaWxlPTU1PW9iai1tICs9IHdjYy9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGU6NTY6b2JqLW0gKz0gY3l3L1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9NYWtlZmlsZS01Ny1vYmotbSArPSBiY2EvXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGU9NTk9YnJjbWZtYWMtJChDT05GSUdfQlJDTUZNQUMpICs9IHdjYy9jb3JlLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGU6NjA6YnJjbWZtYWMtJChDT05GSUdfQlJDTUZNQUMpICs9IGN5dy9jb3JlLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGUtNjEtYnJjbWZtYWMtJChDT05GSUdfQlJDTUZNQUMpICs9IGJjYS9jb3JlLm9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDU6MzAuNjEzOTIzNjgxWiIsIlNlcSI6MjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUyNTE0NzYxNjQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBgQlJDTUZNQUNgIENvbmZpZ3VyYXRpb24gYW5kIFJlbGV2YW50IENvZGUgUGF0aHMqKlxuXG5Pa2F5LCBzbyB0aGlzIGNvZGUgaXMgb25seSBjb21waWxlZCBpZiBgQ09ORklHX0JSQ01GTUFDYCBpcyBlbmFibGVkLiBUaGF0IG1ha2VzIHNlbnNlLCBzbyBJIG5lZWQgdG8gZm9jdXMgb24gZW5hYmxpbmcgYm90aCBgQlJDTUZNQUNgIGFuZCBgQlJDTUZNQUNfVVNCYCB3aXRoaW4gdGhlIGNvbmZpZ3VyYXRpb24uIE5vdywgSSBuZWVkIHRvIHBpbnBvaW50IHRoZSBjcml0aWNhbCBmdW5jdGlvbnMgSSB3YW50IHRvIGV4YW1pbmUgaW4gbW9yZSBkZXRhaWwuXG5cbmBicmNtZl9jeXdfbWdtdF90eGAgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAgc2VlbSBsaWtlIHByb21pc2luZyBjYW5kaWRhdGVzLiBMZXQgbWUganVzdCBjb25maXJtIHRoZXNlIGFyZSB0aGUgcHJpbWFyeSBmdW5jdGlvbnMgSSdtIGludGVyZXN0ZWQgaW4gYW5kIG5vdCBqdXN0IHNvbWUgZ2VuZXJpYyBob3QgcGF0aCBjb2RlLiBZZXMsIEknbSByaWdodCwgdGhvc2UgYXJlIGV4YWN0bHkgdGhlIGZ1bmN0aW9ucyB0aGF0IGFyZSBiZWluZyBtb2RpZmllZCwgYW5kIHRob3NlIGFyZW4ndCBleGFjdGx5IGhvdCBwYXRoLCBhcyB0aGV5IGFyZSBwYXJ0IG9mIHRoZSBjb250cm9sIHBsYW5lLiBHb29kLCB0aGF0IHZlcmlmaWVzIG15IGluaXRpYWwgYXNzZXNzbWVudC5cblxuTm93LCBsZXQncyBtYWtlIHN1cmUgdGhhdCBgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGhgIGlzIGFjdHVhbGx5IGJlaW5nIHVzZWQgc29tZXdoZXJlLCB0aGF0IGl0J3MgcmVhY2hhYmxlIGNvZGUuIEl0IGxvb2tzIGxpa2UgaXQgaXMsIGl0J3MgYXNzaWduZWQgdG8gYGRydnItXHUwMDNlb3BzLVx1MDAzZWV4dGVybmFsX2F1dGhgLiBBbmQgSSBzZWUgaXTigJlzIGFzc2lnbmVkIGluIGBuZXQvd2lyZWxlc3Mvbmw4MDIxMS5jYC4gQWxyaWdodCwgdGhhdCdzIGRlZmluaXRlbHkgZ29vZCBjb25maXJtYXRpb24gdGhhdCB0aGlzIGlzIGEgdmFsaWQgcGF0aCB0byBpbnZlc3RpZ2F0ZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzAxMTQsIk91dHB1dFRva2VucyI6MTksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNTUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDU6MzUuODY1NDAxOTM1WiIsIlNlcSI6MjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNTkzNTI4OTEyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm9wcy1cXHUwMDNlZXh0ZXJuYWxfYXV0aFwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0yMzY9c3RhdGljIHZvaWQgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTIzOC1cXHRkcnZyLVxcdTAwM2VvcHMtXFx1MDAzZW1nbXRfdHggPSBicmNtZl9jeXdfbWdtdF90eDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyMzk6XFx0ZHJ2ci1cXHUwMDNlb3BzLVxcdTAwM2VleHRlcm5hbF9hdXRoID0gYnJjbWZfY3l3X2V4dGVybmFsX2F1dGg7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjQwLX1cXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmM9MTgzMDU9c3RhdGljIGludCBubDgwMjExX2V4dGVybmFsX2F1dGgoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMTgzMTAtXFxubmV0L3dpcmVsZXNzL25sODAyMTEuYzoxODMxMTpcXHRpZiAoIXJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlZXh0ZXJuYWxfYXV0aClcXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE4MzEyLVxcdFxcdHJldHVybiAtRU9QTk9UU1VQUDtcXG4tLVxcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oPTEzMzk9cmRldl9leHRlcm5hbF9hdXRoKHN0cnVjdCBjZmc4MDIxMV9yZWdpc3RlcmVkX2RldmljZSAqcmRldixcXG4tLVxcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oLTEzNDUtXFx0dHJhY2VfcmRldl9leHRlcm5hbF9hdXRoKFxcdTAwMjZyZGV2LVxcdTAwM2V3aXBoeSwgZGV2LCBwYXJhbXMpO1xcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oOjEzNDY6XFx0aWYgKHJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlZXh0ZXJuYWxfYXV0aClcXG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaDoxMzQ3OlxcdFxcdHJldCA9IHJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlZXh0ZXJuYWxfYXV0aChcXHUwMDI2cmRldi1cXHUwMDNld2lwaHksIGRldiwgcGFyYW1zKTtcXG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaC0xMzQ4LVxcdHRyYWNlX3JkZXZfcmV0dXJuX2ludChcXHUwMDI2cmRldi1cXHUwMDNld2lwaHksIHJldCk7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjA1OjM4LjQ1ODk0MDY4OFoiLCJTZXEiOjI1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoyMjM0OTQ5NTI2NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBGdXp6aW5nIFN0cmF0ZWd5IGZvciB0aGUgQnJvYWRjb20gRnVsbE1BQyBEcml2ZXIqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGJlZW4gYW5hbHl6aW5nIHRoaXMgcGF0Y2ggdGFyZ2V0aW5nIHRoZSBCcm9hZGNvbSBGdWxsTUFDIFdMQU4gZHJpdmVyLCBzcGVjaWZpY2FsbHkgZm9jdXNpbmcgb24gYGJyY21mbWFjYC4gIE15IGluaXRpYWwgdGhvdWdodCBpcywgeWVzLCB0aGUgYG5sODAyMTFfZXh0ZXJuYWxfYXV0aGAgZnVuY3Rpb25hbGl0eSAqaXMqIHJlYWNoYWJsZSDigJMgdGhhdCdzIGEgZ29vZCBzdGFydGluZyBwb2ludC4gTm93LCBsZXQncyBzZWUgaWYgdGhlcmUgYXJlICpvdGhlciogY29uZmlndXJhdGlvbnMgSSBuZWVkIHRvIGNvbnNpZGVyIGZvciBlbmFibGluZyB0aGUgcmVsZXZhbnQgY29kZSBwYXRocy4gQWgsIGhlcmUgd2UgZ28sIGBCUkNNRk1BQ2AgYW5kIGBCUkNNRk1BQ19VU0JgLiBHb29kLiBJIG5vdGUgdGhhdCBgQ0ZHODAyMTFgIGlzLCB0aGFua2Z1bGx5LCBhbHJlYWR5IGVuYWJsZWQgYnkgZGVmYXVsdCBpbiBzeXprYWxsZXIuXG5cblJpZ2h0LCBJJ20gZ29pbmcgdG8gZm9sbG93IHRoZSBndWlkYW5jZS4gVGhlIGluc3RydWN0aW9ucyBhcmUgY2xlYXI6IGtlZXAgdGhlIGNvbmZpZ3VyYXRpb24gZm9jdXNlZCBvbiB3aGF0J3MgKm1vZGlmaWVkKi4gRG9u4oCZdCBsaXN0IGdlbmVyaWMsIGFscmVhZHktZW5hYmxlZCBjb25maWdzLiBTaW5jZSB0aGUgY29yZSBtb2RpZmljYXRpb25zIHRvdWNoIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBCcm9hZGNvbSBGdWxsTUFDIGRyaXZlciwgYEJSQ01GTUFDYCBhbmQgYEJSQ01GTUFDX1VTQmAgd2lsbCBjb3ZlciB3aGF0J3MgbmVjZXNzYXJ5LiBJIGRvbid0IG5lZWQgdG8gYmxvYXQgdGhlIGNvbmZpZ3VyYXRpb24gd2l0aCByZWR1bmRhbnQgb3B0aW9ucy5cblxuTGV0J3MgZGlzdGlsbCB0aGlzIGludG8gYSBjb25jaXNlIGZ1enppbmcgc3RyYXRlZ3kuIEknbSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZ2AgdG8gYHRydWVgLCBvZiBjb3Vyc2UuIE15IGBGb2N1c1N5bWJvbHNgIHdpbGwgYmUgYFwiYnJjbWZfY3l3X21nbXRfdHhcImAgYW5kIGBcImJyY21mX2N5d19leHRlcm5hbF9hdXRoXCJgLiBUaGUgcmVsZXZhbnQgYEVuYWJsZUNvbmZpZ3NgIGFyZSBgW1wiQlJDTUZNQUNcIiwgXCJCUkNNRk1BQ19VU0JcIl1gLiBUaGUgcmF0aW9uYWxlIGlzIHN0cmFpZ2h0Zm9yd2FyZDogdGhlIHBhdGNoIGFsdGVycyB0aGUgbWFuYWdlbWVudCBmcmFtZSB0eCBhbmQgZXh0ZXJuYWwgYXV0aGVudGljYXRpb24gbG9naWMgaW4gdGhlIEJyb2FkY29tIEZ1bGxNQUMgZHJpdmVyIChgYnJjbWZtYWNgKS4gVGhlc2UgZnVuY3Rpb25zIGFyZSBhY2Nlc3NpYmxlIGZyb20gdXNlcnNwYWNlIHRocm91Z2ggYG5sODAyMTFgIGNvbW1hbmRzIGFuZCBhcmUgcGVyZmVjdCBjYW5kaWRhdGVzIGZvciBmdXp6aW5nIHVzaW5nIGEgVVNCIGdhZGdldCBlbXVsYXRvci4gVGhpcyBhcHByb2FjaCB3aWxsIG1heGltaXplIGNvZGUgY292ZXJhZ2Ugd2l0aGluIHRoZSBzY29wZSBvZiB0aGUgbW9kaWZpY2F0aW9uLCB3aGljaCBpcyB0aGUga2V5IHRvIGVmZmljaWVudCBhbmQgdGFyZ2V0ZWQgZnV6emluZy5cblxuXG4iLCJJbnB1dFRva2VucyI6MzExMDMsIk91dHB1dFRva2VucyI6MTIyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjMwLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjA2OjAwLjgwODQzODIwNFoiLCJTZXEiOjI2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1NDUyNDAzOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlJDTUZNQUNcIixcbiAgICBcIkJSQ01GTUFDX1VTQlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJyY21mX2N5d19tZ210X3R4XCIsXG4gICAgXCJicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBsb2dpYyBpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlciAoYnJjbWZtYWMpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBmcm9tIHVzZXJzcGFjZSB2aWEgbmw4MDIxMSBjb21tYW5kcyBhbmQgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgZW11bGF0b3IuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlJDTUZNQUNcIixcbiAgICBcIkJSQ01GTUFDX1VTQlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJyY21mX2N5d19tZ210X3R4XCIsXG4gICAgXCJicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBsb2dpYyBpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlciAoYnJjbWZtYWMpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBmcm9tIHVzZXJzcGFjZSB2aWEgbmw4MDIxMSBjb21tYW5kcyBhbmQgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgZW11bGF0b3IuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },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-workflow6lltr[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-10 07:47:11 +0000 UTC FinishedAt: 2026-07-10 08:06:02 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "linux-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next", "commit_hash": "722c7de93c5cf558bfedd8b9583845b1ce227a8e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BRCMFMAC", "BRCMFMAC_USB" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "linux-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next", "commit_hash": "722c7de93c5cf558bfedd8b9583845b1ce227a8e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BRCMFMAC", "BRCMFMAC_USB" ], "series_id": "9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "brcmf_cyw_mgmt_tx", "brcmf_cyw_external_auth" ], "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+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjAzPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JSQ01GTUFDJiMzNDssCiAgICAmIzM0O0JSQ01GTUFDX1VTQiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JyY21mX2N5d19tZ210X3R4JiMzNDssCiAgICAmIzM0O2JyY21mX2N5d19leHRlcm5hbF9hdXRoJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBsb2dpYyBpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlciAoYnJjbWZtYWMpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBmcm9tIHVzZXJzcGFjZSB2aWEgbmw4MDIxMSBjb21tYW5kcyBhbmQgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgZW11bGF0b3IuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDM8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA1ZTUxYzBkOWZjMmI5MmJkM2VlZmY4YWIwOWIxZTVkOTExNTBlYzVhXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMTAgMDg6MDM6MTEgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY1xuaW5kZXggY2UwOWQ0NGZhNzNjZjguLmNjYTUzZmYxOTM2YTQwIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXG5AQCAtMjMsNiAmIzQzOzIzLDggQEBcbiAjZGVmaW5lIE1HTVRfQVVUSF9GUkFNRV9EV0VMTF9USU1FXHQ0MDAwXG4gI2RlZmluZSBNR01UX0FVVEhfRlJBTUVfV0FJVF9USU1FXHQoTUdNVF9BVVRIX0ZSQU1FX0RXRUxMX1RJTUUgJiM0MzsgMTAwKVxuIFxuJiM0MztzdGF0aWMgYXRvbWljX3QgYnJjbWZfY3l3X21nbXRfdHhfaWQgPSBBVE9NSUNfSU5JVCgwKTtcbiYjNDM7XG4gc3RhdGljIGludCBicmNtZl9jeXdfc2V0X3NhZV9wd2Qoc3RydWN0IGJyY21mX2lmICppZnAsXG4gXHRcdFx0XHQgc3RydWN0IGNmZzgwMjExX2NyeXB0b19zZXR0aW5ncyAqY3J5cHRvKVxuIHtcbkBAIC0xNTUsNyAmIzQzOzE1Nyw3IEBAIGludCBicmNtZl9jeXdfbWdtdF90eChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxuIFxuIFx0bWVtY3B5KFx1MDAyNm1mX3BhcmFtcy1cdTAwM2VkYVswXSwgXHUwMDI2bWdtdC1cdTAwM2VkYVswXSwgRVRIX0FMRU4pO1xuIFx0bWVtY3B5KFx1MDAyNm1mX3BhcmFtcy1cdTAwM2Vic3NpZFswXSwgXHUwMDI2bWdtdC1cdTAwM2Vic3NpZFswXSwgRVRIX0FMRU4pO1xuLVx0bWZfcGFyYW1zLVx1MDAzZXBhY2tldF9pZCA9IGNwdV90b19sZTMyKCpjb29raWUpO1xuJiM0MztcdG1mX3BhcmFtcy1cdTAwM2VwYWNrZXRfaWQgPSBjcHVfdG9fbGUzMihhdG9taWNfaW5jX3JldHVybihcdTAwMjZicmNtZl9jeXdfbWdtdF90eF9pZCkpO1xuIFx0bWVtY3B5KG1mX3BhcmFtcy1cdTAwM2VkYXRhLCBcdTAwMjZidWZbRE9UMTFfTUdNVF9IRFJfTEVOXSxcbiBcdCAgICAgICBsZTE2X3RvX2NwdShtZl9wYXJhbXMtXHUwMDNlbGVuKSk7XG4gXG5AQCAtMjAwLDcgJiM0MzsyMDIsNyBAQCBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIHtcbiBcdHN0cnVjdCBicmNtZl9pZiAqaWZwO1xuIFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2cjtcbi1cdHN0cnVjdCBicmNtZl9hdXRoX3JlcV9zdGF0dXNfbGUgYXV0aF9zdGF0dXM7XG4mIzQzO1x0c3RydWN0IGJyY21mX2F1dGhfcmVxX3N0YXR1c19sZSBhdXRoX3N0YXR1cyA9IHt9O1xuIFx0aW50IHJldCA9IDA7XG4gXG4gXHRicmNtZl9kYmcoVFJBQ0UsIFwmIzM0O0VudGVyXFxuXCYjMzQ7KTtcbkBAIC0yMDgsNiAmIzQzOzIxMCw4IEBAIGJyY21mX2N5d19leHRlcm5hbF9hdXRoKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4gXHRpZnAgPSBuZXRkZXZfcHJpdihkZXYpO1xuIFx0ZHJ2ciA9IGlmcC1cdTAwM2VkcnZyO1xuIFx0aWYgKHBhcmFtcy1cdTAwM2VzdGF0dXMgPT0gV0xBTl9TVEFUVVNfU1VDQ0VTUykge1xuJiM0MztcdFx0aWYgKHBhcmFtcy1cdTAwM2VwbWtpZClcbiYjNDM7XHRcdFx0bWVtY3B5KGF1dGhfc3RhdHVzLnBta2lkLCBwYXJhbXMtXHUwMDNlcG1raWQsIFdMQU5fUE1LSURfTEVOKTtcbiBcdFx0YXV0aF9zdGF0dXMuZmxhZ3MgPSBjcHVfdG9fbGUxNihCUkNNRl9FWFRBVVRIX1NVQ0NFU1MpO1xuIFx0fSBlbHNlIHtcbiBcdFx0YnBoeV9lcnIoZHJ2ciwgXCYjMzQ7RXh0ZXJuYWwgYXV0aGVudGljYXRpb24gZmFpbGVkOiBzdGF0dXM9JWRcXG5cJiMzNDssXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDM8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QlJDTUZNQUMmIzM0OywKICAgICYjMzQ7QlJDTUZNQUNfVVNCJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YnJjbWZfY3l3X21nbXRfdHgmIzM0OywKICAgICYjMzQ7YnJjbWZfY3l3X2V4dGVybmFsX2F1dGgmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgbWFuYWdlbWVudCBmcmFtZSB0cmFuc21pc3Npb24gYW5kIGV4dGVybmFsIGF1dGhlbnRpY2F0aW9uIGxvZ2ljIGluIHRoZSBCcm9hZGNvbSBGdWxsTUFDIFdMQU4gZHJpdmVyIChicmNtZm1hYykuIFRoZXNlIGZ1bmN0aW9ucyBhcmUgcmVhY2hhYmxlIGZyb20gdXNlcnNwYWNlIHZpYSBubDgwMjExIGNvbW1hbmRzIGFuZCBjYW4gYmUgZnV6emVkIHVzaW5nIGEgVVNCIGdhZGdldCBlbXVsYXRvci4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNWU1MWMwZDlmYzJiOTJiZDNlZWZmOGFiMDliMWU1ZDkxMTUwZWM1YQpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgSnVsIDEwIDA4OjAzOjExIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYwppbmRleCBjZTA5ZDQ0ZmE3M2NmOC4uY2NhNTNmZjE5MzZhNDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jCkBAIC0yMyw2ICYjNDM7MjMsOCBAQAogI2RlZmluZSBNR01UX0FVVEhfRlJBTUVfRFdFTExfVElNRQk0MDAwCiAjZGVmaW5lIE1HTVRfQVVUSF9GUkFNRV9XQUlUX1RJTUUJKE1HTVRfQVVUSF9GUkFNRV9EV0VMTF9USU1FICYjNDM7IDEwMCkKIAomIzQzO3N0YXRpYyBhdG9taWNfdCBicmNtZl9jeXdfbWdtdF90eF9pZCA9IEFUT01JQ19JTklUKDApOwomIzQzOwogc3RhdGljIGludCBicmNtZl9jeXdfc2V0X3NhZV9wd2Qoc3RydWN0IGJyY21mX2lmICppZnAsCiAJCQkJIHN0cnVjdCBjZmc4MDIxMV9jcnlwdG9fc2V0dGluZ3MgKmNyeXB0bykKIHsKQEAgLTE1NSw3ICYjNDM7MTU3LDcgQEAgaW50IGJyY21mX2N5d19tZ210X3R4KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsCiAKIAltZW1jcHkoJmFtcDttZl9wYXJhbXMtJmd0O2RhWzBdLCAmYW1wO21nbXQtJmd0O2RhWzBdLCBFVEhfQUxFTik7CiAJbWVtY3B5KCZhbXA7bWZfcGFyYW1zLSZndDtic3NpZFswXSwgJmFtcDttZ210LSZndDtic3NpZFswXSwgRVRIX0FMRU4pOwotCW1mX3BhcmFtcy0mZ3Q7cGFja2V0X2lkID0gY3B1X3RvX2xlMzIoKmNvb2tpZSk7CiYjNDM7CW1mX3BhcmFtcy0mZ3Q7cGFja2V0X2lkID0gY3B1X3RvX2xlMzIoYXRvbWljX2luY19yZXR1cm4oJmFtcDticmNtZl9jeXdfbWdtdF90eF9pZCkpOwogCW1lbWNweShtZl9wYXJhbXMtJmd0O2RhdGEsICZhbXA7YnVmW0RPVDExX01HTVRfSERSX0xFTl0sCiAJICAgICAgIGxlMTZfdG9fY3B1KG1mX3BhcmFtcy0mZ3Q7bGVuKSk7CiAKQEAgLTIwMCw3ICYjNDM7MjAyLDcgQEAgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIHsKIAlzdHJ1Y3QgYnJjbWZfaWYgKmlmcDsKIAlzdHJ1Y3QgYnJjbWZfcHViICpkcnZyOwotCXN0cnVjdCBicmNtZl9hdXRoX3JlcV9zdGF0dXNfbGUgYXV0aF9zdGF0dXM7CiYjNDM7CXN0cnVjdCBicmNtZl9hdXRoX3JlcV9zdGF0dXNfbGUgYXV0aF9zdGF0dXMgPSB7fTsKIAlpbnQgcmV0ID0gMDsKIAogCWJyY21mX2RiZyhUUkFDRSwgJiMzNDtFbnRlclxuJiMzNDspOwpAQCAtMjA4LDYgJiM0MzsyMTAsOCBAQCBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCWlmcCA9IG5ldGRldl9wcml2KGRldik7CiAJZHJ2ciA9IGlmcC0mZ3Q7ZHJ2cjsKIAlpZiAocGFyYW1zLSZndDtzdGF0dXMgPT0gV0xBTl9TVEFUVVNfU1VDQ0VTUykgewomIzQzOwkJaWYgKHBhcmFtcy0mZ3Q7cG1raWQpCiYjNDM7CQkJbWVtY3B5KGF1dGhfc3RhdHVzLnBta2lkLCBwYXJhbXMtJmd0O3Bta2lkLCBXTEFOX1BNS0lEX0xFTik7CiAJCWF1dGhfc3RhdHVzLmZsYWdzID0gY3B1X3RvX2xlMTYoQlJDTUZfRVhUQVVUSF9TVUNDRVNTKTsKIAl9IGVsc2UgewogCQlicGh5X2VycihkcnZyLCAmIzM0O0V4dGVybmFsIGF1dGhlbnRpY2F0aW9uIGZhaWxlZDogc3RhdHVzPSVkXG4mIzM0OywKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjQyNAoJCQkJCQkJb3V0cHV0OiAyNAoJCQkJCQkJdGhvdWdodHM6IDM1NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBCcm9hZGNvbSBXaXJlbGVzcyBEcml2ZXIgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IGEgcGF0Y2ggd2l0aGluIGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY2AuIEl0JiMzOTtzIHRvdWNoaW5nIHR3byBmdW5jdGlvbnM6IGBicmNtZl9jeXdfbWdtdF90eGAgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAuIExldCYjMzk7cyBicmVhayB0aGlzIGRvd24uCgpJbiBgYnJjbWZfY3l3X21nbXRfdHhgLCBpdCBsb29rcyBsaWtlIHRoZXkmIzM5O3ZlIGNoYW5nZWQgdGhlIHBhY2tldCBJRCBhc3NpZ25tZW50LiBPcmlnaW5hbGx5IGl0IHdhcyB1c2luZyBhIHBvaW50ZXIgdG8gYSBjb29raWUsIGBtZl9wYXJhbXMtJmd0O3BhY2tldF9pZCA9IGNwdV90b19sZTMyKCpjb29raWUpO2AsIG5vdyBpdCYjMzk7cyB1c2luZyBhbiBhdG9taWMgaW5jcmVtZW50LCBgbWZfcGFyYW1zLSZndDtwYWNrZXRfaWQgPSBjcHVfdG9fbGUzMihhdG9taWNfaW5jX3JldHVybigmYW1wO2JyY21mX2N5d19tZ210X3R4X2lkKSk7YC4gVGhpcyBzaWduYWxzIGEgcG90ZW50aWFsIGZpeCBmb3IgYSByYWNlIGNvbmRpdGlvbiBvciBhIG1vcmUgcm9idXN0IHBhY2tldCBpZGVudGlmaWNhdGlvbiBzeXN0ZW0sIG1vdmluZyBmcm9tIGEgbGlrZWx5IHNoYXJlZCBvciBleHRlcm5hbCBjb29raWUgdG8gYSBwZXItZnVuY3Rpb24gYXRvbWljIGNvdW50ZXIuCgpJbiBgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGhgLCB0aGV5JiMzOTt2ZSBpbml0aWFsaXplZCBgYXV0aF9zdGF0dXNgIHRvIGFuIGVtcHR5IHN0cnVjdHVyZSBhbmQgYXJlIGNvcHlpbmcgdGhlIFBNS0lEIGZyb20gYHBhcmFtc2AgdG8gYGF1dGhfc3RhdHVzLnBta2lkYCBpZiB0aGUgUE1LSUQgaXNuJiMzOTt0IG51bGwuIEEgc3RhbmRhcmQgaW5pdGlhbGl6YXRpb24gb2YgdmFyaWFibGVzIHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzIG9yIHVuZGVmaW5lZCBiZWhhdmlvci4KCk5vdywgdGhlIGludGVyZXN0aW5nIHF1ZXN0aW9uIGlzOiBjYW4gSSB0cmlnZ2VyIHRoaXMgY29kZSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50PyBUaGlzIGlzIGEgYGJyY21mbWFjYCBCcm9hZGNvbSB3aXJlbGVzcyBkcml2ZXIsIHNvIG15IGZpcnN0IGluc3RpbmN0IGlzIHRoYXQgaXQmIzM5O3MgZ29pbmcgdG8gYmUgdHJpY2t5LiBUaGVzZSBraW5kcyBvZiBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXJzIG9mdGVuIHJlbHkgb24gZGlyZWN0IGhhcmR3YXJlIGludGVyYWN0aW9uLCB3aGljaCBpc24mIzM5O3QgYWx3YXlzIGF2YWlsYWJsZSBpbiBhIHZpcnR1YWwgbWFjaGluZSB1bmxlc3Mgd2UmIzM5O3JlIHRhbGtpbmcgYWJvdXQgZW11bGF0ZWQgaGFyZHdhcmUuIEhvd2V2ZXIsIGBicmNtZm1hY2Agc3VwcG9ydHMgU0RJTywgVVNCLCBhbmQgUENJRS4gU2luY2UgVVNCIGhhcyB0aGUgaGlnaGVzdCBwb3RlbnRpYWwgZm9yIHNvZnR3YXJlIGVtdWxhdGlvbiwgdGhlIHByZXNlbmNlIG9mIFVTQiBzdXBwb3J0IGlzIGdvb2QgbmV3cy4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBgYnJjbWZtYWNgIGhhcyBVU0Igc3VwcG9ydC4gTGV0IG1lIGNoZWNrLi4uIEFoLCB5ZXMsIGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvdXNiLmNgIGV4aXN0cy4gR29vZC4gVVNCIGRldmljZXMgY2FuIGJlIGVtdWxhdGVkIGJ5IHN5emthbGxlciB2aWEgYSBVU0IgZ2FkZ2V0IChgZHVtbXlfaGNkYCkuIE5vdywgSSBqdXN0IG5lZWQgdG8gdmVyaWZ5IHRoYXQgYGJyY21mX2N5d19tZ210X3R4YCBpcyByZWFjaGFibGUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnJjbWZfY3l3X21nbXRfdHgmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyNjpzdGF0aWMgYXRvbWljX3QgYnJjbWZfY3l3X21nbXRfdHhfaWQgPSBBVE9NSUNfSU5JVCgwKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTI3LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTEwMz1zdGF0aWNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjEwNDppbnQgYnJjbWZfY3l3X21nbXRfdHgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTEwNS1cdFx0ICAgICAgc3RydWN0IGNmZzgwMjExX21nbXRfdHhfcGFyYW1zICpwYXJhbXMsIHU2NCAqY29va2llKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTE1OS1cdG1lbWNweShcdTAwMjZtZl9wYXJhbXMtXHUwMDNlYnNzaWRbMF0sIFx1MDAyNm1nbXQtXHUwMDNlYnNzaWRbMF0sIEVUSF9BTEVOKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjE2MDpcdG1mX3BhcmFtcy1cdTAwM2VwYWNrZXRfaWQgPSBjcHVfdG9fbGUzMihhdG9taWNfaW5jX3JldHVybihcdTAwMjZicmNtZl9jeXdfbWdtdF90eF9pZCkpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMTYxLVx0bWVtY3B5KG1mX3BhcmFtcy1cdTAwM2VkYXRhLCBcdTAwMjZidWZbRE9UMTFfTUdNVF9IRFJfTEVOXSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0yMzY9c3RhdGljIHZvaWQgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTIzNy17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyMzg6XHRkcnZyLVx1MDAzZW9wcy1cdTAwM2VtZ210X3R4ID0gYnJjbWZfY3l3X21nbXRfdHg7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yMzktXHRkcnZyLVx1MDAzZW9wcy1cdTAwM2VleHRlcm5hbF9hdXRoID0gYnJjbWZfY3l3X2V4dGVybmFsX2F1dGg7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDAwMwoJCQkJCQkJb3V0cHV0OiAzMQoJCQkJCQkJdGhvdWdodHM6IDEwMwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipFeGFtaW5pbmcgdGhlIEJSQ01GIENvbmZpZ3VyYXRpb24gT3BlcmF0aW9ucyoqCgpPa2F5LCBzbyBJJiMzOTttIGRpZ2dpbmcgaW50byBob3cgdGhlIEJyb2FkY29tIGZpcm13YXJlIGludGVyYWN0cyB3aXRoIHRoZSBjZmc4MDIxMSB3aXJlbGVzcyBzdGFjay4gSSBzZWUgdGhhdCB0aGUgYGJyY21mX2N5d19tZ210X3R4YCBmdW5jdGlvbiBpcyBiZWluZyBhc3NpZ25lZCBhcyB0aGUgYGRydnItJmd0O29wcy0mZ3Q7bWdtdF90eGAgaGFuZGxlciwgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAgaXMgYXNzaWduZWQgdG8gYGRydnItJmd0O29wcy0mZ3Q7ZXh0ZXJuYWxfYXV0aGAuIFRoaXMgaXMgc3RhbmRhcmQgcHJhY3RpY2UgZm9yIHByb3ZpZGluZyB0aGUgbmVjZXNzYXJ5IGNhbGxiYWNrcyBmb3IgbWFuYWdlbWVudCBmcmFtZSB0cmFuc21pc3Npb24gYW5kIGV4dGVybmFsIGF1dGhlbnRpY2F0aW9uIHdpdGhpbiB0aGUgZHJpdmVyLgoKTm93LCBJIHVuZGVyc3RhbmQgdGhhdCBgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHNgIGlzIHRoZSBrZXkgZnVuY3Rpb24gdG8gZ2V0IHRoZXNlIG9wZXJhdGlvbnMsIHNvIEkgcmVhbGx5IG5lZWQgdG8gdHJhY2UgZG93biB3aGVyZSAqdGhhdCogaXMgYmVpbmcgY2FsbGVkLiBUaGF0JiMzOTtzIHdoZXJlIHRoZSBpbnRlcmVzdGluZyBzdHVmZiB1c3VhbGx5IGlzLiBMZXQmIzM5O3Mgc2VlIHdoZXJlIHRoYXQgaXMgdXNlZCwgYW5kIGhvdyB0aGVzZSBmdW5jdGlvbnMgZ2V0IGludm9rZWQgaW4gYSBydW5uaW5nIHN5c3RlbS4gTGV0JiMzOTtzIGZpZ3VyZSBvdXQgdGhlIG9wZXJhdGlvbmFsIGZsb3cuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MjAwPWJyY21mX2N5d19leHRlcm5hbF9hdXRoKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjM1LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MjM2OnN0YXRpYyB2b2lkIGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yMzcte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTM3MD1jb25zdCBzdHJ1Y3QgYnJjbWZfZnd2aWRfb3BzIGJyY21mX2N5d19vcHMgPSB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzczLVx0LmFjdGl2YXRlX2V2ZW50cyA9IGJyY21mX2N5d19hY3RpdmF0ZV9ldmVudHMsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzozNzQ6XHQuZ2V0X2NmZzgwMjExX29wcyA9IGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzc1LVx0LnJlZ2lzdGVyX2V2ZW50X2hhbmRsZXJzID0gYnJjbWZfY3l3X3JlZ2lzdGVyX2V2ZW50X2hhbmRsZXJzLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjAzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ3NzYKCQkJCQkJCW91dHB1dDogMjIKCQkJCQkJCXRob3VnaHRzOiA0MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgc3VtbWFyaXplZCBmcm9tIG15IHBlcnNwZWN0aXZlIGFzIGFuIGV4cGVydCBpbiB0aGUgZmllbGQ6CgoqKkFuYWx5emluZyB0aGUgYnJjbWZfY3l3X29wcyBTdHJ1Y3R1cmUqKgoKUmlnaHQsIHNvIGBicmNtZl9jeXdfb3BzYCBpcyBkZWZpbmVkIGFzIGEgYGJyY21mX2Z3dmlkX29wc2AuIFRoYXQgaW1tZWRpYXRlbHkgdGVsbHMgbWUgaXQmIzM5O3MgbGlrZWx5IGEgc3RydWN0dXJlIGNvbnRhaW5pbmcgZnVuY3Rpb24gcG9pbnRlcnMgcmVsYXRlZCB0byBmaXJtd2FyZSB2aWRlbyBvcGVyYXRpb25zIHdpdGhpbiB0aGUgQnJvYWRjb20gV2ktRmkgZHJpdmVyIGZyYW1ld29yay4gTXkgbmV4dCBzdGVwIGlzIGNsZWFyOiBJIG5lZWQgdG8gdHJhY2UgdGhlIHVzYWdlIG9mIGBicmNtZl9jeXdfb3BzYCB3aXRoaW4gdGhlIGNvZGViYXNlLiBVbmRlcnN0YW5kaW5nIHdoZXJlIHRoaXMgc3RydWN0dXJlIGlzIGluc3RhbnRpYXRlZCBhbmQsIG1vcmUgaW1wb3J0YW50bHksICpob3cqIGl0cyBmdW5jdGlvbiBwb2ludGVycyBhcmUgdXRpbGl6ZWQgd2lsbCBiZSBjcml0aWNhbCB0byBncmFzcGluZyBpdHMgcm9sZSBpbiB0aGUgZHJpdmVyJiMzOTtzIG92ZXJhbGwgb3BlcmF0aW9uLiBJIHdhbnQgdG8gc2VlIGhvdyB0aGVzZSBmaXJtd2FyZSB2aWRlbyBvcGVyYXRpb25zIGFyZSBiZWluZyBsZXZlcmFnZWQuIEFyZSB0aGV5IGludm9sdmVkIGluIGNhcHR1cmluZywgcHJvY2Vzc2luZywgb3IgdHJhbnNtaXR0aW5nIHZpZGVvIGRhdGEgb3ZlciBXaS1GaT8gQXJlIHRoZXJlIGFueSBkYXRhIGZsb3dzIGludm9sdmVkIHRoYXQgSSBzaG91bGQgYmUgYXdhcmUgb2Y/IFRoaXMgd2lsbCBoZWxwIG1lIGRldmVsb3AgbXkgZnVsbCB1bmRlcnN0YW5kaW5nLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjAzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2JyY21mX2N5d19vcHMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MzU4PXN0YXRpYyB2b2lkIGJyY21mX2N5d19yZWdpc3Rlcl9ldmVudF9oYW5kbGVycyhzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM2OS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjM3MDpjb25zdCBzdHJ1Y3QgYnJjbWZfZnd2aWRfb3BzIGJyY21mX2N5d19vcHMgPSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNzEtXHQuc2V0X3NhZV9wYXNzd29yZCA9IGJyY21mX2N5d19zZXRfc2FlX3B3ZCxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L21vZHVsZS5jPTEyPXN0YXRpYyBpbnQgX19pbml0IGJyY21mX2N5d19pbml0KHZvaWQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9tb2R1bGUuYy0xNC1cdHJldHVybiBicmNtZl9md3ZpZF9yZWdpc3Rlcl92ZW5kb3IoQlJDTUZfRldWRU5ET1JfQ1lXLCBUSElTX01PRFVMRSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvbW9kdWxlLmM6MTU6XHRcdFx0XHRcdCAgIFx1MDAyNmJyY21mX2N5d19vcHMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9tb2R1bGUuYy0xNi19XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy92b3BzLmgtNy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvdm9wcy5oOjg6ZXh0ZXJuIGNvbnN0IHN0cnVjdCBicmNtZl9md3ZpZF9vcHMgYnJjbWZfY3l3X29wcztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvdm9wcy5oOjk6I2RlZmluZSBDWVdfVk9QU1x0KFx1MDAyNmJyY21mX2N5d19vcHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L3ZvcHMuaC0xMC1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowMzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA1NjI1CgkJCQkJCQlvdXRwdXQ6IDIxCgkJCQkJCQl0aG91Z2h0czogMTMwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFuYWx5c2lzIG9mIHRoZSBgYnJjbWZtYWNgIERyaXZlcioqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBgQlJDTUZfRldWRU5ET1JfQ1lXYCByZWdpc3RyYXRpb24sIHdoaWNoIGlzIGNsZWFybHkgbGlua2luZyB1cCB0aGUgZmlybXdhcmUgdmVuZG9yIGluZm9ybWF0aW9uIHdpdGggdGhlIGBicmNtZl9jeXdfb3BzYCBvcGVyYXRpb25zLiBUaGF0IG1ha2VzIHNlbnNlLCBzdGFuZGFyZCBkcml2ZXIgaW5pdGlhbGl6YXRpb24uCgpOb3csIG15IG1pbmQgc3RhcnRzIHJhY2luZyB0b3dhcmRzIGZ1enppbmcuIEkgcmVjYWxsIHRoYXQgdGhlIGBicmNtZm1hY2AgZHJpdmVyIGhhcyBhIGZldyBhdHRhY2sgc3VyZmFjZXMuIEkgY2FuIHRyeSB0aGUgdXN1YWwgc3VzcGVjdHM6IFVTQiBnYWRnZXQgc2V0dXAgb3IgZXZlbiBgbWFjODAyMTFfaHdzaW1gLiBCdXQgd2FpdCwgdGhhdCBsYXN0IG9uZSBpcyB0cmlja3kgc2luY2UgYGJyY21mbWFjYCBpcyBhICpmdWxsbWFjKiBkcml2ZXIsIHNvIGl0IHVzZXMgYGNmZzgwMjExYCBkaXJlY3RseSBhbmQgbm90IGBtYWM4MDIxMWAuIFNvIGBod3NpbWAgaXMgbm90IHRoZSBiZXN0IGFwcHJvYWNoLi4uCgpUaGVuIGl0IGhpdHMgbWUhIGBicmNtZm1hY2AgKmRvZXMqIGhhdmUgYSBVU0IgaW50ZXJmYWNlISBBaGEhIFN5emthbGxlciEgV2UgY2FuIHByb2JhYmx5IHRhcmdldCBpdCB1c2luZyBgZHVtbXlfaGNkYC4gVGhhdCBzaG91bGQgb3BlbiBhIGp1aWN5IGF0dGFjayBzdXJmYWNlISBJJiMzOTtsbCBxdWlja2x5IGNoZWNrIGlmIGBCUkNNRk1BQ19VU0JgIGlzIGV2ZW4gZW5hYmxlZCBpbiB0aGUgY29uZmlnLiBUaGF0JiMzOTtzIHRoZSBuZXh0IGxvZ2ljYWwgc3RlcC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIEJSQ01GTUFDX1VTQiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZz0xNz1jb25maWcgQlJDTUZNQUNfU0RJT1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTI4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6Mjk6Y29uZmlnIEJSQ01GTUFDX1VTQlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMzAtXHRib29sIFwmIzM0O1VTQiBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjA0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDYxODMKCQkJCQkJCW91dHB1dDogMTkKCQkJCQkJCXRob3VnaHRzOiAxMTMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBCUkNNRk1BQ19VU0IgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7dmUgY29uZmlybWVkIHRoYXQgYEJSQ01GTUFDX1VTQmAgaXMgZGVmaW5pdGVseSBhIHRoaW5nLCBnb29kIHN0YXJ0LiBOb3csIGxldCYjMzk7cyBkaXZlIGludG8gdGhlIGNvcmUgb2YgdGhpcyBwYXRjaC4gSXQgbG9va3MgbGlrZSBpdCYjMzk7cyB0b3VjaGluZyBgYnJjbWZfY3l3X21nbXRfdHhgIGFuZCBgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGhgLiBSaWdodCwgdGhvc2UgZnVuY3Rpb25zIGFyZSBjYWxsZWQgYnkgYGNmZzgwMjExYCwgdGhlIHN0YW5kYXJkIHdpcmVsZXNzIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlLCBzcGVjaWZpY2FsbHkgZHVyaW5nIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBwcm9jZWR1cmVzLCB3aGljaCBtYWtlcyBzZW5zZS4gSG1tLCBgYnJjbWZfY3l3X21nbXRfdHhgIGlzIGJlaW5nIGFzc2lnbmVkIHRvIGBkcnZyLSZndDtvcHMtJmd0O21nbXRfdHhgLiBUaGlzIGlzIGludGVyZXN0aW5nOyBgZHJ2cmAgaXMgbGlrZWx5IHRoZSBkcml2ZXIgY29udGV4dCBhbmQgYG9wc2AgaXMgdGhlIGRyaXZlciBvcGVyYXRpb24gc3RydWN0dXJlLiBTbywgdGhpcyBwYXRjaCBpcyBlc3NlbnRpYWxseSBpbmplY3RpbmcgYSBjdXN0b20gbWdtdF90eCBoYW5kbGVyLiBUaGUgY3J1Y2lhbCBuZXh0IHN0ZXAgaXMgdG8gZmlndXJlIG91dCAqd2hlcmUqIHRoYXQgYGRydnItJmd0O29wcy0mZ3Q7bWdtdF90eGAgZnVuY3Rpb24gaXMgYWN0dWFsbHkgYmVpbmcgKnVzZWQqLiBUaGF0JiMzOTtzIHdoZXJlIHRoZSByZWFsIGltcGFjdCBvZiB0aGlzIGNoYW5nZSB3aWxsIGJlIHJldmVhbGVkLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtvcHMtXHUwMDNlbWdtdF90eCYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0yMzY9c3RhdGljIHZvaWQgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTIzNy17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyMzg6XHRkcnZyLVx1MDAzZW9wcy1cdTAwM2VtZ210X3R4ID0gYnJjbWZfY3l3X21nbXRfdHg7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yMzktXHRkcnZyLVx1MDAzZW9wcy1cdTAwM2VleHRlcm5hbF9hdXRoID0gYnJjbWZfY3l3X2V4dGVybmFsX2F1dGg7XG4tLVxubmV0L3dpcmVsZXNzL21sbWUuYz04NTI9aW50IGNmZzgwMjExX21sbWVfbWdtdF90eChzdHJ1Y3QgY2ZnODAyMTFfcmVnaXN0ZXJlZF9kZXZpY2UgKnJkZXYsXG4tLVxubmV0L3dpcmVsZXNzL21sbWUuYy04NjMtXG5uZXQvd2lyZWxlc3MvbWxtZS5jOjg2NDpcdGlmICghcmRldi1cdTAwM2VvcHMtXHUwMDNlbWdtdF90eClcbm5ldC93aXJlbGVzcy9tbG1lLmMtODY1LVx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4tLVxubmV0L3dpcmVsZXNzL25sODAyMTEuYz0xNDUzMj1zdGF0aWMgaW50IG5sODAyMTFfcmVnaXN0ZXJfbWdtdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuLS1cbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMTQ1NzEtXHQvKiBub3QgbXVjaCBwb2ludCBpbiByZWdpc3RlcmluZyBpZiB3ZSBjYW4mIzM5O3QgcmVwbHkgKi9cbm5ldC93aXJlbGVzcy9ubDgwMjExLmM6MTQ1NzI6XHRpZiAoIXJkZXYtXHUwMDNlb3BzLVx1MDAzZW1nbXRfdHgpXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE0NTczLVx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4tLVxubmV0L3dpcmVsZXNzL25sODAyMTEuYz0xNDU5MD1zdGF0aWMgaW50IG5sODAyMTFfdHhfbWdtdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuLS1cbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMTQ2MDYtXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jOjE0NjA3Olx0aWYgKCFyZGV2LVx1MDAzZW9wcy1cdTAwM2VtZ210X3R4KVxubmV0L3dpcmVsZXNzL25sODAyMTEuYy0xNDYwOC1cdFx0cmV0dXJuIC1FT1BOT1RTVVBQO1xuLS1cbm5ldC93aXJlbGVzcy9ubDgwMjExLmM9MTQ3MzU9c3RhdGljIGludCBubDgwMjExX3R4X21nbXRfY2FuY2VsX3dhaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbi0tXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE0NzQzLVxubmV0L3dpcmVsZXNzL25sODAyMTEuYzoxNDc0NDpcdGlmICghcmRldi1cdTAwM2VvcHMtXHUwMDNlbWdtdF90eF9jYW5jZWxfd2FpdClcbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMTQ3NDUtXHRcdHJldHVybiAtRU9QTk9UU1VQUDtcbi0tXG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaD03NjE9c3RhdGljIGlubGluZSBpbnQgcmRldl9tZ210X3R4KHN0cnVjdCBjZmc4MDIxMV9yZWdpc3RlcmVkX2RldmljZSAqcmRldixcbi0tXG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaC03NjctXHR0cmFjZV9yZGV2X21nbXRfdHgoXHUwMDI2cmRldi1cdTAwM2V3aXBoeSwgd2RldiwgcGFyYW1zKTtcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oOjc2ODpcdHJldCA9IHJkZXYtXHUwMDNlb3BzLVx1MDAzZW1nbXRfdHgoXHUwMDI2cmRldi1cdTAwM2V3aXBoeSwgd2RldiwgcGFyYW1zLCBjb29raWUpO1xubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmgtNzY5LVx0dHJhY2VfcmRldl9yZXR1cm5faW50X2Nvb2tpZShcdTAwMjZyZGV2LVx1MDAzZXdpcGh5LCByZXQsICpjb29raWUpO1xuLS1cbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oPTc5Mz1yZGV2X21nbXRfdHhfY2FuY2VsX3dhaXQoc3RydWN0IGNmZzgwMjExX3JlZ2lzdGVyZWRfZGV2aWNlICpyZGV2LFxuLS1cbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oLTc5Ny1cdHRyYWNlX3JkZXZfbWdtdF90eF9jYW5jZWxfd2FpdChcdTAwMjZyZGV2LVx1MDAzZXdpcGh5LCB3ZGV2LCBjb29raWUpO1xubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmg6Nzk4Olx0cmV0ID0gcmRldi1cdTAwM2VvcHMtXHUwMDNlbWdtdF90eF9jYW5jZWxfd2FpdChcdTAwMjZyZGV2LVx1MDAzZXdpcGh5LCB3ZGV2LCBjb29raWUpO1xubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmgtNzk5LVx0dHJhY2VfcmRldl9yZXR1cm5faW50KFx1MDAyNnJkZXYtXHUwMDNld2lwaHksIHJldCk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjA0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDc2MjIKCQkJCQkJCW91dHB1dDogMjAKCQkJCQkJCXRob3VnaHRzOiA0NwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgbGV0JiMzOTtzIHNlZS4uLgoKKipWZXJpZnlpbmcgdGhlIERyaXZlciYjMzk7cyBjZmc4MDIxMSBPcGVyYXRpb25zKioKClJpZ2h0LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgYGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzYCwgYW5kIGl0JiMzOTtzIGtleSB0aGF0IGBkcnZyLSZndDtvcHNgIGhlcmUgaXMgYWN0dWFsbHkgcG9pbnRpbmcgdG8gYSBgc3RydWN0IGNmZzgwMjExX29wc2AuIEkgbmVlZCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4gYWJvdXQgdGhpcyBiZWZvcmUgcHJvY2VlZGluZy4gQSBtaXN0YWtlIGhlcmUgd291bGQgYmUgYSBuaWdodG1hcmUgdG8gZGVidWcgbGF0ZXIuIEkmIzM5O2xsIHRha2UgYSBtb21lbnQgdG8gY29uZmlybSB0aGF0IHRoaXMgc3RydWN0dXJlIGFzc2lnbm1lbnQgaXMgaW5kZWVkIHdoYXQgSSBleHBlY3QuIEkgbmVlZCB0byB0cnVzdCBidXQgdmVyaWZ5IC0gbGV0JiMzOTtzIGVuc3VyZSB0aGUgZGF0YSBzdHJ1Y3R1cmVzIGFyZSBhbGlnbmVkIGFzIHRoZSBjb2RlIGNsYWltcyB0aGV5IGFyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3RydWN0IGJyY21mX3B1YiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgMTUyOCBsaW5lcy5cblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cblxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjYS9jb3JlLmM9MTY9c3RhdGljIHZvaWQgYnJjbWZfYmNhX2ZlYXRfYXR0YWNoKHN0cnVjdCBicmNtZl9pZiAqaWZwKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2EvY29yZS5jLTIxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjYS9jb3JlLmM6MjI6c3RhdGljIGludCBicmNtZl9iY2FfYWxsb2NfZndlaF9pbmZvKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNhL2NvcmUuYy0yMy17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz05Mj1zdHJ1Y3QgYnJjbWZfYmNkYyB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0xMDAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjEwMTpzdHJ1Y3QgYnJjbWZfZndzX2luZm8gKmRydnJfdG9fZndzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTEwMi17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0xMDg9c3RhdGljIGludFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzoxMDk6YnJjbWZfcHJvdG9fYmNkY19tc2coc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgaW50IGlmaWR4LCB1aW50IGNtZCwgdm9pZCAqYnVmLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0xMTAtXHRcdCAgICAgdWludCBsZW4sIGJvb2wgc2V0KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMTM5LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzoxNDA6c3RhdGljIGludCBicmNtZl9wcm90b19iY2RjX2NtcGx0KHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIHUzMiBpZCwgdTMyIGxlbilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMTQxLXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jPTE1Nz1zdGF0aWMgaW50XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjE1ODpicmNtZl9wcm90b19iY2RjX3F1ZXJ5X2RjbWQoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgaW50IGlmaWR4LCB1aW50IGNtZCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMTU5LVx0XHRcdCAgICB2b2lkICpidWYsIHVpbnQgbGVuLCBpbnQgKmZ3ZXJyKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9MjE1PXN0YXRpYyBpbnRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6MjE2OmJyY21mX3Byb3RvX2JjZGNfc2V0X2RjbWQoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgaW50IGlmaWR4LCB1aW50IGNtZCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMjE3LVx0XHRcdCAgdm9pZCAqYnVmLCB1aW50IGxlbiwgaW50ICpmd2Vycilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jPTI1Nj1zdGF0aWMgdm9pZFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzoyNTc6YnJjbWZfcHJvdG9fYmNkY19oZHJwdXNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCwgdTggb2Zmc2V0LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0yNTgtXHRcdFx0IHN0cnVjdCBza19idWZmICpwa3RidWYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0yODA9c3RhdGljIGludFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzoyODE6YnJjbWZfcHJvdG9fYmNkY19oZHJwdWxsKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGJvb2wgZG9fZndzLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0yODItXHRcdFx0IHN0cnVjdCBza19idWZmICpwa3RidWYsIHN0cnVjdCBicmNtZl9pZiAqKmlmcClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTMzMi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6MzMzOnN0YXRpYyBpbnQgYnJjbWZfcHJvdG9fYmNkY190eF9xdWV1ZV9kYXRhKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMzM0LVx0XHRcdFx0XHQgIHN0cnVjdCBza19idWZmICpza2IpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0zNDU9c3RhdGljIGludFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzozNDY6YnJjbWZfcHJvdG9fYmNkY190eGRhdGEoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgaW50IGlmaWR4LCB1OCBvZmZzZXQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTM0Ny1cdFx0XHRzdHJ1Y3Qgc2tfYnVmZiAqcGt0YnVmKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9MzUzPXZvaWQgYnJjbWZfcHJvdG9fYmNkY190eGZsb3dibG9jayhzdHJ1Y3QgZGV2aWNlICpkZXYsIGJvb2wgc3RhdGUpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0zNTUtXHRzdHJ1Y3QgYnJjbWZfYnVzICpidXNfaWYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6MzU2Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGJ1c19pZi1cdTAwM2VkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0zNTctXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0zODI9c3RhdGljIHZvaWRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6MzgzOmJyY21mX3Byb3RvX2JjZGNfY29uZmlndXJlX2FkZHJfbW9kZShzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLCBpbnQgaWZpZHgsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTM4NC1cdFx0XHRcdCAgICAgZW51bSBwcm90b19hZGRyX21vZGUgYWRkcl9tb2RlKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9Mzg4PXN0YXRpYyB2b2lkXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjM4OTpicmNtZl9wcm90b19iY2RjX2RlbGV0ZV9wZWVyKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMzkwLVx0XHRcdCAgICAgdTggcGVlcltFVEhfQUxFTl0pXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0zOTQ9c3RhdGljIHZvaWRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6Mzk1OmJyY21mX3Byb3RvX2JjZGNfYWRkX3RkbHNfcGVlcihzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLCBpbnQgaWZpZHgsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTM5Ni1cdFx0XHQgICAgICAgdTggcGVlcltFVEhfQUxFTl0pXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz00MjQ9c3RhdGljIGludFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzo0MjU6YnJjbWZfcHJvdG9fYmNkY19pbml0X2RvbmUoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtNDI2LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTQzNy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6NDM4OnN0YXRpYyB2b2lkIGJyY21mX3Byb3RvX2JjZGNfZGVidWdmc19jcmVhdGUoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtNDM5LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTQ0Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6NDQzOmludCBicmNtZl9wcm90b19iY2RjX2F0dGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy00NDQte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtNDgyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzo0ODM6dm9pZCBicmNtZl9wcm90b19iY2RjX2RldGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy00ODQte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmgtOC0jaWZkZWYgQ09ORklHX0JSQ01GTUFDX1BST1RPX0JDRENcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmg6OTppbnQgYnJjbWZfcHJvdG9fYmNkY19hdHRhY2goc3RydWN0IGJyY21mX3B1YiAqZHJ2cik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oOjEwOnZvaWQgYnJjbWZfcHJvdG9fYmNkY19kZXRhY2goc3RydWN0IGJyY21mX3B1YiAqZHJ2cik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oLTExLXZvaWQgYnJjbWZfcHJvdG9fYmNkY190eGZsb3dibG9jayhzdHJ1Y3QgZGV2aWNlICpkZXYsIGJvb2wgc3RhdGUpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuaD0xMj12b2lkIGJyY21mX3Byb3RvX2JjZGNfdHhjb21wbGV0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICp0eHAsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oLTEzLVx0XHRcdFx0IGJvb2wgc3VjY2Vzcyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oOjE0OnN0cnVjdCBicmNtZl9md3NfaW5mbyAqZHJ2cl90b19md3Moc3RydWN0IGJyY21mX3B1YiAqZHJ2cik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oLTE1LSNlbHNlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oOjE2OnN0YXRpYyBpbmxpbmUgaW50IGJyY21mX3Byb3RvX2JjZGNfYXR0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpIHsgcmV0dXJuIDA7IH1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmg6MTc6c3RhdGljIGlubGluZSB2b2lkIGJyY21mX3Byb3RvX2JjZGNfZGV0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpIHt9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oLTE4LSNlbmRpZlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9idXMuaD0xNjU9c3RydWN0IGJyY21mX2J1cyB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2J1cy5oLTE3Mi1cdHN0cnVjdCBkZXZpY2UgKmRldjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9idXMuaDoxNzM6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2J1cy5oLTE3NC1cdGVudW0gYnJjbWZfYnVzX3N0YXRlIHN0YXRlO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTU0Nz1zZW5kX2tleV90b19kb25nbGUoc3RydWN0IGJyY21mX2lmICppZnAsIHN0cnVjdCBicmNtZl93c2VjX2tleSAqa2V5KVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTQ4LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjU0OTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU1MC1cdGludCBlcnI7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTY2PWJyY21mX2NmZzgwMjExX3VwZGF0ZV9wcm90b19hZGRyX21vZGUoc3RydWN0IHdpcmVsZXNzX2RldiAqd2Rldilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODMtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1ODQ6c3RhdGljIGludCBicmNtZl9nZXRfZmlyc3RfZnJlZV9ic3NjZmdpZHgoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU4NS17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NzA2PXN0YXRpYyBpbnQgYnJjbWZfY2ZnODAyMTFfcmVxdWVzdF9hcF9pZihzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy03MTEtXHR1MzIgaWZhY2VfY3JlYXRlX3ZlcjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjcxMjpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcxMy1cdHN0cnVjdCBicmNtZl9tYnNzX3NzaWRfbGUgbWJzc19zc2lkX2xlO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTgyMD1zdHJ1Y3Qgd2lyZWxlc3NfZGV2ICpicmNtZl9hcHN0YV9hZGRfdmlmKHN0cnVjdCB3aXBoeSAqd2lwaHksIGNvbnN0IGNoYXIgKm5hbWUsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtODI1LVx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihjZmdfdG9fbmRldihjZmcpKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjgyNjpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtODI3LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTk3Nz1zdGF0aWMgc3RydWN0IHdpcmVsZXNzX2RldiAqYnJjbWZfY2ZnODAyMTFfYWRkX2lmYWNlKHN0cnVjdCB3aXBoeSAqd2lwaHksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtOTgzLVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo5ODQ6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTk4NS1cdHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXY7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTAzMT12b2lkIGJyY21mX3NldF9tcGMoc3RydWN0IGJyY21mX2lmICppZnAsIGludCBtcGMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xMDMyLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjEwMzM6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xMDM0LVx0czMyIGVyciA9IDA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTE4Mz1zMzIgYnJjbWZfbm90aWZ5X2VzY2FuX2NvbXBsZXRlKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTE4Ni17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxMTg3Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xMTg4LVx0c3RydWN0IGJyY21mX3NjYW5fcGFyYW1zX3YyX2xlIHBhcmFtc192Ml9sZTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xMjYzPXN0YXRpYyBpbnQgYnJjbWZfY2ZnODAyMTFfZGVsX2Fwc3RhX2lmYWNlKHN0cnVjdCB3aXBoeSAqd2lwaHksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTI2OC1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxMjY5Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xMjcwLVx0aW50IHJldDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xMzQyPWJyY21mX2NmZzgwMjExX2NoYW5nZV9pZmFjZShzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xMzQ4LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmID0gaWZwLVx1MDAzZXZpZjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjEzNDk6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTEzNTAtXHRzMzIgaW5mcmEgPSAwO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTE0NDI9YnJjbWZfcnVuX2VzY2FuKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcsIHN0cnVjdCBicmNtZl9pZiAqaWZwLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE0NDQte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTQ0NTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTQ0Ni1cdHMzMiBwYXJhbXNfc2l6ZSA9IEJSQ01GX1NDQU5fUEFSQU1TX1YyX0ZJWEVEX1NJWkUgJiM0Mztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xNTMwPWJyY21mX2NmZzgwMjExX3NjYW4oc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IGNmZzgwMjExX3NjYW5fcmVxdWVzdCAqcmVxdWVzdClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNTMyLVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxNTMzOlx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNTM0LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTE1OTg9c3RhdGljIHMzMiBicmNtZl9zZXRfcnRzKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LCB1MzIgcnRzX3RocmVzaG9sZClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNjAwLVx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjE2MDE6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNjAyLVx0czMyIGVyciA9IDA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTYxMT1zdGF0aWMgczMyIGJyY21mX3NldF9mcmFnKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LCB1MzIgZnJhZ190aHJlc2hvbGQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTYxMy1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxNjE0Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cdTAwM2VkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTYxNS1cdHMzMiBlcnIgPSAwO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTE2MjU9c3RhdGljIHMzMiBicmNtZl9zZXRfcmV0cnkoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsIHUzMiByZXRyeSwgYm9vbCBsKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE2MjctXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KG5kZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTYyODpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE2MjktXHRzMzIgZXJyID0gMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xNzA5PWludCBicmNtZl9zZXRfd3NlYyhzdHJ1Y3QgYnJjbWZfaWYgKmlmcCwgY29uc3QgdTggKmtleSwgdTE2IGtleV9sZW4sIHUxNiBmbGFncylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE3MTAte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTcxMTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE3MTItXHRzdHJ1Y3QgYnJjbWZfd3NlY19wbWtfbGUgcG1rO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTE3NDQ9c3RhdGljIHZvaWQgYnJjbWZfbGlua19kb3duKHN0cnVjdCBicmNtZl9jZmc4MDIxMV92aWYgKnZpZiwgdTE2IHJlYXNvbixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNzQ3LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh2aWYtXHUwMDNld2Rldi53aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxNzQ4Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNzQ5LVx0Ym9vbCBidXNfdXAgPSBkcnZyLVx1MDAzZWJ1c19pZi1cdTAwM2VzdGF0ZSA9PSBCUkNNRl9CVVNfVVA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTc4Mz1icmNtZl9jZmc4MDIxMV9qb2luX2lic3Moc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTc4OC1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gXHUwMDI2aWZwLVx1MDAzZXZpZi1cdTAwM2Vwcm9maWxlO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTc4OTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTc5MC1cdHN0cnVjdCBicmNtZl9qb2luX3BhcmFtcyBqb2luX3BhcmFtcztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xOTU2PXN0YXRpYyBzMzIgYnJjbWZfc2V0X3dwYV92ZXJzaW9uKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE5NjAtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfcHJvZmlsZSAqcHJvZmlsZSA9IG5kZXZfdG9fcHJvZihuZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjE5NjE6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xOTYyLVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3NlY3VyaXR5ICpzZWM7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTk5MD1zdGF0aWMgczMyIGJyY21mX3NldF9hdXRoX3R5cGUoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTk5NC1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gbmRldl90b19wcm9mKG5kZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTk5NTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE5OTYtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfc2VjdXJpdHkgKnNlYztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yMDMwPWJyY21mX3NldF93c2VjX21vZGUoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjAzNC1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gbmRldl90b19wcm9mKG5kZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjAzNTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIwMzYtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfc2VjdXJpdHkgKnNlYztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yMTA3PWJyY21mX3NldF9rZXlfbWdtdChzdHJ1Y3QgbmV0X2RldmljZSAqbmRldiwgc3RydWN0IGNmZzgwMjExX2Nvbm5lY3RfcGFyYW1zICpzbWUpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjExMC1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gXHUwMDI2aWZwLVx1MDAzZXZpZi1cdTAwM2Vwcm9maWxlO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjExMTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIxMTItXHRzMzIgdmFsO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTIyNTI9YnJjbWZfc2V0X3NoYXJlZGtleShzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMjU1LVx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjIyNTY6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMjU3LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBuZGV2X3RvX3Byb2YobmRldik7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjMzMT1zdGF0aWMgdm9pZCBicmNtZl9zZXRfam9pbl9wcmVmKHN0cnVjdCBicmNtZl9pZiAqaWZwLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIzMzMte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjMzNDpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIzMzUtXHRzdHJ1Y3QgYnJjbWZfam9pbl9wcmVmX3BhcmFtcyBqb2luX3ByZWZfcGFyYW1zWzJdO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTIzNzc9YnJjbWZfY2ZnODAyMTFfY29ubmVjdChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMzgzLVx0c3RydWN0IGllZWU4MDIxMV9jaGFubmVsICpjaGFuID0gc21lLVx1MDAzZWNoYW5uZWw7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyMzg0Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cdTAwM2VkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjM4NS1cdHN0cnVjdCBicmNtZl9qb2luX3BhcmFtcyBqb2luX3BhcmFtcztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yNjE2PWJyY21mX2NmZzgwMjExX2Rpc2Nvbm5lY3Qoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjYyMS1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gXHUwMDI2aWZwLVx1MDAzZXZpZi1cdTAwM2Vwcm9maWxlO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjYyMjpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjYyMy1cdHN0cnVjdCBicmNtZl9zY2JfdmFsX2xlIHNjYnZhbDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yNjQ4PWJyY21mX2NmZzgwMjExX3NldF90eF9wb3dlcihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTI2NTQtXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KG5kZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjY1NTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjY1Ni1cdHMzMiBlcnI7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjcwMD1icmNtZl9jZmc4MDIxMV9nZXRfdHhfcG93ZXIoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2Rldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yNzA0LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmID0gd2Rldl90b192aWYod2Rldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyNzA1Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yNzA2LVx0czMyIHFkYm07XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjcyNj1icmNtZl9jZmc4MDIxMV9jb25maWdfZGVmYXVsdF9rZXkoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjczMC1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyNzMxOlx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cdTAwM2VkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjczMi1cdHUzMiBpbmRleDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yNzk5PWJyY21mX2NmZzgwMjExX2FkZF9rZXkoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2Rldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yODA0LVx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdih3ZGV2LVx1MDAzZW5ldGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyODA1Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yODA2LVx0c3RydWN0IGJyY21mX3dzZWNfa2V5ICprZXk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjkyMT1icmNtZl9jZmc4MDIxMV9nZXRfa2V5KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjkzMC1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gXHUwMDI2aWZwLVx1MDAzZXZpZi1cdTAwM2Vwcm9maWxlO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjkzMTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjkzMi1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9zZWN1cml0eSAqc2VjO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTI5OTU9YnJjbWZfY2ZnODAyMTFfcmVjb25maWd1cmVfd2VwKHN0cnVjdCBicmNtZl9pZiAqaWZwKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjk5Ni17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyOTk3Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cdTAwM2VkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjk5OC1cdHMzMiBlcnI7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzA0OT1zdGF0aWMgdm9pZCBicmNtZl9maWxsX2Jzc19wYXJhbShzdHJ1Y3QgYnJjbWZfaWYgKmlmcCwgc3RydWN0IHN0YXRpb25faW5mbyAqc2kpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMDUwLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjMwNTE6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMDUyLVx0c3RydWN0IHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMDg2PWJyY21mX2NmZzgwMjExX2dldF9zdGF0aW9uX2lic3Moc3RydWN0IGJyY21mX2lmICppZnAsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzA4OC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozMDg5Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cdTAwM2VkcnZyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzA5MC1cdHN0cnVjdCBicmNtZl9zY2JfdmFsX2xlIHNjYnZhbDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMTM1PWJyY21mX2NmZzgwMjExX2dldF9zdGF0aW9uKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzEzOS1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYod2Rldi1cdTAwM2VuZXRkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzE0MDpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzE0MS1cdHN0cnVjdCBicmNtZl9zY2JfdmFsX2xlIHNjYl92YWw7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzI1OD1icmNtZl9jZmc4MDIxMV9kdW1wX3N0YXRpb24oc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2Rldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMjYyLVx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdih3ZGV2LVx1MDAzZW5ldGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozMjYzOlx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMjY0LVx0czMyIGVycjtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMjk0PWJyY21mX2NmZzgwMjExX3NldF9wb3dlcl9tZ210KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTMzMDAtXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KG5kZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzMwMTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzMwMi1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMzQ1PXN0YXRpYyBzMzIgYnJjbWZfaW5mb3JtX3NpbmdsZV9ic3Moc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMzQ4LVx0c3RydWN0IHdpcGh5ICp3aXBoeSA9IGNmZ190b193aXBoeShjZmcpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzM0OTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzM1MC1cdHN0cnVjdCBjZmc4MDIxMV9ic3MgKmJzcztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zNDE4PXN0YXRpYyBzMzIgYnJjbWZfaW5mb3JtX2JzcyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzQxOS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozNDIwOlx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zNDIxLVx0c3RydWN0IGJyY21mX3NjYW5fcmVzdWx0cyAqYnNzX2xpc3Q7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzQ0Mz1zdGF0aWMgczMyIGJyY21mX2luZm9ybV9pYnNzKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzQ0Ni1cdHN0cnVjdCB3aXBoeSAqd2lwaHkgPSBjZmdfdG9fd2lwaHkoY2ZnKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjM0NDc6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM0NDgtXHRzdHJ1Y3QgaWVlZTgwMjExX2NoYW5uZWwgKm5vdGlmeV9jaGFubmVsO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTM1MjY9c3RhdGljIHMzMiBicmNtZl91cGRhdGVfYnNzX2luZm8oc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zNTI4LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjM1Mjk6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM1MzAtXHRzdHJ1Y3QgYnJjbWZfYnNzX2luZm9fbGUgKmJpID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zNTc1PXN0YXRpYyB2b2lkIGJyY21mX2VzY2FuX3RpbWVvdXQoc3RydWN0IHRpbWVyX2xpc3QgKnQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzU3OC1cdFx0XHR0aW1lcl9jb250YWluZXJfb2YoY2ZnLCB0LCBlc2Nhbl90aW1lb3V0KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjM1Nzk6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM1ODAtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzYyNz1icmNtZl9jZmc4MDIxMV9lc2Nhbl9oYW5kbGVyKHN0cnVjdCBicmNtZl9pZiAqaWZwLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM2Mjkte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzYzMDpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM2MzEtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gZHJ2ci1cdTAwM2Vjb25maWc7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9Mzg2ND1icmNtZl9ub3RpZnlfc2NoZWRfc2Nhbl9yZXN1bHRzKHN0cnVjdCBicmNtZl9pZiAqaWZwLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM4NjYte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Mzg2NzpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM4NjgtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gZHJ2ci1cdTAwM2Vjb25maWc7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9Mzk1MT1icmNtZl9jZmc4MDIxMV9zY2hlZF9zY2FuX3N0YXJ0KHN0cnVjdCB3aXBoeSAqd2lwaHksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzk1Ni1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozOTU3Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zOTU4LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQwMzk9YnJjbWZfd293bF9uZF9yZXN1bHRzKHN0cnVjdCBicmNtZl9pZiAqaWZwLCBjb25zdCBzdHJ1Y3QgYnJjbWZfZXZlbnRfbXNnICplLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQwNDEte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDA0MjpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQwNDMtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gZHJ2ci1cdTAwM2Vjb25maWc7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NDA4OT1zdGF0aWMgdm9pZCBicmNtZl9yZXBvcnRfd293bF93YWtlaW5kKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBicmNtZl9pZiAqaWZwKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQwOTEtXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gd2lwaHlfdG9fY2ZnKHdpcGh5KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQwOTI6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQwOTMtXHRzdHJ1Y3QgYnJjbWZfd293bF93YWtlaW5kX2xlIHdha2VfaW5kX2xlO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQzODY9YnJjbWZfY2ZnODAyMTFfc2V0X3Bta3NhKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQzOTEtXHRzdHJ1Y3QgYnJjbWZfcG1rc2EgKnBtayA9IFx1MDAyNmNmZy1cdTAwM2VwbWtfbGlzdC5wbWtbMF07XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo0MzkyOlx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00MzkzLVx0czMyIGVycjtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz00NDMxPWJyY21mX2NmZzgwMjExX2RlbF9wbWtzYShzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NDM2LVx0c3RydWN0IGJyY21mX3Bta3NhICpwbWsgPSBcdTAwMjZjZmctXHUwMDNlcG1rX2xpc3QucG1rWzBdO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDQzNzpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDQzOC1cdHMzMiBlcnI7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NDUwMT1zdGF0aWMgczMyIGJyY21mX2NvbmZpZ3VyZV9vcGVuc2VjdXJpdHkoc3RydWN0IGJyY21mX2lmICppZnApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NTAyLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQ1MDM6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NTA0LVx0czMyIGVycjtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz00NTQyPWJyY21mX2NvbmZpZ3VyZV93cGFpZShzdHJ1Y3QgYnJjbWZfaWYgKmlmcCxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NTQ1LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQ1NDY6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NTQ3LVx0dTMyIGF1dGggPSAwOyAvKiBkMTEgb3BlbiBhdXRoZW50aWNhdGlvbiAqL1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQ4NTc9czMyIGJyY21mX3ZpZl9zZXRfbWdtdF9pZShzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfdmlmICp2aWYsIHMzMiBwa3RmbGFnLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQ4NTkte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDg2MDpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00ODYxLVx0c3RydWN0IGJyY21mX2lmICppZnA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTA0Mz1icmNtZl9jb25maWdfYXBfbWdtdF9pZShzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfdmlmICp2aWYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTA0NS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1MDQ2Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IHZpZi1cdTAwM2VpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTUwNDctXHRzMzIgZXJyO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTUxMjI9YnJjbWZfY2ZnODAyMTFfc3RhcnRfYXAoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTEyNy1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1MTI4Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01MTI5LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBcdTAwMjZpZnAtXHUwMDNldmlmLVx1MDAzZXByb2ZpbGU7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTM3MD1zdGF0aWMgaW50IGJyY21mX2NmZzgwMjExX3N0b3BfYXAoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTM3NC1cdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1Mzc1Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01Mzc2LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBcdTAwMjZpZnAtXHUwMDNldmlmLVx1MDAzZXByb2ZpbGU7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTQ1Nj1icmNtZl9jZmc4MDIxMV9kZWxfc3RhdGlvbihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU0NTktXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gd2lwaHlfdG9fY2ZnKHdpcGh5KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjU0NjA6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU0NjEtXHRzdHJ1Y3QgYnJjbWZfc2NiX3ZhbF9sZSBzY2J2YWw7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTQ4OT1icmNtZl9jZmc4MDIxMV9jaGFuZ2Vfc3RhdGlvbihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU0OTItXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gd2lwaHlfdG9fY2ZnKHdpcGh5KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjU0OTM6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU0OTQtXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KHdkZXYtXHUwMDNlbmV0ZGV2KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01NTMzPWJyY21mX2NmZzgwMjExX21nbXRfdHgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2Rldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01NTM3LVx0c3RydWN0IGllZWU4MDIxMV9jaGFubmVsICpjaGFuID0gcGFyYW1zLVx1MDAzZWNoYW47XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1NTM4Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01NTM5LVx0Y29uc3QgdTggKmJ1ZiA9IHBhcmFtcy1cdTAwM2VidWY7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTY5Mj1icmNtZl9jZmc4MDIxMV9jYW5jZWxfcmVtYWluX29uX2NoYW5uZWwoc3RydWN0IHdpcGh5ICp3aXBoeSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01Njk2LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1Njk3Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01Njk4LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTU3MTQ9c3RhdGljIGludCBicmNtZl9jZmc4MDIxMV9nZXRfY2hhbm5lbChzdHJ1Y3Qgd2lwaHkgKndpcGh5LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU3MjAtXHRzdHJ1Y3QgbmV0X2RldmljZSAqbmRldiA9IHdkZXYtXHUwMDNlbmV0ZGV2O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NTcyMTpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTcyMi1cdHN0cnVjdCBicmNtdV9jaGFuIGNoO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTU4NTE9c3RhdGljIGludCBicmNtZl9jZmc4MDIxMV90ZGxzX29wZXIoc3RydWN0IHdpcGh5ICp3aXBoeSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODU1LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1ODU2Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODU3LVx0c3RydWN0IGJyY21mX2lmICppZnA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTg4MD1icmNtZl9jZmc4MDIxMV91cGRhdGVfY29ubl9wYXJhbXMoc3RydWN0IHdpcGh5ICp3aXBoeSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODg1LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1ODg2Olx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODg3LVx0c3RydWN0IGJyY21mX2lmICppZnA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTkwNj1icmNtZl9jZmc4MDIxMV9zZXRfcmVrZXlfZGF0YShzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01OTA5LVx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1OTEwOlx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cdTAwM2VwdWI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01OTExLVx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02MzIzPXN0YXRpYyBzMzIgYnJjbWZfZ2V0X2Fzc29jX2llcyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTYzMjUte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjMyNjpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjMyNy1cdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9hc3NvY19pZWxlbl9sZSAqYXNzb2NfaW5mbztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02NTE5PWJyY21mX25vdGlmeV9jb25uZWN0X3N0YXR1c19hcChzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY1MjIte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjUyMzpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXHUwMDNlcHViO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjUyNC1cdHN0YXRpYyBpbnQgZ2VuZXJhdGlvbjtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02ODkzPXN0YXRpYyBzMzIgYnJjbWZfZG9uZ2xlX3JvYW0oc3RydWN0IGJyY21mX2lmICppZnApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODk0LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY4OTU6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVx1MDAzZWRydnI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODk2LVx0czMyIGVycjtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02OTQ1PWJyY21mX2RvbmdsZV9zY2FudGltZShzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY5NDYte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njk0NzpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY5NDgtXHRzMzIgZXJyID0gMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02OTk1PXN0YXRpYyBpbnQgYnJjbWZfY29uc3RydWN0X2NoYW5pbmZvKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjk5OC1cdHN0cnVjdCB3aXBoeSAqd2lwaHkgPSBjZmdfdG9fd2lwaHkoY2ZnKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY5OTk6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcwMDAtXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IGJyY21mX2dldF9pZnAoZHJ2ciwgMCk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NzEzMD1zdGF0aWMgaW50IGJyY21mX2VuYWJsZV9idzQwXzJnKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy03MTMxLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjcxMzI6XHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVx1MDAzZXB1YjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcxMzMtXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IGJyY21mX2dldF9pZnAoZHJ2ciwgMCk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NzIxNT1zdGF0aWMgdm9pZCBicmNtZl9nZXRfYndjYXAoc3RydWN0IGJyY21mX2lmICppZnAsIHUzMiBid19jYXBbXSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcyMTYte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NzIxNzpcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXHUwMDNlZHJ2cjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcyMTgtXHR1MzIgYmFuZCwgbWltb19id2NhcDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz03MzI1PXN0YXRpYyBpbnQgYnJjbWZfc2V0dXBfd2lwaHliYW5kcyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnKVxuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjA0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI2NjI4CgkJCQkJCQlvdXRwdXQ6IDIxCgkJCQkJCQl0aG91Z2h0czogODEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGhvdWdodCBwcm9jZXNzLCBhcyBpZiBJIHdlcmUgY29uc2lkZXJpbmcgdGhpcyBjb2RlOgoKKipOYXZpZ2F0aW5nIERyaXZlciBTdHJ1Y3R1cmUgYW5kIENGRzgwMjExIEludGVncmF0aW9uKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGRyaXZlciBzdHJ1Y3R1cmUgYW5kIG15IGluaXRpYWwgdGhvdWdodCBpcyB0aGF0IGBkcnZyLSZndDtvcHNgIHNob3VsZCBwb2ludCB0byBhIGBicmNtZl9md3ZpZF9vcHNgIHN0cnVjdCwgb3Igc29tZXRoaW5nIGNvbXBhcmFibGUgZm9yIGZpcm13YXJlIHZpZGVvIG9wZXJhdGlvbnMuIFRoYXQgbWFrZXMgc2Vuc2UsIGtlZXBpbmcgdGhpbmdzIG1vZHVsYXIuIEJ1dCBoYW5nIG9uLCBpbiB0aGUgYGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzYCBmdW5jdGlvbiwgYGRydnItJmd0O29wc2AgaXMgYXBwYXJlbnRseSBhIGBjZmc4MDIxMV9vcHNgIHN0cnVjdC4gVGhhdCYjMzk7cyB1bmV4cGVjdGVkLi4uIEkgbmVlZCB0byB1bmRlcnN0YW5kIGhvdyB0aGUgZHJpdmVyIGludGVyZmFjZXMgd2l0aCB0aGUgY2ZnODAyMTEgc3Vic3lzdGVtLgoKVG8gY2xhcmlmeSB0aGlzIGluY29uc2lzdGVuY3ksIEkmIzM5O20gZ29pbmcgdG8gZG91YmxlLWNoZWNrIHRoZSBgYnJjbWZfcHViYCBzdHJ1Y3R1cmUuIEkgbmVlZCB0byBzZWUgaG93IHRoZXNlIGRpZmZlcmVudCBvcGVyYXRpb24gc3RydWN0dXJlcywgcmVsYXRlZCB0byBmaXJtd2FyZSB2aWRlbywgYW5kIHJlbGF0ZWQgdG8gY2ZnODAyMTEgYXJlIGNvbm5lY3RlZCwgb3IgaWYgdGhlcmUmIzM5O3MgYSBtaXNub21lciBpbiBteSBhbmFseXNpcyBvZiB0aGUgY29kZS4gVGhpcyBpcyB3aGVyZSB0aGUgbWFnaWMgKG9yIHRoZSBjb25mdXNpb24pIGxpa2VseSBoYXBwZW5zLiBMZXQmIzM5O3Mgc2VlIGhvdyB0aGluZ3MgYXJlIGluaXRpYWxpemVkIGFuZCB3aGljaCBgb3BzYCBhcmUgYWN0dWFsbHkgYXNzaWduZWQgd2hlcmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjA0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3N0cnVjdCBicmNtZl9wdWIgXFx7JiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jb3JlLmg9ODA9c3RydWN0IGJyY21mX3Jldl9pbmZvIHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5oLTEwMC0vKiBDb21tb24gc3RydWN0dXJlIGZvciBtb2R1bGUgYW5kIGluc3RhbmNlIGxpbmthZ2UgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jb3JlLmg6MTAxOnN0cnVjdCBicmNtZl9wdWIge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuaC0xMDItXHQvKiBMaW5rYWdlIHBvbnRlcnMgKi9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjcxNTYKCQkJCQkJCW91dHB1dDogNTMKCQkJCQkJCXRob3VnaHRzOiAzOAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBzdW1tYXJ5LCBhcyBpZiBJIHdlcmUgdGhpbmtpbmcgdGhlc2UgdGhvdWdodHM6CgoqKkRpdmluZyBpbnRvIGJyY21mbWFjJiMzOTtzIENvcmUgSGVhZGVyKioKCk9rYXksIHRpbWUgdG8gZ2V0IG15IGhhbmRzIGRpcnR5LiBJJiMzOTttIGdvaW5nIHRvIHRha2UgYSBsb29rIGF0IHRoZSBgYnJjbWZtYWNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSBgY29yZS5oYCBoZWFkZXIgZmlsZS4gSSBrbm93IHRoaXMgaXMgdGhlIGNlbnRyYWwgcG9pbnQgZm9yIGEgbG90IG9mIHRoZSBmdW5kYW1lbnRhbCBkZWZpbml0aW9ucyBhbmQgc3RydWN0dXJlcy4gSSYjMzk7bSBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIGFyb3VuZCBsaW5lIDEwMSwgd2hpY2ggaXMgdXN1YWxseSB3aGVyZSBhIGdvb2QgY2h1bmsgb2YgdGhlIGltcG9ydGFudCBzdHVmZiBiZWdpbnMuIEkmIzM5O20gZXhwZWN0aW5nIHRvIGZpbmQgc29tZSBjcnVjaWFsIG1hY3JvIGRlZmluaXRpb25zLCBwb3RlbnRpYWxseSBzb21lIGtleSBkYXRhIHN0cnVjdHVyZXMgbGlrZSB0aGUgbWFpbiBkcml2ZXIgY29udGV4dCwgb3IgbWF5YmUgc29tZSBpbXBvcnRhbnQgZnVuY3Rpb24gcHJvdG90eXBlcyBmb3IgaW5pdGlhbGl6aW5nIG9yIG1hbmFnaW5nIHRoZSBCcm9hZGNvbSB3aXJlbGVzcyBpbnRlcmZhY2UuIFRoaXMgaXMgZ29pbmcgdG8gYmUgdGhlIGZvdW5kYXRpb24gZm9yIHVuZGVyc3RhbmRpbmcgaG93IHRoZSBjb3JlIG9mIHRoaXMgZHJpdmVyIGludGVyYWN0cyB3aXRoIHRoZSBoYXJkd2FyZS4gTGV0JiMzOTtzIHNlZSB3aGF0JiMzOTtzIHRoZXJlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE4LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jb3JlLmgmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAxMDAsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogNTAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDEwMDpcdC8qIENvbW1vbiBzdHJ1Y3R1cmUgZm9yIG1vZHVsZSBhbmQgaW5zdGFuY2UgbGlua2FnZSAqL1xuIDEwMTpcdHN0cnVjdCBicmNtZl9wdWIge1xuIDEwMjpcdFx0LyogTGlua2FnZSBwb250ZXJzICovXG4gMTAzOlx0XHRzdHJ1Y3QgYnJjbWZfYnVzICpidXNfaWY7XG4gMTA0Olx0XHRzdHJ1Y3QgYnJjbWZfcHJvdG8gKnByb3RvO1xuIDEwNTpcdFx0c3RydWN0IHdpcGh5ICp3aXBoeTtcbiAxMDY6XHRcdHN0cnVjdCBjZmc4MDIxMV9vcHMgKm9wcztcbiAxMDc6XHRcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjb25maWc7XG4gMTA4Olx0XG4gMTA5Olx0XHQvKiBJbnRlcm5hbCBicmNtZiBpdGVtcyAqL1xuIDExMDpcdFx0dWludCBoZHJsZW47XHRcdC8qIFRvdGFsIEJSQ01GIGhlYWRlciBsZW5ndGggKHByb3RvICYjNDM7IGJ1cykgKi9cbiAxMTE6XHRcbiAxMTI6XHRcdC8qIERvbmdsZSBtZWRpYSBpbmZvICovXG4gMTEzOlx0XHRjaGFyIGZ3dmVyW0JSQ01GX0RSSVZFUl9GSVJNV0FSRV9WRVJTSU9OX0xFTl07XG4gMTE0Olx0XHR1OCBtYWNbRVRIX0FMRU5dO1x0XHQvKiBNQUMgYWRkcmVzcyBvYnRhaW5lZCBmcm9tIGRvbmdsZSAqL1xuIDExNTpcdFxuIDExNjpcdFx0c3RydWN0IG1hY19hZGRyZXNzIGFkZHJlc3Nlc1tCUkNNRl9NQVhfSUZTXTtcbiAxMTc6XHRcbiAxMTg6XHRcdHN0cnVjdCBicmNtZl9pZiAqaWZsaXN0W0JSQ01GX01BWF9JRlNdO1xuIDExOTpcdFx0czMyIGlmMmJzc1tCUkNNRl9NQVhfSUZTXTtcbiAxMjA6XHRcdHN0cnVjdCBicmNtZl9pZiAqbW9uX2lmO1xuIDEyMTpcdFxuIDEyMjpcdFx0c3RydWN0IG11dGV4IHByb3RvX2Jsb2NrO1xuIDEyMzpcdFx0dW5zaWduZWQgY2hhciBwcm90b19idWZbQlJDTUZfRENNRF9NQVhMRU5dO1xuIDEyNDpcdFxuIDEyNTpcdFx0c3RydWN0IGJyY21mX2Z3ZWhfaW5mbyAqZndlaDtcbiAxMjY6XHRcbiAxMjc6XHRcdHN0cnVjdCBicmNtZl9hbXBkdV9yeF9yZW9yZGVyXG4gMTI4Olx0XHRcdCpyZW9yZGVyX2Zsb3dzW0JSQ01GX0FNUERVX1JYX1JFT1JERVJfTUFYRkxPV1NdO1xuIDEyOTpcdFxuIDEzMDpcdFx0dTMyIGZlYXRfZmxhZ3M7XG4gMTMxOlx0XHR1MzIgY2hpcF9xdWlya3M7XG4gMTMyOlx0XG4gMTMzOlx0XHRzdHJ1Y3QgYnJjbWZfcmV2X2luZm8gcmV2aW5mbztcbiAxMzQ6XHQjaWZkZWYgREVCVUdcbiAxMzU6XHRcdHN0cnVjdCBkZW50cnkgKmRiZ2ZzX2RpcjtcbiAxMzY6XHQjZW5kaWZcbiAxMzc6XHRcbiAxMzg6XHRcdHN0cnVjdCBub3RpZmllcl9ibG9jayBpbmV0YWRkcl9ub3RpZmllcjtcbiAxMzk6XHRcdHN0cnVjdCBub3RpZmllcl9ibG9jayBpbmV0NmFkZHJfbm90aWZpZXI7XG4gMTQwOlx0XHRzdHJ1Y3QgYnJjbWZfbXBfZGV2aWNlICpzZXR0aW5ncztcbiAxNDE6XHRcbiAxNDI6XHRcdHN0cnVjdCB3b3JrX3N0cnVjdCBidXNfcmVzZXQ7XG4gMTQzOlx0XG4gMTQ0Olx0XHR1OCBjbG12ZXJbQlJDTUZfRENNRF9TTUxFTl07XG4gMTQ1Olx0XHR1OCBzdGFfbWFjX2lkeDtcbiAxNDY6XHRcdGNvbnN0IHN0cnVjdCBicmNtZl9md3ZpZF9vcHMgKnZvcHM7XG4gMTQ3Olx0XHR2b2lkICp2ZGF0YTtcbiAxNDg6XHR9O1xuIDE0OTpcdFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE5LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyODE4MAoJCQkJCQkJb3V0cHV0OiAxOQoJCQkJCQkJdGhvdWdodHM6IDMyNQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIFRhcmdldCBJZGVudGlmaWNhdGlvbjogYnJjbWZtYWMgTWdtdCBUWCBhbmQgRXh0ZXJuYWwgQXV0aCBDYWxsYmFja3MqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kIGNvbmZpcm1pbmcgbXkgaW5pdGlhbCBhc3Nlc3NtZW50LiBZZXMsIHRoZSBgc3RydWN0IGNmZzgwMjExX29wcyAqb3BzO2AgY29uZmlybXMgaXQuIFNwZWNpZmljYWxseSwgdGhlIGBicmNtZl9jeXdfbWdtdF90eGAgY2FsbGJhY2sgaXMgaW5kZWVkIHRoZSBgbWdtdF90eGAgZnVuY3Rpb24gd2l0aGluIGBjZmc4MDIxMWAsIGFuZCBgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGhgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGBleHRlcm5hbF9hdXRoYCBjYWxsYmFjay4gVGhlc2UgYXJlIGludGVyZXN0aW5nIGJlY2F1c2UgdGhleSYjMzk7cmUgZGlyZWN0bHkgZXhwb3NlZCB0byB1c2Vyc3BhY2UgaW50ZXJhY3Rpb24gdGhyb3VnaCBgbmw4MDIxMWAgY29tbWFuZHM6IHNwZWNpZmljYWxseSBgbmw4MDIxMV90eF9tZ210YCBhbmQgYG5sODAyMTFfZXh0ZXJuYWxfYXV0aGAuCgpTaW5jZSB0aGUgYGJyY21mbWFjYCBkcml2ZXIgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgc2V0dXAgKGxpa2UgYGR1bW15X2hjZGApLCBJIGtub3cgdGhlc2UgZnVuY3Rpb25zIGFyZSByZWFjaGFibGUgYW5kLCBjcml0aWNhbGx5LCBmdW5jdGlvbmFsLiBUaGUgcGF0Y2ggaXRzZWxmIGlzIG1ha2luZyBzb21lIGZ1bmN0aW9uYWwgbW9kaWZpY2F0aW9ucy4gYGJyY21mX2N5d19tZ210X3R4YCBpcyBjaGFuZ2luZyBmcm9tIHVzaW5nIGEgcHJvdmlkZWQgYGNvb2tpZWAgdG8gYW4gYXRvbWljIGNvdW50ZXIgZm9yIGBwYWNrZXRfaWRgLiAgQW5kIGluIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAgaXQmIzM5O3MgbWFraW5nIHN1cmUgdG8gY29weSBgcG1raWRgIGlmIGl0JiMzOTtzIHRoZXJlLgoKVGhlc2UgYXJlIGdvb2QgdGFyZ2V0cyBmb3IgZnV6emluZy4gVGhleSByZXByZXNlbnQgcG9pbnRzIHdoZXJlIHdlJiMzOTt2ZSBjaGFuZ2VkIGV4aXN0aW5nLCBleHBvc2VkIGZ1bmN0aW9uYWxpdHksIGFuZCBhcmUgdGhlcmVmb3JlIHByaW1lIGNhbmRpZGF0ZXMgZm9yIGRpc2NvdmVyaW5nIG5ldyBidWdzLgoKTXkgZm9jdXMgc2hvdWxkIGJlIG9uIGBicmNtZl9jeXdfbWdtdF90eGAgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAuIExldCYjMzk7cyBhbHNvIGNoZWNrIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucy4gVGhlIGRyaXZlciBjb25maWdzIGFyZSBgQlJDTUZNQUNgLCBgQlJDTUZNQUNfVVNCYCBhbmQsIGltcGxpY2l0bHksIGBDRkc4MDIxMWAuIEhvd2V2ZXIsIEkgbmVlZCB0byBjaGVjayB0aGUgS2NvbmZpZyBmaWxlIGluIGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZ2AgdG8gYmUgc3VyZSB0aGVyZSBhcmVuJiMzOTt0IGFueSBDWVctc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgSSBuZWVkIHRvIHRha2UgaW50byBhY2NvdW50LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgQlJDTUZNQUMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6MTpjb25maWcgQlJDTUZNQUNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTItXHR0cmlzdGF0ZSBcJiMzNDtCcm9hZGNvbSBGdWxsTUFDIFdMQU4gZHJpdmVyXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzoxMTpjb25maWcgQlJDTUZNQUNfUFJPVE9fQkNEQ1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTItXHRib29sXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjE0OmNvbmZpZyBCUkNNRk1BQ19QUk9UT19NU0dCVUZcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTE1LVx0Ym9vbFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzoxNzpjb25maWcgQlJDTUZNQUNfU0RJT1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTgtXHRib29sIFwmIzM0O1NESU8gYnVzIGludGVyZmFjZSBzdXBwb3J0IGZvciBGdWxsTUFDIGRyaXZlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTI4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6Mjk6Y29uZmlnIEJSQ01GTUFDX1VTQlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMzAtXHRib29sIFwmIzM0O1VTQiBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMzktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzo0MDpjb25maWcgQlJDTUZNQUNfUENJRVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctNDEtXHRib29sIFwmIzM0O1BDSUUgYnVzIGludGVyZmFjZSBzdXBwb3J0IGZvciBGdWxsTUFDIGRyaXZlclwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIxLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyOTU3MwoJCQkJCQkJb3V0cHV0OiA0NQoJCQkJCQkJdGhvdWdodHM6IDUwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBsZXQmIzM5O3Mgc2VlLi4uCgoqKkNoZWNraW5nIHRoZSBCdWlsZCBDb25maWd1cmF0aW9uKioKCkhhbmcgb24gYSBzZWNvbmQsIGBjeXdgIGlzIGEgc3ViZGlyZWN0b3J5LCBpc24mIzM5O3QgaXQ/IFJpZ2h0LCBpdCYjMzk7cyBub3QgYSB0b3AtbGV2ZWwgc291cmNlIGZpbGUuIE9rYXksIHNvIHRoYXQgbWVhbnMgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgKmhvdyogaXQgZ2V0cyBpbmNsdWRlZCBpbiB0aGUgYnVpbGQuIEl0JiMzOTtzIGxpa2VseSBjb25kaXRpb25hbGx5IGNvbXBpbGVkLiBUaGUgZmlyc3QgcGxhY2UgSSYjMzk7ZCBjaGVjayBpcyB0aGUgcmVsZXZhbnQgYE1ha2VmaWxlYC4gU28sIGxldCYjMzk7cyBnbyBwb2tlIGFyb3VuZCBpbiBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL01ha2VmaWxlYCBhbmQgc2VlIHdoYXQmIzM5O3Mgd2hhdC4gVGhhdCYjMzk7cyB0aGUgbW9zdCBsb2dpY2FsIHBsYWNlIHRvIHN0YXJ0IGxvb2tpbmcgZm9yIGJ1aWxkIHJ1bGVzIGFmZmVjdGluZyB0aGF0IGRpcmVjdG9yeS4gSSYjMzk7bSBleHBlY3RpbmcgdG8gZmluZCBzb21lIGBpZmVxYCBvciBgaWZuZXFgIGRpcmVjdGl2ZXMsIG9yIG1heWJlIGV2ZW4gYSBtb3JlIGNvbXBsZXggY29uZGl0aW9uYWwgaW52b2x2aW5nIGtlcm5lbCBjb25maWd1cmF0aW9uIG9wdGlvbnMuIExldCYjMzk7cyBzZWUgd2hhdCB3ZSBmaW5kLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAwODowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjeXcmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL01ha2VmaWxlPTU1PW9iai1tICYjNDM7PSB3Y2MvXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGU6NTY6b2JqLW0gJiM0Mzs9IGN5dy9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9NYWtlZmlsZS01Ny1vYmotbSAmIzQzOz0gYmNhL1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9NYWtlZmlsZT01OT1icmNtZm1hYy0kKENPTkZJR19CUkNNRk1BQykgJiM0Mzs9IHdjYy9jb3JlLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9NYWtlZmlsZTo2MDpicmNtZm1hYy0kKENPTkZJR19CUkNNRk1BQykgJiM0Mzs9IGN5dy9jb3JlLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9NYWtlZmlsZS02MS1icmNtZm1hYy0kKENPTkZJR19CUkNNRk1BQykgJiM0Mzs9IGJjYS9jb3JlLm9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzAxMTQKCQkJCQkJCW91dHB1dDogMTkKCQkJCQkJCXRob3VnaHRzOiAxNTUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBgQlJDTUZNQUNgIENvbmZpZ3VyYXRpb24gYW5kIFJlbGV2YW50IENvZGUgUGF0aHMqKgoKT2theSwgc28gdGhpcyBjb2RlIGlzIG9ubHkgY29tcGlsZWQgaWYgYENPTkZJR19CUkNNRk1BQ2AgaXMgZW5hYmxlZC4gVGhhdCBtYWtlcyBzZW5zZSwgc28gSSBuZWVkIHRvIGZvY3VzIG9uIGVuYWJsaW5nIGJvdGggYEJSQ01GTUFDYCBhbmQgYEJSQ01GTUFDX1VTQmAgd2l0aGluIHRoZSBjb25maWd1cmF0aW9uLiBOb3csIEkgbmVlZCB0byBwaW5wb2ludCB0aGUgY3JpdGljYWwgZnVuY3Rpb25zIEkgd2FudCB0byBleGFtaW5lIGluIG1vcmUgZGV0YWlsLgoKYGJyY21mX2N5d19tZ210X3R4YCBhbmQgYGJyY21mX2N5d19leHRlcm5hbF9hdXRoYCBzZWVtIGxpa2UgcHJvbWlzaW5nIGNhbmRpZGF0ZXMuIExldCBtZSBqdXN0IGNvbmZpcm0gdGhlc2UgYXJlIHRoZSBwcmltYXJ5IGZ1bmN0aW9ucyBJJiMzOTttIGludGVyZXN0ZWQgaW4gYW5kIG5vdCBqdXN0IHNvbWUgZ2VuZXJpYyBob3QgcGF0aCBjb2RlLiBZZXMsIEkmIzM5O20gcmlnaHQsIHRob3NlIGFyZSBleGFjdGx5IHRoZSBmdW5jdGlvbnMgdGhhdCBhcmUgYmVpbmcgbW9kaWZpZWQsIGFuZCB0aG9zZSBhcmVuJiMzOTt0IGV4YWN0bHkgaG90IHBhdGgsIGFzIHRoZXkgYXJlIHBhcnQgb2YgdGhlIGNvbnRyb2wgcGxhbmUuIEdvb2QsIHRoYXQgdmVyaWZpZXMgbXkgaW5pdGlhbCBhc3Nlc3NtZW50LgoKTm93LCBsZXQmIzM5O3MgbWFrZSBzdXJlIHRoYXQgYGJyY21mX2N5d19leHRlcm5hbF9hdXRoYCBpcyBhY3R1YWxseSBiZWluZyB1c2VkIHNvbWV3aGVyZSwgdGhhdCBpdCYjMzk7cyByZWFjaGFibGUgY29kZS4gSXQgbG9va3MgbGlrZSBpdCBpcywgaXQmIzM5O3MgYXNzaWduZWQgdG8gYGRydnItJmd0O29wcy0mZ3Q7ZXh0ZXJuYWxfYXV0aGAuIEFuZCBJIHNlZSBpdOKAmXMgYXNzaWduZWQgaW4gYG5ldC93aXJlbGVzcy9ubDgwMjExLmNgLiBBbHJpZ2h0LCB0aGF0JiMzOTtzIGRlZmluaXRlbHkgZ29vZCBjb25maXJtYXRpb24gdGhhdCB0aGlzIGlzIGEgdmFsaWQgcGF0aCB0byBpbnZlc3RpZ2F0ZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7b3BzLVx1MDAzZWV4dGVybmFsX2F1dGgmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MjM2PXN0YXRpYyB2b2lkIGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjM4LVx0ZHJ2ci1cdTAwM2VvcHMtXHUwMDNlbWdtdF90eCA9IGJyY21mX2N5d19tZ210X3R4O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MjM5Olx0ZHJ2ci1cdTAwM2VvcHMtXHUwMDNlZXh0ZXJuYWxfYXV0aCA9IGJyY21mX2N5d19leHRlcm5hbF9hdXRoO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjQwLX1cbi0tXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jPTE4MzA1PXN0YXRpYyBpbnQgbmw4MDIxMV9leHRlcm5hbF9hdXRoKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXG4tLVxubmV0L3dpcmVsZXNzL25sODAyMTEuYy0xODMxMC1cbm5ldC93aXJlbGVzcy9ubDgwMjExLmM6MTgzMTE6XHRpZiAoIXJkZXYtXHUwMDNlb3BzLVx1MDAzZWV4dGVybmFsX2F1dGgpXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE4MzEyLVx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4tLVxubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmg9MTMzOT1yZGV2X2V4dGVybmFsX2F1dGgoc3RydWN0IGNmZzgwMjExX3JlZ2lzdGVyZWRfZGV2aWNlICpyZGV2LFxuLS1cbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oLTEzNDUtXHR0cmFjZV9yZGV2X2V4dGVybmFsX2F1dGgoXHUwMDI2cmRldi1cdTAwM2V3aXBoeSwgZGV2LCBwYXJhbXMpO1xubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmg6MTM0NjpcdGlmIChyZGV2LVx1MDAzZW9wcy1cdTAwM2VleHRlcm5hbF9hdXRoKVxubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmg6MTM0NzpcdFx0cmV0ID0gcmRldi1cdTAwM2VvcHMtXHUwMDNlZXh0ZXJuYWxfYXV0aChcdTAwMjZyZGV2LVx1MDAzZXdpcGh5LCBkZXYsIHBhcmFtcyk7XG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaC0xMzQ4LVx0dHJhY2VfcmRldl9yZXR1cm5faW50KFx1MDAyNnJkZXYtXHUwMDNld2lwaHksIHJldCk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDA4OjA1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxMTAzCgkJCQkJCQlvdXRwdXQ6IDEyMgoJCQkJCQkJdGhvdWdodHM6IDIzMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBGdXp6aW5nIFN0cmF0ZWd5IGZvciB0aGUgQnJvYWRjb20gRnVsbE1BQyBEcml2ZXIqKgoKT2theSwgc28gSSYjMzk7dmUgYmVlbiBhbmFseXppbmcgdGhpcyBwYXRjaCB0YXJnZXRpbmcgdGhlIEJyb2FkY29tIEZ1bGxNQUMgV0xBTiBkcml2ZXIsIHNwZWNpZmljYWxseSBmb2N1c2luZyBvbiBgYnJjbWZtYWNgLiAgTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCB5ZXMsIHRoZSBgbmw4MDIxMV9leHRlcm5hbF9hdXRoYCBmdW5jdGlvbmFsaXR5ICppcyogcmVhY2hhYmxlIOKAkyB0aGF0JiMzOTtzIGEgZ29vZCBzdGFydGluZyBwb2ludC4gTm93LCBsZXQmIzM5O3Mgc2VlIGlmIHRoZXJlIGFyZSAqb3RoZXIqIGNvbmZpZ3VyYXRpb25zIEkgbmVlZCB0byBjb25zaWRlciBmb3IgZW5hYmxpbmcgdGhlIHJlbGV2YW50IGNvZGUgcGF0aHMuIEFoLCBoZXJlIHdlIGdvLCBgQlJDTUZNQUNgIGFuZCBgQlJDTUZNQUNfVVNCYC4gR29vZC4gSSBub3RlIHRoYXQgYENGRzgwMjExYCBpcywgdGhhbmtmdWxseSwgYWxyZWFkeSBlbmFibGVkIGJ5IGRlZmF1bHQgaW4gc3l6a2FsbGVyLgoKUmlnaHQsIEkmIzM5O20gZ29pbmcgdG8gZm9sbG93IHRoZSBndWlkYW5jZS4gVGhlIGluc3RydWN0aW9ucyBhcmUgY2xlYXI6IGtlZXAgdGhlIGNvbmZpZ3VyYXRpb24gZm9jdXNlZCBvbiB3aGF0JiMzOTtzICptb2RpZmllZCouIERvbuKAmXQgbGlzdCBnZW5lcmljLCBhbHJlYWR5LWVuYWJsZWQgY29uZmlncy4gU2luY2UgdGhlIGNvcmUgbW9kaWZpY2F0aW9ucyB0b3VjaCBtYW5hZ2VtZW50IGZyYW1lIHRyYW5zbWlzc2lvbiBhbmQgZXh0ZXJuYWwgYXV0aGVudGljYXRpb24gc3BlY2lmaWNhbGx5IHdpdGhpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBkcml2ZXIsIGBCUkNNRk1BQ2AgYW5kIGBCUkNNRk1BQ19VU0JgIHdpbGwgY292ZXIgd2hhdCYjMzk7cyBuZWNlc3NhcnkuIEkgZG9uJiMzOTt0IG5lZWQgdG8gYmxvYXQgdGhlIGNvbmZpZ3VyYXRpb24gd2l0aCByZWR1bmRhbnQgb3B0aW9ucy4KCkxldCYjMzk7cyBkaXN0aWxsIHRoaXMgaW50byBhIGNvbmNpc2UgZnV6emluZyBzdHJhdGVneS4gSSYjMzk7bSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZ2AgdG8gYHRydWVgLCBvZiBjb3Vyc2UuIE15IGBGb2N1c1N5bWJvbHNgIHdpbGwgYmUgYCYjMzQ7YnJjbWZfY3l3X21nbXRfdHgmIzM0O2AgYW5kIGAmIzM0O2JyY21mX2N5d19leHRlcm5hbF9hdXRoJiMzNDtgLiBUaGUgcmVsZXZhbnQgYEVuYWJsZUNvbmZpZ3NgIGFyZSBgWyYjMzQ7QlJDTUZNQUMmIzM0OywgJiMzNDtCUkNNRk1BQ19VU0ImIzM0O11gLiBUaGUgcmF0aW9uYWxlIGlzIHN0cmFpZ2h0Zm9yd2FyZDogdGhlIHBhdGNoIGFsdGVycyB0aGUgbWFuYWdlbWVudCBmcmFtZSB0eCBhbmQgZXh0ZXJuYWwgYXV0aGVudGljYXRpb24gbG9naWMgaW4gdGhlIEJyb2FkY29tIEZ1bGxNQUMgZHJpdmVyIChgYnJjbWZtYWNgKS4gVGhlc2UgZnVuY3Rpb25zIGFyZSBhY2Nlc3NpYmxlIGZyb20gdXNlcnNwYWNlIHRocm91Z2ggYG5sODAyMTFgIGNvbW1hbmRzIGFuZCBhcmUgcGVyZmVjdCBjYW5kaWRhdGVzIGZvciBmdXp6aW5nIHVzaW5nIGEgVVNCIGdhZGdldCBlbXVsYXRvci4gVGhpcyBhcHByb2FjaCB3aWxsIG1heGltaXplIGNvZGUgY292ZXJhZ2Ugd2l0aGluIHRoZSBzY29wZSBvZiB0aGUgbW9kaWZpY2F0aW9uLCB3aGljaCBpcyB0aGUga2V5IHRvIGVmZmljaWVudCBhbmQgdGFyZ2V0ZWQgZnV6emluZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yNi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMDg6MDY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JSQ01GTUFDJiMzNDssCiAgICAmIzM0O0JSQ01GTUFDX1VTQiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JyY21mX2N5d19tZ210X3R4JiMzNDssCiAgICAmIzM0O2JyY21mX2N5d19leHRlcm5hbF9hdXRoJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBsb2dpYyBpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlciAoYnJjbWZtYWMpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBmcm9tIHVzZXJzcGFjZSB2aWEgbmw4MDIxMSBjb21tYW5kcyBhbmQgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgZW11bGF0b3IuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JSQ01GTUFDJiMzNDssCiAgICAmIzM0O0JSQ01GTUFDX1VTQiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JyY21mX2N5d19tZ210X3R4JiMzNDssCiAgICAmIzM0O2JyY21mX2N5d19leHRlcm5hbF9hdXRoJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBsb2dpYyBpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlciAoYnJjbWZtYWMpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBmcm9tIHVzZXJzcGFjZSB2aWEgbmw4MDIxMSBjb21tYW5kcyBhbmQgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgZW11bGF0b3IuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowMzoxMy42NjI5NzY5MDhaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNjczMDAwMjkxNzQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlJDTUZNQUNcIixcbiAgICBcIkJSQ01GTUFDX1VTQlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJyY21mX2N5d19tZ210X3R4XCIsXG4gICAgXCJicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBsb2dpYyBpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlciAoYnJjbWZtYWMpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBmcm9tIHVzZXJzcGFjZSB2aWEgbmw4MDIxMSBjb21tYW5kcyBhbmQgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgZW11bGF0b3IuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjAzOjEzLjY2Mjk4NjkwOFoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjU1ODM5NzkwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNWU1MWMwZDlmYzJiOTJiZDNlZWZmOGFiMDliMWU1ZDkxMTUwZWM1YVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgRnJpIEp1bCAxMCAwODowMzoxMSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXFxuaW5kZXggY2UwOWQ0NGZhNzNjZjguLmNjYTUzZmYxOTM2YTQwIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNcXG5AQCAtMjMsNiArMjMsOCBAQFxcbiAjZGVmaW5lIE1HTVRfQVVUSF9GUkFNRV9EV0VMTF9USU1FXFx0NDAwMFxcbiAjZGVmaW5lIE1HTVRfQVVUSF9GUkFNRV9XQUlUX1RJTUVcXHQoTUdNVF9BVVRIX0ZSQU1FX0RXRUxMX1RJTUUgKyAxMDApXFxuIFxcbitzdGF0aWMgYXRvbWljX3QgYnJjbWZfY3l3X21nbXRfdHhfaWQgPSBBVE9NSUNfSU5JVCgwKTtcXG4rXFxuIHN0YXRpYyBpbnQgYnJjbWZfY3l3X3NldF9zYWVfcHdkKHN0cnVjdCBicmNtZl9pZiAqaWZwLFxcbiBcXHRcXHRcXHRcXHQgc3RydWN0IGNmZzgwMjExX2NyeXB0b19zZXR0aW5ncyAqY3J5cHRvKVxcbiB7XFxuQEAgLTE1NSw3ICsxNTcsNyBAQCBpbnQgYnJjbWZfY3l3X21nbXRfdHgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldixcXG4gXFxuIFxcdG1lbWNweShcXHUwMDI2bWZfcGFyYW1zLVxcdTAwM2VkYVswXSwgXFx1MDAyNm1nbXQtXFx1MDAzZWRhWzBdLCBFVEhfQUxFTik7XFxuIFxcdG1lbWNweShcXHUwMDI2bWZfcGFyYW1zLVxcdTAwM2Vic3NpZFswXSwgXFx1MDAyNm1nbXQtXFx1MDAzZWJzc2lkWzBdLCBFVEhfQUxFTik7XFxuLVxcdG1mX3BhcmFtcy1cXHUwMDNlcGFja2V0X2lkID0gY3B1X3RvX2xlMzIoKmNvb2tpZSk7XFxuK1xcdG1mX3BhcmFtcy1cXHUwMDNlcGFja2V0X2lkID0gY3B1X3RvX2xlMzIoYXRvbWljX2luY19yZXR1cm4oXFx1MDAyNmJyY21mX2N5d19tZ210X3R4X2lkKSk7XFxuIFxcdG1lbWNweShtZl9wYXJhbXMtXFx1MDAzZWRhdGEsIFxcdTAwMjZidWZbRE9UMTFfTUdNVF9IRFJfTEVOXSxcXG4gXFx0ICAgICAgIGxlMTZfdG9fY3B1KG1mX3BhcmFtcy1cXHUwMDNlbGVuKSk7XFxuIFxcbkBAIC0yMDAsNyArMjAyLDcgQEAgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4ge1xcbiBcXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcDtcXG4gXFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2cjtcXG4tXFx0c3RydWN0IGJyY21mX2F1dGhfcmVxX3N0YXR1c19sZSBhdXRoX3N0YXR1cztcXG4rXFx0c3RydWN0IGJyY21mX2F1dGhfcmVxX3N0YXR1c19sZSBhdXRoX3N0YXR1cyA9IHt9O1xcbiBcXHRpbnQgcmV0ID0gMDtcXG4gXFxuIFxcdGJyY21mX2RiZyhUUkFDRSwgXFxcIkVudGVyXFxcXG5cXFwiKTtcXG5AQCAtMjA4LDYgKzIxMCw4IEBAIGJyY21mX2N5d19leHRlcm5hbF9hdXRoKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuIFxcdGlmcCA9IG5ldGRldl9wcml2KGRldik7XFxuIFxcdGRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuIFxcdGlmIChwYXJhbXMtXFx1MDAzZXN0YXR1cyA9PSBXTEFOX1NUQVRVU19TVUNDRVNTKSB7XFxuK1xcdFxcdGlmIChwYXJhbXMtXFx1MDAzZXBta2lkKVxcbitcXHRcXHRcXHRtZW1jcHkoYXV0aF9zdGF0dXMucG1raWQsIHBhcmFtcy1cXHUwMDNlcG1raWQsIFdMQU5fUE1LSURfTEVOKTtcXG4gXFx0XFx0YXV0aF9zdGF0dXMuZmxhZ3MgPSBjcHVfdG9fbGUxNihCUkNNRl9FWFRBVVRIX1NVQ0NFU1MpO1xcbiBcXHR9IGVsc2Uge1xcbiBcXHRcXHRicGh5X2VycihkcnZyLCBcXFwiRXh0ZXJuYWwgYXV0aGVudGljYXRpb24gZmFpbGVkOiBzdGF0dXM9JWRcXFxcblxcXCIsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjAzOjE0LjMyMDA2MDA1OFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTY2NjQyOTE3MzM0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJSQ01GTUFDXCIsXG4gICAgXCJCUkNNRk1BQ19VU0JcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicmNtZl9jeXdfbWdtdF90eFwiLFxuICAgIFwiYnJjbWZfY3l3X2V4dGVybmFsX2F1dGhcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBtYW5hZ2VtZW50IGZyYW1lIHRyYW5zbWlzc2lvbiBhbmQgZXh0ZXJuYWwgYXV0aGVudGljYXRpb24gbG9naWMgaW4gdGhlIEJyb2FkY29tIEZ1bGxNQUMgV0xBTiBkcml2ZXIgKGJyY21mbWFjKS4gVGhlc2UgZnVuY3Rpb25zIGFyZSByZWFjaGFibGUgZnJvbSB1c2Vyc3BhY2UgdmlhIG5sODAyMTEgY29tbWFuZHMgYW5kIGNhbiBiZSBmdXp6ZWQgdXNpbmcgYSBVU0IgZ2FkZ2V0IGVtdWxhdG9yLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDVlNTFjMGQ5ZmMyYjkyYmQzZWVmZjhhYjA5YjFlNWQ5MTE1MGVjNWFcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAxMCAwODowMzoxMSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNcbmluZGV4IGNlMDlkNDRmYTczY2Y4Li5jY2E1M2ZmMTkzNmE0MCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY1xuQEAgLTIzLDYgKzIzLDggQEBcbiAjZGVmaW5lIE1HTVRfQVVUSF9GUkFNRV9EV0VMTF9USU1FXHQ0MDAwXG4gI2RlZmluZSBNR01UX0FVVEhfRlJBTUVfV0FJVF9USU1FXHQoTUdNVF9BVVRIX0ZSQU1FX0RXRUxMX1RJTUUgKyAxMDApXG4gXG4rc3RhdGljIGF0b21pY190IGJyY21mX2N5d19tZ210X3R4X2lkID0gQVRPTUlDX0lOSVQoMCk7XG4rXG4gc3RhdGljIGludCBicmNtZl9jeXdfc2V0X3NhZV9wd2Qoc3RydWN0IGJyY21mX2lmICppZnAsXG4gXHRcdFx0XHQgc3RydWN0IGNmZzgwMjExX2NyeXB0b19zZXR0aW5ncyAqY3J5cHRvKVxuIHtcbkBAIC0xNTUsNyArMTU3LDcgQEAgaW50IGJyY21mX2N5d19tZ210X3R4KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsXG4gXG4gXHRtZW1jcHkoXHUwMDI2bWZfcGFyYW1zLVx1MDAzZWRhWzBdLCBcdTAwMjZtZ210LVx1MDAzZWRhWzBdLCBFVEhfQUxFTik7XG4gXHRtZW1jcHkoXHUwMDI2bWZfcGFyYW1zLVx1MDAzZWJzc2lkWzBdLCBcdTAwMjZtZ210LVx1MDAzZWJzc2lkWzBdLCBFVEhfQUxFTik7XG4tXHRtZl9wYXJhbXMtXHUwMDNlcGFja2V0X2lkID0gY3B1X3RvX2xlMzIoKmNvb2tpZSk7XG4rXHRtZl9wYXJhbXMtXHUwMDNlcGFja2V0X2lkID0gY3B1X3RvX2xlMzIoYXRvbWljX2luY19yZXR1cm4oXHUwMDI2YnJjbWZfY3l3X21nbXRfdHhfaWQpKTtcbiBcdG1lbWNweShtZl9wYXJhbXMtXHUwMDNlZGF0YSwgXHUwMDI2YnVmW0RPVDExX01HTVRfSERSX0xFTl0sXG4gXHQgICAgICAgbGUxNl90b19jcHUobWZfcGFyYW1zLVx1MDAzZWxlbikpO1xuIFxuQEAgLTIwMCw3ICsyMDIsNyBAQCBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIHtcbiBcdHN0cnVjdCBicmNtZl9pZiAqaWZwO1xuIFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2cjtcbi1cdHN0cnVjdCBicmNtZl9hdXRoX3JlcV9zdGF0dXNfbGUgYXV0aF9zdGF0dXM7XG4rXHRzdHJ1Y3QgYnJjbWZfYXV0aF9yZXFfc3RhdHVzX2xlIGF1dGhfc3RhdHVzID0ge307XG4gXHRpbnQgcmV0ID0gMDtcbiBcbiBcdGJyY21mX2RiZyhUUkFDRSwgXCJFbnRlclxcblwiKTtcbkBAIC0yMDgsNiArMjEwLDggQEAgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbiBcdGlmcCA9IG5ldGRldl9wcml2KGRldik7XG4gXHRkcnZyID0gaWZwLVx1MDAzZWRydnI7XG4gXHRpZiAocGFyYW1zLVx1MDAzZXN0YXR1cyA9PSBXTEFOX1NUQVRVU19TVUNDRVNTKSB7XG4rXHRcdGlmIChwYXJhbXMtXHUwMDNlcG1raWQpXG4rXHRcdFx0bWVtY3B5KGF1dGhfc3RhdHVzLnBta2lkLCBwYXJhbXMtXHUwMDNlcG1raWQsIFdMQU5fUE1LSURfTEVOKTtcbiBcdFx0YXV0aF9zdGF0dXMuZmxhZ3MgPSBjcHVfdG9fbGUxNihCUkNNRl9FWFRBVVRIX1NVQ0NFU1MpO1xuIFx0fSBlbHNlIHtcbiBcdFx0YnBoeV9lcnIoZHJ2ciwgXCJFeHRlcm5hbCBhdXRoZW50aWNhdGlvbiBmYWlsZWQ6IHN0YXR1cz0lZFxcblwiLFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDM6MTQuMzIwMDYyMzI4WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NjkzMTIyMDAyOCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBCcm9hZGNvbSBXaXJlbGVzcyBEcml2ZXIgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCBhIHBhdGNoIHdpdGhpbiBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNgLiBJdCdzIHRvdWNoaW5nIHR3byBmdW5jdGlvbnM6IGBicmNtZl9jeXdfbWdtdF90eGAgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAuIExldCdzIGJyZWFrIHRoaXMgZG93bi5cblxuSW4gYGJyY21mX2N5d19tZ210X3R4YCwgaXQgbG9va3MgbGlrZSB0aGV5J3ZlIGNoYW5nZWQgdGhlIHBhY2tldCBJRCBhc3NpZ25tZW50LiBPcmlnaW5hbGx5IGl0IHdhcyB1c2luZyBhIHBvaW50ZXIgdG8gYSBjb29raWUsIGBtZl9wYXJhbXMtXHUwMDNlcGFja2V0X2lkID0gY3B1X3RvX2xlMzIoKmNvb2tpZSk7YCwgbm93IGl0J3MgdXNpbmcgYW4gYXRvbWljIGluY3JlbWVudCwgYG1mX3BhcmFtcy1cdTAwM2VwYWNrZXRfaWQgPSBjcHVfdG9fbGUzMihhdG9taWNfaW5jX3JldHVybihcdTAwMjZicmNtZl9jeXdfbWdtdF90eF9pZCkpO2AuIFRoaXMgc2lnbmFscyBhIHBvdGVudGlhbCBmaXggZm9yIGEgcmFjZSBjb25kaXRpb24gb3IgYSBtb3JlIHJvYnVzdCBwYWNrZXQgaWRlbnRpZmljYXRpb24gc3lzdGVtLCBtb3ZpbmcgZnJvbSBhIGxpa2VseSBzaGFyZWQgb3IgZXh0ZXJuYWwgY29va2llIHRvIGEgcGVyLWZ1bmN0aW9uIGF0b21pYyBjb3VudGVyLlxuXG5JbiBgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGhgLCB0aGV5J3ZlIGluaXRpYWxpemVkIGBhdXRoX3N0YXR1c2AgdG8gYW4gZW1wdHkgc3RydWN0dXJlIGFuZCBhcmUgY29weWluZyB0aGUgUE1LSUQgZnJvbSBgcGFyYW1zYCB0byBgYXV0aF9zdGF0dXMucG1raWRgIGlmIHRoZSBQTUtJRCBpc24ndCBudWxsLiBBIHN0YW5kYXJkIGluaXRpYWxpemF0aW9uIG9mIHZhcmlhYmxlcyB0byBwcmV2ZW50IG1lbW9yeSBsZWFrcyBvciB1bmRlZmluZWQgYmVoYXZpb3IuXG5cbk5vdywgdGhlIGludGVyZXN0aW5nIHF1ZXN0aW9uIGlzOiBjYW4gSSB0cmlnZ2VyIHRoaXMgY29kZSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50PyBUaGlzIGlzIGEgYGJyY21mbWFjYCBCcm9hZGNvbSB3aXJlbGVzcyBkcml2ZXIsIHNvIG15IGZpcnN0IGluc3RpbmN0IGlzIHRoYXQgaXQncyBnb2luZyB0byBiZSB0cmlja3kuIFRoZXNlIGtpbmRzIG9mIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlcnMgb2Z0ZW4gcmVseSBvbiBkaXJlY3QgaGFyZHdhcmUgaW50ZXJhY3Rpb24sIHdoaWNoIGlzbid0IGFsd2F5cyBhdmFpbGFibGUgaW4gYSB2aXJ0dWFsIG1hY2hpbmUgdW5sZXNzIHdlJ3JlIHRhbGtpbmcgYWJvdXQgZW11bGF0ZWQgaGFyZHdhcmUuIEhvd2V2ZXIsIGBicmNtZm1hY2Agc3VwcG9ydHMgU0RJTywgVVNCLCBhbmQgUENJRS4gU2luY2UgVVNCIGhhcyB0aGUgaGlnaGVzdCBwb3RlbnRpYWwgZm9yIHNvZnR3YXJlIGVtdWxhdGlvbiwgdGhlIHByZXNlbmNlIG9mIFVTQiBzdXBwb3J0IGlzIGdvb2QgbmV3cy4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBgYnJjbWZtYWNgIGhhcyBVU0Igc3VwcG9ydC4gTGV0IG1lIGNoZWNrLi4uIEFoLCB5ZXMsIGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvdXNiLmNgIGV4aXN0cy4gR29vZC4gVVNCIGRldmljZXMgY2FuIGJlIGVtdWxhdGVkIGJ5IHN5emthbGxlciB2aWEgYSBVU0IgZ2FkZ2V0IChgZHVtbXlfaGNkYCkuIE5vdywgSSBqdXN0IG5lZWQgdG8gdmVyaWZ5IHRoYXQgYGJyY21mX2N5d19tZ210X3R4YCBpcyByZWFjaGFibGUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0MjQsIk91dHB1dFRva2VucyI6MjQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNTYsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowMzoyMS4yNTEyODUwMDZaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Mjk2NDU1MTIzNywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicmNtZl9jeXdfbWdtdF90eFwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yNS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyNjpzdGF0aWMgYXRvbWljX3QgYnJjbWZfY3l3X21nbXRfdHhfaWQgPSBBVE9NSUNfSU5JVCgwKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yNy1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTEwMz1zdGF0aWNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoxMDQ6aW50IGJyY21mX2N5d19tZ210X3R4KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMTA1LVxcdFxcdCAgICAgIHN0cnVjdCBjZmc4MDIxMV9tZ210X3R4X3BhcmFtcyAqcGFyYW1zLCB1NjQgKmNvb2tpZSlcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTE1OS1cXHRtZW1jcHkoXFx1MDAyNm1mX3BhcmFtcy1cXHUwMDNlYnNzaWRbMF0sIFxcdTAwMjZtZ210LVxcdTAwM2Vic3NpZFswXSwgRVRIX0FMRU4pO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjE2MDpcXHRtZl9wYXJhbXMtXFx1MDAzZXBhY2tldF9pZCA9IGNwdV90b19sZTMyKGF0b21pY19pbmNfcmV0dXJuKFxcdTAwMjZicmNtZl9jeXdfbWdtdF90eF9pZCkpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTE2MS1cXHRtZW1jcHkobWZfcGFyYW1zLVxcdTAwM2VkYXRhLCBcXHUwMDI2YnVmW0RPVDExX01HTVRfSERSX0xFTl0sXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0yMzY9c3RhdGljIHZvaWQgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yMzcte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjIzODpcXHRkcnZyLVxcdTAwM2VvcHMtXFx1MDAzZW1nbXRfdHggPSBicmNtZl9jeXdfbWdtdF90eDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yMzktXFx0ZHJ2ci1cXHUwMDNlb3BzLVxcdTAwM2VleHRlcm5hbF9hdXRoID0gYnJjbWZfY3l3X2V4dGVybmFsX2F1dGg7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjAzOjI0LjIxNTg0MDc5MloiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ3MDE3OTgwMTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRXhhbWluaW5nIHRoZSBCUkNNRiBDb25maWd1cmF0aW9uIE9wZXJhdGlvbnMqKlxuXG5Pa2F5LCBzbyBJJ20gZGlnZ2luZyBpbnRvIGhvdyB0aGUgQnJvYWRjb20gZmlybXdhcmUgaW50ZXJhY3RzIHdpdGggdGhlIGNmZzgwMjExIHdpcmVsZXNzIHN0YWNrLiBJIHNlZSB0aGF0IHRoZSBgYnJjbWZfY3l3X21nbXRfdHhgIGZ1bmN0aW9uIGlzIGJlaW5nIGFzc2lnbmVkIGFzIHRoZSBgZHJ2ci1cdTAwM2VvcHMtXHUwMDNlbWdtdF90eGAgaGFuZGxlciwgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAgaXMgYXNzaWduZWQgdG8gYGRydnItXHUwMDNlb3BzLVx1MDAzZWV4dGVybmFsX2F1dGhgLiBUaGlzIGlzIHN0YW5kYXJkIHByYWN0aWNlIGZvciBwcm92aWRpbmcgdGhlIG5lY2Vzc2FyeSBjYWxsYmFja3MgZm9yIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiB3aXRoaW4gdGhlIGRyaXZlci5cblxuTm93LCBJIHVuZGVyc3RhbmQgdGhhdCBgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHNgIGlzIHRoZSBrZXkgZnVuY3Rpb24gdG8gZ2V0IHRoZXNlIG9wZXJhdGlvbnMsIHNvIEkgcmVhbGx5IG5lZWQgdG8gdHJhY2UgZG93biB3aGVyZSAqdGhhdCogaXMgYmVpbmcgY2FsbGVkLiBUaGF0J3Mgd2hlcmUgdGhlIGludGVyZXN0aW5nIHN0dWZmIHVzdWFsbHkgaXMuIExldCdzIHNlZSB3aGVyZSB0aGF0IGlzIHVzZWQsIGFuZCBob3cgdGhlc2UgZnVuY3Rpb25zIGdldCBpbnZva2VkIGluIGEgcnVubmluZyBzeXN0ZW0uIExldCdzIGZpZ3VyZSBvdXQgdGhlIG9wZXJhdGlvbmFsIGZsb3cuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQwMDMsIk91dHB1dFRva2VucyI6MzEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMDMsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDM6MjguOTE3NjQwOTUyWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI0MTY2MzE4NDQsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MjAwPWJyY21mX2N5d19leHRlcm5hbF9hdXRoKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yMzUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MjM2OnN0YXRpYyB2b2lkIGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjM3LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTM3MD1jb25zdCBzdHJ1Y3QgYnJjbWZfZnd2aWRfb3BzIGJyY21mX2N5d19vcHMgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNzMtXFx0LmFjdGl2YXRlX2V2ZW50cyA9IGJyY21mX2N5d19hY3RpdmF0ZV9ldmVudHMsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6Mzc0OlxcdC5nZXRfY2ZnODAyMTFfb3BzID0gYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHMsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzc1LVxcdC5yZWdpc3Rlcl9ldmVudF9oYW5kbGVycyA9IGJyY21mX2N5d19yZWdpc3Rlcl9ldmVudF9oYW5kbGVycyxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDM6MzEuMzM0Mjc5NTc3WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjM4NDcyMDA4NzgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgc3VtbWFyaXplZCBmcm9tIG15IHBlcnNwZWN0aXZlIGFzIGFuIGV4cGVydCBpbiB0aGUgZmllbGQ6XG5cbioqQW5hbHl6aW5nIHRoZSBicmNtZl9jeXdfb3BzIFN0cnVjdHVyZSoqXG5cblJpZ2h0LCBzbyBgYnJjbWZfY3l3X29wc2AgaXMgZGVmaW5lZCBhcyBhIGBicmNtZl9md3ZpZF9vcHNgLiBUaGF0IGltbWVkaWF0ZWx5IHRlbGxzIG1lIGl0J3MgbGlrZWx5IGEgc3RydWN0dXJlIGNvbnRhaW5pbmcgZnVuY3Rpb24gcG9pbnRlcnMgcmVsYXRlZCB0byBmaXJtd2FyZSB2aWRlbyBvcGVyYXRpb25zIHdpdGhpbiB0aGUgQnJvYWRjb20gV2ktRmkgZHJpdmVyIGZyYW1ld29yay4gTXkgbmV4dCBzdGVwIGlzIGNsZWFyOiBJIG5lZWQgdG8gdHJhY2UgdGhlIHVzYWdlIG9mIGBicmNtZl9jeXdfb3BzYCB3aXRoaW4gdGhlIGNvZGViYXNlLiBVbmRlcnN0YW5kaW5nIHdoZXJlIHRoaXMgc3RydWN0dXJlIGlzIGluc3RhbnRpYXRlZCBhbmQsIG1vcmUgaW1wb3J0YW50bHksICpob3cqIGl0cyBmdW5jdGlvbiBwb2ludGVycyBhcmUgdXRpbGl6ZWQgd2lsbCBiZSBjcml0aWNhbCB0byBncmFzcGluZyBpdHMgcm9sZSBpbiB0aGUgZHJpdmVyJ3Mgb3ZlcmFsbCBvcGVyYXRpb24uIEkgd2FudCB0byBzZWUgaG93IHRoZXNlIGZpcm13YXJlIHZpZGVvIG9wZXJhdGlvbnMgYXJlIGJlaW5nIGxldmVyYWdlZC4gQXJlIHRoZXkgaW52b2x2ZWQgaW4gY2FwdHVyaW5nLCBwcm9jZXNzaW5nLCBvciB0cmFuc21pdHRpbmcgdmlkZW8gZGF0YSBvdmVyIFdpLUZpPyBBcmUgdGhlcmUgYW55IGRhdGEgZmxvd3MgaW52b2x2ZWQgdGhhdCBJIHNob3VsZCBiZSBhd2FyZSBvZj8gVGhpcyB3aWxsIGhlbHAgbWUgZGV2ZWxvcCBteSBmdWxsIHVuZGVyc3RhbmRpbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ3NzYsIk91dHB1dFRva2VucyI6MjIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo0MSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowMzo1NS4xODE0ODI1NjRaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjQxODYwMzI1NCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicmNtZl9jeXdfb3BzXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTM1OD1zdGF0aWMgdm9pZCBicmNtZl9jeXdfcmVnaXN0ZXJfZXZlbnRfaGFuZGxlcnMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM2OS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzozNzA6Y29uc3Qgc3RydWN0IGJyY21mX2Z3dmlkX29wcyBicmNtZl9jeXdfb3BzID0ge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM3MS1cXHQuc2V0X3NhZV9wYXNzd29yZCA9IGJyY21mX2N5d19zZXRfc2FlX3B3ZCxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvbW9kdWxlLmM9MTI9c3RhdGljIGludCBfX2luaXQgYnJjbWZfY3l3X2luaXQodm9pZClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvbW9kdWxlLmMtMTQtXFx0cmV0dXJuIGJyY21mX2Z3dmlkX3JlZ2lzdGVyX3ZlbmRvcihCUkNNRl9GV1ZFTkRPUl9DWVcsIFRISVNfTU9EVUxFLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvbW9kdWxlLmM6MTU6XFx0XFx0XFx0XFx0XFx0ICAgXFx1MDAyNmJyY21mX2N5d19vcHMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvbW9kdWxlLmMtMTYtfVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy92b3BzLmgtNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L3ZvcHMuaDo4OmV4dGVybiBjb25zdCBzdHJ1Y3QgYnJjbWZfZnd2aWRfb3BzIGJyY21mX2N5d19vcHM7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy92b3BzLmg6OTojZGVmaW5lIENZV19WT1BTXFx0KFxcdTAwMjZicmNtZl9jeXdfb3BzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvdm9wcy5oLTEwLVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowMzo1Ny42MDAwOTE1NzhaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0Mzk0NTA5NTc1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFuYWx5c2lzIG9mIHRoZSBgYnJjbWZtYWNgIERyaXZlcioqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgYEJSQ01GX0ZXVkVORE9SX0NZV2AgcmVnaXN0cmF0aW9uLCB3aGljaCBpcyBjbGVhcmx5IGxpbmtpbmcgdXAgdGhlIGZpcm13YXJlIHZlbmRvciBpbmZvcm1hdGlvbiB3aXRoIHRoZSBgYnJjbWZfY3l3X29wc2Agb3BlcmF0aW9ucy4gVGhhdCBtYWtlcyBzZW5zZSwgc3RhbmRhcmQgZHJpdmVyIGluaXRpYWxpemF0aW9uLlxuXG5Ob3csIG15IG1pbmQgc3RhcnRzIHJhY2luZyB0b3dhcmRzIGZ1enppbmcuIEkgcmVjYWxsIHRoYXQgdGhlIGBicmNtZm1hY2AgZHJpdmVyIGhhcyBhIGZldyBhdHRhY2sgc3VyZmFjZXMuIEkgY2FuIHRyeSB0aGUgdXN1YWwgc3VzcGVjdHM6IFVTQiBnYWRnZXQgc2V0dXAgb3IgZXZlbiBgbWFjODAyMTFfaHdzaW1gLiBCdXQgd2FpdCwgdGhhdCBsYXN0IG9uZSBpcyB0cmlja3kgc2luY2UgYGJyY21mbWFjYCBpcyBhICpmdWxsbWFjKiBkcml2ZXIsIHNvIGl0IHVzZXMgYGNmZzgwMjExYCBkaXJlY3RseSBhbmQgbm90IGBtYWM4MDIxMWAuIFNvIGBod3NpbWAgaXMgbm90IHRoZSBiZXN0IGFwcHJvYWNoLi4uXG5cblRoZW4gaXQgaGl0cyBtZSEgYGJyY21mbWFjYCAqZG9lcyogaGF2ZSBhIFVTQiBpbnRlcmZhY2UhIEFoYSEgU3l6a2FsbGVyISBXZSBjYW4gcHJvYmFibHkgdGFyZ2V0IGl0IHVzaW5nIGBkdW1teV9oY2RgLiBUaGF0IHNob3VsZCBvcGVuIGEganVpY3kgYXR0YWNrIHN1cmZhY2UhIEknbGwgcXVpY2tseSBjaGVjayBpZiBgQlJDTUZNQUNfVVNCYCBpcyBldmVuIGVuYWJsZWQgaW4gdGhlIGNvbmZpZy4gVGhhdCdzIHRoZSBuZXh0IGxvZ2ljYWwgc3RlcC5cblxuXG4iLCJJbnB1dFRva2VucyI6NTYyNSwiT3V0cHV0VG9rZW5zIjoyMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEzMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNDowMS45OTQ2MDMyODNaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI0NjQyMDc0NTQsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJSQ01GTUFDX1VTQlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZz0xNz1jb25maWcgQlJDTUZNQUNfU0RJT1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMjgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6Mjk6Y29uZmlnIEJSQ01GTUFDX1VTQlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTMwLVxcdGJvb2wgXFxcIlVTQiBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNDowNC40NTg4MTc0NTdaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTQ2MTM3MzI5NzQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBCUkNNRk1BQ19VU0IgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGNvbmZpcm1lZCB0aGF0IGBCUkNNRk1BQ19VU0JgIGlzIGRlZmluaXRlbHkgYSB0aGluZywgZ29vZCBzdGFydC4gTm93LCBsZXQncyBkaXZlIGludG8gdGhlIGNvcmUgb2YgdGhpcyBwYXRjaC4gSXQgbG9va3MgbGlrZSBpdCdzIHRvdWNoaW5nIGBicmNtZl9jeXdfbWdtdF90eGAgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAuIFJpZ2h0LCB0aG9zZSBmdW5jdGlvbnMgYXJlIGNhbGxlZCBieSBgY2ZnODAyMTFgLCB0aGUgc3RhbmRhcmQgd2lyZWxlc3MgY29uZmlndXJhdGlvbiBpbnRlcmZhY2UsIHNwZWNpZmljYWxseSBkdXJpbmcgbWFuYWdlbWVudCBmcmFtZSB0cmFuc21pc3Npb24gYW5kIGV4dGVybmFsIGF1dGhlbnRpY2F0aW9uIHByb2NlZHVyZXMsIHdoaWNoIG1ha2VzIHNlbnNlLiBIbW0sIGBicmNtZl9jeXdfbWdtdF90eGAgaXMgYmVpbmcgYXNzaWduZWQgdG8gYGRydnItXHUwMDNlb3BzLVx1MDAzZW1nbXRfdHhgLiBUaGlzIGlzIGludGVyZXN0aW5nOyBgZHJ2cmAgaXMgbGlrZWx5IHRoZSBkcml2ZXIgY29udGV4dCBhbmQgYG9wc2AgaXMgdGhlIGRyaXZlciBvcGVyYXRpb24gc3RydWN0dXJlLiBTbywgdGhpcyBwYXRjaCBpcyBlc3NlbnRpYWxseSBpbmplY3RpbmcgYSBjdXN0b20gbWdtdF90eCBoYW5kbGVyLiBUaGUgY3J1Y2lhbCBuZXh0IHN0ZXAgaXMgdG8gZmlndXJlIG91dCAqd2hlcmUqIHRoYXQgYGRydnItXHUwMDNlb3BzLVx1MDAzZW1nbXRfdHhgIGZ1bmN0aW9uIGlzIGFjdHVhbGx5IGJlaW5nICp1c2VkKi4gVGhhdCdzIHdoZXJlIHRoZSByZWFsIGltcGFjdCBvZiB0aGlzIGNoYW5nZSB3aWxsIGJlIHJldmVhbGVkLlxuXG5cbiIsIklucHV0VG9rZW5zIjo2MTgzLCJPdXRwdXRUb2tlbnMiOjE5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTEzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjA0OjE5LjA3MjU1MjkzMVoiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzAwMzM2Mzg5NiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJvcHMtXFx1MDAzZW1nbXRfdHhcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MjM2PXN0YXRpYyB2b2lkIGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjM3LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyMzg6XFx0ZHJ2ci1cXHUwMDNlb3BzLVxcdTAwM2VtZ210X3R4ID0gYnJjbWZfY3l3X21nbXRfdHg7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjM5LVxcdGRydnItXFx1MDAzZW9wcy1cXHUwMDNlZXh0ZXJuYWxfYXV0aCA9IGJyY21mX2N5d19leHRlcm5hbF9hdXRoO1xcbi0tXFxubmV0L3dpcmVsZXNzL21sbWUuYz04NTI9aW50IGNmZzgwMjExX21sbWVfbWdtdF90eChzdHJ1Y3QgY2ZnODAyMTFfcmVnaXN0ZXJlZF9kZXZpY2UgKnJkZXYsXFxuLS1cXG5uZXQvd2lyZWxlc3MvbWxtZS5jLTg2My1cXG5uZXQvd2lyZWxlc3MvbWxtZS5jOjg2NDpcXHRpZiAoIXJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlbWdtdF90eClcXG5uZXQvd2lyZWxlc3MvbWxtZS5jLTg2NS1cXHRcXHRyZXR1cm4gLUVPUE5PVFNVUFA7XFxuLS1cXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jPTE0NTMyPXN0YXRpYyBpbnQgbmw4MDIxMV9yZWdpc3Rlcl9tZ210KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXFxuLS1cXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE0NTcxLVxcdC8qIG5vdCBtdWNoIHBvaW50IGluIHJlZ2lzdGVyaW5nIGlmIHdlIGNhbid0IHJlcGx5ICovXFxubmV0L3dpcmVsZXNzL25sODAyMTEuYzoxNDU3MjpcXHRpZiAoIXJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlbWdtdF90eClcXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE0NTczLVxcdFxcdHJldHVybiAtRU9QTk9UU1VQUDtcXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmM9MTQ1OTA9c3RhdGljIGludCBubDgwMjExX3R4X21nbXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMTQ2MDYtXFxubmV0L3dpcmVsZXNzL25sODAyMTEuYzoxNDYwNzpcXHRpZiAoIXJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlbWdtdF90eClcXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE0NjA4LVxcdFxcdHJldHVybiAtRU9QTk9UU1VQUDtcXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmM9MTQ3MzU9c3RhdGljIGludCBubDgwMjExX3R4X21nbXRfY2FuY2VsX3dhaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMTQ3NDMtXFxubmV0L3dpcmVsZXNzL25sODAyMTEuYzoxNDc0NDpcXHRpZiAoIXJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlbWdtdF90eF9jYW5jZWxfd2FpdClcXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE0NzQ1LVxcdFxcdHJldHVybiAtRU9QTk9UU1VQUDtcXG4tLVxcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oPTc2MT1zdGF0aWMgaW5saW5lIGludCByZGV2X21nbXRfdHgoc3RydWN0IGNmZzgwMjExX3JlZ2lzdGVyZWRfZGV2aWNlICpyZGV2LFxcbi0tXFxubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmgtNzY3LVxcdHRyYWNlX3JkZXZfbWdtdF90eChcXHUwMDI2cmRldi1cXHUwMDNld2lwaHksIHdkZXYsIHBhcmFtcyk7XFxubmV0L3dpcmVsZXNzL3JkZXYtb3BzLmg6NzY4OlxcdHJldCA9IHJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlbWdtdF90eChcXHUwMDI2cmRldi1cXHUwMDNld2lwaHksIHdkZXYsIHBhcmFtcywgY29va2llKTtcXG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaC03NjktXFx0dHJhY2VfcmRldl9yZXR1cm5faW50X2Nvb2tpZShcXHUwMDI2cmRldi1cXHUwMDNld2lwaHksIHJldCwgKmNvb2tpZSk7XFxuLS1cXG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaD03OTM9cmRldl9tZ210X3R4X2NhbmNlbF93YWl0KHN0cnVjdCBjZmc4MDIxMV9yZWdpc3RlcmVkX2RldmljZSAqcmRldixcXG4tLVxcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oLTc5Ny1cXHR0cmFjZV9yZGV2X21nbXRfdHhfY2FuY2VsX3dhaXQoXFx1MDAyNnJkZXYtXFx1MDAzZXdpcGh5LCB3ZGV2LCBjb29raWUpO1xcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oOjc5ODpcXHRyZXQgPSByZGV2LVxcdTAwM2VvcHMtXFx1MDAzZW1nbXRfdHhfY2FuY2VsX3dhaXQoXFx1MDAyNnJkZXYtXFx1MDAzZXdpcGh5LCB3ZGV2LCBjb29raWUpO1xcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oLTc5OS1cXHR0cmFjZV9yZGV2X3JldHVybl9pbnQoXFx1MDAyNnJkZXYtXFx1MDAzZXdpcGh5LCByZXQpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNDoyMi4wNzU5MjUzMDdaIiwiU2VxIjoxMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjQyMjU5MjczMTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGxldCdzIHNlZS4uLlxuXG4qKlZlcmlmeWluZyB0aGUgRHJpdmVyJ3MgY2ZnODAyMTEgT3BlcmF0aW9ucyoqXG5cblJpZ2h0LCBzbyBJJ20gbG9va2luZyBhdCBgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHNgLCBhbmQgaXQncyBrZXkgdGhhdCBgZHJ2ci1cdTAwM2VvcHNgIGhlcmUgaXMgYWN0dWFsbHkgcG9pbnRpbmcgdG8gYSBgc3RydWN0IGNmZzgwMjExX29wc2AuIEkgbmVlZCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4gYWJvdXQgdGhpcyBiZWZvcmUgcHJvY2VlZGluZy4gQSBtaXN0YWtlIGhlcmUgd291bGQgYmUgYSBuaWdodG1hcmUgdG8gZGVidWcgbGF0ZXIuIEknbGwgdGFrZSBhIG1vbWVudCB0byBjb25maXJtIHRoYXQgdGhpcyBzdHJ1Y3R1cmUgYXNzaWdubWVudCBpcyBpbmRlZWQgd2hhdCBJIGV4cGVjdC4gSSBuZWVkIHRvIHRydXN0IGJ1dCB2ZXJpZnkgLSBsZXQncyBlbnN1cmUgdGhlIGRhdGEgc3RydWN0dXJlcyBhcmUgYWxpZ25lZCBhcyB0aGUgY29kZSBjbGFpbXMgdGhleSBhcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjc2MjIsIk91dHB1dFRva2VucyI6MjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo0NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNDo0Ni4zMDE4NTQ0MzFaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI3MDQ1NjM5MTEsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwic3RydWN0IGJyY21mX3B1YlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJcXG5GdWxsIG91dHB1dCBpcyB0b28gbG9uZywgc2hvd2luZyA1MDAgb3V0IG9mIDE1MjggbGluZXMuXFxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxcblxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2EvY29yZS5jPTE2PXN0YXRpYyB2b2lkIGJyY21mX2JjYV9mZWF0X2F0dGFjaChzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2EvY29yZS5jLTIxLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2EvY29yZS5jOjIyOnN0YXRpYyBpbnQgYnJjbWZfYmNhX2FsbG9jX2Z3ZWhfaW5mbyhzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2EvY29yZS5jLTIzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9OTI9c3RydWN0IGJyY21mX2JjZGMge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0xMDAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzoxMDE6c3RydWN0IGJyY21mX2Z3c19pbmZvICpkcnZyX3RvX2Z3cyhzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMTAyLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9MTA4PXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjEwOTpicmNtZl9wcm90b19iY2RjX21zZyhzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLCBpbnQgaWZpZHgsIHVpbnQgY21kLCB2b2lkICpidWYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0xMTAtXFx0XFx0ICAgICB1aW50IGxlbiwgYm9vbCBzZXQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTEzOS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjE0MDpzdGF0aWMgaW50IGJyY21mX3Byb3RvX2JjZGNfY21wbHQoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgdTMyIGlkLCB1MzIgbGVuKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMTQxLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9MTU3PXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjE1ODpicmNtZl9wcm90b19iY2RjX3F1ZXJ5X2RjbWQoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgaW50IGlmaWR4LCB1aW50IGNtZCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTE1OS1cXHRcXHRcXHQgICAgdm9pZCAqYnVmLCB1aW50IGxlbiwgaW50ICpmd2VycilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9MjE1PXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjIxNjpicmNtZl9wcm90b19iY2RjX3NldF9kY21kKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCwgdWludCBjbWQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0yMTctXFx0XFx0XFx0ICB2b2lkICpidWYsIHVpbnQgbGVuLCBpbnQgKmZ3ZXJyKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0yNTY9c3RhdGljIHZvaWRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjI1NzpicmNtZl9wcm90b19iY2RjX2hkcnB1c2goc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgaW50IGlmaWR4LCB1OCBvZmZzZXQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0yNTgtXFx0XFx0XFx0IHN0cnVjdCBza19idWZmICpwa3RidWYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jPTI4MD1zdGF0aWMgaW50XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzoyODE6YnJjbWZfcHJvdG9fYmNkY19oZHJwdWxsKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGJvb2wgZG9fZndzLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMjgyLVxcdFxcdFxcdCBzdHJ1Y3Qgc2tfYnVmZiAqcGt0YnVmLCBzdHJ1Y3QgYnJjbWZfaWYgKippZnApXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTMzMi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjMzMzpzdGF0aWMgaW50IGJyY21mX3Byb3RvX2JjZGNfdHhfcXVldWVfZGF0YShzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLCBpbnQgaWZpZHgsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0zMzQtXFx0XFx0XFx0XFx0XFx0ICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYz0zNDU9c3RhdGljIGludFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM6MzQ2OmJyY21mX3Byb3RvX2JjZGNfdHhkYXRhKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCwgdTggb2Zmc2V0LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtMzQ3LVxcdFxcdFxcdHN0cnVjdCBza19idWZmICpwa3RidWYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jPTM1Mz12b2lkIGJyY21mX3Byb3RvX2JjZGNfdHhmbG93YmxvY2soc3RydWN0IGRldmljZSAqZGV2LCBib29sIHN0YXRlKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0zNTUtXFx0c3RydWN0IGJyY21mX2J1cyAqYnVzX2lmID0gZGV2X2dldF9kcnZkYXRhKGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzozNTY6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGJ1c19pZi1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTM1Ny1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9MzgyPXN0YXRpYyB2b2lkXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzozODM6YnJjbWZfcHJvdG9fYmNkY19jb25maWd1cmVfYWRkcl9tb2RlKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTM4NC1cXHRcXHRcXHRcXHQgICAgIGVudW0gcHJvdG9fYWRkcl9tb2RlIGFkZHJfbW9kZSlcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9Mzg4PXN0YXRpYyB2b2lkXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzozODk6YnJjbWZfcHJvdG9fYmNkY19kZWxldGVfcGVlcihzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLCBpbnQgaWZpZHgsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy0zOTAtXFx0XFx0XFx0ICAgICB1OCBwZWVyW0VUSF9BTEVOXSlcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmM9Mzk0PXN0YXRpYyB2b2lkXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzozOTU6YnJjbWZfcHJvdG9fYmNkY19hZGRfdGRsc19wZWVyKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsIGludCBpZmlkeCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTM5Ni1cXHRcXHRcXHQgICAgICAgdTggcGVlcltFVEhfQUxFTl0pXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jPTQyND1zdGF0aWMgaW50XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzo0MjU6YnJjbWZfcHJvdG9fYmNkY19pbml0X2RvbmUoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTQyNi17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jLTQzNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5jOjQzODpzdGF0aWMgdm9pZCBicmNtZl9wcm90b19iY2RjX2RlYnVnZnNfY3JlYXRlKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy00Mzkte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy00NDItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzo0NDM6aW50IGJyY21mX3Byb3RvX2JjZGNfYXR0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy00NDQte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYy00ODItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuYzo0ODM6dm9pZCBicmNtZl9wcm90b19iY2RjX2RldGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmMtNDg0LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmgtOC0jaWZkZWYgQ09ORklHX0JSQ01GTUFDX1BST1RPX0JDRENcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oOjk6aW50IGJyY21mX3Byb3RvX2JjZGNfYXR0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmg6MTA6dm9pZCBicmNtZl9wcm90b19iY2RjX2RldGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oLTExLXZvaWQgYnJjbWZfcHJvdG9fYmNkY190eGZsb3dibG9jayhzdHJ1Y3QgZGV2aWNlICpkZXYsIGJvb2wgc3RhdGUpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmg9MTI9dm9pZCBicmNtZl9wcm90b19iY2RjX3R4Y29tcGxldGUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqdHhwLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmgtMTMtXFx0XFx0XFx0XFx0IGJvb2wgc3VjY2Vzcyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2JjZGMuaDoxNDpzdHJ1Y3QgYnJjbWZfZndzX2luZm8gKmRydnJfdG9fZndzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmgtMTUtI2Vsc2VcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oOjE2OnN0YXRpYyBpbmxpbmUgaW50IGJyY21mX3Byb3RvX2JjZGNfYXR0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpIHsgcmV0dXJuIDA7IH1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYmNkYy5oOjE3OnN0YXRpYyBpbmxpbmUgdm9pZCBicmNtZl9wcm90b19iY2RjX2RldGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKSB7fVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9iY2RjLmgtMTgtI2VuZGlmXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvYnVzLmg9MTY1PXN0cnVjdCBicmNtZl9idXMge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2J1cy5oLTE3Mi1cXHRzdHJ1Y3QgZGV2aWNlICpkZXY7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2J1cy5oOjE3MzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9idXMuaC0xNzQtXFx0ZW51bSBicmNtZl9idXNfc3RhdGUgc3RhdGU7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01NDc9c2VuZF9rZXlfdG9fZG9uZ2xlKHN0cnVjdCBicmNtZl9pZiAqaWZwLCBzdHJ1Y3QgYnJjbWZfd3NlY19rZXkgKmtleSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01NDgte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjU0OTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU1MC1cXHRpbnQgZXJyO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTY2PWJyY21mX2NmZzgwMjExX3VwZGF0ZV9wcm90b19hZGRyX21vZGUoc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU4My1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1ODQ6c3RhdGljIGludCBicmNtZl9nZXRfZmlyc3RfZnJlZV9ic3NjZmdpZHgoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODUte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NzA2PXN0YXRpYyBpbnQgYnJjbWZfY2ZnODAyMTFfcmVxdWVzdF9hcF9pZihzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcxMS1cXHR1MzIgaWZhY2VfY3JlYXRlX3ZlcjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo3MTI6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy03MTMtXFx0c3RydWN0IGJyY21mX21ic3Nfc3NpZF9sZSBtYnNzX3NzaWRfbGU7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz04MjA9c3RydWN0IHdpcmVsZXNzX2RldiAqYnJjbWZfYXBzdGFfYWRkX3ZpZihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBjb25zdCBjaGFyICpuYW1lLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtODI1LVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYoY2ZnX3RvX25kZXYoY2ZnKSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6ODI2OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy04MjctXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9OTc3PXN0YXRpYyBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICpicmNtZl9jZmc4MDIxMV9hZGRfaWZhY2Uoc3RydWN0IHdpcGh5ICp3aXBoeSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTk4My1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gd2lwaHlfdG9fY2ZnKHdpcGh5KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo5ODQ6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTk4NS1cXHRzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2O1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTAzMT12b2lkIGJyY21mX3NldF9tcGMoc3RydWN0IGJyY21mX2lmICppZnAsIGludCBtcGMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTAzMi17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTAzMzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTEwMzQtXFx0czMyIGVyciA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xMTgzPXMzMiBicmNtZl9ub3RpZnlfZXNjYW5fY29tcGxldGUoc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTExODYte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjExODc6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTExODgtXFx0c3RydWN0IGJyY21mX3NjYW5fcGFyYW1zX3YyX2xlIHBhcmFtc192Ml9sZTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTEyNjM9c3RhdGljIGludCBicmNtZl9jZmc4MDIxMV9kZWxfYXBzdGFfaWZhY2Uoc3RydWN0IHdpcGh5ICp3aXBoeSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTEyNjgtXFx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxMjY5OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xMjcwLVxcdGludCByZXQ7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xMzQyPWJyY21mX2NmZzgwMjExX2NoYW5nZV9pZmFjZShzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTEzNDgtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmID0gaWZwLVxcdTAwM2V2aWY7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTM0OTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTM1MC1cXHRzMzIgaW5mcmEgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTQ0Mj1icmNtZl9ydW5fZXNjYW4oc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZywgc3RydWN0IGJyY21mX2lmICppZnAsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNDQ0LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxNDQ1OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNDQ2LVxcdHMzMiBwYXJhbXNfc2l6ZSA9IEJSQ01GX1NDQU5fUEFSQU1TX1YyX0ZJWEVEX1NJWkUgK1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTUzMD1icmNtZl9jZmc4MDIxMV9zY2FuKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBjZmc4MDIxMV9zY2FuX3JlcXVlc3QgKnJlcXVlc3QpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNTMyLVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcgPSB3aXBoeV90b19jZmcod2lwaHkpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjE1MzM6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE1MzQtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTU5OD1zdGF0aWMgczMyIGJyY21mX3NldF9ydHMoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsIHUzMiBydHNfdGhyZXNob2xkKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTYwMC1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KG5kZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjE2MDE6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNjAyLVxcdHMzMiBlcnIgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MTYxMT1zdGF0aWMgczMyIGJyY21mX3NldF9mcmFnKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LCB1MzIgZnJhZ190aHJlc2hvbGQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNjEzLVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTYxNDpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE2MTUtXFx0czMyIGVyciA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xNjI1PXN0YXRpYyBzMzIgYnJjbWZfc2V0X3JldHJ5KHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LCB1MzIgcmV0cnksIGJvb2wgbClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE2MjctXFx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxNjI4OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTYyOS1cXHRzMzIgZXJyID0gMDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTE3MDk9aW50IGJyY21mX3NldF93c2VjKHN0cnVjdCBicmNtZl9pZiAqaWZwLCBjb25zdCB1OCAqa2V5LCB1MTYga2V5X2xlbiwgdTE2IGZsYWdzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE3MTAte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjE3MTE6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNzEyLVxcdHN0cnVjdCBicmNtZl93c2VjX3Bta19sZSBwbWs7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xNzQ0PXN0YXRpYyB2b2lkIGJyY21mX2xpbmtfZG93bihzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfdmlmICp2aWYsIHUxNiByZWFzb24sXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNzQ3LVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcgPSB3aXBoeV90b19jZmcodmlmLVxcdTAwM2V3ZGV2LndpcGh5KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxNzQ4OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0xNzQ5LVxcdGJvb2wgYnVzX3VwID0gZHJ2ci1cXHUwMDNlYnVzX2lmLVxcdTAwM2VzdGF0ZSA9PSBCUkNNRl9CVVNfVVA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xNzgzPWJyY21mX2NmZzgwMjExX2pvaW5faWJzcyhzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTE3ODgtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBcXHUwMDI2aWZwLVxcdTAwM2V2aWYtXFx1MDAzZXByb2ZpbGU7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MTc4OTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTc5MC1cXHRzdHJ1Y3QgYnJjbWZfam9pbl9wYXJhbXMgam9pbl9wYXJhbXM7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0xOTU2PXN0YXRpYyBzMzIgYnJjbWZfc2V0X3dwYV92ZXJzaW9uKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTk2MC1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfcHJvZmlsZSAqcHJvZmlsZSA9IG5kZXZfdG9fcHJvZihuZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxOTYxOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTk2Mi1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfc2VjdXJpdHkgKnNlYztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTE5OTA9c3RhdGljIHMzMiBicmNtZl9zZXRfYXV0aF90eXBlKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTk5NC1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfcHJvZmlsZSAqcHJvZmlsZSA9IG5kZXZfdG9fcHJvZihuZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoxOTk1OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMTk5Ni1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfc2VjdXJpdHkgKnNlYztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTIwMzA9YnJjbWZfc2V0X3dzZWNfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIwMzQtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBuZGV2X3RvX3Byb2YobmRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjAzNTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIwMzYtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3NlY3VyaXR5ICpzZWM7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yMTA3PWJyY21mX3NldF9rZXlfbWdtdChzdHJ1Y3QgbmV0X2RldmljZSAqbmRldiwgc3RydWN0IGNmZzgwMjExX2Nvbm5lY3RfcGFyYW1zICpzbWUpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMTEwLVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gXFx1MDAyNmlmcC1cXHUwMDNldmlmLVxcdTAwM2Vwcm9maWxlO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjIxMTE6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMTEyLVxcdHMzMiB2YWw7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yMjUyPWJyY21mX3NldF9zaGFyZWRrZXkoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMjU1LVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjI1NjpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIyNTctXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBuZGV2X3RvX3Byb2YobmRldik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0yMzMxPXN0YXRpYyB2b2lkIGJyY21mX3NldF9qb2luX3ByZWYoc3RydWN0IGJyY21mX2lmICppZnAsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yMzMzLXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyMzM0OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjMzNS1cXHRzdHJ1Y3QgYnJjbWZfam9pbl9wcmVmX3BhcmFtcyBqb2luX3ByZWZfcGFyYW1zWzJdO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjM3Nz1icmNtZl9jZmc4MDIxMV9jb25uZWN0KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjM4My1cXHRzdHJ1Y3QgaWVlZTgwMjExX2NoYW5uZWwgKmNoYW4gPSBzbWUtXFx1MDAzZWNoYW5uZWw7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjM4NDpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTIzODUtXFx0c3RydWN0IGJyY21mX2pvaW5fcGFyYW1zIGpvaW5fcGFyYW1zO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjYxNj1icmNtZl9jZmc4MDIxMV9kaXNjb25uZWN0KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjYyMS1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfcHJvZmlsZSAqcHJvZmlsZSA9IFxcdTAwMjZpZnAtXFx1MDAzZXZpZi1cXHUwMDNlcHJvZmlsZTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyNjIyOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yNjIzLVxcdHN0cnVjdCBicmNtZl9zY2JfdmFsX2xlIHNjYnZhbDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTI2NDg9YnJjbWZfY2ZnODAyMTFfc2V0X3R4X3Bvd2VyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yNjU0LVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjY1NTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjY1Ni1cXHRzMzIgZXJyO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MjcwMD1icmNtZl9jZmc4MDIxMV9nZXRfdHhfcG93ZXIoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTI3MDQtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmID0gd2Rldl90b192aWYod2Rldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjcwNTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjcwNi1cXHRzMzIgcWRibTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTI3MjY9YnJjbWZfY2ZnODAyMTFfY29uZmlnX2RlZmF1bHRfa2V5KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjczMC1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KG5kZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjI3MzE6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yNzMyLVxcdHUzMiBpbmRleDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTI3OTk9YnJjbWZfY2ZnODAyMTFfYWRkX2tleShzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjgwNC1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KHdkZXYtXFx1MDAzZW5ldGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MjgwNTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjgwNi1cXHRzdHJ1Y3QgYnJjbWZfd3NlY19rZXkgKmtleTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTI5MjE9YnJjbWZfY2ZnODAyMTFfZ2V0X2tleShzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjkzMC1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfcHJvZmlsZSAqcHJvZmlsZSA9IFxcdTAwMjZpZnAtXFx1MDAzZXZpZi1cXHUwMDNlcHJvZmlsZTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzoyOTMxOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0yOTMyLVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9zZWN1cml0eSAqc2VjO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9Mjk5NT1icmNtZl9jZmc4MDIxMV9yZWNvbmZpZ3VyZV93ZXAoc3RydWN0IGJyY21mX2lmICppZnApXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMjk5Ni17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Mjk5NzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTI5OTgtXFx0czMyIGVycjtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTMwNDk9c3RhdGljIHZvaWQgYnJjbWZfZmlsbF9ic3NfcGFyYW0oc3RydWN0IGJyY21mX2lmICppZnAsIHN0cnVjdCBzdGF0aW9uX2luZm8gKnNpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTMwNTAte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjMwNTE6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMDUyLVxcdHN0cnVjdCB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMDg2PWJyY21mX2NmZzgwMjExX2dldF9zdGF0aW9uX2lic3Moc3RydWN0IGJyY21mX2lmICppZnAsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMDg4LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozMDg5OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzA5MC1cXHRzdHJ1Y3QgYnJjbWZfc2NiX3ZhbF9sZSBzY2J2YWw7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMTM1PWJyY21mX2NmZzgwMjExX2dldF9zdGF0aW9uKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMTM5LVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYod2Rldi1cXHUwMDNlbmV0ZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozMTQwOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMTQxLVxcdHN0cnVjdCBicmNtZl9zY2JfdmFsX2xlIHNjYl92YWw7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zMjU4PWJyY21mX2NmZzgwMjExX2R1bXBfc3RhdGlvbihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzI2Mi1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KHdkZXYtXFx1MDAzZW5ldGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzI2MzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzI2NC1cXHRzMzIgZXJyO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzI5ND1icmNtZl9jZmc4MDIxMV9zZXRfcG93ZXJfbWdtdChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTMzMDAtXFx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozMzAxOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMzAyLVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzM0NT1zdGF0aWMgczMyIGJyY21mX2luZm9ybV9zaW5nbGVfYnNzKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMzQ4LVxcdHN0cnVjdCB3aXBoeSAqd2lwaHkgPSBjZmdfdG9fd2lwaHkoY2ZnKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozMzQ5OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zMzUwLVxcdHN0cnVjdCBjZmc4MDIxMV9ic3MgKmJzcztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTM0MTg9c3RhdGljIHMzMiBicmNtZl9pbmZvcm1fYnNzKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzQxOS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzQyMDpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzQyMS1cXHRzdHJ1Y3QgYnJjbWZfc2Nhbl9yZXN1bHRzICpic3NfbGlzdDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTM0NDM9c3RhdGljIHMzMiBicmNtZl9pbmZvcm1faWJzcyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzQ0Ni1cXHRzdHJ1Y3Qgd2lwaHkgKndpcGh5ID0gY2ZnX3RvX3dpcGh5KGNmZyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzQ0NzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzQ0OC1cXHRzdHJ1Y3QgaWVlZTgwMjExX2NoYW5uZWwgKm5vdGlmeV9jaGFubmVsO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzUyNj1zdGF0aWMgczMyIGJyY21mX3VwZGF0ZV9ic3NfaW5mbyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzUyOC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzUyOTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzUzMC1cXHRzdHJ1Y3QgYnJjbWZfYnNzX2luZm9fbGUgKmJpID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTM1NzU9c3RhdGljIHZvaWQgYnJjbWZfZXNjYW5fdGltZW91dChzdHJ1Y3QgdGltZXJfbGlzdCAqdClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM1NzgtXFx0XFx0XFx0dGltZXJfY29udGFpbmVyX29mKGNmZywgdCwgZXNjYW5fdGltZW91dCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6MzU3OTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzU4MC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTM2Mjc9YnJjbWZfY2ZnODAyMTFfZXNjYW5faGFuZGxlcihzdHJ1Y3QgYnJjbWZfaWYgKmlmcCxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM2Mjkte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjM2MzA6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zNjMxLVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcgPSBkcnZyLVxcdTAwM2Vjb25maWc7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zODY0PWJyY21mX25vdGlmeV9zY2hlZF9zY2FuX3Jlc3VsdHMoc3RydWN0IGJyY21mX2lmICppZnAsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zODY2LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzozODY3OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzg2OC1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gZHJ2ci1cXHUwMDNlY29uZmlnO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9Mzk1MT1icmNtZl9jZmc4MDIxMV9zY2hlZF9zY2FuX3N0YXJ0KHN0cnVjdCB3aXBoeSAqd2lwaHksXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zOTU2LVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Mzk1NzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzk1OC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQwMzk9YnJjbWZfd293bF9uZF9yZXN1bHRzKHN0cnVjdCBicmNtZl9pZiAqaWZwLCBjb25zdCBzdHJ1Y3QgYnJjbWZfZXZlbnRfbXNnICplLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDA0MS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDA0MjpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQwNDMtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IGRydnItXFx1MDAzZWNvbmZpZztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQwODk9c3RhdGljIHZvaWQgYnJjbWZfcmVwb3J0X3dvd2xfd2FrZWluZChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQwOTEtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDA5MjpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDA5My1cXHRzdHJ1Y3QgYnJjbWZfd293bF93YWtlaW5kX2xlIHdha2VfaW5kX2xlO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NDM4Nj1icmNtZl9jZmc4MDIxMV9zZXRfcG1rc2Eoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00MzkxLVxcdHN0cnVjdCBicmNtZl9wbWtzYSAqcG1rID0gXFx1MDAyNmNmZy1cXHUwMDNlcG1rX2xpc3QucG1rWzBdO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQzOTI6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQzOTMtXFx0czMyIGVycjtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQ0MzE9YnJjbWZfY2ZnODAyMTFfZGVsX3Bta3NhKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDQzNi1cXHRzdHJ1Y3QgYnJjbWZfcG1rc2EgKnBtayA9IFxcdTAwMjZjZmctXFx1MDAzZXBta19saXN0LnBta1swXTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo0NDM3OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NDM4LVxcdHMzMiBlcnI7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz00NTAxPXN0YXRpYyBzMzIgYnJjbWZfY29uZmlndXJlX29wZW5zZWN1cml0eShzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NTAyLXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo0NTAzOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDUwNC1cXHRzMzIgZXJyO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NDU0Mj1icmNtZl9jb25maWd1cmVfd3BhaWUoc3RydWN0IGJyY21mX2lmICppZnAsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00NTQ1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo0NTQ2OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBpZnAtXFx1MDAzZWRydnI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDU0Ny1cXHR1MzIgYXV0aCA9IDA7IC8qIGQxMSBvcGVuIGF1dGhlbnRpY2F0aW9uICovXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz00ODU3PXMzMiBicmNtZl92aWZfc2V0X21nbXRfaWUoc3RydWN0IGJyY21mX2NmZzgwMjExX3ZpZiAqdmlmLCBzMzIgcGt0ZmxhZyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQ4NTkte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQ4NjA6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00ODYxLVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTA0Mz1icmNtZl9jb25maWdfYXBfbWdtdF9pZShzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfdmlmICp2aWYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01MDQ1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1MDQ2OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSB2aWYtXFx1MDAzZWlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01MDQ3LVxcdHMzMiBlcnI7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01MTIyPWJyY21mX2NmZzgwMjExX3N0YXJ0X2FwKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTEyNy1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KG5kZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjUxMjg6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTUxMjktXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX3Byb2ZpbGUgKnByb2ZpbGUgPSBcXHUwMDI2aWZwLVxcdTAwM2V2aWYtXFx1MDAzZXByb2ZpbGU7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01MzcwPXN0YXRpYyBpbnQgYnJjbWZfY2ZnODAyMTFfc3RvcF9hcChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTUzNzQtXFx0c3RydWN0IGJyY21mX2lmICppZnAgPSBuZXRkZXZfcHJpdihuZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1Mzc1OlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01Mzc2LVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9wcm9maWxlICpwcm9maWxlID0gXFx1MDAyNmlmcC1cXHUwMDNldmlmLVxcdTAwM2Vwcm9maWxlO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTQ1Nj1icmNtZl9jZmc4MDIxMV9kZWxfc3RhdGlvbihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lyZWxlc3NfZGV2ICp3ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTQ1OS1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gd2lwaHlfdG9fY2ZnKHdpcGh5KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1NDYwOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01NDYxLVxcdHN0cnVjdCBicmNtZl9zY2JfdmFsX2xlIHNjYnZhbDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTU0ODk9YnJjbWZfY2ZnODAyMTFfY2hhbmdlX3N0YXRpb24oc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU0OTItXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NTQ5MzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTQ5NC1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IG5ldGRldl9wcml2KHdkZXYtXFx1MDAzZW5ldGRldik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01NTMzPWJyY21mX2NmZzgwMjExX21nbXRfdHgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU1MzctXFx0c3RydWN0IGllZWU4MDIxMV9jaGFubmVsICpjaGFuID0gcGFyYW1zLVxcdTAwM2VjaGFuO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjU1Mzg6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU1MzktXFx0Y29uc3QgdTggKmJ1ZiA9IHBhcmFtcy1cXHUwMDNlYnVmO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NTY5Mj1icmNtZl9jZmc4MDIxMV9jYW5jZWxfcmVtYWluX29uX2NoYW5uZWwoc3RydWN0IHdpcGh5ICp3aXBoeSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU2OTYtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NTY5NzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTY5OC1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfdmlmICp2aWY7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01NzE0PXN0YXRpYyBpbnQgYnJjbWZfY2ZnODAyMTFfZ2V0X2NoYW5uZWwoc3RydWN0IHdpcGh5ICp3aXBoeSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU3MjAtXFx0c3RydWN0IG5ldF9kZXZpY2UgKm5kZXYgPSB3ZGV2LVxcdTAwM2VuZXRkZXY7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NTcyMTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTcyMi1cXHRzdHJ1Y3QgYnJjbXVfY2hhbiBjaDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTU4NTE9c3RhdGljIGludCBicmNtZl9jZmc4MDIxMV90ZGxzX29wZXIoc3RydWN0IHdpcGh5ICp3aXBoeSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU4NTUtXFx0c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZyA9IHdpcGh5X3RvX2NmZyh3aXBoeSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NTg1NjpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTg1Ny1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTU4ODA9YnJjbWZfY2ZnODAyMTFfdXBkYXRlX2Nvbm5fcGFyYW1zKHN0cnVjdCB3aXBoeSAqd2lwaHksXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01ODg1LVxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcgPSB3aXBoeV90b19jZmcod2lwaHkpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjU4ODY6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGNmZy1cXHUwMDNlcHViO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTU4ODctXFx0c3RydWN0IGJyY21mX2lmICppZnA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz01OTA2PWJyY21mX2NmZzgwMjExX3NldF9yZWtleV9kYXRhKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNTkwOS1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnID0gd2lwaHlfdG9fY2ZnKHdpcGh5KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo1OTEwOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy01OTExLVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gbmV0ZGV2X3ByaXYobmRldik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02MzIzPXN0YXRpYyBzMzIgYnJjbWZfZ2V0X2Fzc29jX2llcyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjMyNS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjMyNjpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjMyNy1cXHRzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfYXNzb2NfaWVsZW5fbGUgKmFzc29jX2luZm87XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02NTE5PWJyY21mX25vdGlmeV9jb25uZWN0X3N0YXR1c19hcChzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjUyMi17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjUyMzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjUyNC1cXHRzdGF0aWMgaW50IGdlbmVyYXRpb247XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz02ODkzPXN0YXRpYyBzMzIgYnJjbWZfZG9uZ2xlX3JvYW0oc3RydWN0IGJyY21mX2lmICppZnApXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjg5NC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njg5NTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY4OTYtXFx0czMyIGVycjtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTY5NDU9YnJjbWZfZG9uZ2xlX3NjYW50aW1lKHN0cnVjdCBicmNtZl9pZiAqaWZwKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY5NDYte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY5NDc6XFx0c3RydWN0IGJyY21mX3B1YiAqZHJ2ciA9IGlmcC1cXHUwMDNlZHJ2cjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02OTQ4LVxcdHMzMiBlcnIgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9Njk5NT1zdGF0aWMgaW50IGJyY21mX2NvbnN0cnVjdF9jaGFuaW5mbyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjk5OC1cXHRzdHJ1Y3Qgd2lwaHkgKndpcGh5ID0gY2ZnX3RvX3dpcGh5KGNmZyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njk5OTpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gY2ZnLVxcdTAwM2VwdWI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNzAwMC1cXHRzdHJ1Y3QgYnJjbWZfaWYgKmlmcCA9IGJyY21mX2dldF9pZnAoZHJ2ciwgMCk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz03MTMwPXN0YXRpYyBpbnQgYnJjbWZfZW5hYmxlX2J3NDBfMmcoc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy03MTMxLXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo3MTMyOlxcdHN0cnVjdCBicmNtZl9wdWIgKmRydnIgPSBjZmctXFx1MDAzZXB1YjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy03MTMzLVxcdHN0cnVjdCBicmNtZl9pZiAqaWZwID0gYnJjbWZfZ2V0X2lmcChkcnZyLCAwKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTcyMTU9c3RhdGljIHZvaWQgYnJjbWZfZ2V0X2J3Y2FwKHN0cnVjdCBicmNtZl9pZiAqaWZwLCB1MzIgYndfY2FwW10pXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNzIxNi17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NzIxNzpcXHRzdHJ1Y3QgYnJjbWZfcHViICpkcnZyID0gaWZwLVxcdTAwM2VkcnZyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTcyMTgtXFx0dTMyIGJhbmQsIG1pbW9fYndjYXA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz03MzI1PXN0YXRpYyBpbnQgYnJjbWZfc2V0dXBfd2lwaHliYW5kcyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnKVxcblxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNDo0OS4wMDY0MjQ0OTJaIiwiU2VxIjoxNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTU4NzM5NTI5OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRob3VnaHQgcHJvY2VzcywgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoaXMgY29kZTpcblxuKipOYXZpZ2F0aW5nIERyaXZlciBTdHJ1Y3R1cmUgYW5kIENGRzgwMjExIEludGVncmF0aW9uKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBkcml2ZXIgc3RydWN0dXJlIGFuZCBteSBpbml0aWFsIHRob3VnaHQgaXMgdGhhdCBgZHJ2ci1cdTAwM2VvcHNgIHNob3VsZCBwb2ludCB0byBhIGBicmNtZl9md3ZpZF9vcHNgIHN0cnVjdCwgb3Igc29tZXRoaW5nIGNvbXBhcmFibGUgZm9yIGZpcm13YXJlIHZpZGVvIG9wZXJhdGlvbnMuIFRoYXQgbWFrZXMgc2Vuc2UsIGtlZXBpbmcgdGhpbmdzIG1vZHVsYXIuIEJ1dCBoYW5nIG9uLCBpbiB0aGUgYGJyY21mX2N5d19nZXRfY2ZnODAyMTFfb3BzYCBmdW5jdGlvbiwgYGRydnItXHUwMDNlb3BzYCBpcyBhcHBhcmVudGx5IGEgYGNmZzgwMjExX29wc2Agc3RydWN0LiBUaGF0J3MgdW5leHBlY3RlZC4uLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIGRyaXZlciBpbnRlcmZhY2VzIHdpdGggdGhlIGNmZzgwMjExIHN1YnN5c3RlbS5cblxuVG8gY2xhcmlmeSB0aGlzIGluY29uc2lzdGVuY3ksIEknbSBnb2luZyB0byBkb3VibGUtY2hlY2sgdGhlIGBicmNtZl9wdWJgIHN0cnVjdHVyZS4gSSBuZWVkIHRvIHNlZSBob3cgdGhlc2UgZGlmZmVyZW50IG9wZXJhdGlvbiBzdHJ1Y3R1cmVzLCByZWxhdGVkIHRvIGZpcm13YXJlIHZpZGVvLCBhbmQgcmVsYXRlZCB0byBjZmc4MDIxMSBhcmUgY29ubmVjdGVkLCBvciBpZiB0aGVyZSdzIGEgbWlzbm9tZXIgaW4gbXkgYW5hbHlzaXMgb2YgdGhlIGNvZGUuIFRoaXMgaXMgd2hlcmUgdGhlIG1hZ2ljIChvciB0aGUgY29uZnVzaW9uKSBsaWtlbHkgaGFwcGVucy4gTGV0J3Mgc2VlIGhvdyB0aGluZ3MgYXJlIGluaXRpYWxpemVkIGFuZCB3aGljaCBgb3BzYCBhcmUgYWN0dWFsbHkgYXNzaWduZWQgd2hlcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI2NjI4LCJPdXRwdXRUb2tlbnMiOjIxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6ODEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDQ6NTQuNTkzODIyMDUxWiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyODc5NTY0ODQ3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN0cnVjdCBicmNtZl9wdWIgXFxcXHtcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuaD04MD1zdHJ1Y3QgYnJjbWZfcmV2X2luZm8ge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuaC0xMDAtLyogQ29tbW9uIHN0cnVjdHVyZSBmb3IgbW9kdWxlIGFuZCBpbnN0YW5jZSBsaW5rYWdlICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuaDoxMDE6c3RydWN0IGJyY21mX3B1YiB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuaC0xMDItXFx0LyogTGlua2FnZSBwb250ZXJzICovXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjA0OjU3LjQ3MzM5OTA2OFoiLCJTZXEiOjE3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0NTQyNTkzNjMzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgc3VtbWFyeSwgYXMgaWYgSSB3ZXJlIHRoaW5raW5nIHRoZXNlIHRob3VnaHRzOlxuXG4qKkRpdmluZyBpbnRvIGJyY21mbWFjJ3MgQ29yZSBIZWFkZXIqKlxuXG5Pa2F5LCB0aW1lIHRvIGdldCBteSBoYW5kcyBkaXJ0eS4gSSdtIGdvaW5nIHRvIHRha2UgYSBsb29rIGF0IHRoZSBgYnJjbWZtYWNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSBgY29yZS5oYCBoZWFkZXIgZmlsZS4gSSBrbm93IHRoaXMgaXMgdGhlIGNlbnRyYWwgcG9pbnQgZm9yIGEgbG90IG9mIHRoZSBmdW5kYW1lbnRhbCBkZWZpbml0aW9ucyBhbmQgc3RydWN0dXJlcy4gSSdtIHNwZWNpZmljYWxseSB0YXJnZXRpbmcgYXJvdW5kIGxpbmUgMTAxLCB3aGljaCBpcyB1c3VhbGx5IHdoZXJlIGEgZ29vZCBjaHVuayBvZiB0aGUgaW1wb3J0YW50IHN0dWZmIGJlZ2lucy4gSSdtIGV4cGVjdGluZyB0byBmaW5kIHNvbWUgY3J1Y2lhbCBtYWNybyBkZWZpbml0aW9ucywgcG90ZW50aWFsbHkgc29tZSBrZXkgZGF0YSBzdHJ1Y3R1cmVzIGxpa2UgdGhlIG1haW4gZHJpdmVyIGNvbnRleHQsIG9yIG1heWJlIHNvbWUgaW1wb3J0YW50IGZ1bmN0aW9uIHByb3RvdHlwZXMgZm9yIGluaXRpYWxpemluZyBvciBtYW5hZ2luZyB0aGUgQnJvYWRjb20gd2lyZWxlc3MgaW50ZXJmYWNlLiBUaGlzIGlzIGdvaW5nIHRvIGJlIHRoZSBmb3VuZGF0aW9uIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0aGUgY29yZSBvZiB0aGlzIGRyaXZlciBpbnRlcmFjdHMgd2l0aCB0aGUgaGFyZHdhcmUuIExldCdzIHNlZSB3aGF0J3MgdGhlcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI3MTU2LCJPdXRwdXRUb2tlbnMiOjUzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDU6MDIuMDE1OTk0ODkxWiIsIlNlcSI6MTgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwNzIyMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5oXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEwMCxcbiAgXCJMaW5lQ291bnRcIjogNTBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDEwMDpcXHQvKiBDb21tb24gc3RydWN0dXJlIGZvciBtb2R1bGUgYW5kIGluc3RhbmNlIGxpbmthZ2UgKi9cXG4gMTAxOlxcdHN0cnVjdCBicmNtZl9wdWIge1xcbiAxMDI6XFx0XFx0LyogTGlua2FnZSBwb250ZXJzICovXFxuIDEwMzpcXHRcXHRzdHJ1Y3QgYnJjbWZfYnVzICpidXNfaWY7XFxuIDEwNDpcXHRcXHRzdHJ1Y3QgYnJjbWZfcHJvdG8gKnByb3RvO1xcbiAxMDU6XFx0XFx0c3RydWN0IHdpcGh5ICp3aXBoeTtcXG4gMTA2OlxcdFxcdHN0cnVjdCBjZmc4MDIxMV9vcHMgKm9wcztcXG4gMTA3OlxcdFxcdHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjb25maWc7XFxuIDEwODpcXHRcXG4gMTA5OlxcdFxcdC8qIEludGVybmFsIGJyY21mIGl0ZW1zICovXFxuIDExMDpcXHRcXHR1aW50IGhkcmxlbjtcXHRcXHQvKiBUb3RhbCBCUkNNRiBoZWFkZXIgbGVuZ3RoIChwcm90byArIGJ1cykgKi9cXG4gMTExOlxcdFxcbiAxMTI6XFx0XFx0LyogRG9uZ2xlIG1lZGlhIGluZm8gKi9cXG4gMTEzOlxcdFxcdGNoYXIgZnd2ZXJbQlJDTUZfRFJJVkVSX0ZJUk1XQVJFX1ZFUlNJT05fTEVOXTtcXG4gMTE0OlxcdFxcdHU4IG1hY1tFVEhfQUxFTl07XFx0XFx0LyogTUFDIGFkZHJlc3Mgb2J0YWluZWQgZnJvbSBkb25nbGUgKi9cXG4gMTE1OlxcdFxcbiAxMTY6XFx0XFx0c3RydWN0IG1hY19hZGRyZXNzIGFkZHJlc3Nlc1tCUkNNRl9NQVhfSUZTXTtcXG4gMTE3OlxcdFxcbiAxMTg6XFx0XFx0c3RydWN0IGJyY21mX2lmICppZmxpc3RbQlJDTUZfTUFYX0lGU107XFxuIDExOTpcXHRcXHRzMzIgaWYyYnNzW0JSQ01GX01BWF9JRlNdO1xcbiAxMjA6XFx0XFx0c3RydWN0IGJyY21mX2lmICptb25faWY7XFxuIDEyMTpcXHRcXG4gMTIyOlxcdFxcdHN0cnVjdCBtdXRleCBwcm90b19ibG9jaztcXG4gMTIzOlxcdFxcdHVuc2lnbmVkIGNoYXIgcHJvdG9fYnVmW0JSQ01GX0RDTURfTUFYTEVOXTtcXG4gMTI0OlxcdFxcbiAxMjU6XFx0XFx0c3RydWN0IGJyY21mX2Z3ZWhfaW5mbyAqZndlaDtcXG4gMTI2OlxcdFxcbiAxMjc6XFx0XFx0c3RydWN0IGJyY21mX2FtcGR1X3J4X3Jlb3JkZXJcXG4gMTI4OlxcdFxcdFxcdCpyZW9yZGVyX2Zsb3dzW0JSQ01GX0FNUERVX1JYX1JFT1JERVJfTUFYRkxPV1NdO1xcbiAxMjk6XFx0XFxuIDEzMDpcXHRcXHR1MzIgZmVhdF9mbGFncztcXG4gMTMxOlxcdFxcdHUzMiBjaGlwX3F1aXJrcztcXG4gMTMyOlxcdFxcbiAxMzM6XFx0XFx0c3RydWN0IGJyY21mX3Jldl9pbmZvIHJldmluZm87XFxuIDEzNDpcXHQjaWZkZWYgREVCVUdcXG4gMTM1OlxcdFxcdHN0cnVjdCBkZW50cnkgKmRiZ2ZzX2RpcjtcXG4gMTM2OlxcdCNlbmRpZlxcbiAxMzc6XFx0XFxuIDEzODpcXHRcXHRzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgaW5ldGFkZHJfbm90aWZpZXI7XFxuIDEzOTpcXHRcXHRzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgaW5ldDZhZGRyX25vdGlmaWVyO1xcbiAxNDA6XFx0XFx0c3RydWN0IGJyY21mX21wX2RldmljZSAqc2V0dGluZ3M7XFxuIDE0MTpcXHRcXG4gMTQyOlxcdFxcdHN0cnVjdCB3b3JrX3N0cnVjdCBidXNfcmVzZXQ7XFxuIDE0MzpcXHRcXG4gMTQ0OlxcdFxcdHU4IGNsbXZlcltCUkNNRl9EQ01EX1NNTEVOXTtcXG4gMTQ1OlxcdFxcdHU4IHN0YV9tYWNfaWR4O1xcbiAxNDY6XFx0XFx0Y29uc3Qgc3RydWN0IGJyY21mX2Z3dmlkX29wcyAqdm9wcztcXG4gMTQ3OlxcdFxcdHZvaWQgKnZkYXRhO1xcbiAxNDg6XFx0fTtcXG4gMTQ5OlxcdFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNTowMi4wMTYxMDQ3MjFaIiwiU2VxIjoxOSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NjcyMDIwMjI1MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipGdXp6aW5nIFRhcmdldCBJZGVudGlmaWNhdGlvbjogYnJjbWZtYWMgTWdtdCBUWCBhbmQgRXh0ZXJuYWwgQXV0aCBDYWxsYmFja3MqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBjb25maXJtaW5nIG15IGluaXRpYWwgYXNzZXNzbWVudC4gWWVzLCB0aGUgYHN0cnVjdCBjZmc4MDIxMV9vcHMgKm9wcztgIGNvbmZpcm1zIGl0LiBTcGVjaWZpY2FsbHksIHRoZSBgYnJjbWZfY3l3X21nbXRfdHhgIGNhbGxiYWNrIGlzIGluZGVlZCB0aGUgYG1nbXRfdHhgIGZ1bmN0aW9uIHdpdGhpbiBgY2ZnODAyMTFgLCBhbmQgYGJyY21mX2N5d19leHRlcm5hbF9hdXRoYCBpcyB0aGUgY29ycmVzcG9uZGluZyBgZXh0ZXJuYWxfYXV0aGAgY2FsbGJhY2suIFRoZXNlIGFyZSBpbnRlcmVzdGluZyBiZWNhdXNlIHRoZXkncmUgZGlyZWN0bHkgZXhwb3NlZCB0byB1c2Vyc3BhY2UgaW50ZXJhY3Rpb24gdGhyb3VnaCBgbmw4MDIxMWAgY29tbWFuZHM6IHNwZWNpZmljYWxseSBgbmw4MDIxMV90eF9tZ210YCBhbmQgYG5sODAyMTFfZXh0ZXJuYWxfYXV0aGAuXG5cblNpbmNlIHRoZSBgYnJjbWZtYWNgIGRyaXZlciBjYW4gYmUgZnV6emVkIHVzaW5nIGEgVVNCIGdhZGdldCBzZXR1cCAobGlrZSBgZHVtbXlfaGNkYCksIEkga25vdyB0aGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBhbmQsIGNyaXRpY2FsbHksIGZ1bmN0aW9uYWwuIFRoZSBwYXRjaCBpdHNlbGYgaXMgbWFraW5nIHNvbWUgZnVuY3Rpb25hbCBtb2RpZmljYXRpb25zLiBgYnJjbWZfY3l3X21nbXRfdHhgIGlzIGNoYW5naW5nIGZyb20gdXNpbmcgYSBwcm92aWRlZCBgY29va2llYCB0byBhbiBhdG9taWMgY291bnRlciBmb3IgYHBhY2tldF9pZGAuICBBbmQgaW4gYGJyY21mX2N5d19leHRlcm5hbF9hdXRoYCBpdCdzIG1ha2luZyBzdXJlIHRvIGNvcHkgYHBta2lkYCBpZiBpdCdzIHRoZXJlLlxuXG5UaGVzZSBhcmUgZ29vZCB0YXJnZXRzIGZvciBmdXp6aW5nLiBUaGV5IHJlcHJlc2VudCBwb2ludHMgd2hlcmUgd2UndmUgY2hhbmdlZCBleGlzdGluZywgZXhwb3NlZCBmdW5jdGlvbmFsaXR5LCBhbmQgYXJlIHRoZXJlZm9yZSBwcmltZSBjYW5kaWRhdGVzIGZvciBkaXNjb3ZlcmluZyBuZXcgYnVncy5cblxuTXkgZm9jdXMgc2hvdWxkIGJlIG9uIGBicmNtZl9jeXdfbWdtdF90eGAgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAuIExldCdzIGFsc28gY2hlY2sgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb25zLiBUaGUgZHJpdmVyIGNvbmZpZ3MgYXJlIGBCUkNNRk1BQ2AsIGBCUkNNRk1BQ19VU0JgIGFuZCwgaW1wbGljaXRseSwgYENGRzgwMjExYC4gSG93ZXZlciwgSSBuZWVkIHRvIGNoZWNrIHRoZSBLY29uZmlnIGZpbGUgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnYCB0byBiZSBzdXJlIHRoZXJlIGFyZW4ndCBhbnkgQ1lXLXNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIEkgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjgxODAsIk91dHB1dFRva2VucyI6MTksIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMjUsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQwODowNTowOC43MzYzMTAwOTFaIiwiU2VxIjoyMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI2NjE1ODAxOTEsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJSQ01GTUFDXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjE6Y29uZmlnIEJSQ01GTUFDXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMi1cXHR0cmlzdGF0ZSBcXFwiQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTEwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjExOmNvbmZpZyBCUkNNRk1BQ19QUk9UT19CQ0RDXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTItXFx0Ym9vbFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTEzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjE0OmNvbmZpZyBCUkNNRk1BQ19QUk9UT19NU0dCVUZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xNS1cXHRib29sXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6MTc6Y29uZmlnIEJSQ01GTUFDX1NESU9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xOC1cXHRib29sIFxcXCJTRElPIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgRnVsbE1BQyBkcml2ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0yOC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzoyOTpjb25maWcgQlJDTUZNQUNfVVNCXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMzAtXFx0Ym9vbCBcXFwiVVNCIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgRnVsbE1BQyBkcml2ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0zOS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzo0MDpjb25maWcgQlJDTUZNQUNfUENJRVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTQxLVxcdGJvb2wgXFxcIlBDSUUgYnVzIGludGVyZmFjZSBzdXBwb3J0IGZvciBGdWxsTUFDIGRyaXZlclxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDU6MTEuMzk3ODk2NTkyWiIsIlNlcSI6MjEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE4Njc2NDYyMTU3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBsZXQncyBzZWUuLi5cblxuKipDaGVja2luZyB0aGUgQnVpbGQgQ29uZmlndXJhdGlvbioqXG5cbkhhbmcgb24gYSBzZWNvbmQsIGBjeXdgIGlzIGEgc3ViZGlyZWN0b3J5LCBpc24ndCBpdD8gUmlnaHQsIGl0J3Mgbm90IGEgdG9wLWxldmVsIHNvdXJjZSBmaWxlLiBPa2F5LCBzbyB0aGF0IG1lYW5zIEkgbmVlZCB0byBmaWd1cmUgb3V0ICpob3cqIGl0IGdldHMgaW5jbHVkZWQgaW4gdGhlIGJ1aWxkLiBJdCdzIGxpa2VseSBjb25kaXRpb25hbGx5IGNvbXBpbGVkLiBUaGUgZmlyc3QgcGxhY2UgSSdkIGNoZWNrIGlzIHRoZSByZWxldmFudCBgTWFrZWZpbGVgLiBTbywgbGV0J3MgZ28gcG9rZSBhcm91bmQgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9NYWtlZmlsZWAgYW5kIHNlZSB3aGF0J3Mgd2hhdC4gVGhhdCdzIHRoZSBtb3N0IGxvZ2ljYWwgcGxhY2UgdG8gc3RhcnQgbG9va2luZyBmb3IgYnVpbGQgcnVsZXMgYWZmZWN0aW5nIHRoYXQgZGlyZWN0b3J5LiBJJ20gZXhwZWN0aW5nIHRvIGZpbmQgc29tZSBgaWZlcWAgb3IgYGlmbmVxYCBkaXJlY3RpdmVzLCBvciBtYXliZSBldmVuIGEgbW9yZSBjb21wbGV4IGNvbmRpdGlvbmFsIGludm9sdmluZyBrZXJuZWwgY29uZmlndXJhdGlvbiBvcHRpb25zLiBMZXQncyBzZWUgd2hhdCB3ZSBmaW5kLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyOTU3MywiT3V0cHV0VG9rZW5zIjo0NSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjUwLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjA1OjMwLjA3NDM2MjI1OVoiLCJTZXEiOjIyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTM5NTU1MDQyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImN5d1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGVcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL01ha2VmaWxlPTU1PW9iai1tICs9IHdjYy9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGU6NTY6b2JqLW0gKz0gY3l3L1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9NYWtlZmlsZS01Ny1vYmotbSArPSBiY2EvXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGU9NTk9YnJjbWZtYWMtJChDT05GSUdfQlJDTUZNQUMpICs9IHdjYy9jb3JlLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGU6NjA6YnJjbWZtYWMtJChDT05GSUdfQlJDTUZNQUMpICs9IGN5dy9jb3JlLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvTWFrZWZpbGUtNjEtYnJjbWZtYWMtJChDT05GSUdfQlJDTUZNQUMpICs9IGJjYS9jb3JlLm9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDU6MzAuNjEzOTIzNjgxWiIsIlNlcSI6MjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUyNTE0NzYxNjQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBgQlJDTUZNQUNgIENvbmZpZ3VyYXRpb24gYW5kIFJlbGV2YW50IENvZGUgUGF0aHMqKlxuXG5Pa2F5LCBzbyB0aGlzIGNvZGUgaXMgb25seSBjb21waWxlZCBpZiBgQ09ORklHX0JSQ01GTUFDYCBpcyBlbmFibGVkLiBUaGF0IG1ha2VzIHNlbnNlLCBzbyBJIG5lZWQgdG8gZm9jdXMgb24gZW5hYmxpbmcgYm90aCBgQlJDTUZNQUNgIGFuZCBgQlJDTUZNQUNfVVNCYCB3aXRoaW4gdGhlIGNvbmZpZ3VyYXRpb24uIE5vdywgSSBuZWVkIHRvIHBpbnBvaW50IHRoZSBjcml0aWNhbCBmdW5jdGlvbnMgSSB3YW50IHRvIGV4YW1pbmUgaW4gbW9yZSBkZXRhaWwuXG5cbmBicmNtZl9jeXdfbWdtdF90eGAgYW5kIGBicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aGAgc2VlbSBsaWtlIHByb21pc2luZyBjYW5kaWRhdGVzLiBMZXQgbWUganVzdCBjb25maXJtIHRoZXNlIGFyZSB0aGUgcHJpbWFyeSBmdW5jdGlvbnMgSSdtIGludGVyZXN0ZWQgaW4gYW5kIG5vdCBqdXN0IHNvbWUgZ2VuZXJpYyBob3QgcGF0aCBjb2RlLiBZZXMsIEknbSByaWdodCwgdGhvc2UgYXJlIGV4YWN0bHkgdGhlIGZ1bmN0aW9ucyB0aGF0IGFyZSBiZWluZyBtb2RpZmllZCwgYW5kIHRob3NlIGFyZW4ndCBleGFjdGx5IGhvdCBwYXRoLCBhcyB0aGV5IGFyZSBwYXJ0IG9mIHRoZSBjb250cm9sIHBsYW5lLiBHb29kLCB0aGF0IHZlcmlmaWVzIG15IGluaXRpYWwgYXNzZXNzbWVudC5cblxuTm93LCBsZXQncyBtYWtlIHN1cmUgdGhhdCBgYnJjbWZfY3l3X2V4dGVybmFsX2F1dGhgIGlzIGFjdHVhbGx5IGJlaW5nIHVzZWQgc29tZXdoZXJlLCB0aGF0IGl0J3MgcmVhY2hhYmxlIGNvZGUuIEl0IGxvb2tzIGxpa2UgaXQgaXMsIGl0J3MgYXNzaWduZWQgdG8gYGRydnItXHUwMDNlb3BzLVx1MDAzZWV4dGVybmFsX2F1dGhgLiBBbmQgSSBzZWUgaXTigJlzIGFzc2lnbmVkIGluIGBuZXQvd2lyZWxlc3Mvbmw4MDIxMS5jYC4gQWxyaWdodCwgdGhhdCdzIGRlZmluaXRlbHkgZ29vZCBjb25maXJtYXRpb24gdGhhdCB0aGlzIGlzIGEgdmFsaWQgcGF0aCB0byBpbnZlc3RpZ2F0ZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzAxMTQsIk91dHB1dFRva2VucyI6MTksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNTUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMDg6MDU6MzUuODY1NDAxOTM1WiIsIlNlcSI6MjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNTkzNTI4OTEyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm9wcy1cXHUwMDNlZXh0ZXJuYWxfYXV0aFwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0yMzY9c3RhdGljIHZvaWQgYnJjbWZfY3l3X2dldF9jZmc4MDIxMV9vcHMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTIzOC1cXHRkcnZyLVxcdTAwM2VvcHMtXFx1MDAzZW1nbXRfdHggPSBicmNtZl9jeXdfbWdtdF90eDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyMzk6XFx0ZHJ2ci1cXHUwMDNlb3BzLVxcdTAwM2VleHRlcm5hbF9hdXRoID0gYnJjbWZfY3l3X2V4dGVybmFsX2F1dGg7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjQwLX1cXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmM9MTgzMDU9c3RhdGljIGludCBubDgwMjExX2V4dGVybmFsX2F1dGgoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMTgzMTAtXFxubmV0L3dpcmVsZXNzL25sODAyMTEuYzoxODMxMTpcXHRpZiAoIXJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlZXh0ZXJuYWxfYXV0aClcXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5jLTE4MzEyLVxcdFxcdHJldHVybiAtRU9QTk9UU1VQUDtcXG4tLVxcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oPTEzMzk9cmRldl9leHRlcm5hbF9hdXRoKHN0cnVjdCBjZmc4MDIxMV9yZWdpc3RlcmVkX2RldmljZSAqcmRldixcXG4tLVxcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oLTEzNDUtXFx0dHJhY2VfcmRldl9leHRlcm5hbF9hdXRoKFxcdTAwMjZyZGV2LVxcdTAwM2V3aXBoeSwgZGV2LCBwYXJhbXMpO1xcbm5ldC93aXJlbGVzcy9yZGV2LW9wcy5oOjEzNDY6XFx0aWYgKHJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlZXh0ZXJuYWxfYXV0aClcXG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaDoxMzQ3OlxcdFxcdHJldCA9IHJkZXYtXFx1MDAzZW9wcy1cXHUwMDNlZXh0ZXJuYWxfYXV0aChcXHUwMDI2cmRldi1cXHUwMDNld2lwaHksIGRldiwgcGFyYW1zKTtcXG5uZXQvd2lyZWxlc3MvcmRldi1vcHMuaC0xMzQ4LVxcdHRyYWNlX3JkZXZfcmV0dXJuX2ludChcXHUwMDI2cmRldi1cXHUwMDNld2lwaHksIHJldCk7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjA1OjM4LjQ1ODk0MDY4OFoiLCJTZXEiOjI1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoyMjM0OTQ5NTI2NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBGdXp6aW5nIFN0cmF0ZWd5IGZvciB0aGUgQnJvYWRjb20gRnVsbE1BQyBEcml2ZXIqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGJlZW4gYW5hbHl6aW5nIHRoaXMgcGF0Y2ggdGFyZ2V0aW5nIHRoZSBCcm9hZGNvbSBGdWxsTUFDIFdMQU4gZHJpdmVyLCBzcGVjaWZpY2FsbHkgZm9jdXNpbmcgb24gYGJyY21mbWFjYC4gIE15IGluaXRpYWwgdGhvdWdodCBpcywgeWVzLCB0aGUgYG5sODAyMTFfZXh0ZXJuYWxfYXV0aGAgZnVuY3Rpb25hbGl0eSAqaXMqIHJlYWNoYWJsZSDigJMgdGhhdCdzIGEgZ29vZCBzdGFydGluZyBwb2ludC4gTm93LCBsZXQncyBzZWUgaWYgdGhlcmUgYXJlICpvdGhlciogY29uZmlndXJhdGlvbnMgSSBuZWVkIHRvIGNvbnNpZGVyIGZvciBlbmFibGluZyB0aGUgcmVsZXZhbnQgY29kZSBwYXRocy4gQWgsIGhlcmUgd2UgZ28sIGBCUkNNRk1BQ2AgYW5kIGBCUkNNRk1BQ19VU0JgLiBHb29kLiBJIG5vdGUgdGhhdCBgQ0ZHODAyMTFgIGlzLCB0aGFua2Z1bGx5LCBhbHJlYWR5IGVuYWJsZWQgYnkgZGVmYXVsdCBpbiBzeXprYWxsZXIuXG5cblJpZ2h0LCBJJ20gZ29pbmcgdG8gZm9sbG93IHRoZSBndWlkYW5jZS4gVGhlIGluc3RydWN0aW9ucyBhcmUgY2xlYXI6IGtlZXAgdGhlIGNvbmZpZ3VyYXRpb24gZm9jdXNlZCBvbiB3aGF0J3MgKm1vZGlmaWVkKi4gRG9u4oCZdCBsaXN0IGdlbmVyaWMsIGFscmVhZHktZW5hYmxlZCBjb25maWdzLiBTaW5jZSB0aGUgY29yZSBtb2RpZmljYXRpb25zIHRvdWNoIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBCcm9hZGNvbSBGdWxsTUFDIGRyaXZlciwgYEJSQ01GTUFDYCBhbmQgYEJSQ01GTUFDX1VTQmAgd2lsbCBjb3ZlciB3aGF0J3MgbmVjZXNzYXJ5LiBJIGRvbid0IG5lZWQgdG8gYmxvYXQgdGhlIGNvbmZpZ3VyYXRpb24gd2l0aCByZWR1bmRhbnQgb3B0aW9ucy5cblxuTGV0J3MgZGlzdGlsbCB0aGlzIGludG8gYSBjb25jaXNlIGZ1enppbmcgc3RyYXRlZ3kuIEknbSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZ2AgdG8gYHRydWVgLCBvZiBjb3Vyc2UuIE15IGBGb2N1c1N5bWJvbHNgIHdpbGwgYmUgYFwiYnJjbWZfY3l3X21nbXRfdHhcImAgYW5kIGBcImJyY21mX2N5d19leHRlcm5hbF9hdXRoXCJgLiBUaGUgcmVsZXZhbnQgYEVuYWJsZUNvbmZpZ3NgIGFyZSBgW1wiQlJDTUZNQUNcIiwgXCJCUkNNRk1BQ19VU0JcIl1gLiBUaGUgcmF0aW9uYWxlIGlzIHN0cmFpZ2h0Zm9yd2FyZDogdGhlIHBhdGNoIGFsdGVycyB0aGUgbWFuYWdlbWVudCBmcmFtZSB0eCBhbmQgZXh0ZXJuYWwgYXV0aGVudGljYXRpb24gbG9naWMgaW4gdGhlIEJyb2FkY29tIEZ1bGxNQUMgZHJpdmVyIChgYnJjbWZtYWNgKS4gVGhlc2UgZnVuY3Rpb25zIGFyZSBhY2Nlc3NpYmxlIGZyb20gdXNlcnNwYWNlIHRocm91Z2ggYG5sODAyMTFgIGNvbW1hbmRzIGFuZCBhcmUgcGVyZmVjdCBjYW5kaWRhdGVzIGZvciBmdXp6aW5nIHVzaW5nIGEgVVNCIGdhZGdldCBlbXVsYXRvci4gVGhpcyBhcHByb2FjaCB3aWxsIG1heGltaXplIGNvZGUgY292ZXJhZ2Ugd2l0aGluIHRoZSBzY29wZSBvZiB0aGUgbW9kaWZpY2F0aW9uLCB3aGljaCBpcyB0aGUga2V5IHRvIGVmZmljaWVudCBhbmQgdGFyZ2V0ZWQgZnV6emluZy5cblxuXG4iLCJJbnB1dFRva2VucyI6MzExMDMsIk91dHB1dFRva2VucyI6MTIyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjMwLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDA4OjA2OjAwLjgwODQzODIwNFoiLCJTZXEiOjI2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1NDUyNDAzOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlJDTUZNQUNcIixcbiAgICBcIkJSQ01GTUFDX1VTQlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJyY21mX2N5d19tZ210X3R4XCIsXG4gICAgXCJicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBsb2dpYyBpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlciAoYnJjbWZtYWMpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBmcm9tIHVzZXJzcGFjZSB2aWEgbmw4MDIxMSBjb21tYW5kcyBhbmQgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgZW11bGF0b3IuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlJDTUZNQUNcIixcbiAgICBcIkJSQ01GTUFDX1VTQlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJyY21mX2N5d19tZ210X3R4XCIsXG4gICAgXCJicmNtZl9jeXdfZXh0ZXJuYWxfYXV0aFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIG1hbmFnZW1lbnQgZnJhbWUgdHJhbnNtaXNzaW9uIGFuZCBleHRlcm5hbCBhdXRoZW50aWNhdGlvbiBsb2dpYyBpbiB0aGUgQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlciAoYnJjbWZtYWMpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIHJlYWNoYWJsZSBmcm9tIHVzZXJzcGFjZSB2aWEgbmw4MDIxMSBjb21tYW5kcyBhbmQgY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBnYWRnZXQgZW11bGF0b3IuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },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-workflow6lltr[1] Phase: Succeeded StartedAt: 2026-07-10 08:06:12 +0000 UTC FinishedAt: 2026-07-10 08:06:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-10 08:06:12 +0000 UTC FinishedAt: 2026-07-10 08:06:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2] Phase: Succeeded StartedAt: 2026-07-10 08:06:12 +0000 UTC FinishedAt: 2026-07-10 10:04:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-10 08:06:12 +0000 UTC FinishedAt: 2026-07-10 10:04:28 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-10 08:06:12 +0000 UTC FinishedAt: 2026-07-10 08:06:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-10 08:06:12 +0000 UTC FinishedAt: 2026-07-10 08:06:17 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},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-workflow6lltr/series-workflow6lltr-convert-artifact-2505429073/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-10 08:06:22 +0000 UTC FinishedAt: 2026-07-10 09:01:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-10 08:06:22 +0000 UTC FinishedAt: 2026-07-10 09:01:40 +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:*d8b7a2d2-f2b4-42cb-893f-6c810e86be38,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-workflow6lltr/series-workflow6lltr-convert-artifact-2505429073/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": "6c5675b4-ec97-45c7-ad70-85c89ba20218", "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-workflow6lltr/series-workflow6lltr-build-action-1683546434/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[1].base-build(0) Phase: Failed StartedAt: 2026-07-10 08:06:22 +0000 UTC FinishedAt: 2026-07-10 08:09:23 +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:*d8b7a2d2-f2b4-42cb-893f-6c810e86be38,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-workflow6lltr/series-workflow6lltr-convert-artifact-2505429073/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[1].base-build(1) Phase: Succeeded StartedAt: 2026-07-10 08:14:34 +0000 UTC FinishedAt: 2026-07-10 08:59:08 +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:*d8b7a2d2-f2b4-42cb-893f-6c810e86be38,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-workflow6lltr/series-workflow6lltr-convert-artifact-2505429073/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": "6c5675b4-ec97-45c7-ad70-85c89ba20218", "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-workflow6lltr/series-workflow6lltr-build-action-1683546434/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-10 09:01:40 +0000 UTC FinishedAt: 2026-07-10 09:01:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-10 09:01:40 +0000 UTC FinishedAt: 2026-07-10 09:01:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-10 09:01:40 +0000 UTC FinishedAt: 2026-07-10 09:02:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-10 09:01:40 +0000 UTC FinishedAt: 2026-07-10 09:01:48 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},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-workflow6lltr/series-workflow6lltr-convert-artifact-1403898916/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-10 09:02:00 +0000 UTC FinishedAt: 2026-07-10 09:04:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-10 09:02:00 +0000 UTC FinishedAt: 2026-07-10 09:04:13 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*6c5675b4-ec97-45c7-ad70-85c89ba20218,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-workflow6lltr/series-workflow6lltr-build-action-1683546434/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-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-10 09:04:23 +0000 UTC FinishedAt: 2026-07-10 09:04:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-10 09:04:23 +0000 UTC FinishedAt: 2026-07-10 09:04:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-10 09:04:23 +0000 UTC FinishedAt: 2026-07-10 09:59:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-10 09:04:23 +0000 UTC FinishedAt: 2026-07-10 09:59:25 +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:*d8b7a2d2-f2b4-42cb-893f-6c810e86be38,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-workflow6lltr/series-workflow6lltr-convert-artifact-1403898916/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": "bb1ddbc2-85ea-4ddc-b89e-33dd0de75269", "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-workflow6lltr/series-workflow6lltr-build-action-2850833072/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-10 09:04:23 +0000 UTC FinishedAt: 2026-07-10 09:59:13 +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:*d8b7a2d2-f2b4-42cb-893f-6c810e86be38,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-workflow6lltr/series-workflow6lltr-convert-artifact-1403898916/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": "bb1ddbc2-85ea-4ddc-b89e-33dd0de75269", "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-workflow6lltr/series-workflow6lltr-build-action-2850833072/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-10 09:59:25 +0000 UTC FinishedAt: 2026-07-10 09:59:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-10 09:59:25 +0000 UTC FinishedAt: 2026-07-10 09:59:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-10 09:59:25 +0000 UTC FinishedAt: 2026-07-10 10:01:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-10 09:59:25 +0000 UTC FinishedAt: 2026-07-10 10:01:27 +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:*bb1ddbc2-85ea-4ddc-b89e-33dd0de75269,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-workflow6lltr/series-workflow6lltr-build-action-2850833072/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-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-10 10:01:37 +0000 UTC FinishedAt: 2026-07-10 10:04:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-10 10:01:37 +0000 UTC FinishedAt: 2026-07-10 10:04:28 +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":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"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:*6c5675b4-ec97-45c7-ad70-85c89ba20218,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*bb1ddbc2-85ea-4ddc-b89e-33dd0de75269,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-workflow6lltr/series-workflow6lltr-build-action-1683546434/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-workflow6lltr/series-workflow6lltr-build-action-2850833072/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-10 10:01:37 +0000 UTC FinishedAt: 2026-07-10 10:01:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-10 10:01:37 +0000 UTC FinishedAt: 2026-07-10 10:01:42 +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":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"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-workflow6lltr/series-workflow6lltr-convert-artifact-36658093/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-10 10:01:37 +0000 UTC FinishedAt: 2026-07-10 10:01:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-10 10:01:37 +0000 UTC FinishedAt: 2026-07-10 10:01:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-10 10:01:38 +0000 UTC FinishedAt: 2026-07-10 10:01:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-10 10:01:48 +0000 UTC FinishedAt: 2026-07-10 10:04:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6lltr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_cyw_mgmt_tx","brcmf_cyw_external_auth"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"722c7de93c5cf558bfedd8b9583845b1ce227a8e","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"9a5cafc4-c92f-40e7-b5a6-bbf13f7f3cc6","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-10 10:01:48 +0000 UTC FinishedAt: 2026-07-10 10:04:07 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*6c5675b4-ec97-45c7-ad70-85c89ba20218,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*bb1ddbc2-85ea-4ddc-b89e-33dd0de75269,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-workflow6lltr/series-workflow6lltr-build-action-1683546434/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-workflow6lltr/series-workflow6lltr-build-action-2850833072/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-workflow6lltr/series-workflow6lltr-convert-artifact-36658093/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,}