2026-05-12 15:48:08 -05:00
|
|
|
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwoiIiIKUGxhdWQgTUNQIFNlcnZlciBmb3IgTVBNCkNvbm5lY3RzIHRvIHRoZSBQbGF1ZCBBUEkgYW5kIGV4cG9zZXMgdG9vbHMgZm9yIGxpc3RpbmcsIHNlYXJjaGluZywKYW5kIHJlYWRpbmcgdHJhbnNjcmlwdHMsIHN1bW1hcmllcywgYW5kIG5vdGVzIGZyb20gUGxhdWQgcmVjb3JkaW5ncy4KCkNyZWRlbnRpYWxzIChjaGVja2VkIGluIG9yZGVyKToKICAxLiBQTEFVRF9UT0tFTiBlbnZpcm9ubWVudCB2YXJpYWJsZQogIDIuIH4vLnBsYXVkL3Rva2Vucy1tY3AuanNvbiAgKGRlc2t0b3AgYXBwIGF1dGhUb2tlbiDigJQgdmFsaWQgfjYgbW9udGhzKQogIDMuIH4vLnBsYXVkL2NvbmZpZy5qc29uICAgICAgKG1hbnVhbGx5IGltcG9ydGVkIDI0LWhvdXIgd2ViIHRva2VuKQoKVG8gcmVuZXc6IHJlLXJ1biBwbGF1ZF9kZWNyeXB0X3Rva2Vucy5weSBmcm9tIHRoZSBDbGF1ZGUgQ29Xb3JrIGZvbGRlci4KIiIiCgppbXBvcnQgZ3ppcAppbXBvcnQganNvbgppbXBvcnQgb3MKaW1wb3J0IHN1YnByb2Nlc3MKaW1wb3J0IHVybGxpYi5wYXJzZQpmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZXpvbmUKZnJvbSBwYXRobGliIGltcG9ydCBQYXRoCmZyb20gdHlwaW5nIGltcG9ydCBPcHRpb25hbAoKZnJvbSBtY3Auc2VydmVyLmZhc3RtY3AgaW1wb3J0IEZhc3RNQ1AKCiMg4pSA4pSAIENvbmZpZ3VyYXRpb24g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAClBMQVVEX1JFR0lPTiA9IG9zLmVudmlyb24uZ2V0KCJQTEFVRF9SRUdJT04iLCAidXMiKQpCQVNFX1VSTCA9ICJodHRwczovL2FwaS5wbGF1ZC5ldSIgaWYgUExBVURfUkVHSU9OID09ICJldSIgZWxzZSAiaHR0cHM6Ly9hcGkucGxhdWQuYWkiCkNPTkZJR19QQVRIICAgICAgPSBQYXRoLmhvbWUoKSAvICIucGxhdWQiIC8gImNvbmZpZy5qc29uIgpUT0tFTlNfTUNQX1BBVEggID0gUGF0aC5ob21lKCkgLyAiLnBsYXVkIiAvICJ0b2tlbnMtbWNwLmpzb24iCgoKIyDilIDilIAgVG9rZW4gcmVzb2x1dGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKCmRlZiBfbG9hZF90b2tlbigpIC0+IE9wdGlvbmFsW3N0cl06CiAgICAjIDEuIEVudmlyb25tZW50IHZhcmlhYmxlIG92ZXJyaWRlCiAgICBlbnZfdG9rZW4gPSBvcy5lbnZpcm9uLmdldCgiUExBVURfVE9LRU4iLCAiIikuc3RyaXAoKQogICAgaWYgZW52X3Rva2VuOgogICAgICAgIHJldHVybiBlbnZfdG9rZW4KCiAgICAjIDIuIHRva2Vucy1tY3AuanNvbiDigJQgZGVza3RvcCBhcHAgYXV0aFRva2VuICh+Ni1tb250aCBleHBpcnkpCiAgICAjICAgIFdyaXR0ZW4gYnkgcGxhdWRfZGVjcnlwdF90b2tlbnMucHk7IHJlbmV3IGJ5IHJlLXJ1bm5pbmcgdGhhdCBzY3JpcHQuCiAgICBpZiBUT0tFTlNfTUNQX1BBVEguZXhpc3RzKCk6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBkYXRhID0ganNvbi5sb2FkcyhUT0tFTlNfTUNQX1BBVEgucmVhZF90ZXh0KCkpCiAgICAgICAgICAgIHQgPSBkYXRhLmdldCgiYWNjZXNzX3Rva2VuIiwgIiIpLnN0cmlwKCkKICAgICAgICAgICAgaWYgdDoKICAgICAgICAgICAgICAgIHJldHVybiB0CiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgcGFzcwoKICAgICMgMy4gY29uZmlnLmpzb24g4oCUIG1hbnVhbGx5IGltcG9ydGVkIDI0LWhvdXIgd2ViIHRva2VuIChsZWdhY3kgZmFsbGJhY2spCiAgICBpZiBDT05GSUdfUEFUSC5leGlzdHMoKToKICAgICAgICB0cnk6CiAgICAgICAgICAgIGRhdGEgPSBqc29uLmxvYWRzKENPTkZJR19QQVRILnJlYWRfdGV4dCgpKQogICAgICAgICAgICB0b2tlbl9ibG9jayA9IGRhdGEuZ2V0KCJ0b2tlbiIpCiAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodG9rZW5fYmxvY2ssIGRpY3QpOgogICAgICAgICAgICAgICAgdCA9ICh0b2tlbl9ibG9jay5nZXQoInRva2VuIikgb3IgdG9rZW5fYmxvY2suZ2V0KCJhY2Nlc3NUb2tlbiIpIG9yICIiKS5zdHJpcCgpCiAgICAgICAgICAgICAgICBpZiB0OgogICAgICAgICAgICAgICAgICAgIHJldHVybiB0CiAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodG9rZW5fYmxvY2ssIHN0cikgYW5kIHRva2VuX2Jsb2NrLnN0cmlwKCk6CiAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5fYmxvY2suc3RyaXAoKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgIHBhc3MKCiAgICByZXR1cm4gTm9uZQoKCmRlZiBfZ2V0X3Rva2VuKCkgLT4gc3RyOgogICAgdG9rZW4gPSBfbG9hZF90b2tlbigpCiAgICBpZiBub3QgdG9rZW46CiAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKAogICAgICAgICAgICAiTm8gUGxhdWQgdG9rZW4gZm91bmQuIFJ1biB0aGUgcGxhdWQtY29ubmVjdG9yIGltcG9ydC10b2tlbiBjb21tYW5kICIKICAgICAgICAgICAgIm9yIHNldCB0aGUgUExBVURfVE9LRU4gZW52aXJvbm1lbnQgdmFyaWFibGUuIgogICAgICAgICkKICAgIHJldHVybiB0b2tlbgoKCiMg4pSA4pSAIEhUVFAgaGVscGVycyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKCmRlZiBfYXBpX2dldChwYXRoOiBzdHIsIHBhcmFtczogT3B0aW9uYWxbZGljdF0gPSBOb25lKSAtPiBkaWN0OgogICAgIiIiR0VUIHJlcXVlc3Q
|