Name: series-workflow49ftp Phase: Failed StartedAt: 2026-07-09 01:58:58 +0000 UTC FinishedAt: 2026-07-09 02:45:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflow49ftp[0] Phase: Succeeded StartedAt: 2026-07-09 01:58:58 +0000 UTC FinishedAt: 2026-07-09 02:45:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflow49ftp[0].run-triage Phase: Succeeded StartedAt: 2026-07-09 01:58:58 +0000 UTC FinishedAt: 2026-07-09 02:45:19 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjQwPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+NW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBGcmVlc2NhbGUgRFBBQTIgRXRoZXJuZXQgZHJpdmVyIChkcGFhMi1ldGgpLCB3aGljaCBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgdGhlIGZzbC1tYyBidXMgZm91bmQgb24gTlhQIFFvcklRIFNvQ3MuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZm9yIGZ1enppbmcgaW4gdGhlc2UgZW52aXJvbm1lbnRzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo0MDwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDJjMjZjMTFkY2UxNmMzN2E1ODUzMzMzMTA5NzUzNGYxZTc2MTQ3NDJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEp1bCA5IDAyOjQwOjA1IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguY1xuaW5kZXggOTMzNTcwMzc2OGE5YjYuLjc2NGQyYTA5NjY4ZjU2IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNcbkBAIC00NzMyLDYgJiM0Mzs0NzMyLDcgQEAgc3RhdGljIHZvaWQgZHBhYTJfZXRoX2Rpc2Nvbm5lY3RfbWFjKHN0cnVjdCBkcGFhMl9ldGhfcHJpdiAqcHJpdilcbiBcdFx0ZHBhYTJfbWFjX2Rpc2Nvbm5lY3QobWFjKTtcbiBcbiBcdGRwYWEyX21hY19jbG9zZShtYWMpO1xuJiM0MztcdHB1dF9kZXZpY2UoXHUwMDI2bWFjLVx1MDAzZW1jX2Rldi1cdTAwM2VkZXYpO1xuIFx0a2ZyZWUobWFjKTtcbiB9XG4gXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NDA8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+NW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldCBkcml2ZXIgKGRwYWEyLWV0aCksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgZnNsLW1jIGJ1cyBmb3VuZCBvbiBOWFAgUW9ySVEgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBmb3IgZnV6emluZyBpbiB0aGVzZSBlbnZpcm9ubWVudHMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAyYzI2YzExZGNlMTZjMzdhNTg1MzMzMzEwOTc1MzRmMWU3NjE0NzQyCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFRodSBKdWwgOSAwMjo0MDowNSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYwppbmRleCA5MzM1NzAzNzY4YTliNi4uNzY0ZDJhMDk2NjhmNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMKQEAgLTQ3MzIsNiAmIzQzOzQ3MzIsNyBAQCBzdGF0aWMgdm9pZCBkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWMoc3RydWN0IGRwYWEyX2V0aF9wcml2ICpwcml2KQogCQlkcGFhMl9tYWNfZGlzY29ubmVjdChtYWMpOwogCiAJZHBhYTJfbWFjX2Nsb3NlKG1hYyk7CiYjNDM7CXB1dF9kZXZpY2UoJmFtcDttYWMtJmd0O21jX2Rldi0mZ3Q7ZGV2KTsKIAlrZnJlZShtYWMpOwogfQogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjQwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE4NzIKCQkJCQkJCW91dHB1dDogMjgKCQkJCQkJCXRob3VnaHRzOiAyNjIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgTmV0d29yayBEcml2ZXIgUGF0Y2ggaW4gYSBWaXJ0dWFsaXplZCBDb250ZXh0KioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIHRoYXQgYWRkcyBgcHV0X2RldmljZSgmYW1wO21hYy0mZ3Q7bWNfZGV2LSZndDtkZXYpO2AgdG8gYGRwYWEyX2V0aF9kaXNjb25uZWN0X21hY2Agd2l0aGluIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNgLiBNeSBpbW1lZGlhdGUgY29uY2VybiBpcyByZWFjaGFiaWxpdHkgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudC4gVGhpcyBkcml2ZXIsIGBkcGFhMi1ldGhgLCBpcyBzcGVjaWZpY2FsbHkgZm9yIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldCwgd2hpY2ggcmluZ3MgYSBiZWxsLi4uIHRoYXQmIzM5O3MgTlhQIExheWVyc2NhcGUgU29DcyBsaWtlIHRoZSBMUzIwODhBIG9yIExTMTA4OEEsIHJpZ2h0PyBBbmQgaXQmIzM5O3MgYmFzZWQgYXJvdW5kIHRoZSBgZnNsLW1jYCBidXMuCgpUaGUgcXVlc3Rpb24gdGhlbiBiZWNvbWVzLCBjYW4gSSBldmVuICp0cmlnZ2VyKiB0aGlzIGNvZGUgaW4gYSBzdGFuZGFyZCB4ODZfNjQgUUVNVSBvciBHb29nbGUgQ29tcHV0ZSBFbmdpbmUgc2V0dXA/IFRoZXNlIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlcnMgb2Z0ZW4gcmVseSBvbiBkaXJlY3QgaGFyZHdhcmUgaW50ZXJhY3Rpb25zLCBlc3BlY2lhbGx5IHdpdGhvdXQgZGVkaWNhdGVkIHNvZnR3YXJlIGVtdWxhdGlvbi4gV2l0aG91dCBzcGVjaWZpYyBlbXVsYXRpb24sIGZ1enppbmcgdGhlbSBpcyB0b3VnaC4gSXQmIzM5O3MgdXN1YWxseSBvbmx5IHBvc3NpYmxlIHdpdGggdmlydHVhbGl6ZWQgYnVzZXMgbGlrZSBVU0Igb3IgUENJIHRoYXQgY2FuIGJlIG1vcmUgcmVhZGlseSBpbmplY3RlZCB3aXRoIGRldmljZXMuCgpXYWl0IGEgc2Vjb25k4oCmIHRoZSBgZnNsLW1jYCBidXMgKmlzKiBhIGJ1cy4gQW5kIHRoYXQgcHJlc2VudHMgYW4gaW50ZXJlc3RpbmcgcG9zc2liaWxpdHkuIElzIHRoZXJlIGEgd2F5IHRvIGluamVjdCBkZXZpY2VzIG9udG8gdGhpcyBwYXJ0aWN1bGFyIGJ1cz8gTGV0JiMzOTtzIGRpdmUgaW50byB0aGUgYGRyaXZlcnMvYnVzL2ZzbC1tYy9gIGRpcmVjdG9yeSB0byBzZWUgaWYgdGhlcmUmIzM5O3MgYW55IG1lY2hhbmlzbSBmb3IgdGhhdC4gVGhhdCBtaWdodCBiZSB0aGUga2V5IHRvIHRyaWdnZXJpbmcgdGhpcyBgcHV0X2RldmljZWAgY2FsbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo0MDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtmc2wtbWMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL2J1cy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9idXMvS2NvbmZpZz0yNDI9Y29uZmlnIERBOFhYX01TVFBSSVxuLS1cbmRyaXZlcnMvYnVzL0tjb25maWctMjQ5LVxuZHJpdmVycy9idXMvS2NvbmZpZzoyNTA6c291cmNlIFwmIzM0O2RyaXZlcnMvYnVzL2ZzbC1tYy9LY29uZmlnXCYjMzQ7XG5kcml2ZXJzL2J1cy9LY29uZmlnLTI1MS1zb3VyY2UgXCYjMzQ7ZHJpdmVycy9idXMvbWhpL0tjb25maWdcJiMzNDtcbi0tXG5kcml2ZXJzL2J1cy9NYWtlZmlsZT0xMT1vYmotJChDT05GSUdfTU9YVEVUKVx0XHQmIzQzOz0gbW94dGV0Lm9cbmRyaXZlcnMvYnVzL01ha2VmaWxlLTEyLVxuZHJpdmVycy9idXMvTWFrZWZpbGU6MTM6IyBEUEFBMiBmc2wtbWMgYnVzXG5kcml2ZXJzL2J1cy9NYWtlZmlsZToxNDpvYmotJChDT05GSUdfRlNMX01DX0JVUylcdCYjNDM7PSBmc2wtbWMvXG5kcml2ZXJzL2J1cy9NYWtlZmlsZS0xNS1cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZy0yLSNcbmRyaXZlcnMvYnVzL2ZzbC1tYy9LY29uZmlnOjM6IyBEUEFBMiBmc2wtbWMgYnVzXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZy00LSNcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZz04PWNvbmZpZyBGU0xfTUNfQlVTXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZzo5Olx0Ym9vbCBcJiMzNDtRb3JJUSBEUEFBMiBmc2wtbWMgYnVzIGRyaXZlclwmIzM0O1xuZHJpdmVycy9idXMvZnNsLW1jL0tjb25maWctMTAtXHRkZXBlbmRzIG9uIE9GIFx1MDAyNlx1MDAyNiAoQVJDSF9MQVlFUlNDQVBFIHx8IChDT01QSUxFX1RFU1QgXHUwMDI2XHUwMDI2IChBUk0gfHwgQVJNNjQgfHwgWDg2X0xPQ0FMX0FQSUMgfHwgUFBDKSkpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL0tjb25maWctMTMtXHQgIERyaXZlciB0byBlbmFibGUgdGhlIGJ1cyBpbmZyYXN0cnVjdHVyZSBmb3IgdGhlIFFvcklRIERQQUEyXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZzoxNDpcdCAgYXJjaGl0ZWN0dXJlLiAgVGhlIGZzbC1tYyBidXMgZHJpdmVyIGhhbmRsZXMgZGlzY292ZXJ5IG9mXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZy0xNS1cdCAgRFBBQTIgb2JqZWN0cyAod2hpY2ggYXJlIHJlcHJlc2VudGVkIGFzIExpbnV4IGRldmljZXMpIGFuZFxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZT03PW9iai0kKENPTkZJR19GU0xfTUNfQlVTKSAmIzQzOz0gbWMtYnVzLWRyaXZlci5vXG5kcml2ZXJzL2J1cy9mc2wtbWMvTWFrZWZpbGUtOC1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZTo5Om1jLWJ1cy1kcml2ZXItb2JqcyA6PSBmc2wtbWMtYnVzLm8gXFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZS0xMC1cdFx0ICAgICAgbWMtc3lzLm8gXFxcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvTWFrZWZpbGUtMTUtXHRcdCAgICAgIGRwcmMtZHJpdmVyLm8gXFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZToxNjpcdFx0ICAgICAgZnNsLW1jLWFsbG9jYXRvci5vIFxcXG5kcml2ZXJzL2J1cy9mc2wtbWMvTWFrZWZpbGU6MTc6XHRcdCAgICAgIGZzbC1tYy1tc2kubyBcXFxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlLTE4LVx0XHQgICAgICBkcG1jcC5vIFxcXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlLTIxLSMgTUMgdXNlcnNwYWNlIHN1cHBvcnRcbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZToyMjpvYmotJChDT05GSUdfRlNMX01DX1VBUElfU1VQUE9SVCkgJiM0Mzs9IGZzbC1tYy11YXBpLm9cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBicC5jLTgtXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBicC5jOjk6I2luY2x1ZGUgXCYjMzQ7ZnNsLW1jLXByaXZhdGUuaFwmIzM0O1xuZHJpdmVycy9idXMvZnNsLW1jL2RwYnAuYy0xMC1cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBjb24uYy04LVxuZHJpdmVycy9idXMvZnNsLW1jL2RwY29uLmM6OTojaW5jbHVkZSBcJiMzNDtmc2wtbWMtcHJpdmF0ZS5oXCYjMzQ7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBjb24uYy0xMC1cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBtY3AuYy04LVxuZHJpdmVycy9idXMvZnNsLW1jL2RwbWNwLmM6OTojaW5jbHVkZSBcJiMzNDtmc2wtbWMtcHJpdmF0ZS5oXCYjMzQ7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBtY3AuYy0xMC1cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xNS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjE2OiNpbmNsdWRlIFwmIzM0O2ZzbC1tYy1wcml2YXRlLmhcJiMzNDtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTE3LVxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jPTY4PXN0YXRpYyBpbnQgX19mc2xfbWNfZGV2aWNlX3JlbW92ZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtNzktICpcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjgwOiAqIEBtY19idXNfZGV2OiBwb2ludGVyIHRvIHRoZSBmc2wtbWMgZGV2aWNlIHRoYXQgcmVwcmVzZW50cyBhIERQUkMgb2JqZWN0XG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy04MS0gKiBAb2JqX2Rlc2NfYXJyYXk6IGFycmF5IG9mIG9iamVjdCBkZXNjcmlwdG9ycyBmb3IgY2hpbGQgb2JqZWN0cyBjdXJyZW50bHlcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz0xMjM9c3RydWN0IGZzbF9tY19kZXZpY2UgKmZzbF9tY19kZXZpY2VfbG9va3VwKHN0cnVjdCBmc2xfbWNfb2JqX2Rlc2MgKm9ial9kZXNjLFxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTEzNi0gKlxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6MTM3OiAqIEBtY19kZXY6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2UgZm9yIGEgZ2l2ZW4gTUMgb2JqZWN0XG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xMzgtICogQG9ial9kZXNjOiBwb2ludGVyIHRvIHRoZSBNQyBvYmplY3QmIzM5O3MgZGVzY3JpcHRvciBpbiB0aGUgTUNcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTEzOS0gKlxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6MTQwOiAqIElmIHRoZSBwbHVnZ2VkIHN0YXRlIGhhcyBjaGFuZ2VkIGZyb20gdW5wbHVnZ2VkIHRvIHBsdWdnZWQsIHRoZSBmc2wtbWNcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTE0MS0gKiBkZXZpY2UgaXMgYm91bmQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgZGV2aWNlIGRyaXZlci5cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjE0MjogKiBJZiB0aGUgcGx1Z2dlZCBzdGF0ZSBoYXMgY2hhbmdlZCBmcm9tIHBsdWdnZWQgdG8gdW5wbHVnZ2VkLCB0aGUgZnNsLW1jXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xNDMtICogZGV2aWNlIGlzIHVuYm91bmQgZnJvbSB0aGUgY29ycmVzcG9uZGluZyBkZXZpY2UgZHJpdmVyLlxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jPTE2OT1zdGF0aWMgdm9pZCBmc2xfbWNfb2JqX2RldmljZV9hZGQoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2J1c19kZXYsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtMTkyLSAqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYzoxOTM6ICogQG1jX2J1c19kZXY6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2UgdGhhdCByZXByZXNlbnRzIGEgRFBSQyBvYmplY3RcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTE5NC0gKiBAb2JqX2Rlc2NfYXJyYXk6IGFycmF5IG9mIGRldmljZSBkZXNjcmlwdG9ycyBmb3IgY2hpbGQgZGV2aWNlcyBjdXJyZW50bHlcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz0yMDI9c3RhdGljIHZvaWQgZHByY19hZGRfbmV3X2RldmljZXMoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2J1c19kZXYsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtMjI4LSAqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYzoyMjk6ICogQG1jX2J1c19kZXY6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2UgdGhhdCByZXByZXNlbnRzIGEgRFBSQyBvYmplY3RcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTIzMC0gKiBAYWxsb2NfaW50ZXJydXB0czogaWYgdHJ1ZSB0aGUgZnVuY3Rpb24gYWxsb2NhdGVzIHRoZSBpbnRlcnJ1cHQgcG9vbCxcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz0yNDU9aW50IGRwcmNfc2Nhbl9vYmplY3RzKHN0cnVjdCBmc2xfbWNfZGV2aWNlICptY19idXNfZGV2LFxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTM1Ni0gKlxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6MzU3OiAqIEBtY19idXNfZGV2OiBwb2ludGVyIHRvIHRoZSBmc2wtbWMgZGV2aWNlIHRoYXQgcmVwcmVzZW50cyBhIERQUkMgb2JqZWN0XG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0zNTgtICogQGFsbG9jX2ludGVycnVwdHM6IGlmIHRydWUgdGhlIGZ1bmN0aW9uIGFsbG9jYXRlcyB0aGUgaW50ZXJydXB0IHBvb2wsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM9NTcyPXN0YXRpYyBpbnQgZHByY19zZXR1cF9pcnEoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2Rldilcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy02MDEtICpcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjYwMjogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIGEgRFBSQ1xuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtNjAzLSAqXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM9NzExPUVYUE9SVF9TWU1CT0xfR1BMKGRwcmNfc2V0dXApO1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTcxNS0gKlxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6NzE2OiAqIEBtY19kZXY6IFBvaW50ZXIgdG8gZnNsLW1jIGRldmljZSByZXByZXNlbnRpbmcgYSBEUFJDXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy03MTctICpcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz03NTg9c3RhdGljIHZvaWQgZHByY190ZWFyZG93bl9pcnEoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2Rldilcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy03NzEtICpcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjc3MjogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSBEUFJDXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy03NzMtICpcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz04MTU9RVhQT1JUX1NZTUJPTF9HUEwoZHByY19jbGVhbnVwKTtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy04MTktICpcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjgyMDogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSBEUFJDXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy04MjEtICpcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy5jLTktXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy5jOjEwOiNpbmNsdWRlIFwmIzM0O2ZzbC1tYy1wcml2YXRlLmhcJiMzNDtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLmMtMTEtXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yLS8qXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjM6ICogZnNsLW1jIG9iamVjdCBhbGxvY2F0b3IgZHJpdmVyXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTQtICpcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTEyLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzoxMzojaW5jbHVkZSBcJiMzNDtmc2wtbWMtcHJpdmF0ZS5oXCYjMzQ7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTE0LVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz0xNT1zdGF0aWMgYm9vbCBfX211c3RfY2hlY2sgZnNsX21jX2lzX2FsbG9jYXRhYmxlKHN0cnVjdCBmc2xfbWNfZGV2aWNlICptY19kZXYpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yMy0gKiBmc2xfbWNfcmVzb3VyY2VfcG9vbF9hZGRfZGV2aWNlIC0gYWRkIGFsbG9jYXRhYmxlIG9iamVjdCB0byBhIHJlc291cmNlXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI0OiAqIHBvb2wgb2YgYSBnaXZlbiBmc2wtbWMgYnVzXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTI1LSAqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI2OiAqIEBtY19idXM6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBidXNcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMjctICogQHBvb2xfdHlwZTogcG9vbCB0eXBlXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI4OiAqIEBtY19kZXY6IHBvaW50ZXIgdG8gYWxsb2NhdGFibGUgZnNsLW1jIGRldmljZVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yOS0gKi9cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM9MzA9c3RhdGljIGludCBfX211c3RfY2hlY2sgZnNsX21jX3Jlc291cmNlX3Bvb2xfYWRkX2RldmljZShzdHJ1Y3QgZnNsX21jX2J1c1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtOTEtICpcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6OTI6ICogQG1jX2RldjogcG9pbnRlciB0byBhbGxvY2F0YWJsZSBmc2wtbWMgZGV2aWNlXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTkzLSAqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjk0OiAqIEl0IHBlcm1hbmVudGx5IHJlbW92ZXMgYW4gYWxsb2NhdGFibGUgZnNsLW1jIGRldmljZSBmcm9tIHRoZSByZXNvdXJjZVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy05NS0gKiBwb29sLiBJdCYjMzk7cyBhbiBlcnJvciBpZiB0aGUgZGV2aWNlIGlzIGluIHVzZS5cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTI1ND1FWFBPUlRfU1lNQk9MX0dQTChmc2xfbWNfcmVzb3VyY2VfZnJlZSk7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yNTYtLyoqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI1NzogKiBmc2xfbWNfb2JqZWN0X2FsbG9jYXRlIC0gQWxsb2NhdGVzIGFuIGZzbC1tYyBvYmplY3Qgb2YgdGhlIGdpdmVuXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI1ODogKiBwb29sIHR5cGUgZnJvbSBhIGdpdmVuIGZzbC1tYyBidXMgaW5zdGFuY2VcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMjU5LSAqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI2MDogKiBAbWNfZGV2OiBmc2wtbWMgZGV2aWNlIHdoaWNoIGlzIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGVcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMjYxLSAqIGFsbG9jYXRlZCBvYmplY3Rcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTMyMj1FWFBPUlRfU1lNQk9MX0dQTChmc2xfbWNfb2JqZWN0X2FsbG9jYXRlKTtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTMyNC0vKipcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6MzI1OiAqIGZzbF9tY19vYmplY3RfZnJlZSAtIFJldHVybnMgYW4gZnNsLW1jIG9iamVjdCB0byB0aGUgcmVzb3VyY2VcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMzI2LSAqIHBvb2wgd2hlcmUgaXQgY2FtZSBmcm9tLlxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzozMjc6ICogQG1jX2FkZXY6IFBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2VcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMzI4LSAqL1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM9MzQzPUVYUE9SVF9TWU1CT0xfR1BMKGZzbF9tY19vYmplY3RfZnJlZSk7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0zNTEtLypcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6MzUyOiAqIEluaXRpYWxpemUgdGhlIGludGVycnVwdCBwb29sIGFzc29jaWF0ZWQgd2l0aCBhbiBmc2wtbWMgYnVzLlxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0zNTMtICogSXQgYWxsb2NhdGVzIGEgYmxvY2sgb2YgSVJRcyBmcm9tIHRoZSBHSUMtSVRTLlxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM9NDExPUVYUE9SVF9TWU1CT0xfR1BMKGZzbF9tY19wb3B1bGF0ZV9pcnFfcG9vbCk7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy00MTMtLypcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NDE0OiAqIFRlYXJkb3duIHRoZSBpbnRlcnJ1cHQgcG9vbCBhc3NvY2lhdGVkIHdpdGggYW4gZnNsLW1jIGJ1cy5cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtNDE1LSAqIEl0IGZyZWVzIHRoZSBJUlFzIHRoYXQgd2VyZSBhbGxvY2F0ZWQgdG8gdGhlIHBvb2wsIGJhY2sgdG8gdGhlIEdJQy1JVFMuXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz00Mzg9RVhQT1JUX1NZTUJPTF9HUEwoZnNsX21jX2NsZWFudXBfaXJxX3Bvb2wpO1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtNDQwLS8qXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjQ0MTogKiBBbGxvY2F0ZSB0aGUgSVJRcyByZXF1aXJlZCBieSBhIGdpdmVuIGZzbC1tYyBkZXZpY2UuXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTQ0Mi0gKi9cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTUwNj1FWFBPUlRfU1lNQk9MX0dQTChmc2xfbWNfYWxsb2NhdGVfaXJxcyk7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy01MDgtLypcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NTA5OiAqIEZyZWVzIHRoZSBJUlFzIHRoYXQgd2VyZSBhbGxvY2F0ZWQgZm9yIGFuIGZzbC1tYyBkZXZpY2UuXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTUxMC0gKi9cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTU2Mj1zdGF0aWMgaW50IGZzbF9tY19hbGxvY2F0b3JfcHJvYmUoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2Rldilcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTU4NS1cdGRldl9kYmcoXHUwMDI2bWNfZGV2LVx1MDAzZWRldixcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NTg2Olx0XHRcJiMzNDtBbGxvY2F0YWJsZSBmc2wtbWMgZGV2aWNlIGJvdW5kIHRvIGZzbF9tY19hbGxvY2F0b3IgZHJpdmVyXCYjMzQ7KTtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtNTg3LVx0cmV0dXJuIDA7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz01OTQ9c3RhdGljIHZvaWQgZnNsX21jX2FsbG9jYXRvcl9yZW1vdmUoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2Rldilcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTYwNC1cdGRldl9kYmcoXHUwMDI2bWNfZGV2LVx1MDAzZWRldixcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NjA1Olx0XHRcJiMzNDtBbGxvY2F0YWJsZSBmc2wtbWMgZGV2aWNlIHVuYm91bmQgZnJvbSBmc2xfbWNfYWxsb2NhdG9yIGRyaXZlclwmIzM0Oyk7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTYwNi19XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMC1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MTE6I2RlZmluZSBwcl9mbXQoZm10KSBcJiMzNDtmc2wtbWM6IFwmIzM0OyBmbXRcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMTItXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0yNS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MjY6I2luY2x1ZGUgXCYjMzQ7ZnNsLW1jLXByaXZhdGUuaFwmIzM0O1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0yNy1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMjgtLypcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6Mjk6ICogRGVmYXVsdCBETUEgbWFzayBmb3IgZGV2aWNlcyBvbiBhIGZzbC1tYyBidXNcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMzAtICovXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0zMz1zdGF0aWMgc3RydWN0IGZzbF9tY192ZXJzaW9uIG1jX3ZlcnNpb247XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0zNi0gKiBzdHJ1Y3QgZnNsX21jIC0gUHJpdmF0ZSBkYXRhIG9mIGEgXCYjMzQ7ZnNsLHFvcmlxLW1jXCYjMzQ7IHBsYXRmb3JtIGRldmljZVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzozNzogKiBAcm9vdF9tY19idXNfZGV2OiBmc2wtbWMgZGV2aWNlIHJlcHJlc2VudGluZyB0aGUgcm9vdCBEUFJDXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTM4LSAqIEBudW1fdHJhbnNsYXRpb25fcmFuZ2VzOiBudW1iZXIgb2YgZW50cmllcyBpbiBhZGRyX3RyYW5zbGF0aW9uX3Jhbmdlc1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9ODA9c3RhdGljIHBoeXNfYWRkcl90IG1jX3BvcnRhbF9iYXNlX3BoeXNfYWRkcjtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTgzLSAqIGZzbF9tY19idXNfbWF0Y2ggLSBkZXZpY2UgdG8gZHJpdmVyIG1hdGNoaW5nIGNhbGxiYWNrXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjg0OiAqIEBkZXY6IHRoZSBmc2wtbWMgZGV2aWNlIHRvIG1hdGNoIGFnYWluc3RcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6ODU6ICogQGRydjogdGhlIGRldmljZSBkcml2ZXIgdG8gc2VhcmNoIGZvciBtYXRjaGluZyBmc2wtbWMgb2JqZWN0IHR5cGVcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtODYtICogc3RydWN0dXJlc1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MTM5PXN0YXRpYyBpbnQgZnNsX21jX2J1c191ZXZlbnQoY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qga29ial91ZXZlbnRfZW52ICplbnYpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xNDItXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjE0MzpcdGlmIChhZGRfdWV2ZW50X3ZhcihlbnYsIFwmIzM0O01PREFMSUFTPWZzbC1tYzp2JTA4WGQlc1wmIzM0OyxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMTQ0LVx0XHRcdCAgIG1jX2Rldi1cdTAwM2VvYmpfZGVzYy52ZW5kb3IsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0yMTQ9c3RhdGljIHNzaXplX3QgbW9kYWxpYXNfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLFxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMjE4LVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzoyMTk6XHRyZXR1cm4gc3lzZnNfZW1pdChidWYsIFwmIzM0O2ZzbC1tYzp2JTA4WGQlc1xcblwmIzM0OywgbWNfZGV2LVx1MDAzZW9ial9kZXNjLnZlbmRvcixcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMjIwLVx0XHRcdG1jX2Rldi1cdTAwM2VvYmpfZGVzYy50eXBlKTtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jPTMyNj1jb25zdCBzdHJ1Y3QgYnVzX3R5cGUgZnNsX21jX2J1c190eXBlID0ge1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzozMjc6XHQubmFtZSA9IFwmIzM0O2ZzbC1tY1wmIzM0OyxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMzI4LVx0LmRyaXZlcl9vdmVycmlkZSA9IHRydWUsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz00OTk9c3RhdGljIGludCBtY19nZXRfdmVyc2lvbihzdHJ1Y3QgZnNsX21jX2lvICptY19pbyxcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTUyOC0gKlxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzo1Mjk6ICogUmV0dXJuOlx0bWMgdmVyc2lvbiB3aGVuIGNhbGxlZCBhZnRlciBmc2wtbWMtYnVzIHByb2JlOyBOVUxMIG90aGVyd2lzZS5cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtNTMwLSAqL1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9NjMyPXN0YXRpYyBpbnQgZnNsX21jX2RldmljZV9nZXRfbW1pb19yZWdpb25zKHN0cnVjdCBmc2xfbWNfZGV2aWNlICptY19kZXYsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy03MTAtXHRcdHJlZ2lvbnNbaV0uZW5kID0gcmVnaW9uc1tpXS5zdGFydCAmIzQzOyByZWdpb25fZGVzYy5zaXplIC0gMTtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6NzExOlx0XHRyZWdpb25zW2ldLm5hbWUgPSBcJiMzNDtmc2wtbWMgb2JqZWN0IE1NSU8gcmVnaW9uXCYjMzQ7O1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy03MTItXHRcdHJlZ2lvbnNbaV0uZmxhZ3MgPSByZWdpb25fZGVzYy5mbGFncyBcdTAwMjYgSU9SRVNPVVJDRV9CSVRTO1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9NzM3PXN0YXRpYyB2b2lkIGZzbF9tY19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy03NDktLypcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6NzUwOiAqIEFkZCBhIG5ld2x5IGRpc2NvdmVyZWQgZnNsLW1jIGRldmljZSB0byBiZSB2aXNpYmxlIGluIExpbnV4XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTc1MS0gKi9cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jPTg4Mj1zdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIGZzbF9tY19uYjtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTg4NC0vKipcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6ODg1OiAqIGZzbF9tY19kZXZpY2VfcmVtb3ZlIC0gUmVtb3ZlIGFuIGZzbC1tYyBkZXZpY2UgZnJvbSBiZWluZyB2aXNpYmxlIHRvXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTg4Ni0gKiBMaW51eFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy04ODctICpcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6ODg4OiAqIEBtY19kZXY6IFBvaW50ZXIgdG8gYW4gZnNsLW1jIGRldmljZVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy04ODktICovXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz05MDA9c3RydWN0IGZzbF9tY19kZXZpY2UgKmZzbF9tY19nZXRfZW5kcG9pbnQoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2Rldixcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTkzNi1cdCAqIGludGVycm9nYXRpbmcgdGhlIGZpcm13YXJlLiBUaGlzIGlzIHRoZSBjYXNlIHdoZW4gdGhlIGRldmljZSB3YXMgbm90XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjkzNzpcdCAqIHlldCBkaXNjb3ZlcmVkIGJ5IHRoZSBmc2wtbWMgYnVzLCB0aHVzIHRoZSBsb29rdXAgcmV0dXJuZWQgTlVMTC5cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtOTM4LVx0ICogRm9yY2UgYSByZXNjYW4gb2YgdGhlIGRldmljZXMgaW4gdGhpcyBjb250YWluZXIgYW5kIHJldHJ5IHRoZSBsb29rdXAuXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0xMDA1PXN0YXRpYyBpbnQgZnNsX21jX2Zpcm13YXJlX2NoZWNrKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMDEzLVx0XHRkZXZfZXJyKFx1MDAyNnBkZXYtXHUwMDNlZGV2LFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzoxMDE0Olx0XHRcdFwmIzM0O2ZzbC1tYzogRFBMIHByb2Nlc3Npbmcgd2FzIG5vdCBzdGFydGVkLCBEUEFBMiB3aWxsIG5vdCB3b3JrIVxcblwmIzM0Oyk7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTEwMTUtXHRcdHJldHVybiAtRU9QTk9UU1VQUDtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTEwMjAtXHRcdGRldl9kYmcoXHUwMDI2cGRldi1cdTAwM2VkZXYsXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjEwMjE6XHRcdFx0XCYjMzQ7ZnNsLW1jOiBEUEwgcHJvY2Vzc2luZyBpbiBwcm9ncmVzcywgZGVmZXIgcHJvYmVcXG5cJiMzNDspO1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMDIyLVx0XHRyZXR1cm4gLUVQUk9CRV9ERUZFUjtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTEwMjctXHRcdGRldl9lcnIoXHUwMDI2cGRldi1cdTAwM2VkZXYsXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjEwMjg6XHRcdFx0XCYjMzQ7ZnNsLW1jOiBNQyBib290IGNvbXBsZXRlZCB3aXRoIGVycm9yIDB4JXhcXG5cJiMzNDssIG1jcyk7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTEwMjktXHRcdHJldHVybiAtRUlOVkFMO1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtbXNpLmMtMTUtXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLW1zaS5jOjE2OiNpbmNsdWRlIFwmIzM0O2ZzbC1tYy1wcml2YXRlLmhcJiMzNDtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtbXNpLmMtMTctXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmg9NTgyPXN0cnVjdCBmc2xfbWNfdWFwaSB7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmgtNTkxLSAqIHN0cnVjdCBmc2xfbWNfYnVzIC0gbG9naWNhbCBidXMgdGhhdCBjb3JyZXNwb25kcyB0byBhIHBoeXNpY2FsIERQUkNcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtcHJpdmF0ZS5oOjU5MjogKiBAbWNfZGV2OiBmc2wtbWMgZGV2aWNlIGZvciB0aGUgYnVzIGRldmljZSBpdHNlbGYuXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXByaXZhdGUuaC01OTMtICogQHJlc291cmNlX3Bvb2xzOiBhcnJheSBvZiByZXNvdXJjZSBwb29scyAob25lIHBvb2wgcGVyIHJlc291cmNlIHR5cGUpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy11YXBpLmMtMTMtXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXVhcGkuYzoxNDojaW5jbHVkZSBcJiMzNDtmc2wtbWMtcHJpdmF0ZS5oXCYjMzQ7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXVhcGkuYy0xNS1cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvbWMtaW8uYy05LVxuZHJpdmVycy9idXMvZnNsLW1jL21jLWlvLmM6MTA6I2luY2x1ZGUgXCYjMzQ7ZnNsLW1jLXByaXZhdGUuaFwmIzM0O1xuZHJpdmVycy9idXMvZnNsLW1jL21jLWlvLmMtMTEtXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL21jLXN5cy5jLTE2LVxuZHJpdmVycy9idXMvZnNsLW1jL21jLXN5cy5jOjE3OiNpbmNsdWRlIFwmIzM0O2ZzbC1tYy1wcml2YXRlLmhcJiMzNDtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9tYy1zeXMuYy0xOC1cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvb2JqLWFwaS5jLTgtXG5kcml2ZXJzL2J1cy9mc2wtbWMvb2JqLWFwaS5jOjk6I2luY2x1ZGUgXCYjMzQ7ZnNsLW1jLXByaXZhdGUuaFwmIzM0O1xuZHJpdmVycy9idXMvZnNsLW1jL29iai1hcGkuYy0xMC1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo0MDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA5Nzg2CgkJCQkJCQlvdXRwdXQ6IDQ1CgkJCQkJCQl0aG91Z2h0czogMTg2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkludmVzdGlnYXRpbmcgdGhlIGZzbC1tYyBCdXMgYW5kIFBvdGVudGlhbCBFbXVsYXRpb24qKgoKT2theSwgc28gdGhlIGBmc2wtbWNgIGJ1cyBpcyBRb3JJUSBEUEFBMiBzcGVjaWZpYy4gSG1tLCBJIHdvbmRlciBpZiB0aGVyZSYjMzk7cyBhbnkgd2F5IHRvIGVtdWxhdGUgaXQ/IFRoYXQgd291bGQgYmUgdXNlZnVsIGZvciB0ZXN0aW5nIGFuZCBkZWJ1Z2dpbmcuIExldCBtZSBxdWlja2x5IGNoZWNrIGlmIFFFTVUgb3IgcGVyaGFwcyBldmVuIHN5emthbGxlciBoYXMgc29tZSBraW5kIG9mIHBzZXVkby1kZXZpY2UgZm9yIHRoaXMuIFdhaXQsIGhvbGQgb24uLi4gdGhlIGNvbW1pdCBtZXNzYWdlIG1lbnRpb25lZCAmIzM0O3N5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldyYjMzQ7IGFuZCB0aGUgYXV0aG9yIGlzIHN5ei1jbHVzdGVyLiBUaGF0JiMzOTtzIGludGVyZXN0aW5nLi4uIGl0IGxvb2tzIGxpa2Ugc3l6a2FsbGVyIGVpdGhlciBmb3VuZCBhIGJ1ZyByZWxhdGVkIHRvIHRoaXMgYnVzLCBvciB0aGV5JiMzOTtyZSB0ZXN0aW5nIGEgcG90ZW50aWFsIHBhdGNoIGZvciBpdC4KCldhaXQgYSBzZWNvbmQsIGlmIHRoZXkmIzM5O3JlIHRlc3RpbmcgaXQsIHRoYXQgcHJvYmFibHkgbWVhbnMgc3l6a2FsbGVyIGlzIGZ1enppbmcgaXQgaWYgdGhlcmUmIzM5O3MgYSB3YXkgdG8gcmVhY2ggaXQuIE15IG1pbmQgaW1tZWRpYXRlbHkganVtcHMgdG8sIGlzIGl0IHBvc3NpYmxlIHRvIHJlYWNoIHRoYXQgZnVuY3Rpb24sIGBkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWNgPyBMZXQgbWUgZ28gc3RyYWlnaHQgdG8gYGRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguY2AsIGFuZCBjaGVjayBpdCBvdXQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NDA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7ZHBhYTJfZXRoX2Rpc2Nvbm5lY3RfbWFjJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM9NDY1ND1zdGF0aWMgaW50IGRwYWEyX2V0aF9jb25uZWN0X21hYyhzdHJ1Y3QgZHBhYTJfZXRoX3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTQ3MTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM6NDcxOTpzdGF0aWMgdm9pZCBkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWMoc3RydWN0IGRwYWEyX2V0aF9wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTQ3MjAte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYz00NzM5PXN0YXRpYyBpcnFyZXR1cm5fdCBkcG5pX2lycTBfaGFuZGxlcl90aHJlYWQoaW50IGlycV9udW0sIHZvaWQgKmFyZylcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNDc2OC1cdFx0aWYgKGhhZF9tYWMpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM6NDc2OTpcdFx0XHRkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWMocHJpdik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNDc3MC1cdFx0ZWxzZVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYz00ODU3PXN0YXRpYyBpbnQgZHBhYTJfZXRoX3Byb2JlKHN0cnVjdCBmc2xfbWNfZGV2aWNlICpkcG5pX2Rldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNTA0NC1lcnJfcG9sbF90aHJlYWQ6XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM6NTA0NTpcdGRwYWEyX2V0aF9kaXNjb25uZWN0X21hYyhwcml2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYy01MDQ2LWVycl9jb25uZWN0X21hYzpcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM9NTA3OD1zdGF0aWMgdm9pZCBkcGFhMl9ldGhfcmVtb3ZlKHN0cnVjdCBmc2xfbWNfZGV2aWNlICpsc19kZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTUxMDQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM6NTEwNTpcdGRwYWEyX2V0aF9kaXNjb25uZWN0X21hYyhwcml2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYy01MTA2LVx0ZHBhYTJfZXRoX2ZyZWVfcmluZ3MocHJpdik7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NDA8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTA5NjIKCQkJCQkJCW91dHB1dDogMjgKCQkJCQkJCXRob3VnaHRzOiA0NDkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBSZWFjaGFiaWxpdHkgb2YgdGhlIGBkcGFhMl9ldGhgIERyaXZlciBmb3IgRnV6emluZyoqCgpPa2F5LCBzbyB0aGUgYGRwYWEyX2V0aF9kaXNjb25uZWN0X21hY2AgZnVuY3Rpb24gaXMgY2FsbGVkIGluIHNldmVyYWwgcGxhY2VzOiBgZHBhYTJfZXRoX3JlbW92ZWAsIGBkcGFhMl9ldGhfcHJvYmVgIChpZiB0aGVyZSYjMzk7cyBhbiBlcnJvciksIGFuZCB0aGUgYGRwbmlfaXJxMF9oYW5kbGVyX3RocmVhZGAuIFRoaXMgaXMgYSBoYXJkd2FyZSBkcml2ZXIgZm9yIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldC4gVGhlIHJlYWwgcXVlc3Rpb24gaXM6IGNhbiBJIGV2ZW4gKnJlYWNoKiB0aGlzIHRoaW5nIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQ/IEkmIzM5O20gdGhpbmtpbmcsIG1vc3QgaGFyZHdhcmUgZHJpdmVycyB0aGF0IGFyZW4mIzM5O3QgZW11bGF0ZWQgYnkgc29tZXRoaW5nIGxpa2UgUUVNVSBhbmQgZG9uJiMzOTt0IHNpdCBvbiBhIHZpcnR1YWwgYnVzIChsaWtlIFVTQiBvciBQQ0kpIGFyZSB1c3VhbGx5IHVucmVhY2hhYmxlLgoKQnV0IHdhaXQsIGlzbiYjMzk7dCB0aGUgYGZzbC1tY2AgYnVzIGEgKnBsYXRmb3JtKiBidXM/IEhtbSwgY291bGQgSSBwb3RlbnRpYWxseSBpbnN0YW50aWF0ZSBgZnNsLW1jYCBkZXZpY2VzIHNvbWVob3cgdXNpbmcgZGV2aWNlIHRyZWUgb3ZlcmxheXMgb3Igc29tZXRoaW5nIHNpbWlsYXI/IEkgcXVpY2tseSByZW1lbWJlciB0aGF0IFN5emthbGxlciBjdXJyZW50bHkgbGFja3Mgc3VwcG9ydCBmb3IgaW5qZWN0aW5nIHRoZSBgZnNsLW1jYCBidXMgZGlyZWN0bHkuIFNob290LCBJIHRob3VnaHQgSSByZW1lbWJlcmVkIGEgYHN5el9nZW5ldGxpbmtgIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQsIGJ1dCBJIHdhcyB3cm9uZy4gSWYgdGhpcyBpcyB0cnVseSBhIGhhcmR3YXJlIGRyaXZlciwgYW5kIGl0JiMzOTtzIG5vdCBlbXVsYXRlZCwgaXQmIzM5O3MgcHJldHR5IG11Y2ggZGVhZCBpbiB0aGUgd2F0ZXIgZm9yIGZ1enppbmcuCgpMZXQmIzM5O3MgY2hlY2sgU3l6a2FsbGVyIGNvbmZpZ3MuIElzIGBDT05GSUdfRlNMX01DX0JVU2AgZW5hYmxlZCBvciBjYW4gaXQgYmUgZW5hYmxlZD8gSXQgbG9va3MgbGlrZSBpdCBkZXBlbmRzIG9uIGBPRmAgYW5kIGEgZmV3IG90aGVyIGNvbmRpdGlvbnMgaW52b2x2aW5nIHRoZSBhcmNoaXRlY3R1cmUgYW5kIGEgYENPTVBJTEVfVEVTVGAgZmxhZzogYE9GICZhbXA7JmFtcDsgKEFSQ0hfTEFZRVJTQ0FQRSB8fCAoQ09NUElMRV9URVNUICZhbXA7JmFtcDsgKEFSTSB8fCBBUk02NCB8fCBYODZfTE9DQUxfQVBJQyB8fCBQUEMpKSlgLiBTbywgaXQgKmNvdWxkKiBiZSBjb21waWxlZCBvbiB4ODYgd2l0aCB0aGUgYENPTVBJTEVfVEVTVGAgb3B0aW9uLgoKQnV0IHRoZSByZWFsIHF1ZXN0aW9uIGlzIHByb2JpbmcuLi4gY2FuIGl0IGFjdHVhbGx5ICpwcm9iZSo/IFRoZSBgZnNsLW1jYCBidXMgZHJpdmVyIHByb2JlcyBvbiBhIHNwZWNpZmljIHBsYXRmb3JtIGRldmljZTogJiMzNDtmc2wscW9yaXEtbWMmIzM0Oy4gV2l0aG91dCB0aGF0IHBsYXRmb3JtIGRldmljZSwgdGhlIGJ1cyBkcml2ZXIgd29uJiMzOTt0IHByb2JlLCBhbmQgbm8gYGZzbC1tY2AgZGV2aWNlcyBhcmUgY3JlYXRlZC4gVGhhdCBtZWFucyBgZHBhYTJfZXRoX3Byb2JlYCB3aWxsIG5ldmVyIGV2ZW4gYmUgY2FsbGVkLgoKU28sIGlzIHRoZXJlIGEgd2F5IHRvIGNyZWF0ZSBwbGF0Zm9ybSBkZXZpY2VzIGZyb20gdXNlcnNwYWNlPyBNYXliZSB1c2luZyBgc3l6X2RldmxpbmtgIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQ/IE5vcGUuIEFoLCB3YWl0LCB0aGVyZSYjMzk7cyBkZXZpY2UgdHJlZSBvdmVybGF5cyBhZ2Fpbi4gU3l6a2FsbGVyIGRvZXNuJiMzOTt0IHNlZW0gdG8gc3VwcG9ydCBpbmplY3RpbmcgcGxhdGZvcm0gZGV2aWNlcyB2aWEgb3ZlcmxheXMuCgpXYWl0LCBtYXliZSB0aGVyZSYjMzk7cyBhIHZpcnR1YWwgZHJpdmVyIGZvciB0aGlzIHRoaW5nIHNvbWV3aGVyZT8gTGV0JiMzOTtzIGdvIGxvb2sgZm9yIGFueSB2aXJ0dWFsIGBmc2wtbWNgIGRldmljZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NDA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7ZnNsLHFvcmlxLW1jJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7JiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbWlzYy9mc2wscW9yaXEtbWMueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWw9NTE9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC01My0gICAgZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sOjU0OiAgICAgIC0gZnNsLHFvcmlxLW1jXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC01NS0gICAgZGVzY3JpcHRpb246XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbDo1NjogICAgICBNdXN0IGJlIFwmIzM0O2ZzbCxxb3JpcS1tY1wmIzM0Oy4gIEEgRnJlZXNjYWxlIE1hbmFnZW1lbnQgQ29tcGxleFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwtNTctICAgICAgY29tcGF0aWJsZSB3aXRoIHRoaXMgYmluZGluZyBtdXN0IGhhdmUgQmxvY2sgUmV2aXNpb25cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC0xNDMtICAgICAgJiMzOTteZXRoZXJuZXRAW2EtZjAtOV0mIzQzOyQmIzM5OzpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sOjE0NDogICAgICAgICRyZWY6IC9zY2hlbWFzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwtMTQ1LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sPTE1Nz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC0xNTktICAgIGZzbC1tY0A4MGMwMDAwMDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWw6MTYwOiAgICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tY1wmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTE2MS0gICAgICAgIHJlZyA9IFx1MDAzYzB4MGMwMDAwMDAgMHg0MFx1MDAzZSwgICAgLyogTUMgcG9ydGFsIGJhc2UgKi9cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC0xODEtICAgICAgICAgICAgZXRoZXJuZXRAMSB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbDoxODI6ICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC0xODMtICAgICAgICAgICAgICAgIHJlZyA9IFx1MDAzYzFcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWw9MTk9cHJvcGVydGllczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWwtMjAtICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbDoyMTogICAgY29uc3Q6IGZzbCxxb3JpcS1tYy1kcG1hY1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbC0yMi1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sPTQyPWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWwtNDgtICAgICAgZXRoZXJuZXRANCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sOjQ5OiAgICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWwtNTAtICAgICAgICByZWcgPSBcdTAwM2MweDRcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9vdmVydmlldy5yc3Q9MzI3PVRoZSBNQy1idXMgZHJpdmVyIGlzIGEgcGxhdGZvcm0gZHJpdmVyIGFuZCBpcyBwcm9iZWQgZnJvbSBhXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL292ZXJ2aWV3LnJzdDozMjg6bm9kZSBpbiB0aGUgZGV2aWNlIHRyZWUgKGNvbXBhdGlibGUgXCYjMzQ7ZnNsLHFvcmlxLW1jXCYjMzQ7KSBwYXNzZWQgaW4gYnkgYm9vdFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9vdmVydmlldy5yc3QtMzI5LWZpcm13YXJlLiAgSXQgaXMgcmVzcG9uc2libGUgZm9yIGJvb3RzdHJhcHBpbmcgdGhlIERQQUEyIGtlcm5lbFxuLS1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvb3ZlcnZpZXcucnN0PTM0MT1UaGUgYmluZGluZyBmb3IgdGhlIE1DLWJ1cyBkZXZpY2UtdHJlZSBub2RlIGNhbiBiZSBjb25zdWx0ZWQgYXRcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvb3ZlcnZpZXcucnN0OjM0MjoqRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwqLlxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9vdmVydmlldy5yc3QtMzQzLVRoZSBzeXNmcyBiaW5kL3VuYmluZCBpbnRlcmZhY2VzIGZvciB0aGUgTUMtYnVzIGNhbiBiZSBjb25zdWx0ZWQgYXRcbi0tXG5NQUlOVEFJTkVSUz0yMjAzMD1GOlx0RG9jdW1lbnRhdGlvbi9BQkkvc3RhYmxlL3N5c2ZzLWJ1cy1mc2wtbWNcbk1BSU5UQUlORVJTOjIyMDMxOkY6XHREb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbFxuTUFJTlRBSU5FUlMtMjIwMzItRjpcdERvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvb3ZlcnZpZXcucnN0XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT05Njg9XHRcdGZzbF9tYzogZnNsLW1jQDgwYzAwMDAwMCB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjk2OTpcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS05NzAtXHRcdFx0cmVnID0gXHUwMDNjMHgwMDAwMDAwOCAweDBjMDAwMDAwIDAgMHg0MFx1MDAzZSxcdCAvKiBNQyBwb3J0YWwgYmFzZSAqL1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2k9OTg5PVx0XHRcdFx0ZHBtYWMxOiBldGhlcm5ldEAxIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2k6OTkwOlx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS05OTEtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzFcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT05OTQ9XHRcdFx0XHRkcG1hYzI6IGV0aGVybmV0QDIge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaTo5OTU6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpLTk5Ni1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMlx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTk5OT1cdFx0XHRcdGRwbWFjMzogZXRoZXJuZXRAMyB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMDA6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpLTEwMDEtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzNcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT0xMDA0PVx0XHRcdFx0ZHBtYWM0OiBldGhlcm5ldEA0IHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2k6MTAwNTpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAwNi1cdFx0XHRcdFx0cmVnID0gXHUwMDNjNFx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMDk9XHRcdFx0XHRkcG1hYzU6IGV0aGVybmV0QDUge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaToxMDEwOlx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS0xMDExLVx0XHRcdFx0XHRyZWcgPSBcdTAwM2M1XHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2k9MTAxND1cdFx0XHRcdGRwbWFjNjogZXRoZXJuZXRANiB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMTU6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpLTEwMTYtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzZcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT0xMDE5PVx0XHRcdFx0ZHBtYWM3OiBldGhlcm5ldEA3IHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2k6MTAyMDpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAyMS1cdFx0XHRcdFx0cmVnID0gXHUwMDNjN1x1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMjQ9XHRcdFx0XHRkcG1hYzg6IGV0aGVybmV0QDgge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaToxMDI1Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS0xMDI2LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2M4XHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2k9MTAyOT1cdFx0XHRcdGRwbWFjOTogZXRoZXJuZXRAOSB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMzA6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpLTEwMzEtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzlcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT0xMDM0PVx0XHRcdFx0ZHBtYWMxMDogZXRoZXJuZXRAYSB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMzU6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpLTEwMzYtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4YVx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTc1Nz1cdFx0ZnNsX21jOiBmc2wtbWNAODBjMDAwMDAwIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6NzU4Olx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTc1OS1cdFx0XHRyZWcgPSBcdTAwM2MweDAwMDAwMDA4IDB4MGMwMDAwMDAgMCAweDQwXHUwMDNlLFx0IC8qIE1DIHBvcnRhbCBiYXNlICovXG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT03ODE9XHRcdFx0XHRkcG1hYzE6IGV0aGVybmV0QDEge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo3ODI6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTc4My1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHgxXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9Nzg3PVx0XHRcdFx0ZHBtYWMyOiBldGhlcm5ldEAyIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6Nzg4Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS03ODktXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4Mlx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTc5Mz1cdFx0XHRcdGRwbWFjMzogZXRoZXJuZXRAMyB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjc5NDpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktNzk1LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDNcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT03OTk9XHRcdFx0XHRkcG1hYzQ6IGV0aGVybmV0QDQge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4MDA6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTgwMS1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHg0XHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9ODA1PVx0XHRcdFx0ZHBtYWM1OiBldGhlcm5ldEA1IHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6ODA2Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04MDctXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4NVx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTgxMT1cdFx0XHRcdGRwbWFjNjogZXRoZXJuZXRANiB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjgxMjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODEzLVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDZcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT04MTc9XHRcdFx0XHRkcG1hYzc6IGV0aGVybmV0QDcge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4MTg6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTgxOS1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHg3XHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9ODIzPVx0XHRcdFx0ZHBtYWM4OiBldGhlcm5ldEA4IHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6ODI0Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04MjUtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4OFx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTgyOT1cdFx0XHRcdGRwbWFjOTogZXRoZXJuZXRAOSB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjgzMDpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODMxLVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDlcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT04MzU9XHRcdFx0XHRkcG1hYzEwOiBldGhlcm5ldEBhIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6ODM2Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04MzctXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4YVx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg0MT1cdFx0XHRcdGRwbWFjMTE6IGV0aGVybmV0QGIge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4NDI6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTg0My1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHhiXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9ODQ3PVx0XHRcdFx0ZHBtYWMxMjogZXRoZXJuZXRAYyB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg0ODpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODQ5LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweGNcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT04NTM9XHRcdFx0XHRkcG1hYzEzOiBldGhlcm5ldEBkIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6ODU0Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04NTUtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4ZFx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg1OT1cdFx0XHRcdGRwbWFjMTQ6IGV0aGVybmV0QGUge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4NjA6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTg2MS1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHhlXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9ODY1PVx0XHRcdFx0ZHBtYWMxNTogZXRoZXJuZXRAZiB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg2NjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODY3LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweGZcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT04NzE9XHRcdFx0XHRkcG1hYzE2OiBldGhlcm5ldEAxMCB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg3MjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODczLVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDEwXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTg4MD1cdFx0ZnNsX21jOiBmc2wtbWNAODBjMDAwMDAwIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTg4MTpcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xODgyLVx0XHRcdHJlZyA9IFx1MDAzYzB4MDAwMDAwMDggMHgwYzAwMDAwMCAwIDB4NDBcdTAwM2UsXG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTA1PVx0XHRcdFx0ZHBtYWMxOiBldGhlcm5ldEAxIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTkwNjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTkwNy1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHgxXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTkxMT1cdFx0XHRcdGRwbWFjMjogZXRoZXJuZXRAMiB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5MTI6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5MTMtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4Mlx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5MTc9XHRcdFx0XHRkcG1hYzM6IGV0aGVybmV0QDMge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTE4Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTE5LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDNcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTIzPVx0XHRcdFx0ZHBtYWM0OiBldGhlcm5ldEA0IHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTkyNDpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTkyNS1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHg0XHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTkyOT1cdFx0XHRcdGRwbWFjNTogZXRoZXJuZXRANSB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5MzA6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5MzEtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4NVx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5MzU9XHRcdFx0XHRkcG1hYzY6IGV0aGVybmV0QDYge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTM2Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTM3LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDZcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTQxPVx0XHRcdFx0ZHBtYWM3OiBldGhlcm5ldEA3IHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTk0MjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk0My1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHg3XHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk0Nz1cdFx0XHRcdGRwbWFjODogZXRoZXJuZXRAOCB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5NDg6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5NDktXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4OFx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5NTM9XHRcdFx0XHRkcG1hYzk6IGV0aGVybmV0QDkge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTU0Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTU1LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDlcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTU5PVx0XHRcdFx0ZHBtYWMxMDogZXRoZXJuZXRAYSB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5NjA6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5NjEtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4YVx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5NjU9XHRcdFx0XHRkcG1hYzExOiBldGhlcm5ldEBiIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTk2NjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk2Ny1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHhiXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk3MT1cdFx0XHRcdGRwbWFjMTI6IGV0aGVybmV0QGMge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTcyOlx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTczLVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweGNcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTc3PVx0XHRcdFx0ZHBtYWMxMzogZXRoZXJuZXRAZCB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5Nzg6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5NzktXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4ZFx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5ODM9XHRcdFx0XHRkcG1hYzE0OiBldGhlcm5ldEBlIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTk4NDpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk4NS1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHhlXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk4OT1cdFx0XHRcdGRwbWFjMTU6IGV0aGVybmV0QGYge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTkwOlx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTkxLVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweGZcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTk1PVx0XHRcdFx0ZHBtYWMxNjogZXRoZXJuZXRAMTAge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTk2Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTk3LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDEwXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MjAwMT1cdFx0XHRcdGRwbWFjMTc6IGV0aGVybmV0QDExIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MjAwMjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMjAwMy1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHgxMVx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTIwMDc9XHRcdFx0XHRkcG1hYzE4OiBldGhlcm5ldEAxMiB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjIwMDg6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTIwMDktXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4MTJcdTAwM2U7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0zMz1zdGF0aWMgc3RydWN0IGZzbF9tY192ZXJzaW9uIG1jX3ZlcnNpb247XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0zNS0vKipcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MzY6ICogc3RydWN0IGZzbF9tYyAtIFByaXZhdGUgZGF0YSBvZiBhIFwmIzM0O2ZzbCxxb3JpcS1tY1wmIzM0OyBwbGF0Zm9ybSBkZXZpY2VcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMzctICogQHJvb3RfbWNfYnVzX2RldjogZnNsLW1jIGRldmljZSByZXByZXNlbnRpbmcgdGhlIHJvb3QgRFBSQ1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9OTYxPXN0YXRpYyBpbnQgZ2V0X21jX2FkZHJfdHJhbnNsYXRpb25fcmFuZ2VzKHN0cnVjdCBkZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTk3NC1cdFx0ICogTWlzc2luZyBvciBlbXB0eSByYW5nZXMgcHJvcGVydHkgKFwmIzM0O3JhbmdlcztcJiMzNDspIGZvciB0aGVcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6OTc1Olx0XHQgKiAmIzM5O2ZzbCxxb3JpcS1tYyYjMzk7IG5vZGUuIEluIHRoaXMgY2FzZSwgaWRlbnRpdHkgbWFwcGluZ1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy05NzYtXHRcdCAqIHdpbGwgYmUgdXNlZC5cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jPTExOTc9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZnNsX21jX2J1c19tYXRjaF90YWJsZVtdID0ge1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzoxMTk4Olx0ey5jb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jXCYjMzQ7LH0sXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTExOTktXHR7fSxcbi0tXG5kcml2ZXJzL2NyeXB0by9jYWFtL2N0cmwuYz04NTk9c3RhdGljIGludCBjYWFtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXG4tLVxuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmMtMTAxMi1cdGN0cmxwcml2LVx1MDAzZXNlY3Zpb19pcnEgPSBpcnFfb2ZfcGFyc2VfYW5kX21hcChucHJvcCwgMCk7XG5kcml2ZXJzL2NyeXB0by9jYWFtL2N0cmwuYzoxMDEzOlx0bnAgPSBvZl9maW5kX2NvbXBhdGlibGVfbm9kZShOVUxMLCBOVUxMLCBcJiMzNDtmc2wscW9yaXEtbWNcJiMzNDspO1xuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmMtMTAxNC1cdGN0cmxwcml2LVx1MDAzZW1jX2VuID0gISFucDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo0MDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDQ5OAoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDExMDAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqV29ydGhGdXp6aW5nIERlY2lzaW9uOiBQbGF0Zm9ybSBEZXZpY2UgJiMzNDtmc2wscW9yaXEtbWMmIzM0OyoqCgpPa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duLiBUaGUgY29kZSB0YXJnZXRzIHRoZSAmIzM0O2ZzbCxxb3JpcS1tYyYjMzQ7IHBsYXRmb3JtIGRldmljZSwgd2hpY2ggaXMgc3BlY2lmaWMgdG8gRnJlZXNjYWxlIFNvQ3MuIEkga25vdyB0aGlzIGlzIHR5cGljYWxseSBmb3VuZCBpbiBkZXZpY2UgdHJlZXMgZm9yIHBsYXRmb3JtcyBsaWtlIGZzbC1sczEwODhhLCBmc2wtbHMyMDh4YSwgb3IgZnNsLWx4MjE2MGEuIFRoZSBpbW1lZGlhdGUgY29uY2VybiBpcyB2aXJ0dWFsaXphdGlvbi4gSSBuZWVkIHRvIGRldGVybWluZSBpZiB0aGlzIGlzIHJlYWNoYWJsZSBpbiBzdGFuZGFyZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgYmVjYXVzZSB0aGUgcHJvbXB0IGV4cGxpY2l0bHkgc3RhdGVzIHRoYXQgSSBzaG91bGQgcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlmIGl0JiMzOTtzIG5vdC4KCk15IGluaXRpYWwgdGhvdWdodCBpcywgUUVNVSBkb2VzbiYjMzk7dCBlbXVsYXRlIHRoaXMgZGlyZWN0bHk7IGl0JiMzOTtzIG5vdCBhIHN0YW5kYXJkIGZlYXR1cmUuIEkgc3RhcnQgY29uc2lkZXJpbmcgaWYgc3l6a2FsbGVyIGlzIHNvbWVob3cgZnV6emluZyB0aGlzLiBJdCBoYXMgYHN5el9nZW5ldGxpbmtgIGFuZCBgc3l6X3VzYl9jb25uZWN0YCwgYnV0IHBsYXRmb3JtIGRldmljZXMgYXJlIGEgZGlmZmVyZW50IGJlYXN0LiBTeXprYWxsZXIgdXN1YWxseSBuZWVkcyBzcGVjaWZpYyBwc2V1ZG8tZGV2aWNlcyBvciBkZXZpY2UgdHJlZSBvdmVybGF5cyB0byBpbmplY3QgdGhlbS4gVGhlbiBJIHJlbWVtYmVyIGBzeXpfZGV2bGlua2AsIGJ1dCB0aGF0JiMzOTtzIGZvciB0aGUgZGV2bGluayBzdWJzeXN0ZW0sIG5vdCBwbGF0Zm9ybSBkZXZpY2VzLgoKQWhhISBTeXprYWxsZXIgKmNhbiogcnVuIG9uIHJlYWwgaGFyZHdhcmUsIGxpa2UgTlhQIGJvYXJkcywgb3IgZXZlbiBzcGVjaWZpYyBBUk02NCBRRU1VIGNvbmZpZ3VyYXRpb25zLiBTbywgdGhlIHBvc3NpYmlsaXR5IGV4aXN0cyB0aGF0IHN5emthbGxlciBpcyBoaXR0aW5nIHRoaXMgb24gcGh5c2ljYWwgaGFyZHdhcmUuIEkgbmVlZCB0byBrZWVwIHRoYXQgaW4gbWluZC4gVGhlIHByb21wdCYjMzk7cyBsYW5ndWFnZSBpcyBwcmVjaXNlOiBpZiBjb2RlIHBhdGhzIGFyZSAmIzM0O2ltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsJiMzNDsgZXZlbiB3aXRoIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlLCB0aGVuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLgoKSSBhdHRlbXB0IHRvIGNvbmZpcm0gaWYgUUVNVSBlbXVsYXRlcyAmIzM0O2ZzbCxxb3JpcS1tYyYjMzQ7LiBJIGNhbiYjMzk7dCBjaGVjayBRRU1VJiMzOTtzIHNvdXJjZSBkaXJlY3RseSwgYnV0IEkgbG9vayBmb3IgYW55IGtlcm5lbCBldmlkZW5jZSBzdWdnZXN0aW5nIGl0JiMzOTtzIHZpcnR1YWwuIFRoaXMgaXMgYSAqaGFyZHdhcmUqIGRldmljZSDigJMgdGhlIEZyZWVzY2FsZSBNYW5hZ2VtZW50IENvbXBsZXguIEl0JiMzOTtzIGEgJiMzNDtwbGF0Zm9ybSBidXMmIzM0OyBkZXZpY2UsIGluc3RhbnRpYXRlZCBlaXRoZXIgZnJvbSB0aGUgZGV2aWNlIHRyZWUgKERUKSBvciBBQ1BJLiBUaGVyZSYjMzk7cyBubyBrZXJuZWwgY29kZSBtYW51YWxseSBpbnN0YW50aWF0aW5nICYjMzQ7ZnNsLHFvcmlxLW1jJiMzNDsgZXhjZXB0IHBlcmhhcHMgaW4gYm9hcmQtc3BlY2lmaWMgZmlsZXMsIHdoaWNoIGFyZSBsZXNzIHJlbGV2YW50IHdpdGggQVJNNjQmIzM5O3MgRFQgZm9jdXMuCgpEb2VzIHRoZSBgdmlydGAgUUVNVSBtYWNoaW5lLCBvciBzaW1pbGFyLCBpbnN0YW50aWF0ZSB0aGlzPyBObywgYHZpcnRgIHVzZXMgdmlydGlvLiBRRU1VIGRvZXMgaGF2ZSBtYWNoaW5lIHR5cGVzLCBzdWNoIGFzIGB4bG54LXpjdTEwMmAsIGByYXNwaTNgLCBldGMsIGJ1dCBJIGRvbiYjMzk7dCBiZWxpZXZlIHRoZXJlJiMzOTtzIGZ1bGwgRFBBQTIgZW11bGF0aW9uLCBiZWNhdXNlIERQQUEyIGlzIGEgdmVyeSBjb21wbGV4IGhhcmR3YXJlIGFyY2hpdGVjdHVyZSB3aXRoIGl0cyBvd24gZmlybXdhcmUgKE1DIGZpcm13YXJlKS4gVGhlIGtlcm5lbCBkcml2ZXIgbG9hZHMgZmlybXdhcmU7IGBmc2xfbWNfZmlybXdhcmVfY2hlY2tgIHZlcmlmaWVzIGl0JiMzOTtzIHJ1bm5pbmcuIElmIHRoZSBmaXJtd2FyZSBpc24mIzM5O3QgcnVubmluZywgaXQgcmV0dXJucyBgLUVPUE5PVFNVUFBgLiBUaGF0JiMzOTtzIGEgaHVnZSBodXJkbGUuIEV2ZW4gaWYgUUVNVSBlbXVsYXRlZCB0aGUgcmVnaXN0ZXJzLCBpdCYjMzk7ZCBuZWVkIHRoZSBNQyBmaXJtd2FyZS4KClRoZXJlZm9yZSwgdW5sZXNzIHRoZXJlJiMzOTtzIHNwZWNpZmljIGhhcmR3YXJlIG9yIHZlcnkgc3BlY2lhbGl6ZWQgZW11bGF0aW9uLCByZWFjaGluZyB0aGlzIGluIGEgdmlydHVhbCBlbnZpcm9ubWVudCBzZWVtcyB1bmxpa2VseS4gV2FpdCwgSSBzZWUgdGhlIGNvbW1pdCBtZXNzYWdlIHNheXMgJiMzNDtzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcmIzM0Oy4gVGhpcyBpbXBsaWVzIHN5emthbGxlciAqZGlkKiBmaW5kIGEgYnVnLCB3aGljaCByZXF1aXJlcyBmdXJ0aGVyIGludmVzdGlnYXRpb24uCgpIb3cgZGlkIHN5emthbGxlciByZWFjaCBpdD8gUGVyaGFwcyBhIHBoeXNpY2FsIE5YUCBib2FyZD8gWWVzLCBzeXprYWxsZXIgKmNhbiogdXNlIHBoeXNpY2FsIEFSTTY0IGJvYXJkcy4gQnV0IEkgaGF2ZSB0byBhZGhlcmUgdG8gdGhlIHByb21wdCYjMzk7cyBydWxlOiAmIzM0O1JldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnMuLi5Db2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUmIzM0Oy4gVGhhdCYjMzk7cyBhIHN0cmljdCBydWxlLgoKU28sIEkgd2lsbCByZXR1cm4gYGZhbHNlYC4gSnVzdCB0byBiZSBzdXJlLCBJIHdpbGwgZG91YmxlLWNoZWNrIGZvciBhbnkgc29mdHdhcmUgZW11bGF0aW9uIGZvciBmc2wtbWMgaW4gdGhlIGtlcm5lbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NDE8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIuKmZzbCxxb3JpcS1tYyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0OyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjQxPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIyNDUxCgkJCQkJCQlvdXRwdXQ6IDMwCgkJCQkJCQl0aG91Z2h0czogMzMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6CgoqKkludmVzdGlnYXRpbmcgUG90ZW50aWFsIGBmc2wscW9yaXEtbWNgIERyaXZlci9BcmNoaXRlY3R1cmUgU2NvcGUqKgoKQWxyaWdodCwgSSYjMzk7bSBnb2luZyB0byB0YWtlIGEgcXVpY2sgc3dlZXAgdGhyb3VnaCB0aGUga2VybmVsIHNvdXJjZSB0cmVlLiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgdG8gcGlucG9pbnQgYW55IGluc3RhbmNlcyBvZiB0aGUgYGZzbCxxb3JpcS1tY2AgYmluZGluZywgKmJleW9uZCogdGhlIERldmljZSBUcmVlIFNvdXJjZSAoRFRTKSBmaWxlcyB0aGVtc2VsdmVzLiBUaGUgRFRTIGlzIHRoZSBvYnZpb3VzIHBsYWNlIGZvciBoYXJkd2FyZSBkZXNjcmlwdGlvbiwgYnV0IEkgbmVlZCB0byBhc2NlcnRhaW4gaWYgdGhpcyBzcGVjaWZpYyBiaW5kaW5nIGhhcyBmb3VuZCBpdHMgd2F5IGludG8gYW55IGFjdHVhbCBkcml2ZXIgY29kZSAoYGRyaXZlcnMvYCkgb3IgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIChgYXJjaC9gKSBpbXBsZW1lbnRhdGlvbi4gSSBuZWVkIHRvIGtub3cgdGhlIHNjb3BlIG9mIGl0cyB1c2FnZSwgYW5kIHRoYXQgcmVxdWlyZXMgbW92aW5nIGJleW9uZCB0aGUgRFRTIGRlZmluaXRpb25zLiBJIG5lZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGlzIGFuIGV4cGxpY2l0IGRyaXZlciBmaWxlIHRoYXQgaXMgdXNpbmcgdGhpcyBiaW5kaW5nLiBMZXQmIzM5O3Mgc2VlIHdoYXQgdHVybnMgdXAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjQxPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2ZzbCxxb3JpcS1tYyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MzM9c3RhdGljIHN0cnVjdCBmc2xfbWNfdmVyc2lvbiBtY192ZXJzaW9uO1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMzUtLyoqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjM2OiAqIHN0cnVjdCBmc2xfbWMgLSBQcml2YXRlIGRhdGEgb2YgYSBcJiMzNDtmc2wscW9yaXEtbWNcJiMzNDsgcGxhdGZvcm0gZGV2aWNlXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTM3LSAqIEByb290X21jX2J1c19kZXY6IGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSByb290IERQUkNcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jPTk2MT1zdGF0aWMgaW50IGdldF9tY19hZGRyX3RyYW5zbGF0aW9uX3JhbmdlcyhzdHJ1Y3QgZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy05NzQtXHRcdCAqIE1pc3Npbmcgb3IgZW1wdHkgcmFuZ2VzIHByb3BlcnR5IChcJiMzNDtyYW5nZXM7XCYjMzQ7KSBmb3IgdGhlXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjk3NTpcdFx0ICogJiMzOTtmc2wscW9yaXEtbWMmIzM5OyBub2RlLiBJbiB0aGlzIGNhc2UsIGlkZW50aXR5IG1hcHBpbmdcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtOTc2LVx0XHQgKiB3aWxsIGJlIHVzZWQuXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0xMTk3PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGZzbF9tY19idXNfbWF0Y2hfdGFibGVbXSA9IHtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MTE5ODpcdHsuY29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tY1wmIzM0Oyx9LFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMTk5LVx0e30sXG4tLVxuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmM9ODU5PXN0YXRpYyBpbnQgY2FhbV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxuLS1cbmRyaXZlcnMvY3J5cHRvL2NhYW0vY3RybC5jLTEwMTItXHRjdHJscHJpdi1cdTAwM2VzZWN2aW9faXJxID0gaXJxX29mX3BhcnNlX2FuZF9tYXAobnByb3AsIDApO1xuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmM6MTAxMzpcdG5wID0gb2ZfZmluZF9jb21wYXRpYmxlX25vZGUoTlVMTCwgTlVMTCwgXCYjMzQ7ZnNsLHFvcmlxLW1jXCYjMzQ7KTtcbmRyaXZlcnMvY3J5cHRvL2NhYW0vY3RybC5jLTEwMTQtXHRjdHJscHJpdi1cdTAwM2VtY19lbiA9ICEhbnA7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjQxPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzMjYzCgkJCQkJCQlvdXRwdXQ6IDI4CgkJCQkJCQl0aG91Z2h0czogMjM5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIEZ1enppbmcgUG9zc2liaWxpdHkqKgoKT2theSwgc28gdGhpcyBpcyBvbmx5IGFjY2Vzc2libGUgdGhyb3VnaCB0aGUgZGV2aWNlIHRyZWUsIHRoYXQgaW1tZWRpYXRlbHkgbGltaXRzIHRoaW5ncy4gSXQmIzM5O3MgdGllZCB0byBzcGVjaWZpYyBGcmVlc2NhbGUgUW9ySVEgRFBBQTIgaGFyZHdhcmUgYW5kIHRoZSBhY2NvbXBhbnlpbmcgZmlybXdhcmUuIFRoYXQgbWVhbnMgaXQmIzM5O3MgcHJldHR5IG11Y2ggYSBuby1nbyBpbiB0eXBpY2FsIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLiAKCkhvbGQgb24sIHRob3VnaC4uLiBjb3VsZCBzeXprYWxsZXIgYmUgZnV6emluZyB0aGlzIHRocm91Z2ggc29tZSBhbHRlcm5hdGUgZW50cnkgcG9pbnQ/IEkgbmVlZCB0byBjb25zaWRlciB0aGF0LiBMZXQmIzM5O3Mgc2VlLCB0aGUgcGF0Y2ggaXMgdG91Y2hpbmcgYGRwYWEyX2V0aF9kaXNjb25uZWN0X21hY2Agd2l0aGluIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNgLiAgQWhhLCB0aGlzIGZ1bmN0aW9uIGlzIHVzZWQgZHVyaW5nIHByb2JlLCByZW1vdmUsIGFuZCBpbnRlcnJ1cHQgaGFuZGxpbmcsIHdoaWNoIGFyZSB0aWVkIHRvIHRoZSBgZHBhYTItZXRoYCBkcml2ZXIuCgpBbmQgdGhhdCBkcml2ZXIgaXMgZGVwZW5kZW50IG9uIHRoZSBgZnNsX21jX2J1c2AuIFRoaXMgaXMgYmVjb21pbmcgY2xlYXIgbm93LiBXaXRob3V0IHRoYXQgc3BlY2lmaWMgYnVzIGFuZCB0aGUgY29ubmVjdGVkIGRldmljZSwgdGhlcmUmIzM5O3Mgbm8gd2F5IHRoZSBkcml2ZXIgY2FuIGV2ZW4gcHJvYmUsIHdoaWNoIG1lYW5zIHRoZSBjb2RlIGlzIHVucmVhY2hhYmxlIGluIEdDRSBvciBRRU1VLiBJdCYjMzk7cyBhIGhhcmR3YXJlLXNwZWNpZmljIGRlcGVuZGVuY3kuCgpBbHJpZ2h0LCBJJiMzOTttIGdvaW5nIHRvIHJldHVybiBgV29ydGhGdXp6aW5nPWZhbHNlYCBhbmQgZXhwbGFpbiBpdCBiYXNlZCBvbiB0aGUgZmFjdCB0aGF0IHRoaXMgaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZGVzaWduZWQgZm9yIEZyZWVzY2FsZSBEUEFBMiwgYW5kIHRoZXJlIGFyZW4mIzM5O3QgYW55IGtub3duIGVtdWxhdGlvbnMgaW4gdGhlc2Ugc3RhbmRhcmQgdmlydHVhbGl6YXRpb24gZW52aXJvbm1lbnRzLgoKQmVmb3JlIEkgbG9jayB0aGF0IGluLCBsZXQgbWUganVzdCBxdWlja2x5IGRvdWJsZS1jaGVjayB0byBzZWUgaWYgdGhlcmUmIzM5O3MgYW55IGF2YWlsYWJsZSBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoZSBgZnNsLW1jYCBlbGVtZW50LiBKdXN0IHRvIGJlIGNvbXBsZXRlbHkgc3VyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NDI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7ZnNsX21jX2RldmljZV9hZGQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDsmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM9MTY5PXN0YXRpYyB2b2lkIGZzbF9tY19vYmpfZGV2aWNlX2FkZChzdHJ1Y3QgZnNsX21jX2RldmljZSAqbWNfYnVzX2Rldixcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xODItXHR9IGVsc2Uge1xuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6MTgzOlx0XHRlcnJvciA9IGZzbF9tY19kZXZpY2VfYWRkKG9ial9kZXNjLCBOVUxMLCBcdTAwMjZtY19idXNfZGV2LVx1MDAzZWRldixcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTE4NC1cdFx0XHRcdFx0ICBcdTAwMjZjaGlsZF9kZXYpO1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9NzM3PXN0YXRpYyB2b2lkIGZzbF9tY19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy03NTEtICovXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjc1MjppbnQgZnNsX21jX2RldmljZV9hZGQoc3RydWN0IGZzbF9tY19vYmpfZGVzYyAqb2JqX2Rlc2MsXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTc1My1cdFx0ICAgICAgc3RydWN0IGZzbF9tY19pbyAqbWNfaW8sXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy04NzktfVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzo4ODA6RVhQT1JUX1NZTUJPTF9HUEwoZnNsX21jX2RldmljZV9hZGQpO1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy04ODEtXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0xMDM5PXN0YXRpYyBpbnQgZnNsX21jX2J1c19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMTE1Ny1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MTE1ODpcdGVycm9yID0gZnNsX21jX2RldmljZV9hZGQoXHUwMDI2b2JqX2Rlc2MsIG1jX2lvLCBcdTAwMjZwZGV2LVx1MDAzZWRldiwgXHUwMDI2bWNfYnVzX2Rldik7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTExNTktXHRpZiAoZXJyb3IgXHUwMDNjIDApXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmg9NjAxPXN0cnVjdCBmc2xfbWNfYnVzIHtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXByaXZhdGUuaC02MTMtXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXByaXZhdGUuaDo2MTQ6aW50IF9fbXVzdF9jaGVjayBmc2xfbWNfZGV2aWNlX2FkZChzdHJ1Y3QgZnNsX21jX29ial9kZXNjICpvYmpfZGVzYyxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtcHJpdmF0ZS5oLTYxNS1cdFx0XHRcdCAgIHN0cnVjdCBmc2xfbWNfaW8gKm1jX2lvLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo0MjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNDU4MwoJCQkJCQkJb3V0cHV0OiAxMDUKCQkJCQkJCXRob3VnaHRzOiA3MgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIHRoZSBgZnNsX21jX2RldmljZV9hZGRgIEZ1bmN0aW9uJiMzOTtzIFVzYWdlKioKCk9rYXksIHNvIEkmIzM5O3ZlIGxvb2tlZCBpbnRvIHRoaXMgYGZzbF9tY19kZXZpY2VfYWRkYCBmdW5jdGlvbiBhbmQgaXQmIzM5O3MgcHJldHR5IGNsZWFyIHRoYXQgaXQmIzM5O3MgZXhjbHVzaXZlbHkgY2FsbGVkIGZyb20gd2l0aGluIHRoZSBgZnNsLW1jYCBidXMgZHJpdmVyLiBTcGVjaWZpY2FsbHksIGZyb20gdGhlIGBmc2xfbWNfYnVzX3Byb2JlYCBhbmQgYGZzbF9tY19vYmpfZGV2aWNlX2FkZGAgZnVuY3Rpb25zLiBUaGlzIG1lYW5zIHRoZXJlJiMzOTtzIG5vIHdheSBmb3Igc29mdHdhcmUgdG8gZW11bGF0ZSBvciBpbmplY3QgY2FsbHMgdG8gaXQgZnJvbSBvdXRzaWRlIHRoYXQgZHJpdmVyLCBvciBzb21lIG90aGVyIG1lY2hhbmlzbS4gV2hpY2ggaXMgZ29vZCB0byBrbm93LCBhbmQgc2F2ZXMgbWUgc29tZSB0aW1lLiBXaXRoIHRoYXQgdW5kZXJzdGFuZGluZyBpbiBwbGFjZSwgSSYjMzk7bGwgZ28gYWhlYWQgYW5kIHNldCBgV29ydGhGdXp6aW5nPWZhbHNlYCBmb3IgdGhpcyBwYXJ0LiBJdCBzZWVtcyBhIHdhc3RlIG9mIHJlc291cmNlcyB0byB0YXJnZXQgc29tZXRoaW5nIHRoYXQgY2FuJiMzOTt0IGJlIHJlYWNoZWQgaW4gdGhlIHVzdWFsIGZ1enppbmcgbW9kZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjQ1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldCBkcml2ZXIgKGRwYWEyLWV0aCksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgZnNsLW1jIGJ1cyBmb3VuZCBvbiBOWFAgUW9ySVEgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBmb3IgZnV6emluZyBpbiB0aGVzZSBlbnZpcm9ubWVudHMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgRnJlZXNjYWxlIERQQUEyIEV0aGVybmV0IGRyaXZlciAoZHBhYTItZXRoKSwgd2hpY2ggaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIHRoZSBmc2wtbWMgYnVzIGZvdW5kIG9uIE5YUCBRb3JJUSBTb0NzLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRSwgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGZvciBmdXp6aW5nIGluIHRoZXNlIGVudmlyb25tZW50cy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MDowNy4xOTM0MTE2OFoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMwMDYxNDE0Nzg3MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldCBkcml2ZXIgKGRwYWEyLWV0aCksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgZnNsLW1jIGJ1cyBmb3VuZCBvbiBOWFAgUW9ySVEgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBmb3IgZnV6emluZyBpbiB0aGVzZSBlbnZpcm9ubWVudHMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MDowNy4xOTM0MTY5NVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDcxODM0OTg0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgMmMyNmMxMWRjZTE2YzM3YTU4NTMzMzMxMDk3NTM0ZjFlNzYxNDc0MlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVGh1IEp1bCA5IDAyOjQwOjA1IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguY1xcbmluZGV4IDkzMzU3MDM3NjhhOWI2Li43NjRkMmEwOTY2OGY1NiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNcXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNcXG5AQCAtNDczMiw2ICs0NzMyLDcgQEAgc3RhdGljIHZvaWQgZHBhYTJfZXRoX2Rpc2Nvbm5lY3RfbWFjKHN0cnVjdCBkcGFhMl9ldGhfcHJpdiAqcHJpdilcXG4gXFx0XFx0ZHBhYTJfbWFjX2Rpc2Nvbm5lY3QobWFjKTtcXG4gXFxuIFxcdGRwYWEyX21hY19jbG9zZShtYWMpO1xcbitcXHRwdXRfZGV2aWNlKFxcdTAwMjZtYWMtXFx1MDAzZW1jX2Rldi1cXHUwMDNlZGV2KTtcXG4gXFx0a2ZyZWUobWFjKTtcXG4gfVxcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NDA6MDcuNjY1OTc0MDI0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMDAxNDE1Nzg4ODYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBGcmVlc2NhbGUgRFBBQTIgRXRoZXJuZXQgZHJpdmVyIChkcGFhMi1ldGgpLCB3aGljaCBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgdGhlIGZzbC1tYyBidXMgZm91bmQgb24gTlhQIFFvcklRIFNvQ3MuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZm9yIGZ1enppbmcgaW4gdGhlc2UgZW52aXJvbm1lbnRzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAyYzI2YzExZGNlMTZjMzdhNTg1MzMzMzEwOTc1MzRmMWU3NjE0NzQyXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgOSAwMjo0MDowNSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguY1xuaW5kZXggOTMzNTcwMzc2OGE5YjYuLjc2NGQyYTA5NjY4ZjU2IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNcbkBAIC00NzMyLDYgKzQ3MzIsNyBAQCBzdGF0aWMgdm9pZCBkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWMoc3RydWN0IGRwYWEyX2V0aF9wcml2ICpwcml2KVxuIFx0XHRkcGFhMl9tYWNfZGlzY29ubmVjdChtYWMpO1xuIFxuIFx0ZHBhYTJfbWFjX2Nsb3NlKG1hYyk7XG4rXHRwdXRfZGV2aWNlKFx1MDAyNm1hYy1cdTAwM2VtY19kZXYtXHUwMDNlZGV2KTtcbiBcdGtmcmVlKG1hYyk7XG4gfVxuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NDA6MDcuNjY1OTc1NjY0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTUyMTIzNjMwNjAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgTmV0d29yayBEcml2ZXIgUGF0Y2ggaW4gYSBWaXJ0dWFsaXplZCBDb250ZXh0KipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCB0aGF0IGFkZHMgYHB1dF9kZXZpY2UoXHUwMDI2bWFjLVx1MDAzZW1jX2Rldi1cdTAwM2VkZXYpO2AgdG8gYGRwYWEyX2V0aF9kaXNjb25uZWN0X21hY2Agd2l0aGluIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNgLiBNeSBpbW1lZGlhdGUgY29uY2VybiBpcyByZWFjaGFiaWxpdHkgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudC4gVGhpcyBkcml2ZXIsIGBkcGFhMi1ldGhgLCBpcyBzcGVjaWZpY2FsbHkgZm9yIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldCwgd2hpY2ggcmluZ3MgYSBiZWxsLi4uIHRoYXQncyBOWFAgTGF5ZXJzY2FwZSBTb0NzIGxpa2UgdGhlIExTMjA4OEEgb3IgTFMxMDg4QSwgcmlnaHQ/IEFuZCBpdCdzIGJhc2VkIGFyb3VuZCB0aGUgYGZzbC1tY2AgYnVzLlxuXG5UaGUgcXVlc3Rpb24gdGhlbiBiZWNvbWVzLCBjYW4gSSBldmVuICp0cmlnZ2VyKiB0aGlzIGNvZGUgaW4gYSBzdGFuZGFyZCB4ODZfNjQgUUVNVSBvciBHb29nbGUgQ29tcHV0ZSBFbmdpbmUgc2V0dXA/IFRoZXNlIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlcnMgb2Z0ZW4gcmVseSBvbiBkaXJlY3QgaGFyZHdhcmUgaW50ZXJhY3Rpb25zLCBlc3BlY2lhbGx5IHdpdGhvdXQgZGVkaWNhdGVkIHNvZnR3YXJlIGVtdWxhdGlvbi4gV2l0aG91dCBzcGVjaWZpYyBlbXVsYXRpb24sIGZ1enppbmcgdGhlbSBpcyB0b3VnaC4gSXQncyB1c3VhbGx5IG9ubHkgcG9zc2libGUgd2l0aCB2aXJ0dWFsaXplZCBidXNlcyBsaWtlIFVTQiBvciBQQ0kgdGhhdCBjYW4gYmUgbW9yZSByZWFkaWx5IGluamVjdGVkIHdpdGggZGV2aWNlcy5cblxuV2FpdCBhIHNlY29uZOKApiB0aGUgYGZzbC1tY2AgYnVzICppcyogYSBidXMuIEFuZCB0aGF0IHByZXNlbnRzIGFuIGludGVyZXN0aW5nIHBvc3NpYmlsaXR5LiBJcyB0aGVyZSBhIHdheSB0byBpbmplY3QgZGV2aWNlcyBvbnRvIHRoaXMgcGFydGljdWxhciBidXM/IExldCdzIGRpdmUgaW50byB0aGUgYGRyaXZlcnMvYnVzL2ZzbC1tYy9gIGRpcmVjdG9yeSB0byBzZWUgaWYgdGhlcmUncyBhbnkgbWVjaGFuaXNtIGZvciB0aGF0LiBUaGF0IG1pZ2h0IGJlIHRoZSBrZXkgdG8gdHJpZ2dlcmluZyB0aGlzIGBwdXRfZGV2aWNlYCBjYWxsLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxODcyLCJPdXRwdXRUb2tlbnMiOjI4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjYyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NDA6MjIuODc4MzQwNDUzWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE2MDEzNDE1OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJmc2wtbWNcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9idXMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYnVzL0tjb25maWc9MjQyPWNvbmZpZyBEQThYWF9NU1RQUklcXG4tLVxcbmRyaXZlcnMvYnVzL0tjb25maWctMjQ5LVxcbmRyaXZlcnMvYnVzL0tjb25maWc6MjUwOnNvdXJjZSBcXFwiZHJpdmVycy9idXMvZnNsLW1jL0tjb25maWdcXFwiXFxuZHJpdmVycy9idXMvS2NvbmZpZy0yNTEtc291cmNlIFxcXCJkcml2ZXJzL2J1cy9taGkvS2NvbmZpZ1xcXCJcXG4tLVxcbmRyaXZlcnMvYnVzL01ha2VmaWxlPTExPW9iai0kKENPTkZJR19NT1hURVQpXFx0XFx0Kz0gbW94dGV0Lm9cXG5kcml2ZXJzL2J1cy9NYWtlZmlsZS0xMi1cXG5kcml2ZXJzL2J1cy9NYWtlZmlsZToxMzojIERQQUEyIGZzbC1tYyBidXNcXG5kcml2ZXJzL2J1cy9NYWtlZmlsZToxNDpvYmotJChDT05GSUdfRlNMX01DX0JVUylcXHQrPSBmc2wtbWMvXFxuZHJpdmVycy9idXMvTWFrZWZpbGUtMTUtXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZy0yLSNcXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZzozOiMgRFBBQTIgZnNsLW1jIGJ1c1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9LY29uZmlnLTQtI1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL0tjb25maWc9OD1jb25maWcgRlNMX01DX0JVU1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9LY29uZmlnOjk6XFx0Ym9vbCBcXFwiUW9ySVEgRFBBQTIgZnNsLW1jIGJ1cyBkcml2ZXJcXFwiXFxuZHJpdmVycy9idXMvZnNsLW1jL0tjb25maWctMTAtXFx0ZGVwZW5kcyBvbiBPRiBcXHUwMDI2XFx1MDAyNiAoQVJDSF9MQVlFUlNDQVBFIHx8IChDT01QSUxFX1RFU1QgXFx1MDAyNlxcdTAwMjYgKEFSTSB8fCBBUk02NCB8fCBYODZfTE9DQUxfQVBJQyB8fCBQUEMpKSlcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9LY29uZmlnLTEzLVxcdCAgRHJpdmVyIHRvIGVuYWJsZSB0aGUgYnVzIGluZnJhc3RydWN0dXJlIGZvciB0aGUgUW9ySVEgRFBBQTJcXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZzoxNDpcXHQgIGFyY2hpdGVjdHVyZS4gIFRoZSBmc2wtbWMgYnVzIGRyaXZlciBoYW5kbGVzIGRpc2NvdmVyeSBvZlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9LY29uZmlnLTE1LVxcdCAgRFBBQTIgb2JqZWN0cyAod2hpY2ggYXJlIHJlcHJlc2VudGVkIGFzIExpbnV4IGRldmljZXMpIGFuZFxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlPTc9b2JqLSQoQ09ORklHX0ZTTF9NQ19CVVMpICs9IG1jLWJ1cy1kcml2ZXIub1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZS04LVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZTo5Om1jLWJ1cy1kcml2ZXItb2JqcyA6PSBmc2wtbWMtYnVzLm8gXFxcXFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZS0xMC1cXHRcXHQgICAgICBtYy1zeXMubyBcXFxcXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvTWFrZWZpbGUtMTUtXFx0XFx0ICAgICAgZHByYy1kcml2ZXIubyBcXFxcXFxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlOjE2OlxcdFxcdCAgICAgIGZzbC1tYy1hbGxvY2F0b3IubyBcXFxcXFxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlOjE3OlxcdFxcdCAgICAgIGZzbC1tYy1tc2kubyBcXFxcXFxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlLTE4LVxcdFxcdCAgICAgIGRwbWNwLm8gXFxcXFxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlLTIxLSMgTUMgdXNlcnNwYWNlIHN1cHBvcnRcXG5kcml2ZXJzL2J1cy9mc2wtbWMvTWFrZWZpbGU6MjI6b2JqLSQoQ09ORklHX0ZTTF9NQ19VQVBJX1NVUFBPUlQpICs9IGZzbC1tYy11YXBpLm9cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcGJwLmMtOC1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBicC5jOjk6I2luY2x1ZGUgXFxcImZzbC1tYy1wcml2YXRlLmhcXFwiXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwYnAuYy0xMC1cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcGNvbi5jLTgtXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwY29uLmM6OTojaW5jbHVkZSBcXFwiZnNsLW1jLXByaXZhdGUuaFxcXCJcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBjb24uYy0xMC1cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcG1jcC5jLTgtXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwbWNwLmM6OTojaW5jbHVkZSBcXFwiZnNsLW1jLXByaXZhdGUuaFxcXCJcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBtY3AuYy0xMC1cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTE1LVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjE2OiNpbmNsdWRlIFxcXCJmc2wtbWMtcHJpdmF0ZS5oXFxcIlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTE3LVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM9Njg9c3RhdGljIGludCBfX2ZzbF9tY19kZXZpY2VfcmVtb3ZlKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTc5LSAqXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6ODA6ICogQG1jX2J1c19kZXY6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2UgdGhhdCByZXByZXNlbnRzIGEgRFBSQyBvYmplY3RcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy04MS0gKiBAb2JqX2Rlc2NfYXJyYXk6IGFycmF5IG9mIG9iamVjdCBkZXNjcmlwdG9ycyBmb3IgY2hpbGQgb2JqZWN0cyBjdXJyZW50bHlcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jPTEyMz1zdHJ1Y3QgZnNsX21jX2RldmljZSAqZnNsX21jX2RldmljZV9sb29rdXAoc3RydWN0IGZzbF9tY19vYmpfZGVzYyAqb2JqX2Rlc2MsXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xMzYtICpcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYzoxMzc6ICogQG1jX2RldjogcG9pbnRlciB0byB0aGUgZnNsLW1jIGRldmljZSBmb3IgYSBnaXZlbiBNQyBvYmplY3RcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xMzgtICogQG9ial9kZXNjOiBwb2ludGVyIHRvIHRoZSBNQyBvYmplY3QncyBkZXNjcmlwdG9yIGluIHRoZSBNQ1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTEzOS0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjE0MDogKiBJZiB0aGUgcGx1Z2dlZCBzdGF0ZSBoYXMgY2hhbmdlZCBmcm9tIHVucGx1Z2dlZCB0byBwbHVnZ2VkLCB0aGUgZnNsLW1jXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtMTQxLSAqIGRldmljZSBpcyBib3VuZCB0byB0aGUgY29ycmVzcG9uZGluZyBkZXZpY2UgZHJpdmVyLlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjE0MjogKiBJZiB0aGUgcGx1Z2dlZCBzdGF0ZSBoYXMgY2hhbmdlZCBmcm9tIHBsdWdnZWQgdG8gdW5wbHVnZ2VkLCB0aGUgZnNsLW1jXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtMTQzLSAqIGRldmljZSBpcyB1bmJvdW5kIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgZGV2aWNlIGRyaXZlci5cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jPTE2OT1zdGF0aWMgdm9pZCBmc2xfbWNfb2JqX2RldmljZV9hZGQoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2J1c19kZXYsXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xOTItICpcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYzoxOTM6ICogQG1jX2J1c19kZXY6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2UgdGhhdCByZXByZXNlbnRzIGEgRFBSQyBvYmplY3RcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xOTQtICogQG9ial9kZXNjX2FycmF5OiBhcnJheSBvZiBkZXZpY2UgZGVzY3JpcHRvcnMgZm9yIGNoaWxkIGRldmljZXMgY3VycmVudGx5XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz0yMDI9c3RhdGljIHZvaWQgZHByY19hZGRfbmV3X2RldmljZXMoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2J1c19kZXYsXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0yMjgtICpcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYzoyMjk6ICogQG1jX2J1c19kZXY6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2UgdGhhdCByZXByZXNlbnRzIGEgRFBSQyBvYmplY3RcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0yMzAtICogQGFsbG9jX2ludGVycnVwdHM6IGlmIHRydWUgdGhlIGZ1bmN0aW9uIGFsbG9jYXRlcyB0aGUgaW50ZXJydXB0IHBvb2wsXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz0yNDU9aW50IGRwcmNfc2Nhbl9vYmplY3RzKHN0cnVjdCBmc2xfbWNfZGV2aWNlICptY19idXNfZGV2LFxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtMzU2LSAqXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6MzU3OiAqIEBtY19idXNfZGV2OiBwb2ludGVyIHRvIHRoZSBmc2wtbWMgZGV2aWNlIHRoYXQgcmVwcmVzZW50cyBhIERQUkMgb2JqZWN0XFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtMzU4LSAqIEBhbGxvY19pbnRlcnJ1cHRzOiBpZiB0cnVlIHRoZSBmdW5jdGlvbiBhbGxvY2F0ZXMgdGhlIGludGVycnVwdCBwb29sLFxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM9NTcyPXN0YXRpYyBpbnQgZHByY19zZXR1cF9pcnEoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2RldilcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTYwMS0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjYwMjogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIGEgRFBSQ1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTYwMy0gKlxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM9NzExPUVYUE9SVF9TWU1CT0xfR1BMKGRwcmNfc2V0dXApO1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtNzE1LSAqXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6NzE2OiAqIEBtY19kZXY6IFBvaW50ZXIgdG8gZnNsLW1jIGRldmljZSByZXByZXNlbnRpbmcgYSBEUFJDXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtNzE3LSAqXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz03NTg9c3RhdGljIHZvaWQgZHByY190ZWFyZG93bl9pcnEoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2RldilcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTc3MS0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjc3MjogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSBEUFJDXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtNzczLSAqXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz04MTU9RVhQT1JUX1NZTUJPTF9HUEwoZHByY19jbGVhbnVwKTtcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTgxOS0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjgyMDogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSBEUFJDXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtODIxLSAqXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy5jLTktXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMuYzoxMDojaW5jbHVkZSBcXFwiZnNsLW1jLXByaXZhdGUuaFxcXCJcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy5jLTExLVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yLS8qXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzozOiAqIGZzbC1tYyBvYmplY3QgYWxsb2NhdG9yIGRyaXZlclxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtNC0gKlxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0xMi1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjEzOiNpbmNsdWRlIFxcXCJmc2wtbWMtcHJpdmF0ZS5oXFxcIlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMTQtXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz0xNT1zdGF0aWMgYm9vbCBfX211c3RfY2hlY2sgZnNsX21jX2lzX2FsbG9jYXRhYmxlKHN0cnVjdCBmc2xfbWNfZGV2aWNlICptY19kZXYpXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTIzLSAqIGZzbF9tY19yZXNvdXJjZV9wb29sX2FkZF9kZXZpY2UgLSBhZGQgYWxsb2NhdGFibGUgb2JqZWN0IHRvIGEgcmVzb3VyY2VcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI0OiAqIHBvb2wgb2YgYSBnaXZlbiBmc2wtbWMgYnVzXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yNS0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6MjY6ICogQG1jX2J1czogcG9pbnRlciB0byB0aGUgZnNsLW1jIGJ1c1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMjctICogQHBvb2xfdHlwZTogcG9vbCB0eXBlXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzoyODogKiBAbWNfZGV2OiBwb2ludGVyIHRvIGFsbG9jYXRhYmxlIGZzbC1tYyBkZXZpY2VcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTI5LSAqL1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM9MzA9c3RhdGljIGludCBfX211c3RfY2hlY2sgZnNsX21jX3Jlc291cmNlX3Bvb2xfYWRkX2RldmljZShzdHJ1Y3QgZnNsX21jX2J1c1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy05MS0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6OTI6ICogQG1jX2RldjogcG9pbnRlciB0byBhbGxvY2F0YWJsZSBmc2wtbWMgZGV2aWNlXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy05My0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6OTQ6ICogSXQgcGVybWFuZW50bHkgcmVtb3ZlcyBhbiBhbGxvY2F0YWJsZSBmc2wtbWMgZGV2aWNlIGZyb20gdGhlIHJlc291cmNlXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy05NS0gKiBwb29sLiBJdCdzIGFuIGVycm9yIGlmIHRoZSBkZXZpY2UgaXMgaW4gdXNlLlxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz0yNTQ9RVhQT1JUX1NZTUJPTF9HUEwoZnNsX21jX3Jlc291cmNlX2ZyZWUpO1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yNTYtLyoqXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzoyNTc6ICogZnNsX21jX29iamVjdF9hbGxvY2F0ZSAtIEFsbG9jYXRlcyBhbiBmc2wtbWMgb2JqZWN0IG9mIHRoZSBnaXZlblxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6MjU4OiAqIHBvb2wgdHlwZSBmcm9tIGEgZ2l2ZW4gZnNsLW1jIGJ1cyBpbnN0YW5jZVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMjU5LSAqXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzoyNjA6ICogQG1jX2RldjogZnNsLW1jIGRldmljZSB3aGljaCBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yNjEtICogYWxsb2NhdGVkIG9iamVjdFxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz0zMjI9RVhQT1JUX1NZTUJPTF9HUEwoZnNsX21jX29iamVjdF9hbGxvY2F0ZSk7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTMyNC0vKipcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjMyNTogKiBmc2xfbWNfb2JqZWN0X2ZyZWUgLSBSZXR1cm5zIGFuIGZzbC1tYyBvYmplY3QgdG8gdGhlIHJlc291cmNlXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0zMjYtICogcG9vbCB3aGVyZSBpdCBjYW1lIGZyb20uXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzozMjc6ICogQG1jX2FkZXY6IFBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2VcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTMyOC0gKi9cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM9MzQzPUVYUE9SVF9TWU1CT0xfR1BMKGZzbF9tY19vYmplY3RfZnJlZSk7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTM1MS0vKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6MzUyOiAqIEluaXRpYWxpemUgdGhlIGludGVycnVwdCBwb29sIGFzc29jaWF0ZWQgd2l0aCBhbiBmc2wtbWMgYnVzLlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMzUzLSAqIEl0IGFsbG9jYXRlcyBhIGJsb2NrIG9mIElSUXMgZnJvbSB0aGUgR0lDLUlUUy5cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM9NDExPUVYUE9SVF9TWU1CT0xfR1BMKGZzbF9tY19wb3B1bGF0ZV9pcnFfcG9vbCk7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTQxMy0vKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NDE0OiAqIFRlYXJkb3duIHRoZSBpbnRlcnJ1cHQgcG9vbCBhc3NvY2lhdGVkIHdpdGggYW4gZnNsLW1jIGJ1cy5cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTQxNS0gKiBJdCBmcmVlcyB0aGUgSVJRcyB0aGF0IHdlcmUgYWxsb2NhdGVkIHRvIHRoZSBwb29sLCBiYWNrIHRvIHRoZSBHSUMtSVRTLlxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz00Mzg9RVhQT1JUX1NZTUJPTF9HUEwoZnNsX21jX2NsZWFudXBfaXJxX3Bvb2wpO1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy00NDAtLypcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjQ0MTogKiBBbGxvY2F0ZSB0aGUgSVJRcyByZXF1aXJlZCBieSBhIGdpdmVuIGZzbC1tYyBkZXZpY2UuXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy00NDItICovXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTUwNj1FWFBPUlRfU1lNQk9MX0dQTChmc2xfbWNfYWxsb2NhdGVfaXJxcyk7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTUwOC0vKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NTA5OiAqIEZyZWVzIHRoZSBJUlFzIHRoYXQgd2VyZSBhbGxvY2F0ZWQgZm9yIGFuIGZzbC1tYyBkZXZpY2UuXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy01MTAtICovXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTU2Mj1zdGF0aWMgaW50IGZzbF9tY19hbGxvY2F0b3JfcHJvYmUoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2RldilcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtNTg1LVxcdGRldl9kYmcoXFx1MDAyNm1jX2Rldi1cXHUwMDNlZGV2LFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NTg2OlxcdFxcdFxcXCJBbGxvY2F0YWJsZSBmc2wtbWMgZGV2aWNlIGJvdW5kIHRvIGZzbF9tY19hbGxvY2F0b3IgZHJpdmVyXFxcIik7XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy01ODctXFx0cmV0dXJuIDA7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTU5ND1zdGF0aWMgdm9pZCBmc2xfbWNfYWxsb2NhdG9yX3JlbW92ZShzdHJ1Y3QgZnNsX21jX2RldmljZSAqbWNfZGV2KVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy02MDQtXFx0ZGV2X2RiZyhcXHUwMDI2bWNfZGV2LVxcdTAwM2VkZXYsXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzo2MDU6XFx0XFx0XFxcIkFsbG9jYXRhYmxlIGZzbC1tYyBkZXZpY2UgdW5ib3VuZCBmcm9tIGZzbF9tY19hbGxvY2F0b3IgZHJpdmVyXFxcIik7XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy02MDYtfVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMC1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjExOiNkZWZpbmUgcHJfZm10KGZtdCkgXFxcImZzbC1tYzogXFxcIiBmbXRcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTEyLVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0yNS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjI2OiNpbmNsdWRlIFxcXCJmc2wtbWMtcHJpdmF0ZS5oXFxcIlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMjctXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0yOC0vKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6Mjk6ICogRGVmYXVsdCBETUEgbWFzayBmb3IgZGV2aWNlcyBvbiBhIGZzbC1tYyBidXNcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTMwLSAqL1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0zMz1zdGF0aWMgc3RydWN0IGZzbF9tY192ZXJzaW9uIG1jX3ZlcnNpb247XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTM2LSAqIHN0cnVjdCBmc2xfbWMgLSBQcml2YXRlIGRhdGEgb2YgYSBcXFwiZnNsLHFvcmlxLW1jXFxcIiBwbGF0Zm9ybSBkZXZpY2VcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjM3OiAqIEByb290X21jX2J1c19kZXY6IGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSByb290IERQUkNcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTM4LSAqIEBudW1fdHJhbnNsYXRpb25fcmFuZ2VzOiBudW1iZXIgb2YgZW50cmllcyBpbiBhZGRyX3RyYW5zbGF0aW9uX3Jhbmdlc1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz04MD1zdGF0aWMgcGh5c19hZGRyX3QgbWNfcG9ydGFsX2Jhc2VfcGh5c19hZGRyO1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy04My0gKiBmc2xfbWNfYnVzX21hdGNoIC0gZGV2aWNlIHRvIGRyaXZlciBtYXRjaGluZyBjYWxsYmFja1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6ODQ6ICogQGRldjogdGhlIGZzbC1tYyBkZXZpY2UgdG8gbWF0Y2ggYWdhaW5zdFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6ODU6ICogQGRydjogdGhlIGRldmljZSBkcml2ZXIgdG8gc2VhcmNoIGZvciBtYXRjaGluZyBmc2wtbWMgb2JqZWN0IHR5cGVcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTg2LSAqIHN0cnVjdHVyZXNcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MTM5PXN0YXRpYyBpbnQgZnNsX21jX2J1c191ZXZlbnQoY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qga29ial91ZXZlbnRfZW52ICplbnYpXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTE0Mi1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjE0MzpcXHRpZiAoYWRkX3VldmVudF92YXIoZW52LCBcXFwiTU9EQUxJQVM9ZnNsLW1jOnYlMDhYZCVzXFxcIixcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTE0NC1cXHRcXHRcXHQgICBtY19kZXYtXFx1MDAzZW9ial9kZXNjLnZlbmRvcixcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MjE0PXN0YXRpYyBzc2l6ZV90IG1vZGFsaWFzX3Nob3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0cixcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMjE4LVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MjE5OlxcdHJldHVybiBzeXNmc19lbWl0KGJ1ZiwgXFxcImZzbC1tYzp2JTA4WGQlc1xcXFxuXFxcIiwgbWNfZGV2LVxcdTAwM2VvYmpfZGVzYy52ZW5kb3IsXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0yMjAtXFx0XFx0XFx0bWNfZGV2LVxcdTAwM2VvYmpfZGVzYy50eXBlKTtcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MzI2PWNvbnN0IHN0cnVjdCBidXNfdHlwZSBmc2xfbWNfYnVzX3R5cGUgPSB7XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzozMjc6XFx0Lm5hbWUgPSBcXFwiZnNsLW1jXFxcIixcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTMyOC1cXHQuZHJpdmVyX292ZXJyaWRlID0gdHJ1ZSxcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9NDk5PXN0YXRpYyBpbnQgbWNfZ2V0X3ZlcnNpb24oc3RydWN0IGZzbF9tY19pbyAqbWNfaW8sXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTUyOC0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6NTI5OiAqIFJldHVybjpcXHRtYyB2ZXJzaW9uIHdoZW4gY2FsbGVkIGFmdGVyIGZzbC1tYy1idXMgcHJvYmU7IE5VTEwgb3RoZXJ3aXNlLlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtNTMwLSAqL1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz02MzI9c3RhdGljIGludCBmc2xfbWNfZGV2aWNlX2dldF9tbWlvX3JlZ2lvbnMoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2RldixcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtNzEwLVxcdFxcdHJlZ2lvbnNbaV0uZW5kID0gcmVnaW9uc1tpXS5zdGFydCArIHJlZ2lvbl9kZXNjLnNpemUgLSAxO1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6NzExOlxcdFxcdHJlZ2lvbnNbaV0ubmFtZSA9IFxcXCJmc2wtbWMgb2JqZWN0IE1NSU8gcmVnaW9uXFxcIjtcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTcxMi1cXHRcXHRyZWdpb25zW2ldLmZsYWdzID0gcmVnaW9uX2Rlc2MuZmxhZ3MgXFx1MDAyNiBJT1JFU09VUkNFX0JJVFM7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jPTczNz1zdGF0aWMgdm9pZCBmc2xfbWNfZGV2aWNlX3JlbGVhc2Uoc3RydWN0IGRldmljZSAqZGV2KVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy03NDktLypcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjc1MDogKiBBZGQgYSBuZXdseSBkaXNjb3ZlcmVkIGZzbC1tYyBkZXZpY2UgdG8gYmUgdmlzaWJsZSBpbiBMaW51eFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtNzUxLSAqL1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz04ODI9c3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayBmc2xfbWNfbmI7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTg4NC0vKipcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjg4NTogKiBmc2xfbWNfZGV2aWNlX3JlbW92ZSAtIFJlbW92ZSBhbiBmc2wtbWMgZGV2aWNlIGZyb20gYmVpbmcgdmlzaWJsZSB0b1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtODg2LSAqIExpbnV4XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy04ODctICpcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjg4ODogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGFuIGZzbC1tYyBkZXZpY2VcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTg4OS0gKi9cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9OTAwPXN0cnVjdCBmc2xfbWNfZGV2aWNlICpmc2xfbWNfZ2V0X2VuZHBvaW50KHN0cnVjdCBmc2xfbWNfZGV2aWNlICptY19kZXYsXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTkzNi1cXHQgKiBpbnRlcnJvZ2F0aW5nIHRoZSBmaXJtd2FyZS4gVGhpcyBpcyB0aGUgY2FzZSB3aGVuIHRoZSBkZXZpY2Ugd2FzIG5vdFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6OTM3OlxcdCAqIHlldCBkaXNjb3ZlcmVkIGJ5IHRoZSBmc2wtbWMgYnVzLCB0aHVzIHRoZSBsb29rdXAgcmV0dXJuZWQgTlVMTC5cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTkzOC1cXHQgKiBGb3JjZSBhIHJlc2NhbiBvZiB0aGUgZGV2aWNlcyBpbiB0aGlzIGNvbnRhaW5lciBhbmQgcmV0cnkgdGhlIGxvb2t1cC5cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MTAwNT1zdGF0aWMgaW50IGZzbF9tY19maXJtd2FyZV9jaGVjayhzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMDEzLVxcdFxcdGRldl9lcnIoXFx1MDAyNnBkZXYtXFx1MDAzZWRldixcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjEwMTQ6XFx0XFx0XFx0XFxcImZzbC1tYzogRFBMIHByb2Nlc3Npbmcgd2FzIG5vdCBzdGFydGVkLCBEUEFBMiB3aWxsIG5vdCB3b3JrIVxcXFxuXFxcIik7XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMDE1LVxcdFxcdHJldHVybiAtRU9QTk9UU1VQUDtcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMTAyMC1cXHRcXHRkZXZfZGJnKFxcdTAwMjZwZGV2LVxcdTAwM2VkZXYsXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzoxMDIxOlxcdFxcdFxcdFxcXCJmc2wtbWM6IERQTCBwcm9jZXNzaW5nIGluIHByb2dyZXNzLCBkZWZlciBwcm9iZVxcXFxuXFxcIik7XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMDIyLVxcdFxcdHJldHVybiAtRVBST0JFX0RFRkVSO1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMDI3LVxcdFxcdGRldl9lcnIoXFx1MDAyNnBkZXYtXFx1MDAzZWRldixcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjEwMjg6XFx0XFx0XFx0XFxcImZzbC1tYzogTUMgYm9vdCBjb21wbGV0ZWQgd2l0aCBlcnJvciAweCV4XFxcXG5cXFwiLCBtY3MpO1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMTAyOS1cXHRcXHRyZXR1cm4gLUVJTlZBTDtcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtbXNpLmMtMTUtXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1tc2kuYzoxNjojaW5jbHVkZSBcXFwiZnNsLW1jLXByaXZhdGUuaFxcXCJcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLW1zaS5jLTE3LVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmg9NTgyPXN0cnVjdCBmc2xfbWNfdWFwaSB7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXByaXZhdGUuaC01OTEtICogc3RydWN0IGZzbF9tY19idXMgLSBsb2dpY2FsIGJ1cyB0aGF0IGNvcnJlc3BvbmRzIHRvIGEgcGh5c2ljYWwgRFBSQ1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtcHJpdmF0ZS5oOjU5MjogKiBAbWNfZGV2OiBmc2wtbWMgZGV2aWNlIGZvciB0aGUgYnVzIGRldmljZSBpdHNlbGYuXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmgtNTkzLSAqIEByZXNvdXJjZV9wb29sczogYXJyYXkgb2YgcmVzb3VyY2UgcG9vbHMgKG9uZSBwb29sIHBlciByZXNvdXJjZSB0eXBlKVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy11YXBpLmMtMTMtXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy11YXBpLmM6MTQ6I2luY2x1ZGUgXFxcImZzbC1tYy1wcml2YXRlLmhcXFwiXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy11YXBpLmMtMTUtXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvbWMtaW8uYy05LVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9tYy1pby5jOjEwOiNpbmNsdWRlIFxcXCJmc2wtbWMtcHJpdmF0ZS5oXFxcIlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9tYy1pby5jLTExLVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL21jLXN5cy5jLTE2LVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9tYy1zeXMuYzoxNzojaW5jbHVkZSBcXFwiZnNsLW1jLXByaXZhdGUuaFxcXCJcXG5kcml2ZXJzL2J1cy9mc2wtbWMvbWMtc3lzLmMtMTgtXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvb2JqLWFwaS5jLTgtXFxuZHJpdmVycy9idXMvZnNsLW1jL29iai1hcGkuYzo5OiNpbmNsdWRlIFxcXCJmc2wtbWMtcHJpdmF0ZS5oXFxcIlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9vYmotYXBpLmMtMTAtXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjQwOjIzLjAzODQ3NzI2MloiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE0OTIxMDEzNDIzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkludmVzdGlnYXRpbmcgdGhlIGZzbC1tYyBCdXMgYW5kIFBvdGVudGlhbCBFbXVsYXRpb24qKlxuXG5Pa2F5LCBzbyB0aGUgYGZzbC1tY2AgYnVzIGlzIFFvcklRIERQQUEyIHNwZWNpZmljLiBIbW0sIEkgd29uZGVyIGlmIHRoZXJlJ3MgYW55IHdheSB0byBlbXVsYXRlIGl0PyBUaGF0IHdvdWxkIGJlIHVzZWZ1bCBmb3IgdGVzdGluZyBhbmQgZGVidWdnaW5nLiBMZXQgbWUgcXVpY2tseSBjaGVjayBpZiBRRU1VIG9yIHBlcmhhcHMgZXZlbiBzeXprYWxsZXIgaGFzIHNvbWUga2luZCBvZiBwc2V1ZG8tZGV2aWNlIGZvciB0aGlzLiBXYWl0LCBob2xkIG9uLi4uIHRoZSBjb21taXQgbWVzc2FnZSBtZW50aW9uZWQgXCJzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcIiBhbmQgdGhlIGF1dGhvciBpcyBzeXotY2x1c3Rlci4gVGhhdCdzIGludGVyZXN0aW5nLi4uIGl0IGxvb2tzIGxpa2Ugc3l6a2FsbGVyIGVpdGhlciBmb3VuZCBhIGJ1ZyByZWxhdGVkIHRvIHRoaXMgYnVzLCBvciB0aGV5J3JlIHRlc3RpbmcgYSBwb3RlbnRpYWwgcGF0Y2ggZm9yIGl0LlxuXG5XYWl0IGEgc2Vjb25kLCBpZiB0aGV5J3JlIHRlc3RpbmcgaXQsIHRoYXQgcHJvYmFibHkgbWVhbnMgc3l6a2FsbGVyIGlzIGZ1enppbmcgaXQgaWYgdGhlcmUncyBhIHdheSB0byByZWFjaCBpdC4gTXkgbWluZCBpbW1lZGlhdGVseSBqdW1wcyB0bywgaXMgaXQgcG9zc2libGUgdG8gcmVhY2ggdGhhdCBmdW5jdGlvbiwgYGRwYWEyX2V0aF9kaXNjb25uZWN0X21hY2A/IExldCBtZSBnbyBzdHJhaWdodCB0byBgZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jYCwgYW5kIGNoZWNrIGl0IG91dC5cblxuXG4iLCJJbnB1dFRva2VucyI6OTc4NiwiT3V0cHV0VG9rZW5zIjo0NSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE4NiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MDozNy45NTk0OTIxMjVaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTM5MDE5MjksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiZHBhYTJfZXRoX2Rpc2Nvbm5lY3RfbWFjXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jPTQ2NTQ9c3RhdGljIGludCBkcGFhMl9ldGhfY29ubmVjdF9tYWMoc3RydWN0IGRwYWEyX2V0aF9wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTQ3MTgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jOjQ3MTk6c3RhdGljIHZvaWQgZHBhYTJfZXRoX2Rpc2Nvbm5lY3RfbWFjKHN0cnVjdCBkcGFhMl9ldGhfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNDcyMC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM9NDczOT1zdGF0aWMgaXJxcmV0dXJuX3QgZHBuaV9pcnEwX2hhbmRsZXJfdGhyZWFkKGludCBpcnFfbnVtLCB2b2lkICphcmcpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNDc2OC1cXHRcXHRpZiAoaGFkX21hYylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM6NDc2OTpcXHRcXHRcXHRkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWMocHJpdik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTQ3NzAtXFx0XFx0ZWxzZVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jPTQ4NTc9c3RhdGljIGludCBkcGFhMl9ldGhfcHJvYmUoc3RydWN0IGZzbF9tY19kZXZpY2UgKmRwbmlfZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTUwNDQtZXJyX3BvbGxfdGhyZWFkOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYzo1MDQ1OlxcdGRwYWEyX2V0aF9kaXNjb25uZWN0X21hYyhwcml2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNTA0Ni1lcnJfY29ubmVjdF9tYWM6XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM9NTA3OD1zdGF0aWMgdm9pZCBkcGFhMl9ldGhfcmVtb3ZlKHN0cnVjdCBmc2xfbWNfZGV2aWNlICpsc19kZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNTEwNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM6NTEwNTpcXHRkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWMocHJpdik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTUxMDYtXFx0ZHBhYTJfZXRoX2ZyZWVfcmluZ3MocHJpdik7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjQwOjM4LjAxMzQxMTg2NFoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE2MDM3NzY0OTAwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUmVhY2hhYmlsaXR5IG9mIHRoZSBgZHBhYTJfZXRoYCBEcml2ZXIgZm9yIEZ1enppbmcqKlxuXG5Pa2F5LCBzbyB0aGUgYGRwYWEyX2V0aF9kaXNjb25uZWN0X21hY2AgZnVuY3Rpb24gaXMgY2FsbGVkIGluIHNldmVyYWwgcGxhY2VzOiBgZHBhYTJfZXRoX3JlbW92ZWAsIGBkcGFhMl9ldGhfcHJvYmVgIChpZiB0aGVyZSdzIGFuIGVycm9yKSwgYW5kIHRoZSBgZHBuaV9pcnEwX2hhbmRsZXJfdGhyZWFkYC4gVGhpcyBpcyBhIGhhcmR3YXJlIGRyaXZlciBmb3IgRnJlZXNjYWxlIERQQUEyIEV0aGVybmV0LiBUaGUgcmVhbCBxdWVzdGlvbiBpczogY2FuIEkgZXZlbiAqcmVhY2gqIHRoaXMgdGhpbmcgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudD8gSSdtIHRoaW5raW5nLCBtb3N0IGhhcmR3YXJlIGRyaXZlcnMgdGhhdCBhcmVuJ3QgZW11bGF0ZWQgYnkgc29tZXRoaW5nIGxpa2UgUUVNVSBhbmQgZG9uJ3Qgc2l0IG9uIGEgdmlydHVhbCBidXMgKGxpa2UgVVNCIG9yIFBDSSkgYXJlIHVzdWFsbHkgdW5yZWFjaGFibGUuXG5cbkJ1dCB3YWl0LCBpc24ndCB0aGUgYGZzbC1tY2AgYnVzIGEgKnBsYXRmb3JtKiBidXM/IEhtbSwgY291bGQgSSBwb3RlbnRpYWxseSBpbnN0YW50aWF0ZSBgZnNsLW1jYCBkZXZpY2VzIHNvbWVob3cgdXNpbmcgZGV2aWNlIHRyZWUgb3ZlcmxheXMgb3Igc29tZXRoaW5nIHNpbWlsYXI/IEkgcXVpY2tseSByZW1lbWJlciB0aGF0IFN5emthbGxlciBjdXJyZW50bHkgbGFja3Mgc3VwcG9ydCBmb3IgaW5qZWN0aW5nIHRoZSBgZnNsLW1jYCBidXMgZGlyZWN0bHkuIFNob290LCBJIHRob3VnaHQgSSByZW1lbWJlcmVkIGEgYHN5el9nZW5ldGxpbmtgIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQsIGJ1dCBJIHdhcyB3cm9uZy4gSWYgdGhpcyBpcyB0cnVseSBhIGhhcmR3YXJlIGRyaXZlciwgYW5kIGl0J3Mgbm90IGVtdWxhdGVkLCBpdCdzIHByZXR0eSBtdWNoIGRlYWQgaW4gdGhlIHdhdGVyIGZvciBmdXp6aW5nLlxuXG5MZXQncyBjaGVjayBTeXprYWxsZXIgY29uZmlncy4gSXMgYENPTkZJR19GU0xfTUNfQlVTYCBlbmFibGVkIG9yIGNhbiBpdCBiZSBlbmFibGVkPyBJdCBsb29rcyBsaWtlIGl0IGRlcGVuZHMgb24gYE9GYCBhbmQgYSBmZXcgb3RoZXIgY29uZGl0aW9ucyBpbnZvbHZpbmcgdGhlIGFyY2hpdGVjdHVyZSBhbmQgYSBgQ09NUElMRV9URVNUYCBmbGFnOiBgT0YgXHUwMDI2XHUwMDI2IChBUkNIX0xBWUVSU0NBUEUgfHwgKENPTVBJTEVfVEVTVCBcdTAwMjZcdTAwMjYgKEFSTSB8fCBBUk02NCB8fCBYODZfTE9DQUxfQVBJQyB8fCBQUEMpKSlgLiBTbywgaXQgKmNvdWxkKiBiZSBjb21waWxlZCBvbiB4ODYgd2l0aCB0aGUgYENPTVBJTEVfVEVTVGAgb3B0aW9uLlxuXG5CdXQgdGhlIHJlYWwgcXVlc3Rpb24gaXMgcHJvYmluZy4uLiBjYW4gaXQgYWN0dWFsbHkgKnByb2JlKj8gVGhlIGBmc2wtbWNgIGJ1cyBkcml2ZXIgcHJvYmVzIG9uIGEgc3BlY2lmaWMgcGxhdGZvcm0gZGV2aWNlOiBcImZzbCxxb3JpcS1tY1wiLiBXaXRob3V0IHRoYXQgcGxhdGZvcm0gZGV2aWNlLCB0aGUgYnVzIGRyaXZlciB3b24ndCBwcm9iZSwgYW5kIG5vIGBmc2wtbWNgIGRldmljZXMgYXJlIGNyZWF0ZWQuIFRoYXQgbWVhbnMgYGRwYWEyX2V0aF9wcm9iZWAgd2lsbCBuZXZlciBldmVuIGJlIGNhbGxlZC5cblxuU28sIGlzIHRoZXJlIGEgd2F5IHRvIGNyZWF0ZSBwbGF0Zm9ybSBkZXZpY2VzIGZyb20gdXNlcnNwYWNlPyBNYXliZSB1c2luZyBgc3l6X2RldmxpbmtgIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQ/IE5vcGUuIEFoLCB3YWl0LCB0aGVyZSdzIGRldmljZSB0cmVlIG92ZXJsYXlzIGFnYWluLiBTeXprYWxsZXIgZG9lc24ndCBzZWVtIHRvIHN1cHBvcnQgaW5qZWN0aW5nIHBsYXRmb3JtIGRldmljZXMgdmlhIG92ZXJsYXlzLlxuXG5XYWl0LCBtYXliZSB0aGVyZSdzIGEgdmlydHVhbCBkcml2ZXIgZm9yIHRoaXMgdGhpbmcgc29tZXdoZXJlPyBMZXQncyBnbyBsb29rIGZvciBhbnkgdmlydHVhbCBgZnNsLW1jYCBkZXZpY2VzLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxMDk2MiwiT3V0cHV0VG9rZW5zIjoyOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ0OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MDo1NC4wNTExNzk5NjRaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjM2MzAwMjQ5MiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJmc2wscW9yaXEtbWNcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTMtLS0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sPTUxPXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC01My0gICAgZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbDo1NDogICAgICAtIGZzbCxxb3JpcS1tY1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTU1LSAgICBkZXNjcmlwdGlvbjpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbDo1NjogICAgICBNdXN0IGJlIFxcXCJmc2wscW9yaXEtbWNcXFwiLiAgQSBGcmVlc2NhbGUgTWFuYWdlbWVudCBDb21wbGV4XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwtNTctICAgICAgY29tcGF0aWJsZSB3aXRoIHRoaXMgYmluZGluZyBtdXN0IGhhdmUgQmxvY2sgUmV2aXNpb25cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTE0My0gICAgICAnXmV0aGVybmV0QFthLWYwLTldKyQnOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sOjE0NDogICAgICAgICRyZWY6IC9zY2hlbWFzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTE0NS1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sPTE1Nz1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTE1OS0gICAgZnNsLW1jQDgwYzAwMDAwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWw6MTYwOiAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWNcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTE2MS0gICAgICAgIHJlZyA9IFxcdTAwM2MweDBjMDAwMDAwIDB4NDBcXHUwMDNlLCAgICAvKiBNQyBwb3J0YWwgYmFzZSAqL1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwtMTgxLSAgICAgICAgICAgIGV0aGVybmV0QDEge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sOjE4MjogICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTE4My0gICAgICAgICAgICAgICAgcmVnID0gXFx1MDAzYzFcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sPTE5PXByb3BlcnRpZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbC0yMC0gIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbDoyMTogICAgY29uc3Q6IGZzbCxxb3JpcS1tYy1kcG1hY1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWwtMjItXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sPTQyPWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbC00OC0gICAgICBldGhlcm5ldEA0IHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sOjQ5OiAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWwtNTAtICAgICAgICByZWcgPSBcXHUwMDNjMHg0XFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvb3ZlcnZpZXcucnN0PTMyNz1UaGUgTUMtYnVzIGRyaXZlciBpcyBhIHBsYXRmb3JtIGRyaXZlciBhbmQgaXMgcHJvYmVkIGZyb20gYVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvb3ZlcnZpZXcucnN0OjMyODpub2RlIGluIHRoZSBkZXZpY2UgdHJlZSAoY29tcGF0aWJsZSBcXFwiZnNsLHFvcmlxLW1jXFxcIikgcGFzc2VkIGluIGJ5IGJvb3RcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL292ZXJ2aWV3LnJzdC0zMjktZmlybXdhcmUuICBJdCBpcyByZXNwb25zaWJsZSBmb3IgYm9vdHN0cmFwcGluZyB0aGUgRFBBQTIga2VybmVsXFxuLS1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL292ZXJ2aWV3LnJzdD0zNDE9VGhlIGJpbmRpbmcgZm9yIHRoZSBNQy1idXMgZGV2aWNlLXRyZWUgbm9kZSBjYW4gYmUgY29uc3VsdGVkIGF0XFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9vdmVydmlldy5yc3Q6MzQyOipEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbCouXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9vdmVydmlldy5yc3QtMzQzLVRoZSBzeXNmcyBiaW5kL3VuYmluZCBpbnRlcmZhY2VzIGZvciB0aGUgTUMtYnVzIGNhbiBiZSBjb25zdWx0ZWQgYXRcXG4tLVxcbk1BSU5UQUlORVJTPTIyMDMwPUY6XFx0RG9jdW1lbnRhdGlvbi9BQkkvc3RhYmxlL3N5c2ZzLWJ1cy1mc2wtbWNcXG5NQUlOVEFJTkVSUzoyMjAzMTpGOlxcdERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sXFxuTUFJTlRBSU5FUlMtMjIwMzItRjpcXHREb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL292ZXJ2aWV3LnJzdFxcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT05Njg9XFx0XFx0ZnNsX21jOiBmc2wtbWNAODBjMDAwMDAwIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjk2OTpcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS05NzAtXFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4MDAwMDAwMDggMHgwYzAwMDAwMCAwIDB4NDBcXHUwMDNlLFxcdCAvKiBNQyBwb3J0YWwgYmFzZSAqL1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT05ODk9XFx0XFx0XFx0XFx0ZHBtYWMxOiBldGhlcm5ldEAxIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjk5MDpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS05OTEtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzFcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT05OTQ9XFx0XFx0XFx0XFx0ZHBtYWMyOiBldGhlcm5ldEAyIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjk5NTpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS05OTYtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzJcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT05OTk9XFx0XFx0XFx0XFx0ZHBtYWMzOiBldGhlcm5ldEAzIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMDA6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAwMS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjM1xcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMDQ9XFx0XFx0XFx0XFx0ZHBtYWM0OiBldGhlcm5ldEA0IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMDU6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAwNi1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjNFxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMDk9XFx0XFx0XFx0XFx0ZHBtYWM1OiBldGhlcm5ldEA1IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMTA6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAxMS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjNVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMTQ9XFx0XFx0XFx0XFx0ZHBtYWM2OiBldGhlcm5ldEA2IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMTU6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAxNi1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjNlxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMTk9XFx0XFx0XFx0XFx0ZHBtYWM3OiBldGhlcm5ldEA3IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMjA6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAyMS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjN1xcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMjQ9XFx0XFx0XFx0XFx0ZHBtYWM4OiBldGhlcm5ldEA4IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMjU6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAyNi1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjOFxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMjk9XFx0XFx0XFx0XFx0ZHBtYWM5OiBldGhlcm5ldEA5IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMzA6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAzMS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjOVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMzQ9XFx0XFx0XFx0XFx0ZHBtYWMxMDogZXRoZXJuZXRAYSB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaToxMDM1OlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpLTEwMzYtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4YVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTc1Nz1cXHRcXHRmc2xfbWM6IGZzbC1tY0A4MGMwMDAwMDAge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6NzU4OlxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTc1OS1cXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHgwMDAwMDAwOCAweDBjMDAwMDAwIDAgMHg0MFxcdTAwM2UsXFx0IC8qIE1DIHBvcnRhbCBiYXNlICovXFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTc4MT1cXHRcXHRcXHRcXHRkcG1hYzE6IGV0aGVybmV0QDEge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6NzgyOlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTc4My1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHgxXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9Nzg3PVxcdFxcdFxcdFxcdGRwbWFjMjogZXRoZXJuZXRAMiB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo3ODg6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktNzg5LVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDJcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT03OTM9XFx0XFx0XFx0XFx0ZHBtYWMzOiBldGhlcm5ldEAzIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjc5NDpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS03OTUtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4M1xcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTc5OT1cXHRcXHRcXHRcXHRkcG1hYzQ6IGV0aGVybmV0QDQge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6ODAwOlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTgwMS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHg0XFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9ODA1PVxcdFxcdFxcdFxcdGRwbWFjNTogZXRoZXJuZXRANSB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4MDY6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODA3LVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDVcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT04MTE9XFx0XFx0XFx0XFx0ZHBtYWM2OiBldGhlcm5ldEA2IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjgxMjpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04MTMtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4NlxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTgxNz1cXHRcXHRcXHRcXHRkcG1hYzc6IGV0aGVybmV0QDcge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6ODE4OlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTgxOS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHg3XFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9ODIzPVxcdFxcdFxcdFxcdGRwbWFjODogZXRoZXJuZXRAOCB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4MjQ6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODI1LVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDhcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT04Mjk9XFx0XFx0XFx0XFx0ZHBtYWM5OiBldGhlcm5ldEA5IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjgzMDpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04MzEtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4OVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTgzNT1cXHRcXHRcXHRcXHRkcG1hYzEwOiBldGhlcm5ldEBhIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjgzNjpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04MzctXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4YVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg0MT1cXHRcXHRcXHRcXHRkcG1hYzExOiBldGhlcm5ldEBiIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg0MjpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04NDMtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4YlxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg0Nz1cXHRcXHRcXHRcXHRkcG1hYzEyOiBldGhlcm5ldEBjIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg0ODpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04NDktXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4Y1xcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg1Mz1cXHRcXHRcXHRcXHRkcG1hYzEzOiBldGhlcm5ldEBkIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg1NDpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04NTUtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4ZFxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg1OT1cXHRcXHRcXHRcXHRkcG1hYzE0OiBldGhlcm5ldEBlIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg2MDpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04NjEtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4ZVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg2NT1cXHRcXHRcXHRcXHRkcG1hYzE1OiBldGhlcm5ldEBmIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg2NjpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04NjctXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4ZlxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg3MT1cXHRcXHRcXHRcXHRkcG1hYzE2OiBldGhlcm5ldEAxMCB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4NzI6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODczLVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDEwXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTg4MD1cXHRcXHRmc2xfbWM6IGZzbC1tY0A4MGMwMDAwMDAge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTg4MTpcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xODgyLVxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDAwMDAwMDA4IDB4MGMwMDAwMDAgMCAweDQwXFx1MDAzZSxcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTkwNT1cXHRcXHRcXHRcXHRkcG1hYzE6IGV0aGVybmV0QDEge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTkwNjpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTA3LVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDFcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTExPVxcdFxcdFxcdFxcdGRwbWFjMjogZXRoZXJuZXRAMiB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTEyOlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5MTMtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4MlxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5MTc9XFx0XFx0XFx0XFx0ZHBtYWMzOiBldGhlcm5ldEAzIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5MTg6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTkxOS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHgzXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTkyMz1cXHRcXHRcXHRcXHRkcG1hYzQ6IGV0aGVybmV0QDQge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTkyNDpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTI1LVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDRcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTI5PVxcdFxcdFxcdFxcdGRwbWFjNTogZXRoZXJuZXRANSB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTMwOlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5MzEtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4NVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5MzU9XFx0XFx0XFx0XFx0ZHBtYWM2OiBldGhlcm5ldEA2IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5MzY6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTkzNy1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHg2XFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk0MT1cXHRcXHRcXHRcXHRkcG1hYzc6IGV0aGVybmV0QDcge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTk0MjpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTQzLVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDdcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTQ3PVxcdFxcdFxcdFxcdGRwbWFjODogZXRoZXJuZXRAOCB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTQ4OlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5NDktXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4OFxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5NTM9XFx0XFx0XFx0XFx0ZHBtYWM5OiBldGhlcm5ldEA5IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5NTQ6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk1NS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHg5XFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk1OT1cXHRcXHRcXHRcXHRkcG1hYzEwOiBldGhlcm5ldEBhIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5NjA6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk2MS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHhhXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk2NT1cXHRcXHRcXHRcXHRkcG1hYzExOiBldGhlcm5ldEBiIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5NjY6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk2Ny1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHhiXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk3MT1cXHRcXHRcXHRcXHRkcG1hYzEyOiBldGhlcm5ldEBjIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5NzI6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk3My1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHhjXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk3Nz1cXHRcXHRcXHRcXHRkcG1hYzEzOiBldGhlcm5ldEBkIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5Nzg6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk3OS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHhkXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk4Mz1cXHRcXHRcXHRcXHRkcG1hYzE0OiBldGhlcm5ldEBlIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5ODQ6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk4NS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHhlXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk4OT1cXHRcXHRcXHRcXHRkcG1hYzE1OiBldGhlcm5ldEBmIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5OTA6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk5MS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHhmXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk5NT1cXHRcXHRcXHRcXHRkcG1hYzE2OiBldGhlcm5ldEAxMCB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTk2OlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5OTctXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4MTBcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0yMDAxPVxcdFxcdFxcdFxcdGRwbWFjMTc6IGV0aGVybmV0QDExIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjIwMDI6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMjAwMy1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHgxMVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTIwMDc9XFx0XFx0XFx0XFx0ZHBtYWMxODogZXRoZXJuZXRAMTIge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MjAwODpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0yMDA5LVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDEyXFx1MDAzZTtcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MzM9c3RhdGljIHN0cnVjdCBmc2xfbWNfdmVyc2lvbiBtY192ZXJzaW9uO1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0zNS0vKipcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjM2OiAqIHN0cnVjdCBmc2xfbWMgLSBQcml2YXRlIGRhdGEgb2YgYSBcXFwiZnNsLHFvcmlxLW1jXFxcIiBwbGF0Zm9ybSBkZXZpY2VcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTM3LSAqIEByb290X21jX2J1c19kZXY6IGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSByb290IERQUkNcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9OTYxPXN0YXRpYyBpbnQgZ2V0X21jX2FkZHJfdHJhbnNsYXRpb25fcmFuZ2VzKHN0cnVjdCBkZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtOTc0LVxcdFxcdCAqIE1pc3Npbmcgb3IgZW1wdHkgcmFuZ2VzIHByb3BlcnR5IChcXFwicmFuZ2VzO1xcXCIpIGZvciB0aGVcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjk3NTpcXHRcXHQgKiAnZnNsLHFvcmlxLW1jJyBub2RlLiBJbiB0aGlzIGNhc2UsIGlkZW50aXR5IG1hcHBpbmdcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTk3Ni1cXHRcXHQgKiB3aWxsIGJlIHVzZWQuXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jPTExOTc9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZnNsX21jX2J1c19tYXRjaF90YWJsZVtdID0ge1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MTE5ODpcXHR7LmNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jXFxcIix9LFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMTE5OS1cXHR7fSxcXG4tLVxcbmRyaXZlcnMvY3J5cHRvL2NhYW0vY3RybC5jPTg1OT1zdGF0aWMgaW50IGNhYW1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldilcXG4tLVxcbmRyaXZlcnMvY3J5cHRvL2NhYW0vY3RybC5jLTEwMTItXFx0Y3RybHByaXYtXFx1MDAzZXNlY3Zpb19pcnEgPSBpcnFfb2ZfcGFyc2VfYW5kX21hcChucHJvcCwgMCk7XFxuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmM6MTAxMzpcXHRucCA9IG9mX2ZpbmRfY29tcGF0aWJsZV9ub2RlKE5VTEwsIE5VTEwsIFxcXCJmc2wscW9yaXEtbWNcXFwiKTtcXG5kcml2ZXJzL2NyeXB0by9jYWFtL2N0cmwuYy0xMDE0LVxcdGN0cmxwcml2LVxcdTAwM2VtY19lbiA9ICEhbnA7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjQwOjU2LjQxNDE5MTY0NloiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE4OTcxMTkyMzI0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKldvcnRoRnV6emluZyBEZWNpc2lvbjogUGxhdGZvcm0gRGV2aWNlIFwiZnNsLHFvcmlxLW1jXCIqKlxuXG5Pa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uIFRoZSBjb2RlIHRhcmdldHMgdGhlIFwiZnNsLHFvcmlxLW1jXCIgcGxhdGZvcm0gZGV2aWNlLCB3aGljaCBpcyBzcGVjaWZpYyB0byBGcmVlc2NhbGUgU29Dcy4gSSBrbm93IHRoaXMgaXMgdHlwaWNhbGx5IGZvdW5kIGluIGRldmljZSB0cmVlcyBmb3IgcGxhdGZvcm1zIGxpa2UgZnNsLWxzMTA4OGEsIGZzbC1sczIwOHhhLCBvciBmc2wtbHgyMTYwYS4gVGhlIGltbWVkaWF0ZSBjb25jZXJuIGlzIHZpcnR1YWxpemF0aW9uLiBJIG5lZWQgdG8gZGV0ZXJtaW5lIGlmIHRoaXMgaXMgcmVhY2hhYmxlIGluIHN0YW5kYXJkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLCBiZWNhdXNlIHRoZSBwcm9tcHQgZXhwbGljaXRseSBzdGF0ZXMgdGhhdCBJIHNob3VsZCByZXR1cm4gYFdvcnRoRnV6emluZz1mYWxzZWAgaWYgaXQncyBub3QuXG5cbk15IGluaXRpYWwgdGhvdWdodCBpcywgUUVNVSBkb2Vzbid0IGVtdWxhdGUgdGhpcyBkaXJlY3RseTsgaXQncyBub3QgYSBzdGFuZGFyZCBmZWF0dXJlLiBJIHN0YXJ0IGNvbnNpZGVyaW5nIGlmIHN5emthbGxlciBpcyBzb21laG93IGZ1enppbmcgdGhpcy4gSXQgaGFzIGBzeXpfZ2VuZXRsaW5rYCBhbmQgYHN5el91c2JfY29ubmVjdGAsIGJ1dCBwbGF0Zm9ybSBkZXZpY2VzIGFyZSBhIGRpZmZlcmVudCBiZWFzdC4gU3l6a2FsbGVyIHVzdWFsbHkgbmVlZHMgc3BlY2lmaWMgcHNldWRvLWRldmljZXMgb3IgZGV2aWNlIHRyZWUgb3ZlcmxheXMgdG8gaW5qZWN0IHRoZW0uIFRoZW4gSSByZW1lbWJlciBgc3l6X2RldmxpbmtgLCBidXQgdGhhdCdzIGZvciB0aGUgZGV2bGluayBzdWJzeXN0ZW0sIG5vdCBwbGF0Zm9ybSBkZXZpY2VzLlxuXG5BaGEhIFN5emthbGxlciAqY2FuKiBydW4gb24gcmVhbCBoYXJkd2FyZSwgbGlrZSBOWFAgYm9hcmRzLCBvciBldmVuIHNwZWNpZmljIEFSTTY0IFFFTVUgY29uZmlndXJhdGlvbnMuIFNvLCB0aGUgcG9zc2liaWxpdHkgZXhpc3RzIHRoYXQgc3l6a2FsbGVyIGlzIGhpdHRpbmcgdGhpcyBvbiBwaHlzaWNhbCBoYXJkd2FyZS4gSSBuZWVkIHRvIGtlZXAgdGhhdCBpbiBtaW5kLiBUaGUgcHJvbXB0J3MgbGFuZ3VhZ2UgaXMgcHJlY2lzZTogaWYgY29kZSBwYXRocyBhcmUgXCJpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFwiIGV2ZW4gd2l0aCBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSwgdGhlbiBgV29ydGhGdXp6aW5nPWZhbHNlYC5cblxuSSBhdHRlbXB0IHRvIGNvbmZpcm0gaWYgUUVNVSBlbXVsYXRlcyBcImZzbCxxb3JpcS1tY1wiLiBJIGNhbid0IGNoZWNrIFFFTVUncyBzb3VyY2UgZGlyZWN0bHksIGJ1dCBJIGxvb2sgZm9yIGFueSBrZXJuZWwgZXZpZGVuY2Ugc3VnZ2VzdGluZyBpdCdzIHZpcnR1YWwuIFRoaXMgaXMgYSAqaGFyZHdhcmUqIGRldmljZSDigJMgdGhlIEZyZWVzY2FsZSBNYW5hZ2VtZW50IENvbXBsZXguIEl0J3MgYSBcInBsYXRmb3JtIGJ1c1wiIGRldmljZSwgaW5zdGFudGlhdGVkIGVpdGhlciBmcm9tIHRoZSBkZXZpY2UgdHJlZSAoRFQpIG9yIEFDUEkuIFRoZXJlJ3Mgbm8ga2VybmVsIGNvZGUgbWFudWFsbHkgaW5zdGFudGlhdGluZyBcImZzbCxxb3JpcS1tY1wiIGV4Y2VwdCBwZXJoYXBzIGluIGJvYXJkLXNwZWNpZmljIGZpbGVzLCB3aGljaCBhcmUgbGVzcyByZWxldmFudCB3aXRoIEFSTTY0J3MgRFQgZm9jdXMuXG5cbkRvZXMgdGhlIGB2aXJ0YCBRRU1VIG1hY2hpbmUsIG9yIHNpbWlsYXIsIGluc3RhbnRpYXRlIHRoaXM/IE5vLCBgdmlydGAgdXNlcyB2aXJ0aW8uIFFFTVUgZG9lcyBoYXZlIG1hY2hpbmUgdHlwZXMsIHN1Y2ggYXMgYHhsbngtemN1MTAyYCwgYHJhc3BpM2AsIGV0YywgYnV0IEkgZG9uJ3QgYmVsaWV2ZSB0aGVyZSdzIGZ1bGwgRFBBQTIgZW11bGF0aW9uLCBiZWNhdXNlIERQQUEyIGlzIGEgdmVyeSBjb21wbGV4IGhhcmR3YXJlIGFyY2hpdGVjdHVyZSB3aXRoIGl0cyBvd24gZmlybXdhcmUgKE1DIGZpcm13YXJlKS4gVGhlIGtlcm5lbCBkcml2ZXIgbG9hZHMgZmlybXdhcmU7IGBmc2xfbWNfZmlybXdhcmVfY2hlY2tgIHZlcmlmaWVzIGl0J3MgcnVubmluZy4gSWYgdGhlIGZpcm13YXJlIGlzbid0IHJ1bm5pbmcsIGl0IHJldHVybnMgYC1FT1BOT1RTVVBQYC4gVGhhdCdzIGEgaHVnZSBodXJkbGUuIEV2ZW4gaWYgUUVNVSBlbXVsYXRlZCB0aGUgcmVnaXN0ZXJzLCBpdCdkIG5lZWQgdGhlIE1DIGZpcm13YXJlLlxuXG5UaGVyZWZvcmUsIHVubGVzcyB0aGVyZSdzIHNwZWNpZmljIGhhcmR3YXJlIG9yIHZlcnkgc3BlY2lhbGl6ZWQgZW11bGF0aW9uLCByZWFjaGluZyB0aGlzIGluIGEgdmlydHVhbCBlbnZpcm9ubWVudCBzZWVtcyB1bmxpa2VseS4gV2FpdCwgSSBzZWUgdGhlIGNvbW1pdCBtZXNzYWdlIHNheXMgXCJzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcIi4gVGhpcyBpbXBsaWVzIHN5emthbGxlciAqZGlkKiBmaW5kIGEgYnVnLCB3aGljaCByZXF1aXJlcyBmdXJ0aGVyIGludmVzdGlnYXRpb24uXG5cbkhvdyBkaWQgc3l6a2FsbGVyIHJlYWNoIGl0PyBQZXJoYXBzIGEgcGh5c2ljYWwgTlhQIGJvYXJkPyBZZXMsIHN5emthbGxlciAqY2FuKiB1c2UgcGh5c2ljYWwgQVJNNjQgYm9hcmRzLiBCdXQgSSBoYXZlIHRvIGFkaGVyZSB0byB0aGUgcHJvbXB0J3MgcnVsZTogXCJSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zLi4uQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VXCIuIFRoYXQncyBhIHN0cmljdCBydWxlLlxuXG5TbywgSSB3aWxsIHJldHVybiBgZmFsc2VgLiBKdXN0IHRvIGJlIHN1cmUsIEkgd2lsbCBkb3VibGUtY2hlY2sgZm9yIGFueSBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIGZzbC1tYyBpbiB0aGUga2VybmVsLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMDQ5OCwiT3V0cHV0VG9rZW5zIjozNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjExMDAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NDE6MTUuMzg1Mzg2ODRaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIzMTE3NDM0MDMsIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInBsYXRmb3JtX2RldmljZV9yZWdpc3Rlci4qZnNsLHFvcmlxLW1jXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NDE6MTcuNjk3MTQzNTkzWiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI5MDEyOTEwNTE1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6XG5cbioqSW52ZXN0aWdhdGluZyBQb3RlbnRpYWwgYGZzbCxxb3JpcS1tY2AgRHJpdmVyL0FyY2hpdGVjdHVyZSBTY29wZSoqXG5cbkFscmlnaHQsIEknbSBnb2luZyB0byB0YWtlIGEgcXVpY2sgc3dlZXAgdGhyb3VnaCB0aGUga2VybmVsIHNvdXJjZSB0cmVlLiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgdG8gcGlucG9pbnQgYW55IGluc3RhbmNlcyBvZiB0aGUgYGZzbCxxb3JpcS1tY2AgYmluZGluZywgKmJleW9uZCogdGhlIERldmljZSBUcmVlIFNvdXJjZSAoRFRTKSBmaWxlcyB0aGVtc2VsdmVzLiBUaGUgRFRTIGlzIHRoZSBvYnZpb3VzIHBsYWNlIGZvciBoYXJkd2FyZSBkZXNjcmlwdGlvbiwgYnV0IEkgbmVlZCB0byBhc2NlcnRhaW4gaWYgdGhpcyBzcGVjaWZpYyBiaW5kaW5nIGhhcyBmb3VuZCBpdHMgd2F5IGludG8gYW55IGFjdHVhbCBkcml2ZXIgY29kZSAoYGRyaXZlcnMvYCkgb3IgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIChgYXJjaC9gKSBpbXBsZW1lbnRhdGlvbi4gSSBuZWVkIHRvIGtub3cgdGhlIHNjb3BlIG9mIGl0cyB1c2FnZSwgYW5kIHRoYXQgcmVxdWlyZXMgbW92aW5nIGJleW9uZCB0aGUgRFRTIGRlZmluaXRpb25zLiBJIG5lZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGlzIGFuIGV4cGxpY2l0IGRyaXZlciBmaWxlIHRoYXQgaXMgdXNpbmcgdGhpcyBiaW5kaW5nLiBMZXQncyBzZWUgd2hhdCB0dXJucyB1cC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjI0NTEsIk91dHB1dFRva2VucyI6MzAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MTo0Ni43MTAwNTU5MzhaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg2NTc2NzA0MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJmc2wscW9yaXEtbWNcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0zMz1zdGF0aWMgc3RydWN0IGZzbF9tY192ZXJzaW9uIG1jX3ZlcnNpb247XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTM1LS8qKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MzY6ICogc3RydWN0IGZzbF9tYyAtIFByaXZhdGUgZGF0YSBvZiBhIFxcXCJmc2wscW9yaXEtbWNcXFwiIHBsYXRmb3JtIGRldmljZVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMzctICogQHJvb3RfbWNfYnVzX2RldjogZnNsLW1jIGRldmljZSByZXByZXNlbnRpbmcgdGhlIHJvb3QgRFBSQ1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz05NjE9c3RhdGljIGludCBnZXRfbWNfYWRkcl90cmFuc2xhdGlvbl9yYW5nZXMoc3RydWN0IGRldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy05NzQtXFx0XFx0ICogTWlzc2luZyBvciBlbXB0eSByYW5nZXMgcHJvcGVydHkgKFxcXCJyYW5nZXM7XFxcIikgZm9yIHRoZVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6OTc1OlxcdFxcdCAqICdmc2wscW9yaXEtbWMnIG5vZGUuIEluIHRoaXMgY2FzZSwgaWRlbnRpdHkgbWFwcGluZ1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtOTc2LVxcdFxcdCAqIHdpbGwgYmUgdXNlZC5cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MTE5Nz1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBmc2xfbWNfYnVzX21hdGNoX3RhYmxlW10gPSB7XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzoxMTk4OlxcdHsuY29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWNcXFwiLH0sXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMTk5LVxcdHt9LFxcbi0tXFxuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmM9ODU5PXN0YXRpYyBpbnQgY2FhbV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxcbi0tXFxuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmMtMTAxMi1cXHRjdHJscHJpdi1cXHUwMDNlc2VjdmlvX2lycSA9IGlycV9vZl9wYXJzZV9hbmRfbWFwKG5wcm9wLCAwKTtcXG5kcml2ZXJzL2NyeXB0by9jYWFtL2N0cmwuYzoxMDEzOlxcdG5wID0gb2ZfZmluZF9jb21wYXRpYmxlX25vZGUoTlVMTCwgTlVMTCwgXFxcImZzbCxxb3JpcS1tY1xcXCIpO1xcbmRyaXZlcnMvY3J5cHRvL2NhYW0vY3RybC5jLTEwMTQtXFx0Y3RybHByaXYtXFx1MDAzZW1jX2VuID0gISFucDtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NDE6NDcuNTc1ODI4MTU4WiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjIyOTQ1MDUyODc3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIEZ1enppbmcgUG9zc2liaWxpdHkqKlxuXG5Pa2F5LCBzbyB0aGlzIGlzIG9ubHkgYWNjZXNzaWJsZSB0aHJvdWdoIHRoZSBkZXZpY2UgdHJlZSwgdGhhdCBpbW1lZGlhdGVseSBsaW1pdHMgdGhpbmdzLiBJdCdzIHRpZWQgdG8gc3BlY2lmaWMgRnJlZXNjYWxlIFFvcklRIERQQUEyIGhhcmR3YXJlIGFuZCB0aGUgYWNjb21wYW55aW5nIGZpcm13YXJlLiBUaGF0IG1lYW5zIGl0J3MgcHJldHR5IG11Y2ggYSBuby1nbyBpbiB0eXBpY2FsIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLiBcblxuSG9sZCBvbiwgdGhvdWdoLi4uIGNvdWxkIHN5emthbGxlciBiZSBmdXp6aW5nIHRoaXMgdGhyb3VnaCBzb21lIGFsdGVybmF0ZSBlbnRyeSBwb2ludD8gSSBuZWVkIHRvIGNvbnNpZGVyIHRoYXQuIExldCdzIHNlZSwgdGhlIHBhdGNoIGlzIHRvdWNoaW5nIGBkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWNgIHdpdGhpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jYC4gIEFoYSwgdGhpcyBmdW5jdGlvbiBpcyB1c2VkIGR1cmluZyBwcm9iZSwgcmVtb3ZlLCBhbmQgaW50ZXJydXB0IGhhbmRsaW5nLCB3aGljaCBhcmUgdGllZCB0byB0aGUgYGRwYWEyLWV0aGAgZHJpdmVyLlxuXG5BbmQgdGhhdCBkcml2ZXIgaXMgZGVwZW5kZW50IG9uIHRoZSBgZnNsX21jX2J1c2AuIFRoaXMgaXMgYmVjb21pbmcgY2xlYXIgbm93LiBXaXRob3V0IHRoYXQgc3BlY2lmaWMgYnVzIGFuZCB0aGUgY29ubmVjdGVkIGRldmljZSwgdGhlcmUncyBubyB3YXkgdGhlIGRyaXZlciBjYW4gZXZlbiBwcm9iZSwgd2hpY2ggbWVhbnMgdGhlIGNvZGUgaXMgdW5yZWFjaGFibGUgaW4gR0NFIG9yIFFFTVUuIEl0J3MgYSBoYXJkd2FyZS1zcGVjaWZpYyBkZXBlbmRlbmN5LlxuXG5BbHJpZ2h0LCBJJ20gZ29pbmcgdG8gcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGFuZCBleHBsYWluIGl0IGJhc2VkIG9uIHRoZSBmYWN0IHRoYXQgdGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBkZXNpZ25lZCBmb3IgRnJlZXNjYWxlIERQQUEyLCBhbmQgdGhlcmUgYXJlbid0IGFueSBrbm93biBlbXVsYXRpb25zIGluIHRoZXNlIHN0YW5kYXJkIHZpcnR1YWxpemF0aW9uIGVudmlyb25tZW50cy5cblxuQmVmb3JlIEkgbG9jayB0aGF0IGluLCBsZXQgbWUganVzdCBxdWlja2x5IGRvdWJsZS1jaGVjayB0byBzZWUgaWYgdGhlcmUncyBhbnkgYXZhaWxhYmxlIHNvZnR3YXJlIGVtdWxhdGlvbiBmb3IgdGhlIGBmc2wtbWNgIGVsZW1lbnQuIEp1c3QgdG8gYmUgY29tcGxldGVseSBzdXJlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMzI2MywiT3V0cHV0VG9rZW5zIjoyOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIzOSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MjoxMC41MjA4ODQwOTVaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE3NTQyNjUwMTAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiZnNsX21jX2RldmljZV9hZGRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jPTE2OT1zdGF0aWMgdm9pZCBmc2xfbWNfb2JqX2RldmljZV9hZGQoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2J1c19kZXYsXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xODItXFx0fSBlbHNlIHtcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYzoxODM6XFx0XFx0ZXJyb3IgPSBmc2xfbWNfZGV2aWNlX2FkZChvYmpfZGVzYywgTlVMTCwgXFx1MDAyNm1jX2J1c19kZXYtXFx1MDAzZWRldixcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xODQtXFx0XFx0XFx0XFx0XFx0ICBcXHUwMDI2Y2hpbGRfZGV2KTtcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9NzM3PXN0YXRpYyB2b2lkIGZzbF9tY19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTc1MS0gKi9cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjc1MjppbnQgZnNsX21jX2RldmljZV9hZGQoc3RydWN0IGZzbF9tY19vYmpfZGVzYyAqb2JqX2Rlc2MsXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy03NTMtXFx0XFx0ICAgICAgc3RydWN0IGZzbF9tY19pbyAqbWNfaW8sXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTg3OS19XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzo4ODA6RVhQT1JUX1NZTUJPTF9HUEwoZnNsX21jX2RldmljZV9hZGQpO1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtODgxLVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0xMDM5PXN0YXRpYyBpbnQgZnNsX21jX2J1c19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMTU3LVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MTE1ODpcXHRlcnJvciA9IGZzbF9tY19kZXZpY2VfYWRkKFxcdTAwMjZvYmpfZGVzYywgbWNfaW8sIFxcdTAwMjZwZGV2LVxcdTAwM2VkZXYsIFxcdTAwMjZtY19idXNfZGV2KTtcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTExNTktXFx0aWYgKGVycm9yIFxcdTAwM2MgMClcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtcHJpdmF0ZS5oPTYwMT1zdHJ1Y3QgZnNsX21jX2J1cyB7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXByaXZhdGUuaC02MTMtXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmg6NjE0OmludCBfX211c3RfY2hlY2sgZnNsX21jX2RldmljZV9hZGQoc3RydWN0IGZzbF9tY19vYmpfZGVzYyAqb2JqX2Rlc2MsXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmgtNjE1LVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBmc2xfbWNfaW8gKm1jX2lvLFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MjoxMi4yNzUxNTM1OTVaIiwiU2VxIjoxNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTc1NTMyMzY4OTc1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIGBmc2xfbWNfZGV2aWNlX2FkZGAgRnVuY3Rpb24ncyBVc2FnZSoqXG5cbk9rYXksIHNvIEkndmUgbG9va2VkIGludG8gdGhpcyBgZnNsX21jX2RldmljZV9hZGRgIGZ1bmN0aW9uIGFuZCBpdCdzIHByZXR0eSBjbGVhciB0aGF0IGl0J3MgZXhjbHVzaXZlbHkgY2FsbGVkIGZyb20gd2l0aGluIHRoZSBgZnNsLW1jYCBidXMgZHJpdmVyLiBTcGVjaWZpY2FsbHksIGZyb20gdGhlIGBmc2xfbWNfYnVzX3Byb2JlYCBhbmQgYGZzbF9tY19vYmpfZGV2aWNlX2FkZGAgZnVuY3Rpb25zLiBUaGlzIG1lYW5zIHRoZXJlJ3Mgbm8gd2F5IGZvciBzb2Z0d2FyZSB0byBlbXVsYXRlIG9yIGluamVjdCBjYWxscyB0byBpdCBmcm9tIG91dHNpZGUgdGhhdCBkcml2ZXIsIG9yIHNvbWUgb3RoZXIgbWVjaGFuaXNtLiBXaGljaCBpcyBnb29kIHRvIGtub3csIGFuZCBzYXZlcyBtZSBzb21lIHRpbWUuIFdpdGggdGhhdCB1bmRlcnN0YW5kaW5nIGluIHBsYWNlLCBJJ2xsIGdvIGFoZWFkIGFuZCBzZXQgYFdvcnRoRnV6emluZz1mYWxzZWAgZm9yIHRoaXMgcGFydC4gSXQgc2VlbXMgYSB3YXN0ZSBvZiByZXNvdXJjZXMgdG8gdGFyZ2V0IHNvbWV0aGluZyB0aGF0IGNhbid0IGJlIHJlYWNoZWQgaW4gdGhlIHVzdWFsIGZ1enppbmcgbW9kZXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0NTgzLCJPdXRwdXRUb2tlbnMiOjEwNSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjcyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjQ1OjA3LjgwNzUyNTMzWiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjY0OTAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldCBkcml2ZXIgKGRwYWEyLWV0aCksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgZnNsLW1jIGJ1cyBmb3VuZCBvbiBOWFAgUW9ySVEgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBmb3IgZnV6emluZyBpbiB0aGVzZSBlbnZpcm9ubWVudHMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgRnJlZXNjYWxlIERQQUEyIEV0aGVybmV0IGRyaXZlciAoZHBhYTItZXRoKSwgd2hpY2ggaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIHRoZSBmc2wtbWMgYnVzIGZvdW5kIG9uIE5YUCBRb3JJUSBTb0NzLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRSwgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGZvciBmdXp6aW5nIGluIHRoZXNlIGVudmlyb25tZW50cy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflow49ftp[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-09 01:58:58 +0000 UTC FinishedAt: 2026-07-09 02:45:09 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjQwPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+NW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBGcmVlc2NhbGUgRFBBQTIgRXRoZXJuZXQgZHJpdmVyIChkcGFhMi1ldGgpLCB3aGljaCBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgdGhlIGZzbC1tYyBidXMgZm91bmQgb24gTlhQIFFvcklRIFNvQ3MuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZm9yIGZ1enppbmcgaW4gdGhlc2UgZW52aXJvbm1lbnRzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo0MDwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDJjMjZjMTFkY2UxNmMzN2E1ODUzMzMzMTA5NzUzNGYxZTc2MTQ3NDJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEp1bCA5IDAyOjQwOjA1IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguY1xuaW5kZXggOTMzNTcwMzc2OGE5YjYuLjc2NGQyYTA5NjY4ZjU2IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNcbkBAIC00NzMyLDYgJiM0Mzs0NzMyLDcgQEAgc3RhdGljIHZvaWQgZHBhYTJfZXRoX2Rpc2Nvbm5lY3RfbWFjKHN0cnVjdCBkcGFhMl9ldGhfcHJpdiAqcHJpdilcbiBcdFx0ZHBhYTJfbWFjX2Rpc2Nvbm5lY3QobWFjKTtcbiBcbiBcdGRwYWEyX21hY19jbG9zZShtYWMpO1xuJiM0MztcdHB1dF9kZXZpY2UoXHUwMDI2bWFjLVx1MDAzZW1jX2Rldi1cdTAwM2VkZXYpO1xuIFx0a2ZyZWUobWFjKTtcbiB9XG4gXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NDA8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+NW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldCBkcml2ZXIgKGRwYWEyLWV0aCksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgZnNsLW1jIGJ1cyBmb3VuZCBvbiBOWFAgUW9ySVEgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBmb3IgZnV6emluZyBpbiB0aGVzZSBlbnZpcm9ubWVudHMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAyYzI2YzExZGNlMTZjMzdhNTg1MzMzMzEwOTc1MzRmMWU3NjE0NzQyCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFRodSBKdWwgOSAwMjo0MDowNSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYwppbmRleCA5MzM1NzAzNzY4YTliNi4uNzY0ZDJhMDk2NjhmNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMKQEAgLTQ3MzIsNiAmIzQzOzQ3MzIsNyBAQCBzdGF0aWMgdm9pZCBkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWMoc3RydWN0IGRwYWEyX2V0aF9wcml2ICpwcml2KQogCQlkcGFhMl9tYWNfZGlzY29ubmVjdChtYWMpOwogCiAJZHBhYTJfbWFjX2Nsb3NlKG1hYyk7CiYjNDM7CXB1dF9kZXZpY2UoJmFtcDttYWMtJmd0O21jX2Rldi0mZ3Q7ZGV2KTsKIAlrZnJlZShtYWMpOwogfQogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjQwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE4NzIKCQkJCQkJCW91dHB1dDogMjgKCQkJCQkJCXRob3VnaHRzOiAyNjIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgTmV0d29yayBEcml2ZXIgUGF0Y2ggaW4gYSBWaXJ0dWFsaXplZCBDb250ZXh0KioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIHRoYXQgYWRkcyBgcHV0X2RldmljZSgmYW1wO21hYy0mZ3Q7bWNfZGV2LSZndDtkZXYpO2AgdG8gYGRwYWEyX2V0aF9kaXNjb25uZWN0X21hY2Agd2l0aGluIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNgLiBNeSBpbW1lZGlhdGUgY29uY2VybiBpcyByZWFjaGFiaWxpdHkgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudC4gVGhpcyBkcml2ZXIsIGBkcGFhMi1ldGhgLCBpcyBzcGVjaWZpY2FsbHkgZm9yIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldCwgd2hpY2ggcmluZ3MgYSBiZWxsLi4uIHRoYXQmIzM5O3MgTlhQIExheWVyc2NhcGUgU29DcyBsaWtlIHRoZSBMUzIwODhBIG9yIExTMTA4OEEsIHJpZ2h0PyBBbmQgaXQmIzM5O3MgYmFzZWQgYXJvdW5kIHRoZSBgZnNsLW1jYCBidXMuCgpUaGUgcXVlc3Rpb24gdGhlbiBiZWNvbWVzLCBjYW4gSSBldmVuICp0cmlnZ2VyKiB0aGlzIGNvZGUgaW4gYSBzdGFuZGFyZCB4ODZfNjQgUUVNVSBvciBHb29nbGUgQ29tcHV0ZSBFbmdpbmUgc2V0dXA/IFRoZXNlIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlcnMgb2Z0ZW4gcmVseSBvbiBkaXJlY3QgaGFyZHdhcmUgaW50ZXJhY3Rpb25zLCBlc3BlY2lhbGx5IHdpdGhvdXQgZGVkaWNhdGVkIHNvZnR3YXJlIGVtdWxhdGlvbi4gV2l0aG91dCBzcGVjaWZpYyBlbXVsYXRpb24sIGZ1enppbmcgdGhlbSBpcyB0b3VnaC4gSXQmIzM5O3MgdXN1YWxseSBvbmx5IHBvc3NpYmxlIHdpdGggdmlydHVhbGl6ZWQgYnVzZXMgbGlrZSBVU0Igb3IgUENJIHRoYXQgY2FuIGJlIG1vcmUgcmVhZGlseSBpbmplY3RlZCB3aXRoIGRldmljZXMuCgpXYWl0IGEgc2Vjb25k4oCmIHRoZSBgZnNsLW1jYCBidXMgKmlzKiBhIGJ1cy4gQW5kIHRoYXQgcHJlc2VudHMgYW4gaW50ZXJlc3RpbmcgcG9zc2liaWxpdHkuIElzIHRoZXJlIGEgd2F5IHRvIGluamVjdCBkZXZpY2VzIG9udG8gdGhpcyBwYXJ0aWN1bGFyIGJ1cz8gTGV0JiMzOTtzIGRpdmUgaW50byB0aGUgYGRyaXZlcnMvYnVzL2ZzbC1tYy9gIGRpcmVjdG9yeSB0byBzZWUgaWYgdGhlcmUmIzM5O3MgYW55IG1lY2hhbmlzbSBmb3IgdGhhdC4gVGhhdCBtaWdodCBiZSB0aGUga2V5IHRvIHRyaWdnZXJpbmcgdGhpcyBgcHV0X2RldmljZWAgY2FsbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo0MDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtmc2wtbWMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL2J1cy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9idXMvS2NvbmZpZz0yNDI9Y29uZmlnIERBOFhYX01TVFBSSVxuLS1cbmRyaXZlcnMvYnVzL0tjb25maWctMjQ5LVxuZHJpdmVycy9idXMvS2NvbmZpZzoyNTA6c291cmNlIFwmIzM0O2RyaXZlcnMvYnVzL2ZzbC1tYy9LY29uZmlnXCYjMzQ7XG5kcml2ZXJzL2J1cy9LY29uZmlnLTI1MS1zb3VyY2UgXCYjMzQ7ZHJpdmVycy9idXMvbWhpL0tjb25maWdcJiMzNDtcbi0tXG5kcml2ZXJzL2J1cy9NYWtlZmlsZT0xMT1vYmotJChDT05GSUdfTU9YVEVUKVx0XHQmIzQzOz0gbW94dGV0Lm9cbmRyaXZlcnMvYnVzL01ha2VmaWxlLTEyLVxuZHJpdmVycy9idXMvTWFrZWZpbGU6MTM6IyBEUEFBMiBmc2wtbWMgYnVzXG5kcml2ZXJzL2J1cy9NYWtlZmlsZToxNDpvYmotJChDT05GSUdfRlNMX01DX0JVUylcdCYjNDM7PSBmc2wtbWMvXG5kcml2ZXJzL2J1cy9NYWtlZmlsZS0xNS1cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZy0yLSNcbmRyaXZlcnMvYnVzL2ZzbC1tYy9LY29uZmlnOjM6IyBEUEFBMiBmc2wtbWMgYnVzXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZy00LSNcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZz04PWNvbmZpZyBGU0xfTUNfQlVTXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZzo5Olx0Ym9vbCBcJiMzNDtRb3JJUSBEUEFBMiBmc2wtbWMgYnVzIGRyaXZlclwmIzM0O1xuZHJpdmVycy9idXMvZnNsLW1jL0tjb25maWctMTAtXHRkZXBlbmRzIG9uIE9GIFx1MDAyNlx1MDAyNiAoQVJDSF9MQVlFUlNDQVBFIHx8IChDT01QSUxFX1RFU1QgXHUwMDI2XHUwMDI2IChBUk0gfHwgQVJNNjQgfHwgWDg2X0xPQ0FMX0FQSUMgfHwgUFBDKSkpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL0tjb25maWctMTMtXHQgIERyaXZlciB0byBlbmFibGUgdGhlIGJ1cyBpbmZyYXN0cnVjdHVyZSBmb3IgdGhlIFFvcklRIERQQUEyXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZzoxNDpcdCAgYXJjaGl0ZWN0dXJlLiAgVGhlIGZzbC1tYyBidXMgZHJpdmVyIGhhbmRsZXMgZGlzY292ZXJ5IG9mXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZy0xNS1cdCAgRFBBQTIgb2JqZWN0cyAod2hpY2ggYXJlIHJlcHJlc2VudGVkIGFzIExpbnV4IGRldmljZXMpIGFuZFxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZT03PW9iai0kKENPTkZJR19GU0xfTUNfQlVTKSAmIzQzOz0gbWMtYnVzLWRyaXZlci5vXG5kcml2ZXJzL2J1cy9mc2wtbWMvTWFrZWZpbGUtOC1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZTo5Om1jLWJ1cy1kcml2ZXItb2JqcyA6PSBmc2wtbWMtYnVzLm8gXFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZS0xMC1cdFx0ICAgICAgbWMtc3lzLm8gXFxcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvTWFrZWZpbGUtMTUtXHRcdCAgICAgIGRwcmMtZHJpdmVyLm8gXFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZToxNjpcdFx0ICAgICAgZnNsLW1jLWFsbG9jYXRvci5vIFxcXG5kcml2ZXJzL2J1cy9mc2wtbWMvTWFrZWZpbGU6MTc6XHRcdCAgICAgIGZzbC1tYy1tc2kubyBcXFxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlLTE4LVx0XHQgICAgICBkcG1jcC5vIFxcXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlLTIxLSMgTUMgdXNlcnNwYWNlIHN1cHBvcnRcbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZToyMjpvYmotJChDT05GSUdfRlNMX01DX1VBUElfU1VQUE9SVCkgJiM0Mzs9IGZzbC1tYy11YXBpLm9cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBicC5jLTgtXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBicC5jOjk6I2luY2x1ZGUgXCYjMzQ7ZnNsLW1jLXByaXZhdGUuaFwmIzM0O1xuZHJpdmVycy9idXMvZnNsLW1jL2RwYnAuYy0xMC1cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBjb24uYy04LVxuZHJpdmVycy9idXMvZnNsLW1jL2RwY29uLmM6OTojaW5jbHVkZSBcJiMzNDtmc2wtbWMtcHJpdmF0ZS5oXCYjMzQ7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBjb24uYy0xMC1cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBtY3AuYy04LVxuZHJpdmVycy9idXMvZnNsLW1jL2RwbWNwLmM6OTojaW5jbHVkZSBcJiMzNDtmc2wtbWMtcHJpdmF0ZS5oXCYjMzQ7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBtY3AuYy0xMC1cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xNS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjE2OiNpbmNsdWRlIFwmIzM0O2ZzbC1tYy1wcml2YXRlLmhcJiMzNDtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTE3LVxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jPTY4PXN0YXRpYyBpbnQgX19mc2xfbWNfZGV2aWNlX3JlbW92ZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtNzktICpcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjgwOiAqIEBtY19idXNfZGV2OiBwb2ludGVyIHRvIHRoZSBmc2wtbWMgZGV2aWNlIHRoYXQgcmVwcmVzZW50cyBhIERQUkMgb2JqZWN0XG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy04MS0gKiBAb2JqX2Rlc2NfYXJyYXk6IGFycmF5IG9mIG9iamVjdCBkZXNjcmlwdG9ycyBmb3IgY2hpbGQgb2JqZWN0cyBjdXJyZW50bHlcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz0xMjM9c3RydWN0IGZzbF9tY19kZXZpY2UgKmZzbF9tY19kZXZpY2VfbG9va3VwKHN0cnVjdCBmc2xfbWNfb2JqX2Rlc2MgKm9ial9kZXNjLFxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTEzNi0gKlxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6MTM3OiAqIEBtY19kZXY6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2UgZm9yIGEgZ2l2ZW4gTUMgb2JqZWN0XG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xMzgtICogQG9ial9kZXNjOiBwb2ludGVyIHRvIHRoZSBNQyBvYmplY3QmIzM5O3MgZGVzY3JpcHRvciBpbiB0aGUgTUNcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTEzOS0gKlxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6MTQwOiAqIElmIHRoZSBwbHVnZ2VkIHN0YXRlIGhhcyBjaGFuZ2VkIGZyb20gdW5wbHVnZ2VkIHRvIHBsdWdnZWQsIHRoZSBmc2wtbWNcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTE0MS0gKiBkZXZpY2UgaXMgYm91bmQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgZGV2aWNlIGRyaXZlci5cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjE0MjogKiBJZiB0aGUgcGx1Z2dlZCBzdGF0ZSBoYXMgY2hhbmdlZCBmcm9tIHBsdWdnZWQgdG8gdW5wbHVnZ2VkLCB0aGUgZnNsLW1jXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xNDMtICogZGV2aWNlIGlzIHVuYm91bmQgZnJvbSB0aGUgY29ycmVzcG9uZGluZyBkZXZpY2UgZHJpdmVyLlxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jPTE2OT1zdGF0aWMgdm9pZCBmc2xfbWNfb2JqX2RldmljZV9hZGQoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2J1c19kZXYsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtMTkyLSAqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYzoxOTM6ICogQG1jX2J1c19kZXY6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2UgdGhhdCByZXByZXNlbnRzIGEgRFBSQyBvYmplY3RcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTE5NC0gKiBAb2JqX2Rlc2NfYXJyYXk6IGFycmF5IG9mIGRldmljZSBkZXNjcmlwdG9ycyBmb3IgY2hpbGQgZGV2aWNlcyBjdXJyZW50bHlcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz0yMDI9c3RhdGljIHZvaWQgZHByY19hZGRfbmV3X2RldmljZXMoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2J1c19kZXYsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtMjI4LSAqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYzoyMjk6ICogQG1jX2J1c19kZXY6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2UgdGhhdCByZXByZXNlbnRzIGEgRFBSQyBvYmplY3RcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTIzMC0gKiBAYWxsb2NfaW50ZXJydXB0czogaWYgdHJ1ZSB0aGUgZnVuY3Rpb24gYWxsb2NhdGVzIHRoZSBpbnRlcnJ1cHQgcG9vbCxcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz0yNDU9aW50IGRwcmNfc2Nhbl9vYmplY3RzKHN0cnVjdCBmc2xfbWNfZGV2aWNlICptY19idXNfZGV2LFxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTM1Ni0gKlxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6MzU3OiAqIEBtY19idXNfZGV2OiBwb2ludGVyIHRvIHRoZSBmc2wtbWMgZGV2aWNlIHRoYXQgcmVwcmVzZW50cyBhIERQUkMgb2JqZWN0XG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0zNTgtICogQGFsbG9jX2ludGVycnVwdHM6IGlmIHRydWUgdGhlIGZ1bmN0aW9uIGFsbG9jYXRlcyB0aGUgaW50ZXJydXB0IHBvb2wsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM9NTcyPXN0YXRpYyBpbnQgZHByY19zZXR1cF9pcnEoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2Rldilcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy02MDEtICpcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjYwMjogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIGEgRFBSQ1xuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtNjAzLSAqXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM9NzExPUVYUE9SVF9TWU1CT0xfR1BMKGRwcmNfc2V0dXApO1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTcxNS0gKlxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6NzE2OiAqIEBtY19kZXY6IFBvaW50ZXIgdG8gZnNsLW1jIGRldmljZSByZXByZXNlbnRpbmcgYSBEUFJDXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy03MTctICpcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz03NTg9c3RhdGljIHZvaWQgZHByY190ZWFyZG93bl9pcnEoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2Rldilcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy03NzEtICpcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjc3MjogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSBEUFJDXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy03NzMtICpcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz04MTU9RVhQT1JUX1NZTUJPTF9HUEwoZHByY19jbGVhbnVwKTtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy04MTktICpcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjgyMDogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSBEUFJDXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy04MjEtICpcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy5jLTktXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy5jOjEwOiNpbmNsdWRlIFwmIzM0O2ZzbC1tYy1wcml2YXRlLmhcJiMzNDtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLmMtMTEtXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yLS8qXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjM6ICogZnNsLW1jIG9iamVjdCBhbGxvY2F0b3IgZHJpdmVyXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTQtICpcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTEyLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzoxMzojaW5jbHVkZSBcJiMzNDtmc2wtbWMtcHJpdmF0ZS5oXCYjMzQ7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTE0LVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz0xNT1zdGF0aWMgYm9vbCBfX211c3RfY2hlY2sgZnNsX21jX2lzX2FsbG9jYXRhYmxlKHN0cnVjdCBmc2xfbWNfZGV2aWNlICptY19kZXYpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yMy0gKiBmc2xfbWNfcmVzb3VyY2VfcG9vbF9hZGRfZGV2aWNlIC0gYWRkIGFsbG9jYXRhYmxlIG9iamVjdCB0byBhIHJlc291cmNlXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI0OiAqIHBvb2wgb2YgYSBnaXZlbiBmc2wtbWMgYnVzXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTI1LSAqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI2OiAqIEBtY19idXM6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBidXNcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMjctICogQHBvb2xfdHlwZTogcG9vbCB0eXBlXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI4OiAqIEBtY19kZXY6IHBvaW50ZXIgdG8gYWxsb2NhdGFibGUgZnNsLW1jIGRldmljZVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yOS0gKi9cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM9MzA9c3RhdGljIGludCBfX211c3RfY2hlY2sgZnNsX21jX3Jlc291cmNlX3Bvb2xfYWRkX2RldmljZShzdHJ1Y3QgZnNsX21jX2J1c1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtOTEtICpcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6OTI6ICogQG1jX2RldjogcG9pbnRlciB0byBhbGxvY2F0YWJsZSBmc2wtbWMgZGV2aWNlXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTkzLSAqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjk0OiAqIEl0IHBlcm1hbmVudGx5IHJlbW92ZXMgYW4gYWxsb2NhdGFibGUgZnNsLW1jIGRldmljZSBmcm9tIHRoZSByZXNvdXJjZVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy05NS0gKiBwb29sLiBJdCYjMzk7cyBhbiBlcnJvciBpZiB0aGUgZGV2aWNlIGlzIGluIHVzZS5cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTI1ND1FWFBPUlRfU1lNQk9MX0dQTChmc2xfbWNfcmVzb3VyY2VfZnJlZSk7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yNTYtLyoqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI1NzogKiBmc2xfbWNfb2JqZWN0X2FsbG9jYXRlIC0gQWxsb2NhdGVzIGFuIGZzbC1tYyBvYmplY3Qgb2YgdGhlIGdpdmVuXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI1ODogKiBwb29sIHR5cGUgZnJvbSBhIGdpdmVuIGZzbC1tYyBidXMgaW5zdGFuY2VcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMjU5LSAqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI2MDogKiBAbWNfZGV2OiBmc2wtbWMgZGV2aWNlIHdoaWNoIGlzIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGVcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMjYxLSAqIGFsbG9jYXRlZCBvYmplY3Rcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTMyMj1FWFBPUlRfU1lNQk9MX0dQTChmc2xfbWNfb2JqZWN0X2FsbG9jYXRlKTtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTMyNC0vKipcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6MzI1OiAqIGZzbF9tY19vYmplY3RfZnJlZSAtIFJldHVybnMgYW4gZnNsLW1jIG9iamVjdCB0byB0aGUgcmVzb3VyY2VcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMzI2LSAqIHBvb2wgd2hlcmUgaXQgY2FtZSBmcm9tLlxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzozMjc6ICogQG1jX2FkZXY6IFBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2VcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMzI4LSAqL1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM9MzQzPUVYUE9SVF9TWU1CT0xfR1BMKGZzbF9tY19vYmplY3RfZnJlZSk7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0zNTEtLypcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6MzUyOiAqIEluaXRpYWxpemUgdGhlIGludGVycnVwdCBwb29sIGFzc29jaWF0ZWQgd2l0aCBhbiBmc2wtbWMgYnVzLlxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0zNTMtICogSXQgYWxsb2NhdGVzIGEgYmxvY2sgb2YgSVJRcyBmcm9tIHRoZSBHSUMtSVRTLlxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM9NDExPUVYUE9SVF9TWU1CT0xfR1BMKGZzbF9tY19wb3B1bGF0ZV9pcnFfcG9vbCk7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy00MTMtLypcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NDE0OiAqIFRlYXJkb3duIHRoZSBpbnRlcnJ1cHQgcG9vbCBhc3NvY2lhdGVkIHdpdGggYW4gZnNsLW1jIGJ1cy5cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtNDE1LSAqIEl0IGZyZWVzIHRoZSBJUlFzIHRoYXQgd2VyZSBhbGxvY2F0ZWQgdG8gdGhlIHBvb2wsIGJhY2sgdG8gdGhlIEdJQy1JVFMuXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz00Mzg9RVhQT1JUX1NZTUJPTF9HUEwoZnNsX21jX2NsZWFudXBfaXJxX3Bvb2wpO1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtNDQwLS8qXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjQ0MTogKiBBbGxvY2F0ZSB0aGUgSVJRcyByZXF1aXJlZCBieSBhIGdpdmVuIGZzbC1tYyBkZXZpY2UuXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTQ0Mi0gKi9cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTUwNj1FWFBPUlRfU1lNQk9MX0dQTChmc2xfbWNfYWxsb2NhdGVfaXJxcyk7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy01MDgtLypcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NTA5OiAqIEZyZWVzIHRoZSBJUlFzIHRoYXQgd2VyZSBhbGxvY2F0ZWQgZm9yIGFuIGZzbC1tYyBkZXZpY2UuXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTUxMC0gKi9cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTU2Mj1zdGF0aWMgaW50IGZzbF9tY19hbGxvY2F0b3JfcHJvYmUoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2Rldilcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTU4NS1cdGRldl9kYmcoXHUwMDI2bWNfZGV2LVx1MDAzZWRldixcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NTg2Olx0XHRcJiMzNDtBbGxvY2F0YWJsZSBmc2wtbWMgZGV2aWNlIGJvdW5kIHRvIGZzbF9tY19hbGxvY2F0b3IgZHJpdmVyXCYjMzQ7KTtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtNTg3LVx0cmV0dXJuIDA7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz01OTQ9c3RhdGljIHZvaWQgZnNsX21jX2FsbG9jYXRvcl9yZW1vdmUoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2Rldilcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTYwNC1cdGRldl9kYmcoXHUwMDI2bWNfZGV2LVx1MDAzZWRldixcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NjA1Olx0XHRcJiMzNDtBbGxvY2F0YWJsZSBmc2wtbWMgZGV2aWNlIHVuYm91bmQgZnJvbSBmc2xfbWNfYWxsb2NhdG9yIGRyaXZlclwmIzM0Oyk7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTYwNi19XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMC1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MTE6I2RlZmluZSBwcl9mbXQoZm10KSBcJiMzNDtmc2wtbWM6IFwmIzM0OyBmbXRcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMTItXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0yNS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MjY6I2luY2x1ZGUgXCYjMzQ7ZnNsLW1jLXByaXZhdGUuaFwmIzM0O1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0yNy1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMjgtLypcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6Mjk6ICogRGVmYXVsdCBETUEgbWFzayBmb3IgZGV2aWNlcyBvbiBhIGZzbC1tYyBidXNcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMzAtICovXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0zMz1zdGF0aWMgc3RydWN0IGZzbF9tY192ZXJzaW9uIG1jX3ZlcnNpb247XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0zNi0gKiBzdHJ1Y3QgZnNsX21jIC0gUHJpdmF0ZSBkYXRhIG9mIGEgXCYjMzQ7ZnNsLHFvcmlxLW1jXCYjMzQ7IHBsYXRmb3JtIGRldmljZVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzozNzogKiBAcm9vdF9tY19idXNfZGV2OiBmc2wtbWMgZGV2aWNlIHJlcHJlc2VudGluZyB0aGUgcm9vdCBEUFJDXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTM4LSAqIEBudW1fdHJhbnNsYXRpb25fcmFuZ2VzOiBudW1iZXIgb2YgZW50cmllcyBpbiBhZGRyX3RyYW5zbGF0aW9uX3Jhbmdlc1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9ODA9c3RhdGljIHBoeXNfYWRkcl90IG1jX3BvcnRhbF9iYXNlX3BoeXNfYWRkcjtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTgzLSAqIGZzbF9tY19idXNfbWF0Y2ggLSBkZXZpY2UgdG8gZHJpdmVyIG1hdGNoaW5nIGNhbGxiYWNrXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjg0OiAqIEBkZXY6IHRoZSBmc2wtbWMgZGV2aWNlIHRvIG1hdGNoIGFnYWluc3RcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6ODU6ICogQGRydjogdGhlIGRldmljZSBkcml2ZXIgdG8gc2VhcmNoIGZvciBtYXRjaGluZyBmc2wtbWMgb2JqZWN0IHR5cGVcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtODYtICogc3RydWN0dXJlc1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MTM5PXN0YXRpYyBpbnQgZnNsX21jX2J1c191ZXZlbnQoY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qga29ial91ZXZlbnRfZW52ICplbnYpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xNDItXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjE0MzpcdGlmIChhZGRfdWV2ZW50X3ZhcihlbnYsIFwmIzM0O01PREFMSUFTPWZzbC1tYzp2JTA4WGQlc1wmIzM0OyxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMTQ0LVx0XHRcdCAgIG1jX2Rldi1cdTAwM2VvYmpfZGVzYy52ZW5kb3IsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0yMTQ9c3RhdGljIHNzaXplX3QgbW9kYWxpYXNfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLFxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMjE4LVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzoyMTk6XHRyZXR1cm4gc3lzZnNfZW1pdChidWYsIFwmIzM0O2ZzbC1tYzp2JTA4WGQlc1xcblwmIzM0OywgbWNfZGV2LVx1MDAzZW9ial9kZXNjLnZlbmRvcixcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMjIwLVx0XHRcdG1jX2Rldi1cdTAwM2VvYmpfZGVzYy50eXBlKTtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jPTMyNj1jb25zdCBzdHJ1Y3QgYnVzX3R5cGUgZnNsX21jX2J1c190eXBlID0ge1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzozMjc6XHQubmFtZSA9IFwmIzM0O2ZzbC1tY1wmIzM0OyxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMzI4LVx0LmRyaXZlcl9vdmVycmlkZSA9IHRydWUsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz00OTk9c3RhdGljIGludCBtY19nZXRfdmVyc2lvbihzdHJ1Y3QgZnNsX21jX2lvICptY19pbyxcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTUyOC0gKlxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzo1Mjk6ICogUmV0dXJuOlx0bWMgdmVyc2lvbiB3aGVuIGNhbGxlZCBhZnRlciBmc2wtbWMtYnVzIHByb2JlOyBOVUxMIG90aGVyd2lzZS5cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtNTMwLSAqL1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9NjMyPXN0YXRpYyBpbnQgZnNsX21jX2RldmljZV9nZXRfbW1pb19yZWdpb25zKHN0cnVjdCBmc2xfbWNfZGV2aWNlICptY19kZXYsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy03MTAtXHRcdHJlZ2lvbnNbaV0uZW5kID0gcmVnaW9uc1tpXS5zdGFydCAmIzQzOyByZWdpb25fZGVzYy5zaXplIC0gMTtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6NzExOlx0XHRyZWdpb25zW2ldLm5hbWUgPSBcJiMzNDtmc2wtbWMgb2JqZWN0IE1NSU8gcmVnaW9uXCYjMzQ7O1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy03MTItXHRcdHJlZ2lvbnNbaV0uZmxhZ3MgPSByZWdpb25fZGVzYy5mbGFncyBcdTAwMjYgSU9SRVNPVVJDRV9CSVRTO1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9NzM3PXN0YXRpYyB2b2lkIGZzbF9tY19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy03NDktLypcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6NzUwOiAqIEFkZCBhIG5ld2x5IGRpc2NvdmVyZWQgZnNsLW1jIGRldmljZSB0byBiZSB2aXNpYmxlIGluIExpbnV4XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTc1MS0gKi9cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jPTg4Mj1zdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIGZzbF9tY19uYjtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTg4NC0vKipcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6ODg1OiAqIGZzbF9tY19kZXZpY2VfcmVtb3ZlIC0gUmVtb3ZlIGFuIGZzbC1tYyBkZXZpY2UgZnJvbSBiZWluZyB2aXNpYmxlIHRvXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTg4Ni0gKiBMaW51eFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy04ODctICpcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6ODg4OiAqIEBtY19kZXY6IFBvaW50ZXIgdG8gYW4gZnNsLW1jIGRldmljZVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy04ODktICovXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz05MDA9c3RydWN0IGZzbF9tY19kZXZpY2UgKmZzbF9tY19nZXRfZW5kcG9pbnQoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2Rldixcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTkzNi1cdCAqIGludGVycm9nYXRpbmcgdGhlIGZpcm13YXJlLiBUaGlzIGlzIHRoZSBjYXNlIHdoZW4gdGhlIGRldmljZSB3YXMgbm90XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjkzNzpcdCAqIHlldCBkaXNjb3ZlcmVkIGJ5IHRoZSBmc2wtbWMgYnVzLCB0aHVzIHRoZSBsb29rdXAgcmV0dXJuZWQgTlVMTC5cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtOTM4LVx0ICogRm9yY2UgYSByZXNjYW4gb2YgdGhlIGRldmljZXMgaW4gdGhpcyBjb250YWluZXIgYW5kIHJldHJ5IHRoZSBsb29rdXAuXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0xMDA1PXN0YXRpYyBpbnQgZnNsX21jX2Zpcm13YXJlX2NoZWNrKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMDEzLVx0XHRkZXZfZXJyKFx1MDAyNnBkZXYtXHUwMDNlZGV2LFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzoxMDE0Olx0XHRcdFwmIzM0O2ZzbC1tYzogRFBMIHByb2Nlc3Npbmcgd2FzIG5vdCBzdGFydGVkLCBEUEFBMiB3aWxsIG5vdCB3b3JrIVxcblwmIzM0Oyk7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTEwMTUtXHRcdHJldHVybiAtRU9QTk9UU1VQUDtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTEwMjAtXHRcdGRldl9kYmcoXHUwMDI2cGRldi1cdTAwM2VkZXYsXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjEwMjE6XHRcdFx0XCYjMzQ7ZnNsLW1jOiBEUEwgcHJvY2Vzc2luZyBpbiBwcm9ncmVzcywgZGVmZXIgcHJvYmVcXG5cJiMzNDspO1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMDIyLVx0XHRyZXR1cm4gLUVQUk9CRV9ERUZFUjtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTEwMjctXHRcdGRldl9lcnIoXHUwMDI2cGRldi1cdTAwM2VkZXYsXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjEwMjg6XHRcdFx0XCYjMzQ7ZnNsLW1jOiBNQyBib290IGNvbXBsZXRlZCB3aXRoIGVycm9yIDB4JXhcXG5cJiMzNDssIG1jcyk7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTEwMjktXHRcdHJldHVybiAtRUlOVkFMO1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtbXNpLmMtMTUtXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLW1zaS5jOjE2OiNpbmNsdWRlIFwmIzM0O2ZzbC1tYy1wcml2YXRlLmhcJiMzNDtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtbXNpLmMtMTctXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmg9NTgyPXN0cnVjdCBmc2xfbWNfdWFwaSB7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmgtNTkxLSAqIHN0cnVjdCBmc2xfbWNfYnVzIC0gbG9naWNhbCBidXMgdGhhdCBjb3JyZXNwb25kcyB0byBhIHBoeXNpY2FsIERQUkNcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtcHJpdmF0ZS5oOjU5MjogKiBAbWNfZGV2OiBmc2wtbWMgZGV2aWNlIGZvciB0aGUgYnVzIGRldmljZSBpdHNlbGYuXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXByaXZhdGUuaC01OTMtICogQHJlc291cmNlX3Bvb2xzOiBhcnJheSBvZiByZXNvdXJjZSBwb29scyAob25lIHBvb2wgcGVyIHJlc291cmNlIHR5cGUpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy11YXBpLmMtMTMtXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXVhcGkuYzoxNDojaW5jbHVkZSBcJiMzNDtmc2wtbWMtcHJpdmF0ZS5oXCYjMzQ7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXVhcGkuYy0xNS1cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvbWMtaW8uYy05LVxuZHJpdmVycy9idXMvZnNsLW1jL21jLWlvLmM6MTA6I2luY2x1ZGUgXCYjMzQ7ZnNsLW1jLXByaXZhdGUuaFwmIzM0O1xuZHJpdmVycy9idXMvZnNsLW1jL21jLWlvLmMtMTEtXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL21jLXN5cy5jLTE2LVxuZHJpdmVycy9idXMvZnNsLW1jL21jLXN5cy5jOjE3OiNpbmNsdWRlIFwmIzM0O2ZzbC1tYy1wcml2YXRlLmhcJiMzNDtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9tYy1zeXMuYy0xOC1cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvb2JqLWFwaS5jLTgtXG5kcml2ZXJzL2J1cy9mc2wtbWMvb2JqLWFwaS5jOjk6I2luY2x1ZGUgXCYjMzQ7ZnNsLW1jLXByaXZhdGUuaFwmIzM0O1xuZHJpdmVycy9idXMvZnNsLW1jL29iai1hcGkuYy0xMC1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo0MDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA5Nzg2CgkJCQkJCQlvdXRwdXQ6IDQ1CgkJCQkJCQl0aG91Z2h0czogMTg2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkludmVzdGlnYXRpbmcgdGhlIGZzbC1tYyBCdXMgYW5kIFBvdGVudGlhbCBFbXVsYXRpb24qKgoKT2theSwgc28gdGhlIGBmc2wtbWNgIGJ1cyBpcyBRb3JJUSBEUEFBMiBzcGVjaWZpYy4gSG1tLCBJIHdvbmRlciBpZiB0aGVyZSYjMzk7cyBhbnkgd2F5IHRvIGVtdWxhdGUgaXQ/IFRoYXQgd291bGQgYmUgdXNlZnVsIGZvciB0ZXN0aW5nIGFuZCBkZWJ1Z2dpbmcuIExldCBtZSBxdWlja2x5IGNoZWNrIGlmIFFFTVUgb3IgcGVyaGFwcyBldmVuIHN5emthbGxlciBoYXMgc29tZSBraW5kIG9mIHBzZXVkby1kZXZpY2UgZm9yIHRoaXMuIFdhaXQsIGhvbGQgb24uLi4gdGhlIGNvbW1pdCBtZXNzYWdlIG1lbnRpb25lZCAmIzM0O3N5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldyYjMzQ7IGFuZCB0aGUgYXV0aG9yIGlzIHN5ei1jbHVzdGVyLiBUaGF0JiMzOTtzIGludGVyZXN0aW5nLi4uIGl0IGxvb2tzIGxpa2Ugc3l6a2FsbGVyIGVpdGhlciBmb3VuZCBhIGJ1ZyByZWxhdGVkIHRvIHRoaXMgYnVzLCBvciB0aGV5JiMzOTtyZSB0ZXN0aW5nIGEgcG90ZW50aWFsIHBhdGNoIGZvciBpdC4KCldhaXQgYSBzZWNvbmQsIGlmIHRoZXkmIzM5O3JlIHRlc3RpbmcgaXQsIHRoYXQgcHJvYmFibHkgbWVhbnMgc3l6a2FsbGVyIGlzIGZ1enppbmcgaXQgaWYgdGhlcmUmIzM5O3MgYSB3YXkgdG8gcmVhY2ggaXQuIE15IG1pbmQgaW1tZWRpYXRlbHkganVtcHMgdG8sIGlzIGl0IHBvc3NpYmxlIHRvIHJlYWNoIHRoYXQgZnVuY3Rpb24sIGBkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWNgPyBMZXQgbWUgZ28gc3RyYWlnaHQgdG8gYGRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguY2AsIGFuZCBjaGVjayBpdCBvdXQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NDA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7ZHBhYTJfZXRoX2Rpc2Nvbm5lY3RfbWFjJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM9NDY1ND1zdGF0aWMgaW50IGRwYWEyX2V0aF9jb25uZWN0X21hYyhzdHJ1Y3QgZHBhYTJfZXRoX3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTQ3MTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM6NDcxOTpzdGF0aWMgdm9pZCBkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWMoc3RydWN0IGRwYWEyX2V0aF9wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTQ3MjAte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYz00NzM5PXN0YXRpYyBpcnFyZXR1cm5fdCBkcG5pX2lycTBfaGFuZGxlcl90aHJlYWQoaW50IGlycV9udW0sIHZvaWQgKmFyZylcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNDc2OC1cdFx0aWYgKGhhZF9tYWMpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM6NDc2OTpcdFx0XHRkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWMocHJpdik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNDc3MC1cdFx0ZWxzZVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYz00ODU3PXN0YXRpYyBpbnQgZHBhYTJfZXRoX3Byb2JlKHN0cnVjdCBmc2xfbWNfZGV2aWNlICpkcG5pX2Rldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNTA0NC1lcnJfcG9sbF90aHJlYWQ6XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM6NTA0NTpcdGRwYWEyX2V0aF9kaXNjb25uZWN0X21hYyhwcml2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYy01MDQ2LWVycl9jb25uZWN0X21hYzpcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM9NTA3OD1zdGF0aWMgdm9pZCBkcGFhMl9ldGhfcmVtb3ZlKHN0cnVjdCBmc2xfbWNfZGV2aWNlICpsc19kZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTUxMDQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM6NTEwNTpcdGRwYWEyX2V0aF9kaXNjb25uZWN0X21hYyhwcml2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYy01MTA2LVx0ZHBhYTJfZXRoX2ZyZWVfcmluZ3MocHJpdik7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NDA8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTA5NjIKCQkJCQkJCW91dHB1dDogMjgKCQkJCQkJCXRob3VnaHRzOiA0NDkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBSZWFjaGFiaWxpdHkgb2YgdGhlIGBkcGFhMl9ldGhgIERyaXZlciBmb3IgRnV6emluZyoqCgpPa2F5LCBzbyB0aGUgYGRwYWEyX2V0aF9kaXNjb25uZWN0X21hY2AgZnVuY3Rpb24gaXMgY2FsbGVkIGluIHNldmVyYWwgcGxhY2VzOiBgZHBhYTJfZXRoX3JlbW92ZWAsIGBkcGFhMl9ldGhfcHJvYmVgIChpZiB0aGVyZSYjMzk7cyBhbiBlcnJvciksIGFuZCB0aGUgYGRwbmlfaXJxMF9oYW5kbGVyX3RocmVhZGAuIFRoaXMgaXMgYSBoYXJkd2FyZSBkcml2ZXIgZm9yIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldC4gVGhlIHJlYWwgcXVlc3Rpb24gaXM6IGNhbiBJIGV2ZW4gKnJlYWNoKiB0aGlzIHRoaW5nIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQ/IEkmIzM5O20gdGhpbmtpbmcsIG1vc3QgaGFyZHdhcmUgZHJpdmVycyB0aGF0IGFyZW4mIzM5O3QgZW11bGF0ZWQgYnkgc29tZXRoaW5nIGxpa2UgUUVNVSBhbmQgZG9uJiMzOTt0IHNpdCBvbiBhIHZpcnR1YWwgYnVzIChsaWtlIFVTQiBvciBQQ0kpIGFyZSB1c3VhbGx5IHVucmVhY2hhYmxlLgoKQnV0IHdhaXQsIGlzbiYjMzk7dCB0aGUgYGZzbC1tY2AgYnVzIGEgKnBsYXRmb3JtKiBidXM/IEhtbSwgY291bGQgSSBwb3RlbnRpYWxseSBpbnN0YW50aWF0ZSBgZnNsLW1jYCBkZXZpY2VzIHNvbWVob3cgdXNpbmcgZGV2aWNlIHRyZWUgb3ZlcmxheXMgb3Igc29tZXRoaW5nIHNpbWlsYXI/IEkgcXVpY2tseSByZW1lbWJlciB0aGF0IFN5emthbGxlciBjdXJyZW50bHkgbGFja3Mgc3VwcG9ydCBmb3IgaW5qZWN0aW5nIHRoZSBgZnNsLW1jYCBidXMgZGlyZWN0bHkuIFNob290LCBJIHRob3VnaHQgSSByZW1lbWJlcmVkIGEgYHN5el9nZW5ldGxpbmtgIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQsIGJ1dCBJIHdhcyB3cm9uZy4gSWYgdGhpcyBpcyB0cnVseSBhIGhhcmR3YXJlIGRyaXZlciwgYW5kIGl0JiMzOTtzIG5vdCBlbXVsYXRlZCwgaXQmIzM5O3MgcHJldHR5IG11Y2ggZGVhZCBpbiB0aGUgd2F0ZXIgZm9yIGZ1enppbmcuCgpMZXQmIzM5O3MgY2hlY2sgU3l6a2FsbGVyIGNvbmZpZ3MuIElzIGBDT05GSUdfRlNMX01DX0JVU2AgZW5hYmxlZCBvciBjYW4gaXQgYmUgZW5hYmxlZD8gSXQgbG9va3MgbGlrZSBpdCBkZXBlbmRzIG9uIGBPRmAgYW5kIGEgZmV3IG90aGVyIGNvbmRpdGlvbnMgaW52b2x2aW5nIHRoZSBhcmNoaXRlY3R1cmUgYW5kIGEgYENPTVBJTEVfVEVTVGAgZmxhZzogYE9GICZhbXA7JmFtcDsgKEFSQ0hfTEFZRVJTQ0FQRSB8fCAoQ09NUElMRV9URVNUICZhbXA7JmFtcDsgKEFSTSB8fCBBUk02NCB8fCBYODZfTE9DQUxfQVBJQyB8fCBQUEMpKSlgLiBTbywgaXQgKmNvdWxkKiBiZSBjb21waWxlZCBvbiB4ODYgd2l0aCB0aGUgYENPTVBJTEVfVEVTVGAgb3B0aW9uLgoKQnV0IHRoZSByZWFsIHF1ZXN0aW9uIGlzIHByb2JpbmcuLi4gY2FuIGl0IGFjdHVhbGx5ICpwcm9iZSo/IFRoZSBgZnNsLW1jYCBidXMgZHJpdmVyIHByb2JlcyBvbiBhIHNwZWNpZmljIHBsYXRmb3JtIGRldmljZTogJiMzNDtmc2wscW9yaXEtbWMmIzM0Oy4gV2l0aG91dCB0aGF0IHBsYXRmb3JtIGRldmljZSwgdGhlIGJ1cyBkcml2ZXIgd29uJiMzOTt0IHByb2JlLCBhbmQgbm8gYGZzbC1tY2AgZGV2aWNlcyBhcmUgY3JlYXRlZC4gVGhhdCBtZWFucyBgZHBhYTJfZXRoX3Byb2JlYCB3aWxsIG5ldmVyIGV2ZW4gYmUgY2FsbGVkLgoKU28sIGlzIHRoZXJlIGEgd2F5IHRvIGNyZWF0ZSBwbGF0Zm9ybSBkZXZpY2VzIGZyb20gdXNlcnNwYWNlPyBNYXliZSB1c2luZyBgc3l6X2RldmxpbmtgIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQ/IE5vcGUuIEFoLCB3YWl0LCB0aGVyZSYjMzk7cyBkZXZpY2UgdHJlZSBvdmVybGF5cyBhZ2Fpbi4gU3l6a2FsbGVyIGRvZXNuJiMzOTt0IHNlZW0gdG8gc3VwcG9ydCBpbmplY3RpbmcgcGxhdGZvcm0gZGV2aWNlcyB2aWEgb3ZlcmxheXMuCgpXYWl0LCBtYXliZSB0aGVyZSYjMzk7cyBhIHZpcnR1YWwgZHJpdmVyIGZvciB0aGlzIHRoaW5nIHNvbWV3aGVyZT8gTGV0JiMzOTtzIGdvIGxvb2sgZm9yIGFueSB2aXJ0dWFsIGBmc2wtbWNgIGRldmljZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NDA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7ZnNsLHFvcmlxLW1jJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7JiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbWlzYy9mc2wscW9yaXEtbWMueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWw9NTE9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC01My0gICAgZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sOjU0OiAgICAgIC0gZnNsLHFvcmlxLW1jXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC01NS0gICAgZGVzY3JpcHRpb246XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbDo1NjogICAgICBNdXN0IGJlIFwmIzM0O2ZzbCxxb3JpcS1tY1wmIzM0Oy4gIEEgRnJlZXNjYWxlIE1hbmFnZW1lbnQgQ29tcGxleFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwtNTctICAgICAgY29tcGF0aWJsZSB3aXRoIHRoaXMgYmluZGluZyBtdXN0IGhhdmUgQmxvY2sgUmV2aXNpb25cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC0xNDMtICAgICAgJiMzOTteZXRoZXJuZXRAW2EtZjAtOV0mIzQzOyQmIzM5OzpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sOjE0NDogICAgICAgICRyZWY6IC9zY2hlbWFzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwtMTQ1LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sPTE1Nz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC0xNTktICAgIGZzbC1tY0A4MGMwMDAwMDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWw6MTYwOiAgICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tY1wmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTE2MS0gICAgICAgIHJlZyA9IFx1MDAzYzB4MGMwMDAwMDAgMHg0MFx1MDAzZSwgICAgLyogTUMgcG9ydGFsIGJhc2UgKi9cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC0xODEtICAgICAgICAgICAgZXRoZXJuZXRAMSB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbDoxODI6ICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC0xODMtICAgICAgICAgICAgICAgIHJlZyA9IFx1MDAzYzFcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWw9MTk9cHJvcGVydGllczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWwtMjAtICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbDoyMTogICAgY29uc3Q6IGZzbCxxb3JpcS1tYy1kcG1hY1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbC0yMi1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sPTQyPWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWwtNDgtICAgICAgZXRoZXJuZXRANCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sOjQ5OiAgICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWwtNTAtICAgICAgICByZWcgPSBcdTAwM2MweDRcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9vdmVydmlldy5yc3Q9MzI3PVRoZSBNQy1idXMgZHJpdmVyIGlzIGEgcGxhdGZvcm0gZHJpdmVyIGFuZCBpcyBwcm9iZWQgZnJvbSBhXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL292ZXJ2aWV3LnJzdDozMjg6bm9kZSBpbiB0aGUgZGV2aWNlIHRyZWUgKGNvbXBhdGlibGUgXCYjMzQ7ZnNsLHFvcmlxLW1jXCYjMzQ7KSBwYXNzZWQgaW4gYnkgYm9vdFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9vdmVydmlldy5yc3QtMzI5LWZpcm13YXJlLiAgSXQgaXMgcmVzcG9uc2libGUgZm9yIGJvb3RzdHJhcHBpbmcgdGhlIERQQUEyIGtlcm5lbFxuLS1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvb3ZlcnZpZXcucnN0PTM0MT1UaGUgYmluZGluZyBmb3IgdGhlIE1DLWJ1cyBkZXZpY2UtdHJlZSBub2RlIGNhbiBiZSBjb25zdWx0ZWQgYXRcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvb3ZlcnZpZXcucnN0OjM0MjoqRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwqLlxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9vdmVydmlldy5yc3QtMzQzLVRoZSBzeXNmcyBiaW5kL3VuYmluZCBpbnRlcmZhY2VzIGZvciB0aGUgTUMtYnVzIGNhbiBiZSBjb25zdWx0ZWQgYXRcbi0tXG5NQUlOVEFJTkVSUz0yMjAzMD1GOlx0RG9jdW1lbnRhdGlvbi9BQkkvc3RhYmxlL3N5c2ZzLWJ1cy1mc2wtbWNcbk1BSU5UQUlORVJTOjIyMDMxOkY6XHREb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbFxuTUFJTlRBSU5FUlMtMjIwMzItRjpcdERvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvb3ZlcnZpZXcucnN0XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT05Njg9XHRcdGZzbF9tYzogZnNsLW1jQDgwYzAwMDAwMCB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjk2OTpcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS05NzAtXHRcdFx0cmVnID0gXHUwMDNjMHgwMDAwMDAwOCAweDBjMDAwMDAwIDAgMHg0MFx1MDAzZSxcdCAvKiBNQyBwb3J0YWwgYmFzZSAqL1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2k9OTg5PVx0XHRcdFx0ZHBtYWMxOiBldGhlcm5ldEAxIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2k6OTkwOlx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS05OTEtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzFcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT05OTQ9XHRcdFx0XHRkcG1hYzI6IGV0aGVybmV0QDIge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaTo5OTU6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpLTk5Ni1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMlx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTk5OT1cdFx0XHRcdGRwbWFjMzogZXRoZXJuZXRAMyB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMDA6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpLTEwMDEtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzNcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT0xMDA0PVx0XHRcdFx0ZHBtYWM0OiBldGhlcm5ldEA0IHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2k6MTAwNTpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAwNi1cdFx0XHRcdFx0cmVnID0gXHUwMDNjNFx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMDk9XHRcdFx0XHRkcG1hYzU6IGV0aGVybmV0QDUge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaToxMDEwOlx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS0xMDExLVx0XHRcdFx0XHRyZWcgPSBcdTAwM2M1XHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2k9MTAxND1cdFx0XHRcdGRwbWFjNjogZXRoZXJuZXRANiB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMTU6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpLTEwMTYtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzZcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT0xMDE5PVx0XHRcdFx0ZHBtYWM3OiBldGhlcm5ldEA3IHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2k6MTAyMDpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAyMS1cdFx0XHRcdFx0cmVnID0gXHUwMDNjN1x1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMjQ9XHRcdFx0XHRkcG1hYzg6IGV0aGVybmV0QDgge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaToxMDI1Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS0xMDI2LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2M4XHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2k9MTAyOT1cdFx0XHRcdGRwbWFjOTogZXRoZXJuZXRAOSB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMzA6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpLTEwMzEtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzlcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT0xMDM0PVx0XHRcdFx0ZHBtYWMxMDogZXRoZXJuZXRAYSB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMzU6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpLTEwMzYtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4YVx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTc1Nz1cdFx0ZnNsX21jOiBmc2wtbWNAODBjMDAwMDAwIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6NzU4Olx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTc1OS1cdFx0XHRyZWcgPSBcdTAwM2MweDAwMDAwMDA4IDB4MGMwMDAwMDAgMCAweDQwXHUwMDNlLFx0IC8qIE1DIHBvcnRhbCBiYXNlICovXG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT03ODE9XHRcdFx0XHRkcG1hYzE6IGV0aGVybmV0QDEge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo3ODI6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTc4My1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHgxXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9Nzg3PVx0XHRcdFx0ZHBtYWMyOiBldGhlcm5ldEAyIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6Nzg4Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS03ODktXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4Mlx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTc5Mz1cdFx0XHRcdGRwbWFjMzogZXRoZXJuZXRAMyB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjc5NDpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktNzk1LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDNcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT03OTk9XHRcdFx0XHRkcG1hYzQ6IGV0aGVybmV0QDQge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4MDA6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTgwMS1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHg0XHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9ODA1PVx0XHRcdFx0ZHBtYWM1OiBldGhlcm5ldEA1IHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6ODA2Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04MDctXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4NVx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTgxMT1cdFx0XHRcdGRwbWFjNjogZXRoZXJuZXRANiB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjgxMjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODEzLVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDZcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT04MTc9XHRcdFx0XHRkcG1hYzc6IGV0aGVybmV0QDcge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4MTg6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTgxOS1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHg3XHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9ODIzPVx0XHRcdFx0ZHBtYWM4OiBldGhlcm5ldEA4IHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6ODI0Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04MjUtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4OFx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTgyOT1cdFx0XHRcdGRwbWFjOTogZXRoZXJuZXRAOSB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjgzMDpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODMxLVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDlcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT04MzU9XHRcdFx0XHRkcG1hYzEwOiBldGhlcm5ldEBhIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6ODM2Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04MzctXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4YVx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg0MT1cdFx0XHRcdGRwbWFjMTE6IGV0aGVybmV0QGIge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4NDI6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTg0My1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHhiXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9ODQ3PVx0XHRcdFx0ZHBtYWMxMjogZXRoZXJuZXRAYyB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg0ODpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODQ5LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweGNcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT04NTM9XHRcdFx0XHRkcG1hYzEzOiBldGhlcm5ldEBkIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6ODU0Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04NTUtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4ZFx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg1OT1cdFx0XHRcdGRwbWFjMTQ6IGV0aGVybmV0QGUge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4NjA6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTg2MS1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHhlXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9ODY1PVx0XHRcdFx0ZHBtYWMxNTogZXRoZXJuZXRAZiB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg2NjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODY3LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweGZcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT04NzE9XHRcdFx0XHRkcG1hYzE2OiBldGhlcm5ldEAxMCB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg3MjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODczLVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDEwXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTg4MD1cdFx0ZnNsX21jOiBmc2wtbWNAODBjMDAwMDAwIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTg4MTpcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xODgyLVx0XHRcdHJlZyA9IFx1MDAzYzB4MDAwMDAwMDggMHgwYzAwMDAwMCAwIDB4NDBcdTAwM2UsXG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTA1PVx0XHRcdFx0ZHBtYWMxOiBldGhlcm5ldEAxIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTkwNjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTkwNy1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHgxXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTkxMT1cdFx0XHRcdGRwbWFjMjogZXRoZXJuZXRAMiB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5MTI6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5MTMtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4Mlx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5MTc9XHRcdFx0XHRkcG1hYzM6IGV0aGVybmV0QDMge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTE4Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTE5LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDNcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTIzPVx0XHRcdFx0ZHBtYWM0OiBldGhlcm5ldEA0IHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTkyNDpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTkyNS1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHg0XHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTkyOT1cdFx0XHRcdGRwbWFjNTogZXRoZXJuZXRANSB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5MzA6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5MzEtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4NVx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5MzU9XHRcdFx0XHRkcG1hYzY6IGV0aGVybmV0QDYge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTM2Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTM3LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDZcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTQxPVx0XHRcdFx0ZHBtYWM3OiBldGhlcm5ldEA3IHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTk0MjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk0My1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHg3XHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk0Nz1cdFx0XHRcdGRwbWFjODogZXRoZXJuZXRAOCB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5NDg6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5NDktXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4OFx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5NTM9XHRcdFx0XHRkcG1hYzk6IGV0aGVybmV0QDkge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTU0Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTU1LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDlcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTU5PVx0XHRcdFx0ZHBtYWMxMDogZXRoZXJuZXRAYSB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5NjA6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5NjEtXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4YVx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5NjU9XHRcdFx0XHRkcG1hYzExOiBldGhlcm5ldEBiIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTk2NjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk2Ny1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHhiXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk3MT1cdFx0XHRcdGRwbWFjMTI6IGV0aGVybmV0QGMge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTcyOlx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTczLVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweGNcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTc3PVx0XHRcdFx0ZHBtYWMxMzogZXRoZXJuZXRAZCB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5Nzg6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5NzktXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4ZFx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5ODM9XHRcdFx0XHRkcG1hYzE0OiBldGhlcm5ldEBlIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTk4NDpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk4NS1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHhlXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk4OT1cdFx0XHRcdGRwbWFjMTU6IGV0aGVybmV0QGYge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTkwOlx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTkxLVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweGZcdTAwM2U7XG4tLVxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTk1PVx0XHRcdFx0ZHBtYWMxNjogZXRoZXJuZXRAMTAge1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTk2Olx0XHRcdFx0XHRjb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jLWRwbWFjXCYjMzQ7O1xuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTk3LVx0XHRcdFx0XHRyZWcgPSBcdTAwM2MweDEwXHUwMDNlO1xuLS1cbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MjAwMT1cdFx0XHRcdGRwbWFjMTc6IGV0aGVybmV0QDExIHtcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MjAwMjpcdFx0XHRcdFx0Y29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tYy1kcG1hY1wmIzM0OztcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMjAwMy1cdFx0XHRcdFx0cmVnID0gXHUwMDNjMHgxMVx1MDAzZTtcbi0tXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTIwMDc9XHRcdFx0XHRkcG1hYzE4OiBldGhlcm5ldEAxMiB7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjIwMDg6XHRcdFx0XHRcdGNvbXBhdGlibGUgPSBcJiMzNDtmc2wscW9yaXEtbWMtZHBtYWNcJiMzNDs7XG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTIwMDktXHRcdFx0XHRcdHJlZyA9IFx1MDAzYzB4MTJcdTAwM2U7XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0zMz1zdGF0aWMgc3RydWN0IGZzbF9tY192ZXJzaW9uIG1jX3ZlcnNpb247XG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0zNS0vKipcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MzY6ICogc3RydWN0IGZzbF9tYyAtIFByaXZhdGUgZGF0YSBvZiBhIFwmIzM0O2ZzbCxxb3JpcS1tY1wmIzM0OyBwbGF0Zm9ybSBkZXZpY2VcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMzctICogQHJvb3RfbWNfYnVzX2RldjogZnNsLW1jIGRldmljZSByZXByZXNlbnRpbmcgdGhlIHJvb3QgRFBSQ1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9OTYxPXN0YXRpYyBpbnQgZ2V0X21jX2FkZHJfdHJhbnNsYXRpb25fcmFuZ2VzKHN0cnVjdCBkZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTk3NC1cdFx0ICogTWlzc2luZyBvciBlbXB0eSByYW5nZXMgcHJvcGVydHkgKFwmIzM0O3JhbmdlcztcJiMzNDspIGZvciB0aGVcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6OTc1Olx0XHQgKiAmIzM5O2ZzbCxxb3JpcS1tYyYjMzk7IG5vZGUuIEluIHRoaXMgY2FzZSwgaWRlbnRpdHkgbWFwcGluZ1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy05NzYtXHRcdCAqIHdpbGwgYmUgdXNlZC5cbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jPTExOTc9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZnNsX21jX2J1c19tYXRjaF90YWJsZVtdID0ge1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzoxMTk4Olx0ey5jb21wYXRpYmxlID0gXCYjMzQ7ZnNsLHFvcmlxLW1jXCYjMzQ7LH0sXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTExOTktXHR7fSxcbi0tXG5kcml2ZXJzL2NyeXB0by9jYWFtL2N0cmwuYz04NTk9c3RhdGljIGludCBjYWFtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXG4tLVxuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmMtMTAxMi1cdGN0cmxwcml2LVx1MDAzZXNlY3Zpb19pcnEgPSBpcnFfb2ZfcGFyc2VfYW5kX21hcChucHJvcCwgMCk7XG5kcml2ZXJzL2NyeXB0by9jYWFtL2N0cmwuYzoxMDEzOlx0bnAgPSBvZl9maW5kX2NvbXBhdGlibGVfbm9kZShOVUxMLCBOVUxMLCBcJiMzNDtmc2wscW9yaXEtbWNcJiMzNDspO1xuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmMtMTAxNC1cdGN0cmxwcml2LVx1MDAzZW1jX2VuID0gISFucDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo0MDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDQ5OAoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDExMDAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqV29ydGhGdXp6aW5nIERlY2lzaW9uOiBQbGF0Zm9ybSBEZXZpY2UgJiMzNDtmc2wscW9yaXEtbWMmIzM0OyoqCgpPa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duLiBUaGUgY29kZSB0YXJnZXRzIHRoZSAmIzM0O2ZzbCxxb3JpcS1tYyYjMzQ7IHBsYXRmb3JtIGRldmljZSwgd2hpY2ggaXMgc3BlY2lmaWMgdG8gRnJlZXNjYWxlIFNvQ3MuIEkga25vdyB0aGlzIGlzIHR5cGljYWxseSBmb3VuZCBpbiBkZXZpY2UgdHJlZXMgZm9yIHBsYXRmb3JtcyBsaWtlIGZzbC1sczEwODhhLCBmc2wtbHMyMDh4YSwgb3IgZnNsLWx4MjE2MGEuIFRoZSBpbW1lZGlhdGUgY29uY2VybiBpcyB2aXJ0dWFsaXphdGlvbi4gSSBuZWVkIHRvIGRldGVybWluZSBpZiB0aGlzIGlzIHJlYWNoYWJsZSBpbiBzdGFuZGFyZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgYmVjYXVzZSB0aGUgcHJvbXB0IGV4cGxpY2l0bHkgc3RhdGVzIHRoYXQgSSBzaG91bGQgcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlmIGl0JiMzOTtzIG5vdC4KCk15IGluaXRpYWwgdGhvdWdodCBpcywgUUVNVSBkb2VzbiYjMzk7dCBlbXVsYXRlIHRoaXMgZGlyZWN0bHk7IGl0JiMzOTtzIG5vdCBhIHN0YW5kYXJkIGZlYXR1cmUuIEkgc3RhcnQgY29uc2lkZXJpbmcgaWYgc3l6a2FsbGVyIGlzIHNvbWVob3cgZnV6emluZyB0aGlzLiBJdCBoYXMgYHN5el9nZW5ldGxpbmtgIGFuZCBgc3l6X3VzYl9jb25uZWN0YCwgYnV0IHBsYXRmb3JtIGRldmljZXMgYXJlIGEgZGlmZmVyZW50IGJlYXN0LiBTeXprYWxsZXIgdXN1YWxseSBuZWVkcyBzcGVjaWZpYyBwc2V1ZG8tZGV2aWNlcyBvciBkZXZpY2UgdHJlZSBvdmVybGF5cyB0byBpbmplY3QgdGhlbS4gVGhlbiBJIHJlbWVtYmVyIGBzeXpfZGV2bGlua2AsIGJ1dCB0aGF0JiMzOTtzIGZvciB0aGUgZGV2bGluayBzdWJzeXN0ZW0sIG5vdCBwbGF0Zm9ybSBkZXZpY2VzLgoKQWhhISBTeXprYWxsZXIgKmNhbiogcnVuIG9uIHJlYWwgaGFyZHdhcmUsIGxpa2UgTlhQIGJvYXJkcywgb3IgZXZlbiBzcGVjaWZpYyBBUk02NCBRRU1VIGNvbmZpZ3VyYXRpb25zLiBTbywgdGhlIHBvc3NpYmlsaXR5IGV4aXN0cyB0aGF0IHN5emthbGxlciBpcyBoaXR0aW5nIHRoaXMgb24gcGh5c2ljYWwgaGFyZHdhcmUuIEkgbmVlZCB0byBrZWVwIHRoYXQgaW4gbWluZC4gVGhlIHByb21wdCYjMzk7cyBsYW5ndWFnZSBpcyBwcmVjaXNlOiBpZiBjb2RlIHBhdGhzIGFyZSAmIzM0O2ltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsJiMzNDsgZXZlbiB3aXRoIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlLCB0aGVuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLgoKSSBhdHRlbXB0IHRvIGNvbmZpcm0gaWYgUUVNVSBlbXVsYXRlcyAmIzM0O2ZzbCxxb3JpcS1tYyYjMzQ7LiBJIGNhbiYjMzk7dCBjaGVjayBRRU1VJiMzOTtzIHNvdXJjZSBkaXJlY3RseSwgYnV0IEkgbG9vayBmb3IgYW55IGtlcm5lbCBldmlkZW5jZSBzdWdnZXN0aW5nIGl0JiMzOTtzIHZpcnR1YWwuIFRoaXMgaXMgYSAqaGFyZHdhcmUqIGRldmljZSDigJMgdGhlIEZyZWVzY2FsZSBNYW5hZ2VtZW50IENvbXBsZXguIEl0JiMzOTtzIGEgJiMzNDtwbGF0Zm9ybSBidXMmIzM0OyBkZXZpY2UsIGluc3RhbnRpYXRlZCBlaXRoZXIgZnJvbSB0aGUgZGV2aWNlIHRyZWUgKERUKSBvciBBQ1BJLiBUaGVyZSYjMzk7cyBubyBrZXJuZWwgY29kZSBtYW51YWxseSBpbnN0YW50aWF0aW5nICYjMzQ7ZnNsLHFvcmlxLW1jJiMzNDsgZXhjZXB0IHBlcmhhcHMgaW4gYm9hcmQtc3BlY2lmaWMgZmlsZXMsIHdoaWNoIGFyZSBsZXNzIHJlbGV2YW50IHdpdGggQVJNNjQmIzM5O3MgRFQgZm9jdXMuCgpEb2VzIHRoZSBgdmlydGAgUUVNVSBtYWNoaW5lLCBvciBzaW1pbGFyLCBpbnN0YW50aWF0ZSB0aGlzPyBObywgYHZpcnRgIHVzZXMgdmlydGlvLiBRRU1VIGRvZXMgaGF2ZSBtYWNoaW5lIHR5cGVzLCBzdWNoIGFzIGB4bG54LXpjdTEwMmAsIGByYXNwaTNgLCBldGMsIGJ1dCBJIGRvbiYjMzk7dCBiZWxpZXZlIHRoZXJlJiMzOTtzIGZ1bGwgRFBBQTIgZW11bGF0aW9uLCBiZWNhdXNlIERQQUEyIGlzIGEgdmVyeSBjb21wbGV4IGhhcmR3YXJlIGFyY2hpdGVjdHVyZSB3aXRoIGl0cyBvd24gZmlybXdhcmUgKE1DIGZpcm13YXJlKS4gVGhlIGtlcm5lbCBkcml2ZXIgbG9hZHMgZmlybXdhcmU7IGBmc2xfbWNfZmlybXdhcmVfY2hlY2tgIHZlcmlmaWVzIGl0JiMzOTtzIHJ1bm5pbmcuIElmIHRoZSBmaXJtd2FyZSBpc24mIzM5O3QgcnVubmluZywgaXQgcmV0dXJucyBgLUVPUE5PVFNVUFBgLiBUaGF0JiMzOTtzIGEgaHVnZSBodXJkbGUuIEV2ZW4gaWYgUUVNVSBlbXVsYXRlZCB0aGUgcmVnaXN0ZXJzLCBpdCYjMzk7ZCBuZWVkIHRoZSBNQyBmaXJtd2FyZS4KClRoZXJlZm9yZSwgdW5sZXNzIHRoZXJlJiMzOTtzIHNwZWNpZmljIGhhcmR3YXJlIG9yIHZlcnkgc3BlY2lhbGl6ZWQgZW11bGF0aW9uLCByZWFjaGluZyB0aGlzIGluIGEgdmlydHVhbCBlbnZpcm9ubWVudCBzZWVtcyB1bmxpa2VseS4gV2FpdCwgSSBzZWUgdGhlIGNvbW1pdCBtZXNzYWdlIHNheXMgJiMzNDtzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcmIzM0Oy4gVGhpcyBpbXBsaWVzIHN5emthbGxlciAqZGlkKiBmaW5kIGEgYnVnLCB3aGljaCByZXF1aXJlcyBmdXJ0aGVyIGludmVzdGlnYXRpb24uCgpIb3cgZGlkIHN5emthbGxlciByZWFjaCBpdD8gUGVyaGFwcyBhIHBoeXNpY2FsIE5YUCBib2FyZD8gWWVzLCBzeXprYWxsZXIgKmNhbiogdXNlIHBoeXNpY2FsIEFSTTY0IGJvYXJkcy4gQnV0IEkgaGF2ZSB0byBhZGhlcmUgdG8gdGhlIHByb21wdCYjMzk7cyBydWxlOiAmIzM0O1JldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnMuLi5Db2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUmIzM0Oy4gVGhhdCYjMzk7cyBhIHN0cmljdCBydWxlLgoKU28sIEkgd2lsbCByZXR1cm4gYGZhbHNlYC4gSnVzdCB0byBiZSBzdXJlLCBJIHdpbGwgZG91YmxlLWNoZWNrIGZvciBhbnkgc29mdHdhcmUgZW11bGF0aW9uIGZvciBmc2wtbWMgaW4gdGhlIGtlcm5lbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NDE8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIuKmZzbCxxb3JpcS1tYyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0OyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjQxPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIyNDUxCgkJCQkJCQlvdXRwdXQ6IDMwCgkJCQkJCQl0aG91Z2h0czogMzMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6CgoqKkludmVzdGlnYXRpbmcgUG90ZW50aWFsIGBmc2wscW9yaXEtbWNgIERyaXZlci9BcmNoaXRlY3R1cmUgU2NvcGUqKgoKQWxyaWdodCwgSSYjMzk7bSBnb2luZyB0byB0YWtlIGEgcXVpY2sgc3dlZXAgdGhyb3VnaCB0aGUga2VybmVsIHNvdXJjZSB0cmVlLiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgdG8gcGlucG9pbnQgYW55IGluc3RhbmNlcyBvZiB0aGUgYGZzbCxxb3JpcS1tY2AgYmluZGluZywgKmJleW9uZCogdGhlIERldmljZSBUcmVlIFNvdXJjZSAoRFRTKSBmaWxlcyB0aGVtc2VsdmVzLiBUaGUgRFRTIGlzIHRoZSBvYnZpb3VzIHBsYWNlIGZvciBoYXJkd2FyZSBkZXNjcmlwdGlvbiwgYnV0IEkgbmVlZCB0byBhc2NlcnRhaW4gaWYgdGhpcyBzcGVjaWZpYyBiaW5kaW5nIGhhcyBmb3VuZCBpdHMgd2F5IGludG8gYW55IGFjdHVhbCBkcml2ZXIgY29kZSAoYGRyaXZlcnMvYCkgb3IgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIChgYXJjaC9gKSBpbXBsZW1lbnRhdGlvbi4gSSBuZWVkIHRvIGtub3cgdGhlIHNjb3BlIG9mIGl0cyB1c2FnZSwgYW5kIHRoYXQgcmVxdWlyZXMgbW92aW5nIGJleW9uZCB0aGUgRFRTIGRlZmluaXRpb25zLiBJIG5lZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGlzIGFuIGV4cGxpY2l0IGRyaXZlciBmaWxlIHRoYXQgaXMgdXNpbmcgdGhpcyBiaW5kaW5nLiBMZXQmIzM5O3Mgc2VlIHdoYXQgdHVybnMgdXAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjQxPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2ZzbCxxb3JpcS1tYyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MzM9c3RhdGljIHN0cnVjdCBmc2xfbWNfdmVyc2lvbiBtY192ZXJzaW9uO1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMzUtLyoqXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjM2OiAqIHN0cnVjdCBmc2xfbWMgLSBQcml2YXRlIGRhdGEgb2YgYSBcJiMzNDtmc2wscW9yaXEtbWNcJiMzNDsgcGxhdGZvcm0gZGV2aWNlXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTM3LSAqIEByb290X21jX2J1c19kZXY6IGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSByb290IERQUkNcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jPTk2MT1zdGF0aWMgaW50IGdldF9tY19hZGRyX3RyYW5zbGF0aW9uX3JhbmdlcyhzdHJ1Y3QgZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy05NzQtXHRcdCAqIE1pc3Npbmcgb3IgZW1wdHkgcmFuZ2VzIHByb3BlcnR5IChcJiMzNDtyYW5nZXM7XCYjMzQ7KSBmb3IgdGhlXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjk3NTpcdFx0ICogJiMzOTtmc2wscW9yaXEtbWMmIzM5OyBub2RlLiBJbiB0aGlzIGNhc2UsIGlkZW50aXR5IG1hcHBpbmdcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtOTc2LVx0XHQgKiB3aWxsIGJlIHVzZWQuXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0xMTk3PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGZzbF9tY19idXNfbWF0Y2hfdGFibGVbXSA9IHtcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MTE5ODpcdHsuY29tcGF0aWJsZSA9IFwmIzM0O2ZzbCxxb3JpcS1tY1wmIzM0Oyx9LFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMTk5LVx0e30sXG4tLVxuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmM9ODU5PXN0YXRpYyBpbnQgY2FhbV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxuLS1cbmRyaXZlcnMvY3J5cHRvL2NhYW0vY3RybC5jLTEwMTItXHRjdHJscHJpdi1cdTAwM2VzZWN2aW9faXJxID0gaXJxX29mX3BhcnNlX2FuZF9tYXAobnByb3AsIDApO1xuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmM6MTAxMzpcdG5wID0gb2ZfZmluZF9jb21wYXRpYmxlX25vZGUoTlVMTCwgTlVMTCwgXCYjMzQ7ZnNsLHFvcmlxLW1jXCYjMzQ7KTtcbmRyaXZlcnMvY3J5cHRvL2NhYW0vY3RybC5jLTEwMTQtXHRjdHJscHJpdi1cdTAwM2VtY19lbiA9ICEhbnA7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjQxPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzMjYzCgkJCQkJCQlvdXRwdXQ6IDI4CgkJCQkJCQl0aG91Z2h0czogMjM5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIEZ1enppbmcgUG9zc2liaWxpdHkqKgoKT2theSwgc28gdGhpcyBpcyBvbmx5IGFjY2Vzc2libGUgdGhyb3VnaCB0aGUgZGV2aWNlIHRyZWUsIHRoYXQgaW1tZWRpYXRlbHkgbGltaXRzIHRoaW5ncy4gSXQmIzM5O3MgdGllZCB0byBzcGVjaWZpYyBGcmVlc2NhbGUgUW9ySVEgRFBBQTIgaGFyZHdhcmUgYW5kIHRoZSBhY2NvbXBhbnlpbmcgZmlybXdhcmUuIFRoYXQgbWVhbnMgaXQmIzM5O3MgcHJldHR5IG11Y2ggYSBuby1nbyBpbiB0eXBpY2FsIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLiAKCkhvbGQgb24sIHRob3VnaC4uLiBjb3VsZCBzeXprYWxsZXIgYmUgZnV6emluZyB0aGlzIHRocm91Z2ggc29tZSBhbHRlcm5hdGUgZW50cnkgcG9pbnQ/IEkgbmVlZCB0byBjb25zaWRlciB0aGF0LiBMZXQmIzM5O3Mgc2VlLCB0aGUgcGF0Y2ggaXMgdG91Y2hpbmcgYGRwYWEyX2V0aF9kaXNjb25uZWN0X21hY2Agd2l0aGluIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNgLiAgQWhhLCB0aGlzIGZ1bmN0aW9uIGlzIHVzZWQgZHVyaW5nIHByb2JlLCByZW1vdmUsIGFuZCBpbnRlcnJ1cHQgaGFuZGxpbmcsIHdoaWNoIGFyZSB0aWVkIHRvIHRoZSBgZHBhYTItZXRoYCBkcml2ZXIuCgpBbmQgdGhhdCBkcml2ZXIgaXMgZGVwZW5kZW50IG9uIHRoZSBgZnNsX21jX2J1c2AuIFRoaXMgaXMgYmVjb21pbmcgY2xlYXIgbm93LiBXaXRob3V0IHRoYXQgc3BlY2lmaWMgYnVzIGFuZCB0aGUgY29ubmVjdGVkIGRldmljZSwgdGhlcmUmIzM5O3Mgbm8gd2F5IHRoZSBkcml2ZXIgY2FuIGV2ZW4gcHJvYmUsIHdoaWNoIG1lYW5zIHRoZSBjb2RlIGlzIHVucmVhY2hhYmxlIGluIEdDRSBvciBRRU1VLiBJdCYjMzk7cyBhIGhhcmR3YXJlLXNwZWNpZmljIGRlcGVuZGVuY3kuCgpBbHJpZ2h0LCBJJiMzOTttIGdvaW5nIHRvIHJldHVybiBgV29ydGhGdXp6aW5nPWZhbHNlYCBhbmQgZXhwbGFpbiBpdCBiYXNlZCBvbiB0aGUgZmFjdCB0aGF0IHRoaXMgaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZGVzaWduZWQgZm9yIEZyZWVzY2FsZSBEUEFBMiwgYW5kIHRoZXJlIGFyZW4mIzM5O3QgYW55IGtub3duIGVtdWxhdGlvbnMgaW4gdGhlc2Ugc3RhbmRhcmQgdmlydHVhbGl6YXRpb24gZW52aXJvbm1lbnRzLgoKQmVmb3JlIEkgbG9jayB0aGF0IGluLCBsZXQgbWUganVzdCBxdWlja2x5IGRvdWJsZS1jaGVjayB0byBzZWUgaWYgdGhlcmUmIzM5O3MgYW55IGF2YWlsYWJsZSBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoZSBgZnNsLW1jYCBlbGVtZW50LiBKdXN0IHRvIGJlIGNvbXBsZXRlbHkgc3VyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NDI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7ZnNsX21jX2RldmljZV9hZGQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDsmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM9MTY5PXN0YXRpYyB2b2lkIGZzbF9tY19vYmpfZGV2aWNlX2FkZChzdHJ1Y3QgZnNsX21jX2RldmljZSAqbWNfYnVzX2Rldixcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xODItXHR9IGVsc2Uge1xuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6MTgzOlx0XHRlcnJvciA9IGZzbF9tY19kZXZpY2VfYWRkKG9ial9kZXNjLCBOVUxMLCBcdTAwMjZtY19idXNfZGV2LVx1MDAzZWRldixcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTE4NC1cdFx0XHRcdFx0ICBcdTAwMjZjaGlsZF9kZXYpO1xuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9NzM3PXN0YXRpYyB2b2lkIGZzbF9tY19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy03NTEtICovXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjc1MjppbnQgZnNsX21jX2RldmljZV9hZGQoc3RydWN0IGZzbF9tY19vYmpfZGVzYyAqb2JqX2Rlc2MsXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTc1My1cdFx0ICAgICAgc3RydWN0IGZzbF9tY19pbyAqbWNfaW8sXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy04NzktfVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzo4ODA6RVhQT1JUX1NZTUJPTF9HUEwoZnNsX21jX2RldmljZV9hZGQpO1xuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy04ODEtXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0xMDM5PXN0YXRpYyBpbnQgZnNsX21jX2J1c19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxuLS1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMTE1Ny1cbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MTE1ODpcdGVycm9yID0gZnNsX21jX2RldmljZV9hZGQoXHUwMDI2b2JqX2Rlc2MsIG1jX2lvLCBcdTAwMjZwZGV2LVx1MDAzZWRldiwgXHUwMDI2bWNfYnVzX2Rldik7XG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTExNTktXHRpZiAoZXJyb3IgXHUwMDNjIDApXG4tLVxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmg9NjAxPXN0cnVjdCBmc2xfbWNfYnVzIHtcbi0tXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXByaXZhdGUuaC02MTMtXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXByaXZhdGUuaDo2MTQ6aW50IF9fbXVzdF9jaGVjayBmc2xfbWNfZGV2aWNlX2FkZChzdHJ1Y3QgZnNsX21jX29ial9kZXNjICpvYmpfZGVzYyxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtcHJpdmF0ZS5oLTYxNS1cdFx0XHRcdCAgIHN0cnVjdCBmc2xfbWNfaW8gKm1jX2lvLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo0MjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNDU4MwoJCQkJCQkJb3V0cHV0OiAxMDUKCQkJCQkJCXRob3VnaHRzOiA3MgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIHRoZSBgZnNsX21jX2RldmljZV9hZGRgIEZ1bmN0aW9uJiMzOTtzIFVzYWdlKioKCk9rYXksIHNvIEkmIzM5O3ZlIGxvb2tlZCBpbnRvIHRoaXMgYGZzbF9tY19kZXZpY2VfYWRkYCBmdW5jdGlvbiBhbmQgaXQmIzM5O3MgcHJldHR5IGNsZWFyIHRoYXQgaXQmIzM5O3MgZXhjbHVzaXZlbHkgY2FsbGVkIGZyb20gd2l0aGluIHRoZSBgZnNsLW1jYCBidXMgZHJpdmVyLiBTcGVjaWZpY2FsbHksIGZyb20gdGhlIGBmc2xfbWNfYnVzX3Byb2JlYCBhbmQgYGZzbF9tY19vYmpfZGV2aWNlX2FkZGAgZnVuY3Rpb25zLiBUaGlzIG1lYW5zIHRoZXJlJiMzOTtzIG5vIHdheSBmb3Igc29mdHdhcmUgdG8gZW11bGF0ZSBvciBpbmplY3QgY2FsbHMgdG8gaXQgZnJvbSBvdXRzaWRlIHRoYXQgZHJpdmVyLCBvciBzb21lIG90aGVyIG1lY2hhbmlzbS4gV2hpY2ggaXMgZ29vZCB0byBrbm93LCBhbmQgc2F2ZXMgbWUgc29tZSB0aW1lLiBXaXRoIHRoYXQgdW5kZXJzdGFuZGluZyBpbiBwbGFjZSwgSSYjMzk7bGwgZ28gYWhlYWQgYW5kIHNldCBgV29ydGhGdXp6aW5nPWZhbHNlYCBmb3IgdGhpcyBwYXJ0LiBJdCBzZWVtcyBhIHdhc3RlIG9mIHJlc291cmNlcyB0byB0YXJnZXQgc29tZXRoaW5nIHRoYXQgY2FuJiMzOTt0IGJlIHJlYWNoZWQgaW4gdGhlIHVzdWFsIGZ1enppbmcgbW9kZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjQ1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldCBkcml2ZXIgKGRwYWEyLWV0aCksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgZnNsLW1jIGJ1cyBmb3VuZCBvbiBOWFAgUW9ySVEgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBmb3IgZnV6emluZyBpbiB0aGVzZSBlbnZpcm9ubWVudHMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgRnJlZXNjYWxlIERQQUEyIEV0aGVybmV0IGRyaXZlciAoZHBhYTItZXRoKSwgd2hpY2ggaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIHRoZSBmc2wtbWMgYnVzIGZvdW5kIG9uIE5YUCBRb3JJUSBTb0NzLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRSwgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGZvciBmdXp6aW5nIGluIHRoZXNlIGVudmlyb25tZW50cy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MDowNy4xOTM0MTE2OFoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMwMDYxNDE0Nzg3MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldCBkcml2ZXIgKGRwYWEyLWV0aCksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgZnNsLW1jIGJ1cyBmb3VuZCBvbiBOWFAgUW9ySVEgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBmb3IgZnV6emluZyBpbiB0aGVzZSBlbnZpcm9ubWVudHMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MDowNy4xOTM0MTY5NVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDcxODM0OTg0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgMmMyNmMxMWRjZTE2YzM3YTU4NTMzMzMxMDk3NTM0ZjFlNzYxNDc0MlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVGh1IEp1bCA5IDAyOjQwOjA1IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguY1xcbmluZGV4IDkzMzU3MDM3NjhhOWI2Li43NjRkMmEwOTY2OGY1NiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNcXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNcXG5AQCAtNDczMiw2ICs0NzMyLDcgQEAgc3RhdGljIHZvaWQgZHBhYTJfZXRoX2Rpc2Nvbm5lY3RfbWFjKHN0cnVjdCBkcGFhMl9ldGhfcHJpdiAqcHJpdilcXG4gXFx0XFx0ZHBhYTJfbWFjX2Rpc2Nvbm5lY3QobWFjKTtcXG4gXFxuIFxcdGRwYWEyX21hY19jbG9zZShtYWMpO1xcbitcXHRwdXRfZGV2aWNlKFxcdTAwMjZtYWMtXFx1MDAzZW1jX2Rldi1cXHUwMDNlZGV2KTtcXG4gXFx0a2ZyZWUobWFjKTtcXG4gfVxcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NDA6MDcuNjY1OTc0MDI0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMDAxNDE1Nzg4ODYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBGcmVlc2NhbGUgRFBBQTIgRXRoZXJuZXQgZHJpdmVyIChkcGFhMi1ldGgpLCB3aGljaCBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgdGhlIGZzbC1tYyBidXMgZm91bmQgb24gTlhQIFFvcklRIFNvQ3MuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZm9yIGZ1enppbmcgaW4gdGhlc2UgZW52aXJvbm1lbnRzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAyYzI2YzExZGNlMTZjMzdhNTg1MzMzMzEwOTc1MzRmMWU3NjE0NzQyXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgOSAwMjo0MDowNSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguY1xuaW5kZXggOTMzNTcwMzc2OGE5YjYuLjc2NGQyYTA5NjY4ZjU2IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNcbkBAIC00NzMyLDYgKzQ3MzIsNyBAQCBzdGF0aWMgdm9pZCBkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWMoc3RydWN0IGRwYWEyX2V0aF9wcml2ICpwcml2KVxuIFx0XHRkcGFhMl9tYWNfZGlzY29ubmVjdChtYWMpO1xuIFxuIFx0ZHBhYTJfbWFjX2Nsb3NlKG1hYyk7XG4rXHRwdXRfZGV2aWNlKFx1MDAyNm1hYy1cdTAwM2VtY19kZXYtXHUwMDNlZGV2KTtcbiBcdGtmcmVlKG1hYyk7XG4gfVxuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NDA6MDcuNjY1OTc1NjY0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTUyMTIzNjMwNjAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgTmV0d29yayBEcml2ZXIgUGF0Y2ggaW4gYSBWaXJ0dWFsaXplZCBDb250ZXh0KipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCB0aGF0IGFkZHMgYHB1dF9kZXZpY2UoXHUwMDI2bWFjLVx1MDAzZW1jX2Rldi1cdTAwM2VkZXYpO2AgdG8gYGRwYWEyX2V0aF9kaXNjb25uZWN0X21hY2Agd2l0aGluIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmNgLiBNeSBpbW1lZGlhdGUgY29uY2VybiBpcyByZWFjaGFiaWxpdHkgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudC4gVGhpcyBkcml2ZXIsIGBkcGFhMi1ldGhgLCBpcyBzcGVjaWZpY2FsbHkgZm9yIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldCwgd2hpY2ggcmluZ3MgYSBiZWxsLi4uIHRoYXQncyBOWFAgTGF5ZXJzY2FwZSBTb0NzIGxpa2UgdGhlIExTMjA4OEEgb3IgTFMxMDg4QSwgcmlnaHQ/IEFuZCBpdCdzIGJhc2VkIGFyb3VuZCB0aGUgYGZzbC1tY2AgYnVzLlxuXG5UaGUgcXVlc3Rpb24gdGhlbiBiZWNvbWVzLCBjYW4gSSBldmVuICp0cmlnZ2VyKiB0aGlzIGNvZGUgaW4gYSBzdGFuZGFyZCB4ODZfNjQgUUVNVSBvciBHb29nbGUgQ29tcHV0ZSBFbmdpbmUgc2V0dXA/IFRoZXNlIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlcnMgb2Z0ZW4gcmVseSBvbiBkaXJlY3QgaGFyZHdhcmUgaW50ZXJhY3Rpb25zLCBlc3BlY2lhbGx5IHdpdGhvdXQgZGVkaWNhdGVkIHNvZnR3YXJlIGVtdWxhdGlvbi4gV2l0aG91dCBzcGVjaWZpYyBlbXVsYXRpb24sIGZ1enppbmcgdGhlbSBpcyB0b3VnaC4gSXQncyB1c3VhbGx5IG9ubHkgcG9zc2libGUgd2l0aCB2aXJ0dWFsaXplZCBidXNlcyBsaWtlIFVTQiBvciBQQ0kgdGhhdCBjYW4gYmUgbW9yZSByZWFkaWx5IGluamVjdGVkIHdpdGggZGV2aWNlcy5cblxuV2FpdCBhIHNlY29uZOKApiB0aGUgYGZzbC1tY2AgYnVzICppcyogYSBidXMuIEFuZCB0aGF0IHByZXNlbnRzIGFuIGludGVyZXN0aW5nIHBvc3NpYmlsaXR5LiBJcyB0aGVyZSBhIHdheSB0byBpbmplY3QgZGV2aWNlcyBvbnRvIHRoaXMgcGFydGljdWxhciBidXM/IExldCdzIGRpdmUgaW50byB0aGUgYGRyaXZlcnMvYnVzL2ZzbC1tYy9gIGRpcmVjdG9yeSB0byBzZWUgaWYgdGhlcmUncyBhbnkgbWVjaGFuaXNtIGZvciB0aGF0LiBUaGF0IG1pZ2h0IGJlIHRoZSBrZXkgdG8gdHJpZ2dlcmluZyB0aGlzIGBwdXRfZGV2aWNlYCBjYWxsLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxODcyLCJPdXRwdXRUb2tlbnMiOjI4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjYyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NDA6MjIuODc4MzQwNDUzWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE2MDEzNDE1OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJmc2wtbWNcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9idXMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYnVzL0tjb25maWc9MjQyPWNvbmZpZyBEQThYWF9NU1RQUklcXG4tLVxcbmRyaXZlcnMvYnVzL0tjb25maWctMjQ5LVxcbmRyaXZlcnMvYnVzL0tjb25maWc6MjUwOnNvdXJjZSBcXFwiZHJpdmVycy9idXMvZnNsLW1jL0tjb25maWdcXFwiXFxuZHJpdmVycy9idXMvS2NvbmZpZy0yNTEtc291cmNlIFxcXCJkcml2ZXJzL2J1cy9taGkvS2NvbmZpZ1xcXCJcXG4tLVxcbmRyaXZlcnMvYnVzL01ha2VmaWxlPTExPW9iai0kKENPTkZJR19NT1hURVQpXFx0XFx0Kz0gbW94dGV0Lm9cXG5kcml2ZXJzL2J1cy9NYWtlZmlsZS0xMi1cXG5kcml2ZXJzL2J1cy9NYWtlZmlsZToxMzojIERQQUEyIGZzbC1tYyBidXNcXG5kcml2ZXJzL2J1cy9NYWtlZmlsZToxNDpvYmotJChDT05GSUdfRlNMX01DX0JVUylcXHQrPSBmc2wtbWMvXFxuZHJpdmVycy9idXMvTWFrZWZpbGUtMTUtXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZy0yLSNcXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZzozOiMgRFBBQTIgZnNsLW1jIGJ1c1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9LY29uZmlnLTQtI1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL0tjb25maWc9OD1jb25maWcgRlNMX01DX0JVU1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9LY29uZmlnOjk6XFx0Ym9vbCBcXFwiUW9ySVEgRFBBQTIgZnNsLW1jIGJ1cyBkcml2ZXJcXFwiXFxuZHJpdmVycy9idXMvZnNsLW1jL0tjb25maWctMTAtXFx0ZGVwZW5kcyBvbiBPRiBcXHUwMDI2XFx1MDAyNiAoQVJDSF9MQVlFUlNDQVBFIHx8IChDT01QSUxFX1RFU1QgXFx1MDAyNlxcdTAwMjYgKEFSTSB8fCBBUk02NCB8fCBYODZfTE9DQUxfQVBJQyB8fCBQUEMpKSlcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9LY29uZmlnLTEzLVxcdCAgRHJpdmVyIHRvIGVuYWJsZSB0aGUgYnVzIGluZnJhc3RydWN0dXJlIGZvciB0aGUgUW9ySVEgRFBBQTJcXG5kcml2ZXJzL2J1cy9mc2wtbWMvS2NvbmZpZzoxNDpcXHQgIGFyY2hpdGVjdHVyZS4gIFRoZSBmc2wtbWMgYnVzIGRyaXZlciBoYW5kbGVzIGRpc2NvdmVyeSBvZlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9LY29uZmlnLTE1LVxcdCAgRFBBQTIgb2JqZWN0cyAod2hpY2ggYXJlIHJlcHJlc2VudGVkIGFzIExpbnV4IGRldmljZXMpIGFuZFxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlPTc9b2JqLSQoQ09ORklHX0ZTTF9NQ19CVVMpICs9IG1jLWJ1cy1kcml2ZXIub1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZS04LVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZTo5Om1jLWJ1cy1kcml2ZXItb2JqcyA6PSBmc2wtbWMtYnVzLm8gXFxcXFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9NYWtlZmlsZS0xMC1cXHRcXHQgICAgICBtYy1zeXMubyBcXFxcXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvTWFrZWZpbGUtMTUtXFx0XFx0ICAgICAgZHByYy1kcml2ZXIubyBcXFxcXFxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlOjE2OlxcdFxcdCAgICAgIGZzbC1tYy1hbGxvY2F0b3IubyBcXFxcXFxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlOjE3OlxcdFxcdCAgICAgIGZzbC1tYy1tc2kubyBcXFxcXFxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlLTE4LVxcdFxcdCAgICAgIGRwbWNwLm8gXFxcXFxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL01ha2VmaWxlLTIxLSMgTUMgdXNlcnNwYWNlIHN1cHBvcnRcXG5kcml2ZXJzL2J1cy9mc2wtbWMvTWFrZWZpbGU6MjI6b2JqLSQoQ09ORklHX0ZTTF9NQ19VQVBJX1NVUFBPUlQpICs9IGZzbC1tYy11YXBpLm9cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcGJwLmMtOC1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBicC5jOjk6I2luY2x1ZGUgXFxcImZzbC1tYy1wcml2YXRlLmhcXFwiXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwYnAuYy0xMC1cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcGNvbi5jLTgtXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwY29uLmM6OTojaW5jbHVkZSBcXFwiZnNsLW1jLXByaXZhdGUuaFxcXCJcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBjb24uYy0xMC1cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcG1jcC5jLTgtXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwbWNwLmM6OTojaW5jbHVkZSBcXFwiZnNsLW1jLXByaXZhdGUuaFxcXCJcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHBtY3AuYy0xMC1cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTE1LVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjE2OiNpbmNsdWRlIFxcXCJmc2wtbWMtcHJpdmF0ZS5oXFxcIlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTE3LVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM9Njg9c3RhdGljIGludCBfX2ZzbF9tY19kZXZpY2VfcmVtb3ZlKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTc5LSAqXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6ODA6ICogQG1jX2J1c19kZXY6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2UgdGhhdCByZXByZXNlbnRzIGEgRFBSQyBvYmplY3RcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy04MS0gKiBAb2JqX2Rlc2NfYXJyYXk6IGFycmF5IG9mIG9iamVjdCBkZXNjcmlwdG9ycyBmb3IgY2hpbGQgb2JqZWN0cyBjdXJyZW50bHlcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jPTEyMz1zdHJ1Y3QgZnNsX21jX2RldmljZSAqZnNsX21jX2RldmljZV9sb29rdXAoc3RydWN0IGZzbF9tY19vYmpfZGVzYyAqb2JqX2Rlc2MsXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xMzYtICpcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYzoxMzc6ICogQG1jX2RldjogcG9pbnRlciB0byB0aGUgZnNsLW1jIGRldmljZSBmb3IgYSBnaXZlbiBNQyBvYmplY3RcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xMzgtICogQG9ial9kZXNjOiBwb2ludGVyIHRvIHRoZSBNQyBvYmplY3QncyBkZXNjcmlwdG9yIGluIHRoZSBNQ1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTEzOS0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjE0MDogKiBJZiB0aGUgcGx1Z2dlZCBzdGF0ZSBoYXMgY2hhbmdlZCBmcm9tIHVucGx1Z2dlZCB0byBwbHVnZ2VkLCB0aGUgZnNsLW1jXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtMTQxLSAqIGRldmljZSBpcyBib3VuZCB0byB0aGUgY29ycmVzcG9uZGluZyBkZXZpY2UgZHJpdmVyLlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjE0MjogKiBJZiB0aGUgcGx1Z2dlZCBzdGF0ZSBoYXMgY2hhbmdlZCBmcm9tIHBsdWdnZWQgdG8gdW5wbHVnZ2VkLCB0aGUgZnNsLW1jXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtMTQzLSAqIGRldmljZSBpcyB1bmJvdW5kIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgZGV2aWNlIGRyaXZlci5cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jPTE2OT1zdGF0aWMgdm9pZCBmc2xfbWNfb2JqX2RldmljZV9hZGQoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2J1c19kZXYsXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xOTItICpcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYzoxOTM6ICogQG1jX2J1c19kZXY6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2UgdGhhdCByZXByZXNlbnRzIGEgRFBSQyBvYmplY3RcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xOTQtICogQG9ial9kZXNjX2FycmF5OiBhcnJheSBvZiBkZXZpY2UgZGVzY3JpcHRvcnMgZm9yIGNoaWxkIGRldmljZXMgY3VycmVudGx5XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz0yMDI9c3RhdGljIHZvaWQgZHByY19hZGRfbmV3X2RldmljZXMoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2J1c19kZXYsXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0yMjgtICpcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYzoyMjk6ICogQG1jX2J1c19kZXY6IHBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2UgdGhhdCByZXByZXNlbnRzIGEgRFBSQyBvYmplY3RcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0yMzAtICogQGFsbG9jX2ludGVycnVwdHM6IGlmIHRydWUgdGhlIGZ1bmN0aW9uIGFsbG9jYXRlcyB0aGUgaW50ZXJydXB0IHBvb2wsXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz0yNDU9aW50IGRwcmNfc2Nhbl9vYmplY3RzKHN0cnVjdCBmc2xfbWNfZGV2aWNlICptY19idXNfZGV2LFxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtMzU2LSAqXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6MzU3OiAqIEBtY19idXNfZGV2OiBwb2ludGVyIHRvIHRoZSBmc2wtbWMgZGV2aWNlIHRoYXQgcmVwcmVzZW50cyBhIERQUkMgb2JqZWN0XFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtMzU4LSAqIEBhbGxvY19pbnRlcnJ1cHRzOiBpZiB0cnVlIHRoZSBmdW5jdGlvbiBhbGxvY2F0ZXMgdGhlIGludGVycnVwdCBwb29sLFxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM9NTcyPXN0YXRpYyBpbnQgZHByY19zZXR1cF9pcnEoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2RldilcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTYwMS0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjYwMjogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIGEgRFBSQ1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTYwMy0gKlxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM9NzExPUVYUE9SVF9TWU1CT0xfR1BMKGRwcmNfc2V0dXApO1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtNzE1LSAqXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmM6NzE2OiAqIEBtY19kZXY6IFBvaW50ZXIgdG8gZnNsLW1jIGRldmljZSByZXByZXNlbnRpbmcgYSBEUFJDXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtNzE3LSAqXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz03NTg9c3RhdGljIHZvaWQgZHByY190ZWFyZG93bl9pcnEoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2RldilcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTc3MS0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjc3MjogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSBEUFJDXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtNzczLSAqXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYz04MTU9RVhQT1JUX1NZTUJPTF9HUEwoZHByY19jbGVhbnVwKTtcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jLTgxOS0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jOjgyMDogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSBEUFJDXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMtZHJpdmVyLmMtODIxLSAqXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy5jLTktXFxuZHJpdmVycy9idXMvZnNsLW1jL2RwcmMuYzoxMDojaW5jbHVkZSBcXFwiZnNsLW1jLXByaXZhdGUuaFxcXCJcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy5jLTExLVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yLS8qXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzozOiAqIGZzbC1tYyBvYmplY3QgYWxsb2NhdG9yIGRyaXZlclxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtNC0gKlxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0xMi1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjEzOiNpbmNsdWRlIFxcXCJmc2wtbWMtcHJpdmF0ZS5oXFxcIlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMTQtXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz0xNT1zdGF0aWMgYm9vbCBfX211c3RfY2hlY2sgZnNsX21jX2lzX2FsbG9jYXRhYmxlKHN0cnVjdCBmc2xfbWNfZGV2aWNlICptY19kZXYpXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTIzLSAqIGZzbF9tY19yZXNvdXJjZV9wb29sX2FkZF9kZXZpY2UgLSBhZGQgYWxsb2NhdGFibGUgb2JqZWN0IHRvIGEgcmVzb3VyY2VcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjI0OiAqIHBvb2wgb2YgYSBnaXZlbiBmc2wtbWMgYnVzXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yNS0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6MjY6ICogQG1jX2J1czogcG9pbnRlciB0byB0aGUgZnNsLW1jIGJ1c1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMjctICogQHBvb2xfdHlwZTogcG9vbCB0eXBlXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzoyODogKiBAbWNfZGV2OiBwb2ludGVyIHRvIGFsbG9jYXRhYmxlIGZzbC1tYyBkZXZpY2VcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTI5LSAqL1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM9MzA9c3RhdGljIGludCBfX211c3RfY2hlY2sgZnNsX21jX3Jlc291cmNlX3Bvb2xfYWRkX2RldmljZShzdHJ1Y3QgZnNsX21jX2J1c1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy05MS0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6OTI6ICogQG1jX2RldjogcG9pbnRlciB0byBhbGxvY2F0YWJsZSBmc2wtbWMgZGV2aWNlXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy05My0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6OTQ6ICogSXQgcGVybWFuZW50bHkgcmVtb3ZlcyBhbiBhbGxvY2F0YWJsZSBmc2wtbWMgZGV2aWNlIGZyb20gdGhlIHJlc291cmNlXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy05NS0gKiBwb29sLiBJdCdzIGFuIGVycm9yIGlmIHRoZSBkZXZpY2UgaXMgaW4gdXNlLlxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz0yNTQ9RVhQT1JUX1NZTUJPTF9HUEwoZnNsX21jX3Jlc291cmNlX2ZyZWUpO1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yNTYtLyoqXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzoyNTc6ICogZnNsX21jX29iamVjdF9hbGxvY2F0ZSAtIEFsbG9jYXRlcyBhbiBmc2wtbWMgb2JqZWN0IG9mIHRoZSBnaXZlblxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6MjU4OiAqIHBvb2wgdHlwZSBmcm9tIGEgZ2l2ZW4gZnNsLW1jIGJ1cyBpbnN0YW5jZVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMjU5LSAqXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzoyNjA6ICogQG1jX2RldjogZnNsLW1jIGRldmljZSB3aGljaCBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0yNjEtICogYWxsb2NhdGVkIG9iamVjdFxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz0zMjI9RVhQT1JUX1NZTUJPTF9HUEwoZnNsX21jX29iamVjdF9hbGxvY2F0ZSk7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTMyNC0vKipcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjMyNTogKiBmc2xfbWNfb2JqZWN0X2ZyZWUgLSBSZXR1cm5zIGFuIGZzbC1tYyBvYmplY3QgdG8gdGhlIHJlc291cmNlXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy0zMjYtICogcG9vbCB3aGVyZSBpdCBjYW1lIGZyb20uXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzozMjc6ICogQG1jX2FkZXY6IFBvaW50ZXIgdG8gdGhlIGZzbC1tYyBkZXZpY2VcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTMyOC0gKi9cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM9MzQzPUVYUE9SVF9TWU1CT0xfR1BMKGZzbF9tY19vYmplY3RfZnJlZSk7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTM1MS0vKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6MzUyOiAqIEluaXRpYWxpemUgdGhlIGludGVycnVwdCBwb29sIGFzc29jaWF0ZWQgd2l0aCBhbiBmc2wtbWMgYnVzLlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtMzUzLSAqIEl0IGFsbG9jYXRlcyBhIGJsb2NrIG9mIElSUXMgZnJvbSB0aGUgR0lDLUlUUy5cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM9NDExPUVYUE9SVF9TWU1CT0xfR1BMKGZzbF9tY19wb3B1bGF0ZV9pcnFfcG9vbCk7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTQxMy0vKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NDE0OiAqIFRlYXJkb3duIHRoZSBpbnRlcnJ1cHQgcG9vbCBhc3NvY2lhdGVkIHdpdGggYW4gZnNsLW1jIGJ1cy5cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTQxNS0gKiBJdCBmcmVlcyB0aGUgSVJRcyB0aGF0IHdlcmUgYWxsb2NhdGVkIHRvIHRoZSBwb29sLCBiYWNrIHRvIHRoZSBHSUMtSVRTLlxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYz00Mzg9RVhQT1JUX1NZTUJPTF9HUEwoZnNsX21jX2NsZWFudXBfaXJxX3Bvb2wpO1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy00NDAtLypcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jOjQ0MTogKiBBbGxvY2F0ZSB0aGUgSVJRcyByZXF1aXJlZCBieSBhIGdpdmVuIGZzbC1tYyBkZXZpY2UuXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy00NDItICovXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTUwNj1FWFBPUlRfU1lNQk9MX0dQTChmc2xfbWNfYWxsb2NhdGVfaXJxcyk7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jLTUwOC0vKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NTA5OiAqIEZyZWVzIHRoZSBJUlFzIHRoYXQgd2VyZSBhbGxvY2F0ZWQgZm9yIGFuIGZzbC1tYyBkZXZpY2UuXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy01MTAtICovXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTU2Mj1zdGF0aWMgaW50IGZzbF9tY19hbGxvY2F0b3JfcHJvYmUoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2RldilcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmMtNTg1LVxcdGRldl9kYmcoXFx1MDAyNm1jX2Rldi1cXHUwMDNlZGV2LFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYWxsb2NhdG9yLmM6NTg2OlxcdFxcdFxcXCJBbGxvY2F0YWJsZSBmc2wtbWMgZGV2aWNlIGJvdW5kIHRvIGZzbF9tY19hbGxvY2F0b3IgZHJpdmVyXFxcIik7XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy01ODctXFx0cmV0dXJuIDA7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWFsbG9jYXRvci5jPTU5ND1zdGF0aWMgdm9pZCBmc2xfbWNfYWxsb2NhdG9yX3JlbW92ZShzdHJ1Y3QgZnNsX21jX2RldmljZSAqbWNfZGV2KVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy02MDQtXFx0ZGV2X2RiZyhcXHUwMDI2bWNfZGV2LVxcdTAwM2VkZXYsXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYzo2MDU6XFx0XFx0XFxcIkFsbG9jYXRhYmxlIGZzbC1tYyBkZXZpY2UgdW5ib3VuZCBmcm9tIGZzbF9tY19hbGxvY2F0b3IgZHJpdmVyXFxcIik7XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1hbGxvY2F0b3IuYy02MDYtfVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMC1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjExOiNkZWZpbmUgcHJfZm10KGZtdCkgXFxcImZzbC1tYzogXFxcIiBmbXRcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTEyLVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0yNS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjI2OiNpbmNsdWRlIFxcXCJmc2wtbWMtcHJpdmF0ZS5oXFxcIlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMjctXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0yOC0vKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6Mjk6ICogRGVmYXVsdCBETUEgbWFzayBmb3IgZGV2aWNlcyBvbiBhIGZzbC1tYyBidXNcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTMwLSAqL1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0zMz1zdGF0aWMgc3RydWN0IGZzbF9tY192ZXJzaW9uIG1jX3ZlcnNpb247XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTM2LSAqIHN0cnVjdCBmc2xfbWMgLSBQcml2YXRlIGRhdGEgb2YgYSBcXFwiZnNsLHFvcmlxLW1jXFxcIiBwbGF0Zm9ybSBkZXZpY2VcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjM3OiAqIEByb290X21jX2J1c19kZXY6IGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSByb290IERQUkNcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTM4LSAqIEBudW1fdHJhbnNsYXRpb25fcmFuZ2VzOiBudW1iZXIgb2YgZW50cmllcyBpbiBhZGRyX3RyYW5zbGF0aW9uX3Jhbmdlc1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz04MD1zdGF0aWMgcGh5c19hZGRyX3QgbWNfcG9ydGFsX2Jhc2VfcGh5c19hZGRyO1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy04My0gKiBmc2xfbWNfYnVzX21hdGNoIC0gZGV2aWNlIHRvIGRyaXZlciBtYXRjaGluZyBjYWxsYmFja1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6ODQ6ICogQGRldjogdGhlIGZzbC1tYyBkZXZpY2UgdG8gbWF0Y2ggYWdhaW5zdFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6ODU6ICogQGRydjogdGhlIGRldmljZSBkcml2ZXIgdG8gc2VhcmNoIGZvciBtYXRjaGluZyBmc2wtbWMgb2JqZWN0IHR5cGVcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTg2LSAqIHN0cnVjdHVyZXNcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MTM5PXN0YXRpYyBpbnQgZnNsX21jX2J1c191ZXZlbnQoY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qga29ial91ZXZlbnRfZW52ICplbnYpXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTE0Mi1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjE0MzpcXHRpZiAoYWRkX3VldmVudF92YXIoZW52LCBcXFwiTU9EQUxJQVM9ZnNsLW1jOnYlMDhYZCVzXFxcIixcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTE0NC1cXHRcXHRcXHQgICBtY19kZXYtXFx1MDAzZW9ial9kZXNjLnZlbmRvcixcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MjE0PXN0YXRpYyBzc2l6ZV90IG1vZGFsaWFzX3Nob3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0cixcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMjE4LVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MjE5OlxcdHJldHVybiBzeXNmc19lbWl0KGJ1ZiwgXFxcImZzbC1tYzp2JTA4WGQlc1xcXFxuXFxcIiwgbWNfZGV2LVxcdTAwM2VvYmpfZGVzYy52ZW5kb3IsXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0yMjAtXFx0XFx0XFx0bWNfZGV2LVxcdTAwM2VvYmpfZGVzYy50eXBlKTtcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MzI2PWNvbnN0IHN0cnVjdCBidXNfdHlwZSBmc2xfbWNfYnVzX3R5cGUgPSB7XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzozMjc6XFx0Lm5hbWUgPSBcXFwiZnNsLW1jXFxcIixcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTMyOC1cXHQuZHJpdmVyX292ZXJyaWRlID0gdHJ1ZSxcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9NDk5PXN0YXRpYyBpbnQgbWNfZ2V0X3ZlcnNpb24oc3RydWN0IGZzbF9tY19pbyAqbWNfaW8sXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTUyOC0gKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6NTI5OiAqIFJldHVybjpcXHRtYyB2ZXJzaW9uIHdoZW4gY2FsbGVkIGFmdGVyIGZzbC1tYy1idXMgcHJvYmU7IE5VTEwgb3RoZXJ3aXNlLlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtNTMwLSAqL1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz02MzI9c3RhdGljIGludCBmc2xfbWNfZGV2aWNlX2dldF9tbWlvX3JlZ2lvbnMoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2RldixcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtNzEwLVxcdFxcdHJlZ2lvbnNbaV0uZW5kID0gcmVnaW9uc1tpXS5zdGFydCArIHJlZ2lvbl9kZXNjLnNpemUgLSAxO1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6NzExOlxcdFxcdHJlZ2lvbnNbaV0ubmFtZSA9IFxcXCJmc2wtbWMgb2JqZWN0IE1NSU8gcmVnaW9uXFxcIjtcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTcxMi1cXHRcXHRyZWdpb25zW2ldLmZsYWdzID0gcmVnaW9uX2Rlc2MuZmxhZ3MgXFx1MDAyNiBJT1JFU09VUkNFX0JJVFM7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jPTczNz1zdGF0aWMgdm9pZCBmc2xfbWNfZGV2aWNlX3JlbGVhc2Uoc3RydWN0IGRldmljZSAqZGV2KVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy03NDktLypcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjc1MDogKiBBZGQgYSBuZXdseSBkaXNjb3ZlcmVkIGZzbC1tYyBkZXZpY2UgdG8gYmUgdmlzaWJsZSBpbiBMaW51eFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtNzUxLSAqL1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz04ODI9c3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayBmc2xfbWNfbmI7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTg4NC0vKipcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjg4NTogKiBmc2xfbWNfZGV2aWNlX3JlbW92ZSAtIFJlbW92ZSBhbiBmc2wtbWMgZGV2aWNlIGZyb20gYmVpbmcgdmlzaWJsZSB0b1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtODg2LSAqIExpbnV4XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy04ODctICpcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjg4ODogKiBAbWNfZGV2OiBQb2ludGVyIHRvIGFuIGZzbC1tYyBkZXZpY2VcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTg4OS0gKi9cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9OTAwPXN0cnVjdCBmc2xfbWNfZGV2aWNlICpmc2xfbWNfZ2V0X2VuZHBvaW50KHN0cnVjdCBmc2xfbWNfZGV2aWNlICptY19kZXYsXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTkzNi1cXHQgKiBpbnRlcnJvZ2F0aW5nIHRoZSBmaXJtd2FyZS4gVGhpcyBpcyB0aGUgY2FzZSB3aGVuIHRoZSBkZXZpY2Ugd2FzIG5vdFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6OTM3OlxcdCAqIHlldCBkaXNjb3ZlcmVkIGJ5IHRoZSBmc2wtbWMgYnVzLCB0aHVzIHRoZSBsb29rdXAgcmV0dXJuZWQgTlVMTC5cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTkzOC1cXHQgKiBGb3JjZSBhIHJlc2NhbiBvZiB0aGUgZGV2aWNlcyBpbiB0aGlzIGNvbnRhaW5lciBhbmQgcmV0cnkgdGhlIGxvb2t1cC5cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MTAwNT1zdGF0aWMgaW50IGZzbF9tY19maXJtd2FyZV9jaGVjayhzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMDEzLVxcdFxcdGRldl9lcnIoXFx1MDAyNnBkZXYtXFx1MDAzZWRldixcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjEwMTQ6XFx0XFx0XFx0XFxcImZzbC1tYzogRFBMIHByb2Nlc3Npbmcgd2FzIG5vdCBzdGFydGVkLCBEUEFBMiB3aWxsIG5vdCB3b3JrIVxcXFxuXFxcIik7XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMDE1LVxcdFxcdHJldHVybiAtRU9QTk9UU1VQUDtcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMTAyMC1cXHRcXHRkZXZfZGJnKFxcdTAwMjZwZGV2LVxcdTAwM2VkZXYsXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzoxMDIxOlxcdFxcdFxcdFxcXCJmc2wtbWM6IERQTCBwcm9jZXNzaW5nIGluIHByb2dyZXNzLCBkZWZlciBwcm9iZVxcXFxuXFxcIik7XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMDIyLVxcdFxcdHJldHVybiAtRVBST0JFX0RFRkVSO1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMDI3LVxcdFxcdGRldl9lcnIoXFx1MDAyNnBkZXYtXFx1MDAzZWRldixcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjEwMjg6XFx0XFx0XFx0XFxcImZzbC1tYzogTUMgYm9vdCBjb21wbGV0ZWQgd2l0aCBlcnJvciAweCV4XFxcXG5cXFwiLCBtY3MpO1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMTAyOS1cXHRcXHRyZXR1cm4gLUVJTlZBTDtcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtbXNpLmMtMTUtXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1tc2kuYzoxNjojaW5jbHVkZSBcXFwiZnNsLW1jLXByaXZhdGUuaFxcXCJcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLW1zaS5jLTE3LVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmg9NTgyPXN0cnVjdCBmc2xfbWNfdWFwaSB7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXByaXZhdGUuaC01OTEtICogc3RydWN0IGZzbF9tY19idXMgLSBsb2dpY2FsIGJ1cyB0aGF0IGNvcnJlc3BvbmRzIHRvIGEgcGh5c2ljYWwgRFBSQ1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtcHJpdmF0ZS5oOjU5MjogKiBAbWNfZGV2OiBmc2wtbWMgZGV2aWNlIGZvciB0aGUgYnVzIGRldmljZSBpdHNlbGYuXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmgtNTkzLSAqIEByZXNvdXJjZV9wb29sczogYXJyYXkgb2YgcmVzb3VyY2UgcG9vbHMgKG9uZSBwb29sIHBlciByZXNvdXJjZSB0eXBlKVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy11YXBpLmMtMTMtXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy11YXBpLmM6MTQ6I2luY2x1ZGUgXFxcImZzbC1tYy1wcml2YXRlLmhcXFwiXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy11YXBpLmMtMTUtXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvbWMtaW8uYy05LVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9tYy1pby5jOjEwOiNpbmNsdWRlIFxcXCJmc2wtbWMtcHJpdmF0ZS5oXFxcIlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9tYy1pby5jLTExLVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL21jLXN5cy5jLTE2LVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9tYy1zeXMuYzoxNzojaW5jbHVkZSBcXFwiZnNsLW1jLXByaXZhdGUuaFxcXCJcXG5kcml2ZXJzL2J1cy9mc2wtbWMvbWMtc3lzLmMtMTgtXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvb2JqLWFwaS5jLTgtXFxuZHJpdmVycy9idXMvZnNsLW1jL29iai1hcGkuYzo5OiNpbmNsdWRlIFxcXCJmc2wtbWMtcHJpdmF0ZS5oXFxcIlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9vYmotYXBpLmMtMTAtXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjQwOjIzLjAzODQ3NzI2MloiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE0OTIxMDEzNDIzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkludmVzdGlnYXRpbmcgdGhlIGZzbC1tYyBCdXMgYW5kIFBvdGVudGlhbCBFbXVsYXRpb24qKlxuXG5Pa2F5LCBzbyB0aGUgYGZzbC1tY2AgYnVzIGlzIFFvcklRIERQQUEyIHNwZWNpZmljLiBIbW0sIEkgd29uZGVyIGlmIHRoZXJlJ3MgYW55IHdheSB0byBlbXVsYXRlIGl0PyBUaGF0IHdvdWxkIGJlIHVzZWZ1bCBmb3IgdGVzdGluZyBhbmQgZGVidWdnaW5nLiBMZXQgbWUgcXVpY2tseSBjaGVjayBpZiBRRU1VIG9yIHBlcmhhcHMgZXZlbiBzeXprYWxsZXIgaGFzIHNvbWUga2luZCBvZiBwc2V1ZG8tZGV2aWNlIGZvciB0aGlzLiBXYWl0LCBob2xkIG9uLi4uIHRoZSBjb21taXQgbWVzc2FnZSBtZW50aW9uZWQgXCJzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcIiBhbmQgdGhlIGF1dGhvciBpcyBzeXotY2x1c3Rlci4gVGhhdCdzIGludGVyZXN0aW5nLi4uIGl0IGxvb2tzIGxpa2Ugc3l6a2FsbGVyIGVpdGhlciBmb3VuZCBhIGJ1ZyByZWxhdGVkIHRvIHRoaXMgYnVzLCBvciB0aGV5J3JlIHRlc3RpbmcgYSBwb3RlbnRpYWwgcGF0Y2ggZm9yIGl0LlxuXG5XYWl0IGEgc2Vjb25kLCBpZiB0aGV5J3JlIHRlc3RpbmcgaXQsIHRoYXQgcHJvYmFibHkgbWVhbnMgc3l6a2FsbGVyIGlzIGZ1enppbmcgaXQgaWYgdGhlcmUncyBhIHdheSB0byByZWFjaCBpdC4gTXkgbWluZCBpbW1lZGlhdGVseSBqdW1wcyB0bywgaXMgaXQgcG9zc2libGUgdG8gcmVhY2ggdGhhdCBmdW5jdGlvbiwgYGRwYWEyX2V0aF9kaXNjb25uZWN0X21hY2A/IExldCBtZSBnbyBzdHJhaWdodCB0byBgZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jYCwgYW5kIGNoZWNrIGl0IG91dC5cblxuXG4iLCJJbnB1dFRva2VucyI6OTc4NiwiT3V0cHV0VG9rZW5zIjo0NSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE4NiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MDozNy45NTk0OTIxMjVaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTM5MDE5MjksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiZHBhYTJfZXRoX2Rpc2Nvbm5lY3RfbWFjXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jPTQ2NTQ9c3RhdGljIGludCBkcGFhMl9ldGhfY29ubmVjdF9tYWMoc3RydWN0IGRwYWEyX2V0aF9wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTQ3MTgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jOjQ3MTk6c3RhdGljIHZvaWQgZHBhYTJfZXRoX2Rpc2Nvbm5lY3RfbWFjKHN0cnVjdCBkcGFhMl9ldGhfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNDcyMC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM9NDczOT1zdGF0aWMgaXJxcmV0dXJuX3QgZHBuaV9pcnEwX2hhbmRsZXJfdGhyZWFkKGludCBpcnFfbnVtLCB2b2lkICphcmcpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNDc2OC1cXHRcXHRpZiAoaGFkX21hYylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM6NDc2OTpcXHRcXHRcXHRkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWMocHJpdik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTQ3NzAtXFx0XFx0ZWxzZVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jPTQ4NTc9c3RhdGljIGludCBkcGFhMl9ldGhfcHJvYmUoc3RydWN0IGZzbF9tY19kZXZpY2UgKmRwbmlfZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTUwNDQtZXJyX3BvbGxfdGhyZWFkOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1ldGguYzo1MDQ1OlxcdGRwYWEyX2V0aF9kaXNjb25uZWN0X21hYyhwcml2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNTA0Ni1lcnJfY29ubmVjdF9tYWM6XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM9NTA3OD1zdGF0aWMgdm9pZCBkcGFhMl9ldGhfcmVtb3ZlKHN0cnVjdCBmc2xfbWNfZGV2aWNlICpsc19kZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmMtNTEwNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItZXRoLmM6NTEwNTpcXHRkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWMocHJpdik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jLTUxMDYtXFx0ZHBhYTJfZXRoX2ZyZWVfcmluZ3MocHJpdik7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjQwOjM4LjAxMzQxMTg2NFoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE2MDM3NzY0OTAwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUmVhY2hhYmlsaXR5IG9mIHRoZSBgZHBhYTJfZXRoYCBEcml2ZXIgZm9yIEZ1enppbmcqKlxuXG5Pa2F5LCBzbyB0aGUgYGRwYWEyX2V0aF9kaXNjb25uZWN0X21hY2AgZnVuY3Rpb24gaXMgY2FsbGVkIGluIHNldmVyYWwgcGxhY2VzOiBgZHBhYTJfZXRoX3JlbW92ZWAsIGBkcGFhMl9ldGhfcHJvYmVgIChpZiB0aGVyZSdzIGFuIGVycm9yKSwgYW5kIHRoZSBgZHBuaV9pcnEwX2hhbmRsZXJfdGhyZWFkYC4gVGhpcyBpcyBhIGhhcmR3YXJlIGRyaXZlciBmb3IgRnJlZXNjYWxlIERQQUEyIEV0aGVybmV0LiBUaGUgcmVhbCBxdWVzdGlvbiBpczogY2FuIEkgZXZlbiAqcmVhY2gqIHRoaXMgdGhpbmcgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudD8gSSdtIHRoaW5raW5nLCBtb3N0IGhhcmR3YXJlIGRyaXZlcnMgdGhhdCBhcmVuJ3QgZW11bGF0ZWQgYnkgc29tZXRoaW5nIGxpa2UgUUVNVSBhbmQgZG9uJ3Qgc2l0IG9uIGEgdmlydHVhbCBidXMgKGxpa2UgVVNCIG9yIFBDSSkgYXJlIHVzdWFsbHkgdW5yZWFjaGFibGUuXG5cbkJ1dCB3YWl0LCBpc24ndCB0aGUgYGZzbC1tY2AgYnVzIGEgKnBsYXRmb3JtKiBidXM/IEhtbSwgY291bGQgSSBwb3RlbnRpYWxseSBpbnN0YW50aWF0ZSBgZnNsLW1jYCBkZXZpY2VzIHNvbWVob3cgdXNpbmcgZGV2aWNlIHRyZWUgb3ZlcmxheXMgb3Igc29tZXRoaW5nIHNpbWlsYXI/IEkgcXVpY2tseSByZW1lbWJlciB0aGF0IFN5emthbGxlciBjdXJyZW50bHkgbGFja3Mgc3VwcG9ydCBmb3IgaW5qZWN0aW5nIHRoZSBgZnNsLW1jYCBidXMgZGlyZWN0bHkuIFNob290LCBJIHRob3VnaHQgSSByZW1lbWJlcmVkIGEgYHN5el9nZW5ldGxpbmtgIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQsIGJ1dCBJIHdhcyB3cm9uZy4gSWYgdGhpcyBpcyB0cnVseSBhIGhhcmR3YXJlIGRyaXZlciwgYW5kIGl0J3Mgbm90IGVtdWxhdGVkLCBpdCdzIHByZXR0eSBtdWNoIGRlYWQgaW4gdGhlIHdhdGVyIGZvciBmdXp6aW5nLlxuXG5MZXQncyBjaGVjayBTeXprYWxsZXIgY29uZmlncy4gSXMgYENPTkZJR19GU0xfTUNfQlVTYCBlbmFibGVkIG9yIGNhbiBpdCBiZSBlbmFibGVkPyBJdCBsb29rcyBsaWtlIGl0IGRlcGVuZHMgb24gYE9GYCBhbmQgYSBmZXcgb3RoZXIgY29uZGl0aW9ucyBpbnZvbHZpbmcgdGhlIGFyY2hpdGVjdHVyZSBhbmQgYSBgQ09NUElMRV9URVNUYCBmbGFnOiBgT0YgXHUwMDI2XHUwMDI2IChBUkNIX0xBWUVSU0NBUEUgfHwgKENPTVBJTEVfVEVTVCBcdTAwMjZcdTAwMjYgKEFSTSB8fCBBUk02NCB8fCBYODZfTE9DQUxfQVBJQyB8fCBQUEMpKSlgLiBTbywgaXQgKmNvdWxkKiBiZSBjb21waWxlZCBvbiB4ODYgd2l0aCB0aGUgYENPTVBJTEVfVEVTVGAgb3B0aW9uLlxuXG5CdXQgdGhlIHJlYWwgcXVlc3Rpb24gaXMgcHJvYmluZy4uLiBjYW4gaXQgYWN0dWFsbHkgKnByb2JlKj8gVGhlIGBmc2wtbWNgIGJ1cyBkcml2ZXIgcHJvYmVzIG9uIGEgc3BlY2lmaWMgcGxhdGZvcm0gZGV2aWNlOiBcImZzbCxxb3JpcS1tY1wiLiBXaXRob3V0IHRoYXQgcGxhdGZvcm0gZGV2aWNlLCB0aGUgYnVzIGRyaXZlciB3b24ndCBwcm9iZSwgYW5kIG5vIGBmc2wtbWNgIGRldmljZXMgYXJlIGNyZWF0ZWQuIFRoYXQgbWVhbnMgYGRwYWEyX2V0aF9wcm9iZWAgd2lsbCBuZXZlciBldmVuIGJlIGNhbGxlZC5cblxuU28sIGlzIHRoZXJlIGEgd2F5IHRvIGNyZWF0ZSBwbGF0Zm9ybSBkZXZpY2VzIGZyb20gdXNlcnNwYWNlPyBNYXliZSB1c2luZyBgc3l6X2RldmxpbmtgIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQ/IE5vcGUuIEFoLCB3YWl0LCB0aGVyZSdzIGRldmljZSB0cmVlIG92ZXJsYXlzIGFnYWluLiBTeXprYWxsZXIgZG9lc24ndCBzZWVtIHRvIHN1cHBvcnQgaW5qZWN0aW5nIHBsYXRmb3JtIGRldmljZXMgdmlhIG92ZXJsYXlzLlxuXG5XYWl0LCBtYXliZSB0aGVyZSdzIGEgdmlydHVhbCBkcml2ZXIgZm9yIHRoaXMgdGhpbmcgc29tZXdoZXJlPyBMZXQncyBnbyBsb29rIGZvciBhbnkgdmlydHVhbCBgZnNsLW1jYCBkZXZpY2VzLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxMDk2MiwiT3V0cHV0VG9rZW5zIjoyOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ0OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MDo1NC4wNTExNzk5NjRaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjM2MzAwMjQ5MiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJmc2wscW9yaXEtbWNcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTMtLS0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sPTUxPXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbC01My0gICAgZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbDo1NDogICAgICAtIGZzbCxxb3JpcS1tY1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTU1LSAgICBkZXNjcmlwdGlvbjpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbDo1NjogICAgICBNdXN0IGJlIFxcXCJmc2wscW9yaXEtbWNcXFwiLiAgQSBGcmVlc2NhbGUgTWFuYWdlbWVudCBDb21wbGV4XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwtNTctICAgICAgY29tcGF0aWJsZSB3aXRoIHRoaXMgYmluZGluZyBtdXN0IGhhdmUgQmxvY2sgUmV2aXNpb25cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTE0My0gICAgICAnXmV0aGVybmV0QFthLWYwLTldKyQnOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sOjE0NDogICAgICAgICRyZWY6IC9zY2hlbWFzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTE0NS1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sPTE1Nz1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTE1OS0gICAgZnNsLW1jQDgwYzAwMDAwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWw6MTYwOiAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWNcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTE2MS0gICAgICAgIHJlZyA9IFxcdTAwM2MweDBjMDAwMDAwIDB4NDBcXHUwMDNlLCAgICAvKiBNQyBwb3J0YWwgYmFzZSAqL1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvZnNsLHFvcmlxLW1jLnlhbWwtMTgxLSAgICAgICAgICAgIGV0aGVybmV0QDEge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sOjE4MjogICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sLTE4My0gICAgICAgICAgICAgICAgcmVnID0gXFx1MDAzYzFcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sPTE5PXByb3BlcnRpZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbC0yMC0gIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbDoyMTogICAgY29uc3Q6IGZzbCxxb3JpcS1tYy1kcG1hY1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWwtMjItXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sPTQyPWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9mc2wscW9yaXEtbWMtZHBtYWMueWFtbC00OC0gICAgICBldGhlcm5ldEA0IHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ZzbCxxb3JpcS1tYy1kcG1hYy55YW1sOjQ5OiAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZnNsLHFvcmlxLW1jLWRwbWFjLnlhbWwtNTAtICAgICAgICByZWcgPSBcXHUwMDNjMHg0XFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvb3ZlcnZpZXcucnN0PTMyNz1UaGUgTUMtYnVzIGRyaXZlciBpcyBhIHBsYXRmb3JtIGRyaXZlciBhbmQgaXMgcHJvYmVkIGZyb20gYVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvb3ZlcnZpZXcucnN0OjMyODpub2RlIGluIHRoZSBkZXZpY2UgdHJlZSAoY29tcGF0aWJsZSBcXFwiZnNsLHFvcmlxLW1jXFxcIikgcGFzc2VkIGluIGJ5IGJvb3RcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL292ZXJ2aWV3LnJzdC0zMjktZmlybXdhcmUuICBJdCBpcyByZXNwb25zaWJsZSBmb3IgYm9vdHN0cmFwcGluZyB0aGUgRFBBQTIga2VybmVsXFxuLS1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL292ZXJ2aWV3LnJzdD0zNDE9VGhlIGJpbmRpbmcgZm9yIHRoZSBNQy1idXMgZGV2aWNlLXRyZWUgbm9kZSBjYW4gYmUgY29uc3VsdGVkIGF0XFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9vdmVydmlldy5yc3Q6MzQyOipEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlzYy9mc2wscW9yaXEtbWMueWFtbCouXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhMi9vdmVydmlldy5yc3QtMzQzLVRoZSBzeXNmcyBiaW5kL3VuYmluZCBpbnRlcmZhY2VzIGZvciB0aGUgTUMtYnVzIGNhbiBiZSBjb25zdWx0ZWQgYXRcXG4tLVxcbk1BSU5UQUlORVJTPTIyMDMwPUY6XFx0RG9jdW1lbnRhdGlvbi9BQkkvc3RhYmxlL3N5c2ZzLWJ1cy1mc2wtbWNcXG5NQUlOVEFJTkVSUzoyMjAzMTpGOlxcdERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL2ZzbCxxb3JpcS1tYy55YW1sXFxuTUFJTlRBSU5FUlMtMjIwMzItRjpcXHREb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL292ZXJ2aWV3LnJzdFxcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT05Njg9XFx0XFx0ZnNsX21jOiBmc2wtbWNAODBjMDAwMDAwIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjk2OTpcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS05NzAtXFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4MDAwMDAwMDggMHgwYzAwMDAwMCAwIDB4NDBcXHUwMDNlLFxcdCAvKiBNQyBwb3J0YWwgYmFzZSAqL1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT05ODk9XFx0XFx0XFx0XFx0ZHBtYWMxOiBldGhlcm5ldEAxIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjk5MDpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS05OTEtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzFcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT05OTQ9XFx0XFx0XFx0XFx0ZHBtYWMyOiBldGhlcm5ldEAyIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjk5NTpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaS05OTYtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzJcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaT05OTk9XFx0XFx0XFx0XFx0ZHBtYWMzOiBldGhlcm5ldEAzIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMDA6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAwMS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjM1xcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMDQ9XFx0XFx0XFx0XFx0ZHBtYWM0OiBldGhlcm5ldEA0IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMDU6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAwNi1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjNFxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMDk9XFx0XFx0XFx0XFx0ZHBtYWM1OiBldGhlcm5ldEA1IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMTA6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAxMS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjNVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMTQ9XFx0XFx0XFx0XFx0ZHBtYWM2OiBldGhlcm5ldEA2IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMTU6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAxNi1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjNlxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMTk9XFx0XFx0XFx0XFx0ZHBtYWM3OiBldGhlcm5ldEA3IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMjA6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAyMS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjN1xcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMjQ9XFx0XFx0XFx0XFx0ZHBtYWM4OiBldGhlcm5ldEA4IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMjU6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAyNi1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjOFxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMjk9XFx0XFx0XFx0XFx0ZHBtYWM5OiBldGhlcm5ldEA5IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpOjEwMzA6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2ktMTAzMS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjOVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpPTEwMzQ9XFx0XFx0XFx0XFx0ZHBtYWMxMDogZXRoZXJuZXRAYSB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaToxMDM1OlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpLTEwMzYtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4YVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTc1Nz1cXHRcXHRmc2xfbWM6IGZzbC1tY0A4MGMwMDAwMDAge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6NzU4OlxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTc1OS1cXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHgwMDAwMDAwOCAweDBjMDAwMDAwIDAgMHg0MFxcdTAwM2UsXFx0IC8qIE1DIHBvcnRhbCBiYXNlICovXFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTc4MT1cXHRcXHRcXHRcXHRkcG1hYzE6IGV0aGVybmV0QDEge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6NzgyOlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTc4My1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHgxXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9Nzg3PVxcdFxcdFxcdFxcdGRwbWFjMjogZXRoZXJuZXRAMiB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo3ODg6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktNzg5LVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDJcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT03OTM9XFx0XFx0XFx0XFx0ZHBtYWMzOiBldGhlcm5ldEAzIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjc5NDpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS03OTUtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4M1xcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTc5OT1cXHRcXHRcXHRcXHRkcG1hYzQ6IGV0aGVybmV0QDQge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6ODAwOlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTgwMS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHg0XFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9ODA1PVxcdFxcdFxcdFxcdGRwbWFjNTogZXRoZXJuZXRANSB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4MDY6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODA3LVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDVcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT04MTE9XFx0XFx0XFx0XFx0ZHBtYWM2OiBldGhlcm5ldEA2IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjgxMjpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04MTMtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4NlxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTgxNz1cXHRcXHRcXHRcXHRkcG1hYzc6IGV0aGVybmV0QDcge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k6ODE4OlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpLTgxOS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHg3XFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2k9ODIzPVxcdFxcdFxcdFxcdGRwbWFjODogZXRoZXJuZXRAOCB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4MjQ6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODI1LVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDhcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaT04Mjk9XFx0XFx0XFx0XFx0ZHBtYWM5OiBldGhlcm5ldEA5IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjgzMDpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04MzEtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4OVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTgzNT1cXHRcXHRcXHRcXHRkcG1hYzEwOiBldGhlcm5ldEBhIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjgzNjpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04MzctXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4YVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg0MT1cXHRcXHRcXHRcXHRkcG1hYzExOiBldGhlcm5ldEBiIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg0MjpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04NDMtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4YlxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg0Nz1cXHRcXHRcXHRcXHRkcG1hYzEyOiBldGhlcm5ldEBjIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg0ODpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04NDktXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4Y1xcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg1Mz1cXHRcXHRcXHRcXHRkcG1hYzEzOiBldGhlcm5ldEBkIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg1NDpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04NTUtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4ZFxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg1OT1cXHRcXHRcXHRcXHRkcG1hYzE0OiBldGhlcm5ldEBlIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg2MDpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04NjEtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4ZVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg2NT1cXHRcXHRcXHRcXHRkcG1hYzE1OiBldGhlcm5ldEBmIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpOjg2NjpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaS04NjctXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4ZlxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpPTg3MT1cXHRcXHRcXHRcXHRkcG1hYzE2OiBldGhlcm5ldEAxMCB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaTo4NzI6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczIwOHhhLmR0c2ktODczLVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDEwXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTg4MD1cXHRcXHRmc2xfbWM6IGZzbC1tY0A4MGMwMDAwMDAge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTg4MTpcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xODgyLVxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDAwMDAwMDA4IDB4MGMwMDAwMDAgMCAweDQwXFx1MDAzZSxcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTkwNT1cXHRcXHRcXHRcXHRkcG1hYzE6IGV0aGVybmV0QDEge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTkwNjpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTA3LVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDFcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTExPVxcdFxcdFxcdFxcdGRwbWFjMjogZXRoZXJuZXRAMiB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTEyOlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5MTMtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4MlxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5MTc9XFx0XFx0XFx0XFx0ZHBtYWMzOiBldGhlcm5ldEAzIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5MTg6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTkxOS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHgzXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTkyMz1cXHRcXHRcXHRcXHRkcG1hYzQ6IGV0aGVybmV0QDQge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTkyNDpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTI1LVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDRcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTI5PVxcdFxcdFxcdFxcdGRwbWFjNTogZXRoZXJuZXRANSB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTMwOlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5MzEtXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4NVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5MzU9XFx0XFx0XFx0XFx0ZHBtYWM2OiBldGhlcm5ldEA2IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5MzY6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTkzNy1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHg2XFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk0MT1cXHRcXHRcXHRcXHRkcG1hYzc6IGV0aGVybmV0QDcge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MTk0MjpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0xOTQzLVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDdcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0xOTQ3PVxcdFxcdFxcdFxcdGRwbWFjODogZXRoZXJuZXRAOCB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTQ4OlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5NDktXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4OFxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTE5NTM9XFx0XFx0XFx0XFx0ZHBtYWM5OiBldGhlcm5ldEA5IHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5NTQ6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk1NS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHg5XFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk1OT1cXHRcXHRcXHRcXHRkcG1hYzEwOiBldGhlcm5ldEBhIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5NjA6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk2MS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHhhXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk2NT1cXHRcXHRcXHRcXHRkcG1hYzExOiBldGhlcm5ldEBiIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5NjY6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk2Ny1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHhiXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk3MT1cXHRcXHRcXHRcXHRkcG1hYzEyOiBldGhlcm5ldEBjIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5NzI6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk3My1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHhjXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk3Nz1cXHRcXHRcXHRcXHRkcG1hYzEzOiBldGhlcm5ldEBkIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5Nzg6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk3OS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHhkXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk4Mz1cXHRcXHRcXHRcXHRkcG1hYzE0OiBldGhlcm5ldEBlIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5ODQ6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk4NS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHhlXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk4OT1cXHRcXHRcXHRcXHRkcG1hYzE1OiBldGhlcm5ldEBmIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjE5OTA6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMTk5MS1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHhmXFx1MDAzZTtcXG4tLVxcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k9MTk5NT1cXHRcXHRcXHRcXHRkcG1hYzE2OiBldGhlcm5ldEAxMCB7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaToxOTk2OlxcdFxcdFxcdFxcdFxcdGNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jLWRwbWFjXFxcIjtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpLTE5OTctXFx0XFx0XFx0XFx0XFx0cmVnID0gXFx1MDAzYzB4MTBcXHUwMDNlO1xcbi0tXFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaT0yMDAxPVxcdFxcdFxcdFxcdGRwbWFjMTc6IGV0aGVybmV0QDExIHtcXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpOjIwMDI6XFx0XFx0XFx0XFx0XFx0Y29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWMtZHBtYWNcXFwiO1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2ktMjAwMy1cXHRcXHRcXHRcXHRcXHRyZWcgPSBcXHUwMDNjMHgxMVxcdTAwM2U7XFxuLS1cXG5hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHgyMTYwYS5kdHNpPTIwMDc9XFx0XFx0XFx0XFx0ZHBtYWMxODogZXRoZXJuZXRAMTIge1xcbmFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1seDIxNjBhLmR0c2k6MjAwODpcXHRcXHRcXHRcXHRcXHRjb21wYXRpYmxlID0gXFxcImZzbCxxb3JpcS1tYy1kcG1hY1xcXCI7XFxuYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWx4MjE2MGEuZHRzaS0yMDA5LVxcdFxcdFxcdFxcdFxcdHJlZyA9IFxcdTAwM2MweDEyXFx1MDAzZTtcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MzM9c3RhdGljIHN0cnVjdCBmc2xfbWNfdmVyc2lvbiBtY192ZXJzaW9uO1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0zNS0vKipcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjM2OiAqIHN0cnVjdCBmc2xfbWMgLSBQcml2YXRlIGRhdGEgb2YgYSBcXFwiZnNsLHFvcmlxLW1jXFxcIiBwbGF0Zm9ybSBkZXZpY2VcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTM3LSAqIEByb290X21jX2J1c19kZXY6IGZzbC1tYyBkZXZpY2UgcmVwcmVzZW50aW5nIHRoZSByb290IERQUkNcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9OTYxPXN0YXRpYyBpbnQgZ2V0X21jX2FkZHJfdHJhbnNsYXRpb25fcmFuZ2VzKHN0cnVjdCBkZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtOTc0LVxcdFxcdCAqIE1pc3Npbmcgb3IgZW1wdHkgcmFuZ2VzIHByb3BlcnR5IChcXFwicmFuZ2VzO1xcXCIpIGZvciB0aGVcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjk3NTpcXHRcXHQgKiAnZnNsLHFvcmlxLW1jJyBub2RlLiBJbiB0aGlzIGNhc2UsIGlkZW50aXR5IG1hcHBpbmdcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTk3Ni1cXHRcXHQgKiB3aWxsIGJlIHVzZWQuXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jPTExOTc9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZnNsX21jX2J1c19tYXRjaF90YWJsZVtdID0ge1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MTE5ODpcXHR7LmNvbXBhdGlibGUgPSBcXFwiZnNsLHFvcmlxLW1jXFxcIix9LFxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMTE5OS1cXHR7fSxcXG4tLVxcbmRyaXZlcnMvY3J5cHRvL2NhYW0vY3RybC5jPTg1OT1zdGF0aWMgaW50IGNhYW1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldilcXG4tLVxcbmRyaXZlcnMvY3J5cHRvL2NhYW0vY3RybC5jLTEwMTItXFx0Y3RybHByaXYtXFx1MDAzZXNlY3Zpb19pcnEgPSBpcnFfb2ZfcGFyc2VfYW5kX21hcChucHJvcCwgMCk7XFxuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmM6MTAxMzpcXHRucCA9IG9mX2ZpbmRfY29tcGF0aWJsZV9ub2RlKE5VTEwsIE5VTEwsIFxcXCJmc2wscW9yaXEtbWNcXFwiKTtcXG5kcml2ZXJzL2NyeXB0by9jYWFtL2N0cmwuYy0xMDE0LVxcdGN0cmxwcml2LVxcdTAwM2VtY19lbiA9ICEhbnA7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjQwOjU2LjQxNDE5MTY0NloiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE4OTcxMTkyMzI0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKldvcnRoRnV6emluZyBEZWNpc2lvbjogUGxhdGZvcm0gRGV2aWNlIFwiZnNsLHFvcmlxLW1jXCIqKlxuXG5Pa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uIFRoZSBjb2RlIHRhcmdldHMgdGhlIFwiZnNsLHFvcmlxLW1jXCIgcGxhdGZvcm0gZGV2aWNlLCB3aGljaCBpcyBzcGVjaWZpYyB0byBGcmVlc2NhbGUgU29Dcy4gSSBrbm93IHRoaXMgaXMgdHlwaWNhbGx5IGZvdW5kIGluIGRldmljZSB0cmVlcyBmb3IgcGxhdGZvcm1zIGxpa2UgZnNsLWxzMTA4OGEsIGZzbC1sczIwOHhhLCBvciBmc2wtbHgyMTYwYS4gVGhlIGltbWVkaWF0ZSBjb25jZXJuIGlzIHZpcnR1YWxpemF0aW9uLiBJIG5lZWQgdG8gZGV0ZXJtaW5lIGlmIHRoaXMgaXMgcmVhY2hhYmxlIGluIHN0YW5kYXJkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLCBiZWNhdXNlIHRoZSBwcm9tcHQgZXhwbGljaXRseSBzdGF0ZXMgdGhhdCBJIHNob3VsZCByZXR1cm4gYFdvcnRoRnV6emluZz1mYWxzZWAgaWYgaXQncyBub3QuXG5cbk15IGluaXRpYWwgdGhvdWdodCBpcywgUUVNVSBkb2Vzbid0IGVtdWxhdGUgdGhpcyBkaXJlY3RseTsgaXQncyBub3QgYSBzdGFuZGFyZCBmZWF0dXJlLiBJIHN0YXJ0IGNvbnNpZGVyaW5nIGlmIHN5emthbGxlciBpcyBzb21laG93IGZ1enppbmcgdGhpcy4gSXQgaGFzIGBzeXpfZ2VuZXRsaW5rYCBhbmQgYHN5el91c2JfY29ubmVjdGAsIGJ1dCBwbGF0Zm9ybSBkZXZpY2VzIGFyZSBhIGRpZmZlcmVudCBiZWFzdC4gU3l6a2FsbGVyIHVzdWFsbHkgbmVlZHMgc3BlY2lmaWMgcHNldWRvLWRldmljZXMgb3IgZGV2aWNlIHRyZWUgb3ZlcmxheXMgdG8gaW5qZWN0IHRoZW0uIFRoZW4gSSByZW1lbWJlciBgc3l6X2RldmxpbmtgLCBidXQgdGhhdCdzIGZvciB0aGUgZGV2bGluayBzdWJzeXN0ZW0sIG5vdCBwbGF0Zm9ybSBkZXZpY2VzLlxuXG5BaGEhIFN5emthbGxlciAqY2FuKiBydW4gb24gcmVhbCBoYXJkd2FyZSwgbGlrZSBOWFAgYm9hcmRzLCBvciBldmVuIHNwZWNpZmljIEFSTTY0IFFFTVUgY29uZmlndXJhdGlvbnMuIFNvLCB0aGUgcG9zc2liaWxpdHkgZXhpc3RzIHRoYXQgc3l6a2FsbGVyIGlzIGhpdHRpbmcgdGhpcyBvbiBwaHlzaWNhbCBoYXJkd2FyZS4gSSBuZWVkIHRvIGtlZXAgdGhhdCBpbiBtaW5kLiBUaGUgcHJvbXB0J3MgbGFuZ3VhZ2UgaXMgcHJlY2lzZTogaWYgY29kZSBwYXRocyBhcmUgXCJpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFwiIGV2ZW4gd2l0aCBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSwgdGhlbiBgV29ydGhGdXp6aW5nPWZhbHNlYC5cblxuSSBhdHRlbXB0IHRvIGNvbmZpcm0gaWYgUUVNVSBlbXVsYXRlcyBcImZzbCxxb3JpcS1tY1wiLiBJIGNhbid0IGNoZWNrIFFFTVUncyBzb3VyY2UgZGlyZWN0bHksIGJ1dCBJIGxvb2sgZm9yIGFueSBrZXJuZWwgZXZpZGVuY2Ugc3VnZ2VzdGluZyBpdCdzIHZpcnR1YWwuIFRoaXMgaXMgYSAqaGFyZHdhcmUqIGRldmljZSDigJMgdGhlIEZyZWVzY2FsZSBNYW5hZ2VtZW50IENvbXBsZXguIEl0J3MgYSBcInBsYXRmb3JtIGJ1c1wiIGRldmljZSwgaW5zdGFudGlhdGVkIGVpdGhlciBmcm9tIHRoZSBkZXZpY2UgdHJlZSAoRFQpIG9yIEFDUEkuIFRoZXJlJ3Mgbm8ga2VybmVsIGNvZGUgbWFudWFsbHkgaW5zdGFudGlhdGluZyBcImZzbCxxb3JpcS1tY1wiIGV4Y2VwdCBwZXJoYXBzIGluIGJvYXJkLXNwZWNpZmljIGZpbGVzLCB3aGljaCBhcmUgbGVzcyByZWxldmFudCB3aXRoIEFSTTY0J3MgRFQgZm9jdXMuXG5cbkRvZXMgdGhlIGB2aXJ0YCBRRU1VIG1hY2hpbmUsIG9yIHNpbWlsYXIsIGluc3RhbnRpYXRlIHRoaXM/IE5vLCBgdmlydGAgdXNlcyB2aXJ0aW8uIFFFTVUgZG9lcyBoYXZlIG1hY2hpbmUgdHlwZXMsIHN1Y2ggYXMgYHhsbngtemN1MTAyYCwgYHJhc3BpM2AsIGV0YywgYnV0IEkgZG9uJ3QgYmVsaWV2ZSB0aGVyZSdzIGZ1bGwgRFBBQTIgZW11bGF0aW9uLCBiZWNhdXNlIERQQUEyIGlzIGEgdmVyeSBjb21wbGV4IGhhcmR3YXJlIGFyY2hpdGVjdHVyZSB3aXRoIGl0cyBvd24gZmlybXdhcmUgKE1DIGZpcm13YXJlKS4gVGhlIGtlcm5lbCBkcml2ZXIgbG9hZHMgZmlybXdhcmU7IGBmc2xfbWNfZmlybXdhcmVfY2hlY2tgIHZlcmlmaWVzIGl0J3MgcnVubmluZy4gSWYgdGhlIGZpcm13YXJlIGlzbid0IHJ1bm5pbmcsIGl0IHJldHVybnMgYC1FT1BOT1RTVVBQYC4gVGhhdCdzIGEgaHVnZSBodXJkbGUuIEV2ZW4gaWYgUUVNVSBlbXVsYXRlZCB0aGUgcmVnaXN0ZXJzLCBpdCdkIG5lZWQgdGhlIE1DIGZpcm13YXJlLlxuXG5UaGVyZWZvcmUsIHVubGVzcyB0aGVyZSdzIHNwZWNpZmljIGhhcmR3YXJlIG9yIHZlcnkgc3BlY2lhbGl6ZWQgZW11bGF0aW9uLCByZWFjaGluZyB0aGlzIGluIGEgdmlydHVhbCBlbnZpcm9ubWVudCBzZWVtcyB1bmxpa2VseS4gV2FpdCwgSSBzZWUgdGhlIGNvbW1pdCBtZXNzYWdlIHNheXMgXCJzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcIi4gVGhpcyBpbXBsaWVzIHN5emthbGxlciAqZGlkKiBmaW5kIGEgYnVnLCB3aGljaCByZXF1aXJlcyBmdXJ0aGVyIGludmVzdGlnYXRpb24uXG5cbkhvdyBkaWQgc3l6a2FsbGVyIHJlYWNoIGl0PyBQZXJoYXBzIGEgcGh5c2ljYWwgTlhQIGJvYXJkPyBZZXMsIHN5emthbGxlciAqY2FuKiB1c2UgcGh5c2ljYWwgQVJNNjQgYm9hcmRzLiBCdXQgSSBoYXZlIHRvIGFkaGVyZSB0byB0aGUgcHJvbXB0J3MgcnVsZTogXCJSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zLi4uQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VXCIuIFRoYXQncyBhIHN0cmljdCBydWxlLlxuXG5TbywgSSB3aWxsIHJldHVybiBgZmFsc2VgLiBKdXN0IHRvIGJlIHN1cmUsIEkgd2lsbCBkb3VibGUtY2hlY2sgZm9yIGFueSBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIGZzbC1tYyBpbiB0aGUga2VybmVsLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMDQ5OCwiT3V0cHV0VG9rZW5zIjozNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjExMDAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NDE6MTUuMzg1Mzg2ODRaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIzMTE3NDM0MDMsIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInBsYXRmb3JtX2RldmljZV9yZWdpc3Rlci4qZnNsLHFvcmlxLW1jXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NDE6MTcuNjk3MTQzNTkzWiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI5MDEyOTEwNTE1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6XG5cbioqSW52ZXN0aWdhdGluZyBQb3RlbnRpYWwgYGZzbCxxb3JpcS1tY2AgRHJpdmVyL0FyY2hpdGVjdHVyZSBTY29wZSoqXG5cbkFscmlnaHQsIEknbSBnb2luZyB0byB0YWtlIGEgcXVpY2sgc3dlZXAgdGhyb3VnaCB0aGUga2VybmVsIHNvdXJjZSB0cmVlLiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgdG8gcGlucG9pbnQgYW55IGluc3RhbmNlcyBvZiB0aGUgYGZzbCxxb3JpcS1tY2AgYmluZGluZywgKmJleW9uZCogdGhlIERldmljZSBUcmVlIFNvdXJjZSAoRFRTKSBmaWxlcyB0aGVtc2VsdmVzLiBUaGUgRFRTIGlzIHRoZSBvYnZpb3VzIHBsYWNlIGZvciBoYXJkd2FyZSBkZXNjcmlwdGlvbiwgYnV0IEkgbmVlZCB0byBhc2NlcnRhaW4gaWYgdGhpcyBzcGVjaWZpYyBiaW5kaW5nIGhhcyBmb3VuZCBpdHMgd2F5IGludG8gYW55IGFjdHVhbCBkcml2ZXIgY29kZSAoYGRyaXZlcnMvYCkgb3IgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIChgYXJjaC9gKSBpbXBsZW1lbnRhdGlvbi4gSSBuZWVkIHRvIGtub3cgdGhlIHNjb3BlIG9mIGl0cyB1c2FnZSwgYW5kIHRoYXQgcmVxdWlyZXMgbW92aW5nIGJleW9uZCB0aGUgRFRTIGRlZmluaXRpb25zLiBJIG5lZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGlzIGFuIGV4cGxpY2l0IGRyaXZlciBmaWxlIHRoYXQgaXMgdXNpbmcgdGhpcyBiaW5kaW5nLiBMZXQncyBzZWUgd2hhdCB0dXJucyB1cC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjI0NTEsIk91dHB1dFRva2VucyI6MzAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MTo0Ni43MTAwNTU5MzhaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg2NTc2NzA0MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJmc2wscW9yaXEtbWNcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0zMz1zdGF0aWMgc3RydWN0IGZzbF9tY192ZXJzaW9uIG1jX3ZlcnNpb247XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTM1LS8qKlxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MzY6ICogc3RydWN0IGZzbF9tYyAtIFByaXZhdGUgZGF0YSBvZiBhIFxcXCJmc2wscW9yaXEtbWNcXFwiIHBsYXRmb3JtIGRldmljZVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtMzctICogQHJvb3RfbWNfYnVzX2RldjogZnNsLW1jIGRldmljZSByZXByZXNlbnRpbmcgdGhlIHJvb3QgRFBSQ1xcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz05NjE9c3RhdGljIGludCBnZXRfbWNfYWRkcl90cmFuc2xhdGlvbl9yYW5nZXMoc3RydWN0IGRldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy05NzQtXFx0XFx0ICogTWlzc2luZyBvciBlbXB0eSByYW5nZXMgcHJvcGVydHkgKFxcXCJyYW5nZXM7XFxcIikgZm9yIHRoZVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6OTc1OlxcdFxcdCAqICdmc2wscW9yaXEtbWMnIG5vZGUuIEluIHRoaXMgY2FzZSwgaWRlbnRpdHkgbWFwcGluZ1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtOTc2LVxcdFxcdCAqIHdpbGwgYmUgdXNlZC5cXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9MTE5Nz1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBmc2xfbWNfYnVzX21hdGNoX3RhYmxlW10gPSB7XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzoxMTk4OlxcdHsuY29tcGF0aWJsZSA9IFxcXCJmc2wscW9yaXEtbWNcXFwiLH0sXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMTk5LVxcdHt9LFxcbi0tXFxuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmM9ODU5PXN0YXRpYyBpbnQgY2FhbV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxcbi0tXFxuZHJpdmVycy9jcnlwdG8vY2FhbS9jdHJsLmMtMTAxMi1cXHRjdHJscHJpdi1cXHUwMDNlc2VjdmlvX2lycSA9IGlycV9vZl9wYXJzZV9hbmRfbWFwKG5wcm9wLCAwKTtcXG5kcml2ZXJzL2NyeXB0by9jYWFtL2N0cmwuYzoxMDEzOlxcdG5wID0gb2ZfZmluZF9jb21wYXRpYmxlX25vZGUoTlVMTCwgTlVMTCwgXFxcImZzbCxxb3JpcS1tY1xcXCIpO1xcbmRyaXZlcnMvY3J5cHRvL2NhYW0vY3RybC5jLTEwMTQtXFx0Y3RybHByaXYtXFx1MDAzZW1jX2VuID0gISFucDtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NDE6NDcuNTc1ODI4MTU4WiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjIyOTQ1MDUyODc3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIEZ1enppbmcgUG9zc2liaWxpdHkqKlxuXG5Pa2F5LCBzbyB0aGlzIGlzIG9ubHkgYWNjZXNzaWJsZSB0aHJvdWdoIHRoZSBkZXZpY2UgdHJlZSwgdGhhdCBpbW1lZGlhdGVseSBsaW1pdHMgdGhpbmdzLiBJdCdzIHRpZWQgdG8gc3BlY2lmaWMgRnJlZXNjYWxlIFFvcklRIERQQUEyIGhhcmR3YXJlIGFuZCB0aGUgYWNjb21wYW55aW5nIGZpcm13YXJlLiBUaGF0IG1lYW5zIGl0J3MgcHJldHR5IG11Y2ggYSBuby1nbyBpbiB0eXBpY2FsIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLiBcblxuSG9sZCBvbiwgdGhvdWdoLi4uIGNvdWxkIHN5emthbGxlciBiZSBmdXp6aW5nIHRoaXMgdGhyb3VnaCBzb21lIGFsdGVybmF0ZSBlbnRyeSBwb2ludD8gSSBuZWVkIHRvIGNvbnNpZGVyIHRoYXQuIExldCdzIHNlZSwgdGhlIHBhdGNoIGlzIHRvdWNoaW5nIGBkcGFhMl9ldGhfZGlzY29ubmVjdF9tYWNgIHdpdGhpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLWV0aC5jYC4gIEFoYSwgdGhpcyBmdW5jdGlvbiBpcyB1c2VkIGR1cmluZyBwcm9iZSwgcmVtb3ZlLCBhbmQgaW50ZXJydXB0IGhhbmRsaW5nLCB3aGljaCBhcmUgdGllZCB0byB0aGUgYGRwYWEyLWV0aGAgZHJpdmVyLlxuXG5BbmQgdGhhdCBkcml2ZXIgaXMgZGVwZW5kZW50IG9uIHRoZSBgZnNsX21jX2J1c2AuIFRoaXMgaXMgYmVjb21pbmcgY2xlYXIgbm93LiBXaXRob3V0IHRoYXQgc3BlY2lmaWMgYnVzIGFuZCB0aGUgY29ubmVjdGVkIGRldmljZSwgdGhlcmUncyBubyB3YXkgdGhlIGRyaXZlciBjYW4gZXZlbiBwcm9iZSwgd2hpY2ggbWVhbnMgdGhlIGNvZGUgaXMgdW5yZWFjaGFibGUgaW4gR0NFIG9yIFFFTVUuIEl0J3MgYSBoYXJkd2FyZS1zcGVjaWZpYyBkZXBlbmRlbmN5LlxuXG5BbHJpZ2h0LCBJJ20gZ29pbmcgdG8gcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGFuZCBleHBsYWluIGl0IGJhc2VkIG9uIHRoZSBmYWN0IHRoYXQgdGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBkZXNpZ25lZCBmb3IgRnJlZXNjYWxlIERQQUEyLCBhbmQgdGhlcmUgYXJlbid0IGFueSBrbm93biBlbXVsYXRpb25zIGluIHRoZXNlIHN0YW5kYXJkIHZpcnR1YWxpemF0aW9uIGVudmlyb25tZW50cy5cblxuQmVmb3JlIEkgbG9jayB0aGF0IGluLCBsZXQgbWUganVzdCBxdWlja2x5IGRvdWJsZS1jaGVjayB0byBzZWUgaWYgdGhlcmUncyBhbnkgYXZhaWxhYmxlIHNvZnR3YXJlIGVtdWxhdGlvbiBmb3IgdGhlIGBmc2wtbWNgIGVsZW1lbnQuIEp1c3QgdG8gYmUgY29tcGxldGVseSBzdXJlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMzI2MywiT3V0cHV0VG9rZW5zIjoyOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIzOSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MjoxMC41MjA4ODQwOTVaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE3NTQyNjUwMTAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiZnNsX21jX2RldmljZV9hZGRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYnVzL2ZzbC1tYy9kcHJjLWRyaXZlci5jPTE2OT1zdGF0aWMgdm9pZCBmc2xfbWNfb2JqX2RldmljZV9hZGQoc3RydWN0IGZzbF9tY19kZXZpY2UgKm1jX2J1c19kZXYsXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xODItXFx0fSBlbHNlIHtcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYzoxODM6XFx0XFx0ZXJyb3IgPSBmc2xfbWNfZGV2aWNlX2FkZChvYmpfZGVzYywgTlVMTCwgXFx1MDAyNm1jX2J1c19kZXYtXFx1MDAzZWRldixcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZHByYy1kcml2ZXIuYy0xODQtXFx0XFx0XFx0XFx0XFx0ICBcXHUwMDI2Y2hpbGRfZGV2KTtcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM9NzM3PXN0YXRpYyB2b2lkIGZzbF9tY19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTc1MS0gKi9cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jOjc1MjppbnQgZnNsX21jX2RldmljZV9hZGQoc3RydWN0IGZzbF9tY19vYmpfZGVzYyAqb2JqX2Rlc2MsXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy03NTMtXFx0XFx0ICAgICAgc3RydWN0IGZzbF9tY19pbyAqbWNfaW8sXFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTg3OS19XFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYzo4ODA6RVhQT1JUX1NZTUJPTF9HUEwoZnNsX21jX2RldmljZV9hZGQpO1xcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmMtODgxLVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYz0xMDM5PXN0YXRpYyBpbnQgZnNsX21jX2J1c19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxcbi0tXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1idXMuYy0xMTU3LVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtYnVzLmM6MTE1ODpcXHRlcnJvciA9IGZzbF9tY19kZXZpY2VfYWRkKFxcdTAwMjZvYmpfZGVzYywgbWNfaW8sIFxcdTAwMjZwZGV2LVxcdTAwM2VkZXYsIFxcdTAwMjZtY19idXNfZGV2KTtcXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLWJ1cy5jLTExNTktXFx0aWYgKGVycm9yIFxcdTAwM2MgMClcXG4tLVxcbmRyaXZlcnMvYnVzL2ZzbC1tYy9mc2wtbWMtcHJpdmF0ZS5oPTYwMT1zdHJ1Y3QgZnNsX21jX2J1cyB7XFxuLS1cXG5kcml2ZXJzL2J1cy9mc2wtbWMvZnNsLW1jLXByaXZhdGUuaC02MTMtXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmg6NjE0OmludCBfX211c3RfY2hlY2sgZnNsX21jX2RldmljZV9hZGQoc3RydWN0IGZzbF9tY19vYmpfZGVzYyAqb2JqX2Rlc2MsXFxuZHJpdmVycy9idXMvZnNsLW1jL2ZzbC1tYy1wcml2YXRlLmgtNjE1LVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBmc2xfbWNfaW8gKm1jX2lvLFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo0MjoxMi4yNzUxNTM1OTVaIiwiU2VxIjoxNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTc1NTMyMzY4OTc1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIGBmc2xfbWNfZGV2aWNlX2FkZGAgRnVuY3Rpb24ncyBVc2FnZSoqXG5cbk9rYXksIHNvIEkndmUgbG9va2VkIGludG8gdGhpcyBgZnNsX21jX2RldmljZV9hZGRgIGZ1bmN0aW9uIGFuZCBpdCdzIHByZXR0eSBjbGVhciB0aGF0IGl0J3MgZXhjbHVzaXZlbHkgY2FsbGVkIGZyb20gd2l0aGluIHRoZSBgZnNsLW1jYCBidXMgZHJpdmVyLiBTcGVjaWZpY2FsbHksIGZyb20gdGhlIGBmc2xfbWNfYnVzX3Byb2JlYCBhbmQgYGZzbF9tY19vYmpfZGV2aWNlX2FkZGAgZnVuY3Rpb25zLiBUaGlzIG1lYW5zIHRoZXJlJ3Mgbm8gd2F5IGZvciBzb2Z0d2FyZSB0byBlbXVsYXRlIG9yIGluamVjdCBjYWxscyB0byBpdCBmcm9tIG91dHNpZGUgdGhhdCBkcml2ZXIsIG9yIHNvbWUgb3RoZXIgbWVjaGFuaXNtLiBXaGljaCBpcyBnb29kIHRvIGtub3csIGFuZCBzYXZlcyBtZSBzb21lIHRpbWUuIFdpdGggdGhhdCB1bmRlcnN0YW5kaW5nIGluIHBsYWNlLCBJJ2xsIGdvIGFoZWFkIGFuZCBzZXQgYFdvcnRoRnV6emluZz1mYWxzZWAgZm9yIHRoaXMgcGFydC4gSXQgc2VlbXMgYSB3YXN0ZSBvZiByZXNvdXJjZXMgdG8gdGFyZ2V0IHNvbWV0aGluZyB0aGF0IGNhbid0IGJlIHJlYWNoZWQgaW4gdGhlIHVzdWFsIGZ1enppbmcgbW9kZXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0NTgzLCJPdXRwdXRUb2tlbnMiOjEwNSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjcyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjQ1OjA3LjgwNzUyNTMzWiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjY0OTAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEZyZWVzY2FsZSBEUEFBMiBFdGhlcm5ldCBkcml2ZXIgKGRwYWEyLWV0aCksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgZnNsLW1jIGJ1cyBmb3VuZCBvbiBOWFAgUW9ySVEgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBmb3IgZnV6emluZyBpbiB0aGVzZSBlbnZpcm9ubWVudHMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgRnJlZXNjYWxlIERQQUEyIEV0aGVybmV0IGRyaXZlciAoZHBhYTItZXRoKSwgd2hpY2ggaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIHRoZSBmc2wtbWMgYnVzIGZvdW5kIG9uIE5YUCBRb3JJUSBTb0NzLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRSwgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGZvciBmdXp6aW5nIGluIHRoZXNlIGVudmlyb25tZW50cy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflow49ftp[1] Phase: Running StartedAt: 2026-07-09 02:45:19 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflow49ftp[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-07-09 02:45:19 +0000 UTC FinishedAt: 2026-07-09 02:45:28 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:code,Default:nil,Value:*1,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*1,}