[LyX/master] Add support for parfill(skip) (#12949)

Juergen Spitzmueller <[email protected]> Sun, 02 Aug 2026 10:22:25 +0000
Newsgroups gmane.editors.lyx.cvs
Message-ID <[email protected]>
Y29tbWl0IGQ0OTdkZGUxZTA2ODA5YzZjYWEzYjJiYjRhZjY0NzA4MmJmYTQ4MGEKQXV0aG9yOiBK
dWVyZ2VuIFNwaXR6bXVlbGxlciA8c3BpdHpAbHl4Lm9yZz4KRGF0ZTogICBTdW4gQXVnIDIgMTI6
MjE6NTAgMjAyNiArMDIwMAoKICAgIEFkZCBzdXBwb3J0IGZvciBwYXJmaWxsKHNraXApICgjMTI5
NDkpCiAgICAKICAgIEZpbGUgZm9ybWF0IGNoYW5nZQotLS0KIGRldmVsb3BtZW50L0ZPUk1BVCAg
ICAgICAgICAgICAgICAgIHwgICA3ICsrCiBsaWIvZG9jL0N1c3RvbWl6YXRpb24ubHl4ICAgICAg
ICAgICB8IDI0MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi9kb2Mv
ZGUvQ3VzdG9taXphdGlvbi5seXggICAgICAgIHwgMTgxICsrKysrKysrKysrKysrKysrKysrKysr
KysrKwogbGliL2xheW91dHMvc2NyY2xhc3MuaW5jICAgICAgICAgICAgfCAgIDMgKwogbGliL2x5
eDJseXgvbHl4XzJfNi5weSAgICAgICAgICAgICAgfCAgMzggKysrKystCiBzcmMvQnVmZmVyUGFy
YW1zLmNwcCAgICAgICAgICAgICAgICB8IDEzOCArKysrKysrKysrKysrKysrKysrLQogc3JjL0J1
ZmZlclBhcmFtcy5oICAgICAgICAgICAgICAgICAgfCAgMjIgKysrKwogc3JjL1RleHRDbGFzcy5j
cHAgICAgICAgICAgICAgICAgICAgfCAgMTkgKysrCiBzcmMvVGV4dENsYXNzLmggICAgICAgICAg
ICAgICAgICAgICB8ICAxMiArKwogc3JjL2Zyb250ZW5kcy9xdC9HdWlEb2N1bWVudC5jcHAgICAg
fCAgNDkgKysrKysrKysKIHNyYy9mcm9udGVuZHMvcXQvR3VpRG9jdW1lbnQuaCAgICAgIHwgICAx
ICsKIHNyYy9mcm9udGVuZHMvcXQvTGVuZ3RoQ29tYm8uY3BwICAgIHwgICA1ICstCiBzcmMvZnJv
bnRlbmRzL3F0L3VpL1RleHRMYXlvdXRVaS51aSB8ICA3OSArKysrKysrKysrLS0KIHNyYy9zdXBw
b3J0L0xlbmd0aC5jcHAgICAgICAgICAgICAgIHwgICAyICsKIHNyYy9zdXBwb3J0L0xlbmd0aC5o
ICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9zdXBwb3J0L2xlbmd0aGNvbW1vbi5jcHAgICAg
ICAgIHwgICA0ICstCiBzcmMvdmVyc2lvbi5oICAgICAgICAgICAgICAgICAgICAgICB8ICAgNCAr
LQogMTcgZmlsZXMgY2hhbmdlZCwgNzkxIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL2RldmVsb3BtZW50L0ZPUk1BVCBiL2RldmVsb3BtZW50L0ZPUk1BVAppbmRl
eCAwZTllOTVmMDEyLi4yMWJhZDU3OWVkIDEwMDY0NAotLS0gYS9kZXZlbG9wbWVudC9GT1JNQVQK
KysrIGIvZGV2ZWxvcG1lbnQvRk9STUFUCkBAIC03LDYgKzcsMTMgQEAgY2hhbmdlcyBoYXBwZW5l
ZCBpbiBwYXJ0aWN1bGFyIGlmIHBvc3NpYmxlLiBBIGdvb2QgZXhhbXBsZSB3b3VsZCBiZQogCiAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCisyMDI2LTA4LTAyIErDvHJnZW4gU3BpdHptw7xsbGVy
IDxzcGl0ekBseXgub3JnPgorCSogRm9ybWF0IGluY3JlbWVudGVkIHRvIDY1NjogU3VwcG9ydCBm
b3IgcGFyZmlsbHNraXAKKwkgIE5ldyBidWZmZXIgcGFyYW0gXHBhcmZpbGxza2lwICI8dHlwZT4i
ICI8Z2x1ZSBsZW5ndGg+IgorCSAgd2hlcmUgPHR5cGU+IGlzIGVpdGhlciBvZiAiZGVmYXVsdCIs
ICJub25lIiwgInRoaXJkbGluZSIsCisJICAicXVhcnRlcmxpbmUiIG9yICJjdXN0b20iLCBhbmQg
PGdsdWUgbGVuZ3RoPiBpcyBvbmx5IHVzZWQKKwkgIGluIHRoZSBjdXN0b20gY2FzZSAob3RoZXJ3
aXNlIGFuIGVtcHR5IHN0cmluZykuCisKIDIwMjYtMDctMzAgS29qaSBZb2tvdGEgPHlva290YUBs
eXgub3JnPgogCSogRm9ybWF0IGluY3JlbWVudGVkIHRvIDY1NToKIAkgIFN1cHBvcnQgQVJHQiBj
b2xvcnMuIFxjb2xvciBub3cgdGFrZXMgMzJiaXQgaGV4bmFtZXMgaW5zdGVhZCBvZiAxNmJpdApk
aWZmIC0tZ2l0IGEvbGliL2RvYy9DdXN0b21pemF0aW9uLmx5eCBiL2xpYi9kb2MvQ3VzdG9taXph
dGlvbi5seXgKaW5kZXggNmQ2NmY0NWFhMi4uYzRlMzk2YjM4ZiAxMDA2NDQKLS0tIGEvbGliL2Rv
Yy9DdXN0b21pemF0aW9uLmx5eAorKysgYi9saWIvZG9jL0N1c3RvbWl6YXRpb24ubHl4CkBAIC0x
MjU5Myw2ICsxMjU5MywyNDMgQEAgcGFyc2tpcD1oYWxmCiBwYXJza2lwCiBcZW1waCBkZWZhdWx0
CiAgcGFja2FnZS4KK1xjaGFuZ2VfaW5zZXJ0ZWQgLTcxMjY5ODMyMSAxNzg1NjY0Mjk3CisKK1xl
bmRfbGF5b3V0CisKK1xiZWdpbl9sYXlvdXQgRGVzY3JpcHRpb24KKworXGNoYW5nZV9pbnNlcnRl
ZCAtNzEyNjk4MzIxIDE3ODU2NjUxNjAKK1xiZWdpbl9pbnNldCBGbGV4IENvZGUKK3N0YXR1cyBj
b2xsYXBzZWQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRl
ZCAtNzEyNjk4MzIxIDE3ODU2NjQzMTcKK1BhcmZpbGxza2lwTm9uZQorXGVuZF9sYXlvdXQKKwor
XGVuZF9pbnNldAorCisgWworXGJlZ2luX2luc2V0IEZsZXggQ29kZQorc3RhdHVzIGNvbGxhcHNl
ZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIC03MTI2
OTgzMjEgMTc4NTY2NDI5Nworc3RyaW5nCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisKK10g
SWYgdGhlIGNsYXNzIGhhcyBhbiBvcHRpb24gdG8gc2V0IAorXGJlZ2luX2luc2V0IEZsZXggQ29k
ZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hh
bmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTY2NTE2MAorcGFyZmlsbHNraXAKK1xjaGFuZ2Vf
dW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKworIHRvIHplcm8sCisgc3Bl
Y2lmeSBpdCBoZXJlIChlLmcuLAorIAorXGJlZ2luX2luc2V0IEZsZXggQ29kZQorc3RhdHVzIGNv
bGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVk
IC03MTI2OTgzMjEgMTc4NTY2NDM4NworcGFyZnVsbHNraXA9bm9uZQorXGVuZF9sYXlvdXQKKwor
XGVuZF9pbnNldAorCispLgorIFRoaXMgdGhlbiBvdXRwdXRzIHRoZSBvcHRpb24gcmF0aGVyIHRo
YW4gdXNpbmcgdGhlIAorXGVtcGggb24KK3BhcnNraXAKK1xlbXBoIGRlZmF1bHQKKyBwYWNrYWdl
LgorIElmIHRoZSBvcHRpb24gaXMgY29tYmluZWQgd2l0aCB0aGUgcGFyc2tpcCBvcHRpb24gKGFz
IGluIEtPTUEgY2xhc3NlcyksCisgeW91IGNhbiB1c2UgdGhlIAorXGJlZ2luX2luc2V0IEZsZXgg
Q29kZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitc
Y2hhbmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTY2NDUyNAorJCRQU09QVAorXGNoYW5nZV91
bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorCisgcGxhY2Vob2xkZXIgKGUu
Zy4sCisgCitcYmVnaW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdp
bl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgLTcxMjY5ODMyMSAxNzg1
NjY0NTM0CiskJFBTT1BULQorXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVu
ZF9pbnNldAorCisgaW4gS09NQSByZXN1bHRzIGluIAorXGJlZ2luX2luc2V0IEZsZXggQ29kZQor
c3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdl
X2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTY2NDU0MgorcGFyc2tpcD1mdWxsLQorXGNoYW5nZV91
bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorCisgdG9nZXRoZXIgd2l0aCAK
K1xiZWdpbl9pbnNldCBGbGV4IENvZGUKK3N0YXR1cyBjb2xsYXBzZWQKKworXGJlZ2luX2xheW91
dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAtNzEyNjk4MzIxIDE3ODU2NjQ1MDcK
K1BhcnNraXBGdWxsIHBhcnNraXA9ZnVsbAorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorCisp
LgorXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGJlZ2luX2xheW91dCBEZXNj
cmlwdGlvbgorCitcY2hhbmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTY2NTE3MgorXGJlZ2lu
X2luc2V0IEZsZXggQ29kZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWlu
IExheW91dAorCitcY2hhbmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTY2NDMyNgorUGFyZmls
bHNraXBRdWFydGVyCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisKKyBbCitcYmVnaW5faW5z
ZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5
b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgLTcxMjY5ODMyMSAxNzg1NjY0Mjk3CitzdHJpbmcKK1xl
bmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKworXSBTaW1pbGFyIHRoYW4gCitcYmVnaW5faW5zZXQg
RmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0
CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgLTcxMjY5ODMyMSAxNzg1NjY0NTc0CitQYXJmaWxsc2tpcE5v
bmUKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKworLAorIGJ1dCBmb3IgCitcYmVnaW5faW5z
ZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5
b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgLTcxMjY5ODMyMSAxNzg1NjY1MTcyCitwYXJmaWxsc2tp
cAorXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorCisgb2Yg
YSBxdWFydGVyIG9mIHRoZSBsaW5lLgorXGVuZF9sYXlvdXQKKworXGJlZ2luX2xheW91dCBEZXNj
cmlwdGlvbgorCitcY2hhbmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTY2NTE3OQorXGJlZ2lu
X2luc2V0IEZsZXggQ29kZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWlu
IExheW91dAorCitcY2hhbmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTY2NDMzNworUGFyZmls
bHNraXBUaGlyZAorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorCisgWworXGJlZ2luX2luc2V0
IEZsZXggQ29kZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91
dAorCitcY2hhbmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTY2NDMzMQorc3RyaW5nCitcZW5k
X2xheW91dAorCitcZW5kX2luc2V0CisKK10gU2ltaWxhciB0aGFuIAorXGJlZ2luX2luc2V0IEZs
ZXggQ29kZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAor
CitcY2hhbmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTY2NDYwMgorUGFyZmlsbHNraXBOb25l
CitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisKKywKKyBidXQgZm9yIAorXGJlZ2luX2luc2V0
IEZsZXggQ29kZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91
dAorCitcY2hhbmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTY2NTE3OQorcGFyZmlsbHNraXAK
K1xjaGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKworIG9mIGEg
dGhpcmQgb2YgdGhlIGxpbmUuCitcY2hhbmdlX3VuY2hhbmdlZAorCiBcZW5kX2xheW91dAogCiBc
YmVnaW5fbGF5b3V0IERlc2NyaXB0aW9uCkBAIC0yNDM1NSw2ICsyNDU5Miw4IEBAIHN0YXR1cyBj
b2xsYXBzZWQKIAogXGNoYW5nZV9pbnNlcnRlZCAtNzEyNjk4MzIxIDE3ODMxNDU2NDYKIElzSW5o
ZXJpdGVkCitcY2hhbmdlX3VuY2hhbmdlZAorCiBcZW5kX2xheW91dAogCiBcZW5kX2luc2V0CkBA
IC0yNDM2OSw2ICsyNDYwOCw4IEBAIHN0YXR1cyBjb2xsYXBzZWQKIAogXGVtcGggb24KIDAKK1xj
aGFuZ2VfdW5jaGFuZ2VkCisKIFxlbmRfbGF5b3V0CiAKIFxlbmRfaW5zZXQKQEAgLTI0Mzg1LDYg
KzI0NjI2LDggQEAgc3RhdHVzIGNvbGxhcHNlZAogCiBcY2hhbmdlX2luc2VydGVkIC03MTI2OTgz
MjEgMTc4MzE0NTYzOAogMQorXGNoYW5nZV91bmNoYW5nZWQKKwogXGVuZF9sYXlvdXQKIAogXGVu
ZF9pbnNldApkaWZmIC0tZ2l0IGEvbGliL2RvYy9kZS9DdXN0b21pemF0aW9uLmx5eCBiL2xpYi9k
b2MvZGUvQ3VzdG9taXphdGlvbi5seXgKaW5kZXggNzQ4YzhiMjdiMi4uNWVmZWQyZjIwZSAxMDA2
NDQKLS0tIGEvbGliL2RvYy9kZS9DdXN0b21pemF0aW9uLmx5eAorKysgYi9saWIvZG9jL2RlL0N1
c3RvbWl6YXRpb24ubHl4CkBAIC0xMTA1NSw2ICsxMTA1NSwxODcgQEAgcGFyc2tpcAogIGRpZXNl
IE9wdGlvbiB2ZXJ3ZW5kZXQuCiBcZW5kX2xheW91dAogCitcYmVnaW5fbGF5b3V0IERlc2NyaXB0
aW9uCitcYmVnaW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9s
YXlvdXQgUGxhaW4gTGF5b3V0CitQYXJmaWxsc2tpcE5vbmUKK1xlbmRfbGF5b3V0CisKK1xlbmRf
aW5zZXQKKworIFsKK1xiZWdpbl9pbnNldCBGbGV4IENvZGUKK3N0YXR1cyBjb2xsYXBzZWQKKwor
XGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKK3N0cmluZworXGVuZF9sYXlvdXQKKworXGVuZF9p
bnNldAorCitdIEZhbGxzIGRpZSBEb2t1bWVudGtsYXNzZSBlaW5lIE9wdGlvbiB6dW0gU2V0emVu
IGRlcyBXZXJ0cyB2b24gCitcYmVnaW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2Vk
CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CitwYXJmaWxsc2tpcAorXGVuZF9sYXlvdXQK
KworXGVuZF9pbnNldAorCisgYXVmIE51bGwsCisgZ2ViZW4gU2llIGRpZXNlIGhpZXIgYW4gKGJz
cHcuCisgCitcYmVnaW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdp
bl9sYXlvdXQgUGxhaW4gTGF5b3V0CitwYXJmdWxsc2tpcD1ub25lCitcZW5kX2xheW91dAorCitc
ZW5kX2luc2V0CisKKykuCisgRGFubiB3aXJkIHN0YXR0IGRlcyBQYWtldHMgCitcZW1waCBvbgor
cGFyc2tpcAorXGVtcGggZGVmYXVsdAorIGRpZXNlIE9wdGlvbiB2ZXJ3ZW5kZXQuCisgRmFsbHMg
ZGllIE9wdGlvbiBtaXQgZGVyIFBhcnNraXAtT3B0aW9uIGtvbWJpbmllcnQgaXN0ICh3aWUgaW4g
ZGVuIEtPTUEtS2xhc3NlbiksCisga8O2bm5lbiBTaWUgZGVuIFBsYXR6aGFsdGVyIAorXGJlZ2lu
X2luc2V0IEZsZXggQ29kZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWlu
IExheW91dAorJCRQU09QVAorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorCisgdmVyd2VuZGVu
IChic3B3LgorIHJlc3VsdGllcnQgCitcYmVnaW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29s
bGFwc2VkCisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CiskJFBTT1BULQorXGVuZF9sYXlv
dXQKKworXGVuZF9pbnNldAorCisgaW4gS09NQSB6dXNhbW1lbiAKK1xiZWdpbl9pbnNldCBGbGV4
IENvZGUKK3N0YXR1cyBjb2xsYXBzZWQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKK1Bh
cnNraXBGdWxsIHBhcnNraXA9ZnVsbAorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorCisgaW4g
CitcYmVnaW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9sYXlv
dXQgUGxhaW4gTGF5b3V0CitwYXJza2lwPWZ1bGwtCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0
CisKKyApLgorXGVuZF9sYXlvdXQKKworXGJlZ2luX2xheW91dCBEZXNjcmlwdGlvbgorXGJlZ2lu
X2luc2V0IEZsZXggQ29kZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWlu
IExheW91dAorUGFyZmlsbHNraXBRdWFydGVyCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisK
KyBbCitcYmVnaW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9s
YXlvdXQgUGxhaW4gTGF5b3V0CitzdHJpbmcKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKwor
XSDDhGhubGljaCB3aWUgCitcYmVnaW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2Vk
CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CitQYXJmaWxsc2tpcE5vbmUKK1xlbmRfbGF5
b3V0CisKK1xlbmRfaW5zZXQKKworLAorIGFiZXIgZsO8ciAKK1xiZWdpbl9pbnNldCBGbGV4IENv
ZGUKK3N0YXR1cyBjb2xsYXBzZWQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKK3BhcmZp
bGxza2lwCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisKKyBtaXQgZWluZW0gVmllcnRlbCBk
ZXIgWmVpbGUuCitcZW5kX2xheW91dAorCitcYmVnaW5fbGF5b3V0IERlc2NyaXB0aW9uCitcYmVn
aW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9sYXlvdXQgUGxh
aW4gTGF5b3V0CitQYXJmaWxsc2tpcFRoaXJkCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisK
KyBbCitcYmVnaW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9s
YXlvdXQgUGxhaW4gTGF5b3V0CitzdHJpbmcKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKwor
XSDDhGhubGljaCB3aWUgCitcYmVnaW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2Vk
CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CitQYXJmaWxsc2tpcE5vbmUKK1xlbmRfbGF5
b3V0CisKK1xlbmRfaW5zZXQKKworLAorIGFiZXIgZsO8ciAKK1xiZWdpbl9pbnNldCBGbGV4IENv
ZGUKK3N0YXR1cyBjb2xsYXBzZWQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKK3BhcmZp
bGxza2lwCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisKKyBtaXQgZWluZW0gRHJpdHRlbCBk
ZXIgWmVpbGUuCitcZW5kX2xheW91dAorCiBcYmVnaW5fbGF5b3V0IFN0YW5kYXJkCiBEZXIgQWJz
Y2huaXR0IAogXGJlZ2luX2luc2V0IEZsZXggQ29kZQpkaWZmIC0tZ2l0IGEvbGliL2xheW91dHMv
c2NyY2xhc3MuaW5jIGIvbGliL2xheW91dHMvc2NyY2xhc3MuaW5jCmluZGV4IDZkOTg5ZDM5MGYu
LmZmNmYzMjIzNDcgMTAwNjQ0Ci0tLSBhL2xpYi9sYXlvdXRzL3NjcmNsYXNzLmluYworKysgYi9s
aWIvbGF5b3V0cy9zY3JjbGFzcy5pbmMKQEAgLTIzLDYgKzIzLDkgQEAgQ2xhc3NPcHRpb25zCiAJ
UGFnZVNpemVGb3JtYXQgICAgICAgcGFwZXI9JCRzCiAJUGFyc2tpcEhhbGYgICAgICAgICAgcGFy
c2tpcD1oYWxmCiAJUGFyc2tpcEZ1bGwgICAgICAgICAgcGFyc2tpcD1mdWxsCisJUGFyZmlsbHNr
aXBOb25lICAgICAgJCRQU09QVC0KKwlQYXJmaWxsc2tpcFF1YXJ0ZXIgICAkJFBTT1BUKgorCVBh
cmZpbGxza2lwVGhpcmQgICAgICQkUFNPUFQrCiBFbmQKIAogU3R5bGUgU3RhbmRhcmQKZGlmZiAt
LWdpdCBhL2xpYi9seXgybHl4L2x5eF8yXzYucHkgYi9saWIvbHl4Mmx5eC9seXhfMl82LnB5Cmlu
ZGV4IDY4OTY5YTkxOTEuLjVlZWQ1Y2JlMDUgMTAwNjQ0Ci0tLSBhL2xpYi9seXgybHl4L2x5eF8y
XzYucHkKKysrIGIvbGliL2x5eDJseXgvbHl4XzJfNi5weQpAQCAtMjYsNyArMjYsNiBAQCBpbXBv
cnQgdW5pY29kZWRhdGEKICMgICAgZ2V0X2VydCwKICMgICAgaGV4MnJhdGlvLAogIyAgICBpbnNl
cnRfdG9fcHJlYW1ibGUsCi0jICAgIGxhdGV4X2xlbmd0aCwKICMgICAgbGVuZ3RoX2luX2JwLAog
IyAgICBseXgybGF0ZXgsCiAjICAgIGx5eDJ2ZXJiYXRpbSwKQEAgLTM3LDYgKzM2LDcgQEAgaW1w
b3J0IHVuaWNvZGVkYXRhCiAjICAgIHN0cjJib29sCiBmcm9tIGx5eDJseXhfdG9vbHMgaW1wb3J0
ICgKICAgICBhZGRfdG9fcHJlYW1ibGUsCisgICAgbGF0ZXhfbGVuZ3RoLAogICAgIHB1dF9jbWRf
aW5fZXJ0CiApCiAKQEAgLTE1MjUsNiArMTUyNSw3IEBAIGRlZiByZXZlcnRfbWludGVkbGFuZ3Mo
ZG9jdW1lbnQpOgogICAgICAgICAgICAgbHBzX3Jlcy5hcHBlbmQobCkKICAgICAgICAgZG9jdW1l
bnQuYm9keVtrXSA9ICJsc3RwYXJhbXMgXCIlc1wiIiAlICIsIi5qb2luKGxwc19yZXMpCiAKKwog
ZGVmIHJldmVydF9oZXgzMmNvbG9ycyhkb2N1bWVudCk6CiAgICAgIiIiUmV2ZXJ0IDMyYml0IEFS
R0IgaGV4IGNvbG9ycyB0byAxNmJpdCBSR0IiIiIKICAgICBpID0gMApAQCAtMTU2OCw2ICsxNTY5
LDM3IEBAIGRlZiByZXZlcnRfaGV4MzJjb2xvcnMoZG9jdW1lbnQpOgogICAgICAgICBkb2N1bWVu
dC5ib2R5W2ldID0gIlxcY29sb3IgJXMiICUgJyAnLmpvaW4oaGV4MTZjb2xvcnMpCiAKIAorZGVm
IHJldmVydF9wYXJmaWxsc2tpcChkb2N1bWVudCk6CisgICAgIiIiUmV2ZXJ0IHBhcmZpbGxza2lw
IHNldHRpbmcgdG8gcHJlYW1ibGUgY29kZSIiIgorICAgIGkgPSBmaW5kX3Rva2VuKGRvY3VtZW50
LmhlYWRlciwgIlxccGFyZmlsbHNraXAiLCAwKQorICAgIGlmIGkgPT0gLTE6CisgICAgICAgIHJl
dHVybgorCisgICAgIyBXZSBuZWVkIHRvIHVzZSB0aGlzIHJlZ2V4IHNpbmNlIHNwbGl0KCkgZG9l
cyBub3QgaGFuZGxlIHF1b3RlIHByb3RlY3Rpb24KKyAgICBwYXJmaWxsc2tpcCA9IFtwIGZvciBw
IGluIHJlLnNwbGl0KCIoIHxcXFwiLio/XFxcInwnLio/JykiLCBkb2N1bWVudC5oZWFkZXJbaV0p
IGlmIHAuc3RyaXAoKV0KKyAgICBpZiBsZW4ocGFyZmlsbHNraXApID09IDA6CisgICAgICAgIHJl
dHVybgorCisgICAgcGZzX3R5cGUgPSBwYXJmaWxsc2tpcFsxXS5zdHJpcCgnIicpCisgICAgcGZz
X3ZhbHVlID0gcGFyZmlsbHNraXBbMl0uc3RyaXAoJyInKQorICAgIAorICAgIGRlbCBkb2N1bWVu
dC5oZWFkZXJbaV0KKworICAgIGlmIHBmc190eXBlID09ICJkZWZhdWx0IjoKKyAgICAgICAgcmV0
dXJuCisgICAgcHJlYW1ibGUgPSAiIgorICAgIGlmIHBmc190eXBlID09ICJub25lIjoKKyAgICAg
ICAgcHJlYW1ibGUgPSAiXFxzZXRsZW5ndGhcXHBhcmZpbGxza2lwe1xcekAgcGx1cyAxZmlsfSIK
KyAgICBlbGlmIHBmc190eXBlID09ICJ0aGlyZGxpbmUiOgorICAgICAgICBwcmVhbWJsZSA9ICJc
XHNldGxlbmd0aFxccGFyZmlsbHNraXB7LjMzMzNcXGxpbmV3aWR0aCBwbHVzIDFmaWx9IgorICAg
IGVsaWYgcGZzX3R5cGUgPT0gInF1YXJ0ZXJsaW5lIjoKKyAgICAgICAgcHJlYW1ibGUgPSAiXFxz
ZXRsZW5ndGhcXHBhcmZpbGxza2lwey4yNVxcbGluZXdpZHRoIHBsdXMgMWZpbH0iCisgICAgZWxp
ZiBwZnNfdHlwZSA9PSAiY3VzdG9tIjoKKyAgICAgICAgcHJlYW1ibGUgPSAiXFxzZXRsZW5ndGhc
XHBhcmZpbGxza2lweyVzfSIgJSBsYXRleF9sZW5ndGgocGZzX3ZhbHVlKVsxXQorCisgICAgaWYg
cHJlYW1ibGUgIT0gIiI6CisgICAgICAgIGFkZF90b19wcmVhbWJsZShkb2N1bWVudCwgcHJlYW1i
bGUpCisKICMjCiAjIENvbnZlcnNpb24gaHViCiAjCkBAIC0xNTg1LDExICsxNjE3LDEzIEBAIGNv
bnZlcnQgPSBbCiAgICAgWzY1MiwgW2NvbnZlcnRfcmVtb3ZlZF9udW1lcmljXV0sCiAgICAgWzY1
MywgW11dLAogICAgIFs2NTQsIFtdXSwKLSAgICBbNjU1LCBbXV0KKyAgICBbNjU1LCBbXV0sCisg
ICAgWzY1NiwgW11dCiBdCiAKIAogcmV2ZXJ0ID0gWworICAgIFs2NTUsIFtyZXZlcnRfcGFyZmls
bHNraXBdXSwKICAgICBbNjU0LCBbcmV2ZXJ0X2hleDMyY29sb3JzXV0sCiAgICAgWzY1MywgW3Jl
dmVydF9taW50ZWRsYW5nc11dLAogICAgIFs2NTIsIFtyZXZlcnRfc3BlY2lhbGZvbnRzXV0sCmRp
ZmYgLS1naXQgYS9zcmMvQnVmZmVyUGFyYW1zLmNwcCBiL3NyYy9CdWZmZXJQYXJhbXMuY3BwCmlu
ZGV4IDg3MTRkZGRiNGEuLjIwNmEyMzE0ODEgMTAwNjQ0Ci0tLSBhL3NyYy9CdWZmZXJQYXJhbXMu
Y3BwCisrKyBiL3NyYy9CdWZmZXJQYXJhbXMuY3BwCkBAIC03NSw2ICs3NSwxMSBAQCBzdGF0aWMg
Y2hhciBjb25zdCAqIGNvbnN0IHN0cmluZ19wYXJhZ3JhcGhfc2VwYXJhdGlvbltdID0gewogfTsK
IAogCitzdGF0aWMgY2hhciBjb25zdCAqIGNvbnN0IHN0cmluZ19wYXJmaWxsX3NraXBbXSA9IHsK
KwkiZGVmYXVsdCIsICJub25lIiwgInRoaXJkbGluZSIsICJxdWFydGVybGluZSIsICJjdXN0b20i
LCAiIgorfTsKKworCiBzdGF0aWMgY2hhciBjb25zdCAqIGNvbnN0IHN0cmluZ19xdW90ZXNfc3R5
bGVbXSA9IHsKIAkiZW5nbGlzaCIsICJzd2VkaXNoIiwgImdlcm1hbiIsICJwb2xpc2giLCAic3dp
c3MiLCAiZGFuaXNoIiwgInBsYWluIiwKIAkiYnJpdGlzaCIsICJzd2VkaXNoZyIsICJmcmVuY2gi
LCAiZnJlbmNoaW4iLCAicnVzc2lhbiIsICJjamsiLCAiY2prYW5nbGUiLApAQCAtMTQwLDYgKzE0
NSwzMCBAQCBQYXJTZXBUcmFuc2xhdG9yIGNvbnN0ICYgcGFyc2VwdHJhbnNsYXRvcigpCiB9CiAK
IAorLy8gUGFyZmlsbHNLSVAKK3R5cGVkZWYgVHJhbnNsYXRvcjxzdHJpbmcsIEJ1ZmZlclBhcmFt
czo6UGFyZmlsbFNraXA+IFBhcmZpbGxTa2lwVHJhbnNsYXRvcjsKKworCitQYXJmaWxsU2tpcFRy
YW5zbGF0b3IgY29uc3QgaW5pdF9wYXJmaWxsc2tpcHRyYW5zbGF0b3IoKQoreworCVBhcmZpbGxT
a2lwVHJhbnNsYXRvciB0cmFuc2xhdG9yCisJCShzdHJpbmdfcGFyZmlsbF9za2lwWzBdLCBCdWZm
ZXJQYXJhbXM6OlBhcmZpbGxTa2lwRGVmYXVsdCk7CisJdHJhbnNsYXRvci5hZGRQYWlyKHN0cmlu
Z19wYXJmaWxsX3NraXBbMV0sIEJ1ZmZlclBhcmFtczo6UGFyZmlsbFNraXBOb25lKTsKKwl0cmFu
c2xhdG9yLmFkZFBhaXIoc3RyaW5nX3BhcmZpbGxfc2tpcFsyXSwgQnVmZmVyUGFyYW1zOjpQYXJm
aWxsU2tpcFRoaXJkTGluZSk7CisJdHJhbnNsYXRvci5hZGRQYWlyKHN0cmluZ19wYXJmaWxsX3Nr
aXBbM10sIEJ1ZmZlclBhcmFtczo6UGFyZmlsbFNraXBRdWFydGVyTGluZSk7CisJdHJhbnNsYXRv
ci5hZGRQYWlyKHN0cmluZ19wYXJmaWxsX3NraXBbNF0sIEJ1ZmZlclBhcmFtczo6UGFyZmlsbFNr
aXBDdXN0b20pOworCXJldHVybiB0cmFuc2xhdG9yOworfQorCisKK1BhcmZpbGxTa2lwVHJhbnNs
YXRvciBjb25zdCAmIHBhcmZpbGxza2lwdHJhbnNsYXRvcigpCit7CisJc3RhdGljIFBhcmZpbGxT
a2lwVHJhbnNsYXRvciBjb25zdCB0cmFuc2xhdG9yID0KKwkJaW5pdF9wYXJmaWxsc2tpcHRyYW5z
bGF0b3IoKTsKKwlyZXR1cm4gdHJhbnNsYXRvcjsKK30KKworCiAvLyBRdW90ZXMgc3R5bGUKIHR5
cGVkZWYgVHJhbnNsYXRvcjxzdHJpbmcsIFF1b3RlU3R5bGU+IFF1b3Rlc1N0eWxlVHJhbnNsYXRv
cjsKIApAQCAtMzUzLDYgKzM4Miw3IEBAIHB1YmxpYzoKIAlJbmRpY2VzTGlzdCBpbmRpY2VzbGlz
dDsKIAlTcGFjaW5nIHNwYWNpbmc7CiAJTGVuZ3RoIHBhcmluZGVudDsKKwlHbHVlTGVuZ3RoIHBh
cmZpbGxza2lwOwogCUxlbmd0aCBtYXRoaW5kZW50OwogCS8qKiBUaGlzIGlzIHRoZSBhbW91bnQg
b2Ygc3BhY2UgdXNlZCBmb3IgcGFyYWdyYXBoX3NlcGFyYXRpb24gInNraXAiLAogCSAqIGFuZCBm
b3IgZGV0YWNoZWQgcGFyYWdyYXBocyBpbiAiaW5kZW50ZWQiIGRvY3VtZW50cy4KQEAgLTQwNCw2
ICs0MzQsNyBAQCBCdWZmZXJQYXJhbXM6OkJ1ZmZlclBhcmFtcygpCiAJY2l0ZV9lbmdpbmVfdHlw
ZV8gPSBFTkdJTkVfVFlQRV9ERUZBVUxUOwogCW1ha2VEb2N1bWVudENsYXNzKCk7CiAJcGFyYWdy
YXBoX3NlcGFyYXRpb24gPSBQYXJhZ3JhcGhJbmRlbnRTZXBhcmF0aW9uOworCXBhcmZpbGxfc2tp
cCA9IFBhcmZpbGxTa2lwRGVmYXVsdDsKIAlpc19tYXRoX2luZGVudCA9IGZhbHNlOwogCW1hdGhf
bnVtYmVyaW5nX3NpZGUgPSBERUZBVUxUOwogCXF1b3Rlc19zdHlsZSA9IFF1b3RlU3R5bGU6OkVu
Z2xpc2g7CkBAIC03MzYsNiArNzY3LDQxIEBAIHZvaWQgQnVmZmVyUGFyYW1zOjpzZXRQYXJJbmRl
bnQoTGVuZ3RoIGNvbnN0ICYgaW5kZW50KQogfQogCiAKK0dsdWVMZW5ndGggY29uc3QgJiBCdWZm
ZXJQYXJhbXM6OmdldFBhcmZpbGxTa2lwKCkgY29uc3QKK3sKKwlyZXR1cm4gcGltcGxfLT5wYXJm
aWxsc2tpcDsKK30KKworCitzdHJpbmcgY29uc3QgQnVmZmVyUGFyYW1zOjpnZXRQYXJmaWxsU2tp
cFN0cmluZygpIGNvbnN0Cit7CisJc3RyaW5nIHJlczsKKwlzd2l0Y2ggKHBhcmZpbGxfc2tpcCkg
eworCWNhc2UgUGFyZmlsbFNraXBEZWZhdWx0OgorCQlicmVhazsKKwljYXNlIFBhcmZpbGxTa2lw
Tm9uZToKKwkJcmVzID0gIlxcekAgcGx1cyAxZmlsIjsKKwkJYnJlYWs7CisJY2FzZSBQYXJmaWxs
U2tpcFRoaXJkTGluZToKKwkJcmVzID0gIi4zMzMzXFxsaW5ld2lkdGggcGx1cyAxZmlsIjsKKwkJ
YnJlYWs7CisJY2FzZSBQYXJmaWxsU2tpcFF1YXJ0ZXJMaW5lOgorCQlyZXMgPSAiLjI1XFxsaW5l
d2lkdGggcGx1cyAxZmlsIjsKKwkJYnJlYWs7CisJY2FzZSBQYXJmaWxsU2tpcEN1c3RvbToKKwkJ
cmVzID0gZ2V0UGFyZmlsbFNraXAoKS5hc0xhdGV4U3RyaW5nKCk7CisJCWJyZWFrOworCX0KKwly
ZXR1cm4gcmVzOworfQorCisKK3ZvaWQgQnVmZmVyUGFyYW1zOjpzZXRQYXJGaWxsU2tpcChHbHVl
TGVuZ3RoIGNvbnN0ICYgc2tpcCkKK3sKKwlwaW1wbF8tPnBhcmZpbGxza2lwID0gc2tpcDsKK30K
KworCiBWU3BhY2UgY29uc3QgJiBCdWZmZXJQYXJhbXM6OmdldERlZlNraXAoKSBjb25zdAogewog
CXJldHVybiBwaW1wbF8tPmRlZnNraXA7CkBAIC0xMTgxLDYgKzEyNDcsMTggQEAgc3RyaW5nIEJ1
ZmZlclBhcmFtczo6cmVhZFRva2VuKExleGVyICYgbGV4LCBzdHJpbmcgY29uc3QgJiB0b2tlbiwK
IAkJCQlwaW1wbF8tPmRlZnNraXAgPSBWU3BhY2UoVlNwYWNlOjpNRURTS0lQKTsKIAkJCWJyZWFr
OwogCQl9CisJCWlmICh0b2tlbiA9PSAiXFxwYXJmaWxsc2tpcCIpIHsKKwkJCXN0cmluZyB0eXBl
OworCQkJbGV4ID4+IHR5cGU7CisJCQlzdHJpbmcgdmFsOworCQkJbGV4ID4+IHZhbDsKKwkJCXBh
cmZpbGxfc2tpcCA9IHBhcmZpbGxza2lwdHJhbnNsYXRvcigpLmZpbmQodHlwZSk7CisJCQlpZiAo
cGFyZmlsbF9za2lwID09IFBhcmZpbGxTa2lwQ3VzdG9tKQorCQkJCXNldFBhckZpbGxTa2lwKEds
dWVMZW5ndGgodmFsKSk7CisJCQllbHNlCisJCQkJc2V0UGFyRmlsbFNraXAoR2x1ZUxlbmd0aCgp
KTsKKwkJCWJyZWFrOworCQl9CiAJCWlmICh0b2tlbiA9PSAiXFxpc19tYXRoX2luZGVudCIpIHsK
IAkJCWxleCA+PiBpc19tYXRoX2luZGVudDsKIAkJCWJyZWFrOwpAQCAtMTk5Myw2ICsyMDcxLDcg
QEAgdm9pZCBCdWZmZXJQYXJhbXM6OndyaXRlRmlsZShvc3RyZWFtICYgb3MsIEJ1ZmZlciBjb25z
dCAqIGJ1ZikgY29uc3QKIAkJICAgPDwgKGdldFBhckluZGVudCgpLmVtcHR5KCkgPyAiZGVmYXVs
dCIgOiBnZXRQYXJJbmRlbnQoKS5hc1N0cmluZygpKTsKIAllbHNlCiAJCW9zIDw8ICJcblxcZGVm
c2tpcCAiIDw8IGdldERlZlNraXAoKS5hc0x5WENvbW1hbmQoKTsKKwlvcyA8PCAiXG5cXHBhcmZp
bGxza2lwIFwiIiA8PCBzdHJpbmdfcGFyZmlsbF9za2lwW3BhcmZpbGxfc2tpcF0gPDwgIlwiIFwi
IiA8PCBnZXRQYXJmaWxsU2tpcCgpLmFzU3RyaW5nKCkgPDwgIlwiIjsKIAlvcyA8PCAiXG5cXGlz
X21hdGhfaW5kZW50ICIgPDwgaXNfbWF0aF9pbmRlbnQ7CiAJaWYgKGlzX21hdGhfaW5kZW50KQog
CQlvcyA8PCAiXG5cXG1hdGhfaW5kZW50YXRpb24gIgpAQCAtMjM2NiwxMSArMjQ0NSw0OSBAQCBi
b29sIEJ1ZmZlclBhcmFtczo6d3JpdGVMYVRlWChvdGV4c3RyZWFtICYgb3MsIExhVGVYRmVhdHVy
ZXMgJiBmZWF0dXJlcywKIAkJYnJlYWs7CiAJfQogCisJYm9vbCBwYXJmaWxsc2tpcF9jbGFzc29w
dCA9IGZhbHNlOwogCWlmIChwYXJhZ3JhcGhfc2VwYXJhdGlvbikgeworCQlzdHJpbmcgcHNvcHQ7
CiAJCWlmICghdGNsYXNzLmhhbGZwYXJza2lwKCkuZW1wdHkoKSAmJiBnZXREZWZTa2lwKCkua2lu
ZCgpID09IFZTcGFjZTo6SEFMRkxJTkUpCi0JCQljbHNvcHRpb25zIDw8IHRjbGFzcy5oYWxmcGFy
c2tpcCgpIDw8ICIsIjsKKwkJCXBzb3B0ID0gdGNsYXNzLmhhbGZwYXJza2lwKCk7CiAJCWlmICgh
dGNsYXNzLmZ1bGxwYXJza2lwKCkuZW1wdHkoKSAmJiBnZXREZWZTa2lwKCkua2luZCgpID09IFZT
cGFjZTo6RlVMTExJTkUpCi0JCQljbHNvcHRpb25zIDw8IHRjbGFzcy5mdWxscGFyc2tpcCgpIDw8
ICIsIjsKKwkJCXBzb3B0ID0gdGNsYXNzLmZ1bGxwYXJza2lwKCk7CisJCXN3aXRjaCAocGFyZmls
bF9za2lwKSB7CisJCWNhc2UgUGFyZmlsbFNraXBOb25lOiB7CisJCQlpZiAoY29udGFpbnModGNs
YXNzLm5vbmVwYXJmaWxsc2tpcCgpLCAiJCRQU09QVCIpKSB7CisJCQkJcHNvcHQgPSBzdWJzdCh0
Y2xhc3Mubm9uZXBhcmZpbGxza2lwKCksICIkJFBTT1BUIiwgcHNvcHQpOworCQkJCXBhcmZpbGxz
a2lwX2NsYXNzb3B0ID0gdHJ1ZTsKKwkJCX0gZWxzZSBpZiAoIXRjbGFzcy5ub25lcGFyZmlsbHNr
aXAoKS5lbXB0eSgpKSB7CisJCQkJY2xzb3B0aW9ucyA8PCB0Y2xhc3Mubm9uZXBhcmZpbGxza2lw
KCkgPDwgIiwiOworCQkJCXBhcmZpbGxza2lwX2NsYXNzb3B0ID0gdHJ1ZTsKKwkJCX0KKwkJCWJy
ZWFrOworCQl9CisJCWNhc2UgUGFyZmlsbFNraXBUaGlyZExpbmU6IHsKKwkJCWlmIChjb250YWlu
cyh0Y2xhc3MudGhpcmRwYXJmaWxsc2tpcCgpLCAiJCRQU09QVCIpKSB7CisJCQkJcHNvcHQgPSBz
dWJzdCh0Y2xhc3MudGhpcmRwYXJmaWxsc2tpcCgpLCAiJCRQU09QVCIsIHBzb3B0KTsKKwkJCQlw
YXJmaWxsc2tpcF9jbGFzc29wdCA9IHRydWU7CisJCQl9IGVsc2UgaWYgKCF0Y2xhc3MudGhpcmRw
YXJmaWxsc2tpcCgpLmVtcHR5KCkpIHsKKwkJCQljbHNvcHRpb25zIDw8IHRjbGFzcy50aGlyZHBh
cmZpbGxza2lwKCkgPDwgIiwiOworCQkJCXBhcmZpbGxza2lwX2NsYXNzb3B0ID0gdHJ1ZTsKKwkJ
CX0KKwkJCWJyZWFrOworCQl9CisJCWNhc2UgUGFyZmlsbFNraXBRdWFydGVyTGluZTogeworCQkJ
aWYgKGNvbnRhaW5zKHRjbGFzcy5xdWFydGVycGFyZmlsbHNraXAoKSwgIiQkUFNPUFQiKSkgewor
CQkJCXBzb3B0ID0gc3Vic3QodGNsYXNzLnF1YXJ0ZXJwYXJmaWxsc2tpcCgpLCAiJCRQU09QVCIs
IHBzb3B0KTsKKwkJCQlwYXJmaWxsc2tpcF9jbGFzc29wdCA9IHRydWU7CisJCQl9IGVsc2UgaWYg
KCF0Y2xhc3MucXVhcnRlcnBhcmZpbGxza2lwKCkuZW1wdHkoKSkgeworCQkJCWNsc29wdGlvbnMg
PDwgdGNsYXNzLnF1YXJ0ZXJwYXJmaWxsc2tpcCgpIDw8ICIsIjsKKwkJCQlwYXJmaWxsc2tpcF9j
bGFzc29wdCA9IHRydWU7CisJCQl9CisJCQlicmVhazsKKwkJfQorCQljYXNlIFBhcmZpbGxTa2lw
RGVmYXVsdDoKKwkJY2FzZSBQYXJmaWxsU2tpcEN1c3RvbToKKwkJCWJyZWFrOworCQl9CisJCWNs
c29wdGlvbnMgPDwgcHNvcHQgPDwgIiwiOwogCX0KIAogCS8vIGxhbmd1YWdlIHNob3VsZCBiZSBh
IHBhcmFtZXRlciB0byBcZG9jdW1lbnRjbGFzcwpAQCAtMjc0OCw2ICsyODY1LDEwIEBAIGJvb2wg
QnVmZmVyUGFyYW1zOjp3cml0ZUxhVGVYKG90ZXhzdHJlYW0gJiBvcywgTGFUZVhGZWF0dXJlcyAm
IGZlYXR1cmVzLAogCQkJCS8vIGV4cGxpY2l0bHkgcmVzZXQgZGVmYXVsdCAobWlnaHQgaGF2ZSBi
ZWVuIGNoYW5nZWQKIAkJCQkvLyBpbiBhIGNsYXNzIG9yIHBhY2thZ2UpCiAJCQkJb3MgPDwgIlxc
cGFyc2tpcD0uNVxcYmFzZWxpbmVza2lwIHBsdXMgMnB0XFxyZWxheFxuIjsKKwkJCS8vIHBhcmZp
bGxza2lwCisJCQlpZiAocGFyZmlsbF9za2lwICE9IFBhcmZpbGxTa2lwRGVmYXVsdCkKKwkJCQlv
cyA8PCAiXFxzZXRsZW5ndGh7XFxwYXJmaWxsc2tpcH17IiA8PCBnZXRQYXJmaWxsU2tpcFN0cmlu
ZygpIDw8ICJ9XG4iOworCiAJCX0gZWxzZSBpZiAoIWJ5X2NsYXNzX29wdGlvbikgewogCQkJLy8g
bG9hZCBwYXJza2lwIHBhY2thZ2Ugd2l0aCByZXF1aXJlZCBvcHRpb25zCiAJCQlzdHJpbmcgcHNv
cHRzOwpAQCAtMjc1OCw2ICsyODc5LDE2IEBAIGJvb2wgQnVmZmVyUGFyYW1zOjp3cml0ZUxhVGVY
KG90ZXhzdHJlYW0gJiBvcywgTGFUZVhGZWF0dXJlcyAmIGZlYXR1cmVzLAogCQkJCWVsc2UKIAkJ
CQkJcHNvcHRzID0gInNraXA9IiArIHBzb3B0OwogCQkJfQorCQkJc3RyaW5nIGNvbnN0IHBhcmZp
bGwgPSBnZXRQYXJmaWxsU2tpcFN0cmluZygpOworCQkJaWYgKCFwYXJmaWxsLmVtcHR5KCkpIHsK
KwkJCQlpZiAoIXBzb3B0cy5lbXB0eSgpKQorCQkJCQlwc29wdHMgKz0gIiwiOworCQkJCWlmIChj
b250YWlucyhwYXJmaWxsLCAnICcpKQorCQkJCQkvLyBnbHVlIGxlbmd0aCBoYXMgc3BhY2VzOiBl
bWJyYWNlCisJCQkJCXBzb3B0cyArPSAicGFyZmlsbD17IiArIHBhcmZpbGwgKyAifSI7CisJCQkJ
ZWxzZQorCQkJCQlwc29wdHMgKz0gInBhcmZpbGw9IiArIHBhcmZpbGw7CisJCQl9CiAJCQlzdHJp
bmcgY29uc3QgeHBzb3B0cyA9IGdldFBhY2thZ2VPcHRpb25zKCJwYXJza2lwIik7CiAJCQlpZiAo
IXhwc29wdHMuZW1wdHkoKSkgewogCQkJCWlmICghcHNvcHRzLmVtcHR5KCkpCkBAIC0yNzc3LDYg
KzI5MDgsOSBAQCBib29sIEJ1ZmZlclBhcmFtczo6d3JpdGVMYVRlWChvdGV4c3RyZWFtICYgb3Ms
IExhVGVYRmVhdHVyZXMgJiBmZWF0dXJlcywKIAkJCSAgIDw8IGZyb21fdXRmOChnZXRQYXJJbmRl
bnQoKS5hc0xhdGV4U3RyaW5nKCkpCiAJCQkgICA8PCAifVxuIjsKIAkJfQorCQkvLyBwYXJmaWxs
c2tpcAorCQlpZiAoIXBhcmZpbGxza2lwX2NsYXNzb3B0ICYmIHBhcmZpbGxfc2tpcCAhPSBQYXJm
aWxsU2tpcERlZmF1bHQpCisJCQlvcyA8PCAiXFxzZXRsZW5ndGh7XFxwYXJmaWxsc2tpcH17IiA8
PCBnZXRQYXJmaWxsU2tpcFN0cmluZygpIDw8ICJ9XG4iOwogCX0KIAogCWlmIChpc19tYXRoX2lu
ZGVudCkgewpkaWZmIC0tZ2l0IGEvc3JjL0J1ZmZlclBhcmFtcy5oIGIvc3JjL0J1ZmZlclBhcmFt
cy5oCmluZGV4IDFkYTNmMWNkYzcuLjVhMWE2NzM0MWEgMTAwNjQ0Ci0tLSBhL3NyYy9CdWZmZXJQ
YXJhbXMuaAorKysgYi9zcmMvQnVmZmVyUGFyYW1zLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgY2xhc3Mg
RG9jdW1lbnRDbGFzczsKIGNsYXNzIEVuY29kaW5nOwogY2xhc3MgRm9udDsKIGNsYXNzIEZvcm1h
dDsKK2NsYXNzIEdsdWVMZW5ndGg7CiBjbGFzcyBJbmRpY2VzTGlzdDsKIGNsYXNzIExhbmd1YWdl
OwogY2xhc3MgTGFUZVhGZWF0dXJlczsKQEAgLTc1LDYgKzc2LDE5IEBAIHB1YmxpYzoKIAkJUGFy
YWdyYXBoU2tpcFNlcGFyYXRpb24KIAl9OwogCS8vLworCWVudW0gUGFyZmlsbFNraXAgeworCQkv
Ly8KKwkJUGFyZmlsbFNraXBEZWZhdWx0LAorCQkvLy8KKwkJUGFyZmlsbFNraXBOb25lLAorCQkv
Ly8KKwkJUGFyZmlsbFNraXBUaGlyZExpbmUsCisJCS8vLworCQlQYXJmaWxsU2tpcFF1YXJ0ZXJM
aW5lLAorCQkvLy8KKwkJUGFyZmlsbFNraXBDdXN0b20KKwl9OworCS8vLwogCUJ1ZmZlclBhcmFt
cygpOwogCiAJLy8vIGdldCBsMTBuIHRyYW5zbGF0ZWQgdG8gdGhlIGJ1ZmZlcnMgbGFuZ3VhZ2UK
QEAgLTExMSw2ICsxMjUsMTAgQEAgcHVibGljOgogCVZTcGFjZSBjb25zdCAmIGdldERlZlNraXAo
KSBjb25zdDsKIAkvLy8KIAl2b2lkIHNldERlZlNraXAoVlNwYWNlIGNvbnN0ICYgdnMpOworCS8v
LworCUdsdWVMZW5ndGggY29uc3QgJiBnZXRQYXJmaWxsU2tpcCgpIGNvbnN0OworCS8vLworCXZv
aWQgc2V0UGFyRmlsbFNraXAoR2x1ZUxlbmd0aCBjb25zdCAmIHNraXApOwogCiAJLy8vCiAJTGVu
Z3RoIGNvbnN0ICYgZ2V0TWF0aEluZGVudCgpIGNvbnN0OwpAQCAtMTM3LDYgKzE1NSw4IEBAIHB1
YmxpYzoKIAkgKi8KIAlQYXJhZ3JhcGhTZXBhcmF0aW9uIHBhcmFncmFwaF9zZXBhcmF0aW9uOwog
CS8vLworCVBhcmZpbGxTa2lwIHBhcmZpbGxfc2tpcDsKKwkvLy8KIAlRdW90ZVN0eWxlIHF1b3Rl
c19zdHlsZTsKIAkvLy8KIAlib29sIGR5bmFtaWNfcXVvdGVzOwpAQCAtNzM5LDYgKzc1OSw4IEBA
IHByaXZhdGU6CiAJc3RkOjpzdHJpbmcgY29uc3QgZ2V0QmlidGV4Q29tbWFuZChzdGQ6OnN0cmlu
ZyBjb25zdCAmIGNtZCwKIAkJCQkJICAgYm9vbCBjb25zdCB3YXJuKSBjb25zdDsKIAkvLy8KKwlz
dGQ6OnN0cmluZyBjb25zdCBnZXRQYXJmaWxsU2tpcFN0cmluZygpIGNvbnN0OworCS8vLwogCURv
Y3VtZW50Q2xhc3NQdHIgZG9jX2NsYXNzXzsKIAkvLy8KIAlMYXlvdXRNb2R1bGVMaXN0IGxheW91
dF9tb2R1bGVzXzsKZGlmZiAtLWdpdCBhL3NyYy9UZXh0Q2xhc3MuY3BwIGIvc3JjL1RleHRDbGFz
cy5jcHAKaW5kZXggODdjNTBkNzU0Ni4uMzgxMDdjNzVlYyAxMDA2NDQKLS0tIGEvc3JjL1RleHRD
bGFzcy5jcHAKKysrIGIvc3JjL1RleHRDbGFzcy5jcHAKQEAgLTEzNyw2ICsxMzcsNyBAQCBUZXh0
Q2xhc3M6OlRleHRDbGFzcygpCiAJICBvcHRfcGFnZXNpemVfKCJkZWZhdWx0fGE0fGE1fGI1fGxl
dHRlcnxsZWdhbHxleGVjdXRpdmUiKSwKIAkgIG9wdF9wYWdlc3R5bGVfKCJlbXB0eXxwbGFpbnxo
ZWFkaW5nc3xmYW5jeSIpLCBmb250c2l6ZV9mb3JtYXRfKCIkJHNwdCIpLCBwYWdlc2l6ZV8oImRl
ZmF1bHQiKSwKIAkgIHBhZ2VzaXplX2Zvcm1hdF8oIiQkc3BhcGVyIiksIHBhZ2VzdHlsZV8oImRl
ZmF1bHQiKSwgcGFyc2tpcF9mdWxsXygiIiksIHBhcnNraXBfaGFsZl8oIiIpLAorCSAgcGFyZmls
bHNraXBfbm9uZV8oIiIpLCBwYXJmaWxsc2tpcF9xdWFydGVyXygiIiksIHBhcmZpbGxza2lwX3Ro
aXJkXygiIiksCiAJICB0YWJsZXN0eWxlXygiZGVmYXVsdCIpLCBkb2Nib29rcm9vdF8oImFydGlj
bGUiKSwgZG9jYm9va2ZvcmNlYWJzdHJhY3RfKGZhbHNlKSwKIAkgIGNvbHVtbnNfKDEpLCBzaWRl
c18oT25lU2lkZSksIHNlY251bWRlcHRoXygzKSwgdG9jZGVwdGhfKDMpLCBvdXRwdXRUeXBlXyhM
QVRFWCksCiAJICBvdXRwdXRGb3JtYXRfKCJsYXRleCIpLCBoYXNfb3V0cHV0X2Zvcm1hdF8oZmFs
c2UpLCBkZWZhdWx0Zm9udF8oc2FuZV9mb250KSwgCkBAIC0xMDkxLDYgKzEwOTIsOSBAQCB2b2lk
IFRleHRDbGFzczo6cmVhZENsYXNzT3B0aW9ucyhMZXhlciAmIGxleHJjKQogCQlDT19QQUdFU0la
RSwKIAkJQ09fUEFHRVNJWkVfRk9STUFULAogCQlDT19QQUdFU1RZTEUsCisJCUNPX1BBUkZJTExT
S0lQX05PTkUsCisJCUNPX1BBUkZJTExTS0lQX1FVQVJURVIsCisJCUNPX1BBUkZJTExTS0lQX1RI
SVJELAogCQlDT19QQVJTS0lQX0ZVTEwsCiAJCUNPX1BBUlNLSVBfSEFMRiwKIAkJQ09fT1RIRVIs
CkBAIC0xMTA1LDYgKzExMDksOSBAQCB2b2lkIFRleHRDbGFzczo6cmVhZENsYXNzT3B0aW9ucyhM
ZXhlciAmIGxleHJjKQogCQl7InBhZ2VzaXplIiwgIENPX1BBR0VTSVpFIH0sCiAJCXsicGFnZXNp
emVmb3JtYXQiLCBDT19QQUdFU0laRV9GT1JNQVQgfSwKIAkJeyJwYWdlc3R5bGUiLCBDT19QQUdF
U1RZTEUgfSwKKwkJeyJwYXJmaWxsc2tpcG5vbmUiLCBDT19QQVJGSUxMU0tJUF9OT05FIH0sCisJ
CXsicGFyZmlsbHNraXBxdWFydGVyIiwgQ09fUEFSRklMTFNLSVBfUVVBUlRFUiB9LAorCQl7InBh
cmZpbGxza2lwdGhpcmQiLCBDT19QQVJGSUxMU0tJUF9USElSRCB9LAogCQl7InBhcnNraXBmdWxs
IiwgQ09fUEFSU0tJUF9GVUxMIH0sCiAJCXsicGFyc2tpcGhhbGYiLCBDT19QQVJTS0lQX0hBTEYg
fQogCX07CkBAIC0xMTQ5LDYgKzExNTYsMTggQEAgdm9pZCBUZXh0Q2xhc3M6OnJlYWRDbGFzc09w
dGlvbnMoTGV4ZXIgJiBsZXhyYykKIAkJCWxleHJjLm5leHQoKTsKIAkJCXBhcnNraXBfaGFsZl8g
PSBydHJpbShsZXhyYy5nZXRTdHJpbmcoKSk7CiAJCQlicmVhazsKKwkJY2FzZSBDT19QQVJGSUxM
U0tJUF9OT05FOgorCQkJbGV4cmMubmV4dCgpOworCQkJcGFyZmlsbHNraXBfbm9uZV8gPSBydHJp
bShsZXhyYy5nZXRTdHJpbmcoKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT19QQVJGSUxMU0tJUF9R
VUFSVEVSOgorCQkJbGV4cmMubmV4dCgpOworCQkJcGFyZmlsbHNraXBfcXVhcnRlcl8gPSBydHJp
bShsZXhyYy5nZXRTdHJpbmcoKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT19QQVJGSUxMU0tJUF9U
SElSRDoKKwkJCWxleHJjLm5leHQoKTsKKwkJCXBhcmZpbGxza2lwX3RoaXJkXyA9IHJ0cmltKGxl
eHJjLmdldFN0cmluZygpKTsKKwkJCWJyZWFrOwogCQljYXNlIENPX09USEVSOgogCQkJbGV4cmMu
bmV4dCgpOwogCQkJaWYgKG9wdGlvbnNfLmVtcHR5KCkpCmRpZmYgLS1naXQgYS9zcmMvVGV4dENs
YXNzLmggYi9zcmMvVGV4dENsYXNzLmgKaW5kZXggOTg0MGE3NzIzNy4uZjc2NzNiMTBkOCAxMDA2
NDQKLS0tIGEvc3JjL1RleHRDbGFzcy5oCisrKyBiL3NyYy9UZXh0Q2xhc3MuaApAQCAtMjkyLDYg
KzI5MiwxMiBAQCBwcm90ZWN0ZWQ6CiAJc3RkOjpzdHJpbmcgcGFyc2tpcF9mdWxsXzsKIAkvLy8g
T3B0aW9uIGZvciBoYWxmIHBhcnNraXAKIAlzdGQ6OnN0cmluZyBwYXJza2lwX2hhbGZfOworCS8v
LyBPcHRpb24gZm9yIHplcm8gcGFyZmlsbHNraXAKKwlzdGQ6OnN0cmluZyBwYXJmaWxsc2tpcF9u
b25lXzsKKwkvLy8gT3B0aW9uIGZvciAxLzQgcGFyZmlsbHNraXAKKwlzdGQ6OnN0cmluZyBwYXJm
aWxsc2tpcF9xdWFydGVyXzsKKwkvLy8gT3B0aW9uIGZvciAxLzMgcGFyZmlsbHNraXAKKwlzdGQ6
OnN0cmluZyBwYXJmaWxsc2tpcF90aGlyZF87CiAJLy8vCiAJc3RkOjpzdHJpbmcgdGFibGVzdHls
ZV87CiAJLy8vCkBAIC00OTQsNiArNTAwLDEyIEBAIHB1YmxpYzoKIAkvLy8KIAlzdGQ6OnN0cmlu
ZyBjb25zdCAmIGhhbGZwYXJza2lwKCkgY29uc3QgeyByZXR1cm4gcGFyc2tpcF9oYWxmXzsgfQog
CS8vLworCXN0ZDo6c3RyaW5nIGNvbnN0ICYgbm9uZXBhcmZpbGxza2lwKCkgY29uc3QgeyByZXR1
cm4gcGFyZmlsbHNraXBfbm9uZV87IH0KKwkvLy8KKwlzdGQ6OnN0cmluZyBjb25zdCAmIHF1YXJ0
ZXJwYXJmaWxsc2tpcCgpIGNvbnN0IHsgcmV0dXJuIHBhcmZpbGxza2lwX3F1YXJ0ZXJfOyB9CisJ
Ly8vCisJc3RkOjpzdHJpbmcgY29uc3QgJiB0aGlyZHBhcmZpbGxza2lwKCkgY29uc3QgeyByZXR1
cm4gcGFyZmlsbHNraXBfdGhpcmRfOyB9CisJLy8vCiAJc3RkOjpzdHJpbmcgY29uc3QgJiBwYWdl
c3R5bGUoKSBjb25zdCB7IHJldHVybiBwYWdlc3R5bGVfOyB9CiAJLy8vCiAJc3RkOjpzdHJpbmcg
Y29uc3QgJiB0YWJsZXN0eWxlKCkgY29uc3QgeyByZXR1cm4gdGFibGVzdHlsZV87IH0KZGlmZiAt
LWdpdCBhL3NyYy9mcm9udGVuZHMvcXQvR3VpRG9jdW1lbnQuY3BwIGIvc3JjL2Zyb250ZW5kcy9x
dC9HdWlEb2N1bWVudC5jcHAKaW5kZXggYWFjMTQyY2JiMi4uZWFlNWY3MjdjYSAxMDA2NDQKLS0t
IGEvc3JjL2Zyb250ZW5kcy9xdC9HdWlEb2N1bWVudC5jcHAKKysrIGIvc3JjL2Zyb250ZW5kcy9x
dC9HdWlEb2N1bWVudC5jcHAKQEAgLTg4NSw2ICs4ODUsMTUgQEAgR3VpRG9jdW1lbnQ6Okd1aURv
Y3VtZW50KEd1aVZpZXcgJiBsdikKIAljb25uZWN0KHRleHRMYXlvdXRNb2R1bGUtPnNraXBMZW5n
dGhDTywgU0lHTkFMKGFjdGl2YXRlZChpbnQpKSwKIAkJdGhpcywgU0xPVChjaGFuZ2VfYWRhcHRv
cigpKSk7CiAKKwljb25uZWN0KHRleHRMYXlvdXRNb2R1bGUtPnBhcmZpbGxza2lwQ08sIFNJR05B
TChhY3RpdmF0ZWQoaW50KSksCisJCXRoaXMsIFNMT1Qoc2V0UGFyZmlsbFNraXAoaW50KSkpOwor
CWNvbm5lY3QodGV4dExheW91dE1vZHVsZS0+cGFyZmlsbHNraXBDTywgU0lHTkFMKGFjdGl2YXRl
ZChpbnQpKSwKKwkJdGhpcywgU0xPVChjaGFuZ2VfYWRhcHRvcigpKSk7CisJY29ubmVjdCh0ZXh0
TGF5b3V0TW9kdWxlLT5wYXJmaWxsc2tpcExFLCBTSUdOQUwodGV4dENoYW5nZWQoY29uc3QgUVN0
cmluZyAmKSksCisJCXRoaXMsIFNMT1QoY2hhbmdlX2FkYXB0b3IoKSkpOworCWNvbm5lY3QodGV4
dExheW91dE1vZHVsZS0+cGFyZmlsbHNraXBMZW5ndGhDTywgU0lHTkFMKGFjdGl2YXRlZChpbnQp
KSwKKwkJdGhpcywgU0xPVChjaGFuZ2VfYWRhcHRvcigpKSk7CisKIAljb25uZWN0KHRleHRMYXlv
dXRNb2R1bGUtPmluZGVudFJCLCBTSUdOQUwodG9nZ2xlZChib29sKSksCiAJCXRoaXMsIFNMT1Qo
ZW5hYmxlSW5kZW50KGJvb2wpKSk7CiAJY29ubmVjdCh0ZXh0TGF5b3V0TW9kdWxlLT5za2lwUkIs
IFNJR05BTCh0b2dnbGVkKGJvb2wpKSwKQEAgLTkxOCw2ICs5MjcsMTUgQEAgR3VpRG9jdW1lbnQ6
Okd1aURvY3VtZW50KEd1aVZpZXcgJiBsdikKIAl0ZXh0TGF5b3V0TW9kdWxlLT5za2lwQ08tPmFk
ZEl0ZW0ocXRfKCJNZWRpdW0gU2tpcCIpLCBWU3BhY2U6Ok1FRFNLSVApOwogCXRleHRMYXlvdXRN
b2R1bGUtPnNraXBDTy0+YWRkSXRlbShxdF8oIkJpZyBTa2lwIiksIFZTcGFjZTo6QklHU0tJUCk7
CiAJdGV4dExheW91dE1vZHVsZS0+c2tpcENPLT5hZGRJdGVtKHF0XygiQ3VzdG9tIiksIFZTcGFj
ZTo6TEVOR1RIKTsKKworCXRleHRMYXlvdXRNb2R1bGUtPnBhcmZpbGxza2lwQ08tPmFkZEl0ZW0o
cXRfKCJEZWZhdWx0IiksIEJ1ZmZlclBhcmFtczo6UGFyZmlsbFNraXBEZWZhdWx0KTsKKwl0ZXh0
TGF5b3V0TW9kdWxlLT5wYXJmaWxsc2tpcENPLT5hZGRJdGVtKHF0XygiTm9uZVtbUGFyZmlsbHNr
aXBdXSIpLCBCdWZmZXJQYXJhbXM6OlBhcmZpbGxTa2lwTm9uZSk7CisJdGV4dExheW91dE1vZHVs
ZS0+cGFyZmlsbHNraXBDTy0+YWRkSXRlbShxdF8oIjEvNCBvZiBMaW5lIiksIEJ1ZmZlclBhcmFt
czo6UGFyZmlsbFNraXBRdWFydGVyTGluZSk7CisJdGV4dExheW91dE1vZHVsZS0+cGFyZmlsbHNr
aXBDTy0+YWRkSXRlbShxdF8oIjEvMyBvZiBMaW5lIiksIEJ1ZmZlclBhcmFtczo6UGFyZmlsbFNr
aXBUaGlyZExpbmUpOworCXRleHRMYXlvdXRNb2R1bGUtPnBhcmZpbGxza2lwQ08tPmFkZEl0ZW0o
cXRfKCJDdXN0b20iKSwgQnVmZmVyUGFyYW1zOjpQYXJmaWxsU2tpcEN1c3RvbSk7CisJLy8gcGFy
ZmlsbHNraXAgYWNjZXB0cyBnbHVlIGxlbmd0aAorCXRleHRMYXlvdXRNb2R1bGUtPnBhcmZpbGxz
a2lwTEUtPnNldFZhbGlkYXRvcihnbHVlTGVuZ3RoVmFsaWRhdG9yKHRleHRMYXlvdXRNb2R1bGUt
PnBhcmZpbGxza2lwTEUpKTsKKwogCXRleHRMYXlvdXRNb2R1bGUtPmxzcGFjaW5nQ08tPmluc2Vy
dEl0ZW0oCiAJCVNwYWNpbmc6OlNpbmdsZSwgcXRfKCJTaW5nbGUiKSk7CiAJdGV4dExheW91dE1v
ZHVsZS0+bHNwYWNpbmdDTy0+aW5zZXJ0SXRlbSgKQEAgLTkzMSw2ICs5NDksOCBAQCBHdWlEb2N1
bWVudDo6R3VpRG9jdW1lbnQoR3VpVmlldyAmIGx2KQogCWJjKCkuYWRkQ2hlY2tlZExpbmVFZGl0
UGFuZWwodGV4dExheW91dE1vZHVsZS0+aW5kZW50TEUsIGRvY1BTLCBOXygiVGV4dCBMYXlvdXQi
KSk7CiAJYmMoKS5hZGRDaGVja2VkTGluZUVkaXQodGV4dExheW91dE1vZHVsZS0+c2tpcExFLCB0
ZXh0TGF5b3V0TW9kdWxlLT5za2lwUkIpOwogCWJjKCkuYWRkQ2hlY2tlZExpbmVFZGl0UGFuZWwo
dGV4dExheW91dE1vZHVsZS0+c2tpcExFLCBkb2NQUywgTl8oIlRleHQgTGF5b3V0IikpOworCWJj
KCkuYWRkQ2hlY2tlZExpbmVFZGl0KHRleHRMYXlvdXRNb2R1bGUtPnBhcmZpbGxza2lwTEUsIHRl
eHRMYXlvdXRNb2R1bGUtPnBhcmZpbGxza2lwTEEpOworCWJjKCkuYWRkQ2hlY2tlZExpbmVFZGl0
UGFuZWwodGV4dExheW91dE1vZHVsZS0+cGFyZmlsbHNraXBMRSwgZG9jUFMsIE5fKCJUZXh0IExh
eW91dCIpKTsKIAogCXRleHRMYXlvdXRNb2R1bGUtPnRhYmxlU3R5bGVDTy0+YWRkSXRlbShxdF8o
IkRlZmF1bHQiKSwgdG9xc3RyKCJkZWZhdWx0IikpOwogCWdldFRhYmxlU3R5bGVzKCk7CkBAIC0y
MzE5LDYgKzIzMzksMTkgQEAgdm9pZCBHdWlEb2N1bWVudDo6c2V0U2tpcChpbnQgaXRlbSkKIH0K
IAogCit2b2lkIEd1aURvY3VtZW50OjpzZXRQYXJmaWxsU2tpcChpbnQgaXRlbSkKK3sKKwlCdWZm
ZXJQYXJhbXM6OlBhcmZpbGxTa2lwIGtpbmQgPQorCQlCdWZmZXJQYXJhbXM6OlBhcmZpbGxTa2lw
KHRleHRMYXlvdXRNb2R1bGUtPnBhcmZpbGxza2lwQ08tPml0ZW1EYXRhKGl0ZW0pLnRvSW50KCkp
OworCWJvb2wgY29uc3QgZW5hYmxlID0gKGtpbmQgPT0gQnVmZmVyUGFyYW1zOjpQYXJmaWxsU2tp
cEN1c3RvbSk7CisJdGV4dExheW91dE1vZHVsZS0+cGFyZmlsbHNraXBMRS0+c2V0RW5hYmxlZChl
bmFibGUpOworCXRleHRMYXlvdXRNb2R1bGUtPnBhcmZpbGxza2lwTGVuZ3RoQ08tPnNldEVuYWJs
ZWQoZW5hYmxlKTsKKwkvLyBuZWVkZWQgdG8gY2F0Y2ggZW1wdHkgY3VzdG9tIGNhc2UKKwliYygp
LnJlZnJlc2goKTsKKwlpc1ZhbGlkKCk7Cit9CisKKwogdm9pZCBHdWlEb2N1bWVudDo6ZW5hYmxl
U2tpcChib29sIHNraXApCiB7CiAJdGV4dExheW91dE1vZHVsZS0+aW5kZW50TEUtPnNldEVuYWJs
ZWQoIXNraXApOwpAQCAtNDQyNiw2ICs0NDU5LDE2IEBAIHZvaWQgR3VpRG9jdW1lbnQ6OmFwcGx5
VmlldygpCiAJCQlicmVhazsKIAkJfQogCX0KKwlicF8ucGFyZmlsbF9za2lwID0gQnVmZmVyUGFy
YW1zOjpQYXJmaWxsU2tpcCh0ZXh0TGF5b3V0TW9kdWxlLT5wYXJmaWxsc2tpcENPLT5pdGVtRGF0
YSgKKwkJCXRleHRMYXlvdXRNb2R1bGUtPnBhcmZpbGxza2lwQ08tPmN1cnJlbnRJbmRleCgpKS50
b0ludCgpKTsKKwlpZiAoYnBfLnBhcmZpbGxfc2tpcCA9PSBCdWZmZXJQYXJhbXM6OlBhcmZpbGxT
a2lwQ3VzdG9tKSB7CisJCUdsdWVMZW5ndGggcGFyZmlsbHNraXAod2lkZ2V0c1RvTGVuZ3RoKHRl
eHRMYXlvdXRNb2R1bGUtPnBhcmZpbGxza2lwTEUsCisJCQkJCQkgdGV4dExheW91dE1vZHVsZS0+
cGFyZmlsbHNraXBMZW5ndGhDTykpOworCQlicF8uc2V0UGFyRmlsbFNraXAocGFyZmlsbHNraXAp
OworCX0gZWxzZQorCQkvLyBkZWZhdWx0CisJCWJwXy5zZXRQYXJGaWxsU2tpcChHbHVlTGVuZ3Ro
KCkpOworCiAJYnBfLnRhYmxlc3R5bGUgPSBmcm9tcXN0cih0ZXh0TGF5b3V0TW9kdWxlLT50YWJs
ZVN0eWxlQ08tPml0ZW1EYXRhKAogCQkJCSAgICAgIHRleHRMYXlvdXRNb2R1bGUtPnRhYmxlU3R5
bGVDTy0+Y3VycmVudEluZGV4KCkpLnRvU3RyaW5nKCkpOwogCkBAIC01MDYyLDYgKzUxMDUsMTIg
QEAgdm9pZCBHdWlEb2N1bWVudDo6cGFyYW1zVG9EaWFsb2coKQogCQlzZXRTa2lwKHRleHRMYXlv
dXRNb2R1bGUtPnNraXBDTy0+Y3VycmVudEluZGV4KCkpOwogCX0KIAorCXRleHRMYXlvdXRNb2R1
bGUtPnBhcmZpbGxza2lwQ08tPnNldEN1cnJlbnRJbmRleCh0ZXh0TGF5b3V0TW9kdWxlLT5wYXJm
aWxsc2tpcENPLT5maW5kRGF0YShicF8ucGFyZmlsbF9za2lwKSk7CisKKwlsZW5ndGhUb1dpZGdl
dHModGV4dExheW91dE1vZHVsZS0+cGFyZmlsbHNraXBMRSwKKwkJdGV4dExheW91dE1vZHVsZS0+
cGFyZmlsbHNraXBMZW5ndGhDTywKKwkJYnBfLmdldFBhcmZpbGxTa2lwKCkuYXNTdHJpbmcoKSwg
ZGVmYXVsdF91bml0KTsKKwogCXRleHRMYXlvdXRNb2R1bGUtPnR3b0NvbHVtbkNCLT5zZXRDaGVj
a2VkKAogCQlicF8uY29sdW1ucyA9PSAyKTsKIAl0ZXh0TGF5b3V0TW9kdWxlLT5qdXN0Q08tPnNl
dEN1cnJlbnRJbmRleCh0ZXh0TGF5b3V0TW9kdWxlLT5qdXN0Q08tPmZpbmREYXRhKHRvcXN0cihi
cF8uanVzdGlmaWNhdGlvbikpKTsKZGlmZiAtLWdpdCBhL3NyYy9mcm9udGVuZHMvcXQvR3VpRG9j
dW1lbnQuaCBiL3NyYy9mcm9udGVuZHMvcXQvR3VpRG9jdW1lbnQuaAppbmRleCA0MTI5MGEzYTc0
Li5iNWNjMWNmMDVmIDEwMDY0NAotLS0gYS9zcmMvZnJvbnRlbmRzL3F0L0d1aURvY3VtZW50LmgK
KysrIGIvc3JjL2Zyb250ZW5kcy9xdC9HdWlEb2N1bWVudC5oCkBAIC0xNDAsNiArMTQwLDcgQEAg
cHJpdmF0ZSBRX1NMT1RTOgogCXZvaWQgZW5hYmxlSW5kZW50KGJvb2wpOwogCXZvaWQgc2V0U2tp
cChpbnQpOwogCXZvaWQgZW5hYmxlU2tpcChib29sKTsKKwl2b2lkIHNldFBhcmZpbGxTa2lwKGlu
dCk7CiAJdm9pZCBhbGxvd01hdGhJbmRlbnQoKTsKIAl2b2lkIGVuYWJsZU1hdGhJbmRlbnQoaW50
KTsKIAl2b2lkIGJyb3dzZUxheW91dCgpOwpkaWZmIC0tZ2l0IGEvc3JjL2Zyb250ZW5kcy9xdC9M
ZW5ndGhDb21iby5jcHAgYi9zcmMvZnJvbnRlbmRzL3F0L0xlbmd0aENvbWJvLmNwcAppbmRleCAx
YWI2ZDdkZjI0Li44NTFlMmZjMjg2IDEwMDY0NAotLS0gYS9zcmMvZnJvbnRlbmRzL3F0L0xlbmd0
aENvbWJvLmNwcAorKysgYi9zcmMvZnJvbnRlbmRzL3F0L0xlbmd0aENvbWJvLmNwcApAQCAtMjgs
OSArMjgsMTAgQEAgTGVuZ3RoQ29tYm86Okxlbmd0aENvbWJvKFFXaWRnZXQgKiBwYXJlbnQpCiAJ
OiBRQ29tYm9Cb3gocGFyZW50KQogewogCWZvciAoaW50IGkgPSAwOyBpIDwgbHl4OjpudW1fdW5p
dHM7IGkrKykgewotCQkvLyBtdSBkb2VzIG5vdCBtYWtlIHNlbnNlIHVzdWFsbHkKKwkJLy8gbXUg
YW5kIGZpbCBkbyBub3QgbWFrZSBzZW5zZSB1c3VhbGx5CiAJCS8vIHNvIGl0IG11c3QgYmUgYWRk
ZWQgbWFudWFsbHksIGlmIG5lZWRlZAotCQlpZiAoUUxhdGluMVN0cmluZyhseXg6OnVuaXRfbmFt
ZVtpXSkgPT0gIm11IikKKwkJaWYgKFFMYXRpbjFTdHJpbmcobHl4Ojp1bml0X25hbWVbaV0pID09
ICJtdSIKKwkJICAgIHx8IFFMYXRpbjFTdHJpbmcobHl4Ojp1bml0X25hbWVbaV0pID09ICJmaWwi
KQogCQkJY29udGludWU7CiAJCVFDb21ib0JveDo6YWRkSXRlbShseXg6OnF0XyhseXg6OnVuaXRf
bmFtZV9ndWlbaV0pLAogCQkJbHl4Ojp0b3FzdHIobHl4Ojp1bml0X25hbWVbaV0pKTsKZGlmZiAt
LWdpdCBhL3NyYy9mcm9udGVuZHMvcXQvdWkvVGV4dExheW91dFVpLnVpIGIvc3JjL2Zyb250ZW5k
cy9xdC91aS9UZXh0TGF5b3V0VWkudWkKaW5kZXggM2MyMTk1YTBiMy4uZjlkOTJiMjVkMiAxMDA2
NDQKLS0tIGEvc3JjL2Zyb250ZW5kcy9xdC91aS9UZXh0TGF5b3V0VWkudWkKKysrIGIvc3JjL2Zy
b250ZW5kcy9xdC91aS9UZXh0TGF5b3V0VWkudWkKQEAgLTYsMTQgKzYsMTQgQEAKICAgIDxyZWN0
PgogICAgIDx4PjA8L3g+CiAgICAgPHk+MDwveT4KLSAgICA8d2lkdGg+NDcwPC93aWR0aD4KLSAg
ICA8aGVpZ2h0PjQ2ODwvaGVpZ2h0PgorICAgIDx3aWR0aD40OTU8L3dpZHRoPgorICAgIDxoZWln
aHQ+NTEwPC9oZWlnaHQ+CiAgICA8L3JlY3Q+CiAgIDwvcHJvcGVydHk+CiAgIDxwcm9wZXJ0eSBu
YW1lPSJ3aW5kb3dUaXRsZSI+CiAgICA8c3RyaW5nLz4KICAgPC9wcm9wZXJ0eT4KLSAgPGxheW91
dCBjbGFzcz0iUUdyaWRMYXlvdXQiIG5hbWU9ImdyaWRMYXlvdXRfNCI+CisgIDxsYXlvdXQgY2xh
c3M9IlFHcmlkTGF5b3V0IiBuYW1lPSJncmlkTGF5b3V0XzUiPgogICAgPGl0ZW0gcm93PSIwIiBj
b2x1bW49IjAiPgogICAgIDx3aWRnZXQgY2xhc3M9IlFHcm91cEJveCIgbmFtZT0ic2VwYXJhdGVH
QiI+CiAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0aXRsZSI+CkBAIC0xOTgsNiArMTk4LDcxIEBACiAg
ICAgPC93aWRnZXQ+CiAgICA8L2l0ZW0+CiAgICA8aXRlbSByb3c9IjEiIGNvbHVtbj0iMCI+Cisg
ICAgPHdpZGdldCBjbGFzcz0iUUdyb3VwQm94IiBuYW1lPSJwYXJmaWxsR0IiPgorICAgICA8cHJv
cGVydHkgbmFtZT0idGl0bGUiPgorICAgICAgPHN0cmluZz5QYXJhZ3JhcGggRmlsbDwvc3RyaW5n
PgorICAgICA8L3Byb3BlcnR5PgorICAgICA8bGF5b3V0IGNsYXNzPSJRR3JpZExheW91dCIgbmFt
ZT0iZ3JpZExheW91dF80Ij4KKyAgICAgIDxpdGVtIHJvdz0iMCIgY29sdW1uPSIwIj4KKyAgICAg
ICA8d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9InBhcmZpbGxza2lwTEEiPgorICAgICAgICA8
cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICA8c3RyaW5nPk1hJmFtcDt4aW11bSBsYXN0
IGxpbmUgZmlsbDo8L3N0cmluZz4KKyAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgPHByb3Bl
cnR5IG5hbWU9ImJ1ZGR5Ij4KKyAgICAgICAgIDxjc3RyaW5nPnBhcmZpbGxza2lwQ088L2NzdHJp
bmc+CisgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgPC93aWRnZXQ+CisgICAgICA8L2l0ZW0+
CisgICAgICA8aXRlbSByb3c9IjAiIGNvbHVtbj0iMSI+CisgICAgICAgPHdpZGdldCBjbGFzcz0i
UUNvbWJvQm94IiBuYW1lPSJwYXJmaWxsc2tpcENPIj4KKyAgICAgICAgPHByb3BlcnR5IG5hbWU9
InRvb2xUaXAiPgorICAgICAgICAgPHN0cmluZz5TcGVjaWZpeSB0aGUgbWluaW11bSBhbW91bnQg
b2YgZnJlZSBzcGFjZSBpbiB0aGUgbGFzdCBsaW5lIG9mIGEgcGFyYWdyYXBoPC9zdHJpbmc+Cisg
ICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgPC93aWRnZXQ+CisgICAgICA8L2l0ZW0+CisgICAg
ICA8aXRlbSByb3c9IjAiIGNvbHVtbj0iMiI+CisgICAgICAgPHdpZGdldCBjbGFzcz0iUUxpbmVF
ZGl0IiBuYW1lPSJwYXJmaWxsc2tpcExFIj4KKyAgICAgICAgPHByb3BlcnR5IG5hbWU9ImVuYWJs
ZWQiPgorICAgICAgICAgPGJvb2w+ZmFsc2U8L2Jvb2w+CisgICAgICAgIDwvcHJvcGVydHk+Cisg
ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAgIDxzdHJpbmcvPgorICAg
ICAgICA8L3Byb3BlcnR5PgorICAgICAgICA8cHJvcGVydHkgbmFtZT0iaW5wdXRNZXRob2RIaW50
cyI+CisgICAgICAgICA8c2V0PlF0OjpJbWhGb3JtYXR0ZWROdW1iZXJzT25seTwvc2V0PgorICAg
ICAgICA8L3Byb3BlcnR5PgorICAgICAgIDwvd2lkZ2V0PgorICAgICAgPC9pdGVtPgorICAgICAg
PGl0ZW0gcm93PSIwIiBjb2x1bW49IjMiPgorICAgICAgIDx3aWRnZXQgY2xhc3M9Imx5eDo6ZnJv
bnRlbmQ6Okxlbmd0aENvbWJvIiBuYW1lPSJwYXJmaWxsc2tpcExlbmd0aENPIj4KKyAgICAgICAg
PHByb3BlcnR5IG5hbWU9ImVuYWJsZWQiPgorICAgICAgICAgPGJvb2w+ZmFsc2U8L2Jvb2w+Cisg
ICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAg
ICAgICAgIDxzdHJpbmcvPgorICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICA8cHJvcGVydHkg
bmFtZT0iaW5wdXRNZXRob2RIaW50cyI+CisgICAgICAgICA8c2V0PlF0OjpJbWhGb3JtYXR0ZWRO
dW1iZXJzT25seXxRdDo6SW1oTGF0aW5Pbmx5PC9zZXQ+CisgICAgICAgIDwvcHJvcGVydHk+Cisg
ICAgICAgPC93aWRnZXQ+CisgICAgICA8L2l0ZW0+CisgICAgICA8aXRlbSByb3c9IjAiIGNvbHVt
bj0iNCI+CisgICAgICAgPHNwYWNlciBuYW1lPSJzcGFjZXIiPgorICAgICAgICA8cHJvcGVydHkg
bmFtZT0ib3JpZW50YXRpb24iPgorICAgICAgICAgPGVudW0+UXQ6Okhvcml6b250YWw8L2VudW0+
CisgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzaXplSGludCIg
c3Rkc2V0PSIwIj4KKyAgICAgICAgIDxzaXplPgorICAgICAgICAgIDx3aWR0aD4yPC93aWR0aD4K
KyAgICAgICAgICA8aGVpZ2h0PjIwPC9oZWlnaHQ+CisgICAgICAgICA8L3NpemU+CisgICAgICAg
IDwvcHJvcGVydHk+CisgICAgICAgPC9zcGFjZXI+CisgICAgICA8L2l0ZW0+CisgICAgIDwvbGF5
b3V0PgorICAgIDwvd2lkZ2V0PgorICAgPC9pdGVtPgorICAgPGl0ZW0gcm93PSIyIiBjb2x1bW49
IjAiPgogICAgIDx3aWRnZXQgY2xhc3M9IlFHcm91cEJveCIgbmFtZT0ic3BhY2luZ0dCIj4KICAg
ICAgPHByb3BlcnR5IG5hbWU9Im1pbmltdW1TaXplIj4KICAgICAgIDxzaXplPgpAQCAtMjcwLDcg
KzMzNSw3IEBACiAgICAgIDwvbGF5b3V0PgogICAgIDwvd2lkZ2V0PgogICAgPC9pdGVtPgotICAg
PGl0ZW0gcm93PSIyIiBjb2x1bW49IjAiPgorICAgPGl0ZW0gcm93PSIzIiBjb2x1bW49IjAiPgog
ICAgIDx3aWRnZXQgY2xhc3M9IlFHcm91cEJveCIgbmFtZT0idGFibGVTdHlsZUdCIj4KICAgICAg
PHByb3BlcnR5IG5hbWU9InRpdGxlIj4KICAgICAgIDxzdHJpbmc+VGFibGUgU3R5bGU8L3N0cmlu
Zz4KQEAgLTMxOSw3ICszODQsNyBAQAogICAgICA8L2xheW91dD4KICAgICA8L3dpZGdldD4KICAg
IDwvaXRlbT4KLSAgIDxpdGVtIHJvdz0iMyIgY29sdW1uPSIwIj4KKyAgIDxpdGVtIHJvdz0iNCIg
Y29sdW1uPSIwIj4KICAgICA8d2lkZ2V0IGNsYXNzPSJRQ2hlY2tCb3giIG5hbWU9InR3b0NvbHVt
bkNCIj4KICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2xUaXAiPgogICAgICAgPHN0cmluZz5Gb3Jt
YXQgdGV4dCBpbnRvIHR3byBjb2x1bW5zPC9zdHJpbmc+CkBAIC0zMjksNyArMzk0LDcgQEAKICAg
ICAgPC9wcm9wZXJ0eT4KICAgICA8L3dpZGdldD4KICAgIDwvaXRlbT4KLSAgIDxpdGVtIHJvdz0i
NCIgY29sdW1uPSIwIj4KKyAgIDxpdGVtIHJvdz0iNSIgY29sdW1uPSIwIj4KICAgICA8bGF5b3V0
IGNsYXNzPSJRSEJveExheW91dCIgbmFtZT0iaG9yaXpvbnRhbExheW91dF8yIj4KICAgICAgPGl0
ZW0+CiAgICAgICA8d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9Imp1c3RMQSI+CkBAIC0zNjYs
NyArNDMxLDcgQEAKICAgICAgPC9pdGVtPgogICAgIDwvbGF5b3V0PgogICAgPC9pdGVtPgotICAg
PGl0ZW0gcm93PSI1IiBjb2x1bW49IjAiPgorICAgPGl0ZW0gcm93PSI2IiBjb2x1bW49IjAiPgog
ICAgIDxzcGFjZXI+CiAgICAgIDxwcm9wZXJ0eSBuYW1lPSJvcmllbnRhdGlvbiI+CiAgICAgICA8
ZW51bT5RdDo6VmVydGljYWw8L2VudW0+CmRpZmYgLS1naXQgYS9zcmMvc3VwcG9ydC9MZW5ndGgu
Y3BwIGIvc3JjL3N1cHBvcnQvTGVuZ3RoLmNwcAppbmRleCBmNWM3MjNmNTQzLi5jZGMwMDQ5ZTM2
IDEwMDY0NAotLS0gYS9zcmMvc3VwcG9ydC9MZW5ndGguY3BwCisrKyBiL3NyYy9zdXBwb3J0L0xl
bmd0aC5jcHAKQEAgLTE0Miw2ICsxNDIsNyBAQCBzdHJpbmcgY29uc3QgTGVuZ3RoOjphc0hUTUxT
dHJpbmcoKSBjb25zdAogCQlvcyA8PCBmb3JtYXRGUE51bWJlcih2YWxfKSA8PCAnJSc7CiAJCWJy
ZWFrOwogCWNhc2UgU1A6CisJY2FzZSBGSUw6CiAJY2FzZSBVTklUX05PTkU6CiAJCWJyZWFrOwog
CX0KQEAgLTI1MSw2ICsyNTIsNyBAQCBkb3VibGUgTGVuZ3RoOjppbkluY2goZG91YmxlIHRleHRf
d2lkdGgsIGRvdWJsZSBlbV93aWR0aCwgZG91YmxlIG1hcmdpbikgY29uc3QKIAkJLy8gYnV0IHdl
IGRvIG5vdCBoYXZlIHRoaXMgaW5mb3JtYXRpb24gaGVyZS4KIAkJcmVzdWx0ID0gdmFsXyAqIGVt
X3dpZHRoICogMS4yIC8gMTAwOwogCQlicmVhazsKKwljYXNlIEZJTDoKIAljYXNlIExlbmd0aDo6
VU5JVF9OT05FOgogCQlyZXN1bHQgPSAwOyAgLy8gdGhpcyBjYW5ub3QgaGFwcGVuCiAJCWJyZWFr
OwpkaWZmIC0tZ2l0IGEvc3JjL3N1cHBvcnQvTGVuZ3RoLmggYi9zcmMvc3VwcG9ydC9MZW5ndGgu
aAppbmRleCA3ODYzYTljZmE1Li44NjVmNjFlNzkxIDEwMDY0NAotLS0gYS9zcmMvc3VwcG9ydC9M
ZW5ndGguaAorKysgYi9zcmMvc3VwcG9ydC9MZW5ndGguaApAQCAtNDQsNiArNDQsNyBAQCBwdWJs
aWM6CiAJCURELCAvLy88IERpZG90IHBvaW50ID0gMS83MiBvZiBhIEZyZW5jaCBpbmNoLCA9IDAu
Mzc2bW0KIAkJRU0sIC8vLzwgV2lkdGggb2YgY2FwaXRhbCAiTSIgaW4gY3VycmVudCBmb250Lgog
CQlFWCwgLy8vPCBIZWlnaHQgb2YgYSBzbWFsbCAieCIgZm9yIHRoZSBjdXJyZW50IGZvbnQuCisJ
CUZJTCwgLy8vPCBTdHJldGNoYWJsZSBzcGFjZSwgdXNlZCBhcyBnbHVlLgogCQlJTiwgLy8vPCBJ
bmNoID0gMjUuNG1tID0gNzIuMjdwdCA9IDYuMDIycGMKIAkJTU0sIC8vLzwgTWlsbGltZXRlciA9
IDIuODQ1cHQKIAkJTVUsIC8vLzwgTWF0aCB1bml0ICgxOG11ID0gMWVtKSBmb3IgcG9zaXRpb25p
bmcgaW4gbWF0aCBtb2RlCmRpZmYgLS1naXQgYS9zcmMvc3VwcG9ydC9sZW5ndGhjb21tb24uY3Bw
IGIvc3JjL3N1cHBvcnQvbGVuZ3RoY29tbW9uLmNwcAppbmRleCAzMDNkYmNiYzFmLi5mODM3ZjU1
YzYzIDEwMDY0NAotLS0gYS9zcmMvc3VwcG9ydC9sZW5ndGhjb21tb24uY3BwCisrKyBiL3NyYy9z
dXBwb3J0L2xlbmd0aGNvbW1vbi5jcHAKQEAgLTI4LDcgKzI4LDcgQEAgbmFtZXNwYWNlIGx5eCB7
CiAKIC8vIHRoZSBsYXRleCB1bml0cwogY2hhciBjb25zdCAqIGNvbnN0IHVuaXRfbmFtZVtdID0g
ewotCSJicCIsICJjYyIsICJjbSIsICJkZCIsICJlbSIsICJleCIsICJpbiIsICJtbSIsICJtdSIs
CisJImJwIiwgImNjIiwgImNtIiwgImRkIiwgImVtIiwgImV4IiwgImZpbCIsICJpbiIsICJtbSIs
ICJtdSIsCiAJInBjIiwgInB0IiwgInNwIiwKIAkidGV4dCUiLCAgImNvbCUiLCAicGFnZSUiLCAi
bGluZSUiLAogCSJ0aGVpZ2h0JSIsICJwaGVpZ2h0JSIsICJiYXNlbGluZXNraXAlIiwgIiIgfTsK
QEAgLTM4LDcgKzM4LDcgQEAgaW50IGNvbnN0IG51bV91bml0cyA9IGludChzaXplb2YodW5pdF9u
YW1lKSAvIHNpemVvZih1bml0X25hbWVbMF0pIC0gMSk7CiAvLyB0aGUgTHlYIGd1aSB1bml0cwog
Y2hhciBjb25zdCAqIGNvbnN0IHVuaXRfbmFtZV9ndWlbXSA9IHsKIAlOXygiYnAiKSwgTl8oImNj
W1t1bml0IG9mIG1lYXN1cmVdXSIpLCBOXygiY20iKSwgTl8oImRkIiksIE5fKCJlbSIpLAotCU5f
KCJleCIpLCBOXygiaW5bW3VuaXQgb2YgbWVhc3VyZV1dIiksIE5fKCJtbSIpLCBOXygibXVbW3Vu
aXQgb2YgbWVhc3VyZV1dIiksIE5fKCJwYyIpLAorCU5fKCJleCIpLCBOXygiRWxhc3RpYyIpLCBO
XygiaW5bW3VuaXQgb2YgbWVhc3VyZV1dIiksIE5fKCJtbSIpLCBOXygibXVbW3VuaXQgb2YgbWVh
c3VyZV1dIiksIE5fKCJwYyIpLAogCU5fKCJwdCIpLCBOXygic3AiKSwgTl8oIlRleHQgV2lkdGgg
JSIpLAogCU5fKCJDb2x1bW4gV2lkdGggJSIpLCBOXygiUGFnZSBXaWR0aCAlIiksIE5fKCJMaW5l
IFdpZHRoICUiKSwKIAlOXygiVGV4dCBIZWlnaHQgJSIpLCBOXygiUGFnZSBIZWlnaHQgJSIpLCBO
XygiTGluZSBEaXN0YW5jZSAlIiksICIiIH07CmRpZmYgLS1naXQgYS9zcmMvdmVyc2lvbi5oIGIv
c3JjL3ZlcnNpb24uaAppbmRleCA4YTQ5NGRmMjViLi5jZDQ3YjYyNjhkIDEwMDY0NAotLS0gYS9z
cmMvdmVyc2lvbi5oCisrKyBiL3NyYy92ZXJzaW9uLmgKQEAgLTMyLDggKzMyLDggQEAgZXh0ZXJu
IGNoYXIgY29uc3QgKiBjb25zdCBseXhfdmVyc2lvbl9pbmZvOwogCiAvLyBEbyBub3QgcmVtb3Zl
IHRoZSBjb21tZW50IGJlbG93LCBzbyB3ZSBnZXQgbWVyZ2UgY29uZmxpY3QgaW4KIC8vIGluZGVw
ZW5kZW50IGJyYW5jaGVzLiBJbnN0ZWFkIGFkZCB5b3VyIG93bi4KLSNkZWZpbmUgTFlYX0ZPUk1B
VF9MWVggNjU1IC8vIGtvamk6IEFSR0IgY29sb3JzCi0jZGVmaW5lIExZWF9GT1JNQVRfVEVYMkxZ
WCA2NTUKKyNkZWZpbmUgTFlYX0ZPUk1BVF9MWVggNjU2IC8vIHNwaXR6OiBwYXJmaWxsc2tpcAor
I2RlZmluZSBMWVhfRk9STUFUX1RFWDJMWVggNjU2CiAKICNpZiBMWVhfRk9STUFUX1RFWDJMWVgg
IT0gTFlYX0ZPUk1BVF9MWVgKICNpZm5kZWYgX01TQ19WRVIKLS0gCmx5eC1jdnMgbWFpbGluZyBs
aXN0Cmx5eC1jdnNAbGlzdHMubHl4Lm9yZwpodHRwczovL2xpc3RzLmx5eC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9seXgtY3ZzCg==