Name: series-workflowt6cdx Phase: Failed StartedAt: 2026-08-02 05:58:10 +0000 UTC FinishedAt: 2026-08-02 06:00:51 +0000 UTC Input: nil Output: nil --------- Name: series-workflowt6cdx[0] Phase: Succeeded StartedAt: 2026-08-02 05:58:10 +0000 UTC FinishedAt: 2026-08-02 06:00:26 +0000 UTC Input: nil Output: nil --------- Name: series-workflowt6cdx[0].run-triage Phase: Succeeded StartedAt: 2026-08-02 05:58:10 +0000 UTC FinishedAt: 2026-08-02 06:00:26 +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+CgkJCTx0ZD4yMDI2LzA4LzAyIDA1OjU5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgUmVhbHRlayBSVEw4MzY2UkIgRFNBIHN3aXRjaC4gVGhpcyBkZXZpY2UgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUvR0NFIGVudmlyb25tZW50cywgYW5kIHRoZSBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgZGV2aWNlIHRyZWUgbm9kZXMgb3IgaGFyZHdhcmUgdG8gcHJvYmUsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMDU6NTk8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBjY2ZjMzcxZjJkMTBkNGE4NjhjM2E1NjVjYmM2NjhmZDljODNiNjMwXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFN1biBBdWcgMiAwNTo1OTo1OCAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYyBiL2RyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jXG5pbmRleCBkMmZhOGZmNmE1ZDA4Li5mMTE4MzFiNjZkZTg4IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jXG5AQCAtNzk0LDExICYjNDM7Nzk0LDEwIEBAIHN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwX2FsbF9sZWRzX29mZihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2KVxuIHN0YXRpYyBpbnQgcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCBpbnQgcG9ydCxcbiBcdFx0XHRcdFx0dTMyIG1hc2spXG4ge1xuLVx0LyogQml0IDAgZW5hYmxlcyBpc29sYXRpb24gc28gc2V0IHRoaXMgaWYgd2UgZW5hYmxlIGlzb2xhdGlvblxuLVx0ICogYW55IG9mIHRoZSBwb3J0cyBhbiBjbGVhciBpdCBpZiB3ZSBkaXNhYmxlIG9uIGFsbCBvZiB0aGVtLlxuJiM0MztcdC8qIEJpdCAwIGVuYWJsZXMgaXNvbGF0aW9uLCB0aGUgbWFzayBpbmRpY2F0ZXMgYWxsb3dlZCBmb3J3YXJkaW5nXG4mIzQzO1x0ICogcG9ydHNcbiBcdCAqL1xuLVx0aWYgKG1hc2spXG4tXHRcdG1hc2sgPSBSVEw4MzY2UkJfUE9SVF9JU09fUE9SVFMobWFzaykgfCBSVEw4MzY2UkJfUE9SVF9JU09fRU47XG4mIzQzO1x0bWFzayA9IFJUTDgzNjZSQl9QT1JUX0lTT19QT1JUUyhtYXNrKSB8IFJUTDgzNjZSQl9QT1JUX0lTT19FTjtcbiBcbiBcdHJldHVybiByZWdtYXBfd3JpdGUocHJpdi1cdTAwM2VtYXAsIFJUTDgzNjZSQl9QT1JUX0lTTyhwb3J0KSxcbiBcdFx0XHQgICAgbWFzayk7XG5AQCAtOTc0LDcgJiM0Mzs5NzMsNyBAQCBzdGF0aWMgaW50IHJ0bDgzNjZyYl9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpXG4gXHRcdGlmICghZHNhX3BvcnRfaXNfdXNlcihkcCkpXG4gXHRcdFx0Y29udGludWU7XG4gXG4tXHRcdC8qIEZvcndhcmQgb25seSB0byB0aGUgQ1BVICovXG4mIzQzO1x0XHQvKiBGb3J3YXJkIG9ubHkgdG8gdGhlIENQVShzKSwgaXNvbGF0ZSBmcm9tIGFsbCBvdGhlciBwb3J0cyAqL1xuIFx0XHRyZXQgPSBydGw4MzY2cmJfcG9ydF9zZXRfaXNvbGF0aW9uKHByaXYsIGRwLVx1MDAzZWluZGV4LCB1cHBvcnRzX21hc2spO1xuIFx0XHRpZiAocmV0KVxuIFx0XHRcdHJldHVybiByZXQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMDU6NTk8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgUmVhbHRlayBSVEw4MzY2UkIgRFNBIHN3aXRjaC4gVGhpcyBkZXZpY2UgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUvR0NFIGVudmlyb25tZW50cywgYW5kIHRoZSBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgZGV2aWNlIHRyZWUgbm9kZXMgb3IgaGFyZHdhcmUgdG8gcHJvYmUsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBjY2ZjMzcxZjJkMTBkNGE4NjhjM2E1NjVjYmM2NjhmZDljODNiNjMwCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFN1biBBdWcgMiAwNTo1OTo1OCAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jIGIvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMKaW5kZXggZDJmYThmZjZhNWQwOC4uZjExODMxYjY2ZGU4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMKQEAgLTc5NCwxMSAmIzQzOzc5NCwxMCBAQCBzdGF0aWMgaW50IHJ0bDgzNjZyYl9zZXR1cF9hbGxfbGVkc19vZmYoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdikKIHN0YXRpYyBpbnQgcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCBpbnQgcG9ydCwKIAkJCQkJdTMyIG1hc2spCiB7Ci0JLyogQml0IDAgZW5hYmxlcyBpc29sYXRpb24gc28gc2V0IHRoaXMgaWYgd2UgZW5hYmxlIGlzb2xhdGlvbgotCSAqIGFueSBvZiB0aGUgcG9ydHMgYW4gY2xlYXIgaXQgaWYgd2UgZGlzYWJsZSBvbiBhbGwgb2YgdGhlbS4KJiM0MzsJLyogQml0IDAgZW5hYmxlcyBpc29sYXRpb24sIHRoZSBtYXNrIGluZGljYXRlcyBhbGxvd2VkIGZvcndhcmRpbmcKJiM0MzsJICogcG9ydHMKIAkgKi8KLQlpZiAobWFzaykKLQkJbWFzayA9IFJUTDgzNjZSQl9QT1JUX0lTT19QT1JUUyhtYXNrKSB8IFJUTDgzNjZSQl9QT1JUX0lTT19FTjsKJiM0MzsJbWFzayA9IFJUTDgzNjZSQl9QT1JUX0lTT19QT1JUUyhtYXNrKSB8IFJUTDgzNjZSQl9QT1JUX0lTT19FTjsKIAogCXJldHVybiByZWdtYXBfd3JpdGUocHJpdi0mZ3Q7bWFwLCBSVEw4MzY2UkJfUE9SVF9JU08ocG9ydCksCiAJCQkgICAgbWFzayk7CkBAIC05NzQsNyAmIzQzOzk3Myw3IEBAIHN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcykKIAkJaWYgKCFkc2FfcG9ydF9pc191c2VyKGRwKSkKIAkJCWNvbnRpbnVlOwogCi0JCS8qIEZvcndhcmQgb25seSB0byB0aGUgQ1BVICovCiYjNDM7CQkvKiBGb3J3YXJkIG9ubHkgdG8gdGhlIENQVShzKSwgaXNvbGF0ZSBmcm9tIGFsbCBvdGhlciBwb3J0cyAqLwogCQlyZXQgPSBydGw4MzY2cmJfcG9ydF9zZXRfaXNvbGF0aW9uKHByaXYsIGRwLSZndDtpbmRleCwgdXBwb3J0c19tYXNrKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDA1OjU5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzNDEKCQkJCQkJCW91dHB1dDogMzYKCQkJCQkJCXRob3VnaHRzOiAyMDIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgUmVhbHRlayBSVEw4MzY2UkIgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBhIHBhdGNoIHRoYXQgdHdlYWtzIHRoZSBgcnRsODM2NnJiLmNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSBgcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbmAgZnVuY3Rpb24uIEl0IHNlZW1zIHRoZXkmIzM5O3ZlIHJlbW92ZWQgYSBjaGVjaywgdGhlIGBpZiAobWFzaylgIGNvbmRpdGlvbiwgYmVmb3JlIHNldHRpbmcgdGhlIGlzb2xhdGlvbiBtYXNrLiBUaGlzIGltbWVkaWF0ZWx5IG1ha2VzIG1lIHRoaW5rIGFib3V0IHBvdGVudGlhbCBpbXBsaWNhdGlvbnMuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoeSB0aGlzIGNoZWNrIHdhcyByZW1vdmVkIGFuZCB3aGF0IHNjZW5hcmlvcyBpdCBtaWdodCBhZmZlY3QuCgpUaGlzIGlzIHRoZSBkcml2ZXIgZm9yIHRoZSBSZWFsdGVrIFJUTDgzNjZSQiBEU0Egc3dpdGNoLCB3aGljaCBtZWFucyB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGEgRGF0YSBTd2l0Y2ggQWdncmVnYXRvci4gRFNBIHN3aXRjaGVzLCBhcyBJIGtub3csIHR5cGljYWxseSBpbnRlcmZhY2Ugd2l0aCB0aGUgbWFpbiBzeXN0ZW0gdmlhIE1ESU8sIFNQSSwgb3IgSTJDLiBUaGUgaW5zdGFudGlhdGlvbiBvZiB0aGlzIGRyaXZlciBhbmQgaG93IGl0JiMzOTtzIGNvbm5lY3RlZCBpcyBnb2luZyB0byBiZSBjcnVjaWFsLgoKTXkgZmlyc3Qgc3RlcCBpcyB0byBjb25maXJtIGhvdyB0aGlzIGRyaXZlciBpcyBhY3R1YWxseSBpbnN0YW50aWF0ZWQuIEkgbmVlZCB0byB0cmFjZSBiYWNrIGZyb20gdGhpcyBgcnRsODM2NnJiLmNgIGZpbGUgYW5kIHVuZGVyc3RhbmQgdGhlIHN1cnJvdW5kaW5nIGNvZGUuIElzIHRoaXMgZHJpdmVyIGV2ZW4gcmVhY2hhYmxlIGluIGEgdHlwaWNhbCBRRU1VIHNldHVwLCBmb3IgaW5zdGFuY2U/IE9mdGVuLCBEU0Egc3dpdGNoIGRyaXZlcnMgZGVwZW5kIGhlYXZpbHkgb24gZGV2aWNlIHRyZWUgZW50cmllcyBvciBzcGVjaWZpYyBib2FyZCBjb25maWd1cmF0aW9ucyB0byBiZSBwcm9wZXJseSBpbml0aWFsaXplZCBhbmQgZnVuY3Rpb25pbmcuIEkmIzM5O20gZ29pbmcgdG8gbG9vayBjYXJlZnVsbHkgYXQgdGhlIHN1cnJvdW5kaW5nIGNvZGUgYW5kIHNlYXJjaCBmb3IgY2x1ZXMgYWJvdXQgaG93IHRoaXMgc3dpdGNoIGlzIGNvbm5lY3RlZCB0byB0aGUgc3lzdGVtLiBJIGFsc28gbmVlZCB0byB1bmRlcnN0YW5kIGFueSBhc3N1bXB0aW9ucyB0aGlzIGRyaXZlciBtYWtlcyBhYm91dCB0aGUgaGFyZHdhcmUgaXQgY29udHJvbHMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMDY6MDA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cnRsODM2NnJiJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA1NDAgbGluZXMuXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXG5cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL01ha2VmaWxlPTEzPW9iai0kKENPTkZJR19ORVRfRFNBX1JFQUxURUtfUlRMODM2NlJCKSAmIzQzOz0gcnRsODM2Ni5vXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9NYWtlZmlsZToxNDpydGw4MzY2LW9ianMgXHRcdFx0XHQ6PSBydGw4MzY2LWNvcmUubyBydGw4MzY2cmIub1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvTWFrZWZpbGUtMTUtaWZkZWYgQ09ORklHX05FVF9EU0FfUkVBTFRFS19SVEw4MzY2UkJfTEVEU1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvTWFrZWZpbGU6MTY6cnRsODM2Ni1vYmpzIFx0XHRcdFx0JiM0Mzs9IHJ0bDgzNjZyYi1sZWRzLm9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL01ha2VmaWxlLTE3LWVuZGlmXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcmVhbHRlay5oPTE4OD12b2lkIHJ0bDgzNjZfZ2V0X2V0aHRvb2xfc3RhdHMoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwgdWludDY0X3QgKmRhdGEpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcmVhbHRlay5oLTE4OS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3JlYWx0ZWsuaDoxOTA6ZXh0ZXJuIGNvbnN0IHN0cnVjdCByZWFsdGVrX3ZhcmlhbnQgcnRsODM2NnJiX3ZhcmlhbnQ7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9yZWFsdGVrLmgtMTkxLWV4dGVybiBjb25zdCBzdHJ1Y3QgcmVhbHRla192YXJpYW50IHJ0bDgzNjVtYl92YXJpYW50O1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtNi0jaW5jbHVkZSBcJiMzNDtydGw4M3h4LmhcJiMzNDtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6NzojaW5jbHVkZSBcJiMzNDtydGw4MzY2cmIuaFwmIzM0O1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy04LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo5OnN0YXRpYyBpbmxpbmUgdTMyIHJ0bDgzNjZyYl9sZWRfZ3JvdXBfcG9ydF9tYXNrKHU4IGxlZF9ncm91cCwgdTggcG9ydClcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMTAte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMjQtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjI1OnN0YXRpYyBpbnQgcmI4MzY2cmJfZ2V0X3BvcnRfbGVkKHN0cnVjdCBydGw4MzY2cmJfbGVkICpsZWQpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTI2LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTQwLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo0MTpcdHJldHVybiAhISh2YWwgXHUwMDI2IHJ0bDgzNjZyYl9sZWRfZ3JvdXBfcG9ydF9tYXNrKGxlZF9ncm91cCwgcG9ydF9udW0pKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtNDItfVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy00My1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6NDQ6c3RhdGljIGludCByYjgzNjZyYl9zZXRfcG9ydF9sZWQoc3RydWN0IHJ0bDgzNjZyYl9sZWQgKmxlZCwgYm9vbCBlbmFibGUpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTQ1LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTUyLVx0XHRcdFx0IFJUTDgzNjZSQl9MRURfWF9YX0NUUkxfUkVHKGxlZF9ncm91cCksXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjUzOlx0XHRcdFx0IHJ0bDgzNjZyYl9sZWRfZ3JvdXBfcG9ydF9tYXNrKGxlZF9ncm91cCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtNTQtXHRcdFx0XHRcdFx0XHQgICAgICAgcG9ydF9udW0pLFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM9NzU9c3RhdGljIGludFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo3NjpydGw4MzY2cmJfY2xlZF9icmlnaHRuZXNzX3NldF9ibG9ja2luZyhzdHJ1Y3QgbGVkX2NsYXNzZGV2ICpsZGV2LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy03Ny1cdFx0XHRcdCAgICAgICBlbnVtIGxlZF9icmlnaHRuZXNzIGJyaWdodG5lc3MpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTc4LXtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6Nzk6XHRzdHJ1Y3QgcnRsODM2NnJiX2xlZCAqbGVkID0gY29udGFpbmVyX29mKGxkZXYsIHN0cnVjdCBydGw4MzY2cmJfbGVkLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy04MC1cdFx0XHRcdFx0XHQgY2Rldik7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy04NC1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6ODU6c3RhdGljIGludCBydGw4MzY2cmJfc2V0dXBfbGVkKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIHN0cnVjdCBkc2FfcG9ydCAqZHAsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTg2LVx0XHRcdCAgICAgICBzdHJ1Y3QgZndub2RlX2hhbmRsZSAqbGVkX2Z3bm9kZSlcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtODcte1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo4ODpcdHN0cnVjdCBydGw4MzY2cmIgKnJiID0gcHJpdi1cdTAwM2VjaGlwX2RhdGE7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTg5LVx0c3RydWN0IGxlZF9pbml0X2RhdGEgaW5pdF9kYXRhID0geyB9O1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy05MC1cdGVudW0gbGVkX2RlZmF1bHRfc3RhdGUgc3RhdGU7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjkxOlx0c3RydWN0IHJ0bDgzNjZyYl9sZWQgKmxlZDtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtOTItXHRjaGFyIG5hbWVbNjRdO1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMTI4LVx0bGVkLVx1MDAzZWNkZXYuYnJpZ2h0bmVzc19zZXRfYmxvY2tpbmcgPVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzoxMjk6XHRcdHJ0bDgzNjZyYl9jbGVkX2JyaWdodG5lc3Nfc2V0X2Jsb2NraW5nO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy0xMzAtXHRpbml0X2RhdGEuZndub2RlID0gbGVkX2Z3bm9kZTtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTE0Ni1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6MTQ3OmludCBydGw4MzY2cmJfc2V0dXBfbGVkcyhzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy0xNDgte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMTY1LVx0XHRmb3JfZWFjaF9jaGlsZF9vZl9ub2RlX3Njb3BlZChsZWRzX25wLCBsZWRfbnApIHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6MTY2Olx0XHRcdHJldCA9IHJ0bDgzNjZyYl9zZXR1cF9sZWQocHJpdiwgZHAsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTE2Ny1cdFx0XHRcdFx0XHQgIG9mX2Z3bm9kZV9oYW5kbGUobGVkX25wKSk7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMjktI2luY2x1ZGUgXCYjMzQ7cnRsODN4eC5oXCYjMzQ7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzozMDojaW5jbHVkZSBcJiMzNDtydGw4MzY2cmIuaFwmIzM0O1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMzEtXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMzE1LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MzE2OnN0YXRpYyBzdHJ1Y3QgcnRsODM2Nl9taWJfY291bnRlciBydGw4MzY2cmJfbWliX2NvdW50ZXJzW10gPSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0zMTctXHR7IDAsICAwLCA0LCBcJiMzNDtJZkluT2N0ZXRzXCYjMzQ7XHRcdFx0XHR9LFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTM1MS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjM1MjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9nZXRfbWliX2NvdW50ZXIoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdixcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTM1My1cdFx0XHRcdCAgICAgaW50IHBvcnQsXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMzkzLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6Mzk0OnN0YXRpYyB1MzIgcnRsODM2NnJiX2dldF9pcnFtYXNrKHN0cnVjdCBpcnFfZGF0YSAqZClcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTM5NS17XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDA4LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDA5OnN0YXRpYyB2b2lkIHJ0bDgzNjZyYl9tYXNrX2lycShzdHJ1Y3QgaXJxX2RhdGEgKmQpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MTAte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQxNC1cdHJldCA9IHJlZ21hcF91cGRhdGVfYml0cyhwcml2LVx1MDAzZW1hcCwgUlRMODM2NlJCX0lOVEVSUlVQVF9NQVNLX1JFRyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQxNTpcdFx0XHRcdCBydGw4MzY2cmJfZ2V0X2lycW1hc2soZCksIDApO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDE2LVx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MTktXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0MjA6c3RhdGljIHZvaWQgcnRsODM2NnJiX3VubWFza19pcnEoc3RydWN0IGlycV9kYXRhICpkKVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDIxLXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MjUtXHRyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMocHJpdi1cdTAwM2VtYXAsIFJUTDgzNjZSQl9JTlRFUlJVUFRfTUFTS19SRUcsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0MjY6XHRcdFx0XHQgcnRsODM2NnJiX2dldF9pcnFtYXNrKGQpLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDI3Olx0XHRcdFx0IHJ0bDgzNjZyYl9nZXRfaXJxbWFzayhkKSk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MjgtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQzMS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQzMjpzdGF0aWMgaXJxcmV0dXJuX3QgcnRsODM2NnJiX2lycShpbnQgaXJxLCB2b2lkICpkYXRhKVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDMzLXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NjMtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0NjQ6c3RhdGljIHN0cnVjdCBpcnFfY2hpcCBydGw4MzY2cmJfaXJxX2NoaXAgPSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NjUtXHQubmFtZSA9IFwmIzM0O1JUTDgzNjZSQlwmIzM0OyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ2NjpcdC5pcnFfbWFzayA9IHJ0bDgzNjZyYl9tYXNrX2lycSxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ2NzpcdC5pcnFfdW5tYXNrID0gcnRsODM2NnJiX3VubWFza19pcnEsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NjgtfTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQ2OS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ3MDpzdGF0aWMgaW50IHJ0bDgzNjZyYl9pcnFfbWFwKHN0cnVjdCBpcnFfZG9tYWluICpkb21haW4sIHVuc2lnbmVkIGludCBpcnEsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NzEtXHRcdFx0ICAgICBpcnFfaHdfbnVtYmVyX3QgaHdpcnEpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDczLVx0aXJxX3NldF9jaGlwX2RhdGEoaXJxLCBkb21haW4tXHUwMDNlaG9zdF9kYXRhKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ3NDpcdGlycV9zZXRfY2hpcF9hbmRfaGFuZGxlcihpcnEsIFx1MDAyNnJ0bDgzNjZyYl9pcnFfY2hpcCwgaGFuZGxlX3NpbXBsZV9pcnEpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDc1LVx0aXJxX3NldF9uZXN0ZWRfdGhyZWFkKGlycSwgMSk7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDgwLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDgxOnN0YXRpYyB2b2lkIHJ0bDgzNjZyYl9pcnFfdW5tYXAoc3RydWN0IGlycV9kb21haW4gKmQsIHVuc2lnbmVkIGludCBpcnEpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00ODIte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQ4Ny1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ4ODpzdGF0aWMgY29uc3Qgc3RydWN0IGlycV9kb21haW5fb3BzIHJ0bDgzNjZyYl9pcnFkb21haW5fb3BzID0ge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDg5Olx0Lm1hcCA9IHJ0bDgzNjZyYl9pcnFfbWFwLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDkwOlx0LnVubWFwID0gcnRsODM2NnJiX2lycV91bm1hcCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQ5MS1cdC54bGF0ZSAgPSBpcnFfZG9tYWluX3hsYXRlX29uZWNlbGwsXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDkzLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDk0OnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwX2Nhc2NhZGVkX2lycShzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDk1LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01NDYtXHRyZXQgPSBkZXZtX3JlcXVlc3RfdGhyZWFkZWRfaXJxKHByaXYtXHUwMDNlZGV2LCBpcnEsIE5VTEwsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo1NDc6XHRcdFx0XHRcdHJ0bDgzNjZyYl9pcnEsIElSUUZfT05FU0hPVCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTU0OC1cdFx0XHRcdFx0XCYjMzQ7UlRMODM2NlJCXCYjMzQ7LCBwcml2KTtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01NTMtXHRwcml2LVx1MDAzZWlycWRvbWFpbiA9IGlycV9kb21haW5fY3JlYXRlX2xpbmVhcihvZl9md25vZGVfaGFuZGxlKGludGMpLCBSVEw4MzY2UkJfTlVNX0lOVEVSUlVQVCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjU1NDpcdFx0XHRcdFx0XHQgICBcdTAwMjZydGw4MzY2cmJfaXJxZG9tYWluX29wcywgcHJpdik7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01NTUtXHRpZiAoIXByaXYtXHUwMDNlaXJxZG9tYWluKSB7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNTY3LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NTY4OnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldF9hZGRyKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01Njkte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTU5NS0vKiBTdHJ1Y3QgZm9yIGhhbmRsaW5nIHRoZSBqYW0gdGFibGVzJiMzOTsgZW50cmllcyAqL1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NTk2OnN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01OTctXHR1MTYgcmVnO1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTYwMS0vKiBGb3IgdGhlIFwmIzM0O3ZlcnNpb24gMFwmIzM0OyBlYXJseSBzaWxpY29uLCBhcHBlYXIgaW4gbW9zdCBzb3VyY2UgcmVsZWFzZXMgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjYwMjpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9pbml0X2phbV92ZXJfMFtdID0ge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjAzLVx0ezB4MDAwQiwgMHgwMDAxfSwgezB4MDNBNiwgMHgwMTAwfSwgezB4MDNBNywgMHgwMDAxfSwgezB4MDJEMSwgMHgzRkZGfSxcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02MzQtLyogVGhpcyB2MSBpbml0IHNlcXVlbmNlIGlzIGZyb20gQmVsa2luIEY1RDgyMzUgVS1Cb290IHJlbGVhc2UgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjYzNTpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9pbml0X2phbV92ZXJfMVtdID0ge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjM2LVx0ezB4MDAwMCwgMHgwODMwfSwgezB4MDAwMSwgMHg4MDAwfSwgezB4MDQwMCwgMHg4MTMwfSwgezB4QkU3OCwgMHgzQzNDfSxcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02NDktLyogVGhpcyB2MiBpbml0IHNlcXVlbmNlIGlzIGZyb20gQmVsa2luIEY1RDgyMzUgVS1Cb290IHJlbGVhc2UgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjY1MDpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9pbml0X2phbV92ZXJfMltdID0ge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjUxLVx0ezB4MDQ1MCwgMHgwMDAwfSwgezB4MDQwMCwgMHg4MTMwfSwgezB4MDAwQSwgMHg4M0VEfSwgezB4MDQzMSwgMHg1NDMyfSxcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02NjQtLyogQXBwZWFycyBpbiBhIEREV1JUIGNvZGUgZHVtcCAqL1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NjY1OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRsODM2NnJiX2phbV90YmxfZW50cnkgcnRsODM2NnJiX2luaXRfamFtX3Zlcl8zW10gPSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02NjYtXHR7MHgwMDAwLCAweDA4MzB9LCB7MHgwNDAwLCAweDgxMzB9LCB7MHgwMDBBLCAweDgzRUR9LCB7MHgwNDMxLCAweDU0MzJ9LFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTY4NS0vKiBCZWxraW4gRjVEODIzNSB2MSwgXCYjMzQ7YmVsa2luLGY1ZDgyMzUtdjFcJiMzNDsgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjY4NjpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9pbml0X2phbV9mNWQ4MjM1W10gPSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02ODctXHR7MHgwMjQyLCAweDAyQkZ9LCB7MHgwMjQ1LCAweDAyQkZ9LCB7MHgwMjQ4LCAweDAyQkZ9LCB7MHgwMjRCLCAweDAyQkZ9LFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTY5OC0vKiBER04zNTAwLCBcJiMzNDtuZXRnZWFyLGRnbjM1MDBcJiMzNDssIFwmIzM0O25ldGdlYXIsZGduMzUwMGJcJiMzNDsgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjY5OTpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9pbml0X2phbV9kZ24zNTAwW10gPSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy03MDAtXHR7MHgwMDAwLCAweDA4MzB9LCB7MHgwNDAwLCAweDgxMzB9LCB7MHgwMDBBLCAweDgzRUR9LCB7MHgwRjUxLCAweDAwMTd9LFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTcwOS0gKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjcxMDpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9ncmVlbl9qYW1bXSA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTcxMS1cdHsweEJFNzgsIDB4MzIzQ30sIHsweEJFNzcsIDB4NTAwMH0sIHsweEJFMkUsIDB4N0JBN30sXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzE2LS8qIEZ1bmN0aW9uIHRoYXQgamFtcyB0aGUgdGFibGVzIGluIHRoZSBwcm9wZXIgcmVnaXN0ZXJzICovXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo3MTc6c3RhdGljIGludCBydGw4MzY2cmJfamFtX3RhYmxlKGNvbnN0IHN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSAqamFtX3RhYmxlLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzE4LVx0XHRcdCAgICAgICBpbnQgamFtX3NpemUsIHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM9NzU0PWludCByYjgzNjZyYl9zZXRfbGVkZ3JvdXBfbW9kZShzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTc3My0vKiBUaGlzIGNvZGUgaXMgdXNlZCBhbHNvIHdpdGggTEVEcyBkaXNhYmxlZCAqL1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6Nzc0OnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwX2FsbF9sZWRzX29mZihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzc1LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy03OTMtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo3OTQ6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9zZXRfaXNvbGF0aW9uKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzk1LVx0XHRcdFx0XHR1MzIgbWFzaylcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04MDUtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo4MDY6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9hZGRfaXNvbGF0aW9uKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtODA3LVx0XHRcdFx0XHR1MzIgbWFzaylcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04MTQtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo4MTU6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9yZW1vdmVfaXNvbGF0aW9uKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtODE2LVx0XHRcdFx0XHQgICB1MzIgbWFzaylcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYz04MjI9c3RhdGljIHZvaWRcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjgyMzpydGw4MzY2cmJfcG9ydF9zdHBfc3RhdGVfc2V0KHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsIHU4IHN0YXRlKVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtODI0LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04NTUtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo4NTY6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9zZXRfbGVhcm5pbmcoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBvcnQsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04NTctXHRcdFx0XHQgICAgICAgYm9vbCBlbmFibGUpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtODY1LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6ODY2OnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTg2Ny17XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04NjgtXHRzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2ID0gZHMtXHUwMDNlcHJpdjtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjg2OTpcdGNvbnN0IHN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSAqamFtX3RhYmxlO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtODcwLVx0dTMyIGRvd25wb3J0c19tYXNrID0gMDtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjg3MTpcdHN0cnVjdCBydGw4MzY2cmIgKnJiO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtODcyLVx0dTMyIHVwcG9ydHNfbWFzayA9IDA7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTA4LVx0Y2FzZSAwOlxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTA5Olx0XHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzA7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5MTA6XHRcdGphbV9zaXplID0gQVJSQVlfU0laRShydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzApO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTExLVx0XHRicmVhaztcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkxMi1cdGNhc2UgMTpcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkxMzpcdFx0amFtX3RhYmxlID0gcnRsODM2NnJiX2luaXRfamFtX3Zlcl8xO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTE0Olx0XHRqYW1fc2l6ZSA9IEFSUkFZX1NJWkUocnRsODM2NnJiX2luaXRfamFtX3Zlcl8xKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkxNS1cdFx0YnJlYWs7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MTYtXHRjYXNlIDI6XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5MTc6XHRcdGphbV90YWJsZSA9IHJ0bDgzNjZyYl9pbml0X2phbV92ZXJfMjtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkxODpcdFx0amFtX3NpemUgPSBBUlJBWV9TSVpFKHJ0bDgzNjZyYl9pbml0X2phbV92ZXJfMik7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MTktXHRcdGJyZWFrO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTIwLVx0ZGVmYXVsdDpcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkyMTpcdFx0amFtX3RhYmxlID0gcnRsODM2NnJiX2luaXRfamFtX3Zlcl8zO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTIyOlx0XHRqYW1fc2l6ZSA9IEFSUkFZX1NJWkUocnRsODM2NnJiX2luaXRfamFtX3Zlcl8zKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkyMy1cdFx0YnJlYWs7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTMwLVx0aWYgKG9mX21hY2hpbmVfaXNfY29tcGF0aWJsZShcJiMzNDtiZWxraW4sZjVkODIzNS12MVwmIzM0OykpIHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkzMTpcdFx0amFtX3RhYmxlID0gcnRsODM2NnJiX2luaXRfamFtX2Y1ZDgyMzU7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5MzI6XHRcdGphbV9zaXplID0gQVJSQVlfU0laRShydGw4MzY2cmJfaW5pdF9qYW1fZjVkODIzNSk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MzMtXHR9XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTM1LVx0ICAgIG9mX21hY2hpbmVfaXNfY29tcGF0aWJsZShcJiMzNDtuZXRnZWFyLGRnbjM1MDBiXCYjMzQ7KSkge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTM2Olx0XHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fZGduMzUwMDtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkzNzpcdFx0amFtX3NpemUgPSBBUlJBWV9TSVpFKHJ0bDgzNjZyYl9pbml0X2phbV9kZ24zNTAwKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkzOC1cdH1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkzOS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjk0MDpcdHJldCA9IHJ0bDgzNjZyYl9qYW1fdGFibGUoamFtX3RhYmxlLCBqYW1fc2l6ZSwgcHJpdiwgdHJ1ZSk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NDEtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk0OS1cdFx0ICovXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5NTA6XHRcdHJ0bDgzNjZyYl9wb3J0X3N0cF9zdGF0ZV9zZXQoZHMsIGRwLVx1MDAzZWluZGV4LCBCUl9TVEFURV9ESVNBQkxFRCk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NTEtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NTItXHRcdC8qIFN0YXJ0IHdpdGggYWxsIHBvcnRzIGNvbXBsZXRlbHkgaXNvbGF0ZWQgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjk1MzpcdFx0cmV0ID0gcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihwcml2LCBkcC1cdTAwM2VpbmRleCwgMCk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NTQtXHRcdGlmIChyZXQpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTU3LVx0XHQvKiBEaXNhYmxlIGxlYXJuaW5nICovXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5NTg6XHRcdHJldCA9IHJ0bDgzNjZyYl9wb3J0X3NldF9sZWFybmluZyhwcml2LCBkcC1cdTAwM2VpbmRleCwgZmFsc2UpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTU5LVx0XHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk3Ni1cdFx0LyogRm9yd2FyZCBvbmx5IHRvIHRoZSBDUFUocyksIGlzb2xhdGUgZnJvbSBhbGwgb3RoZXIgcG9ydHMgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjk3NzpcdFx0cmV0ID0gcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihwcml2LCBkcC1cdTAwM2VpbmRleCwgdXBwb3J0c19tYXNrKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk3OC1cdFx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05OTEtXHRcdC8qIEZvcndhcmQgdG8gYWxsIHVzZXIgcG9ydHMgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjk5MjpcdFx0cmV0ID0gcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihwcml2LCBkcC1cdTAwM2VpbmRleCwgZG93bnBvcnRzX21hc2spO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTkzLVx0XHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk5Ny1cdC8qIFNldCB1cCB0aGUgXCYjMzQ7Z3JlZW4gZXRoZXJuZXRcJiMzNDsgZmVhdHVyZSAqL1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTk4Olx0cmV0ID0gcnRsODM2NnJiX2phbV90YWJsZShydGw4MzY2cmJfZ3JlZW5famFtLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTk5Olx0XHRcdFx0ICBBUlJBWV9TSVpFKHJ0bDgzNjZyYl9ncmVlbl9qYW0pLCBwcml2LCBmYWxzZSk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMDAwLVx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMDE3LVx0LyogU2V0IHNvbWUgcmFuZG9tIE1BQyBhZGRyZXNzICovXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMDE4Olx0cmV0ID0gcnRsODM2NnJiX3NldF9hZGRyKHByaXYpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTAxOS1cdGlmIChyZXQpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTEwMy1cdGlmIChwcml2LVx1MDAzZWxlZHNfZGlzYWJsZWQpIHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjExMDQ6XHRcdHJldCA9IHJ0bDgzNjZyYl9zZXR1cF9hbGxfbGVkc19vZmYocHJpdik7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMTA1LVx0XHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTExMDctXHR9IGVsc2Uge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTEwODpcdFx0cmV0ID0gcnRsODM2NnJiX3NldHVwX2xlZHMocHJpdik7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMTA5LVx0XHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTExMTYtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMTE3Olx0cmV0ID0gcnRsODM2NnJiX3NldHVwX2Nhc2NhZGVkX2lycShwcml2KTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTExMTgtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTExMzA9c3RhdGljIGVudW0gZHNhX3RhZ19wcm90b2NvbCBydGw4MzY2X2dldF90YWdfcHJvdG9jb2woc3RydWN0IGRzYV9zd2l0Y2ggKmRzLFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTExMzctXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMTM4OnN0YXRpYyB2b2lkIHJ0bDgzNjZyYl9waHlsaW5rX2dldF9jYXBzKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMTM5LVx0XHRcdFx0ICAgICAgIHN0cnVjdCBwaHlsaW5rX2NvbmZpZyAqY29uZmlnKVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTExNjQ9c3RhdGljIHZvaWRcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjExNjU6cnRsODM2NnJiX21hY19jb25maWcoc3RydWN0IHBoeWxpbmtfY29uZmlnICpjb25maWcsIHVuc2lnbmVkIGludCBtb2RlLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTE2Ni1cdFx0ICAgICBjb25zdCBzdHJ1Y3QgcGh5bGlua19saW5rX3N0YXRlICpzdGF0ZSlcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYz0xMTcwPXN0YXRpYyB2b2lkXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMTcxOnJ0bDgzNjZyYl9tYWNfbGlua191cChzdHJ1Y3QgcGh5bGlua19jb25maWcgKmNvbmZpZywgc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldixcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTExNzItXHRcdCAgICAgIHVuc2lnbmVkIGludCBtb2RlLCBwaHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlLFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTEyNDI9c3RhdGljIHZvaWRcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjEyNDM6cnRsODM2NnJiX21hY19saW5rX2Rvd24oc3RydWN0IHBoeWxpbmtfY29uZmlnICpjb25maWcsIHVuc2lnbmVkIGludCBtb2RlLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTI0NC1cdFx0XHRwaHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlKVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTEyNjU9c3RhdGljIGludFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTI2NjpydGw4MzY2cmJfcG9ydF9lbmFibGUoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEyNjctXHRcdCAgICAgIHN0cnVjdCBwaHlfZGV2aWNlICpwaHkpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM9MTI4MT1zdGF0aWMgdm9pZFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTI4MjpydGw4MzY2cmJfcG9ydF9kaXNhYmxlKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMjgzLXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMjk0LS8qKlxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTI5NTogKiBydGw4MzY2cmJfZHJvcF91bnRhZ2dlZCgpIC0gbWFrZSB0aGUgc3dpdGNoIGRyb3AgdW50YWdnZWQgYW5kIEMtdGFnZ2VkIGZyYW1lc1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTI5Ni0gKiBAcHJpdjogU01JIHN0YXRlIGNvbnRhaW5lclxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzMDEtICovXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzAyOnN0YXRpYyBpbnQgcnRsODM2NnJiX2Ryb3BfdW50YWdnZWQoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBvcnQsIGJvb2wgZHJvcClcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzMDMte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzMDgtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzA5OnN0YXRpYyBpbnQgcnRsODM2NnJiX3ZsYW5fZmlsdGVyaW5nKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzEwLVx0XHRcdFx0ICAgIGJvb2wgdmxhbl9maWx0ZXJpbmcsXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTMxMy1cdHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYgPSBkcy1cdTAwM2Vwcml2O1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTMxNDpcdHN0cnVjdCBydGw4MzY2cmIgKnJiO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTMxNS1cdGludCByZXQ7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTMzMi1cdGlmICh2bGFuX2ZpbHRlcmluZylcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjEzMzM6XHRcdHJldCA9IHJ0bDgzNjZyYl9kcm9wX3VudGFnZ2VkKHByaXYsIHBvcnQsICFyYi1cdTAwM2VwdmlkX2VuYWJsZWRbcG9ydF0pO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTMzNC1cdGVsc2VcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjEzMzU6XHRcdHJldCA9IHJ0bDgzNjZyYl9kcm9wX3VudGFnZ2VkKHByaXYsIHBvcnQsIGZhbHNlKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzMzYtXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM9MTM0MD1zdGF0aWMgaW50XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzQxOnJ0bDgzNjZyYl9wb3J0X3ByZV9icmlkZ2VfZmxhZ3Moc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzNDItXHRcdFx0XHRzdHJ1Y3Qgc3dpdGNoZGV2X2JycG9ydF9mbGFncyBmbGFncyxcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYz0xMzUyPXN0YXRpYyB2b2lkXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzUzOnJ0bDgzNjZyYl9wb3J0X2Zhc3RfYWdlKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzU0LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzY0LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTM2NTpzdGF0aWMgaW50IHJ0bDgzNjZyYl9jaGFuZ2VfbXR1KHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsIGludCBuZXdfbXR1KVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTM2Ni17XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzY3LVx0c3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiA9IGRzLVx1MDAzZXByaXY7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzY4Olx0c3RydWN0IHJ0bDgzNjZyYiAqcmI7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzY5LVx0dW5zaWduZWQgaW50IG1heF9tdHU7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQxMS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE0MTI6c3RhdGljIGludCBydGw4MzY2cmJfbWF4X210dShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0KVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQxMy17XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQyMS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE0MjI6c3RhdGljIGludCBydGw4MzY2cmJfZ2V0X3ZsYW5fNGsoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgdTMyIHZpZCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE0MjMtXHRcdFx0XHQgc3RydWN0IHJ0bDgzNjZfdmxhbl80ayAqdmxhbjRrKVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE0NjItXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNDYzOnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldF92bGFuXzRrKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNDY0LVx0XHRcdFx0IGNvbnN0IHN0cnVjdCBydGw4MzY2X3ZsYW5fNGsgKnZsYW40aylcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNDk2LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTQ5NzpzdGF0aWMgaW50IHJ0bDgzNjZyYl9nZXRfdmxhbl9tYyhzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCB1MzIgaW5kZXgsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNDk4LVx0XHRcdFx0IHN0cnVjdCBydGw4MzY2X3ZsYW5fbWMgKnZsYW5tYylcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNTI3LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTUyODpzdGF0aWMgaW50IHJ0bDgzNjZyYl9zZXRfdmxhbl9tYyhzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCB1MzIgaW5kZXgsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNTI5LVx0XHRcdFx0IGNvbnN0IHN0cnVjdCBydGw4MzY2X3ZsYW5fbWMgKnZsYW5tYylcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNTYxLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTU2MjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9nZXRfbWNfaW5kZXgoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBvcnQsIGludCAqdmFsKVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTU2My17XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTU4MC1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE1ODE6c3RhdGljIGludCBydGw4MzY2cmJfc2V0X21jX2luZGV4KHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LCBpbnQgaW5kZXgpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNTgyLXtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE1ODMtXHRzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMgPSBcdTAwMjZwcml2LVx1MDAzZWRzO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTU4NDpcdHN0cnVjdCBydGw4MzY2cmIgKnJiO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTU4NS1cdGJvb2wgcHZpZF9lbmFibGVkO1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2MDgtXHRpZiAoZHNhX3BvcnRfaXNfdmxhbl9maWx0ZXJpbmcoZHNhX3RvX3BvcnQoZHMsIHBvcnQpKSlcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE2MDk6XHRcdHJldCA9IHJ0bDgzNjZyYl9kcm9wX3VudGFnZ2VkKHByaXYsIHBvcnQsICFwdmlkX2VuYWJsZWQpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYxMC1cbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjEzLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTYxNDpzdGF0aWMgYm9vbCBydGw4MzY2cmJfaXNfdmxhbl92YWxpZChzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCB1bnNpZ25lZCBpbnQgdmxhbilcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2MTUte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2MjYtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNjI3OnN0YXRpYyBpbnQgcnRsODM2NnJiX2VuYWJsZV92bGFuKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGJvb2wgZW5hYmxlKVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYyOC17XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYzNC1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE2MzU6c3RhdGljIGludCBydGw4MzY2cmJfZW5hYmxlX3ZsYW40ayhzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCBib29sIGVuYWJsZSlcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2MzYte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2NDItXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNjQzOnN0YXRpYyBpbnQgcnRsODM2NnJiX3BoeV9yZWFkKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwaHksIGludCByZWdudW0pXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjQ0LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjg0LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTY4NTpzdGF0aWMgaW50IHJ0bDgzNjZyYl9waHlfd3JpdGUoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBoeSwgaW50IHJlZ251bSxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2ODYtXHRcdFx0ICAgICAgIHUxNiB2YWwpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTcxNS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3MTY6c3RhdGljIGludCBydGw4MzY2cmJfcmVzZXRfY2hpcChzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTcxNy17XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc0MS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3NDI6c3RhdGljIGludCBydGw4MzY2cmJfZGV0ZWN0KHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzQzLXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzY0LVx0XHRwcml2LVx1MDAzZW51bV92bGFuX21jID0gUlRMODM2NlJCX05VTV9WTEFOUztcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3NjU6XHRcdHByaXYtXHUwMDNlbWliX2NvdW50ZXJzID0gcnRsODM2NnJiX21pYl9jb3VudGVycztcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3NjY6XHRcdHByaXYtXHUwMDNlbnVtX21pYl9jb3VudGVycyA9IEFSUkFZX1NJWkUocnRsODM2NnJiX21pYl9jb3VudGVycyk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzY3LVx0XHRicmVhaztcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzczLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTc3NDpcdHJldCA9IHJ0bDgzNjZyYl9yZXNldF9jaGlwKHByaXYpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc3NS1cdGlmIChyZXQpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc4MC1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3ODE6c3RhdGljIGNvbnN0IHN0cnVjdCBwaHlsaW5rX21hY19vcHMgcnRsODM2NnJiX3BoeWxpbmtfbWFjX29wcyA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3ODI6XHQubWFjX2NvbmZpZyA9IHJ0bDgzNjZyYl9tYWNfY29uZmlnLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTc4MzpcdC5tYWNfbGlua19kb3duID0gcnRsODM2NnJiX21hY19saW5rX2Rvd24sXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzg0Olx0Lm1hY19saW5rX3VwID0gcnRsODM2NnJiX21hY19saW5rX3VwLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc4NS19O1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc4Ni1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3ODc6c3RhdGljIGNvbnN0IHN0cnVjdCBkc2Ffc3dpdGNoX29wcyBydGw4MzY2cmJfc3dpdGNoX29wcyA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3ODgtXHQuZ2V0X3RhZ19wcm90b2NvbCA9IHJ0bDgzNjZfZ2V0X3RhZ19wcm90b2NvbCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3ODk6XHQuc2V0dXAgPSBydGw4MzY2cmJfc2V0dXAsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzkwOlx0LnBoeWxpbmtfZ2V0X2NhcHMgPSBydGw4MzY2cmJfcGh5bGlua19nZXRfY2FwcyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3OTEtXHQuZ2V0X3N0cmluZ3MgPSBydGw4MzY2X2dldF9zdHJpbmdzLFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3OTUtXHQucG9ydF9icmlkZ2VfbGVhdmUgPSBydGw4M3h4X3BvcnRfYnJpZGdlX2xlYXZlLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTc5NjpcdC5wb3J0X3ZsYW5fZmlsdGVyaW5nID0gcnRsODM2NnJiX3ZsYW5fZmlsdGVyaW5nLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc5Ny1cdC5wb3J0X3ZsYW5fYWRkID0gcnRsODM2Nl92bGFuX2FkZCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3OTgtXHQucG9ydF92bGFuX2RlbCA9IHJ0bDgzNjZfdmxhbl9kZWwsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzk5Olx0LnBvcnRfZW5hYmxlID0gcnRsODM2NnJiX3BvcnRfZW5hYmxlLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgwMDpcdC5wb3J0X2Rpc2FibGUgPSBydGw4MzY2cmJfcG9ydF9kaXNhYmxlLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgwMTpcdC5wb3J0X3ByZV9icmlkZ2VfZmxhZ3MgPSBydGw4MzY2cmJfcG9ydF9wcmVfYnJpZGdlX2ZsYWdzLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTgwMi1cdC5wb3J0X2JyaWRnZV9mbGFncyA9IHJ0bDgzeHhfcG9ydF9icmlkZ2VfZmxhZ3MsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODAzOlx0LnBvcnRfc3RwX3N0YXRlX3NldCA9IHJ0bDgzNjZyYl9wb3J0X3N0cF9zdGF0ZV9zZXQsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODA0Olx0LnBvcnRfZmFzdF9hZ2UgPSBydGw4MzY2cmJfcG9ydF9mYXN0X2FnZSxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MDU6XHQucG9ydF9jaGFuZ2VfbXR1ID0gcnRsODM2NnJiX2NoYW5nZV9tdHUsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODA2Olx0LnBvcnRfbWF4X210dSA9IHJ0bDgzNjZyYl9tYXhfbXR1LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTgwNy1cdC5wb3J0X2hzcl9qb2luID0gZHNhX3BvcnRfc2ltcGxlX2hzcl9qb2luLFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4MTAtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODExOnN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVhbHRla19vcHMgcnRsODM2NnJiX29wcyA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MTI6XHQuZGV0ZWN0XHRcdD0gcnRsODM2NnJiX2RldGVjdCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MTM6XHQuZ2V0X3ZsYW5fbWNcdD0gcnRsODM2NnJiX2dldF92bGFuX21jLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgxNDpcdC5zZXRfdmxhbl9tY1x0PSBydGw4MzY2cmJfc2V0X3ZsYW5fbWMsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODE1Olx0LmdldF92bGFuXzRrXHQ9IHJ0bDgzNjZyYl9nZXRfdmxhbl80ayxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MTY6XHQuc2V0X3ZsYW5fNGtcdD0gcnRsODM2NnJiX3NldF92bGFuXzRrLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgxNzpcdC5nZXRfbWNfaW5kZXhcdD0gcnRsODM2NnJiX2dldF9tY19pbmRleCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MTg6XHQuc2V0X21jX2luZGV4XHQ9IHJ0bDgzNjZyYl9zZXRfbWNfaW5kZXgsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODE5Olx0LmdldF9taWJfY291bnRlciA9IHJ0bDgzNjZyYl9nZXRfbWliX2NvdW50ZXIsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODIwOlx0LmlzX3ZsYW5fdmFsaWRcdD0gcnRsODM2NnJiX2lzX3ZsYW5fdmFsaWQsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODIxOlx0LmVuYWJsZV92bGFuXHQ9IHJ0bDgzNjZyYl9lbmFibGVfdmxhbixcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MjI6XHQuZW5hYmxlX3ZsYW40a1x0PSBydGw4MzY2cmJfZW5hYmxlX3ZsYW40ayxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MjM6XHQucG9ydF9hZGRfaXNvbGF0aW9uID0gcnRsODM2NnJiX3BvcnRfYWRkX2lzb2xhdGlvbixcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MjQ6XHQucG9ydF9yZW1vdmVfaXNvbGF0aW9uID0gcnRsODM2NnJiX3BvcnRfcmVtb3ZlX2lzb2xhdGlvbixcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MjU6XHQucG9ydF9zZXRfbGVhcm5pbmcgPSBydGw4MzY2cmJfcG9ydF9zZXRfbGVhcm5pbmcsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODI2Olx0LnBoeV9yZWFkXHQ9IHJ0bDgzNjZyYl9waHlfcmVhZCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4Mjc6XHQucGh5X3dyaXRlXHQ9IHJ0bDgzNjZyYl9waHlfd3JpdGUsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODI4LX07XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODI5LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgzMDpjb25zdCBzdHJ1Y3QgcmVhbHRla192YXJpYW50IHJ0bDgzNjZyYl92YXJpYW50ID0ge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgzMTpcdC5kc19vcHMgPSBcdTAwMjZydGw4MzY2cmJfc3dpdGNoX29wcyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MzI6XHQub3BzID0gXHUwMDI2cnRsODM2NnJiX29wcyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MzM6XHQucGh5bGlua19tYWNfb3BzID0gXHUwMDI2cnRsODM2NnJiX3BoeWxpbmtfbWFjX29wcyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4MzQtXHQuY2xrX2RlbGF5ID0gMTAsXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTgzNi1cdC5jbWRfd3JpdGUgPSAweGE4LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgzNzpcdC5jaGlwX2RhdGFfc3ogPSBzaXplb2Yoc3RydWN0IHJ0bDgzNjZyYiksXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODM4LX07XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODM5LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg0MDpzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBydGw4MzY2cmJfb2ZfbWF0Y2hbXSA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDE6XHR7IC5jb21wYXRpYmxlID0gXCYjMzQ7cmVhbHRlayxydGw4MzY2cmJcJiMzNDssIC5kYXRhID0gXHUwMDI2cnRsODM2NnJiX3ZhcmlhbnQsIH0sXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODQyLVx0eyAvKiBzZW50aW5lbCAqLyB9LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg0My19O1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg0NDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBydGw4MzY2cmJfb2ZfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg0NS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDY6c3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgcnRsODM2NnJiX3NtaV9kcml2ZXIgPSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODQ3LVx0LmRyaXZlciA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDg6XHRcdC5uYW1lID0gXCYjMzQ7cnRsODM2NnJiLXNtaVwmIzM0OyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDk6XHRcdC5vZl9tYXRjaF90YWJsZSA9IHJ0bDgzNjZyYl9vZl9tYXRjaCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NTAtXHR9LFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NTUtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODU2OnN0YXRpYyBzdHJ1Y3QgbWRpb19kcml2ZXIgcnRsODM2NnJiX21kaW9fZHJpdmVyID0ge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg1Ny1cdC5tZGlvZHJ2LmRyaXZlciA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NTg6XHRcdC5uYW1lID0gXCYjMzQ7cnRsODM2NnJiLW1kaW9cJiMzNDssXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODU5Olx0XHQub2ZfbWF0Y2hfdGFibGUgPSBydGw4MzY2cmJfb2ZfbWF0Y2gsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODYwLVx0fSxcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODY1LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg2NjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9pbml0KHZvaWQpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODY3LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODY5LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg3MDpcdHJldCA9IHJlYWx0ZWtfbWRpb19kcml2ZXJfcmVnaXN0ZXIoXHUwMDI2cnRsODM2NnJiX21kaW9fZHJpdmVyKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NzEtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NzMtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODc0Olx0cmV0ID0gcmVhbHRla19zbWlfZHJpdmVyX3JlZ2lzdGVyKFx1MDAyNnJ0bDgzNjZyYl9zbWlfZHJpdmVyKTtcblxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDA2OjAwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE4NzM3CgkJCQkJCQlvdXRwdXQ6IDkwCgkJCQkJCQl0aG91Z2h0czogNjQxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKlVucmVhY2hhYmxlIENvZGUgQW5hbHlzaXM6IHJ0bDgzNjZyYiBEcml2ZXIqKgoKT2theSwgbGV0JiMzOTtzIHRoaW5rIHRoaXMgdGhyb3VnaC4gVGhlIGBydGw4MzY2cmJgIGRyaXZlciwgaXQmIzM5O3MgYSBwbGF0Zm9ybSBhbmQgTURJTyBkcml2ZXIsIHdoaWNoIG1lYW5zIGl0IHJlbGllcyBvbiBhIHNwZWNpZmljIGRldmljZSB0cmVlIGVudHJ5IHdpdGggdGhlIGByZWFsdGVrLHJ0bDgzNjZyYmAgY29tcGF0aWJsZSBzdHJpbmcgdG8gZXZlbiBnZXQgaW5pdGlhbGl6ZWQuIEkga25vdyBRRU1VIGRvZXNuJiMzOTt0IGVtdWxhdGUgdGhpcyBwYXJ0aWN1bGFyIFJlYWx0ZWsgRFNBIHN3aXRjaCwgYW5kIERTQSBzd2l0Y2hlcyBhcmUgdXN1YWxseSBzZXQgdXAgdGhyb3VnaCB0aGUgZGV2aWNlIHRyZWUgb24gc3BlY2lmaWMgZW1iZWRkZWQgc3lzdGVtcyBsaWtlIHRoZSBCZWxraW4gRjVEODIzNSBhbmQgTmV0Z2VhciBER04zNTAwLCB3aGljaCBhcmUgZGVmaW5pdGVseSBub3QgaW4gbXkgdXN1YWwgdGVzdCBzZXR1cC4gU28sIHRoYXQgbWVhbnMgdGhlIGBydGw4MzY2cmJfc2V0dXBgIGZ1bmN0aW9uIGlzbiYjMzk7dCBnb2luZyB0byBiZSBjYWxsZWQsIGV2ZXIsIGluIG15IGVudmlyb25tZW50LgoKSG1tLCBjYW4gU3l6a2FsbGVyIGluamVjdCBzb21lIGtpbmQgb2YgZmFrZSBNRElPIG9yIHBsYXRmb3JtIGRldmljZT8gUG90ZW50aWFsbHksIEkmIzM5O3ZlIHNlZW4gU3l6a2FsbGVyIG1lc3Mgd2l0aCBkZXZpY2UgaW5qZWN0aW9uIHVzaW5nIGBzeXpfZGV2bGlua2AgYW5kIHNpbWlsYXIgdG9vbHMsIGJ1dCBpdCYjMzk7cyBub3Qgc3RyYWlnaHRmb3J3YXJkIGZvciBNRElPIG9yIFNNSSBkZXZpY2VzLCByaWdodD8gRXNwZWNpYWxseSB3aXRob3V0IHNvbWUga2luZCBvZiBwc2V1ZG8tZGV2aWNlIHRvIGhvb2sgaW50by4gSSB3YXMgdGhpbmtpbmcgbWF5YmUgU3l6a2FsbGVyIGNvdWxkIGNyZWF0ZSBwbGF0Zm9ybSBkZXZpY2VzIGRpcmVjdGx5IHRocm91Z2ggdGhlIGAvc3lzL2RldmljZXMvcGxhdGZvcm1gIGRpcmVjdG9yeSwgYnV0IHRoYXTigJlzIG5vdCByZWFsbHkgaG93IGl0IHdvcmtzLiBTeXprYWxsZXIgZG9lc24mIzM5O3QgaGF2ZSBhIGdlbmVyaWMgd2F5IHRvIGluc3RhbnRpYXRlIHJhbmRvbSBwbGF0Zm9ybSBkZXZpY2VzIHVubGVzcyBhIHBzZXVkby1kZXZpY2UgZHJpdmVyIGV4cGxpY2l0bHkgc3VwcG9ydHMgaXQgKGxpa2UgYG1hYzgwMjExX2h3c2ltYCBvciBgdmttc2AsIGV0Yy4pLCBvciBtYXliZSB0aHJvdWdoIGRldmljZSB0cmVlIG92ZXJsYXlzLCBidXQgSSBkb24mIzM5O3QgdGhpbmsgU3l6a2FsbGVyIGRvZXMgZHluYW1pYyBvdmVybGF5cyBmb3Igd2hhdGV2ZXIgZGV2aWNlIEkgd2FudCB0byB0ZXN0LiBXYWl0LCBkaWQgSSBtaXNzIHNvbWV0aGluZz8gSSBkb24mIzM5O3QgdGhpbmsgU3l6a2FsbGVyIGNhbiBpbmplY3QgcGxhdGZvcm0gZGV2aWNlcyB2aWEgYHN5el9wbGF0Zm9ybV9kZXZpY2VfYWRkYCBvciBhbnl0aGluZyBsaWtlIHRoYXQuIE5vLCB0aGVyZSYjMzk7cyBubyBzdWNoIGNhbGwuCgpMZXQmIzM5O3Mgc3RlcCBiYWNrIGFuZCBjaGVjayB3aGV0aGVyIHRoaXMgY29kZSBpcyBldmVuIHJlYWNoYWJsZS4gVGhlIGRyaXZlciBpcyBmb3IgYSBSZWFsdGVrIERTQSBzd2l0Y2guIFRoZSBwYXRjaCBJJiMzOTttIGxvb2tpbmcgYXQgbW9kaWZpZXMgYHJ0bDgzNjZyYl9wb3J0X3NldF9pc29sYXRpb25gIGFuZCBgcnRsODM2NnJiX3NldHVwYCwgd2hpY2ggYXJlIHNwZWNpZmljIHRvIHRoaXMgaGFyZHdhcmUuIFNpbmNlIHRoaXMgaGFyZHdhcmUgaXNuJiMzOTt0IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgR0NFIGVudmlyb25tZW50cywgaXQmIzM5O3Mgbm90IHJlYWNoYWJsZS4gVGhlIHBhdGNoIGNvZGUgaXMgbm90IGdvaW5nIHRvIGJlIHRvdWNoZWQuCgpBbHJpZ2h0LCBsZXQmIzM5O3MgZG91YmxlLWNoZWNrIGhvdyB0aGlzIGRyaXZlciBwcm9iZXMuIEl0IHJlZ2lzdGVycyBib3RoIGBydGw4MzY2cmJfc21pX2RyaXZlcmAgKHBsYXRmb3JtKSBhbmQgYHJ0bDgzNjZyYl9tZGlvX2RyaXZlcmAgKG1kaW8pLiBUaGV5IGJvdGggcmVseSBvbiBgLm9mX21hdGNoX3RhYmxlID0gcnRsODM2NnJiX29mX21hdGNoYC4gV2l0aG91dCB0aGUgY29ycmVjdCBoYXJkd2FyZSBvciB0aGUgcHJvcGVyIGRldmljZSB0cmVlIG5vZGUsIHRoZSBwcm9iZSBmdW5jdGlvbiBkb2VzbiYjMzk7dCBnZXQgY2FsbGVkIGFuZCB0aGlzIGRyaXZlciBpcyB1bnJlYWNoYWJsZS4gSXQmIzM5O3MgYSBkZWFkIGVuZC4KClRoZXJlZm9yZSwgV29ydGhGdXp6aW5nPWZhbHNlLiBJJiMzOTttIHJlYXNvbmFibHkgY29uZmlkZW50IHRoZSBjaGFuZ2VzIGFyZSBpbiBjb2RlIHRoYXQmIzM5O3Mgbm90IHJlYWNoYWJsZSB1bmRlciB0aGUgY29uZGl0aW9ucyBJJiMzOTttIGZ1enppbmcuIFRoZSBwYXRjaCBtb2RpZmllcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgdGhlIFJlYWx0ZWsgUlRMODM2NlJCIERTQSBzd2l0Y2guIFNpbmNlIHRoYXQgZGV2aWNlIGlzbiYjMzk7dCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBlbnZpcm9ubWVudHMsIGFuZCB0aGUgZHJpdmVyIHJlbGllcyBvbiBzcGVjaWZpYyBkZXZpY2UgdHJlZSBub2RlcyBvciBoYXJkd2FyZSB0byBwcm9iZSwgdGhlIG1vZGlmaWVkIGNvZGUgY2FuJiMzOTt0IGJlIHJlYWNoZWQgZHVyaW5nIGZ1enppbmcuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMDY6MDA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgdGhlIFJlYWx0ZWsgUlRMODM2NlJCIERTQSBzd2l0Y2guIFRoaXMgZGV2aWNlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VL0dDRSBlbnZpcm9ubWVudHMsIGFuZCB0aGUgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIGRldmljZSB0cmVlIG5vZGVzIG9yIGhhcmR3YXJlIHRvIHByb2JlLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgdGhlIFJlYWx0ZWsgUlRMODM2NlJCIERTQSBzd2l0Y2guIFRoaXMgZGV2aWNlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VL0dDRSBlbnZpcm9ubWVudHMsIGFuZCB0aGUgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIGRldmljZSB0cmVlIG5vZGVzIG9yIGhhcmR3YXJlIHRvIHByb2JlLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMDJUMDU6NTk6NTkuMDM5MjIxOTI2WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTYzMDI1NTgwMDQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgUmVhbHRlayBSVEw4MzY2UkIgRFNBIHN3aXRjaC4gVGhpcyBkZXZpY2UgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUvR0NFIGVudmlyb25tZW50cywgYW5kIHRoZSBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgZGV2aWNlIHRyZWUgbm9kZXMgb3IgaGFyZHdhcmUgdG8gcHJvYmUsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDA1OjU5OjU5LjAzOTIyODkzNloiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjY0MjIxNDgwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgY2NmYzM3MWYyZDEwZDRhODY4YzNhNTY1Y2JjNjY4ZmQ5YzgzYjYzMFxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgU3VuIEF1ZyAyIDA1OjU5OjU4IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jIGIvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmNcXG5pbmRleCBkMmZhOGZmNmE1ZDA4Li5mMTE4MzFiNjZkZTg4IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jXFxuKysrIGIvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmNcXG5AQCAtNzk0LDExICs3OTQsMTAgQEAgc3RhdGljIGludCBydGw4MzY2cmJfc2V0dXBfYWxsX2xlZHNfb2ZmKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYpXFxuIHN0YXRpYyBpbnQgcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCBpbnQgcG9ydCxcXG4gXFx0XFx0XFx0XFx0XFx0dTMyIG1hc2spXFxuIHtcXG4tXFx0LyogQml0IDAgZW5hYmxlcyBpc29sYXRpb24gc28gc2V0IHRoaXMgaWYgd2UgZW5hYmxlIGlzb2xhdGlvblxcbi1cXHQgKiBhbnkgb2YgdGhlIHBvcnRzIGFuIGNsZWFyIGl0IGlmIHdlIGRpc2FibGUgb24gYWxsIG9mIHRoZW0uXFxuK1xcdC8qIEJpdCAwIGVuYWJsZXMgaXNvbGF0aW9uLCB0aGUgbWFzayBpbmRpY2F0ZXMgYWxsb3dlZCBmb3J3YXJkaW5nXFxuK1xcdCAqIHBvcnRzXFxuIFxcdCAqL1xcbi1cXHRpZiAobWFzaylcXG4tXFx0XFx0bWFzayA9IFJUTDgzNjZSQl9QT1JUX0lTT19QT1JUUyhtYXNrKSB8IFJUTDgzNjZSQl9QT1JUX0lTT19FTjtcXG4rXFx0bWFzayA9IFJUTDgzNjZSQl9QT1JUX0lTT19QT1JUUyhtYXNrKSB8IFJUTDgzNjZSQl9QT1JUX0lTT19FTjtcXG4gXFxuIFxcdHJldHVybiByZWdtYXBfd3JpdGUocHJpdi1cXHUwMDNlbWFwLCBSVEw4MzY2UkJfUE9SVF9JU08ocG9ydCksXFxuIFxcdFxcdFxcdCAgICBtYXNrKTtcXG5AQCAtOTc0LDcgKzk3Myw3IEBAIHN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcXG4gXFx0XFx0aWYgKCFkc2FfcG9ydF9pc191c2VyKGRwKSlcXG4gXFx0XFx0XFx0Y29udGludWU7XFxuIFxcbi1cXHRcXHQvKiBGb3J3YXJkIG9ubHkgdG8gdGhlIENQVSAqL1xcbitcXHRcXHQvKiBGb3J3YXJkIG9ubHkgdG8gdGhlIENQVShzKSwgaXNvbGF0ZSBmcm9tIGFsbCBvdGhlciBwb3J0cyAqL1xcbiBcXHRcXHRyZXQgPSBydGw4MzY2cmJfcG9ydF9zZXRfaXNvbGF0aW9uKHByaXYsIGRwLVxcdTAwM2VpbmRleCwgdXBwb3J0c19tYXNrKTtcXG4gXFx0XFx0aWYgKHJldClcXG4gXFx0XFx0XFx0cmV0dXJuIHJldDtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMDU6NTk6NTkuNzA0NDMxODk2WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MTU2MzczMzczMzMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgUmVhbHRlayBSVEw4MzY2UkIgRFNBIHN3aXRjaC4gVGhpcyBkZXZpY2UgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUvR0NFIGVudmlyb25tZW50cywgYW5kIHRoZSBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgZGV2aWNlIHRyZWUgbm9kZXMgb3IgaGFyZHdhcmUgdG8gcHJvYmUsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGNjZmMzNzFmMmQxMGQ0YTg2OGMzYTU2NWNiYzY2OGZkOWM4M2I2MzBcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgU3VuIEF1ZyAyIDA1OjU5OjU4IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMgYi9kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuY1xuaW5kZXggZDJmYThmZjZhNWQwOC4uZjExODMxYjY2ZGU4OCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jXG4rKysgYi9kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuY1xuQEAgLTc5NCwxMSArNzk0LDEwIEBAIHN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwX2FsbF9sZWRzX29mZihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2KVxuIHN0YXRpYyBpbnQgcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCBpbnQgcG9ydCxcbiBcdFx0XHRcdFx0dTMyIG1hc2spXG4ge1xuLVx0LyogQml0IDAgZW5hYmxlcyBpc29sYXRpb24gc28gc2V0IHRoaXMgaWYgd2UgZW5hYmxlIGlzb2xhdGlvblxuLVx0ICogYW55IG9mIHRoZSBwb3J0cyBhbiBjbGVhciBpdCBpZiB3ZSBkaXNhYmxlIG9uIGFsbCBvZiB0aGVtLlxuK1x0LyogQml0IDAgZW5hYmxlcyBpc29sYXRpb24sIHRoZSBtYXNrIGluZGljYXRlcyBhbGxvd2VkIGZvcndhcmRpbmdcbitcdCAqIHBvcnRzXG4gXHQgKi9cbi1cdGlmIChtYXNrKVxuLVx0XHRtYXNrID0gUlRMODM2NlJCX1BPUlRfSVNPX1BPUlRTKG1hc2spIHwgUlRMODM2NlJCX1BPUlRfSVNPX0VOO1xuK1x0bWFzayA9IFJUTDgzNjZSQl9QT1JUX0lTT19QT1JUUyhtYXNrKSB8IFJUTDgzNjZSQl9QT1JUX0lTT19FTjtcbiBcbiBcdHJldHVybiByZWdtYXBfd3JpdGUocHJpdi1cdTAwM2VtYXAsIFJUTDgzNjZSQl9QT1JUX0lTTyhwb3J0KSxcbiBcdFx0XHQgICAgbWFzayk7XG5AQCAtOTc0LDcgKzk3Myw3IEBAIHN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcbiBcdFx0aWYgKCFkc2FfcG9ydF9pc191c2VyKGRwKSlcbiBcdFx0XHRjb250aW51ZTtcbiBcbi1cdFx0LyogRm9yd2FyZCBvbmx5IHRvIHRoZSBDUFUgKi9cbitcdFx0LyogRm9yd2FyZCBvbmx5IHRvIHRoZSBDUFUocyksIGlzb2xhdGUgZnJvbSBhbGwgb3RoZXIgcG9ydHMgKi9cbiBcdFx0cmV0ID0gcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihwcml2LCBkcC1cdTAwM2VpbmRleCwgdXBwb3J0c19tYXNrKTtcbiBcdFx0aWYgKHJldClcbiBcdFx0XHRyZXR1cm4gcmV0O1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMDU6NTk6NTkuNzA0NDMzOTk2WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDk5MTk1NTQ2NCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBSZWFsdGVrIFJUTDgzNjZSQiBEcml2ZXIgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCBhIHBhdGNoIHRoYXQgdHdlYWtzIHRoZSBgcnRsODM2NnJiLmNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSBgcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbmAgZnVuY3Rpb24uIEl0IHNlZW1zIHRoZXkndmUgcmVtb3ZlZCBhIGNoZWNrLCB0aGUgYGlmIChtYXNrKWAgY29uZGl0aW9uLCBiZWZvcmUgc2V0dGluZyB0aGUgaXNvbGF0aW9uIG1hc2suIFRoaXMgaW1tZWRpYXRlbHkgbWFrZXMgbWUgdGhpbmsgYWJvdXQgcG90ZW50aWFsIGltcGxpY2F0aW9ucy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2h5IHRoaXMgY2hlY2sgd2FzIHJlbW92ZWQgYW5kIHdoYXQgc2NlbmFyaW9zIGl0IG1pZ2h0IGFmZmVjdC5cblxuVGhpcyBpcyB0aGUgZHJpdmVyIGZvciB0aGUgUmVhbHRlayBSVEw4MzY2UkIgRFNBIHN3aXRjaCwgd2hpY2ggbWVhbnMgd2UncmUgZGVhbGluZyB3aXRoIGEgRGF0YSBTd2l0Y2ggQWdncmVnYXRvci4gRFNBIHN3aXRjaGVzLCBhcyBJIGtub3csIHR5cGljYWxseSBpbnRlcmZhY2Ugd2l0aCB0aGUgbWFpbiBzeXN0ZW0gdmlhIE1ESU8sIFNQSSwgb3IgSTJDLiBUaGUgaW5zdGFudGlhdGlvbiBvZiB0aGlzIGRyaXZlciBhbmQgaG93IGl0J3MgY29ubmVjdGVkIGlzIGdvaW5nIHRvIGJlIGNydWNpYWwuXG5cbk15IGZpcnN0IHN0ZXAgaXMgdG8gY29uZmlybSBob3cgdGhpcyBkcml2ZXIgaXMgYWN0dWFsbHkgaW5zdGFudGlhdGVkLiBJIG5lZWQgdG8gdHJhY2UgYmFjayBmcm9tIHRoaXMgYHJ0bDgzNjZyYi5jYCBmaWxlIGFuZCB1bmRlcnN0YW5kIHRoZSBzdXJyb3VuZGluZyBjb2RlLiBJcyB0aGlzIGRyaXZlciBldmVuIHJlYWNoYWJsZSBpbiBhIHR5cGljYWwgUUVNVSBzZXR1cCwgZm9yIGluc3RhbmNlPyBPZnRlbiwgRFNBIHN3aXRjaCBkcml2ZXJzIGRlcGVuZCBoZWF2aWx5IG9uIGRldmljZSB0cmVlIGVudHJpZXMgb3Igc3BlY2lmaWMgYm9hcmQgY29uZmlndXJhdGlvbnMgdG8gYmUgcHJvcGVybHkgaW5pdGlhbGl6ZWQgYW5kIGZ1bmN0aW9uaW5nLiBJJ20gZ29pbmcgdG8gbG9vayBjYXJlZnVsbHkgYXQgdGhlIHN1cnJvdW5kaW5nIGNvZGUgYW5kIHNlYXJjaCBmb3IgY2x1ZXMgYWJvdXQgaG93IHRoaXMgc3dpdGNoIGlzIGNvbm5lY3RlZCB0byB0aGUgc3lzdGVtLiBJIGFsc28gbmVlZCB0byB1bmRlcnN0YW5kIGFueSBhc3N1bXB0aW9ucyB0aGlzIGRyaXZlciBtYWtlcyBhYm91dCB0aGUgaGFyZHdhcmUgaXQgY29udHJvbHMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIzNDEsIk91dHB1dFRva2VucyI6MzYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMDIsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMlQwNjowMDowNC42OTYzOTM1NDFaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTM4MTU4NzM4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInJ0bDgzNjZyYlwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9kc2EvcmVhbHRlay9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA1NDAgbGluZXMuXFxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxcblxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL01ha2VmaWxlPTEzPW9iai0kKENPTkZJR19ORVRfRFNBX1JFQUxURUtfUlRMODM2NlJCKSArPSBydGw4MzY2Lm9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9NYWtlZmlsZToxNDpydGw4MzY2LW9ianMgXFx0XFx0XFx0XFx0Oj0gcnRsODM2Ni1jb3JlLm8gcnRsODM2NnJiLm9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9NYWtlZmlsZS0xNS1pZmRlZiBDT05GSUdfTkVUX0RTQV9SRUFMVEVLX1JUTDgzNjZSQl9MRURTXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvTWFrZWZpbGU6MTY6cnRsODM2Ni1vYmpzIFxcdFxcdFxcdFxcdCs9IHJ0bDgzNjZyYi1sZWRzLm9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9NYWtlZmlsZS0xNy1lbmRpZlxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcmVhbHRlay5oPTE4OD12b2lkIHJ0bDgzNjZfZ2V0X2V0aHRvb2xfc3RhdHMoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwgdWludDY0X3QgKmRhdGEpO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3JlYWx0ZWsuaC0xODktXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcmVhbHRlay5oOjE5MDpleHRlcm4gY29uc3Qgc3RydWN0IHJlYWx0ZWtfdmFyaWFudCBydGw4MzY2cmJfdmFyaWFudDtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9yZWFsdGVrLmgtMTkxLWV4dGVybiBjb25zdCBzdHJ1Y3QgcmVhbHRla192YXJpYW50IHJ0bDgzNjVtYl92YXJpYW50O1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy02LSNpbmNsdWRlIFxcXCJydGw4M3h4LmhcXFwiXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo3OiNpbmNsdWRlIFxcXCJydGw4MzY2cmIuaFxcXCJcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTgtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo5OnN0YXRpYyBpbmxpbmUgdTMyIHJ0bDgzNjZyYl9sZWRfZ3JvdXBfcG9ydF9tYXNrKHU4IGxlZF9ncm91cCwgdTggcG9ydClcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTEwLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMjQtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzoyNTpzdGF0aWMgaW50IHJiODM2NnJiX2dldF9wb3J0X2xlZChzdHJ1Y3QgcnRsODM2NnJiX2xlZCAqbGVkKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMjYte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy00MC1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjQxOlxcdHJldHVybiAhISh2YWwgXFx1MDAyNiBydGw4MzY2cmJfbGVkX2dyb3VwX3BvcnRfbWFzayhsZWRfZ3JvdXAsIHBvcnRfbnVtKSk7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy00Mi19XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy00My1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjQ0OnN0YXRpYyBpbnQgcmI4MzY2cmJfc2V0X3BvcnRfbGVkKHN0cnVjdCBydGw4MzY2cmJfbGVkICpsZWQsIGJvb2wgZW5hYmxlKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtNDUte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy01Mi1cXHRcXHRcXHRcXHQgUlRMODM2NlJCX0xFRF9YX1hfQ1RSTF9SRUcobGVkX2dyb3VwKSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjUzOlxcdFxcdFxcdFxcdCBydGw4MzY2cmJfbGVkX2dyb3VwX3BvcnRfbWFzayhsZWRfZ3JvdXAsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy01NC1cXHRcXHRcXHRcXHRcXHRcXHRcXHQgICAgICAgcG9ydF9udW0pLFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYz03NT1zdGF0aWMgaW50XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo3NjpydGw4MzY2cmJfY2xlZF9icmlnaHRuZXNzX3NldF9ibG9ja2luZyhzdHJ1Y3QgbGVkX2NsYXNzZGV2ICpsZGV2LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtNzctXFx0XFx0XFx0XFx0ICAgICAgIGVudW0gbGVkX2JyaWdodG5lc3MgYnJpZ2h0bmVzcylcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTc4LXtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjc5OlxcdHN0cnVjdCBydGw4MzY2cmJfbGVkICpsZWQgPSBjb250YWluZXJfb2YobGRldiwgc3RydWN0IHJ0bDgzNjZyYl9sZWQsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy04MC1cXHRcXHRcXHRcXHRcXHRcXHQgY2Rldik7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTg0LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6ODU6c3RhdGljIGludCBydGw4MzY2cmJfc2V0dXBfbGVkKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIHN0cnVjdCBkc2FfcG9ydCAqZHAsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy04Ni1cXHRcXHRcXHQgICAgICAgc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmxlZF9md25vZGUpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy04Ny17XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo4ODpcXHRzdHJ1Y3QgcnRsODM2NnJiICpyYiA9IHByaXYtXFx1MDAzZWNoaXBfZGF0YTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTg5LVxcdHN0cnVjdCBsZWRfaW5pdF9kYXRhIGluaXRfZGF0YSA9IHsgfTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTkwLVxcdGVudW0gbGVkX2RlZmF1bHRfc3RhdGUgc3RhdGU7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo5MTpcXHRzdHJ1Y3QgcnRsODM2NnJiX2xlZCAqbGVkO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtOTItXFx0Y2hhciBuYW1lWzY0XTtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMTI4LVxcdGxlZC1cXHUwMDNlY2Rldi5icmlnaHRuZXNzX3NldF9ibG9ja2luZyA9XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzoxMjk6XFx0XFx0cnRsODM2NnJiX2NsZWRfYnJpZ2h0bmVzc19zZXRfYmxvY2tpbmc7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy0xMzAtXFx0aW5pdF9kYXRhLmZ3bm9kZSA9IGxlZF9md25vZGU7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTE0Ni1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjE0NzppbnQgcnRsODM2NnJiX3NldHVwX2xlZHMoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTE0OC17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTE2NS1cXHRcXHRmb3JfZWFjaF9jaGlsZF9vZl9ub2RlX3Njb3BlZChsZWRzX25wLCBsZWRfbnApIHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjE2NjpcXHRcXHRcXHRyZXQgPSBydGw4MzY2cmJfc2V0dXBfbGVkKHByaXYsIGRwLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMTY3LVxcdFxcdFxcdFxcdFxcdFxcdCAgb2ZfZndub2RlX2hhbmRsZShsZWRfbnApKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTI5LSNpbmNsdWRlIFxcXCJydGw4M3h4LmhcXFwiXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MzA6I2luY2x1ZGUgXFxcInJ0bDgzNjZyYi5oXFxcIlxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTMxLVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMzE1LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjMxNjpzdGF0aWMgc3RydWN0IHJ0bDgzNjZfbWliX2NvdW50ZXIgcnRsODM2NnJiX21pYl9jb3VudGVyc1tdID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTMxNy1cXHR7IDAsICAwLCA0LCBcXFwiSWZJbk9jdGV0c1xcXCJcXHRcXHRcXHRcXHR9LFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMzUxLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjM1MjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9nZXRfbWliX2NvdW50ZXIoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdixcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0zNTMtXFx0XFx0XFx0XFx0ICAgICBpbnQgcG9ydCxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTM5My1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzozOTQ6c3RhdGljIHUzMiBydGw4MzY2cmJfZ2V0X2lycW1hc2soc3RydWN0IGlycV9kYXRhICpkKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTM5NS17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MDgtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDA5OnN0YXRpYyB2b2lkIHJ0bDgzNjZyYl9tYXNrX2lycShzdHJ1Y3QgaXJxX2RhdGEgKmQpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDEwLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQxNC1cXHRyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMocHJpdi1cXHUwMDNlbWFwLCBSVEw4MzY2UkJfSU5URVJSVVBUX01BU0tfUkVHLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQxNTpcXHRcXHRcXHRcXHQgcnRsODM2NnJiX2dldF9pcnFtYXNrKGQpLCAwKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MTYtXFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQxOS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0MjA6c3RhdGljIHZvaWQgcnRsODM2NnJiX3VubWFza19pcnEoc3RydWN0IGlycV9kYXRhICpkKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQyMS17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MjUtXFx0cmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtXFx1MDAzZW1hcCwgUlRMODM2NlJCX0lOVEVSUlVQVF9NQVNLX1JFRyxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0MjY6XFx0XFx0XFx0XFx0IHJ0bDgzNjZyYl9nZXRfaXJxbWFzayhkKSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0Mjc6XFx0XFx0XFx0XFx0IHJ0bDgzNjZyYl9nZXRfaXJxbWFzayhkKSk7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDI4LVxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MzEtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDMyOnN0YXRpYyBpcnFyZXR1cm5fdCBydGw4MzY2cmJfaXJxKGludCBpcnEsIHZvaWQgKmRhdGEpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDMzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQ2My1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0NjQ6c3RhdGljIHN0cnVjdCBpcnFfY2hpcCBydGw4MzY2cmJfaXJxX2NoaXAgPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDY1LVxcdC5uYW1lID0gXFxcIlJUTDgzNjZSQlxcXCIsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDY2OlxcdC5pcnFfbWFzayA9IHJ0bDgzNjZyYl9tYXNrX2lycSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0Njc6XFx0LmlycV91bm1hc2sgPSBydGw4MzY2cmJfdW5tYXNrX2lycSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NjgtfTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NjktXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDcwOnN0YXRpYyBpbnQgcnRsODM2NnJiX2lycV9tYXAoc3RydWN0IGlycV9kb21haW4gKmRvbWFpbiwgdW5zaWduZWQgaW50IGlycSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NzEtXFx0XFx0XFx0ICAgICBpcnFfaHdfbnVtYmVyX3QgaHdpcnEpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NzMtXFx0aXJxX3NldF9jaGlwX2RhdGEoaXJxLCBkb21haW4tXFx1MDAzZWhvc3RfZGF0YSk7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDc0OlxcdGlycV9zZXRfY2hpcF9hbmRfaGFuZGxlcihpcnEsIFxcdTAwMjZydGw4MzY2cmJfaXJxX2NoaXAsIGhhbmRsZV9zaW1wbGVfaXJxKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NzUtXFx0aXJxX3NldF9uZXN0ZWRfdGhyZWFkKGlycSwgMSk7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00ODAtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDgxOnN0YXRpYyB2b2lkIHJ0bDgzNjZyYl9pcnFfdW5tYXAoc3RydWN0IGlycV9kb21haW4gKmQsIHVuc2lnbmVkIGludCBpcnEpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDgyLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQ4Ny1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0ODg6c3RhdGljIGNvbnN0IHN0cnVjdCBpcnFfZG9tYWluX29wcyBydGw4MzY2cmJfaXJxZG9tYWluX29wcyA9IHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0ODk6XFx0Lm1hcCA9IHJ0bDgzNjZyYl9pcnFfbWFwLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ5MDpcXHQudW5tYXAgPSBydGw4MzY2cmJfaXJxX3VubWFwLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQ5MS1cXHQueGxhdGUgID0gaXJxX2RvbWFpbl94bGF0ZV9vbmVjZWxsLFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDkzLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ5NDpzdGF0aWMgaW50IHJ0bDgzNjZyYl9zZXR1cF9jYXNjYWRlZF9pcnEoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00OTUte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNTQ2LVxcdHJldCA9IGRldm1fcmVxdWVzdF90aHJlYWRlZF9pcnEocHJpdi1cXHUwMDNlZGV2LCBpcnEsIE5VTEwsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NTQ3OlxcdFxcdFxcdFxcdFxcdHJ0bDgzNjZyYl9pcnEsIElSUUZfT05FU0hPVCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01NDgtXFx0XFx0XFx0XFx0XFx0XFxcIlJUTDgzNjZSQlxcXCIsIHByaXYpO1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNTUzLVxcdHByaXYtXFx1MDAzZWlycWRvbWFpbiA9IGlycV9kb21haW5fY3JlYXRlX2xpbmVhcihvZl9md25vZGVfaGFuZGxlKGludGMpLCBSVEw4MzY2UkJfTlVNX0lOVEVSUlVQVCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo1NTQ6XFx0XFx0XFx0XFx0XFx0XFx0ICAgXFx1MDAyNnJ0bDgzNjZyYl9pcnFkb21haW5fb3BzLCBwcml2KTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01NTUtXFx0aWYgKCFwcml2LVxcdTAwM2VpcnFkb21haW4pIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTU2Ny1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo1Njg6c3RhdGljIGludCBydGw4MzY2cmJfc2V0X2FkZHIoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01Njkte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNTk1LS8qIFN0cnVjdCBmb3IgaGFuZGxpbmcgdGhlIGphbSB0YWJsZXMnIGVudHJpZXMgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo1OTY6c3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01OTctXFx0dTE2IHJlZztcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTYwMS0vKiBGb3IgdGhlIFxcXCJ2ZXJzaW9uIDBcXFwiIGVhcmx5IHNpbGljb24sIGFwcGVhciBpbiBtb3N0IHNvdXJjZSByZWxlYXNlcyAqL1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjYwMjpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9pbml0X2phbV92ZXJfMFtdID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTYwMy1cXHR7MHgwMDBCLCAweDAwMDF9LCB7MHgwM0E2LCAweDAxMDB9LCB7MHgwM0E3LCAweDAwMDF9LCB7MHgwMkQxLCAweDNGRkZ9LFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjM0LS8qIFRoaXMgdjEgaW5pdCBzZXF1ZW5jZSBpcyBmcm9tIEJlbGtpbiBGNUQ4MjM1IFUtQm9vdCByZWxlYXNlICovXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NjM1OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRsODM2NnJiX2phbV90YmxfZW50cnkgcnRsODM2NnJiX2luaXRfamFtX3Zlcl8xW10gPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjM2LVxcdHsweDAwMDAsIDB4MDgzMH0sIHsweDAwMDEsIDB4ODAwMH0sIHsweDA0MDAsIDB4ODEzMH0sIHsweEJFNzgsIDB4M0MzQ30sXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02NDktLyogVGhpcyB2MiBpbml0IHNlcXVlbmNlIGlzIGZyb20gQmVsa2luIEY1RDgyMzUgVS1Cb290IHJlbGVhc2UgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo2NTA6c3RhdGljIGNvbnN0IHN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSBydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzJbXSA9IHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02NTEtXFx0ezB4MDQ1MCwgMHgwMDAwfSwgezB4MDQwMCwgMHg4MTMwfSwgezB4MDAwQSwgMHg4M0VEfSwgezB4MDQzMSwgMHg1NDMyfSxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTY2NC0vKiBBcHBlYXJzIGluIGEgRERXUlQgY29kZSBkdW1wICovXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NjY1OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRsODM2NnJiX2phbV90YmxfZW50cnkgcnRsODM2NnJiX2luaXRfamFtX3Zlcl8zW10gPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjY2LVxcdHsweDAwMDAsIDB4MDgzMH0sIHsweDA0MDAsIDB4ODEzMH0sIHsweDAwMEEsIDB4ODNFRH0sIHsweDA0MzEsIDB4NTQzMn0sXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02ODUtLyogQmVsa2luIEY1RDgyMzUgdjEsIFxcXCJiZWxraW4sZjVkODIzNS12MVxcXCIgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo2ODY6c3RhdGljIGNvbnN0IHN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSBydGw4MzY2cmJfaW5pdF9qYW1fZjVkODIzNVtdID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTY4Ny1cXHR7MHgwMjQyLCAweDAyQkZ9LCB7MHgwMjQ1LCAweDAyQkZ9LCB7MHgwMjQ4LCAweDAyQkZ9LCB7MHgwMjRCLCAweDAyQkZ9LFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjk4LS8qIERHTjM1MDAsIFxcXCJuZXRnZWFyLGRnbjM1MDBcXFwiLCBcXFwibmV0Z2VhcixkZ24zNTAwYlxcXCIgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo2OTk6c3RhdGljIGNvbnN0IHN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSBydGw4MzY2cmJfaW5pdF9qYW1fZGduMzUwMFtdID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTcwMC1cXHR7MHgwMDAwLCAweDA4MzB9LCB7MHgwNDAwLCAweDgxMzB9LCB7MHgwMDBBLCAweDgzRUR9LCB7MHgwRjUxLCAweDAwMTd9LFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzA5LSAqL1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjcxMDpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9ncmVlbl9qYW1bXSA9IHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy03MTEtXFx0ezB4QkU3OCwgMHgzMjNDfSwgezB4QkU3NywgMHg1MDAwfSwgezB4QkUyRSwgMHg3QkE3fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTcxNi0vKiBGdW5jdGlvbiB0aGF0IGphbXMgdGhlIHRhYmxlcyBpbiB0aGUgcHJvcGVyIHJlZ2lzdGVycyAqL1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjcxNzpzdGF0aWMgaW50IHJ0bDgzNjZyYl9qYW1fdGFibGUoY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5ICpqYW1fdGFibGUsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzE4LVxcdFxcdFxcdCAgICAgICBpbnQgamFtX3NpemUsIHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYz03NTQ9aW50IHJiODM2NnJiX3NldF9sZWRncm91cF9tb2RlKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy03NzMtLyogVGhpcyBjb2RlIGlzIHVzZWQgYWxzbyB3aXRoIExFRHMgZGlzYWJsZWQgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo3NzQ6c3RhdGljIGludCBydGw4MzY2cmJfc2V0dXBfYWxsX2xlZHNfb2ZmKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzc1LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTc5My1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo3OTQ6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9zZXRfaXNvbGF0aW9uKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTc5NS1cXHRcXHRcXHRcXHRcXHR1MzIgbWFzaylcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTgwNS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo4MDY6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9hZGRfaXNvbGF0aW9uKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTgwNy1cXHRcXHRcXHRcXHRcXHR1MzIgbWFzaylcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTgxNC1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo4MTU6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9yZW1vdmVfaXNvbGF0aW9uKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTgxNi1cXHRcXHRcXHRcXHRcXHQgICB1MzIgbWFzaylcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTgyMj1zdGF0aWMgdm9pZFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjgyMzpydGw4MzY2cmJfcG9ydF9zdHBfc3RhdGVfc2V0KHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsIHU4IHN0YXRlKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTgyNC17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04NTUtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6ODU2OnN0YXRpYyBpbnQgcnRsODM2NnJiX3BvcnRfc2V0X2xlYXJuaW5nKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTg1Ny1cXHRcXHRcXHRcXHQgICAgICAgYm9vbCBlbmFibGUpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04NjUtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6ODY2OnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04Njcte1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTg2OC1cXHRzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2ID0gZHMtXFx1MDAzZXByaXY7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6ODY5OlxcdGNvbnN0IHN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSAqamFtX3RhYmxlO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTg3MC1cXHR1MzIgZG93bnBvcnRzX21hc2sgPSAwO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjg3MTpcXHRzdHJ1Y3QgcnRsODM2NnJiICpyYjtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04NzItXFx0dTMyIHVwcG9ydHNfbWFzayA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MDgtXFx0Y2FzZSAwOlxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkwOTpcXHRcXHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzA7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTEwOlxcdFxcdGphbV9zaXplID0gQVJSQVlfU0laRShydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzApO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkxMS1cXHRcXHRicmVhaztcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MTItXFx0Y2FzZSAxOlxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkxMzpcXHRcXHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzE7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTE0OlxcdFxcdGphbV9zaXplID0gQVJSQVlfU0laRShydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzEpO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkxNS1cXHRcXHRicmVhaztcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MTYtXFx0Y2FzZSAyOlxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkxNzpcXHRcXHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzI7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTE4OlxcdFxcdGphbV9zaXplID0gQVJSQVlfU0laRShydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzIpO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkxOS1cXHRcXHRicmVhaztcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MjAtXFx0ZGVmYXVsdDpcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5MjE6XFx0XFx0amFtX3RhYmxlID0gcnRsODM2NnJiX2luaXRfamFtX3Zlcl8zO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkyMjpcXHRcXHRqYW1fc2l6ZSA9IEFSUkFZX1NJWkUocnRsODM2NnJiX2luaXRfamFtX3Zlcl8zKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MjMtXFx0XFx0YnJlYWs7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MzAtXFx0aWYgKG9mX21hY2hpbmVfaXNfY29tcGF0aWJsZShcXFwiYmVsa2luLGY1ZDgyMzUtdjFcXFwiKSkge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkzMTpcXHRcXHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fZjVkODIzNTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5MzI6XFx0XFx0amFtX3NpemUgPSBBUlJBWV9TSVpFKHJ0bDgzNjZyYl9pbml0X2phbV9mNWQ4MjM1KTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MzMtXFx0fVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTM1LVxcdCAgICBvZl9tYWNoaW5lX2lzX2NvbXBhdGlibGUoXFxcIm5ldGdlYXIsZGduMzUwMGJcXFwiKSkge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkzNjpcXHRcXHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fZGduMzUwMDtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5Mzc6XFx0XFx0amFtX3NpemUgPSBBUlJBWV9TSVpFKHJ0bDgzNjZyYl9pbml0X2phbV9kZ24zNTAwKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MzgtXFx0fVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkzOS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5NDA6XFx0cmV0ID0gcnRsODM2NnJiX2phbV90YWJsZShqYW1fdGFibGUsIGphbV9zaXplLCBwcml2LCB0cnVlKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NDEtXFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk0OS1cXHRcXHQgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5NTA6XFx0XFx0cnRsODM2NnJiX3BvcnRfc3RwX3N0YXRlX3NldChkcywgZHAtXFx1MDAzZWluZGV4LCBCUl9TVEFURV9ESVNBQkxFRCk7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTUxLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk1Mi1cXHRcXHQvKiBTdGFydCB3aXRoIGFsbCBwb3J0cyBjb21wbGV0ZWx5IGlzb2xhdGVkICovXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTUzOlxcdFxcdHJldCA9IHJ0bDgzNjZyYl9wb3J0X3NldF9pc29sYXRpb24ocHJpdiwgZHAtXFx1MDAzZWluZGV4LCAwKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NTQtXFx0XFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk1Ny1cXHRcXHQvKiBEaXNhYmxlIGxlYXJuaW5nICovXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTU4OlxcdFxcdHJldCA9IHJ0bDgzNjZyYl9wb3J0X3NldF9sZWFybmluZyhwcml2LCBkcC1cXHUwMDNlaW5kZXgsIGZhbHNlKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NTktXFx0XFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk3Ni1cXHRcXHQvKiBGb3J3YXJkIG9ubHkgdG8gdGhlIENQVShzKSwgaXNvbGF0ZSBmcm9tIGFsbCBvdGhlciBwb3J0cyAqL1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjk3NzpcXHRcXHRyZXQgPSBydGw4MzY2cmJfcG9ydF9zZXRfaXNvbGF0aW9uKHByaXYsIGRwLVxcdTAwM2VpbmRleCwgdXBwb3J0c19tYXNrKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NzgtXFx0XFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk5MS1cXHRcXHQvKiBGb3J3YXJkIHRvIGFsbCB1c2VyIHBvcnRzICovXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTkyOlxcdFxcdHJldCA9IHJ0bDgzNjZyYl9wb3J0X3NldF9pc29sYXRpb24ocHJpdiwgZHAtXFx1MDAzZWluZGV4LCBkb3ducG9ydHNfbWFzayk7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTkzLVxcdFxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05OTctXFx0LyogU2V0IHVwIHRoZSBcXFwiZ3JlZW4gZXRoZXJuZXRcXFwiIGZlYXR1cmUgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5OTg6XFx0cmV0ID0gcnRsODM2NnJiX2phbV90YWJsZShydGw4MzY2cmJfZ3JlZW5famFtLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjk5OTpcXHRcXHRcXHRcXHQgIEFSUkFZX1NJWkUocnRsODM2NnJiX2dyZWVuX2phbSksIHByaXYsIGZhbHNlKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMDAwLVxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMDE3LVxcdC8qIFNldCBzb21lIHJhbmRvbSBNQUMgYWRkcmVzcyAqL1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjEwMTg6XFx0cmV0ID0gcnRsODM2NnJiX3NldF9hZGRyKHByaXYpO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEwMTktXFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTExMDMtXFx0aWYgKHByaXYtXFx1MDAzZWxlZHNfZGlzYWJsZWQpIHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMTA0OlxcdFxcdHJldCA9IHJ0bDgzNjZyYl9zZXR1cF9hbGxfbGVkc19vZmYocHJpdik7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTEwNS1cXHRcXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTEwNy1cXHR9IGVsc2Uge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjExMDg6XFx0XFx0cmV0ID0gcnRsODM2NnJiX3NldHVwX2xlZHMocHJpdik7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTEwOS1cXHRcXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTExNi1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMTE3OlxcdHJldCA9IHJ0bDgzNjZyYl9zZXR1cF9jYXNjYWRlZF9pcnEocHJpdik7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTExOC1cXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM9MTEzMD1zdGF0aWMgZW51bSBkc2FfdGFnX3Byb3RvY29sIHJ0bDgzNjZfZ2V0X3RhZ19wcm90b2NvbChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMTM3LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjExMzg6c3RhdGljIHZvaWQgcnRsODM2NnJiX3BoeWxpbmtfZ2V0X2NhcHMoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMTM5LVxcdFxcdFxcdFxcdCAgICAgICBzdHJ1Y3QgcGh5bGlua19jb25maWcgKmNvbmZpZylcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTExNjQ9c3RhdGljIHZvaWRcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMTY1OnJ0bDgzNjZyYl9tYWNfY29uZmlnKHN0cnVjdCBwaHlsaW5rX2NvbmZpZyAqY29uZmlnLCB1bnNpZ25lZCBpbnQgbW9kZSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMTY2LVxcdFxcdCAgICAgY29uc3Qgc3RydWN0IHBoeWxpbmtfbGlua19zdGF0ZSAqc3RhdGUpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYz0xMTcwPXN0YXRpYyB2b2lkXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTE3MTpydGw4MzY2cmJfbWFjX2xpbmtfdXAoc3RydWN0IHBoeWxpbmtfY29uZmlnICpjb25maWcsIHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTE3Mi1cXHRcXHQgICAgICB1bnNpZ25lZCBpbnQgbW9kZSwgcGh5X2ludGVyZmFjZV90IGludGVyZmFjZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTEyNDI9c3RhdGljIHZvaWRcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMjQzOnJ0bDgzNjZyYl9tYWNfbGlua19kb3duKHN0cnVjdCBwaHlsaW5rX2NvbmZpZyAqY29uZmlnLCB1bnNpZ25lZCBpbnQgbW9kZSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMjQ0LVxcdFxcdFxcdHBoeV9pbnRlcmZhY2VfdCBpbnRlcmZhY2UpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYz0xMjY1PXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMjY2OnJ0bDgzNjZyYl9wb3J0X2VuYWJsZShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEyNjctXFx0XFx0ICAgICAgc3RydWN0IHBoeV9kZXZpY2UgKnBoeSlcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTEyODE9c3RhdGljIHZvaWRcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMjgyOnJ0bDgzNjZyYl9wb3J0X2Rpc2FibGUoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydClcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMjgzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEyOTQtLyoqXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTI5NTogKiBydGw4MzY2cmJfZHJvcF91bnRhZ2dlZCgpIC0gbWFrZSB0aGUgc3dpdGNoIGRyb3AgdW50YWdnZWQgYW5kIEMtdGFnZ2VkIGZyYW1lc1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEyOTYtICogQHByaXY6IFNNSSBzdGF0ZSBjb250YWluZXJcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzMDEtICovXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTMwMjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9kcm9wX3VudGFnZ2VkKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LCBib29sIGRyb3ApXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTMwMy17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzA4LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjEzMDk6c3RhdGljIGludCBydGw4MzY2cmJfdmxhbl9maWx0ZXJpbmcoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzEwLVxcdFxcdFxcdFxcdCAgICBib29sIHZsYW5fZmlsdGVyaW5nLFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTMxMy1cXHRzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2ID0gZHMtXFx1MDAzZXByaXY7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTMxNDpcXHRzdHJ1Y3QgcnRsODM2NnJiICpyYjtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzE1LVxcdGludCByZXQ7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzMyLVxcdGlmICh2bGFuX2ZpbHRlcmluZylcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzMzOlxcdFxcdHJldCA9IHJ0bDgzNjZyYl9kcm9wX3VudGFnZ2VkKHByaXYsIHBvcnQsICFyYi1cXHUwMDNlcHZpZF9lbmFibGVkW3BvcnRdKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzM0LVxcdGVsc2VcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzM1OlxcdFxcdHJldCA9IHJ0bDgzNjZyYl9kcm9wX3VudGFnZ2VkKHByaXYsIHBvcnQsIGZhbHNlKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzM2LVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM9MTM0MD1zdGF0aWMgaW50XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTM0MTpydGw4MzY2cmJfcG9ydF9wcmVfYnJpZGdlX2ZsYWdzKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTM0Mi1cXHRcXHRcXHRcXHRzdHJ1Y3Qgc3dpdGNoZGV2X2JycG9ydF9mbGFncyBmbGFncyxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTEzNTI9c3RhdGljIHZvaWRcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzUzOnJ0bDgzNjZyYl9wb3J0X2Zhc3RfYWdlKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTM1NC17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzY0LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjEzNjU6c3RhdGljIGludCBydGw4MzY2cmJfY2hhbmdlX210dShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LCBpbnQgbmV3X210dSlcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzY2LXtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzY3LVxcdHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYgPSBkcy1cXHUwMDNlcHJpdjtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzY4OlxcdHN0cnVjdCBydGw4MzY2cmIgKnJiO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzNjktXFx0dW5zaWduZWQgaW50IG1heF9tdHU7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNDExLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE0MTI6c3RhdGljIGludCBydGw4MzY2cmJfbWF4X210dShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0KVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE0MTMte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQyMS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNDIyOnN0YXRpYyBpbnQgcnRsODM2NnJiX2dldF92bGFuXzRrKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIHUzMiB2aWQsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQyMy1cXHRcXHRcXHRcXHQgc3RydWN0IHJ0bDgzNjZfdmxhbl80ayAqdmxhbjRrKVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQ2Mi1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNDYzOnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldF92bGFuXzRrKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQ2NC1cXHRcXHRcXHRcXHQgY29uc3Qgc3RydWN0IHJ0bDgzNjZfdmxhbl80ayAqdmxhbjRrKVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQ5Ni1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNDk3OnN0YXRpYyBpbnQgcnRsODM2NnJiX2dldF92bGFuX21jKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIHUzMiBpbmRleCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNDk4LVxcdFxcdFxcdFxcdCBzdHJ1Y3QgcnRsODM2Nl92bGFuX21jICp2bGFubWMpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNTI3LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE1Mjg6c3RhdGljIGludCBydGw4MzY2cmJfc2V0X3ZsYW5fbWMoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgdTMyIGluZGV4LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE1MjktXFx0XFx0XFx0XFx0IGNvbnN0IHN0cnVjdCBydGw4MzY2X3ZsYW5fbWMgKnZsYW5tYylcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE1NjEtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTU2MjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9nZXRfbWNfaW5kZXgoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBvcnQsIGludCAqdmFsKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE1NjMte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTU4MC1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNTgxOnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldF9tY19pbmRleChzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCBpbnQgcG9ydCwgaW50IGluZGV4KVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE1ODIte1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE1ODMtXFx0c3RydWN0IGRzYV9zd2l0Y2ggKmRzID0gXFx1MDAyNnByaXYtXFx1MDAzZWRzO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE1ODQ6XFx0c3RydWN0IHJ0bDgzNjZyYiAqcmI7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTU4NS1cXHRib29sIHB2aWRfZW5hYmxlZDtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2MDgtXFx0aWYgKGRzYV9wb3J0X2lzX3ZsYW5fZmlsdGVyaW5nKGRzYV90b19wb3J0KGRzLCBwb3J0KSkpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTYwOTpcXHRcXHRyZXQgPSBydGw4MzY2cmJfZHJvcF91bnRhZ2dlZChwcml2LCBwb3J0LCAhcHZpZF9lbmFibGVkKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjEwLVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYxMy1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNjE0OnN0YXRpYyBib29sIHJ0bDgzNjZyYl9pc192bGFuX3ZhbGlkKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIHVuc2lnbmVkIGludCB2bGFuKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2MTUte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYyNi1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNjI3OnN0YXRpYyBpbnQgcnRsODM2NnJiX2VuYWJsZV92bGFuKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGJvb2wgZW5hYmxlKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2Mjgte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYzNC1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNjM1OnN0YXRpYyBpbnQgcnRsODM2NnJiX2VuYWJsZV92bGFuNGsoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgYm9vbCBlbmFibGUpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYzNi17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjQyLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE2NDM6c3RhdGljIGludCBydGw4MzY2cmJfcGh5X3JlYWQoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBoeSwgaW50IHJlZ251bSlcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjQ0LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2ODQtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTY4NTpzdGF0aWMgaW50IHJ0bDgzNjZyYl9waHlfd3JpdGUoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBoeSwgaW50IHJlZ251bSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjg2LVxcdFxcdFxcdCAgICAgICB1MTYgdmFsKVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTcxNS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzE2OnN0YXRpYyBpbnQgcnRsODM2NnJiX3Jlc2V0X2NoaXAoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzE3LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3NDEtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTc0MjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9kZXRlY3Qoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzQzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3NjQtXFx0XFx0cHJpdi1cXHUwMDNlbnVtX3ZsYW5fbWMgPSBSVEw4MzY2UkJfTlVNX1ZMQU5TO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3NjU6XFx0XFx0cHJpdi1cXHUwMDNlbWliX2NvdW50ZXJzID0gcnRsODM2NnJiX21pYl9jb3VudGVycztcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzY2OlxcdFxcdHByaXYtXFx1MDAzZW51bV9taWJfY291bnRlcnMgPSBBUlJBWV9TSVpFKHJ0bDgzNjZyYl9taWJfY291bnRlcnMpO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3NjctXFx0XFx0YnJlYWs7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzczLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3NzQ6XFx0cmV0ID0gcnRsODM2NnJiX3Jlc2V0X2NoaXAocHJpdik7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc3NS1cXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc4MC1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzgxOnN0YXRpYyBjb25zdCBzdHJ1Y3QgcGh5bGlua19tYWNfb3BzIHJ0bDgzNjZyYl9waHlsaW5rX21hY19vcHMgPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTc4MjpcXHQubWFjX2NvbmZpZyA9IHJ0bDgzNjZyYl9tYWNfY29uZmlnLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3ODM6XFx0Lm1hY19saW5rX2Rvd24gPSBydGw4MzY2cmJfbWFjX2xpbmtfZG93bixcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzg0OlxcdC5tYWNfbGlua191cCA9IHJ0bDgzNjZyYl9tYWNfbGlua191cCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzg1LX07XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc4Ni1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzg3OnN0YXRpYyBjb25zdCBzdHJ1Y3QgZHNhX3N3aXRjaF9vcHMgcnRsODM2NnJiX3N3aXRjaF9vcHMgPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc4OC1cXHQuZ2V0X3RhZ19wcm90b2NvbCA9IHJ0bDgzNjZfZ2V0X3RhZ19wcm90b2NvbCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzg5OlxcdC5zZXR1cCA9IHJ0bDgzNjZyYl9zZXR1cCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzkwOlxcdC5waHlsaW5rX2dldF9jYXBzID0gcnRsODM2NnJiX3BoeWxpbmtfZ2V0X2NhcHMsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc5MS1cXHQuZ2V0X3N0cmluZ3MgPSBydGw4MzY2X2dldF9zdHJpbmdzLFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc5NS1cXHQucG9ydF9icmlkZ2VfbGVhdmUgPSBydGw4M3h4X3BvcnRfYnJpZGdlX2xlYXZlLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3OTY6XFx0LnBvcnRfdmxhbl9maWx0ZXJpbmcgPSBydGw4MzY2cmJfdmxhbl9maWx0ZXJpbmcsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc5Ny1cXHQucG9ydF92bGFuX2FkZCA9IHJ0bDgzNjZfdmxhbl9hZGQsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc5OC1cXHQucG9ydF92bGFuX2RlbCA9IHJ0bDgzNjZfdmxhbl9kZWwsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTc5OTpcXHQucG9ydF9lbmFibGUgPSBydGw4MzY2cmJfcG9ydF9lbmFibGUsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgwMDpcXHQucG9ydF9kaXNhYmxlID0gcnRsODM2NnJiX3BvcnRfZGlzYWJsZSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODAxOlxcdC5wb3J0X3ByZV9icmlkZ2VfZmxhZ3MgPSBydGw4MzY2cmJfcG9ydF9wcmVfYnJpZGdlX2ZsYWdzLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4MDItXFx0LnBvcnRfYnJpZGdlX2ZsYWdzID0gcnRsODN4eF9wb3J0X2JyaWRnZV9mbGFncyxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODAzOlxcdC5wb3J0X3N0cF9zdGF0ZV9zZXQgPSBydGw4MzY2cmJfcG9ydF9zdHBfc3RhdGVfc2V0LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MDQ6XFx0LnBvcnRfZmFzdF9hZ2UgPSBydGw4MzY2cmJfcG9ydF9mYXN0X2FnZSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODA1OlxcdC5wb3J0X2NoYW5nZV9tdHUgPSBydGw4MzY2cmJfY2hhbmdlX210dSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODA2OlxcdC5wb3J0X21heF9tdHUgPSBydGw4MzY2cmJfbWF4X210dSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODA3LVxcdC5wb3J0X2hzcl9qb2luID0gZHNhX3BvcnRfc2ltcGxlX2hzcl9qb2luLFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTgxMC1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODExOnN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVhbHRla19vcHMgcnRsODM2NnJiX29wcyA9IHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODEyOlxcdC5kZXRlY3RcXHRcXHQ9IHJ0bDgzNjZyYl9kZXRlY3QsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgxMzpcXHQuZ2V0X3ZsYW5fbWNcXHQ9IHJ0bDgzNjZyYl9nZXRfdmxhbl9tYyxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODE0OlxcdC5zZXRfdmxhbl9tY1xcdD0gcnRsODM2NnJiX3NldF92bGFuX21jLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MTU6XFx0LmdldF92bGFuXzRrXFx0PSBydGw4MzY2cmJfZ2V0X3ZsYW5fNGssXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgxNjpcXHQuc2V0X3ZsYW5fNGtcXHQ9IHJ0bDgzNjZyYl9zZXRfdmxhbl80ayxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODE3OlxcdC5nZXRfbWNfaW5kZXhcXHQ9IHJ0bDgzNjZyYl9nZXRfbWNfaW5kZXgsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgxODpcXHQuc2V0X21jX2luZGV4XFx0PSBydGw4MzY2cmJfc2V0X21jX2luZGV4LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MTk6XFx0LmdldF9taWJfY291bnRlciA9IHJ0bDgzNjZyYl9nZXRfbWliX2NvdW50ZXIsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgyMDpcXHQuaXNfdmxhbl92YWxpZFxcdD0gcnRsODM2NnJiX2lzX3ZsYW5fdmFsaWQsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgyMTpcXHQuZW5hYmxlX3ZsYW5cXHQ9IHJ0bDgzNjZyYl9lbmFibGVfdmxhbixcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODIyOlxcdC5lbmFibGVfdmxhbjRrXFx0PSBydGw4MzY2cmJfZW5hYmxlX3ZsYW40ayxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODIzOlxcdC5wb3J0X2FkZF9pc29sYXRpb24gPSBydGw4MzY2cmJfcG9ydF9hZGRfaXNvbGF0aW9uLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MjQ6XFx0LnBvcnRfcmVtb3ZlX2lzb2xhdGlvbiA9IHJ0bDgzNjZyYl9wb3J0X3JlbW92ZV9pc29sYXRpb24sXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgyNTpcXHQucG9ydF9zZXRfbGVhcm5pbmcgPSBydGw4MzY2cmJfcG9ydF9zZXRfbGVhcm5pbmcsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgyNjpcXHQucGh5X3JlYWRcXHQ9IHJ0bDgzNjZyYl9waHlfcmVhZCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODI3OlxcdC5waHlfd3JpdGVcXHQ9IHJ0bDgzNjZyYl9waHlfd3JpdGUsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTgyOC19O1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4MjktXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgzMDpjb25zdCBzdHJ1Y3QgcmVhbHRla192YXJpYW50IHJ0bDgzNjZyYl92YXJpYW50ID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MzE6XFx0LmRzX29wcyA9IFxcdTAwMjZydGw4MzY2cmJfc3dpdGNoX29wcyxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODMyOlxcdC5vcHMgPSBcXHUwMDI2cnRsODM2NnJiX29wcyxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODMzOlxcdC5waHlsaW5rX21hY19vcHMgPSBcXHUwMDI2cnRsODM2NnJiX3BoeWxpbmtfbWFjX29wcyxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODM0LVxcdC5jbGtfZGVsYXkgPSAxMCxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4MzYtXFx0LmNtZF93cml0ZSA9IDB4YTgsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgzNzpcXHQuY2hpcF9kYXRhX3N6ID0gc2l6ZW9mKHN0cnVjdCBydGw4MzY2cmIpLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4MzgtfTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODM5LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDA6c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcnRsODM2NnJiX29mX21hdGNoW10gPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg0MTpcXHR7IC5jb21wYXRpYmxlID0gXFxcInJlYWx0ZWsscnRsODM2NnJiXFxcIiwgLmRhdGEgPSBcXHUwMDI2cnRsODM2NnJiX3ZhcmlhbnQsIH0sXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg0Mi1cXHR7IC8qIHNlbnRpbmVsICovIH0sXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg0My19O1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDQ6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcnRsODM2NnJiX29mX21hdGNoKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODQ1LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDY6c3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgcnRsODM2NnJiX3NtaV9kcml2ZXIgPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg0Ny1cXHQuZHJpdmVyID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDg6XFx0XFx0Lm5hbWUgPSBcXFwicnRsODM2NnJiLXNtaVxcXCIsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg0OTpcXHRcXHQub2ZfbWF0Y2hfdGFibGUgPSBydGw4MzY2cmJfb2ZfbWF0Y2gsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg1MC1cXHR9LFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg1NS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODU2OnN0YXRpYyBzdHJ1Y3QgbWRpb19kcml2ZXIgcnRsODM2NnJiX21kaW9fZHJpdmVyID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NTctXFx0Lm1kaW9kcnYuZHJpdmVyID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NTg6XFx0XFx0Lm5hbWUgPSBcXFwicnRsODM2NnJiLW1kaW9cXFwiLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NTk6XFx0XFx0Lm9mX21hdGNoX3RhYmxlID0gcnRsODM2NnJiX29mX21hdGNoLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NjAtXFx0fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NjUtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg2NjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9pbml0KHZvaWQpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg2Ny17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODY5LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NzA6XFx0cmV0ID0gcmVhbHRla19tZGlvX2RyaXZlcl9yZWdpc3RlcihcXHUwMDI2cnRsODM2NnJiX21kaW9fZHJpdmVyKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODcxLVxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODczLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NzQ6XFx0cmV0ID0gcmVhbHRla19zbWlfZHJpdmVyX3JlZ2lzdGVyKFxcdTAwMjZydGw4MzY2cmJfc21pX2RyaXZlcik7XFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDA2OjAwOjA0LjgzNDU2MDk4OFoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjEwNTA3MTcxMjUwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKlVucmVhY2hhYmxlIENvZGUgQW5hbHlzaXM6IHJ0bDgzNjZyYiBEcml2ZXIqKlxuXG5Pa2F5LCBsZXQncyB0aGluayB0aGlzIHRocm91Z2guIFRoZSBgcnRsODM2NnJiYCBkcml2ZXIsIGl0J3MgYSBwbGF0Zm9ybSBhbmQgTURJTyBkcml2ZXIsIHdoaWNoIG1lYW5zIGl0IHJlbGllcyBvbiBhIHNwZWNpZmljIGRldmljZSB0cmVlIGVudHJ5IHdpdGggdGhlIGByZWFsdGVrLHJ0bDgzNjZyYmAgY29tcGF0aWJsZSBzdHJpbmcgdG8gZXZlbiBnZXQgaW5pdGlhbGl6ZWQuIEkga25vdyBRRU1VIGRvZXNuJ3QgZW11bGF0ZSB0aGlzIHBhcnRpY3VsYXIgUmVhbHRlayBEU0Egc3dpdGNoLCBhbmQgRFNBIHN3aXRjaGVzIGFyZSB1c3VhbGx5IHNldCB1cCB0aHJvdWdoIHRoZSBkZXZpY2UgdHJlZSBvbiBzcGVjaWZpYyBlbWJlZGRlZCBzeXN0ZW1zIGxpa2UgdGhlIEJlbGtpbiBGNUQ4MjM1IGFuZCBOZXRnZWFyIERHTjM1MDAsIHdoaWNoIGFyZSBkZWZpbml0ZWx5IG5vdCBpbiBteSB1c3VhbCB0ZXN0IHNldHVwLiBTbywgdGhhdCBtZWFucyB0aGUgYHJ0bDgzNjZyYl9zZXR1cGAgZnVuY3Rpb24gaXNuJ3QgZ29pbmcgdG8gYmUgY2FsbGVkLCBldmVyLCBpbiBteSBlbnZpcm9ubWVudC5cblxuSG1tLCBjYW4gU3l6a2FsbGVyIGluamVjdCBzb21lIGtpbmQgb2YgZmFrZSBNRElPIG9yIHBsYXRmb3JtIGRldmljZT8gUG90ZW50aWFsbHksIEkndmUgc2VlbiBTeXprYWxsZXIgbWVzcyB3aXRoIGRldmljZSBpbmplY3Rpb24gdXNpbmcgYHN5el9kZXZsaW5rYCBhbmQgc2ltaWxhciB0b29scywgYnV0IGl0J3Mgbm90IHN0cmFpZ2h0Zm9yd2FyZCBmb3IgTURJTyBvciBTTUkgZGV2aWNlcywgcmlnaHQ/IEVzcGVjaWFsbHkgd2l0aG91dCBzb21lIGtpbmQgb2YgcHNldWRvLWRldmljZSB0byBob29rIGludG8uIEkgd2FzIHRoaW5raW5nIG1heWJlIFN5emthbGxlciBjb3VsZCBjcmVhdGUgcGxhdGZvcm0gZGV2aWNlcyBkaXJlY3RseSB0aHJvdWdoIHRoZSBgL3N5cy9kZXZpY2VzL3BsYXRmb3JtYCBkaXJlY3RvcnksIGJ1dCB0aGF04oCZcyBub3QgcmVhbGx5IGhvdyBpdCB3b3Jrcy4gU3l6a2FsbGVyIGRvZXNuJ3QgaGF2ZSBhIGdlbmVyaWMgd2F5IHRvIGluc3RhbnRpYXRlIHJhbmRvbSBwbGF0Zm9ybSBkZXZpY2VzIHVubGVzcyBhIHBzZXVkby1kZXZpY2UgZHJpdmVyIGV4cGxpY2l0bHkgc3VwcG9ydHMgaXQgKGxpa2UgYG1hYzgwMjExX2h3c2ltYCBvciBgdmttc2AsIGV0Yy4pLCBvciBtYXliZSB0aHJvdWdoIGRldmljZSB0cmVlIG92ZXJsYXlzLCBidXQgSSBkb24ndCB0aGluayBTeXprYWxsZXIgZG9lcyBkeW5hbWljIG92ZXJsYXlzIGZvciB3aGF0ZXZlciBkZXZpY2UgSSB3YW50IHRvIHRlc3QuIFdhaXQsIGRpZCBJIG1pc3Mgc29tZXRoaW5nPyBJIGRvbid0IHRoaW5rIFN5emthbGxlciBjYW4gaW5qZWN0IHBsYXRmb3JtIGRldmljZXMgdmlhIGBzeXpfcGxhdGZvcm1fZGV2aWNlX2FkZGAgb3IgYW55dGhpbmcgbGlrZSB0aGF0LiBObywgdGhlcmUncyBubyBzdWNoIGNhbGwuXG5cbkxldCdzIHN0ZXAgYmFjayBhbmQgY2hlY2sgd2hldGhlciB0aGlzIGNvZGUgaXMgZXZlbiByZWFjaGFibGUuIFRoZSBkcml2ZXIgaXMgZm9yIGEgUmVhbHRlayBEU0Egc3dpdGNoLiBUaGUgcGF0Y2ggSSdtIGxvb2tpbmcgYXQgbW9kaWZpZXMgYHJ0bDgzNjZyYl9wb3J0X3NldF9pc29sYXRpb25gIGFuZCBgcnRsODM2NnJiX3NldHVwYCwgd2hpY2ggYXJlIHNwZWNpZmljIHRvIHRoaXMgaGFyZHdhcmUuIFNpbmNlIHRoaXMgaGFyZHdhcmUgaXNuJ3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UgZW52aXJvbm1lbnRzLCBpdCdzIG5vdCByZWFjaGFibGUuIFRoZSBwYXRjaCBjb2RlIGlzIG5vdCBnb2luZyB0byBiZSB0b3VjaGVkLlxuXG5BbHJpZ2h0LCBsZXQncyBkb3VibGUtY2hlY2sgaG93IHRoaXMgZHJpdmVyIHByb2Jlcy4gSXQgcmVnaXN0ZXJzIGJvdGggYHJ0bDgzNjZyYl9zbWlfZHJpdmVyYCAocGxhdGZvcm0pIGFuZCBgcnRsODM2NnJiX21kaW9fZHJpdmVyYCAobWRpbykuIFRoZXkgYm90aCByZWx5IG9uIGAub2ZfbWF0Y2hfdGFibGUgPSBydGw4MzY2cmJfb2ZfbWF0Y2hgLiBXaXRob3V0IHRoZSBjb3JyZWN0IGhhcmR3YXJlIG9yIHRoZSBwcm9wZXIgZGV2aWNlIHRyZWUgbm9kZSwgdGhlIHByb2JlIGZ1bmN0aW9uIGRvZXNuJ3QgZ2V0IGNhbGxlZCBhbmQgdGhpcyBkcml2ZXIgaXMgdW5yZWFjaGFibGUuIEl0J3MgYSBkZWFkIGVuZC5cblxuVGhlcmVmb3JlLCBXb3J0aEZ1enppbmc9ZmFsc2UuIEknbSByZWFzb25hYmx5IGNvbmZpZGVudCB0aGUgY2hhbmdlcyBhcmUgaW4gY29kZSB0aGF0J3Mgbm90IHJlYWNoYWJsZSB1bmRlciB0aGUgY29uZGl0aW9ucyBJJ20gZnV6emluZy4gVGhlIHBhdGNoIG1vZGlmaWVzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgUmVhbHRlayBSVEw4MzY2UkIgRFNBIHN3aXRjaC4gU2luY2UgdGhhdCBkZXZpY2UgaXNuJ3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgZW52aXJvbm1lbnRzLCBhbmQgdGhlIGRyaXZlciByZWxpZXMgb24gc3BlY2lmaWMgZGV2aWNlIHRyZWUgbm9kZXMgb3IgaGFyZHdhcmUgdG8gcHJvYmUsIHRoZSBtb2RpZmllZCBjb2RlIGNhbid0IGJlIHJlYWNoZWQgZHVyaW5nIGZ1enppbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE4NzM3LCJPdXRwdXRUb2tlbnMiOjkwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NjQxLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDA2OjAwOjE1LjM0MTczNjE0OVoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzAzNjksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIHRoZSBSZWFsdGVrIFJUTDgzNjZSQiBEU0Egc3dpdGNoLiBUaGlzIGRldmljZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS9HQ0UgZW52aXJvbm1lbnRzLCBhbmQgdGhlIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBkZXZpY2UgdHJlZSBub2RlcyBvciBoYXJkd2FyZSB0byBwcm9iZSwgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIHRoZSBSZWFsdGVrIFJUTDgzNjZSQiBEU0Egc3dpdGNoLiBUaGlzIGRldmljZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS9HQ0UgZW52aXJvbm1lbnRzLCBhbmQgdGhlIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBkZXZpY2UgdHJlZSBub2RlcyBvciBoYXJkd2FyZSB0byBwcm9iZSwgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowt6cdx[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-02 05:58:11 +0000 UTC FinishedAt: 2026-08-02 06:00:16 +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+CgkJCTx0ZD4yMDI2LzA4LzAyIDA1OjU5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgUmVhbHRlayBSVEw4MzY2UkIgRFNBIHN3aXRjaC4gVGhpcyBkZXZpY2UgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUvR0NFIGVudmlyb25tZW50cywgYW5kIHRoZSBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgZGV2aWNlIHRyZWUgbm9kZXMgb3IgaGFyZHdhcmUgdG8gcHJvYmUsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMDU6NTk8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBjY2ZjMzcxZjJkMTBkNGE4NjhjM2E1NjVjYmM2NjhmZDljODNiNjMwXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFN1biBBdWcgMiAwNTo1OTo1OCAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYyBiL2RyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jXG5pbmRleCBkMmZhOGZmNmE1ZDA4Li5mMTE4MzFiNjZkZTg4IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jXG5AQCAtNzk0LDExICYjNDM7Nzk0LDEwIEBAIHN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwX2FsbF9sZWRzX29mZihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2KVxuIHN0YXRpYyBpbnQgcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCBpbnQgcG9ydCxcbiBcdFx0XHRcdFx0dTMyIG1hc2spXG4ge1xuLVx0LyogQml0IDAgZW5hYmxlcyBpc29sYXRpb24gc28gc2V0IHRoaXMgaWYgd2UgZW5hYmxlIGlzb2xhdGlvblxuLVx0ICogYW55IG9mIHRoZSBwb3J0cyBhbiBjbGVhciBpdCBpZiB3ZSBkaXNhYmxlIG9uIGFsbCBvZiB0aGVtLlxuJiM0MztcdC8qIEJpdCAwIGVuYWJsZXMgaXNvbGF0aW9uLCB0aGUgbWFzayBpbmRpY2F0ZXMgYWxsb3dlZCBmb3J3YXJkaW5nXG4mIzQzO1x0ICogcG9ydHNcbiBcdCAqL1xuLVx0aWYgKG1hc2spXG4tXHRcdG1hc2sgPSBSVEw4MzY2UkJfUE9SVF9JU09fUE9SVFMobWFzaykgfCBSVEw4MzY2UkJfUE9SVF9JU09fRU47XG4mIzQzO1x0bWFzayA9IFJUTDgzNjZSQl9QT1JUX0lTT19QT1JUUyhtYXNrKSB8IFJUTDgzNjZSQl9QT1JUX0lTT19FTjtcbiBcbiBcdHJldHVybiByZWdtYXBfd3JpdGUocHJpdi1cdTAwM2VtYXAsIFJUTDgzNjZSQl9QT1JUX0lTTyhwb3J0KSxcbiBcdFx0XHQgICAgbWFzayk7XG5AQCAtOTc0LDcgJiM0Mzs5NzMsNyBAQCBzdGF0aWMgaW50IHJ0bDgzNjZyYl9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpXG4gXHRcdGlmICghZHNhX3BvcnRfaXNfdXNlcihkcCkpXG4gXHRcdFx0Y29udGludWU7XG4gXG4tXHRcdC8qIEZvcndhcmQgb25seSB0byB0aGUgQ1BVICovXG4mIzQzO1x0XHQvKiBGb3J3YXJkIG9ubHkgdG8gdGhlIENQVShzKSwgaXNvbGF0ZSBmcm9tIGFsbCBvdGhlciBwb3J0cyAqL1xuIFx0XHRyZXQgPSBydGw4MzY2cmJfcG9ydF9zZXRfaXNvbGF0aW9uKHByaXYsIGRwLVx1MDAzZWluZGV4LCB1cHBvcnRzX21hc2spO1xuIFx0XHRpZiAocmV0KVxuIFx0XHRcdHJldHVybiByZXQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMDU6NTk8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgUmVhbHRlayBSVEw4MzY2UkIgRFNBIHN3aXRjaC4gVGhpcyBkZXZpY2UgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUvR0NFIGVudmlyb25tZW50cywgYW5kIHRoZSBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgZGV2aWNlIHRyZWUgbm9kZXMgb3IgaGFyZHdhcmUgdG8gcHJvYmUsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBjY2ZjMzcxZjJkMTBkNGE4NjhjM2E1NjVjYmM2NjhmZDljODNiNjMwCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFN1biBBdWcgMiAwNTo1OTo1OCAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jIGIvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMKaW5kZXggZDJmYThmZjZhNWQwOC4uZjExODMxYjY2ZGU4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMKQEAgLTc5NCwxMSAmIzQzOzc5NCwxMCBAQCBzdGF0aWMgaW50IHJ0bDgzNjZyYl9zZXR1cF9hbGxfbGVkc19vZmYoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdikKIHN0YXRpYyBpbnQgcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCBpbnQgcG9ydCwKIAkJCQkJdTMyIG1hc2spCiB7Ci0JLyogQml0IDAgZW5hYmxlcyBpc29sYXRpb24gc28gc2V0IHRoaXMgaWYgd2UgZW5hYmxlIGlzb2xhdGlvbgotCSAqIGFueSBvZiB0aGUgcG9ydHMgYW4gY2xlYXIgaXQgaWYgd2UgZGlzYWJsZSBvbiBhbGwgb2YgdGhlbS4KJiM0MzsJLyogQml0IDAgZW5hYmxlcyBpc29sYXRpb24sIHRoZSBtYXNrIGluZGljYXRlcyBhbGxvd2VkIGZvcndhcmRpbmcKJiM0MzsJICogcG9ydHMKIAkgKi8KLQlpZiAobWFzaykKLQkJbWFzayA9IFJUTDgzNjZSQl9QT1JUX0lTT19QT1JUUyhtYXNrKSB8IFJUTDgzNjZSQl9QT1JUX0lTT19FTjsKJiM0MzsJbWFzayA9IFJUTDgzNjZSQl9QT1JUX0lTT19QT1JUUyhtYXNrKSB8IFJUTDgzNjZSQl9QT1JUX0lTT19FTjsKIAogCXJldHVybiByZWdtYXBfd3JpdGUocHJpdi0mZ3Q7bWFwLCBSVEw4MzY2UkJfUE9SVF9JU08ocG9ydCksCiAJCQkgICAgbWFzayk7CkBAIC05NzQsNyAmIzQzOzk3Myw3IEBAIHN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcykKIAkJaWYgKCFkc2FfcG9ydF9pc191c2VyKGRwKSkKIAkJCWNvbnRpbnVlOwogCi0JCS8qIEZvcndhcmQgb25seSB0byB0aGUgQ1BVICovCiYjNDM7CQkvKiBGb3J3YXJkIG9ubHkgdG8gdGhlIENQVShzKSwgaXNvbGF0ZSBmcm9tIGFsbCBvdGhlciBwb3J0cyAqLwogCQlyZXQgPSBydGw4MzY2cmJfcG9ydF9zZXRfaXNvbGF0aW9uKHByaXYsIGRwLSZndDtpbmRleCwgdXBwb3J0c19tYXNrKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDA1OjU5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzNDEKCQkJCQkJCW91dHB1dDogMzYKCQkJCQkJCXRob3VnaHRzOiAyMDIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgUmVhbHRlayBSVEw4MzY2UkIgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBhIHBhdGNoIHRoYXQgdHdlYWtzIHRoZSBgcnRsODM2NnJiLmNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSBgcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbmAgZnVuY3Rpb24uIEl0IHNlZW1zIHRoZXkmIzM5O3ZlIHJlbW92ZWQgYSBjaGVjaywgdGhlIGBpZiAobWFzaylgIGNvbmRpdGlvbiwgYmVmb3JlIHNldHRpbmcgdGhlIGlzb2xhdGlvbiBtYXNrLiBUaGlzIGltbWVkaWF0ZWx5IG1ha2VzIG1lIHRoaW5rIGFib3V0IHBvdGVudGlhbCBpbXBsaWNhdGlvbnMuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoeSB0aGlzIGNoZWNrIHdhcyByZW1vdmVkIGFuZCB3aGF0IHNjZW5hcmlvcyBpdCBtaWdodCBhZmZlY3QuCgpUaGlzIGlzIHRoZSBkcml2ZXIgZm9yIHRoZSBSZWFsdGVrIFJUTDgzNjZSQiBEU0Egc3dpdGNoLCB3aGljaCBtZWFucyB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGEgRGF0YSBTd2l0Y2ggQWdncmVnYXRvci4gRFNBIHN3aXRjaGVzLCBhcyBJIGtub3csIHR5cGljYWxseSBpbnRlcmZhY2Ugd2l0aCB0aGUgbWFpbiBzeXN0ZW0gdmlhIE1ESU8sIFNQSSwgb3IgSTJDLiBUaGUgaW5zdGFudGlhdGlvbiBvZiB0aGlzIGRyaXZlciBhbmQgaG93IGl0JiMzOTtzIGNvbm5lY3RlZCBpcyBnb2luZyB0byBiZSBjcnVjaWFsLgoKTXkgZmlyc3Qgc3RlcCBpcyB0byBjb25maXJtIGhvdyB0aGlzIGRyaXZlciBpcyBhY3R1YWxseSBpbnN0YW50aWF0ZWQuIEkgbmVlZCB0byB0cmFjZSBiYWNrIGZyb20gdGhpcyBgcnRsODM2NnJiLmNgIGZpbGUgYW5kIHVuZGVyc3RhbmQgdGhlIHN1cnJvdW5kaW5nIGNvZGUuIElzIHRoaXMgZHJpdmVyIGV2ZW4gcmVhY2hhYmxlIGluIGEgdHlwaWNhbCBRRU1VIHNldHVwLCBmb3IgaW5zdGFuY2U/IE9mdGVuLCBEU0Egc3dpdGNoIGRyaXZlcnMgZGVwZW5kIGhlYXZpbHkgb24gZGV2aWNlIHRyZWUgZW50cmllcyBvciBzcGVjaWZpYyBib2FyZCBjb25maWd1cmF0aW9ucyB0byBiZSBwcm9wZXJseSBpbml0aWFsaXplZCBhbmQgZnVuY3Rpb25pbmcuIEkmIzM5O20gZ29pbmcgdG8gbG9vayBjYXJlZnVsbHkgYXQgdGhlIHN1cnJvdW5kaW5nIGNvZGUgYW5kIHNlYXJjaCBmb3IgY2x1ZXMgYWJvdXQgaG93IHRoaXMgc3dpdGNoIGlzIGNvbm5lY3RlZCB0byB0aGUgc3lzdGVtLiBJIGFsc28gbmVlZCB0byB1bmRlcnN0YW5kIGFueSBhc3N1bXB0aW9ucyB0aGlzIGRyaXZlciBtYWtlcyBhYm91dCB0aGUgaGFyZHdhcmUgaXQgY29udHJvbHMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMDY6MDA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cnRsODM2NnJiJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA1NDAgbGluZXMuXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXG5cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL01ha2VmaWxlPTEzPW9iai0kKENPTkZJR19ORVRfRFNBX1JFQUxURUtfUlRMODM2NlJCKSAmIzQzOz0gcnRsODM2Ni5vXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9NYWtlZmlsZToxNDpydGw4MzY2LW9ianMgXHRcdFx0XHQ6PSBydGw4MzY2LWNvcmUubyBydGw4MzY2cmIub1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvTWFrZWZpbGUtMTUtaWZkZWYgQ09ORklHX05FVF9EU0FfUkVBTFRFS19SVEw4MzY2UkJfTEVEU1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvTWFrZWZpbGU6MTY6cnRsODM2Ni1vYmpzIFx0XHRcdFx0JiM0Mzs9IHJ0bDgzNjZyYi1sZWRzLm9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL01ha2VmaWxlLTE3LWVuZGlmXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcmVhbHRlay5oPTE4OD12b2lkIHJ0bDgzNjZfZ2V0X2V0aHRvb2xfc3RhdHMoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwgdWludDY0X3QgKmRhdGEpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcmVhbHRlay5oLTE4OS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3JlYWx0ZWsuaDoxOTA6ZXh0ZXJuIGNvbnN0IHN0cnVjdCByZWFsdGVrX3ZhcmlhbnQgcnRsODM2NnJiX3ZhcmlhbnQ7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9yZWFsdGVrLmgtMTkxLWV4dGVybiBjb25zdCBzdHJ1Y3QgcmVhbHRla192YXJpYW50IHJ0bDgzNjVtYl92YXJpYW50O1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtNi0jaW5jbHVkZSBcJiMzNDtydGw4M3h4LmhcJiMzNDtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6NzojaW5jbHVkZSBcJiMzNDtydGw4MzY2cmIuaFwmIzM0O1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy04LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo5OnN0YXRpYyBpbmxpbmUgdTMyIHJ0bDgzNjZyYl9sZWRfZ3JvdXBfcG9ydF9tYXNrKHU4IGxlZF9ncm91cCwgdTggcG9ydClcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMTAte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMjQtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjI1OnN0YXRpYyBpbnQgcmI4MzY2cmJfZ2V0X3BvcnRfbGVkKHN0cnVjdCBydGw4MzY2cmJfbGVkICpsZWQpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTI2LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTQwLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo0MTpcdHJldHVybiAhISh2YWwgXHUwMDI2IHJ0bDgzNjZyYl9sZWRfZ3JvdXBfcG9ydF9tYXNrKGxlZF9ncm91cCwgcG9ydF9udW0pKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtNDItfVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy00My1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6NDQ6c3RhdGljIGludCByYjgzNjZyYl9zZXRfcG9ydF9sZWQoc3RydWN0IHJ0bDgzNjZyYl9sZWQgKmxlZCwgYm9vbCBlbmFibGUpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTQ1LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTUyLVx0XHRcdFx0IFJUTDgzNjZSQl9MRURfWF9YX0NUUkxfUkVHKGxlZF9ncm91cCksXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjUzOlx0XHRcdFx0IHJ0bDgzNjZyYl9sZWRfZ3JvdXBfcG9ydF9tYXNrKGxlZF9ncm91cCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtNTQtXHRcdFx0XHRcdFx0XHQgICAgICAgcG9ydF9udW0pLFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM9NzU9c3RhdGljIGludFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo3NjpydGw4MzY2cmJfY2xlZF9icmlnaHRuZXNzX3NldF9ibG9ja2luZyhzdHJ1Y3QgbGVkX2NsYXNzZGV2ICpsZGV2LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy03Ny1cdFx0XHRcdCAgICAgICBlbnVtIGxlZF9icmlnaHRuZXNzIGJyaWdodG5lc3MpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTc4LXtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6Nzk6XHRzdHJ1Y3QgcnRsODM2NnJiX2xlZCAqbGVkID0gY29udGFpbmVyX29mKGxkZXYsIHN0cnVjdCBydGw4MzY2cmJfbGVkLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy04MC1cdFx0XHRcdFx0XHQgY2Rldik7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy04NC1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6ODU6c3RhdGljIGludCBydGw4MzY2cmJfc2V0dXBfbGVkKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIHN0cnVjdCBkc2FfcG9ydCAqZHAsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTg2LVx0XHRcdCAgICAgICBzdHJ1Y3QgZndub2RlX2hhbmRsZSAqbGVkX2Z3bm9kZSlcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtODcte1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo4ODpcdHN0cnVjdCBydGw4MzY2cmIgKnJiID0gcHJpdi1cdTAwM2VjaGlwX2RhdGE7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTg5LVx0c3RydWN0IGxlZF9pbml0X2RhdGEgaW5pdF9kYXRhID0geyB9O1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy05MC1cdGVudW0gbGVkX2RlZmF1bHRfc3RhdGUgc3RhdGU7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjkxOlx0c3RydWN0IHJ0bDgzNjZyYl9sZWQgKmxlZDtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtOTItXHRjaGFyIG5hbWVbNjRdO1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMTI4LVx0bGVkLVx1MDAzZWNkZXYuYnJpZ2h0bmVzc19zZXRfYmxvY2tpbmcgPVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzoxMjk6XHRcdHJ0bDgzNjZyYl9jbGVkX2JyaWdodG5lc3Nfc2V0X2Jsb2NraW5nO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy0xMzAtXHRpbml0X2RhdGEuZndub2RlID0gbGVkX2Z3bm9kZTtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTE0Ni1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6MTQ3OmludCBydGw4MzY2cmJfc2V0dXBfbGVkcyhzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy0xNDgte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMTY1LVx0XHRmb3JfZWFjaF9jaGlsZF9vZl9ub2RlX3Njb3BlZChsZWRzX25wLCBsZWRfbnApIHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6MTY2Olx0XHRcdHJldCA9IHJ0bDgzNjZyYl9zZXR1cF9sZWQocHJpdiwgZHAsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTE2Ny1cdFx0XHRcdFx0XHQgIG9mX2Z3bm9kZV9oYW5kbGUobGVkX25wKSk7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMjktI2luY2x1ZGUgXCYjMzQ7cnRsODN4eC5oXCYjMzQ7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzozMDojaW5jbHVkZSBcJiMzNDtydGw4MzY2cmIuaFwmIzM0O1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMzEtXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMzE1LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MzE2OnN0YXRpYyBzdHJ1Y3QgcnRsODM2Nl9taWJfY291bnRlciBydGw4MzY2cmJfbWliX2NvdW50ZXJzW10gPSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0zMTctXHR7IDAsICAwLCA0LCBcJiMzNDtJZkluT2N0ZXRzXCYjMzQ7XHRcdFx0XHR9LFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTM1MS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjM1MjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9nZXRfbWliX2NvdW50ZXIoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdixcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTM1My1cdFx0XHRcdCAgICAgaW50IHBvcnQsXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMzkzLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6Mzk0OnN0YXRpYyB1MzIgcnRsODM2NnJiX2dldF9pcnFtYXNrKHN0cnVjdCBpcnFfZGF0YSAqZClcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTM5NS17XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDA4LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDA5OnN0YXRpYyB2b2lkIHJ0bDgzNjZyYl9tYXNrX2lycShzdHJ1Y3QgaXJxX2RhdGEgKmQpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MTAte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQxNC1cdHJldCA9IHJlZ21hcF91cGRhdGVfYml0cyhwcml2LVx1MDAzZW1hcCwgUlRMODM2NlJCX0lOVEVSUlVQVF9NQVNLX1JFRyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQxNTpcdFx0XHRcdCBydGw4MzY2cmJfZ2V0X2lycW1hc2soZCksIDApO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDE2LVx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MTktXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0MjA6c3RhdGljIHZvaWQgcnRsODM2NnJiX3VubWFza19pcnEoc3RydWN0IGlycV9kYXRhICpkKVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDIxLXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MjUtXHRyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMocHJpdi1cdTAwM2VtYXAsIFJUTDgzNjZSQl9JTlRFUlJVUFRfTUFTS19SRUcsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0MjY6XHRcdFx0XHQgcnRsODM2NnJiX2dldF9pcnFtYXNrKGQpLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDI3Olx0XHRcdFx0IHJ0bDgzNjZyYl9nZXRfaXJxbWFzayhkKSk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MjgtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQzMS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQzMjpzdGF0aWMgaXJxcmV0dXJuX3QgcnRsODM2NnJiX2lycShpbnQgaXJxLCB2b2lkICpkYXRhKVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDMzLXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NjMtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0NjQ6c3RhdGljIHN0cnVjdCBpcnFfY2hpcCBydGw4MzY2cmJfaXJxX2NoaXAgPSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NjUtXHQubmFtZSA9IFwmIzM0O1JUTDgzNjZSQlwmIzM0OyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ2NjpcdC5pcnFfbWFzayA9IHJ0bDgzNjZyYl9tYXNrX2lycSxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ2NzpcdC5pcnFfdW5tYXNrID0gcnRsODM2NnJiX3VubWFza19pcnEsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NjgtfTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQ2OS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ3MDpzdGF0aWMgaW50IHJ0bDgzNjZyYl9pcnFfbWFwKHN0cnVjdCBpcnFfZG9tYWluICpkb21haW4sIHVuc2lnbmVkIGludCBpcnEsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NzEtXHRcdFx0ICAgICBpcnFfaHdfbnVtYmVyX3QgaHdpcnEpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDczLVx0aXJxX3NldF9jaGlwX2RhdGEoaXJxLCBkb21haW4tXHUwMDNlaG9zdF9kYXRhKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ3NDpcdGlycV9zZXRfY2hpcF9hbmRfaGFuZGxlcihpcnEsIFx1MDAyNnJ0bDgzNjZyYl9pcnFfY2hpcCwgaGFuZGxlX3NpbXBsZV9pcnEpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDc1LVx0aXJxX3NldF9uZXN0ZWRfdGhyZWFkKGlycSwgMSk7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDgwLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDgxOnN0YXRpYyB2b2lkIHJ0bDgzNjZyYl9pcnFfdW5tYXAoc3RydWN0IGlycV9kb21haW4gKmQsIHVuc2lnbmVkIGludCBpcnEpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00ODIte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQ4Ny1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ4ODpzdGF0aWMgY29uc3Qgc3RydWN0IGlycV9kb21haW5fb3BzIHJ0bDgzNjZyYl9pcnFkb21haW5fb3BzID0ge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDg5Olx0Lm1hcCA9IHJ0bDgzNjZyYl9pcnFfbWFwLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDkwOlx0LnVubWFwID0gcnRsODM2NnJiX2lycV91bm1hcCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQ5MS1cdC54bGF0ZSAgPSBpcnFfZG9tYWluX3hsYXRlX29uZWNlbGwsXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDkzLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDk0OnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwX2Nhc2NhZGVkX2lycShzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDk1LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01NDYtXHRyZXQgPSBkZXZtX3JlcXVlc3RfdGhyZWFkZWRfaXJxKHByaXYtXHUwMDNlZGV2LCBpcnEsIE5VTEwsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo1NDc6XHRcdFx0XHRcdHJ0bDgzNjZyYl9pcnEsIElSUUZfT05FU0hPVCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTU0OC1cdFx0XHRcdFx0XCYjMzQ7UlRMODM2NlJCXCYjMzQ7LCBwcml2KTtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01NTMtXHRwcml2LVx1MDAzZWlycWRvbWFpbiA9IGlycV9kb21haW5fY3JlYXRlX2xpbmVhcihvZl9md25vZGVfaGFuZGxlKGludGMpLCBSVEw4MzY2UkJfTlVNX0lOVEVSUlVQVCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjU1NDpcdFx0XHRcdFx0XHQgICBcdTAwMjZydGw4MzY2cmJfaXJxZG9tYWluX29wcywgcHJpdik7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01NTUtXHRpZiAoIXByaXYtXHUwMDNlaXJxZG9tYWluKSB7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNTY3LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NTY4OnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldF9hZGRyKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01Njkte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTU5NS0vKiBTdHJ1Y3QgZm9yIGhhbmRsaW5nIHRoZSBqYW0gdGFibGVzJiMzOTsgZW50cmllcyAqL1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NTk2OnN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01OTctXHR1MTYgcmVnO1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTYwMS0vKiBGb3IgdGhlIFwmIzM0O3ZlcnNpb24gMFwmIzM0OyBlYXJseSBzaWxpY29uLCBhcHBlYXIgaW4gbW9zdCBzb3VyY2UgcmVsZWFzZXMgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjYwMjpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9pbml0X2phbV92ZXJfMFtdID0ge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjAzLVx0ezB4MDAwQiwgMHgwMDAxfSwgezB4MDNBNiwgMHgwMTAwfSwgezB4MDNBNywgMHgwMDAxfSwgezB4MDJEMSwgMHgzRkZGfSxcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02MzQtLyogVGhpcyB2MSBpbml0IHNlcXVlbmNlIGlzIGZyb20gQmVsa2luIEY1RDgyMzUgVS1Cb290IHJlbGVhc2UgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjYzNTpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9pbml0X2phbV92ZXJfMVtdID0ge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjM2LVx0ezB4MDAwMCwgMHgwODMwfSwgezB4MDAwMSwgMHg4MDAwfSwgezB4MDQwMCwgMHg4MTMwfSwgezB4QkU3OCwgMHgzQzNDfSxcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02NDktLyogVGhpcyB2MiBpbml0IHNlcXVlbmNlIGlzIGZyb20gQmVsa2luIEY1RDgyMzUgVS1Cb290IHJlbGVhc2UgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjY1MDpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9pbml0X2phbV92ZXJfMltdID0ge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjUxLVx0ezB4MDQ1MCwgMHgwMDAwfSwgezB4MDQwMCwgMHg4MTMwfSwgezB4MDAwQSwgMHg4M0VEfSwgezB4MDQzMSwgMHg1NDMyfSxcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02NjQtLyogQXBwZWFycyBpbiBhIEREV1JUIGNvZGUgZHVtcCAqL1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NjY1OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRsODM2NnJiX2phbV90YmxfZW50cnkgcnRsODM2NnJiX2luaXRfamFtX3Zlcl8zW10gPSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02NjYtXHR7MHgwMDAwLCAweDA4MzB9LCB7MHgwNDAwLCAweDgxMzB9LCB7MHgwMDBBLCAweDgzRUR9LCB7MHgwNDMxLCAweDU0MzJ9LFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTY4NS0vKiBCZWxraW4gRjVEODIzNSB2MSwgXCYjMzQ7YmVsa2luLGY1ZDgyMzUtdjFcJiMzNDsgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjY4NjpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9pbml0X2phbV9mNWQ4MjM1W10gPSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02ODctXHR7MHgwMjQyLCAweDAyQkZ9LCB7MHgwMjQ1LCAweDAyQkZ9LCB7MHgwMjQ4LCAweDAyQkZ9LCB7MHgwMjRCLCAweDAyQkZ9LFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTY5OC0vKiBER04zNTAwLCBcJiMzNDtuZXRnZWFyLGRnbjM1MDBcJiMzNDssIFwmIzM0O25ldGdlYXIsZGduMzUwMGJcJiMzNDsgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjY5OTpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9pbml0X2phbV9kZ24zNTAwW10gPSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy03MDAtXHR7MHgwMDAwLCAweDA4MzB9LCB7MHgwNDAwLCAweDgxMzB9LCB7MHgwMDBBLCAweDgzRUR9LCB7MHgwRjUxLCAweDAwMTd9LFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTcwOS0gKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjcxMDpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9ncmVlbl9qYW1bXSA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTcxMS1cdHsweEJFNzgsIDB4MzIzQ30sIHsweEJFNzcsIDB4NTAwMH0sIHsweEJFMkUsIDB4N0JBN30sXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzE2LS8qIEZ1bmN0aW9uIHRoYXQgamFtcyB0aGUgdGFibGVzIGluIHRoZSBwcm9wZXIgcmVnaXN0ZXJzICovXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo3MTc6c3RhdGljIGludCBydGw4MzY2cmJfamFtX3RhYmxlKGNvbnN0IHN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSAqamFtX3RhYmxlLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzE4LVx0XHRcdCAgICAgICBpbnQgamFtX3NpemUsIHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM9NzU0PWludCByYjgzNjZyYl9zZXRfbGVkZ3JvdXBfbW9kZShzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTc3My0vKiBUaGlzIGNvZGUgaXMgdXNlZCBhbHNvIHdpdGggTEVEcyBkaXNhYmxlZCAqL1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6Nzc0OnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwX2FsbF9sZWRzX29mZihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzc1LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy03OTMtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo3OTQ6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9zZXRfaXNvbGF0aW9uKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzk1LVx0XHRcdFx0XHR1MzIgbWFzaylcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04MDUtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo4MDY6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9hZGRfaXNvbGF0aW9uKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtODA3LVx0XHRcdFx0XHR1MzIgbWFzaylcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04MTQtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo4MTU6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9yZW1vdmVfaXNvbGF0aW9uKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtODE2LVx0XHRcdFx0XHQgICB1MzIgbWFzaylcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYz04MjI9c3RhdGljIHZvaWRcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjgyMzpydGw4MzY2cmJfcG9ydF9zdHBfc3RhdGVfc2V0KHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsIHU4IHN0YXRlKVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtODI0LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04NTUtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo4NTY6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9zZXRfbGVhcm5pbmcoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBvcnQsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04NTctXHRcdFx0XHQgICAgICAgYm9vbCBlbmFibGUpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtODY1LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6ODY2OnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTg2Ny17XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04NjgtXHRzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2ID0gZHMtXHUwMDNlcHJpdjtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjg2OTpcdGNvbnN0IHN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSAqamFtX3RhYmxlO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtODcwLVx0dTMyIGRvd25wb3J0c19tYXNrID0gMDtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjg3MTpcdHN0cnVjdCBydGw4MzY2cmIgKnJiO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtODcyLVx0dTMyIHVwcG9ydHNfbWFzayA9IDA7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTA4LVx0Y2FzZSAwOlxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTA5Olx0XHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzA7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5MTA6XHRcdGphbV9zaXplID0gQVJSQVlfU0laRShydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzApO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTExLVx0XHRicmVhaztcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkxMi1cdGNhc2UgMTpcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkxMzpcdFx0amFtX3RhYmxlID0gcnRsODM2NnJiX2luaXRfamFtX3Zlcl8xO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTE0Olx0XHRqYW1fc2l6ZSA9IEFSUkFZX1NJWkUocnRsODM2NnJiX2luaXRfamFtX3Zlcl8xKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkxNS1cdFx0YnJlYWs7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MTYtXHRjYXNlIDI6XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5MTc6XHRcdGphbV90YWJsZSA9IHJ0bDgzNjZyYl9pbml0X2phbV92ZXJfMjtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkxODpcdFx0amFtX3NpemUgPSBBUlJBWV9TSVpFKHJ0bDgzNjZyYl9pbml0X2phbV92ZXJfMik7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MTktXHRcdGJyZWFrO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTIwLVx0ZGVmYXVsdDpcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkyMTpcdFx0amFtX3RhYmxlID0gcnRsODM2NnJiX2luaXRfamFtX3Zlcl8zO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTIyOlx0XHRqYW1fc2l6ZSA9IEFSUkFZX1NJWkUocnRsODM2NnJiX2luaXRfamFtX3Zlcl8zKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkyMy1cdFx0YnJlYWs7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTMwLVx0aWYgKG9mX21hY2hpbmVfaXNfY29tcGF0aWJsZShcJiMzNDtiZWxraW4sZjVkODIzNS12MVwmIzM0OykpIHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkzMTpcdFx0amFtX3RhYmxlID0gcnRsODM2NnJiX2luaXRfamFtX2Y1ZDgyMzU7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5MzI6XHRcdGphbV9zaXplID0gQVJSQVlfU0laRShydGw4MzY2cmJfaW5pdF9qYW1fZjVkODIzNSk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MzMtXHR9XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTM1LVx0ICAgIG9mX21hY2hpbmVfaXNfY29tcGF0aWJsZShcJiMzNDtuZXRnZWFyLGRnbjM1MDBiXCYjMzQ7KSkge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTM2Olx0XHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fZGduMzUwMDtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkzNzpcdFx0amFtX3NpemUgPSBBUlJBWV9TSVpFKHJ0bDgzNjZyYl9pbml0X2phbV9kZ24zNTAwKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkzOC1cdH1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkzOS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjk0MDpcdHJldCA9IHJ0bDgzNjZyYl9qYW1fdGFibGUoamFtX3RhYmxlLCBqYW1fc2l6ZSwgcHJpdiwgdHJ1ZSk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NDEtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk0OS1cdFx0ICovXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5NTA6XHRcdHJ0bDgzNjZyYl9wb3J0X3N0cF9zdGF0ZV9zZXQoZHMsIGRwLVx1MDAzZWluZGV4LCBCUl9TVEFURV9ESVNBQkxFRCk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NTEtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NTItXHRcdC8qIFN0YXJ0IHdpdGggYWxsIHBvcnRzIGNvbXBsZXRlbHkgaXNvbGF0ZWQgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjk1MzpcdFx0cmV0ID0gcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihwcml2LCBkcC1cdTAwM2VpbmRleCwgMCk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NTQtXHRcdGlmIChyZXQpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTU3LVx0XHQvKiBEaXNhYmxlIGxlYXJuaW5nICovXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5NTg6XHRcdHJldCA9IHJ0bDgzNjZyYl9wb3J0X3NldF9sZWFybmluZyhwcml2LCBkcC1cdTAwM2VpbmRleCwgZmFsc2UpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTU5LVx0XHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk3Ni1cdFx0LyogRm9yd2FyZCBvbmx5IHRvIHRoZSBDUFUocyksIGlzb2xhdGUgZnJvbSBhbGwgb3RoZXIgcG9ydHMgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjk3NzpcdFx0cmV0ID0gcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihwcml2LCBkcC1cdTAwM2VpbmRleCwgdXBwb3J0c19tYXNrKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk3OC1cdFx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05OTEtXHRcdC8qIEZvcndhcmQgdG8gYWxsIHVzZXIgcG9ydHMgKi9cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjk5MjpcdFx0cmV0ID0gcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihwcml2LCBkcC1cdTAwM2VpbmRleCwgZG93bnBvcnRzX21hc2spO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTkzLVx0XHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk5Ny1cdC8qIFNldCB1cCB0aGUgXCYjMzQ7Z3JlZW4gZXRoZXJuZXRcJiMzNDsgZmVhdHVyZSAqL1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTk4Olx0cmV0ID0gcnRsODM2NnJiX2phbV90YWJsZShydGw4MzY2cmJfZ3JlZW5famFtLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTk5Olx0XHRcdFx0ICBBUlJBWV9TSVpFKHJ0bDgzNjZyYl9ncmVlbl9qYW0pLCBwcml2LCBmYWxzZSk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMDAwLVx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMDE3LVx0LyogU2V0IHNvbWUgcmFuZG9tIE1BQyBhZGRyZXNzICovXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMDE4Olx0cmV0ID0gcnRsODM2NnJiX3NldF9hZGRyKHByaXYpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTAxOS1cdGlmIChyZXQpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTEwMy1cdGlmIChwcml2LVx1MDAzZWxlZHNfZGlzYWJsZWQpIHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjExMDQ6XHRcdHJldCA9IHJ0bDgzNjZyYl9zZXR1cF9hbGxfbGVkc19vZmYocHJpdik7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMTA1LVx0XHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTExMDctXHR9IGVsc2Uge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTEwODpcdFx0cmV0ID0gcnRsODM2NnJiX3NldHVwX2xlZHMocHJpdik7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMTA5LVx0XHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTExMTYtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMTE3Olx0cmV0ID0gcnRsODM2NnJiX3NldHVwX2Nhc2NhZGVkX2lycShwcml2KTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTExMTgtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTExMzA9c3RhdGljIGVudW0gZHNhX3RhZ19wcm90b2NvbCBydGw4MzY2X2dldF90YWdfcHJvdG9jb2woc3RydWN0IGRzYV9zd2l0Y2ggKmRzLFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTExMzctXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMTM4OnN0YXRpYyB2b2lkIHJ0bDgzNjZyYl9waHlsaW5rX2dldF9jYXBzKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMTM5LVx0XHRcdFx0ICAgICAgIHN0cnVjdCBwaHlsaW5rX2NvbmZpZyAqY29uZmlnKVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTExNjQ9c3RhdGljIHZvaWRcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjExNjU6cnRsODM2NnJiX21hY19jb25maWcoc3RydWN0IHBoeWxpbmtfY29uZmlnICpjb25maWcsIHVuc2lnbmVkIGludCBtb2RlLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTE2Ni1cdFx0ICAgICBjb25zdCBzdHJ1Y3QgcGh5bGlua19saW5rX3N0YXRlICpzdGF0ZSlcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYz0xMTcwPXN0YXRpYyB2b2lkXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMTcxOnJ0bDgzNjZyYl9tYWNfbGlua191cChzdHJ1Y3QgcGh5bGlua19jb25maWcgKmNvbmZpZywgc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldixcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTExNzItXHRcdCAgICAgIHVuc2lnbmVkIGludCBtb2RlLCBwaHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlLFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTEyNDI9c3RhdGljIHZvaWRcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjEyNDM6cnRsODM2NnJiX21hY19saW5rX2Rvd24oc3RydWN0IHBoeWxpbmtfY29uZmlnICpjb25maWcsIHVuc2lnbmVkIGludCBtb2RlLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTI0NC1cdFx0XHRwaHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlKVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTEyNjU9c3RhdGljIGludFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTI2NjpydGw4MzY2cmJfcG9ydF9lbmFibGUoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEyNjctXHRcdCAgICAgIHN0cnVjdCBwaHlfZGV2aWNlICpwaHkpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM9MTI4MT1zdGF0aWMgdm9pZFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTI4MjpydGw4MzY2cmJfcG9ydF9kaXNhYmxlKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMjgzLXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMjk0LS8qKlxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTI5NTogKiBydGw4MzY2cmJfZHJvcF91bnRhZ2dlZCgpIC0gbWFrZSB0aGUgc3dpdGNoIGRyb3AgdW50YWdnZWQgYW5kIEMtdGFnZ2VkIGZyYW1lc1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTI5Ni0gKiBAcHJpdjogU01JIHN0YXRlIGNvbnRhaW5lclxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzMDEtICovXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzAyOnN0YXRpYyBpbnQgcnRsODM2NnJiX2Ryb3BfdW50YWdnZWQoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBvcnQsIGJvb2wgZHJvcClcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzMDMte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzMDgtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzA5OnN0YXRpYyBpbnQgcnRsODM2NnJiX3ZsYW5fZmlsdGVyaW5nKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzEwLVx0XHRcdFx0ICAgIGJvb2wgdmxhbl9maWx0ZXJpbmcsXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTMxMy1cdHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYgPSBkcy1cdTAwM2Vwcml2O1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTMxNDpcdHN0cnVjdCBydGw4MzY2cmIgKnJiO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTMxNS1cdGludCByZXQ7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTMzMi1cdGlmICh2bGFuX2ZpbHRlcmluZylcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjEzMzM6XHRcdHJldCA9IHJ0bDgzNjZyYl9kcm9wX3VudGFnZ2VkKHByaXYsIHBvcnQsICFyYi1cdTAwM2VwdmlkX2VuYWJsZWRbcG9ydF0pO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTMzNC1cdGVsc2VcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjEzMzU6XHRcdHJldCA9IHJ0bDgzNjZyYl9kcm9wX3VudGFnZ2VkKHByaXYsIHBvcnQsIGZhbHNlKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzMzYtXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM9MTM0MD1zdGF0aWMgaW50XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzQxOnJ0bDgzNjZyYl9wb3J0X3ByZV9icmlkZ2VfZmxhZ3Moc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzNDItXHRcdFx0XHRzdHJ1Y3Qgc3dpdGNoZGV2X2JycG9ydF9mbGFncyBmbGFncyxcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYz0xMzUyPXN0YXRpYyB2b2lkXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzUzOnJ0bDgzNjZyYl9wb3J0X2Zhc3RfYWdlKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzU0LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzY0LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTM2NTpzdGF0aWMgaW50IHJ0bDgzNjZyYl9jaGFuZ2VfbXR1KHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsIGludCBuZXdfbXR1KVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTM2Ni17XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzY3LVx0c3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiA9IGRzLVx1MDAzZXByaXY7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzY4Olx0c3RydWN0IHJ0bDgzNjZyYiAqcmI7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzY5LVx0dW5zaWduZWQgaW50IG1heF9tdHU7XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQxMS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE0MTI6c3RhdGljIGludCBydGw4MzY2cmJfbWF4X210dShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0KVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQxMy17XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQyMS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE0MjI6c3RhdGljIGludCBydGw4MzY2cmJfZ2V0X3ZsYW5fNGsoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgdTMyIHZpZCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE0MjMtXHRcdFx0XHQgc3RydWN0IHJ0bDgzNjZfdmxhbl80ayAqdmxhbjRrKVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE0NjItXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNDYzOnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldF92bGFuXzRrKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNDY0LVx0XHRcdFx0IGNvbnN0IHN0cnVjdCBydGw4MzY2X3ZsYW5fNGsgKnZsYW40aylcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNDk2LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTQ5NzpzdGF0aWMgaW50IHJ0bDgzNjZyYl9nZXRfdmxhbl9tYyhzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCB1MzIgaW5kZXgsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNDk4LVx0XHRcdFx0IHN0cnVjdCBydGw4MzY2X3ZsYW5fbWMgKnZsYW5tYylcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNTI3LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTUyODpzdGF0aWMgaW50IHJ0bDgzNjZyYl9zZXRfdmxhbl9tYyhzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCB1MzIgaW5kZXgsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNTI5LVx0XHRcdFx0IGNvbnN0IHN0cnVjdCBydGw4MzY2X3ZsYW5fbWMgKnZsYW5tYylcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNTYxLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTU2MjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9nZXRfbWNfaW5kZXgoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBvcnQsIGludCAqdmFsKVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTU2My17XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTU4MC1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE1ODE6c3RhdGljIGludCBydGw4MzY2cmJfc2V0X21jX2luZGV4KHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LCBpbnQgaW5kZXgpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNTgyLXtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE1ODMtXHRzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMgPSBcdTAwMjZwcml2LVx1MDAzZWRzO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTU4NDpcdHN0cnVjdCBydGw4MzY2cmIgKnJiO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTU4NS1cdGJvb2wgcHZpZF9lbmFibGVkO1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2MDgtXHRpZiAoZHNhX3BvcnRfaXNfdmxhbl9maWx0ZXJpbmcoZHNhX3RvX3BvcnQoZHMsIHBvcnQpKSlcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE2MDk6XHRcdHJldCA9IHJ0bDgzNjZyYl9kcm9wX3VudGFnZ2VkKHByaXYsIHBvcnQsICFwdmlkX2VuYWJsZWQpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYxMC1cbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjEzLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTYxNDpzdGF0aWMgYm9vbCBydGw4MzY2cmJfaXNfdmxhbl92YWxpZChzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCB1bnNpZ25lZCBpbnQgdmxhbilcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2MTUte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2MjYtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNjI3OnN0YXRpYyBpbnQgcnRsODM2NnJiX2VuYWJsZV92bGFuKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGJvb2wgZW5hYmxlKVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYyOC17XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYzNC1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE2MzU6c3RhdGljIGludCBydGw4MzY2cmJfZW5hYmxlX3ZsYW40ayhzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCBib29sIGVuYWJsZSlcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2MzYte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2NDItXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNjQzOnN0YXRpYyBpbnQgcnRsODM2NnJiX3BoeV9yZWFkKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwaHksIGludCByZWdudW0pXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjQ0LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjg0LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTY4NTpzdGF0aWMgaW50IHJ0bDgzNjZyYl9waHlfd3JpdGUoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBoeSwgaW50IHJlZ251bSxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2ODYtXHRcdFx0ICAgICAgIHUxNiB2YWwpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTcxNS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3MTY6c3RhdGljIGludCBydGw4MzY2cmJfcmVzZXRfY2hpcChzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTcxNy17XG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc0MS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3NDI6c3RhdGljIGludCBydGw4MzY2cmJfZGV0ZWN0KHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzQzLXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzY0LVx0XHRwcml2LVx1MDAzZW51bV92bGFuX21jID0gUlRMODM2NlJCX05VTV9WTEFOUztcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3NjU6XHRcdHByaXYtXHUwMDNlbWliX2NvdW50ZXJzID0gcnRsODM2NnJiX21pYl9jb3VudGVycztcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3NjY6XHRcdHByaXYtXHUwMDNlbnVtX21pYl9jb3VudGVycyA9IEFSUkFZX1NJWkUocnRsODM2NnJiX21pYl9jb3VudGVycyk7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzY3LVx0XHRicmVhaztcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzczLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTc3NDpcdHJldCA9IHJ0bDgzNjZyYl9yZXNldF9jaGlwKHByaXYpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc3NS1cdGlmIChyZXQpXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc4MC1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3ODE6c3RhdGljIGNvbnN0IHN0cnVjdCBwaHlsaW5rX21hY19vcHMgcnRsODM2NnJiX3BoeWxpbmtfbWFjX29wcyA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3ODI6XHQubWFjX2NvbmZpZyA9IHJ0bDgzNjZyYl9tYWNfY29uZmlnLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTc4MzpcdC5tYWNfbGlua19kb3duID0gcnRsODM2NnJiX21hY19saW5rX2Rvd24sXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzg0Olx0Lm1hY19saW5rX3VwID0gcnRsODM2NnJiX21hY19saW5rX3VwLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc4NS19O1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc4Ni1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3ODc6c3RhdGljIGNvbnN0IHN0cnVjdCBkc2Ffc3dpdGNoX29wcyBydGw4MzY2cmJfc3dpdGNoX29wcyA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3ODgtXHQuZ2V0X3RhZ19wcm90b2NvbCA9IHJ0bDgzNjZfZ2V0X3RhZ19wcm90b2NvbCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3ODk6XHQuc2V0dXAgPSBydGw4MzY2cmJfc2V0dXAsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzkwOlx0LnBoeWxpbmtfZ2V0X2NhcHMgPSBydGw4MzY2cmJfcGh5bGlua19nZXRfY2FwcyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3OTEtXHQuZ2V0X3N0cmluZ3MgPSBydGw4MzY2X2dldF9zdHJpbmdzLFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3OTUtXHQucG9ydF9icmlkZ2VfbGVhdmUgPSBydGw4M3h4X3BvcnRfYnJpZGdlX2xlYXZlLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTc5NjpcdC5wb3J0X3ZsYW5fZmlsdGVyaW5nID0gcnRsODM2NnJiX3ZsYW5fZmlsdGVyaW5nLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc5Ny1cdC5wb3J0X3ZsYW5fYWRkID0gcnRsODM2Nl92bGFuX2FkZCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3OTgtXHQucG9ydF92bGFuX2RlbCA9IHJ0bDgzNjZfdmxhbl9kZWwsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzk5Olx0LnBvcnRfZW5hYmxlID0gcnRsODM2NnJiX3BvcnRfZW5hYmxlLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgwMDpcdC5wb3J0X2Rpc2FibGUgPSBydGw4MzY2cmJfcG9ydF9kaXNhYmxlLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgwMTpcdC5wb3J0X3ByZV9icmlkZ2VfZmxhZ3MgPSBydGw4MzY2cmJfcG9ydF9wcmVfYnJpZGdlX2ZsYWdzLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTgwMi1cdC5wb3J0X2JyaWRnZV9mbGFncyA9IHJ0bDgzeHhfcG9ydF9icmlkZ2VfZmxhZ3MsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODAzOlx0LnBvcnRfc3RwX3N0YXRlX3NldCA9IHJ0bDgzNjZyYl9wb3J0X3N0cF9zdGF0ZV9zZXQsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODA0Olx0LnBvcnRfZmFzdF9hZ2UgPSBydGw4MzY2cmJfcG9ydF9mYXN0X2FnZSxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MDU6XHQucG9ydF9jaGFuZ2VfbXR1ID0gcnRsODM2NnJiX2NoYW5nZV9tdHUsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODA2Olx0LnBvcnRfbWF4X210dSA9IHJ0bDgzNjZyYl9tYXhfbXR1LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTgwNy1cdC5wb3J0X2hzcl9qb2luID0gZHNhX3BvcnRfc2ltcGxlX2hzcl9qb2luLFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4MTAtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODExOnN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVhbHRla19vcHMgcnRsODM2NnJiX29wcyA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MTI6XHQuZGV0ZWN0XHRcdD0gcnRsODM2NnJiX2RldGVjdCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MTM6XHQuZ2V0X3ZsYW5fbWNcdD0gcnRsODM2NnJiX2dldF92bGFuX21jLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgxNDpcdC5zZXRfdmxhbl9tY1x0PSBydGw4MzY2cmJfc2V0X3ZsYW5fbWMsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODE1Olx0LmdldF92bGFuXzRrXHQ9IHJ0bDgzNjZyYl9nZXRfdmxhbl80ayxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MTY6XHQuc2V0X3ZsYW5fNGtcdD0gcnRsODM2NnJiX3NldF92bGFuXzRrLFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgxNzpcdC5nZXRfbWNfaW5kZXhcdD0gcnRsODM2NnJiX2dldF9tY19pbmRleCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MTg6XHQuc2V0X21jX2luZGV4XHQ9IHJ0bDgzNjZyYl9zZXRfbWNfaW5kZXgsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODE5Olx0LmdldF9taWJfY291bnRlciA9IHJ0bDgzNjZyYl9nZXRfbWliX2NvdW50ZXIsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODIwOlx0LmlzX3ZsYW5fdmFsaWRcdD0gcnRsODM2NnJiX2lzX3ZsYW5fdmFsaWQsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODIxOlx0LmVuYWJsZV92bGFuXHQ9IHJ0bDgzNjZyYl9lbmFibGVfdmxhbixcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MjI6XHQuZW5hYmxlX3ZsYW40a1x0PSBydGw4MzY2cmJfZW5hYmxlX3ZsYW40ayxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MjM6XHQucG9ydF9hZGRfaXNvbGF0aW9uID0gcnRsODM2NnJiX3BvcnRfYWRkX2lzb2xhdGlvbixcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MjQ6XHQucG9ydF9yZW1vdmVfaXNvbGF0aW9uID0gcnRsODM2NnJiX3BvcnRfcmVtb3ZlX2lzb2xhdGlvbixcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MjU6XHQucG9ydF9zZXRfbGVhcm5pbmcgPSBydGw4MzY2cmJfcG9ydF9zZXRfbGVhcm5pbmcsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODI2Olx0LnBoeV9yZWFkXHQ9IHJ0bDgzNjZyYl9waHlfcmVhZCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4Mjc6XHQucGh5X3dyaXRlXHQ9IHJ0bDgzNjZyYl9waHlfd3JpdGUsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODI4LX07XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODI5LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgzMDpjb25zdCBzdHJ1Y3QgcmVhbHRla192YXJpYW50IHJ0bDgzNjZyYl92YXJpYW50ID0ge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgzMTpcdC5kc19vcHMgPSBcdTAwMjZydGw4MzY2cmJfc3dpdGNoX29wcyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MzI6XHQub3BzID0gXHUwMDI2cnRsODM2NnJiX29wcyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MzM6XHQucGh5bGlua19tYWNfb3BzID0gXHUwMDI2cnRsODM2NnJiX3BoeWxpbmtfbWFjX29wcyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4MzQtXHQuY2xrX2RlbGF5ID0gMTAsXG4tLVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTgzNi1cdC5jbWRfd3JpdGUgPSAweGE4LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgzNzpcdC5jaGlwX2RhdGFfc3ogPSBzaXplb2Yoc3RydWN0IHJ0bDgzNjZyYiksXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODM4LX07XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODM5LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg0MDpzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBydGw4MzY2cmJfb2ZfbWF0Y2hbXSA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDE6XHR7IC5jb21wYXRpYmxlID0gXCYjMzQ7cmVhbHRlayxydGw4MzY2cmJcJiMzNDssIC5kYXRhID0gXHUwMDI2cnRsODM2NnJiX3ZhcmlhbnQsIH0sXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODQyLVx0eyAvKiBzZW50aW5lbCAqLyB9LFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg0My19O1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg0NDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBydGw4MzY2cmJfb2ZfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg0NS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDY6c3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgcnRsODM2NnJiX3NtaV9kcml2ZXIgPSB7XG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODQ3LVx0LmRyaXZlciA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDg6XHRcdC5uYW1lID0gXCYjMzQ7cnRsODM2NnJiLXNtaVwmIzM0OyxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDk6XHRcdC5vZl9tYXRjaF90YWJsZSA9IHJ0bDgzNjZyYl9vZl9tYXRjaCxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NTAtXHR9LFxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NTUtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODU2OnN0YXRpYyBzdHJ1Y3QgbWRpb19kcml2ZXIgcnRsODM2NnJiX21kaW9fZHJpdmVyID0ge1xuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg1Ny1cdC5tZGlvZHJ2LmRyaXZlciA9IHtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NTg6XHRcdC5uYW1lID0gXCYjMzQ7cnRsODM2NnJiLW1kaW9cJiMzNDssXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODU5Olx0XHQub2ZfbWF0Y2hfdGFibGUgPSBydGw4MzY2cmJfb2ZfbWF0Y2gsXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODYwLVx0fSxcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODY1LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg2NjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9pbml0KHZvaWQpXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODY3LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODY5LVxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg3MDpcdHJldCA9IHJlYWx0ZWtfbWRpb19kcml2ZXJfcmVnaXN0ZXIoXHUwMDI2cnRsODM2NnJiX21kaW9fZHJpdmVyKTtcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NzEtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NzMtXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODc0Olx0cmV0ID0gcmVhbHRla19zbWlfZHJpdmVyX3JlZ2lzdGVyKFx1MDAyNnJ0bDgzNjZyYl9zbWlfZHJpdmVyKTtcblxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDA2OjAwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE4NzM3CgkJCQkJCQlvdXRwdXQ6IDkwCgkJCQkJCQl0aG91Z2h0czogNjQxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKlVucmVhY2hhYmxlIENvZGUgQW5hbHlzaXM6IHJ0bDgzNjZyYiBEcml2ZXIqKgoKT2theSwgbGV0JiMzOTtzIHRoaW5rIHRoaXMgdGhyb3VnaC4gVGhlIGBydGw4MzY2cmJgIGRyaXZlciwgaXQmIzM5O3MgYSBwbGF0Zm9ybSBhbmQgTURJTyBkcml2ZXIsIHdoaWNoIG1lYW5zIGl0IHJlbGllcyBvbiBhIHNwZWNpZmljIGRldmljZSB0cmVlIGVudHJ5IHdpdGggdGhlIGByZWFsdGVrLHJ0bDgzNjZyYmAgY29tcGF0aWJsZSBzdHJpbmcgdG8gZXZlbiBnZXQgaW5pdGlhbGl6ZWQuIEkga25vdyBRRU1VIGRvZXNuJiMzOTt0IGVtdWxhdGUgdGhpcyBwYXJ0aWN1bGFyIFJlYWx0ZWsgRFNBIHN3aXRjaCwgYW5kIERTQSBzd2l0Y2hlcyBhcmUgdXN1YWxseSBzZXQgdXAgdGhyb3VnaCB0aGUgZGV2aWNlIHRyZWUgb24gc3BlY2lmaWMgZW1iZWRkZWQgc3lzdGVtcyBsaWtlIHRoZSBCZWxraW4gRjVEODIzNSBhbmQgTmV0Z2VhciBER04zNTAwLCB3aGljaCBhcmUgZGVmaW5pdGVseSBub3QgaW4gbXkgdXN1YWwgdGVzdCBzZXR1cC4gU28sIHRoYXQgbWVhbnMgdGhlIGBydGw4MzY2cmJfc2V0dXBgIGZ1bmN0aW9uIGlzbiYjMzk7dCBnb2luZyB0byBiZSBjYWxsZWQsIGV2ZXIsIGluIG15IGVudmlyb25tZW50LgoKSG1tLCBjYW4gU3l6a2FsbGVyIGluamVjdCBzb21lIGtpbmQgb2YgZmFrZSBNRElPIG9yIHBsYXRmb3JtIGRldmljZT8gUG90ZW50aWFsbHksIEkmIzM5O3ZlIHNlZW4gU3l6a2FsbGVyIG1lc3Mgd2l0aCBkZXZpY2UgaW5qZWN0aW9uIHVzaW5nIGBzeXpfZGV2bGlua2AgYW5kIHNpbWlsYXIgdG9vbHMsIGJ1dCBpdCYjMzk7cyBub3Qgc3RyYWlnaHRmb3J3YXJkIGZvciBNRElPIG9yIFNNSSBkZXZpY2VzLCByaWdodD8gRXNwZWNpYWxseSB3aXRob3V0IHNvbWUga2luZCBvZiBwc2V1ZG8tZGV2aWNlIHRvIGhvb2sgaW50by4gSSB3YXMgdGhpbmtpbmcgbWF5YmUgU3l6a2FsbGVyIGNvdWxkIGNyZWF0ZSBwbGF0Zm9ybSBkZXZpY2VzIGRpcmVjdGx5IHRocm91Z2ggdGhlIGAvc3lzL2RldmljZXMvcGxhdGZvcm1gIGRpcmVjdG9yeSwgYnV0IHRoYXTigJlzIG5vdCByZWFsbHkgaG93IGl0IHdvcmtzLiBTeXprYWxsZXIgZG9lc24mIzM5O3QgaGF2ZSBhIGdlbmVyaWMgd2F5IHRvIGluc3RhbnRpYXRlIHJhbmRvbSBwbGF0Zm9ybSBkZXZpY2VzIHVubGVzcyBhIHBzZXVkby1kZXZpY2UgZHJpdmVyIGV4cGxpY2l0bHkgc3VwcG9ydHMgaXQgKGxpa2UgYG1hYzgwMjExX2h3c2ltYCBvciBgdmttc2AsIGV0Yy4pLCBvciBtYXliZSB0aHJvdWdoIGRldmljZSB0cmVlIG92ZXJsYXlzLCBidXQgSSBkb24mIzM5O3QgdGhpbmsgU3l6a2FsbGVyIGRvZXMgZHluYW1pYyBvdmVybGF5cyBmb3Igd2hhdGV2ZXIgZGV2aWNlIEkgd2FudCB0byB0ZXN0LiBXYWl0LCBkaWQgSSBtaXNzIHNvbWV0aGluZz8gSSBkb24mIzM5O3QgdGhpbmsgU3l6a2FsbGVyIGNhbiBpbmplY3QgcGxhdGZvcm0gZGV2aWNlcyB2aWEgYHN5el9wbGF0Zm9ybV9kZXZpY2VfYWRkYCBvciBhbnl0aGluZyBsaWtlIHRoYXQuIE5vLCB0aGVyZSYjMzk7cyBubyBzdWNoIGNhbGwuCgpMZXQmIzM5O3Mgc3RlcCBiYWNrIGFuZCBjaGVjayB3aGV0aGVyIHRoaXMgY29kZSBpcyBldmVuIHJlYWNoYWJsZS4gVGhlIGRyaXZlciBpcyBmb3IgYSBSZWFsdGVrIERTQSBzd2l0Y2guIFRoZSBwYXRjaCBJJiMzOTttIGxvb2tpbmcgYXQgbW9kaWZpZXMgYHJ0bDgzNjZyYl9wb3J0X3NldF9pc29sYXRpb25gIGFuZCBgcnRsODM2NnJiX3NldHVwYCwgd2hpY2ggYXJlIHNwZWNpZmljIHRvIHRoaXMgaGFyZHdhcmUuIFNpbmNlIHRoaXMgaGFyZHdhcmUgaXNuJiMzOTt0IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgR0NFIGVudmlyb25tZW50cywgaXQmIzM5O3Mgbm90IHJlYWNoYWJsZS4gVGhlIHBhdGNoIGNvZGUgaXMgbm90IGdvaW5nIHRvIGJlIHRvdWNoZWQuCgpBbHJpZ2h0LCBsZXQmIzM5O3MgZG91YmxlLWNoZWNrIGhvdyB0aGlzIGRyaXZlciBwcm9iZXMuIEl0IHJlZ2lzdGVycyBib3RoIGBydGw4MzY2cmJfc21pX2RyaXZlcmAgKHBsYXRmb3JtKSBhbmQgYHJ0bDgzNjZyYl9tZGlvX2RyaXZlcmAgKG1kaW8pLiBUaGV5IGJvdGggcmVseSBvbiBgLm9mX21hdGNoX3RhYmxlID0gcnRsODM2NnJiX29mX21hdGNoYC4gV2l0aG91dCB0aGUgY29ycmVjdCBoYXJkd2FyZSBvciB0aGUgcHJvcGVyIGRldmljZSB0cmVlIG5vZGUsIHRoZSBwcm9iZSBmdW5jdGlvbiBkb2VzbiYjMzk7dCBnZXQgY2FsbGVkIGFuZCB0aGlzIGRyaXZlciBpcyB1bnJlYWNoYWJsZS4gSXQmIzM5O3MgYSBkZWFkIGVuZC4KClRoZXJlZm9yZSwgV29ydGhGdXp6aW5nPWZhbHNlLiBJJiMzOTttIHJlYXNvbmFibHkgY29uZmlkZW50IHRoZSBjaGFuZ2VzIGFyZSBpbiBjb2RlIHRoYXQmIzM5O3Mgbm90IHJlYWNoYWJsZSB1bmRlciB0aGUgY29uZGl0aW9ucyBJJiMzOTttIGZ1enppbmcuIFRoZSBwYXRjaCBtb2RpZmllcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgdGhlIFJlYWx0ZWsgUlRMODM2NlJCIERTQSBzd2l0Y2guIFNpbmNlIHRoYXQgZGV2aWNlIGlzbiYjMzk7dCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBlbnZpcm9ubWVudHMsIGFuZCB0aGUgZHJpdmVyIHJlbGllcyBvbiBzcGVjaWZpYyBkZXZpY2UgdHJlZSBub2RlcyBvciBoYXJkd2FyZSB0byBwcm9iZSwgdGhlIG1vZGlmaWVkIGNvZGUgY2FuJiMzOTt0IGJlIHJlYWNoZWQgZHVyaW5nIGZ1enppbmcuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMDY6MDA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgdGhlIFJlYWx0ZWsgUlRMODM2NlJCIERTQSBzd2l0Y2guIFRoaXMgZGV2aWNlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VL0dDRSBlbnZpcm9ubWVudHMsIGFuZCB0aGUgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIGRldmljZSB0cmVlIG5vZGVzIG9yIGhhcmR3YXJlIHRvIHByb2JlLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgdGhlIFJlYWx0ZWsgUlRMODM2NlJCIERTQSBzd2l0Y2guIFRoaXMgZGV2aWNlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VL0dDRSBlbnZpcm9ubWVudHMsIGFuZCB0aGUgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIGRldmljZSB0cmVlIG5vZGVzIG9yIGhhcmR3YXJlIHRvIHByb2JlLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMDJUMDU6NTk6NTkuMDM5MjIxOTI2WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTYzMDI1NTgwMDQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgUmVhbHRlayBSVEw4MzY2UkIgRFNBIHN3aXRjaC4gVGhpcyBkZXZpY2UgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUvR0NFIGVudmlyb25tZW50cywgYW5kIHRoZSBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgZGV2aWNlIHRyZWUgbm9kZXMgb3IgaGFyZHdhcmUgdG8gcHJvYmUsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDA1OjU5OjU5LjAzOTIyODkzNloiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjY0MjIxNDgwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgY2NmYzM3MWYyZDEwZDRhODY4YzNhNTY1Y2JjNjY4ZmQ5YzgzYjYzMFxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgU3VuIEF1ZyAyIDA1OjU5OjU4IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jIGIvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmNcXG5pbmRleCBkMmZhOGZmNmE1ZDA4Li5mMTE4MzFiNjZkZTg4IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jXFxuKysrIGIvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmNcXG5AQCAtNzk0LDExICs3OTQsMTAgQEAgc3RhdGljIGludCBydGw4MzY2cmJfc2V0dXBfYWxsX2xlZHNfb2ZmKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYpXFxuIHN0YXRpYyBpbnQgcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCBpbnQgcG9ydCxcXG4gXFx0XFx0XFx0XFx0XFx0dTMyIG1hc2spXFxuIHtcXG4tXFx0LyogQml0IDAgZW5hYmxlcyBpc29sYXRpb24gc28gc2V0IHRoaXMgaWYgd2UgZW5hYmxlIGlzb2xhdGlvblxcbi1cXHQgKiBhbnkgb2YgdGhlIHBvcnRzIGFuIGNsZWFyIGl0IGlmIHdlIGRpc2FibGUgb24gYWxsIG9mIHRoZW0uXFxuK1xcdC8qIEJpdCAwIGVuYWJsZXMgaXNvbGF0aW9uLCB0aGUgbWFzayBpbmRpY2F0ZXMgYWxsb3dlZCBmb3J3YXJkaW5nXFxuK1xcdCAqIHBvcnRzXFxuIFxcdCAqL1xcbi1cXHRpZiAobWFzaylcXG4tXFx0XFx0bWFzayA9IFJUTDgzNjZSQl9QT1JUX0lTT19QT1JUUyhtYXNrKSB8IFJUTDgzNjZSQl9QT1JUX0lTT19FTjtcXG4rXFx0bWFzayA9IFJUTDgzNjZSQl9QT1JUX0lTT19QT1JUUyhtYXNrKSB8IFJUTDgzNjZSQl9QT1JUX0lTT19FTjtcXG4gXFxuIFxcdHJldHVybiByZWdtYXBfd3JpdGUocHJpdi1cXHUwMDNlbWFwLCBSVEw4MzY2UkJfUE9SVF9JU08ocG9ydCksXFxuIFxcdFxcdFxcdCAgICBtYXNrKTtcXG5AQCAtOTc0LDcgKzk3Myw3IEBAIHN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcXG4gXFx0XFx0aWYgKCFkc2FfcG9ydF9pc191c2VyKGRwKSlcXG4gXFx0XFx0XFx0Y29udGludWU7XFxuIFxcbi1cXHRcXHQvKiBGb3J3YXJkIG9ubHkgdG8gdGhlIENQVSAqL1xcbitcXHRcXHQvKiBGb3J3YXJkIG9ubHkgdG8gdGhlIENQVShzKSwgaXNvbGF0ZSBmcm9tIGFsbCBvdGhlciBwb3J0cyAqL1xcbiBcXHRcXHRyZXQgPSBydGw4MzY2cmJfcG9ydF9zZXRfaXNvbGF0aW9uKHByaXYsIGRwLVxcdTAwM2VpbmRleCwgdXBwb3J0c19tYXNrKTtcXG4gXFx0XFx0aWYgKHJldClcXG4gXFx0XFx0XFx0cmV0dXJuIHJldDtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMDU6NTk6NTkuNzA0NDMxODk2WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MTU2MzczMzczMzMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgUmVhbHRlayBSVEw4MzY2UkIgRFNBIHN3aXRjaC4gVGhpcyBkZXZpY2UgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUvR0NFIGVudmlyb25tZW50cywgYW5kIHRoZSBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgZGV2aWNlIHRyZWUgbm9kZXMgb3IgaGFyZHdhcmUgdG8gcHJvYmUsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGNjZmMzNzFmMmQxMGQ0YTg2OGMzYTU2NWNiYzY2OGZkOWM4M2I2MzBcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgU3VuIEF1ZyAyIDA1OjU5OjU4IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMgYi9kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuY1xuaW5kZXggZDJmYThmZjZhNWQwOC4uZjExODMxYjY2ZGU4OCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jXG4rKysgYi9kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuY1xuQEAgLTc5NCwxMSArNzk0LDEwIEBAIHN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwX2FsbF9sZWRzX29mZihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2KVxuIHN0YXRpYyBpbnQgcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCBpbnQgcG9ydCxcbiBcdFx0XHRcdFx0dTMyIG1hc2spXG4ge1xuLVx0LyogQml0IDAgZW5hYmxlcyBpc29sYXRpb24gc28gc2V0IHRoaXMgaWYgd2UgZW5hYmxlIGlzb2xhdGlvblxuLVx0ICogYW55IG9mIHRoZSBwb3J0cyBhbiBjbGVhciBpdCBpZiB3ZSBkaXNhYmxlIG9uIGFsbCBvZiB0aGVtLlxuK1x0LyogQml0IDAgZW5hYmxlcyBpc29sYXRpb24sIHRoZSBtYXNrIGluZGljYXRlcyBhbGxvd2VkIGZvcndhcmRpbmdcbitcdCAqIHBvcnRzXG4gXHQgKi9cbi1cdGlmIChtYXNrKVxuLVx0XHRtYXNrID0gUlRMODM2NlJCX1BPUlRfSVNPX1BPUlRTKG1hc2spIHwgUlRMODM2NlJCX1BPUlRfSVNPX0VOO1xuK1x0bWFzayA9IFJUTDgzNjZSQl9QT1JUX0lTT19QT1JUUyhtYXNrKSB8IFJUTDgzNjZSQl9QT1JUX0lTT19FTjtcbiBcbiBcdHJldHVybiByZWdtYXBfd3JpdGUocHJpdi1cdTAwM2VtYXAsIFJUTDgzNjZSQl9QT1JUX0lTTyhwb3J0KSxcbiBcdFx0XHQgICAgbWFzayk7XG5AQCAtOTc0LDcgKzk3Myw3IEBAIHN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcbiBcdFx0aWYgKCFkc2FfcG9ydF9pc191c2VyKGRwKSlcbiBcdFx0XHRjb250aW51ZTtcbiBcbi1cdFx0LyogRm9yd2FyZCBvbmx5IHRvIHRoZSBDUFUgKi9cbitcdFx0LyogRm9yd2FyZCBvbmx5IHRvIHRoZSBDUFUocyksIGlzb2xhdGUgZnJvbSBhbGwgb3RoZXIgcG9ydHMgKi9cbiBcdFx0cmV0ID0gcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbihwcml2LCBkcC1cdTAwM2VpbmRleCwgdXBwb3J0c19tYXNrKTtcbiBcdFx0aWYgKHJldClcbiBcdFx0XHRyZXR1cm4gcmV0O1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMDU6NTk6NTkuNzA0NDMzOTk2WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDk5MTk1NTQ2NCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBSZWFsdGVrIFJUTDgzNjZSQiBEcml2ZXIgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCBhIHBhdGNoIHRoYXQgdHdlYWtzIHRoZSBgcnRsODM2NnJiLmNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSBgcnRsODM2NnJiX3BvcnRfc2V0X2lzb2xhdGlvbmAgZnVuY3Rpb24uIEl0IHNlZW1zIHRoZXkndmUgcmVtb3ZlZCBhIGNoZWNrLCB0aGUgYGlmIChtYXNrKWAgY29uZGl0aW9uLCBiZWZvcmUgc2V0dGluZyB0aGUgaXNvbGF0aW9uIG1hc2suIFRoaXMgaW1tZWRpYXRlbHkgbWFrZXMgbWUgdGhpbmsgYWJvdXQgcG90ZW50aWFsIGltcGxpY2F0aW9ucy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2h5IHRoaXMgY2hlY2sgd2FzIHJlbW92ZWQgYW5kIHdoYXQgc2NlbmFyaW9zIGl0IG1pZ2h0IGFmZmVjdC5cblxuVGhpcyBpcyB0aGUgZHJpdmVyIGZvciB0aGUgUmVhbHRlayBSVEw4MzY2UkIgRFNBIHN3aXRjaCwgd2hpY2ggbWVhbnMgd2UncmUgZGVhbGluZyB3aXRoIGEgRGF0YSBTd2l0Y2ggQWdncmVnYXRvci4gRFNBIHN3aXRjaGVzLCBhcyBJIGtub3csIHR5cGljYWxseSBpbnRlcmZhY2Ugd2l0aCB0aGUgbWFpbiBzeXN0ZW0gdmlhIE1ESU8sIFNQSSwgb3IgSTJDLiBUaGUgaW5zdGFudGlhdGlvbiBvZiB0aGlzIGRyaXZlciBhbmQgaG93IGl0J3MgY29ubmVjdGVkIGlzIGdvaW5nIHRvIGJlIGNydWNpYWwuXG5cbk15IGZpcnN0IHN0ZXAgaXMgdG8gY29uZmlybSBob3cgdGhpcyBkcml2ZXIgaXMgYWN0dWFsbHkgaW5zdGFudGlhdGVkLiBJIG5lZWQgdG8gdHJhY2UgYmFjayBmcm9tIHRoaXMgYHJ0bDgzNjZyYi5jYCBmaWxlIGFuZCB1bmRlcnN0YW5kIHRoZSBzdXJyb3VuZGluZyBjb2RlLiBJcyB0aGlzIGRyaXZlciBldmVuIHJlYWNoYWJsZSBpbiBhIHR5cGljYWwgUUVNVSBzZXR1cCwgZm9yIGluc3RhbmNlPyBPZnRlbiwgRFNBIHN3aXRjaCBkcml2ZXJzIGRlcGVuZCBoZWF2aWx5IG9uIGRldmljZSB0cmVlIGVudHJpZXMgb3Igc3BlY2lmaWMgYm9hcmQgY29uZmlndXJhdGlvbnMgdG8gYmUgcHJvcGVybHkgaW5pdGlhbGl6ZWQgYW5kIGZ1bmN0aW9uaW5nLiBJJ20gZ29pbmcgdG8gbG9vayBjYXJlZnVsbHkgYXQgdGhlIHN1cnJvdW5kaW5nIGNvZGUgYW5kIHNlYXJjaCBmb3IgY2x1ZXMgYWJvdXQgaG93IHRoaXMgc3dpdGNoIGlzIGNvbm5lY3RlZCB0byB0aGUgc3lzdGVtLiBJIGFsc28gbmVlZCB0byB1bmRlcnN0YW5kIGFueSBhc3N1bXB0aW9ucyB0aGlzIGRyaXZlciBtYWtlcyBhYm91dCB0aGUgaGFyZHdhcmUgaXQgY29udHJvbHMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIzNDEsIk91dHB1dFRva2VucyI6MzYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMDIsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMlQwNjowMDowNC42OTYzOTM1NDFaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTM4MTU4NzM4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInJ0bDgzNjZyYlwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9kc2EvcmVhbHRlay9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA1NDAgbGluZXMuXFxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxcblxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL01ha2VmaWxlPTEzPW9iai0kKENPTkZJR19ORVRfRFNBX1JFQUxURUtfUlRMODM2NlJCKSArPSBydGw4MzY2Lm9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9NYWtlZmlsZToxNDpydGw4MzY2LW9ianMgXFx0XFx0XFx0XFx0Oj0gcnRsODM2Ni1jb3JlLm8gcnRsODM2NnJiLm9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9NYWtlZmlsZS0xNS1pZmRlZiBDT05GSUdfTkVUX0RTQV9SRUFMVEVLX1JUTDgzNjZSQl9MRURTXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvTWFrZWZpbGU6MTY6cnRsODM2Ni1vYmpzIFxcdFxcdFxcdFxcdCs9IHJ0bDgzNjZyYi1sZWRzLm9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9NYWtlZmlsZS0xNy1lbmRpZlxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcmVhbHRlay5oPTE4OD12b2lkIHJ0bDgzNjZfZ2V0X2V0aHRvb2xfc3RhdHMoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwgdWludDY0X3QgKmRhdGEpO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3JlYWx0ZWsuaC0xODktXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcmVhbHRlay5oOjE5MDpleHRlcm4gY29uc3Qgc3RydWN0IHJlYWx0ZWtfdmFyaWFudCBydGw4MzY2cmJfdmFyaWFudDtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9yZWFsdGVrLmgtMTkxLWV4dGVybiBjb25zdCBzdHJ1Y3QgcmVhbHRla192YXJpYW50IHJ0bDgzNjVtYl92YXJpYW50O1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy02LSNpbmNsdWRlIFxcXCJydGw4M3h4LmhcXFwiXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo3OiNpbmNsdWRlIFxcXCJydGw4MzY2cmIuaFxcXCJcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTgtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo5OnN0YXRpYyBpbmxpbmUgdTMyIHJ0bDgzNjZyYl9sZWRfZ3JvdXBfcG9ydF9tYXNrKHU4IGxlZF9ncm91cCwgdTggcG9ydClcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTEwLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMjQtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzoyNTpzdGF0aWMgaW50IHJiODM2NnJiX2dldF9wb3J0X2xlZChzdHJ1Y3QgcnRsODM2NnJiX2xlZCAqbGVkKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMjYte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy00MC1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjQxOlxcdHJldHVybiAhISh2YWwgXFx1MDAyNiBydGw4MzY2cmJfbGVkX2dyb3VwX3BvcnRfbWFzayhsZWRfZ3JvdXAsIHBvcnRfbnVtKSk7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy00Mi19XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy00My1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjQ0OnN0YXRpYyBpbnQgcmI4MzY2cmJfc2V0X3BvcnRfbGVkKHN0cnVjdCBydGw4MzY2cmJfbGVkICpsZWQsIGJvb2wgZW5hYmxlKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtNDUte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy01Mi1cXHRcXHRcXHRcXHQgUlRMODM2NlJCX0xFRF9YX1hfQ1RSTF9SRUcobGVkX2dyb3VwKSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjUzOlxcdFxcdFxcdFxcdCBydGw4MzY2cmJfbGVkX2dyb3VwX3BvcnRfbWFzayhsZWRfZ3JvdXAsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy01NC1cXHRcXHRcXHRcXHRcXHRcXHRcXHQgICAgICAgcG9ydF9udW0pLFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYz03NT1zdGF0aWMgaW50XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo3NjpydGw4MzY2cmJfY2xlZF9icmlnaHRuZXNzX3NldF9ibG9ja2luZyhzdHJ1Y3QgbGVkX2NsYXNzZGV2ICpsZGV2LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtNzctXFx0XFx0XFx0XFx0ICAgICAgIGVudW0gbGVkX2JyaWdodG5lc3MgYnJpZ2h0bmVzcylcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTc4LXtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjc5OlxcdHN0cnVjdCBydGw4MzY2cmJfbGVkICpsZWQgPSBjb250YWluZXJfb2YobGRldiwgc3RydWN0IHJ0bDgzNjZyYl9sZWQsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy04MC1cXHRcXHRcXHRcXHRcXHRcXHQgY2Rldik7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTg0LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmM6ODU6c3RhdGljIGludCBydGw4MzY2cmJfc2V0dXBfbGVkKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIHN0cnVjdCBkc2FfcG9ydCAqZHAsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy04Ni1cXHRcXHRcXHQgICAgICAgc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmxlZF9md25vZGUpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy04Ny17XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo4ODpcXHRzdHJ1Y3QgcnRsODM2NnJiICpyYiA9IHByaXYtXFx1MDAzZWNoaXBfZGF0YTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTg5LVxcdHN0cnVjdCBsZWRfaW5pdF9kYXRhIGluaXRfZGF0YSA9IHsgfTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTkwLVxcdGVudW0gbGVkX2RlZmF1bHRfc3RhdGUgc3RhdGU7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzo5MTpcXHRzdHJ1Y3QgcnRsODM2NnJiX2xlZCAqbGVkO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtOTItXFx0Y2hhciBuYW1lWzY0XTtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMTI4LVxcdGxlZC1cXHUwMDNlY2Rldi5icmlnaHRuZXNzX3NldF9ibG9ja2luZyA9XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYzoxMjk6XFx0XFx0cnRsODM2NnJiX2NsZWRfYnJpZ2h0bmVzc19zZXRfYmxvY2tpbmc7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLWxlZHMuYy0xMzAtXFx0aW5pdF9kYXRhLmZ3bm9kZSA9IGxlZF9md25vZGU7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTE0Ni1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjE0NzppbnQgcnRsODM2NnJiX3NldHVwX2xlZHMoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTE0OC17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jLTE2NS1cXHRcXHRmb3JfZWFjaF9jaGlsZF9vZl9ub2RlX3Njb3BlZChsZWRzX25wLCBsZWRfbnApIHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmItbGVkcy5jOjE2NjpcXHRcXHRcXHRyZXQgPSBydGw4MzY2cmJfc2V0dXBfbGVkKHByaXYsIGRwLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi1sZWRzLmMtMTY3LVxcdFxcdFxcdFxcdFxcdFxcdCAgb2ZfZndub2RlX2hhbmRsZShsZWRfbnApKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTI5LSNpbmNsdWRlIFxcXCJydGw4M3h4LmhcXFwiXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MzA6I2luY2x1ZGUgXFxcInJ0bDgzNjZyYi5oXFxcIlxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTMxLVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMzE1LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjMxNjpzdGF0aWMgc3RydWN0IHJ0bDgzNjZfbWliX2NvdW50ZXIgcnRsODM2NnJiX21pYl9jb3VudGVyc1tdID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTMxNy1cXHR7IDAsICAwLCA0LCBcXFwiSWZJbk9jdGV0c1xcXCJcXHRcXHRcXHRcXHR9LFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMzUxLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjM1MjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9nZXRfbWliX2NvdW50ZXIoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdixcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0zNTMtXFx0XFx0XFx0XFx0ICAgICBpbnQgcG9ydCxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTM5My1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzozOTQ6c3RhdGljIHUzMiBydGw4MzY2cmJfZ2V0X2lycW1hc2soc3RydWN0IGlycV9kYXRhICpkKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTM5NS17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MDgtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDA5OnN0YXRpYyB2b2lkIHJ0bDgzNjZyYl9tYXNrX2lycShzdHJ1Y3QgaXJxX2RhdGEgKmQpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDEwLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQxNC1cXHRyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMocHJpdi1cXHUwMDNlbWFwLCBSVEw4MzY2UkJfSU5URVJSVVBUX01BU0tfUkVHLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQxNTpcXHRcXHRcXHRcXHQgcnRsODM2NnJiX2dldF9pcnFtYXNrKGQpLCAwKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MTYtXFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQxOS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0MjA6c3RhdGljIHZvaWQgcnRsODM2NnJiX3VubWFza19pcnEoc3RydWN0IGlycV9kYXRhICpkKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQyMS17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MjUtXFx0cmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtXFx1MDAzZW1hcCwgUlRMODM2NlJCX0lOVEVSUlVQVF9NQVNLX1JFRyxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0MjY6XFx0XFx0XFx0XFx0IHJ0bDgzNjZyYl9nZXRfaXJxbWFzayhkKSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0Mjc6XFx0XFx0XFx0XFx0IHJ0bDgzNjZyYl9nZXRfaXJxbWFzayhkKSk7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDI4LVxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00MzEtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDMyOnN0YXRpYyBpcnFyZXR1cm5fdCBydGw4MzY2cmJfaXJxKGludCBpcnEsIHZvaWQgKmRhdGEpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDMzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQ2My1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0NjQ6c3RhdGljIHN0cnVjdCBpcnFfY2hpcCBydGw4MzY2cmJfaXJxX2NoaXAgPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDY1LVxcdC5uYW1lID0gXFxcIlJUTDgzNjZSQlxcXCIsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDY2OlxcdC5pcnFfbWFzayA9IHJ0bDgzNjZyYl9tYXNrX2lycSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0Njc6XFx0LmlycV91bm1hc2sgPSBydGw4MzY2cmJfdW5tYXNrX2lycSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NjgtfTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NjktXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDcwOnN0YXRpYyBpbnQgcnRsODM2NnJiX2lycV9tYXAoc3RydWN0IGlycV9kb21haW4gKmRvbWFpbiwgdW5zaWduZWQgaW50IGlycSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NzEtXFx0XFx0XFx0ICAgICBpcnFfaHdfbnVtYmVyX3QgaHdpcnEpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NzMtXFx0aXJxX3NldF9jaGlwX2RhdGEoaXJxLCBkb21haW4tXFx1MDAzZWhvc3RfZGF0YSk7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDc0OlxcdGlycV9zZXRfY2hpcF9hbmRfaGFuZGxlcihpcnEsIFxcdTAwMjZydGw4MzY2cmJfaXJxX2NoaXAsIGhhbmRsZV9zaW1wbGVfaXJxKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00NzUtXFx0aXJxX3NldF9uZXN0ZWRfdGhyZWFkKGlycSwgMSk7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00ODAtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NDgxOnN0YXRpYyB2b2lkIHJ0bDgzNjZyYl9pcnFfdW5tYXAoc3RydWN0IGlycV9kb21haW4gKmQsIHVuc2lnbmVkIGludCBpcnEpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDgyLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQ4Ny1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0ODg6c3RhdGljIGNvbnN0IHN0cnVjdCBpcnFfZG9tYWluX29wcyBydGw4MzY2cmJfaXJxZG9tYWluX29wcyA9IHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo0ODk6XFx0Lm1hcCA9IHJ0bDgzNjZyYl9pcnFfbWFwLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ5MDpcXHQudW5tYXAgPSBydGw4MzY2cmJfaXJxX3VubWFwLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTQ5MS1cXHQueGxhdGUgID0gaXJxX2RvbWFpbl94bGF0ZV9vbmVjZWxsLFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNDkzLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjQ5NDpzdGF0aWMgaW50IHJ0bDgzNjZyYl9zZXR1cF9jYXNjYWRlZF9pcnEoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy00OTUte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNTQ2LVxcdHJldCA9IGRldm1fcmVxdWVzdF90aHJlYWRlZF9pcnEocHJpdi1cXHUwMDNlZGV2LCBpcnEsIE5VTEwsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NTQ3OlxcdFxcdFxcdFxcdFxcdHJ0bDgzNjZyYl9pcnEsIElSUUZfT05FU0hPVCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01NDgtXFx0XFx0XFx0XFx0XFx0XFxcIlJUTDgzNjZSQlxcXCIsIHByaXYpO1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNTUzLVxcdHByaXYtXFx1MDAzZWlycWRvbWFpbiA9IGlycV9kb21haW5fY3JlYXRlX2xpbmVhcihvZl9md25vZGVfaGFuZGxlKGludGMpLCBSVEw4MzY2UkJfTlVNX0lOVEVSUlVQVCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo1NTQ6XFx0XFx0XFx0XFx0XFx0XFx0ICAgXFx1MDAyNnJ0bDgzNjZyYl9pcnFkb21haW5fb3BzLCBwcml2KTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01NTUtXFx0aWYgKCFwcml2LVxcdTAwM2VpcnFkb21haW4pIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTU2Ny1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo1Njg6c3RhdGljIGludCBydGw4MzY2cmJfc2V0X2FkZHIoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01Njkte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNTk1LS8qIFN0cnVjdCBmb3IgaGFuZGxpbmcgdGhlIGphbSB0YWJsZXMnIGVudHJpZXMgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo1OTY6c3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy01OTctXFx0dTE2IHJlZztcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTYwMS0vKiBGb3IgdGhlIFxcXCJ2ZXJzaW9uIDBcXFwiIGVhcmx5IHNpbGljb24sIGFwcGVhciBpbiBtb3N0IHNvdXJjZSByZWxlYXNlcyAqL1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjYwMjpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9pbml0X2phbV92ZXJfMFtdID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTYwMy1cXHR7MHgwMDBCLCAweDAwMDF9LCB7MHgwM0E2LCAweDAxMDB9LCB7MHgwM0E3LCAweDAwMDF9LCB7MHgwMkQxLCAweDNGRkZ9LFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjM0LS8qIFRoaXMgdjEgaW5pdCBzZXF1ZW5jZSBpcyBmcm9tIEJlbGtpbiBGNUQ4MjM1IFUtQm9vdCByZWxlYXNlICovXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NjM1OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRsODM2NnJiX2phbV90YmxfZW50cnkgcnRsODM2NnJiX2luaXRfamFtX3Zlcl8xW10gPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjM2LVxcdHsweDAwMDAsIDB4MDgzMH0sIHsweDAwMDEsIDB4ODAwMH0sIHsweDA0MDAsIDB4ODEzMH0sIHsweEJFNzgsIDB4M0MzQ30sXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02NDktLyogVGhpcyB2MiBpbml0IHNlcXVlbmNlIGlzIGZyb20gQmVsa2luIEY1RDgyMzUgVS1Cb290IHJlbGVhc2UgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo2NTA6c3RhdGljIGNvbnN0IHN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSBydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzJbXSA9IHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02NTEtXFx0ezB4MDQ1MCwgMHgwMDAwfSwgezB4MDQwMCwgMHg4MTMwfSwgezB4MDAwQSwgMHg4M0VEfSwgezB4MDQzMSwgMHg1NDMyfSxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTY2NC0vKiBBcHBlYXJzIGluIGEgRERXUlQgY29kZSBkdW1wICovXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6NjY1OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRsODM2NnJiX2phbV90YmxfZW50cnkgcnRsODM2NnJiX2luaXRfamFtX3Zlcl8zW10gPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjY2LVxcdHsweDAwMDAsIDB4MDgzMH0sIHsweDA0MDAsIDB4ODEzMH0sIHsweDAwMEEsIDB4ODNFRH0sIHsweDA0MzEsIDB4NTQzMn0sXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy02ODUtLyogQmVsa2luIEY1RDgyMzUgdjEsIFxcXCJiZWxraW4sZjVkODIzNS12MVxcXCIgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo2ODY6c3RhdGljIGNvbnN0IHN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSBydGw4MzY2cmJfaW5pdF9qYW1fZjVkODIzNVtdID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTY4Ny1cXHR7MHgwMjQyLCAweDAyQkZ9LCB7MHgwMjQ1LCAweDAyQkZ9LCB7MHgwMjQ4LCAweDAyQkZ9LCB7MHgwMjRCLCAweDAyQkZ9LFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNjk4LS8qIERHTjM1MDAsIFxcXCJuZXRnZWFyLGRnbjM1MDBcXFwiLCBcXFwibmV0Z2VhcixkZ24zNTAwYlxcXCIgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo2OTk6c3RhdGljIGNvbnN0IHN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSBydGw4MzY2cmJfaW5pdF9qYW1fZGduMzUwMFtdID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTcwMC1cXHR7MHgwMDAwLCAweDA4MzB9LCB7MHgwNDAwLCAweDgxMzB9LCB7MHgwMDBBLCAweDgzRUR9LCB7MHgwRjUxLCAweDAwMTd9LFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzA5LSAqL1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjcxMDpzdGF0aWMgY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5IHJ0bDgzNjZyYl9ncmVlbl9qYW1bXSA9IHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy03MTEtXFx0ezB4QkU3OCwgMHgzMjNDfSwgezB4QkU3NywgMHg1MDAwfSwgezB4QkUyRSwgMHg3QkE3fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTcxNi0vKiBGdW5jdGlvbiB0aGF0IGphbXMgdGhlIHRhYmxlcyBpbiB0aGUgcHJvcGVyIHJlZ2lzdGVycyAqL1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjcxNzpzdGF0aWMgaW50IHJ0bDgzNjZyYl9qYW1fdGFibGUoY29uc3Qgc3RydWN0IHJ0bDgzNjZyYl9qYW1fdGJsX2VudHJ5ICpqYW1fdGFibGUsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzE4LVxcdFxcdFxcdCAgICAgICBpbnQgamFtX3NpemUsIHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYz03NTQ9aW50IHJiODM2NnJiX3NldF9sZWRncm91cF9tb2RlKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy03NzMtLyogVGhpcyBjb2RlIGlzIHVzZWQgYWxzbyB3aXRoIExFRHMgZGlzYWJsZWQgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo3NzQ6c3RhdGljIGludCBydGw4MzY2cmJfc2V0dXBfYWxsX2xlZHNfb2ZmKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtNzc1LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTc5My1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo3OTQ6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9zZXRfaXNvbGF0aW9uKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTc5NS1cXHRcXHRcXHRcXHRcXHR1MzIgbWFzaylcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTgwNS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo4MDY6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9hZGRfaXNvbGF0aW9uKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTgwNy1cXHRcXHRcXHRcXHRcXHR1MzIgbWFzaylcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTgxNC1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo4MTU6c3RhdGljIGludCBydGw4MzY2cmJfcG9ydF9yZW1vdmVfaXNvbGF0aW9uKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTgxNi1cXHRcXHRcXHRcXHRcXHQgICB1MzIgbWFzaylcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTgyMj1zdGF0aWMgdm9pZFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjgyMzpydGw4MzY2cmJfcG9ydF9zdHBfc3RhdGVfc2V0KHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsIHU4IHN0YXRlKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTgyNC17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04NTUtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6ODU2OnN0YXRpYyBpbnQgcnRsODM2NnJiX3BvcnRfc2V0X2xlYXJuaW5nKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTg1Ny1cXHRcXHRcXHRcXHQgICAgICAgYm9vbCBlbmFibGUpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04NjUtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6ODY2OnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04Njcte1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTg2OC1cXHRzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2ID0gZHMtXFx1MDAzZXByaXY7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6ODY5OlxcdGNvbnN0IHN0cnVjdCBydGw4MzY2cmJfamFtX3RibF9lbnRyeSAqamFtX3RhYmxlO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTg3MC1cXHR1MzIgZG93bnBvcnRzX21hc2sgPSAwO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjg3MTpcXHRzdHJ1Y3QgcnRsODM2NnJiICpyYjtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy04NzItXFx0dTMyIHVwcG9ydHNfbWFzayA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MDgtXFx0Y2FzZSAwOlxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkwOTpcXHRcXHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzA7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTEwOlxcdFxcdGphbV9zaXplID0gQVJSQVlfU0laRShydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzApO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkxMS1cXHRcXHRicmVhaztcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MTItXFx0Y2FzZSAxOlxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkxMzpcXHRcXHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzE7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTE0OlxcdFxcdGphbV9zaXplID0gQVJSQVlfU0laRShydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzEpO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkxNS1cXHRcXHRicmVhaztcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MTYtXFx0Y2FzZSAyOlxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkxNzpcXHRcXHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzI7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTE4OlxcdFxcdGphbV9zaXplID0gQVJSQVlfU0laRShydGw4MzY2cmJfaW5pdF9qYW1fdmVyXzIpO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkxOS1cXHRcXHRicmVhaztcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MjAtXFx0ZGVmYXVsdDpcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5MjE6XFx0XFx0amFtX3RhYmxlID0gcnRsODM2NnJiX2luaXRfamFtX3Zlcl8zO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkyMjpcXHRcXHRqYW1fc2l6ZSA9IEFSUkFZX1NJWkUocnRsODM2NnJiX2luaXRfamFtX3Zlcl8zKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MjMtXFx0XFx0YnJlYWs7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MzAtXFx0aWYgKG9mX21hY2hpbmVfaXNfY29tcGF0aWJsZShcXFwiYmVsa2luLGY1ZDgyMzUtdjFcXFwiKSkge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkzMTpcXHRcXHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fZjVkODIzNTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5MzI6XFx0XFx0amFtX3NpemUgPSBBUlJBWV9TSVpFKHJ0bDgzNjZyYl9pbml0X2phbV9mNWQ4MjM1KTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MzMtXFx0fVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTM1LVxcdCAgICBvZl9tYWNoaW5lX2lzX2NvbXBhdGlibGUoXFxcIm5ldGdlYXIsZGduMzUwMGJcXFwiKSkge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjkzNjpcXHRcXHRqYW1fdGFibGUgPSBydGw4MzY2cmJfaW5pdF9qYW1fZGduMzUwMDtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5Mzc6XFx0XFx0amFtX3NpemUgPSBBUlJBWV9TSVpFKHJ0bDgzNjZyYl9pbml0X2phbV9kZ24zNTAwKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05MzgtXFx0fVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTkzOS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5NDA6XFx0cmV0ID0gcnRsODM2NnJiX2phbV90YWJsZShqYW1fdGFibGUsIGphbV9zaXplLCBwcml2LCB0cnVlKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NDEtXFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk0OS1cXHRcXHQgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5NTA6XFx0XFx0cnRsODM2NnJiX3BvcnRfc3RwX3N0YXRlX3NldChkcywgZHAtXFx1MDAzZWluZGV4LCBCUl9TVEFURV9ESVNBQkxFRCk7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTUxLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk1Mi1cXHRcXHQvKiBTdGFydCB3aXRoIGFsbCBwb3J0cyBjb21wbGV0ZWx5IGlzb2xhdGVkICovXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTUzOlxcdFxcdHJldCA9IHJ0bDgzNjZyYl9wb3J0X3NldF9pc29sYXRpb24ocHJpdiwgZHAtXFx1MDAzZWluZGV4LCAwKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NTQtXFx0XFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk1Ny1cXHRcXHQvKiBEaXNhYmxlIGxlYXJuaW5nICovXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTU4OlxcdFxcdHJldCA9IHJ0bDgzNjZyYl9wb3J0X3NldF9sZWFybmluZyhwcml2LCBkcC1cXHUwMDNlaW5kZXgsIGZhbHNlKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NTktXFx0XFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk3Ni1cXHRcXHQvKiBGb3J3YXJkIG9ubHkgdG8gdGhlIENQVShzKSwgaXNvbGF0ZSBmcm9tIGFsbCBvdGhlciBwb3J0cyAqL1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjk3NzpcXHRcXHRyZXQgPSBydGw4MzY2cmJfcG9ydF9zZXRfaXNvbGF0aW9uKHByaXYsIGRwLVxcdTAwM2VpbmRleCwgdXBwb3J0c19tYXNrKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05NzgtXFx0XFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTk5MS1cXHRcXHQvKiBGb3J3YXJkIHRvIGFsbCB1c2VyIHBvcnRzICovXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6OTkyOlxcdFxcdHJldCA9IHJ0bDgzNjZyYl9wb3J0X3NldF9pc29sYXRpb24ocHJpdiwgZHAtXFx1MDAzZWluZGV4LCBkb3ducG9ydHNfbWFzayk7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtOTkzLVxcdFxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy05OTctXFx0LyogU2V0IHVwIHRoZSBcXFwiZ3JlZW4gZXRoZXJuZXRcXFwiIGZlYXR1cmUgKi9cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzo5OTg6XFx0cmV0ID0gcnRsODM2NnJiX2phbV90YWJsZShydGw4MzY2cmJfZ3JlZW5famFtLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjk5OTpcXHRcXHRcXHRcXHQgIEFSUkFZX1NJWkUocnRsODM2NnJiX2dyZWVuX2phbSksIHByaXYsIGZhbHNlKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMDAwLVxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMDE3LVxcdC8qIFNldCBzb21lIHJhbmRvbSBNQUMgYWRkcmVzcyAqL1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjEwMTg6XFx0cmV0ID0gcnRsODM2NnJiX3NldF9hZGRyKHByaXYpO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEwMTktXFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTExMDMtXFx0aWYgKHByaXYtXFx1MDAzZWxlZHNfZGlzYWJsZWQpIHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMTA0OlxcdFxcdHJldCA9IHJ0bDgzNjZyYl9zZXR1cF9hbGxfbGVkc19vZmYocHJpdik7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTEwNS1cXHRcXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTEwNy1cXHR9IGVsc2Uge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjExMDg6XFx0XFx0cmV0ID0gcnRsODM2NnJiX3NldHVwX2xlZHMocHJpdik7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTEwOS1cXHRcXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTExNi1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMTE3OlxcdHJldCA9IHJ0bDgzNjZyYl9zZXR1cF9jYXNjYWRlZF9pcnEocHJpdik7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTExOC1cXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM9MTEzMD1zdGF0aWMgZW51bSBkc2FfdGFnX3Byb3RvY29sIHJ0bDgzNjZfZ2V0X3RhZ19wcm90b2NvbChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMTM3LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjExMzg6c3RhdGljIHZvaWQgcnRsODM2NnJiX3BoeWxpbmtfZ2V0X2NhcHMoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMTM5LVxcdFxcdFxcdFxcdCAgICAgICBzdHJ1Y3QgcGh5bGlua19jb25maWcgKmNvbmZpZylcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTExNjQ9c3RhdGljIHZvaWRcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMTY1OnJ0bDgzNjZyYl9tYWNfY29uZmlnKHN0cnVjdCBwaHlsaW5rX2NvbmZpZyAqY29uZmlnLCB1bnNpZ25lZCBpbnQgbW9kZSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMTY2LVxcdFxcdCAgICAgY29uc3Qgc3RydWN0IHBoeWxpbmtfbGlua19zdGF0ZSAqc3RhdGUpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYz0xMTcwPXN0YXRpYyB2b2lkXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTE3MTpydGw4MzY2cmJfbWFjX2xpbmtfdXAoc3RydWN0IHBoeWxpbmtfY29uZmlnICpjb25maWcsIHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTE3Mi1cXHRcXHQgICAgICB1bnNpZ25lZCBpbnQgbW9kZSwgcGh5X2ludGVyZmFjZV90IGludGVyZmFjZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTEyNDI9c3RhdGljIHZvaWRcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMjQzOnJ0bDgzNjZyYl9tYWNfbGlua19kb3duKHN0cnVjdCBwaHlsaW5rX2NvbmZpZyAqY29uZmlnLCB1bnNpZ25lZCBpbnQgbW9kZSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMjQ0LVxcdFxcdFxcdHBoeV9pbnRlcmZhY2VfdCBpbnRlcmZhY2UpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYz0xMjY1PXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMjY2OnJ0bDgzNjZyYl9wb3J0X2VuYWJsZShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEyNjctXFx0XFx0ICAgICAgc3RydWN0IHBoeV9kZXZpY2UgKnBoeSlcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTEyODE9c3RhdGljIHZvaWRcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMjgyOnJ0bDgzNjZyYl9wb3J0X2Rpc2FibGUoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydClcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMjgzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEyOTQtLyoqXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTI5NTogKiBydGw4MzY2cmJfZHJvcF91bnRhZ2dlZCgpIC0gbWFrZSB0aGUgc3dpdGNoIGRyb3AgdW50YWdnZWQgYW5kIEMtdGFnZ2VkIGZyYW1lc1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEyOTYtICogQHByaXY6IFNNSSBzdGF0ZSBjb250YWluZXJcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzMDEtICovXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTMwMjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9kcm9wX3VudGFnZ2VkKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGludCBwb3J0LCBib29sIGRyb3ApXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTMwMy17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzA4LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjEzMDk6c3RhdGljIGludCBydGw4MzY2cmJfdmxhbl9maWx0ZXJpbmcoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzEwLVxcdFxcdFxcdFxcdCAgICBib29sIHZsYW5fZmlsdGVyaW5nLFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTMxMy1cXHRzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2ID0gZHMtXFx1MDAzZXByaXY7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTMxNDpcXHRzdHJ1Y3QgcnRsODM2NnJiICpyYjtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzE1LVxcdGludCByZXQ7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzMyLVxcdGlmICh2bGFuX2ZpbHRlcmluZylcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzMzOlxcdFxcdHJldCA9IHJ0bDgzNjZyYl9kcm9wX3VudGFnZ2VkKHByaXYsIHBvcnQsICFyYi1cXHUwMDNlcHZpZF9lbmFibGVkW3BvcnRdKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzM0LVxcdGVsc2VcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzM1OlxcdFxcdHJldCA9IHJ0bDgzNjZyYl9kcm9wX3VudGFnZ2VkKHByaXYsIHBvcnQsIGZhbHNlKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzM2LVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM9MTM0MD1zdGF0aWMgaW50XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTM0MTpydGw4MzY2cmJfcG9ydF9wcmVfYnJpZGdlX2ZsYWdzKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTM0Mi1cXHRcXHRcXHRcXHRzdHJ1Y3Qgc3dpdGNoZGV2X2JycG9ydF9mbGFncyBmbGFncyxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jPTEzNTI9c3RhdGljIHZvaWRcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzUzOnJ0bDgzNjZyYl9wb3J0X2Zhc3RfYWdlKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTM1NC17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzY0LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjEzNjU6c3RhdGljIGludCBydGw4MzY2cmJfY2hhbmdlX210dShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LCBpbnQgbmV3X210dSlcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzY2LXtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xMzY3LVxcdHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYgPSBkcy1cXHUwMDNlcHJpdjtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxMzY4OlxcdHN0cnVjdCBydGw4MzY2cmIgKnJiO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTEzNjktXFx0dW5zaWduZWQgaW50IG1heF9tdHU7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNDExLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE0MTI6c3RhdGljIGludCBydGw4MzY2cmJfbWF4X210dShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0KVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE0MTMte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQyMS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNDIyOnN0YXRpYyBpbnQgcnRsODM2NnJiX2dldF92bGFuXzRrKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIHUzMiB2aWQsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQyMy1cXHRcXHRcXHRcXHQgc3RydWN0IHJ0bDgzNjZfdmxhbl80ayAqdmxhbjRrKVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQ2Mi1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNDYzOnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldF92bGFuXzRrKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQ2NC1cXHRcXHRcXHRcXHQgY29uc3Qgc3RydWN0IHJ0bDgzNjZfdmxhbl80ayAqdmxhbjRrKVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTQ5Ni1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNDk3OnN0YXRpYyBpbnQgcnRsODM2NnJiX2dldF92bGFuX21jKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIHUzMiBpbmRleCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNDk4LVxcdFxcdFxcdFxcdCBzdHJ1Y3QgcnRsODM2Nl92bGFuX21jICp2bGFubWMpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNTI3LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE1Mjg6c3RhdGljIGludCBydGw4MzY2cmJfc2V0X3ZsYW5fbWMoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgdTMyIGluZGV4LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE1MjktXFx0XFx0XFx0XFx0IGNvbnN0IHN0cnVjdCBydGw4MzY2X3ZsYW5fbWMgKnZsYW5tYylcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE1NjEtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTU2MjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9nZXRfbWNfaW5kZXgoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBvcnQsIGludCAqdmFsKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE1NjMte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTU4MC1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNTgxOnN0YXRpYyBpbnQgcnRsODM2NnJiX3NldF9tY19pbmRleChzdHJ1Y3QgcmVhbHRla19wcml2ICpwcml2LCBpbnQgcG9ydCwgaW50IGluZGV4KVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE1ODIte1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE1ODMtXFx0c3RydWN0IGRzYV9zd2l0Y2ggKmRzID0gXFx1MDAyNnByaXYtXFx1MDAzZWRzO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE1ODQ6XFx0c3RydWN0IHJ0bDgzNjZyYiAqcmI7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTU4NS1cXHRib29sIHB2aWRfZW5hYmxlZDtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2MDgtXFx0aWYgKGRzYV9wb3J0X2lzX3ZsYW5fZmlsdGVyaW5nKGRzYV90b19wb3J0KGRzLCBwb3J0KSkpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTYwOTpcXHRcXHRyZXQgPSBydGw4MzY2cmJfZHJvcF91bnRhZ2dlZChwcml2LCBwb3J0LCAhcHZpZF9lbmFibGVkKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjEwLVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYxMy1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNjE0OnN0YXRpYyBib29sIHJ0bDgzNjZyYl9pc192bGFuX3ZhbGlkKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIHVuc2lnbmVkIGludCB2bGFuKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2MTUte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYyNi1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNjI3OnN0YXRpYyBpbnQgcnRsODM2NnJiX2VuYWJsZV92bGFuKHN0cnVjdCByZWFsdGVrX3ByaXYgKnByaXYsIGJvb2wgZW5hYmxlKVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2Mjgte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYzNC1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNjM1OnN0YXRpYyBpbnQgcnRsODM2NnJiX2VuYWJsZV92bGFuNGsoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgYm9vbCBlbmFibGUpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTYzNi17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjQyLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE2NDM6c3RhdGljIGludCBydGw4MzY2cmJfcGh5X3JlYWQoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBoeSwgaW50IHJlZ251bSlcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjQ0LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE2ODQtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTY4NTpzdGF0aWMgaW50IHJ0bDgzNjZyYl9waHlfd3JpdGUoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdiwgaW50IHBoeSwgaW50IHJlZ251bSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNjg2LVxcdFxcdFxcdCAgICAgICB1MTYgdmFsKVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTcxNS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzE2OnN0YXRpYyBpbnQgcnRsODM2NnJiX3Jlc2V0X2NoaXAoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzE3LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3NDEtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTc0MjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9kZXRlY3Qoc3RydWN0IHJlYWx0ZWtfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzQzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3NjQtXFx0XFx0cHJpdi1cXHUwMDNlbnVtX3ZsYW5fbWMgPSBSVEw4MzY2UkJfTlVNX1ZMQU5TO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3NjU6XFx0XFx0cHJpdi1cXHUwMDNlbWliX2NvdW50ZXJzID0gcnRsODM2NnJiX21pYl9jb3VudGVycztcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzY2OlxcdFxcdHByaXYtXFx1MDAzZW51bV9taWJfY291bnRlcnMgPSBBUlJBWV9TSVpFKHJ0bDgzNjZyYl9taWJfY291bnRlcnMpO1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE3NjctXFx0XFx0YnJlYWs7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzczLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3NzQ6XFx0cmV0ID0gcnRsODM2NnJiX3Jlc2V0X2NoaXAocHJpdik7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc3NS1cXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc4MC1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzgxOnN0YXRpYyBjb25zdCBzdHJ1Y3QgcGh5bGlua19tYWNfb3BzIHJ0bDgzNjZyYl9waHlsaW5rX21hY19vcHMgPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTc4MjpcXHQubWFjX2NvbmZpZyA9IHJ0bDgzNjZyYl9tYWNfY29uZmlnLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3ODM6XFx0Lm1hY19saW5rX2Rvd24gPSBydGw4MzY2cmJfbWFjX2xpbmtfZG93bixcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzg0OlxcdC5tYWNfbGlua191cCA9IHJ0bDgzNjZyYl9tYWNfbGlua191cCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xNzg1LX07XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc4Ni1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzg3OnN0YXRpYyBjb25zdCBzdHJ1Y3QgZHNhX3N3aXRjaF9vcHMgcnRsODM2NnJiX3N3aXRjaF9vcHMgPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc4OC1cXHQuZ2V0X3RhZ19wcm90b2NvbCA9IHJ0bDgzNjZfZ2V0X3RhZ19wcm90b2NvbCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzg5OlxcdC5zZXR1cCA9IHJ0bDgzNjZyYl9zZXR1cCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxNzkwOlxcdC5waHlsaW5rX2dldF9jYXBzID0gcnRsODM2NnJiX3BoeWxpbmtfZ2V0X2NhcHMsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc5MS1cXHQuZ2V0X3N0cmluZ3MgPSBydGw4MzY2X2dldF9zdHJpbmdzLFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc5NS1cXHQucG9ydF9icmlkZ2VfbGVhdmUgPSBydGw4M3h4X3BvcnRfYnJpZGdlX2xlYXZlLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE3OTY6XFx0LnBvcnRfdmxhbl9maWx0ZXJpbmcgPSBydGw4MzY2cmJfdmxhbl9maWx0ZXJpbmcsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc5Ny1cXHQucG9ydF92bGFuX2FkZCA9IHJ0bDgzNjZfdmxhbl9hZGQsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTc5OC1cXHQucG9ydF92bGFuX2RlbCA9IHJ0bDgzNjZfdmxhbl9kZWwsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTc5OTpcXHQucG9ydF9lbmFibGUgPSBydGw4MzY2cmJfcG9ydF9lbmFibGUsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgwMDpcXHQucG9ydF9kaXNhYmxlID0gcnRsODM2NnJiX3BvcnRfZGlzYWJsZSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODAxOlxcdC5wb3J0X3ByZV9icmlkZ2VfZmxhZ3MgPSBydGw4MzY2cmJfcG9ydF9wcmVfYnJpZGdlX2ZsYWdzLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4MDItXFx0LnBvcnRfYnJpZGdlX2ZsYWdzID0gcnRsODN4eF9wb3J0X2JyaWRnZV9mbGFncyxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODAzOlxcdC5wb3J0X3N0cF9zdGF0ZV9zZXQgPSBydGw4MzY2cmJfcG9ydF9zdHBfc3RhdGVfc2V0LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MDQ6XFx0LnBvcnRfZmFzdF9hZ2UgPSBydGw4MzY2cmJfcG9ydF9mYXN0X2FnZSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODA1OlxcdC5wb3J0X2NoYW5nZV9tdHUgPSBydGw4MzY2cmJfY2hhbmdlX210dSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODA2OlxcdC5wb3J0X21heF9tdHUgPSBydGw4MzY2cmJfbWF4X210dSxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODA3LVxcdC5wb3J0X2hzcl9qb2luID0gZHNhX3BvcnRfc2ltcGxlX2hzcl9qb2luLFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTgxMC1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODExOnN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVhbHRla19vcHMgcnRsODM2NnJiX29wcyA9IHtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODEyOlxcdC5kZXRlY3RcXHRcXHQ9IHJ0bDgzNjZyYl9kZXRlY3QsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgxMzpcXHQuZ2V0X3ZsYW5fbWNcXHQ9IHJ0bDgzNjZyYl9nZXRfdmxhbl9tYyxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODE0OlxcdC5zZXRfdmxhbl9tY1xcdD0gcnRsODM2NnJiX3NldF92bGFuX21jLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MTU6XFx0LmdldF92bGFuXzRrXFx0PSBydGw4MzY2cmJfZ2V0X3ZsYW5fNGssXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgxNjpcXHQuc2V0X3ZsYW5fNGtcXHQ9IHJ0bDgzNjZyYl9zZXRfdmxhbl80ayxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODE3OlxcdC5nZXRfbWNfaW5kZXhcXHQ9IHJ0bDgzNjZyYl9nZXRfbWNfaW5kZXgsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgxODpcXHQuc2V0X21jX2luZGV4XFx0PSBydGw4MzY2cmJfc2V0X21jX2luZGV4LFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MTk6XFx0LmdldF9taWJfY291bnRlciA9IHJ0bDgzNjZyYl9nZXRfbWliX2NvdW50ZXIsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgyMDpcXHQuaXNfdmxhbl92YWxpZFxcdD0gcnRsODM2NnJiX2lzX3ZsYW5fdmFsaWQsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgyMTpcXHQuZW5hYmxlX3ZsYW5cXHQ9IHJ0bDgzNjZyYl9lbmFibGVfdmxhbixcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODIyOlxcdC5lbmFibGVfdmxhbjRrXFx0PSBydGw4MzY2cmJfZW5hYmxlX3ZsYW40ayxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODIzOlxcdC5wb3J0X2FkZF9pc29sYXRpb24gPSBydGw4MzY2cmJfcG9ydF9hZGRfaXNvbGF0aW9uLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MjQ6XFx0LnBvcnRfcmVtb3ZlX2lzb2xhdGlvbiA9IHJ0bDgzNjZyYl9wb3J0X3JlbW92ZV9pc29sYXRpb24sXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgyNTpcXHQucG9ydF9zZXRfbGVhcm5pbmcgPSBydGw4MzY2cmJfcG9ydF9zZXRfbGVhcm5pbmcsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgyNjpcXHQucGh5X3JlYWRcXHQ9IHJ0bDgzNjZyYl9waHlfcmVhZCxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODI3OlxcdC5waHlfd3JpdGVcXHQ9IHJ0bDgzNjZyYl9waHlfd3JpdGUsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTgyOC19O1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4MjktXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgzMDpjb25zdCBzdHJ1Y3QgcmVhbHRla192YXJpYW50IHJ0bDgzNjZyYl92YXJpYW50ID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4MzE6XFx0LmRzX29wcyA9IFxcdTAwMjZydGw4MzY2cmJfc3dpdGNoX29wcyxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODMyOlxcdC5vcHMgPSBcXHUwMDI2cnRsODM2NnJiX29wcyxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODMzOlxcdC5waHlsaW5rX21hY19vcHMgPSBcXHUwMDI2cnRsODM2NnJiX3BoeWxpbmtfbWFjX29wcyxcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODM0LVxcdC5jbGtfZGVsYXkgPSAxMCxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4MzYtXFx0LmNtZF93cml0ZSA9IDB4YTgsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTgzNzpcXHQuY2hpcF9kYXRhX3N6ID0gc2l6ZW9mKHN0cnVjdCBydGw4MzY2cmIpLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4MzgtfTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODM5LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDA6c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcnRsODM2NnJiX29mX21hdGNoW10gPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg0MTpcXHR7IC5jb21wYXRpYmxlID0gXFxcInJlYWx0ZWsscnRsODM2NnJiXFxcIiwgLmRhdGEgPSBcXHUwMDI2cnRsODM2NnJiX3ZhcmlhbnQsIH0sXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg0Mi1cXHR7IC8qIHNlbnRpbmVsICovIH0sXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg0My19O1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDQ6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcnRsODM2NnJiX29mX21hdGNoKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODQ1LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDY6c3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgcnRsODM2NnJiX3NtaV9kcml2ZXIgPSB7XFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg0Ny1cXHQuZHJpdmVyID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NDg6XFx0XFx0Lm5hbWUgPSBcXFwicnRsODM2NnJiLXNtaVxcXCIsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg0OTpcXHRcXHQub2ZfbWF0Y2hfdGFibGUgPSBydGw4MzY2cmJfb2ZfbWF0Y2gsXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg1MC1cXHR9LFxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg1NS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYzoxODU2OnN0YXRpYyBzdHJ1Y3QgbWRpb19kcml2ZXIgcnRsODM2NnJiX21kaW9fZHJpdmVyID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NTctXFx0Lm1kaW9kcnYuZHJpdmVyID0ge1xcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NTg6XFx0XFx0Lm5hbWUgPSBcXFwicnRsODM2NnJiLW1kaW9cXFwiLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NTk6XFx0XFx0Lm9mX21hdGNoX3RhYmxlID0gcnRsODM2NnJiX29mX21hdGNoLFxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NjAtXFx0fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jLTE4NjUtXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmM6MTg2NjpzdGF0aWMgaW50IHJ0bDgzNjZyYl9pbml0KHZvaWQpXFxuZHJpdmVycy9uZXQvZHNhL3JlYWx0ZWsvcnRsODM2NnJiLmMtMTg2Ny17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODY5LVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NzA6XFx0cmV0ID0gcmVhbHRla19tZGlvX2RyaXZlcl9yZWdpc3RlcihcXHUwMDI2cnRsODM2NnJiX21kaW9fZHJpdmVyKTtcXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODcxLVxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvcmVhbHRlay9ydGw4MzY2cmIuYy0xODczLVxcbmRyaXZlcnMvbmV0L2RzYS9yZWFsdGVrL3J0bDgzNjZyYi5jOjE4NzQ6XFx0cmV0ID0gcmVhbHRla19zbWlfZHJpdmVyX3JlZ2lzdGVyKFxcdTAwMjZydGw4MzY2cmJfc21pX2RyaXZlcik7XFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDA2OjAwOjA0LjgzNDU2MDk4OFoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjEwNTA3MTcxMjUwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKlVucmVhY2hhYmxlIENvZGUgQW5hbHlzaXM6IHJ0bDgzNjZyYiBEcml2ZXIqKlxuXG5Pa2F5LCBsZXQncyB0aGluayB0aGlzIHRocm91Z2guIFRoZSBgcnRsODM2NnJiYCBkcml2ZXIsIGl0J3MgYSBwbGF0Zm9ybSBhbmQgTURJTyBkcml2ZXIsIHdoaWNoIG1lYW5zIGl0IHJlbGllcyBvbiBhIHNwZWNpZmljIGRldmljZSB0cmVlIGVudHJ5IHdpdGggdGhlIGByZWFsdGVrLHJ0bDgzNjZyYmAgY29tcGF0aWJsZSBzdHJpbmcgdG8gZXZlbiBnZXQgaW5pdGlhbGl6ZWQuIEkga25vdyBRRU1VIGRvZXNuJ3QgZW11bGF0ZSB0aGlzIHBhcnRpY3VsYXIgUmVhbHRlayBEU0Egc3dpdGNoLCBhbmQgRFNBIHN3aXRjaGVzIGFyZSB1c3VhbGx5IHNldCB1cCB0aHJvdWdoIHRoZSBkZXZpY2UgdHJlZSBvbiBzcGVjaWZpYyBlbWJlZGRlZCBzeXN0ZW1zIGxpa2UgdGhlIEJlbGtpbiBGNUQ4MjM1IGFuZCBOZXRnZWFyIERHTjM1MDAsIHdoaWNoIGFyZSBkZWZpbml0ZWx5IG5vdCBpbiBteSB1c3VhbCB0ZXN0IHNldHVwLiBTbywgdGhhdCBtZWFucyB0aGUgYHJ0bDgzNjZyYl9zZXR1cGAgZnVuY3Rpb24gaXNuJ3QgZ29pbmcgdG8gYmUgY2FsbGVkLCBldmVyLCBpbiBteSBlbnZpcm9ubWVudC5cblxuSG1tLCBjYW4gU3l6a2FsbGVyIGluamVjdCBzb21lIGtpbmQgb2YgZmFrZSBNRElPIG9yIHBsYXRmb3JtIGRldmljZT8gUG90ZW50aWFsbHksIEkndmUgc2VlbiBTeXprYWxsZXIgbWVzcyB3aXRoIGRldmljZSBpbmplY3Rpb24gdXNpbmcgYHN5el9kZXZsaW5rYCBhbmQgc2ltaWxhciB0b29scywgYnV0IGl0J3Mgbm90IHN0cmFpZ2h0Zm9yd2FyZCBmb3IgTURJTyBvciBTTUkgZGV2aWNlcywgcmlnaHQ/IEVzcGVjaWFsbHkgd2l0aG91dCBzb21lIGtpbmQgb2YgcHNldWRvLWRldmljZSB0byBob29rIGludG8uIEkgd2FzIHRoaW5raW5nIG1heWJlIFN5emthbGxlciBjb3VsZCBjcmVhdGUgcGxhdGZvcm0gZGV2aWNlcyBkaXJlY3RseSB0aHJvdWdoIHRoZSBgL3N5cy9kZXZpY2VzL3BsYXRmb3JtYCBkaXJlY3RvcnksIGJ1dCB0aGF04oCZcyBub3QgcmVhbGx5IGhvdyBpdCB3b3Jrcy4gU3l6a2FsbGVyIGRvZXNuJ3QgaGF2ZSBhIGdlbmVyaWMgd2F5IHRvIGluc3RhbnRpYXRlIHJhbmRvbSBwbGF0Zm9ybSBkZXZpY2VzIHVubGVzcyBhIHBzZXVkby1kZXZpY2UgZHJpdmVyIGV4cGxpY2l0bHkgc3VwcG9ydHMgaXQgKGxpa2UgYG1hYzgwMjExX2h3c2ltYCBvciBgdmttc2AsIGV0Yy4pLCBvciBtYXliZSB0aHJvdWdoIGRldmljZSB0cmVlIG92ZXJsYXlzLCBidXQgSSBkb24ndCB0aGluayBTeXprYWxsZXIgZG9lcyBkeW5hbWljIG92ZXJsYXlzIGZvciB3aGF0ZXZlciBkZXZpY2UgSSB3YW50IHRvIHRlc3QuIFdhaXQsIGRpZCBJIG1pc3Mgc29tZXRoaW5nPyBJIGRvbid0IHRoaW5rIFN5emthbGxlciBjYW4gaW5qZWN0IHBsYXRmb3JtIGRldmljZXMgdmlhIGBzeXpfcGxhdGZvcm1fZGV2aWNlX2FkZGAgb3IgYW55dGhpbmcgbGlrZSB0aGF0LiBObywgdGhlcmUncyBubyBzdWNoIGNhbGwuXG5cbkxldCdzIHN0ZXAgYmFjayBhbmQgY2hlY2sgd2hldGhlciB0aGlzIGNvZGUgaXMgZXZlbiByZWFjaGFibGUuIFRoZSBkcml2ZXIgaXMgZm9yIGEgUmVhbHRlayBEU0Egc3dpdGNoLiBUaGUgcGF0Y2ggSSdtIGxvb2tpbmcgYXQgbW9kaWZpZXMgYHJ0bDgzNjZyYl9wb3J0X3NldF9pc29sYXRpb25gIGFuZCBgcnRsODM2NnJiX3NldHVwYCwgd2hpY2ggYXJlIHNwZWNpZmljIHRvIHRoaXMgaGFyZHdhcmUuIFNpbmNlIHRoaXMgaGFyZHdhcmUgaXNuJ3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UgZW52aXJvbm1lbnRzLCBpdCdzIG5vdCByZWFjaGFibGUuIFRoZSBwYXRjaCBjb2RlIGlzIG5vdCBnb2luZyB0byBiZSB0b3VjaGVkLlxuXG5BbHJpZ2h0LCBsZXQncyBkb3VibGUtY2hlY2sgaG93IHRoaXMgZHJpdmVyIHByb2Jlcy4gSXQgcmVnaXN0ZXJzIGJvdGggYHJ0bDgzNjZyYl9zbWlfZHJpdmVyYCAocGxhdGZvcm0pIGFuZCBgcnRsODM2NnJiX21kaW9fZHJpdmVyYCAobWRpbykuIFRoZXkgYm90aCByZWx5IG9uIGAub2ZfbWF0Y2hfdGFibGUgPSBydGw4MzY2cmJfb2ZfbWF0Y2hgLiBXaXRob3V0IHRoZSBjb3JyZWN0IGhhcmR3YXJlIG9yIHRoZSBwcm9wZXIgZGV2aWNlIHRyZWUgbm9kZSwgdGhlIHByb2JlIGZ1bmN0aW9uIGRvZXNuJ3QgZ2V0IGNhbGxlZCBhbmQgdGhpcyBkcml2ZXIgaXMgdW5yZWFjaGFibGUuIEl0J3MgYSBkZWFkIGVuZC5cblxuVGhlcmVmb3JlLCBXb3J0aEZ1enppbmc9ZmFsc2UuIEknbSByZWFzb25hYmx5IGNvbmZpZGVudCB0aGUgY2hhbmdlcyBhcmUgaW4gY29kZSB0aGF0J3Mgbm90IHJlYWNoYWJsZSB1bmRlciB0aGUgY29uZGl0aW9ucyBJJ20gZnV6emluZy4gVGhlIHBhdGNoIG1vZGlmaWVzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciB0aGUgUmVhbHRlayBSVEw4MzY2UkIgRFNBIHN3aXRjaC4gU2luY2UgdGhhdCBkZXZpY2UgaXNuJ3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgZW52aXJvbm1lbnRzLCBhbmQgdGhlIGRyaXZlciByZWxpZXMgb24gc3BlY2lmaWMgZGV2aWNlIHRyZWUgbm9kZXMgb3IgaGFyZHdhcmUgdG8gcHJvYmUsIHRoZSBtb2RpZmllZCBjb2RlIGNhbid0IGJlIHJlYWNoZWQgZHVyaW5nIGZ1enppbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE4NzM3LCJPdXRwdXRUb2tlbnMiOjkwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NjQxLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDA2OjAwOjE1LjM0MTczNjE0OVoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzAzNjksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIHRoZSBSZWFsdGVrIFJUTDgzNjZSQiBEU0Egc3dpdGNoLiBUaGlzIGRldmljZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS9HQ0UgZW52aXJvbm1lbnRzLCBhbmQgdGhlIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBkZXZpY2UgdHJlZSBub2RlcyBvciBoYXJkd2FyZSB0byBwcm9iZSwgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIHRoZSBSZWFsdGVrIFJUTDgzNjZSQiBEU0Egc3dpdGNoLiBUaGlzIGRldmljZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS9HQ0UgZW52aXJvbm1lbnRzLCBhbmQgdGhlIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBkZXZpY2UgdHJlZSBub2RlcyBvciBoYXJkd2FyZSB0byBwcm9iZSwgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowt6cdx[1] Phase: Running StartedAt: 2026-08-02 06:00:26 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowt6cdx[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-08-02 06:00:27 +0000 UTC FinishedAt: 2026-08-02 06:00:46 +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,}