Security issues in printf() and family

Martin Řehák via Gimp-print-devel <[email protected]> Fri, 20 Feb 2026 06:39:01 +0100
Newsgroups gmane.linux.printing.gimp-print.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------GsnDFH5V0q000YRaQryMgtEZ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hello,

while building gutenprint-5.3.6-2026-02-16T02-19 I am getting security 
related build warnings and errors. Output and patch to resolve the 
issues attached.

Please consider merging.

Thank you,
Martin Rehak
--------------GsnDFH5V0q000YRaQryMgtEZ
Content-Type: text/plain; charset=UTF-8; name="error.txt"
Content-Disposition: attachment; filename="error.txt"
Content-Transfer-Encoding: base64

KGNkIC9idWlsZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2J1
aWxkL2FtZDY0IDsgL3Vzci9iaW4vZW52IExEX09QVElPTlM9Ii1NIC91c3IvbGliL2xkL21h
cC5ub2V4ZGF0YSAtTSAvdXNyL2xpYi9sZC9tYXAucGFnZWFsaWduIC1CZGlyZWN0IC16aWdu
b3JlIC16c3RyaXAtY2xhc3M9Y29tbWVudCIgTERfRVhFQ19PUFRJT05TPSItenR5cGU9cGll
IC16c3g9YXNscj1lbmFibGUgLXpzeD1ueHN0YWNrPWVuYWJsZSAtenN4PW54aGVhcD1lbmFi
bGUgIC16Y3RmPWNvbXByZXNzLGlnbm9yZS1ub24tYyxyZXF1aXJlICIgTERfUElFX09QVElP
TlM9Ii16c3g9YXNscj1lbmFibGUgLXpzeD1ueHN0YWNrPWVuYWJsZSAtenN4PW54aGVhcD1l
bmFibGUgIC16Y3RmPWNvbXByZXNzLGlnbm9yZS1ub24tYyxyZXF1aXJlICIgTERfU0hBUkVE
X09QVElPTlM9Ii16dGV4dCAgLXpjdGY9Y29tcHJlc3MsaWdub3JlLW5vbi1jLHJlcXVpcmUg
IiAgUEtHX0NPTkZJR19QQVRIPSIvdXNyL2xpYi9hbWQ2NC9wa2djb25maWciICJhY19jdl9m
dW5jX3JlYWxsb2NfMF9ub25udWxsPXllcyIgSU5UTFRPT0xfUEVSTD0iL3Vzci9wZXJsNS81
LjQyL2Jpbi9wZXJsIiBodHRwX3Byb3h5PSBodHRwc19wcm94eT0gZnRwX3Byb3h5PSBHSV9T
Q0FOTkVSX0RJU0FCTEVfQ0FDSEU9IiIgXAoJL3Vzci9nbnUvYmluL21ha2UgLWogMjAgLWwg
NDAgIGFsbCkKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvYnVpbGRzL21yZWhhay9n
dXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9idWlsZC9hbWQ2NCcKL3Vzci9nbnUv
YmluL21ha2UgIGFsbC1yZWN1cnNpdmUKbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcv
YnVpbGRzL21yZWhhay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9idWlsZC9h
bWQ2NCcKTWFraW5nIGFsbCBpbiBpbmNsdWRlCm1ha2VbM106IEVudGVyaW5nIGRpcmVjdG9y
eSAnL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvYnVp
bGQvYW1kNjQvaW5jbHVkZScKTWFraW5nIGFsbCBpbiBndXRlbnByaW50Cm1ha2VbNF06IEVu
dGVyaW5nIGRpcmVjdG9yeSAnL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRz
L2d1dGVucHJpbnQvYnVpbGQvYW1kNjQvaW5jbHVkZS9ndXRlbnByaW50JwptYWtlWzRdOiBO
b3RoaW5nIHRvIGJlIGRvbmUgZm9yICdhbGwnLgptYWtlWzRdOiBMZWF2aW5nIGRpcmVjdG9y
eSAnL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvYnVp
bGQvYW1kNjQvaW5jbHVkZS9ndXRlbnByaW50JwpNYWtpbmcgYWxsIGluIGd1dGVucHJpbnR1
aTIKbWFrZVs0XTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvYnVpbGRzL21yZWhhay9ndXRlbnBy
aW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9idWlsZC9hbWQ2NC9pbmNsdWRlL2d1dGVucHJp
bnR1aTInCm1ha2VbNF06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgJ2FsbCcuCm1ha2VbNF06
IExlYXZpbmcgZGlyZWN0b3J5ICcvYnVpbGRzL21yZWhhay9ndXRlbnByaW50L2NvbXBvbmVu
dHMvZ3V0ZW5wcmludC9idWlsZC9hbWQ2NC9pbmNsdWRlL2d1dGVucHJpbnR1aTInCm1ha2Vb
NF06IEVudGVyaW5nIGRpcmVjdG9yeSAnL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21w
b25lbnRzL2d1dGVucHJpbnQvYnVpbGQvYW1kNjQvaW5jbHVkZScKbWFrZVs0XTogTm90aGlu
ZyB0byBiZSBkb25lIGZvciAnYWxsLWFtJy4KbWFrZVs0XTogTGVhdmluZyBkaXJlY3Rvcnkg
Jy9idWlsZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2J1aWxk
L2FtZDY0L2luY2x1ZGUnCm1ha2VbM106IExlYXZpbmcgZGlyZWN0b3J5ICcvYnVpbGRzL21y
ZWhhay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9idWlsZC9hbWQ2NC9pbmNs
dWRlJwpNYWtpbmcgYWxsIGluIHNyYwptYWtlWzNdOiBFbnRlcmluZyBkaXJlY3RvcnkgJy9i
dWlsZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2J1aWxkL2Ft
ZDY0L3NyYycKTWFraW5nIGFsbCBpbiBtYWluCm1ha2VbNF06IEVudGVyaW5nIGRpcmVjdG9y
eSAnL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvYnVp
bGQvYW1kNjQvc3JjL21haW4nCiAgQ0MgICAgICAgcHJpbnRlcnMubG8KICBDQyAgICAgICBw
cmludC1lc2NwMi5sbwogIENDICAgICAgIHByaW50LWR5ZXN1Yi5sbwogIENDICAgICAgIHBy
aW50LXJhdy5sbwovYnVpbGRzL21yZWhhay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5w
cmludC9ndXRlbnByaW50LTUuMy42LTIwMjYtMDItMTZUMDItMTktYTAxOWJmOWMvc3JjL21h
aW4vcHJpbnQtcmF3LmM6IEluIGZ1bmN0aW9uICdyYXdfcHJpbnQnOgovYnVpbGRzL21yZWhh
ay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9ndXRlbnByaW50LTUuMy42LTIw
MjYtMDItMTZUMDItMTktYTAxOWJmOWMvc3JjL21haW4vcHJpbnQtcmF3LmM6MjQ3Ojc6IGVy
cm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVu
dHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQogIDI0NyB8ICAgICAgIHN0cF9lcHJpbnRm
KG52LCBfKCJQcmludCBvcHRpb25zIG5vdCB2ZXJpZmllZDsgY2Fubm90IHByaW50LlxuIikp
OwogICAgICB8ICAgICAgIF5+fn5+fn5+fn5+Ci9idWlsZHMvbXJlaGFrL2d1dGVucHJpbnQv
Y29tcG9uZW50cy9ndXRlbnByaW50L2d1dGVucHJpbnQtNS4zLjYtMjAyNi0wMi0xNlQwMi0x
OS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmludC1yYXcuYzoyNTQ6NzogZXJyb3I6IGZvcm1hdCBu
b3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1m
b3JtYXQtc2VjdXJpdHldCiAgMjU0IHwgICAgICAgc3RwX2VwcmludGYobnYsIF8oIkltYWdl
IGRpbWVuc2lvbnMgbXVzdCBtYXRjaCBwYXBlciBkaW1lbnNpb25zIikpOwogICAgICB8ICAg
ICAgIF5+fn5+fn5+fn5+Ci9idWlsZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9n
dXRlbnByaW50L2d1dGVucHJpbnQtNS4zLjYtMjAyNi0wMi0xNlQwMi0xOS1hMDE5YmY5Yy9z
cmMvbWFpbi9wcmludGVycy5jOiBJbiBmdW5jdGlvbiAndmVyaWZ5X3N0cmluZ19wYXJhbSc6
Ci9idWlsZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2d1dGVu
cHJpbnQtNS4zLjYtMjAyNi0wMi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmludGVy
cy5jOjU5OToxNzogd2FybmluZzogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsLCBhcmd1
bWVudCB0eXBlcyBub3QgY2hlY2tlZCBbLVdmb3JtYXQtbm9ubGl0ZXJhbF0KICA1OTkgfCAg
ICAgICAgICAgICAgICAgc3RwX2VwcmludGYodiwgXygiVmFsdWUgbXVzdCBiZSBzZXQgZm9y
ICVzXG4iKSwgcGFyYW1ldGVyKTsKICAgICAgfCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+
fn4KL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0
ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50
ZXJzLmM6NjA4OjEzOiB3YXJuaW5nOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwsIGFy
Z3VtZW50IHR5cGVzIG5vdCBjaGVja2VkIFstV2Zvcm1hdC1ub25saXRlcmFsXQogIDYwOCB8
ICAgICAgICAgICAgIHN0cF9lcHJpbnRmKHYsIF8oImAlcycgaXMgbm90IGEgdmFsaWQgJXNc
biIpLCBjaGVja3ZhbCwgcGFyYW1ldGVyKTsKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+
fn5+fgovYnVpbGRzL21yZWhhay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9n
dXRlbnByaW50LTUuMy42LTIwMjYtMDItMTZUMDItMTktYTAxOWJmOWMvc3JjL21haW4vcHJp
bnRlcnMuYzo2MTM6OTogd2FybmluZzogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsLCBh
cmd1bWVudCB0eXBlcyBub3QgY2hlY2tlZCBbLVdmb3JtYXQtbm9ubGl0ZXJhbF0KICA2MTMg
fCAgICAgICAgIHN0cF9lcHJpbnRmKHYsIF8oImAlcycgaXMgbm90IGEgdmFsaWQgJXNcbiIp
LCBjaGVja3ZhbCwgcGFyYW1ldGVyKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+Ci9i
dWlsZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2d1dGVucHJp
bnQtNS4zLjYtMjAyNi0wMi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmludGVycy5j
OiBJbiBmdW5jdGlvbiAndmVyaWZ5X2RvdWJsZV9wYXJhbSc6Ci9idWlsZHMvbXJlaGFrL2d1
dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2d1dGVucHJpbnQtNS4zLjYtMjAyNi0w
Mi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmludGVycy5jOjYzNDoyNTogd2Fybmlu
ZzogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsLCBhcmd1bWVudCB0eXBlcyBub3QgY2hl
Y2tlZCBbLVdmb3JtYXQtbm9ubGl0ZXJhbF0KICA2MzQgfCAgICAgICAgICAgICAgICAgICAg
ICAgICBkZXNjLT5ib3VuZHMuZGJsLnVwcGVyLCBjaGVja3ZhbCk7CiAgICAgIHwgICAgICAg
ICAgICAgICAgICAgICAgICAgXn5+fgovYnVpbGRzL21yZWhhay9ndXRlbnByaW50L2NvbXBv
bmVudHMvZ3V0ZW5wcmludC9ndXRlbnByaW50LTUuMy42LTIwMjYtMDItMTZUMDItMTktYTAx
OWJmOWMvc3JjL21haW4vcHJpbnRlcnMuYzogSW4gZnVuY3Rpb24gJ3ZlcmlmeV9pbnRfcGFy
YW0nOgovYnVpbGRzL21yZWhhay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9n
dXRlbnByaW50LTUuMy42LTIwMjYtMDItMTZUMDItMTktYTAxOWJmOWMvc3JjL21haW4vcHJp
bnRlcnMuYzo2NTY6MjU6IHdhcm5pbmc6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCwg
YXJndW1lbnQgdHlwZXMgbm90IGNoZWNrZWQgWy1XZm9ybWF0LW5vbmxpdGVyYWxdCiAgNjU2
IHwgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYy0+Ym91bmRzLmludGVnZXIudXBwZXIs
IGNoZWNrdmFsKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefn5+Ci9idWls
ZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2d1dGVucHJpbnQt
NS4zLjYtMjAyNi0wMi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmludGVycy5jOiBJ
biBmdW5jdGlvbiAndmVyaWZ5X2RpbWVuc2lvbl9wYXJhbSc6Ci9idWlsZHMvbXJlaGFrL2d1
dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2d1dGVucHJpbnQtNS4zLjYtMjAyNi0w
Mi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmludGVycy5jOjY4MDoyNTogd2Fybmlu
ZzogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsLCBhcmd1bWVudCB0eXBlcyBub3QgY2hl
Y2tlZCBbLVdmb3JtYXQtbm9ubGl0ZXJhbF0KICA2ODAgfCAgICAgICAgICAgICAgICAgICAg
ICAgICBkZXNjLT5ib3VuZHMuZGltZW5zaW9uLnVwcGVyLCBjaGVja3ZhbCk7CiAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fgovYnVpbGRzL21yZWhhay9ndXRlbnByaW50
L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9ndXRlbnByaW50LTUuMy42LTIwMjYtMDItMTZUMDIt
MTktYTAxOWJmOWMvc3JjL21haW4vcHJpbnRlcnMuYzogSW4gZnVuY3Rpb24gJ3ZlcmlmeV9j
dXJ2ZV9wYXJhbSc6Ci9idWlsZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRl
bnByaW50L2d1dGVucHJpbnQtNS4zLjYtMjAyNi0wMi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMv
bWFpbi9wcmludGVycy5jOjcxMDoyOTogd2FybmluZzogZm9ybWF0IG5vdCBhIHN0cmluZyBs
aXRlcmFsLCBhcmd1bWVudCB0eXBlcyBub3QgY2hlY2tlZCBbLVdmb3JtYXQtbm9ubGl0ZXJh
bF0KICA3MTAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyLCBsMSwg
dTEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KL2J1
aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5wcmlu
dC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50ZXJzLmM6
NzIxOjI5OiB3YXJuaW5nOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwsIGFyZ3VtZW50
IHR5cGVzIG5vdCBjaGVja2VkIFstV2Zvcm1hdC1ub25saXRlcmFsXQogIDcyMSB8ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBfKCJubyB3cmFwIikgOiBfKCJ3cmFwIGFyb3VuZCIp
KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovYnVpbGRzL21yZWhh
ay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9ndXRlbnByaW50LTUuMy42LTIw
MjYtMDItMTZUMDItMTktYTAxOWJmOWMvc3JjL21haW4vcHJpbnRlcnMuYzogSW4gZnVuY3Rp
b24gJ3N0cF92ZXJpZnlfcGFyYW1ldGVyJzoKL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9j
b21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5
LWEwMTliZjljL3NyYy9tYWluL3ByaW50ZXJzLmM6NzY2OjIxOiB3YXJuaW5nOiBmb3JtYXQg
bm90IGEgc3RyaW5nIGxpdGVyYWwsIGFyZ3VtZW50IHR5cGVzIG5vdCBjaGVja2VkIFstV2Zv
cm1hdC1ub25saXRlcmFsXQogIDc2NiB8ICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVy
LCBkZXNjLnBfdHlwZSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4K
L2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5w
cmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50ZXJz
LmM6IEluIGZ1bmN0aW9uICdzdHBfdmVyaWZ5X3ByaW50ZXJfcGFyYW1zJzoKL2J1aWxkcy9t
cmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5wcmludC01LjMu
Ni0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50ZXJzLmM6ODQ5OjEx
OiBlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJn
dW1lbnRzIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0eV0KICA4NDkgfCAgICAgICAgICAgc3Rw
X2VwcmludGYodiwgXygiUGFnZSBzaXplIGlzIG5vdCB2YWxpZFxuIikpOwogICAgICB8ICAg
ICAgICAgICBefn5+fn5+fn5+fgovYnVpbGRzL21yZWhhay9ndXRlbnByaW50L2NvbXBvbmVu
dHMvZ3V0ZW5wcmludC9ndXRlbnByaW50LTUuMy42LTIwMjYtMDItMTZUMDItMTktYTAxOWJm
OWMvc3JjL21haW4vcHJpbnRlcnMuYzo4NzI6Nzogd2FybmluZzogZm9ybWF0IG5vdCBhIHN0
cmluZyBsaXRlcmFsLCBhcmd1bWVudCB0eXBlcyBub3QgY2hlY2tlZCBbLVdmb3JtYXQtbm9u
bGl0ZXJhbF0KICA4NzIgfCAgICAgICBzdHBfZXByaW50Zih2LCBfKCJUb3AgbWFyZ2luIG11
c3Qgbm90IGJlIGxlc3MgdGhhbiAlZlxuIiksIHRvcCk7CiAgICAgIHwgICAgICAgXn5+fn5+
fn5+fn4KL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQv
Z3V0ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3By
aW50ZXJzLmM6ODc4Ojc6IHdhcm5pbmc6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCwg
YXJndW1lbnQgdHlwZXMgbm90IGNoZWNrZWQgWy1XZm9ybWF0LW5vbmxpdGVyYWxdCiAgODc4
IHwgICAgICAgc3RwX2VwcmludGYodiwgXygiTGVmdCBtYXJnaW4gbXVzdCBub3QgYmUgbGVz
cyB0aGFuICVmXG4iKSwgbGVmdCk7CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn4KL2J1aWxk
cy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5wcmludC01
LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50ZXJzLmM6ODg0
Ojc6IGVycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBh
cmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQogIDg4NCB8ICAgICAgIHN0cF9l
cHJpbnRmKHYsIF8oIkhlaWdodCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvXG4iKSk7CiAg
ICAgIHwgICAgICAgXn5+fn5+fn5+fn4KL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21w
b25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEw
MTliZjljL3NyYy9tYWluL3ByaW50ZXJzLmM6ODkwOjc6IGVycm9yOiBmb3JtYXQgbm90IGEg
c3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0
LXNlY3VyaXR5XQogIDg5MCB8ICAgICAgIHN0cF9lcHJpbnRmKHYsIF8oIldpZHRoIG11c3Qg
YmUgZ3JlYXRlciB0aGFuIHplcm9cbiIpKTsKICAgICAgfCAgICAgICBefn5+fn5+fn5+fgov
YnVpbGRzL21yZWhhay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9ndXRlbnBy
aW50LTUuMy42LTIwMjYtMDItMTZUMDItMTktYTAxOWJmOWMvc3JjL21haW4vcHJpbnRlcnMu
Yzo4OTc6MTk6IHdhcm5pbmc6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCwgYXJndW1l
bnQgdHlwZXMgbm90IGNoZWNrZWQgWy1XZm9ybWF0LW5vbmxpdGVyYWxdCiAgODk3IHwgICAg
ICAgICAgICAgICAgICAgc3RwX2dldF9sZWZ0KHYpLCBzdHBfZ2V0X3dpZHRoKHYpLCByaWdo
dCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci9idWlsZHMvbXJl
aGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2d1dGVucHJpbnQtNS4zLjYt
MjAyNi0wMi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmludGVycy5jOjkwNDoxOTog
d2FybmluZzogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsLCBhcmd1bWVudCB0eXBlcyBu
b3QgY2hlY2tlZCBbLVdmb3JtYXQtbm9ubGl0ZXJhbF0KICA5MDQgfCAgICAgICAgICAgICAg
ICAgICBzdHBfZ2V0X3RvcCh2KSwgc3RwX2dldF9oZWlnaHQodiksIGJvdHRvbSk7CiAgICAg
IHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KL2J1aWxkcy9tcmVoYWsvZ3V0ZW5w
cmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2
VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50LWVzY3AyLmM6IEluIGZ1bmN0aW9uICdz
ZXRfcmF3X2lua190eXBlJzoKL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRz
L2d1dGVucHJpbnQvZ3V0ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjlj
L3NyYy9tYWluL3ByaW50LWVzY3AyLmM6MzI1Nzo2OiB3YXJuaW5nOiBmb3JtYXQgbm90IGEg
c3RyaW5nIGxpdGVyYWwsIGFyZ3VtZW50IHR5cGVzIG5vdCBjaGVja2VkIFstV2Zvcm1hdC1u
b25saXRlcmFsXQogMzI1NyB8ICAgICAgY291bnQtPmNvdW50KTsKICAgICAgfCAgICAgIF5+
fn5+Ci9idWlsZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2d1
dGVucHJpbnQtNS4zLjYtMjAyNi0wMi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmlu
dC1keWVzdWIuYzogSW4gZnVuY3Rpb24gJ2tvZGFrXzg4MTBfcGFyc2VfcGFyYW10ZXJzJzoK
L2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5w
cmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50LWR5
ZXN1Yi5jOjM4NTY6NzogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQg
bm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCiAzODU2IHwg
ICAgICAgc3RwX2VwcmludGYodiwgXygiTXVzdCB1c2UgZ2xvc3N5IG92ZXJjb2F0IHdpdGgg
cGFub3JhbWEgcHJpbnQgc2l6ZXMhXG4iKSk7CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn4K
L2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5w
cmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50LWVz
Y3AyLmM6IEluIGZ1bmN0aW9uICdlc2NwMl9kb19wcmludCc6Ci9idWlsZHMvbXJlaGFrL2d1
dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2d1dGVucHJpbnQtNS4zLjYtMjAyNi0w
Mi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmludC1lc2NwMi5jOjQ1NDM6NzogZXJy
b3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50
cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCiA0NTQzIHwgICAgICAgc3RwX2VwcmludGYo
diwgXygiUHJpbnQgb3B0aW9ucyBub3QgdmVyaWZpZWQ7IGNhbm5vdCBwcmludC5cbiIpKTsK
ICAgICAgfCAgICAgICBefn5+fn5+fn5+fgovYnVpbGRzL21yZWhhay9ndXRlbnByaW50L2Nv
bXBvbmVudHMvZ3V0ZW5wcmludC9ndXRlbnByaW50LTUuMy42LTIwMjYtMDItMTZUMDItMTkt
YTAxOWJmOWMvc3JjL21haW4vcHJpbnQtZHllc3ViLmM6IEluIGZ1bmN0aW9uICdtaXRzdV9w
OTVkX3BhcnNlX3BhcmFtZXRlcnMnOgovYnVpbGRzL21yZWhhay9ndXRlbnByaW50L2NvbXBv
bmVudHMvZ3V0ZW5wcmludC9ndXRlbnByaW50LTUuMy42LTIwMjYtMDItMTZUMDItMTktYTAx
OWJmOWMvc3JjL21haW4vcHJpbnQtZHllc3ViLmM6NDUyNDo3OiBlcnJvcjogZm9ybWF0IG5v
dCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzIFstV2Vycm9yPWZv
cm1hdC1zZWN1cml0eV0KIDQ1MjQgfCAgICAgICBzdHBfZXByaW50Zih2LCBfKCJTdHBVc2Vy
Q29tbWVudCBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMzQgYnl0ZXMhXG4iKSk7CiAgICAgIHwg
ICAgICAgXn5+fn5+fn5+fn4KL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRz
L2d1dGVucHJpbnQvZ3V0ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjlj
L3NyYy9tYWluL3ByaW50LWR5ZXN1Yi5jOjQ1MzI6NzogZXJyb3I6IGZvcm1hdCBub3QgYSBz
dHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQt
c2VjdXJpdHldCiA0NTMyIHwgICAgICAgc3RwX2VwcmludGYodiwgXygiU3RwVXNlckxVVCBt
dXN0IGJlIGV4YWN0bHkgMzQgYnl0ZXMhXG4iKSk7CiAgICAgIHwgICAgICAgXn5+fn5+fn5+
fn4KL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0
ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50
LWR5ZXN1Yi5jOiBJbiBmdW5jdGlvbiAnbWl0c3VfcDkzZF9wYXJzZV9wYXJhbWV0ZXJzJzoK
L2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5w
cmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50LWR5
ZXN1Yi5jOjQ5Mzc6NzogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQg
bm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCiA0OTM3IHwg
ICAgICAgc3RwX2VwcmludGYodiwgXygiU3RwVXNlckNvbW1lbnQgbXVzdCBiZSBiZXR3ZWVu
IDAgYW5kIDQwIGJ5dGVzIVxuIikpOwogICAgICB8ICAgICAgIF5+fn5+fn5+fn5+Ci9idWls
ZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2d1dGVucHJpbnQt
NS4zLjYtMjAyNi0wMi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmludC1keWVzdWIu
YzogSW4gZnVuY3Rpb24gJ21pdHN1X2NwbTFfcGFyc2VfcGFyYW1ldGVycyc6Ci9idWlsZHMv
bXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2d1dGVucHJpbnQtNS4z
LjYtMjAyNi0wMi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmludC1keWVzdWIuYzo3
MzI5OjExOiBlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3Jt
YXQgYXJndW1lbnRzIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0eV0KIDczMjkgfCAgICAgICAg
ICAgc3RwX2VwcmludGYodiwgXygiQ2Fubm90IHVzZSBJbnRlcm5hbCBDb3JyZWN0aW9uIGFu
ZCBDb2xvciBNYXRjaGluZyB0b2dldGhlciFcbiIpKTsKICAgICAgfCAgICAgICAgICAgXn5+
fn5+fn5+fn4KL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJp
bnQvZ3V0ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWlu
L3ByaW50LWR5ZXN1Yi5jOiBJbiBmdW5jdGlvbiAnZG5wZHM4MF9wYXJzZV9wYXJhbWV0ZXJz
JzoKL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0
ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50
LWR5ZXN1Yi5jOjg4NTc6NTogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBh
bmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCiA4ODU3
IHwgICAgIHN0cF9lcHJpbnRmKHYsIF8oIklsbGVnYWwgcHJpbnQgc2l6ZSBzZWxlY3RlZCBm
b3Igcm9sbCBtZWRpYSFcbiIpKTsKICAgICAgfCAgICAgXn5+fn5+fn5+fn4KL2J1aWxkcy9t
cmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5wcmludC01LjMu
Ni0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50LWR5ZXN1Yi5jOiBJ
biBmdW5jdGlvbiAnZG5wZHM4MGR4X3BhcnNlX3BhcmFtZXRlcnMnOgovYnVpbGRzL21yZWhh
ay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9ndXRlbnByaW50LTUuMy42LTIw
MjYtMDItMTZUMDItMTktYTAxOWJmOWMvc3JjL21haW4vcHJpbnQtZHllc3ViLmM6ODkxMTo3
OiBlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJn
dW1lbnRzIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0eV0KIDg5MTEgfCAgICAgICBzdHBfZXBy
aW50Zih2LCBfKCJEdXBsZXggbm90IHN1cHBvcnRlZCBvbiByb2xsIG1lZGlhLCBzd2l0Y2hp
bmcgdG8gc2hlZXQgbWVkaWEhXG4iKSk7CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn4KL2J1
aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5wcmlu
dC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50LWR5ZXN1
Yi5jOjg5NDU6NTogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8g
Zm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCiA4OTQ1IHwgICAg
IHN0cF9lcHJpbnRmKHYsIF8oIklsbGVnYWwgcHJpbnQgc2l6ZSBzZWxlY3RlZCBmb3Igc2hl
ZXQgbWVkaWEhXG4iKSk7CiAgICAgIHwgICAgIF5+fn5+fn5+fn5+Ci9idWlsZHMvbXJlaGFr
L2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2d1dGVucHJpbnQtNS4zLjYtMjAy
Ni0wMi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmludC1keWVzdWIuYzogSW4gZnVu
Y3Rpb24gJ21hZ2ljYXJkX3BhcnNlX3BhcmFtZXRlcnMnOgovYnVpbGRzL21yZWhhay9ndXRl
bnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9ndXRlbnByaW50LTUuMy42LTIwMjYtMDIt
MTZUMDItMTktYTAxOWJmOWMvc3JjL21haW4vcHJpbnQtZHllc3ViLmM6MTA5NTc6NzogZXJy
b3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50
cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCjEwOTU3IHwgICAgICAgc3RwX2VwcmludGYo
diwgXygiSG9sb2tvdGUsIEhvbG9wYXRjaCwgYW5kIE92ZXJjb2F0IGhvbGUgZmVhdHVyZXMg
cmVxdWlyZSBPdmVyY29hdCB0byBiZSBlbmFibGVkIVxuIikpOwogICAgICB8ICAgICAgIF5+
fn5+fn5+fn5+Ci9idWlsZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnBy
aW50L2d1dGVucHJpbnQtNS4zLjYtMjAyNi0wMi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFp
bi9wcmludC1keWVzdWIuYzoxMDk2Njo3OiBlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBs
aXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0
eV0KMTA5NjYgfCAgICAgICBzdHBfZXByaW50Zih2LCBfKCJTdHBNYWdTdHJpcGUxIG11c3Qg
YmUgYmV0d2VlbiAwIGFuZCA3OCBieXRlcyFcbiIpKTsKICAgICAgfCAgICAgICBefn5+fn5+
fn5+fgovYnVpbGRzL21yZWhhay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9n
dXRlbnByaW50LTUuMy42LTIwMjYtMDItMTZUMDItMTktYTAxOWJmOWMvc3JjL21haW4vcHJp
bnQtZHllc3ViLmM6MTA5NzM6NzogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJh
bCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCjEw
OTczIHwgICAgICAgc3RwX2VwcmludGYodiwgXygiU3RwTWFnU3RyaXBlMiBtdXN0IGJlIGJl
dHdlZW4gMCBhbmQgMzkgYnl0ZXMhXG4iKSk7CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn4K
L2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5w
cmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50LWR5
ZXN1Yi5jOjEwOTgwOjc6IGVycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5k
IG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQoxMDk4MCB8
ICAgICAgIHN0cF9lcHJpbnRmKHYsIF8oIlN0cE1hZ1N0cmlwZTMgbXVzdCBiZSBiZXR3ZWVu
IDAgYW5kIDEwNiBieXRlcyFcbiIpKTsKICAgICAgfCAgICAgICBefn5+fn5+fn5+fgovYnVp
bGRzL21yZWhhay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9ndXRlbnByaW50
LTUuMy42LTIwMjYtMDItMTZUMDItMTktYTAxOWJmOWMvc3JjL21haW4vcHJpbnQtZHllc3Vi
LmM6MTEwMjc6OTogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8g
Zm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCjExMDI3IHwgICAg
ICAgICBzdHBfZXByaW50Zih2LCBfKCJJbGxlZ2FsIEFscGhhbnVtZXJpYyBpbiBNYWdzdHJp
cGUsIDB4MjAtPjB4NUYgQVNDSUkgb25seVxuIikpOwogICAgICB8ICAgICAgICAgXn5+fn5+
fn5+fn4KL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQv
Z3V0ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3By
aW50LWR5ZXN1Yi5jOjExMDMyOjc6IGVycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVy
YWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQox
MTAzMiB8ICAgICAgIHN0cF9lcHJpbnRmKHYsIF8oIk1hZ3N0cmlwZSBhbHBoYW51bWVyaWMg
ZGF0YSBtdXN0IHN0YXJ0IHdpdGggJyUlJ1xuIikpOwogICAgICB8ICAgICAgIF5+fn5+fn5+
fn5+Ci9idWlsZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2d1
dGVucHJpbnQtNS4zLjYtMjAyNi0wMi0xNlQwMi0xOS1hMDE5YmY5Yy9zcmMvbWFpbi9wcmlu
dC1keWVzdWIuYzoxMTAzNjo3OiBlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFs
IGFuZCBubyBmb3JtYXQgYXJndW1lbnRzIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0eV0KMTEw
MzYgfCAgICAgICBzdHBfZXByaW50Zih2LCBfKCJNYWdzdHJpcGUgc3RyaW5nIG11c3QgZW5k
IHdpdGggJz8nXG4iKSk7CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn4KL2J1aWxkcy9tcmVo
YWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5wcmludC01LjMuNi0y
MDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50LWR5ZXN1Yi5jOjExMDQ3
Ojk6IGVycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBh
cmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQoxMTA0NyB8ICAgICAgICAgc3Rw
X2VwcmludGYodiwgXygiSWxsZWdhbCBOdW1lcmljIGluIE1hZ3N0cmlwZSwgMHgzMC0+MHgz
RiBBU0NJSSBvbmx5XG4iKSk7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fgovYnVpbGRz
L21yZWhhay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9ndXRlbnByaW50LTUu
My42LTIwMjYtMDItMTZUMDItMTktYTAxOWJmOWMvc3JjL21haW4vcHJpbnQtZHllc3ViLmM6
MTEwNTI6NzogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9y
bWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCjExMDUyIHwgICAgICAg
c3RwX2VwcmludGYodiwgXygiTWFnc3RyaXBlIG51bWVyaWMgZGF0YSBtdXN0IHN0YXJ0IHdp
dGggJzsnXG4iKSk7CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn4KL2J1aWxkcy9tcmVoYWsv
Z3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5wcmludC01LjMuNi0yMDI2
LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50LWR5ZXN1Yi5jOjExMDU2Ojc6
IGVycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1
bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQoxMTA1NiB8ICAgICAgIHN0cF9lcHJp
bnRmKHYsIF8oIk1hZ3N0cmlwZSBkYXRhIG11c3QgZW5kIHdpdGggJz8nXG4iKSk7CiAgICAg
IHwgICAgICAgXn5+fn5+fn5+fn4KL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25l
bnRzL2d1dGVucHJpbnQvZ3V0ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTli
ZjljL3NyYy9tYWluL3ByaW50LWR5ZXN1Yi5jOjExMDY3Ojk6IGVycm9yOiBmb3JtYXQgbm90
IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9y
bWF0LXNlY3VyaXR5XQoxMTA2NyB8ICAgICAgICAgc3RwX2VwcmludGYodiwgXygiSWxsZWdh
bCBOdW1lcmljIGluIE1hZ3N0cmlwZSwgMHgzMC0+MHgzRiBBU0NJSSBvbmx5XG4iKSk7CiAg
ICAgIHwgICAgICAgICBefn5+fn5+fn5+fgovYnVpbGRzL21yZWhhay9ndXRlbnByaW50L2Nv
bXBvbmVudHMvZ3V0ZW5wcmludC9ndXRlbnByaW50LTUuMy42LTIwMjYtMDItMTZUMDItMTkt
YTAxOWJmOWMvc3JjL21haW4vcHJpbnQtZHllc3ViLmM6MTEwNzI6NzogZXJyb3I6IGZvcm1h
dCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJv
cj1mb3JtYXQtc2VjdXJpdHldCjExMDcyIHwgICAgICAgc3RwX2VwcmludGYodiwgXygiTWFn
c3RyaXBlIG51bWVyaWMgZGF0YSBtdXN0IHN0YXJ0IHdpdGggJzsnXG4iKSk7CiAgICAgIHwg
ICAgICAgXn5+fn5+fn5+fn4KL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRz
L2d1dGVucHJpbnQvZ3V0ZW5wcmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjlj
L3NyYy9tYWluL3ByaW50LWR5ZXN1Yi5jOjExMDc2Ojc6IGVycm9yOiBmb3JtYXQgbm90IGEg
c3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0
LXNlY3VyaXR5XQoxMTA3NiB8ICAgICAgIHN0cF9lcHJpbnRmKHYsIF8oIk1hZ3N0cmlwZSBk
YXRhIG11c3QgZW5kIHdpdGggJz8nXG4iKSk7CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn4K
L2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5w
cmludC01LjMuNi0yMDI2LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50LWR5
ZXN1Yi5jOiBJbiBmdW5jdGlvbiAnZHllc3ViX2RvX3ByaW50JzoKL2J1aWxkcy9tcmVoYWsv
Z3V0ZW5wcmludC9jb21wb25lbnRzL2d1dGVucHJpbnQvZ3V0ZW5wcmludC01LjMuNi0yMDI2
LTAyLTE2VDAyLTE5LWEwMTliZjljL3NyYy9tYWluL3ByaW50LWR5ZXN1Yi5jOjEzNzE1Ojc6
IGVycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1
bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQoxMzcxNSB8ICAgICAgIHN0cF9lcHJp
bnRmKHYsIF8oIlByaW50IG9wdGlvbnMgbm90IHZlcmlmaWVkOyBjYW5ub3QgcHJpbnQuXG4i
KSk7CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn4KY2MxOiBzb21lIHdhcm5pbmdzIGJlaW5n
IHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2VbNF06ICoqKiBbTWFrZWZpbGU6OTUwOiBwcmludC1y
YXcubG9dIEVycm9yIDEKbWFrZVs0XTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9i
cy4uLi4KY2MxOiBzb21lIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2Vb
NF06ICoqKiBbTWFrZWZpbGU6OTUwOiBwcmludGVycy5sb10gRXJyb3IgMQpjYzE6IHNvbWUg
d2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKbWFrZVs0XTogKioqIFtNYWtlZmls
ZTo5NTA6IHByaW50LWVzY3AyLmxvXSBFcnJvciAxCmNjMTogc29tZSB3YXJuaW5ncyBiZWlu
ZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzRdOiAqKiogW01ha2VmaWxlOjk1MDogcHJpbnQt
ZHllc3ViLmxvXSBFcnJvciAxCm1ha2VbNF06IExlYXZpbmcgZGlyZWN0b3J5ICcvYnVpbGRz
L21yZWhhay9ndXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9idWlsZC9hbWQ2NC9z
cmMvbWFpbicKbWFrZVszXTogKioqIFtNYWtlZmlsZTo0OTM6IGFsbC1yZWN1cnNpdmVdIEVy
cm9yIDEKbWFrZVszXTogTGVhdmluZyBkaXJlY3RvcnkgJy9idWlsZHMvbXJlaGFrL2d1dGVu
cHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2J1aWxkL2FtZDY0L3NyYycKbWFrZVsyXTog
KioqIFtNYWtlZmlsZTo2MTI6IGFsbC1yZWN1cnNpdmVdIEVycm9yIDEKbWFrZVsyXTogTGVh
dmluZyBkaXJlY3RvcnkgJy9idWlsZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9n
dXRlbnByaW50L2J1aWxkL2FtZDY0JwptYWtlWzFdOiAqKiogW01ha2VmaWxlOjU0MzogYWxs
XSBFcnJvciAyCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvYnVpbGRzL21yZWhhay9n
dXRlbnByaW50L2NvbXBvbmVudHMvZ3V0ZW5wcmludC9idWlsZC9hbWQ2NCcKZ21ha2U6ICoq
KiBbL2J1aWxkcy9tcmVoYWsvZ3V0ZW5wcmludC9tYWtlLXJ1bGVzL2NvbmZpZ3VyZS5tazox
ODQ6IC9idWlsZHMvbXJlaGFrL2d1dGVucHJpbnQvY29tcG9uZW50cy9ndXRlbnByaW50L2J1
aWxkL2FtZDY0Ly5idWlsdF0gRXJyb3IgMgo=
--------------GsnDFH5V0q000YRaQryMgtEZ
Content-Type: text/x-patch; charset=UTF-8; name="security_format.patch"
Content-Disposition: attachment; filename="security_format.patch"
Content-Transfer-Encoding: base64

Rml4IHByaW50ZiBhbmQgc3RwX2VwcmludGYsIHRvIGF2b2lkIGZvcm1hdCBzdHJpbmcgdnVs
bmVyYWJpbGl0eS4gClVwc3RyZWFtIGNhbmRpZGF0ZS4KCi0tLSBhL3NyYy9lc2NwdXRpbC9l
c2NwdXRpbC5jCisrKyBiL3NyYy9lc2NwdXRpbC9lc2NwdXRpbC5jCkBAIC0zNDcsNyArMzQ3
LDcgQEAgYnJlYWs7CiAJY2FzZSAnUCc6CiAJICBpZiAodGhlX3ByaW50ZXIgfHwgcmF3X2Rl
dmljZSkKIAkgICAgewotCSAgICAgIHByaW50ZihfKCJZb3UgbWF5IG9ubHkgc3BlY2lmeSBv
bmUgcHJpbnRlciBvciByYXcgZGV2aWNlLiIpKTsKKwkgICAgICBwcmludGYoIiVzIiwgXygi
WW91IG1heSBvbmx5IHNwZWNpZnkgb25lIHByaW50ZXIgb3IgcmF3IGRldmljZS4iKSk7CiAJ
ICAgICAgZG9faGVscCgxKTsKIAkgICAgfQogCSAgdGhlX3ByaW50ZXIgPSBjX3N0cmR1cChv
cHRhcmcpOwpAQCAtMzU1LDcgKzM1NSw3IEBAIGJyZWFrOwogCWNhc2UgJ3InOgogCSAgaWYg
KHRoZV9wcmludGVyIHx8IHJhd19kZXZpY2UpCiAJICAgIHsKLQkgICAgICBwcmludGYoXygi
WW91IG1heSBvbmx5IHNwZWNpZnkgb25lIHByaW50ZXIgb3IgcmF3IGRldmljZS4iKSk7CisJ
ICAgICAgcHJpbnRmKCIlcyIsIF8oIllvdSBtYXkgb25seSBzcGVjaWZ5IG9uZSBwcmludGVy
IG9yIHJhdyBkZXZpY2UuIikpOwogCSAgICAgIGRvX2hlbHAoMSk7CiAJICAgIH0KIAkgIHJh
d19kZXZpY2UgPSBjX3N0cmR1cChvcHRhcmcpOwpAQCAtMzYzLDcgKzM2Myw3IEBAIGJyZWFr
OwogCWNhc2UgJ20nOgogCSAgaWYgKHByaW50ZXJfbW9kZWwpCiAJICAgIHsKLQkgICAgICBw
cmludGYoXygiWW91IG1heSBvbmx5IHNwZWNpZnkgb25lIHByaW50ZXIgbW9kZWwuIikpOwor
CSAgICAgIHByaW50ZigiJXMiLCBfKCJZb3UgbWF5IG9ubHkgc3BlY2lmeSBvbmUgcHJpbnRl
ciBtb2RlbC4iKSk7CiAJICAgICAgZG9faGVscCgxKTsKIAkgICAgfQogCSAgcHJpbnRlcl9t
b2RlbCA9IGNfc3RyZHVwKG9wdGFyZyk7CkBAIC0zODcsNyArMzg3LDcgQEAgY2FzZSAnQyc6
CiAJICBhbGlnbm1lbnRfY2hvaWNlcyA9IGF0b2kob3B0YXJnKTsKIAkgIGlmIChhbGlnbm1l
bnRfY2hvaWNlcyA8IDEpCiAJICAgIHsKLQkgICAgICBwcmludGYoXygiQWxpZ25tZW50IGNo
b2ljZXMgbXVzdCBiZSBhdCBsZWFzdCAxLiIpKTsKKwkgICAgICBwcmludGYoIiVzIiwgXygi
QWxpZ25tZW50IGNob2ljZXMgbXVzdCBiZSBhdCBsZWFzdCAxLiIpKTsKIAkgICAgICBkb19o
ZWxwKDEpOwogCSAgICB9CiAJICBicmVhazsKQEAgLTM5NSw3ICszOTUsNyBAQCBjYXNlICdw
JzoKIAkgIGFsaWdubWVudF9wYXNzZXMgPSBhdG9pKG9wdGFyZyk7CiAJICBpZiAoYWxpZ25t
ZW50X3Bhc3NlcyA8IDEpCiAJICAgIHsKLQkgICAgICBwcmludGYoXygiQWxpZ25tZW50IHBh
c3NlcyBtdXN0IGJlIGF0IGxlYXN0IDEuIikpOworCSAgICAgIHByaW50ZigiJXMiLCBfKCJB
bGlnbm1lbnQgcGFzc2VzIG11c3QgYmUgYXQgbGVhc3QgMS4iKSk7CiAJICAgICAgZG9faGVs
cCgxKTsKIAkgICAgfQogCSAgYnJlYWs7CkBAIC01MjEsNyArNTIxLDcgQEAgewogCSAgcmV0
cmllcysrOwogCSAgaWYgKHJldHJpZXMgPiAyKQogCSAgICB7Ci0JICAgICAgZnByaW50Zihz
dGRlcnIsIF8oIlVuYWJsZSB0byBzZW5kIGNvbW1hbmQgdG8gcHJpbnRlclxuIikpOworCSAg
ICAgIGZwcmludGYoc3RkZXJyLCAiJXMiLCBfKCJVbmFibGUgdG8gc2VuZCBjb21tYW5kIHRv
IHByaW50ZXJcbiIpKTsKIAkgICAgICBpZiAocmF3X2RldmljZSkKIAkJZmNsb3NlKHBmaWxl
KTsKIAkgICAgICBlbHNlCkBAIC01MzEsNyArNTMxLDcgQEAgfQogCX0KICAgICAgIGVsc2Ug
aWYgKHN0YXR1cyA9PSAtMSkKIAl7Ci0JICBmcHJpbnRmKHN0ZGVyciwgXygiVW5hYmxlIHRv
IHNlbmQgY29tbWFuZCB0byBwcmludGVyXG4iKSk7CisJICBmcHJpbnRmKHN0ZGVyciwgIiVz
IiwgXygiVW5hYmxlIHRvIHNlbmQgY29tbWFuZCB0byBwcmludGVyXG4iKSk7CiAJICBpZiAo
cmF3X2RldmljZSkKIAkgICAgZmNsb3NlKHBmaWxlKTsKIAkgIGVsc2UKQEAgLTU5Miw3ICs1
OTIsNyBAQCB9CiAgIGVsc2UgaWYgKHN0YXR1cyA9PSAwICYmIHJldHJ5ID09IDApCiAgICAg
ewogICAgICAgaWYgKCFxdWlldCkKLQlmcHJpbnRmKHN0ZGVyciwgXygiUmVhZCBmcm9tIHBy
aW50ZXIgdGltZWQgb3V0XG4iKSk7CisJZnByaW50ZihzdGRlcnIsICIlcyIsIF8oIlJlYWQg
ZnJvbSBwcmludGVyIHRpbWVkIG91dFxuIikpOwogICAgIH0KICAgZWxzZSBpZiAoc3RhdHVz
IDwgMCkKICAgICB7CkBAIC03NzgsNyArNzc4LDcgQEAgaW50IGZkOwogCiAgIGlmICghcmF3
X2RldmljZSkKICAgIHsKLSAgICAgIGZwcmludGYoc3RkZXJyLCBfKCJQbGVhc2Ugc3BlY2lm
eSBhIHJhdyBkZXZpY2VcbiIpKTsKKyAgICAgIGZwcmludGYoc3RkZXJyLCAiJXMiLCBfKCJQ
bGVhc2Ugc3BlY2lmeSBhIHJhdyBkZXZpY2VcbiIpKTsKICAgICAgIGV4aXQoMSk7CiAgICAg
fQogCkBAIC05ODgsNyArOTg4LDcgQEAgaWYgKCFwb3MpCiAJICAgIHsKIAkgICAgICBpZiAo
IXF1aWV0ICYmIGZhaWxfaWZfbm90X2ZvdW5kKQogCQl7Ci0JCSAgZnByaW50ZihzdGRlcnIs
IF8oIlxuQ2Fubm90IGRldGVjdCBwcmludGVyIHR5cGUuXG4iCisJCSAgZnByaW50ZihzdGRl
cnIsICIlcyIsIF8oIlxuQ2Fubm90IGRldGVjdCBwcmludGVyIHR5cGUuXG4iCiAJCQkJICAg
ICJQbGVhc2UgdXNlIC1tIHRvIHNwZWNpZnkgeW91ciBwcmludGVyIG1vZGVsLlxuIikpOwog
CQkgIGRvX2hlbHAoMSk7CiAJCX0KQEAgLTExMTAsNDMgKzExMTAsNDMgQEAgewogICBzd2l0
Y2ggKHBhcmFtKQogICAgIHsKICAgICBjYXNlIDA6Ci0gICAgICBwcmludGYoXygiU3RhdHVz
OiBFcnJvclxuIikpOworICAgICAgcHJpbnRmKCIlcyIsIF8oIlN0YXR1czogRXJyb3JcbiIp
KTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgMToKLSAgICAgIHByaW50ZihfKCJTdGF0dXM6
IFNlbGYtUHJpbnRpbmdcbiIpKTsKKyAgICAgIHByaW50ZigiJXMiLCBfKCJTdGF0dXM6IFNl
bGYtUHJpbnRpbmdcbiIpKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgMjoKLSAgICAgIHBy
aW50ZihfKCJTdGF0dXM6IEJ1c3lcbiIpKTsKKyAgICAgIHByaW50ZigiJXMiLCBfKCJTdGF0
dXM6IEJ1c3lcbiIpKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgMzoKLSAgICAgIHByaW50
ZihfKCJTdGF0dXM6IFdhaXRpbmdcbiIpKTsKKyAgICAgIHByaW50ZigiJXMiLCBfKCJTdGF0
dXM6IFdhaXRpbmdcbiIpKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgNDoKLSAgICAgIHBy
aW50ZihfKCJTdGF0dXM6IElkbGVcbiIpKTsKKyAgICAgIHByaW50ZigiJXMiLCBfKCJTdGF0
dXM6IElkbGVcbiIpKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgNToKLSAgICAgIHByaW50
ZihfKCJTdGF0dXM6IFBhdXNlZFxuIikpOworICAgICAgcHJpbnRmKCIlcyIsIF8oIlN0YXR1
czogUGF1c2VkXG4iKSk7CiAgICAgICBicmVhazsKICAgICBjYXNlIDc6Ci0gICAgICBwcmlu
dGYoXygiU3RhdHVzOiBDbGVhbmluZ1xuIikpOworICAgICAgcHJpbnRmKCIlcyIsIF8oIlN0
YXR1czogQ2xlYW5pbmdcbiIpKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgODoKLSAgICAg
IHByaW50ZihfKCJTdGF0dXM6IEZhY3Rvcnkgc2hpcG1lbnRcbiIpKTsKKyAgICAgIHByaW50
ZigiJXMiLCBfKCJTdGF0dXM6IEZhY3Rvcnkgc2hpcG1lbnRcbiIpKTsKICAgICAgIGJyZWFr
OwogICAgIGNhc2UgOToKLSAgICAgIHByaW50ZihfKCJTdGF0dXM6IFNsZWVwaW5nXG4iKSk7
IC8qIExvd2VyIHBvd2VyIG1vZGUgKi8KKyAgICAgIHByaW50ZigiJXMiLCBfKCJTdGF0dXM6
IFNsZWVwaW5nXG4iKSk7IC8qIExvd2VyIHBvd2VyIG1vZGUgKi8KICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgMHhhOgotICAgICAgcHJpbnRmKF8oIlN0YXR1czogU2h1dHRpbmcgZG93blxu
IikpOworICAgICAgcHJpbnRmKCIlcyIsIF8oIlN0YXR1czogU2h1dHRpbmcgZG93blxuIikp
OwogICAgICAgYnJlYWs7CiAgICAgY2FzZSAweGM6Ci0gICAgICBwcmludGYoXygiU3RhdHVz
OiBJbml0aWFsaXppbmcgcGFwZXJcbiIpKTsKKyAgICAgIHByaW50ZigiJXMiLCBfKCJTdGF0
dXM6IEluaXRpYWxpemluZyBwYXBlclxuIikpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSAw
eGQ6Ci0gICAgICBwcmludGYoXygiU3RhdHVzOiBCbGFjayBpbmsgc3dpdGNoaW5nXG4iKSk7
CisgICAgICBwcmludGYoIiVzIiwgXygiU3RhdHVzOiBCbGFjayBpbmsgc3dpdGNoaW5nXG4i
KSk7CiAgICAgICBicmVhazsKICAgICBjYXNlIDB4ZjoKLSAgICAgIHByaW50ZihfKCJTdGF0
dXM6IEluaXRpYWxpemluZyBpbmtcbiIpKTsKKyAgICAgIHByaW50ZigiJXMiLCBfKCJTdGF0
dXM6IEluaXRpYWxpemluZyBpbmtcbiIpKTsKICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6
CiAgICAgICBwcmludGYoXygiU3RhdHVzOiBVbmtub3duICglZClcbiIpLCBwYXJhbSk7CkBA
IC0xMTYwLDgyICsxMTYwLDgyIEBAIHsKICAgc3dpdGNoIChwYXJhbSkKICAgICB7CiAgICAg
Y2FzZSAwOgotICAgICAgcHJpbnRmKF8oIkVycm9yOiBGYXRhbCBFcnJvclxuIikpOworICAg
ICAgcHJpbnRmKCIlcyIsIF8oIkVycm9yOiBGYXRhbCBFcnJvclxuIikpOwogICAgICAgYnJl
YWs7CiAgICAgY2FzZSAxOgotICAgICAgcHJpbnRmKF8oIkVycm9yOiBPdGhlciBpbnRlcmZh
Y2UgaXMgc2VsZWN0ZWRcbiIpKTsKKyAgICAgIHByaW50ZigiJXMiLCBfKCJFcnJvcjogT3Ro
ZXIgaW50ZXJmYWNlIGlzIHNlbGVjdGVkXG4iKSk7CiAgICAgICBicmVhazsKICAgICBjYXNl
IDI6Ci0gICAgICBwcmludGYoXygiRXJyb3I6IENvdmVyIE9wZW5cbiIpKTsKKyAgICAgIHBy
aW50ZigiJXMiLCBfKCJFcnJvcjogQ292ZXIgT3BlblxuIikpOwogICAgICAgYnJlYWs7CiAg
ICAgY2FzZSA0OgotICAgICAgcHJpbnRmKF8oIkVycm9yOiBQYXBlciBqYW1cbiIpKTsKKyAg
ICAgIHByaW50ZigiJXMiLCBfKCJFcnJvcjogUGFwZXIgamFtXG4iKSk7CiAgICAgICBicmVh
azsKICAgICBjYXNlIDU6Ci0gICAgICBwcmludGYoXygiRXJyb3I6IEluayBvdXRcbiIpKTsK
KyAgICAgIHByaW50ZigiJXMiLCBfKCJFcnJvcjogSW5rIG91dFxuIikpOwogICAgICAgYnJl
YWs7CiAgICAgY2FzZSA2OgotICAgICAgcHJpbnRmKF8oIkVycm9yOiBQYXBlciBvdXRcbiIp
KTsKKyAgICAgIHByaW50ZigiJXMiLCBfKCJFcnJvcjogUGFwZXIgb3V0XG4iKSk7CiAgICAg
ICBicmVhazsKICAgICBjYXNlIDB4YjoKLSAgICAgIHByaW50ZihfKCJFcnJvcjogRG91Ymxl
IGZlZWRcbiIpKTsKKyAgICAgIHByaW50ZigiJXMiLCBfKCJFcnJvcjogRG91YmxlIGZlZWRc
biIpKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgMHhjOgotICAgICAgcHJpbnRmKF8oIkVy
cm9yOiBNaXNjZWxsYW5lb3VzIHBhcGVyIGVycm9yXG4iKSk7CisgICAgICBwcmludGYoIiVz
IiwgXygiRXJyb3I6IE1pc2NlbGxhbmVvdXMgcGFwZXIgZXJyb3JcbiIpKTsKICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgMHgxMDoKLSAgICAgIHByaW50ZihfKCJFcnJvcjogTWFpbnRlbmFu
Y2UgY2FydHJpZGdlIG92ZXJmbG93XG4iKSk7CisgICAgICBwcmludGYoIiVzIiwgXygiRXJy
b3I6IE1haW50ZW5hbmNlIGNhcnRyaWRnZSBvdmVyZmxvd1xuIikpOwogICAgICAgYnJlYWs7
CiAgICAgY2FzZSAweDExOgotICAgICAgcHJpbnRmKF8oIkVycm9yOiBXYWl0IHJldHVybiBm
cm9tIHRoZSB0ZWFyLW9mZiBwb3NpdGlvblxuIikpOworICAgICAgcHJpbnRmKCIlcyIsIF8o
IkVycm9yOiBXYWl0IHJldHVybiBmcm9tIHRoZSB0ZWFyLW9mZiBwb3NpdGlvblxuIikpOwog
ICAgICAgYnJlYWs7CiAgICAgY2FzZSAweDEyOgotICAgICAgcHJpbnRmKF8oIkVycm9yOiBE
b3VibGUgZmVlZCBlcnJvclxuIikpOworICAgICAgcHJpbnRmKCIlcyIsIF8oIkVycm9yOiBE
b3VibGUgZmVlZCBlcnJvclxuIikpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSAweDE2Ogot
ICAgICAgcHJpbnRmKF8oIkVycm9yOiBDbGVhbmluZyBpbXBvc3NpYmxlXG4iKSk7CisgICAg
ICBwcmludGYoIiVzIiwgXygiRXJyb3I6IENsZWFuaW5nIGltcG9zc2libGVcbiIpKTsKICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgMHgxYToKLSAgICAgIHByaW50ZihfKCJFcnJvcjogSW5r
IGNhcnRyaWRnZSBsZXZlciByZWxlYXNlZFxuXG4iKSk7CisgICAgICBwcmludGYoIiVzIiwg
XygiRXJyb3I6IEluayBjYXJ0cmlkZ2UgbGV2ZXIgcmVsZWFzZWRcblxuIikpOwogICAgICAg
YnJlYWs7CiAgICAgY2FzZSAweDFjOgotICAgICAgcHJpbnRmKF8oIkVycm9yOiBVbnJlY292
ZXJhYmxlIGN1dHRlciBlcnJvclxuIikpOworICAgICAgcHJpbnRmKCIlcyIsIF8oIkVycm9y
OiBVbnJlY292ZXJhYmxlIGN1dHRlciBlcnJvclxuIikpOwogICAgICAgYnJlYWs7CiAgICAg
Y2FzZSAweDFkOgotICAgICAgcHJpbnRmKF8oIkVycm9yOiBSZWNvdmVyYWJsZSBjdXR0ZXIg
amFtXG4iKSk7CisgICAgICBwcmludGYoIiVzIiwgXygiRXJyb3I6IFJlY292ZXJhYmxlIGN1
dHRlciBqYW1cbiIpKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgMHgyMjoKLSAgICAgIHBy
aW50ZihfKCJFcnJvcjogTm8gbWFpbnRlbmFuY2UgY2FydHJpZGdlIHByZXNlbnRcbiIpKTsK
KyAgICAgIHByaW50ZigiJXMiLCBfKCJFcnJvcjogTm8gbWFpbnRlbmFuY2UgY2FydHJpZGdl
IHByZXNlbnRcbiIpKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgMHgyNToKLSAgICAgIHBy
aW50ZihfKCJFcnJvcjogUmVhciBjb3ZlciBvcGVuXG4iKSk7CisgICAgICBwcmludGYoIiVz
IiwgXygiRXJyb3I6IFJlYXIgY292ZXIgb3BlblxuIikpOwogICAgICAgYnJlYWs7CiAgICAg
Y2FzZSAweDI5OgotICAgICAgcHJpbnRmKF8oIkVycm9yOiBDRCBUcmF5IE91dFxuIikpOwor
ICAgICAgcHJpbnRmKCIlcyIsIF8oIkVycm9yOiBDRCBUcmF5IE91dFxuIikpOwogICAgICAg
YnJlYWs7CiAgICAgY2FzZSAweDJhOgotICAgICAgcHJpbnRmKF8oIkVycm9yOiBDYXJkIGxv
YWRpbmcgZXJyb3JcbiIpKTsKKyAgICAgIHByaW50ZigiJXMiLCBfKCJFcnJvcjogQ2FyZCBs
b2FkaW5nIGVycm9yXG4iKSk7CiAgICAgICBicmVhazsKICAgICBjYXNlIDB4MmI6Ci0gICAg
ICBwcmludGYoXygiRXJyb3I6IFRyYXkgY292ZXIgb3BlblxuIikpOworICAgICAgcHJpbnRm
KCIlcyIsIF8oIkVycm9yOiBUcmF5IGNvdmVyIG9wZW5cbiIpKTsKICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgMHgyZDoKLSAgICAgIHByaW50ZihfKCJFcnJvcjogTm8gbWFpbnRlbmFuY2Ug
Ym94XG4iKSk7CisgICAgICBwcmludGYoIiVzIiwgXygiRXJyb3I6IE5vIG1haW50ZW5hbmNl
IGJveFxuIikpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSAweDJlOgotICAgICAgcHJpbnRm
KF8oIkVycm9yOiBNYWludGVuYW5jZSBib3ggb3ZlcmZsb3dcbiIpKTsKKyAgICAgIHByaW50
ZigiJXMiLCBfKCJFcnJvcjogTWFpbnRlbmFuY2UgYm94IG92ZXJmbG93XG4iKSk7CiAgICAg
ICBicmVhazsKICAgICBjYXNlIDB4MzY6Ci0gICAgICBwcmludGYoXygiRXJyb3I6IE1haW50
ZW5hbmNlIGNhcnRyaWRnZSBjb3ZlciBvcGVuXG4iKSk7CisgICAgICBwcmludGYoIiVzIiwg
XygiRXJyb3I6IE1haW50ZW5hbmNlIGNhcnRyaWRnZSBjb3ZlciBvcGVuXG4iKSk7CiAgICAg
ICBicmVhazsKICAgICBjYXNlIDB4Mzc6Ci0gICAgICBwcmludGYoXygiRXJyb3I6IEZyb250
IGNvdmVyIG9wZW5cbiIpKTsKKyAgICAgIHByaW50ZigiJXMiLCBfKCJFcnJvcjogRnJvbnQg
Y292ZXIgb3BlblxuIikpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSAweDQwOgotICAgICAg
cHJpbnRmKF8oIkVycm9yOiBTdHJpcCBiaW4gbWlzc2luZ1xuIikpOworICAgICAgcHJpbnRm
KCIlcyIsIF8oIkVycm9yOiBTdHJpcCBiaW4gbWlzc2luZ1xuIikpOwogICAgICAgYnJlYWs7
CiAgICAgY2FzZSAweDQxOgotICAgICAgcHJpbnRmKF8oIkVycm9yOiBNYWludGVuYW5jZSBy
ZXF1ZXN0XG4iKSk7CisgICAgICBwcmludGYoIiVzIiwgXygiRXJyb3I6IE1haW50ZW5hbmNl
IHJlcXVlc3RcbiIpKTsKICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICBwcmlu
dGYoXygiRXJyb3I6IFVua25vd24gKCVkKVxuIiksIHBhcmFtKTsKQEAgLTEyNjksMTAgKzEy
NjksMTAgQEAgewogICAgICAgc3dpdGNoIChwYXJhbSkKIAl7CiAJY2FzZSAweDIwOgotCSAg
cHJpbnRmKF8oIldhcm5pbmc6IE1haW50ZW5hbmNlIGNhcnRyaWRnZSBuZWFyIGZ1bGxcbiIp
KTsKKwkgIHByaW50ZigiJXMiLCBfKCJXYXJuaW5nOiBNYWludGVuYW5jZSBjYXJ0cmlkZ2Ug
bmVhciBmdWxsXG4iKSk7CiAJICBicmVhazsKIAljYXNlIDB4MjE6Ci0JICBwcmludGYoXygi
V2FybmluZzogTWFpbnRlbmFuY2UgcmVxdWVzdCBwZW5kaW5nXG4iKSk7CisJICBwcmludGYo
IiVzIiwgXygiV2FybmluZzogTWFpbnRlbmFuY2UgcmVxdWVzdCBwZW5kaW5nXG4iKSk7CiAJ
ICBicmVhazsKIAlkZWZhdWx0OgogCSAgcHJpbnRmKF8oIldhcm5pbmc6IFVua25vd24gKCVs
dSlcbiIpLCBwYXJhbSk7CkBAIC0xMjg3LDcgKzEyODcsNyBAQCB7CiAgIHN3aXRjaCAocGFy
YW0pCiAgICAgewogICAgIGNhc2UgMDoKLSAgICAgIHByaW50ZihfKCJQcmludGluZyBub3p6
bGUgc2VsZi10ZXN0XG4iKSk7CisgICAgICBwcmludGYoIiVzIiwgXygiUHJpbnRpbmcgbm96
emxlIHNlbGYtdGVzdFxuIikpOwogICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAg
IGJyZWFrOwpAQCAtMTM4OSw3ICsxMzg5LDcgQEAgc3RwX3N0cmluZ19saXN0X2FkZF9zdHJp
bmcoY29sb3JfbGlzdCwgIgogCSAgICB9CiAKIAkgIGlmIChjbWQgPT0gQ01EX1NUQVRVUykK
LQkgICAgcHJpbnRmKF8oIkluayBMZXZlbHM6XG4iKSk7CisJICAgIHByaW50ZigiJXMiLCBf
KCJJbmsgTGV2ZWxzOlxuIikpOwogCSAgcHJpbnRmKCIlMjBzICAgICUyMHNcbiIsIF8oIklu
ayBjb2xvciIpLCBfKCJQZXJjZW50IHJlbWFpbmluZyIpKTsKIAkgIHByaW50X29sZF9pbmtf
bGV2ZWxzKGluZCwgY29sb3JfbGlzdCk7CiAJICBzdHBfc3RyaW5nX2xpc3RfZGVzdHJveShj
b2xvcl9saXN0KTsKQEAgLTE0MzQsNyArMTQzNCw3IEBAIHsKIAkgIHNpemVfdCBjb3VudCA9
ICh0b3RhbF9wYXJhbV9jb3VudCAtIDEpIC8gcGFyYW07CiAJICBpbmQgPSBidWYgKyBpICsg
MzsKIAkgIGlmIChjbWQgPT0gQ01EX1NUQVRVUykKLQkgICAgcHJpbnRmKF8oIkluayBMZXZl
bHM6XG4iKSk7CisJICAgIHByaW50ZigiJXMiLCBfKCJJbmsgTGV2ZWxzOlxuIikpOwogCSAg
cHJpbnRmKCIlMjVzICAgICUyMHNcbiIsIF8oIkluayBjb2xvciIpLCBfKCJQZXJjZW50IHJl
bWFpbmluZyIpKTsKIAkgIGZvciAoaiA9IDA7IGogPCBjb3VudDsgaisrKQogCSAgICB7CkBA
IC0xNDk2LDI3ICsxNDk2LDI3IEBAIGJyZWFrOwogCSAgICBjYXNlIDB4MTk6CS8qIEpvYiBu
YW1lICovCiAJICAgICAgaWYgKHRvdGFsX3BhcmFtX2NvdW50ID4gNSkKIAkJewotCQkgIHBy
aW50ZihfKCJKb2IgTmFtZTogIikpOworCQkgIHByaW50ZigiJXMiLCBfKCJKb2IgTmFtZTog
IikpOwogCQkgIGZvciAoaiA9IDU7IGogPCB0b3RhbF9wYXJhbV9jb3VudDsgaisrKQogCQkg
ICAgcHV0Y2hhcihidWZbaSArIGogKyAyXSk7CiAJCSAgcHV0Y2hhcignXG4nKTsKIAkJfQog
CSAgICAgIGJyZWFrOwogCSAgICBjYXNlIDB4MWY6CS8qIFNlcmlhbCBudW1iZXIgKi8KLQkg
ICAgICBwcmludGYoXygiU2VyaWFsIE51bWJlcjogIikpOworCSAgICAgIHByaW50ZigiJXMi
LCBfKCJTZXJpYWwgTnVtYmVyOiAiKSk7CiAJICAgICAgZm9yIChqID0gMDsgaiA8IHRvdGFs
X3BhcmFtX2NvdW50OyBqKyspCiAJCSBwdXRjaGFyKGJ1ZltpICsgaiArIDJdKTsKIAkgICAg
ICBwdXRjaGFyKCdcbicpOwogCSAgICAgIGJyZWFrOwogCSAgICBjYXNlIDB4MjE6IC8qIFBh
cGVyIHJlbWFpbmluZywgaW4gY2VudGltZXRlcnMgKi8KICAgICAgICAgICAgICAgcGFyYW0g
PSBidWZbaSArIDNdICsgKGJ1ZltpICsgNF0gPDwgOCk7Ci0JICAgICAgcHJpbnRmKF8oIlBh
cGVyIFJlbWFpbmluZzoiKSk7CisJICAgICAgcHJpbnRmKCIlcyIsIF8oIlBhcGVyIFJlbWFp
bmluZzoiKSk7CiAJICAgICAgcHJpbnRmKCIgJWQgZmVldCAvICVkIGNtIiwgKGludCkoKChk
b3VibGUpcGFyYW0rMTUuMjQpIC8gMzAuNDhmKSwgcGFyYW0pOwogCSAgICAgIHB1dGNoYXIo
J1xuJyk7CiAJICAgICAgYnJlYWs7CiAJICAgIGNhc2UgMHgyYzogLyogUGFwZXIgd2lkdGgs
IGluIHVuaXRzIG9mIDM2MCBkcGkgKi8KIAkgICAgICBwYXJhbSA9IGJ1ZltpICsgMl0gKyAo
YnVmW2kgKyAzXSA8PCA4KTsKLSAgICAgICAgICAgICAgcHJpbnRmKF8oIlBhcGVyIFdpZHRo
OiAiKSk7CisgICAgICAgICAgICAgIHByaW50ZigiJXMiLCBfKCJQYXBlciBXaWR0aDogIikp
OwogICAgICAgICAgICAgICBpZiAocGFyYW0gPiAyODgwKQogICAgICAgICAgICAgICAgIHBy
aW50ZigiQTQgLyAyMTBtbSIpOwogICAgICAgICAgICAgICBlbHNlIGlmIChwYXJhbSA+IDIx
NjApCkBAIC0xODkyLDcgKzE4OTIsNyBAQCBjb25zdCBzdHBfcHJpbnRlcl90ICpwcmludGVy
OwogCiAgIGlmICghcmF3X2RldmljZSkKICAgICB7Ci0gICAgICBmcHJpbnRmKHN0ZGVycixf
KCJPYnRhaW5pbmcgZXh0ZW5kZWQgaW5rIGluZm9ybWF0aW9uIHJlcXVpcmVzIHVzaW5nIGEg
cmF3IGRldmljZS5cbiIpKTsKKyAgICAgIGZwcmludGYoc3RkZXJyLCIlcyIsIF8oIk9idGFp
bmluZyBleHRlbmRlZCBpbmsgaW5mb3JtYXRpb24gcmVxdWlyZXMgdXNpbmcgYSByYXcgZGV2
aWNlLlxuIikpOwogICAgICAgZXhpdCgxKTsKICAgICB9CiAKQEAgLTE5MTksNyArMTkxOSw3
IEBAIHN0cF9zdHJpbmdfbGlzdF90ICpjb2xvcl9saXN0OwogCiAgIGlmICghcmF3X2Rldmlj
ZSkKICAgICB7Ci0gICAgICBmcHJpbnRmKHN0ZGVycixfKCJSZXNldHRpbmcgaW5rIGxldmVs
cyByZXF1aXJlcyB1c2luZyBhIHJhdyBkZXZpY2UuXG4iKSk7CisgICAgICBmcHJpbnRmKHN0
ZGVyciwiJXMiLCBfKCJSZXNldHRpbmcgaW5rIGxldmVscyByZXF1aXJlcyB1c2luZyBhIHJh
dyBkZXZpY2UuXG4iKSk7CiAgICAgICBleGl0KDEpOwogICAgIH0KIApAQCAtMTk2Nyw3ICsx
OTY3LDcgQEAgY29uc3Qgc3RwX3ByaW50ZXJfdCAqcHJpbnRlcjsKICAgaWYgKCFyYXdfZGV2
aWNlKQogICAgIHsKICAgICAgIGZwcmludGYoc3RkZXJyLAotCSAgICAgIF8oIlByaW50ZXIg
aWRlbnRpZmljYXRpb24gcmVxdWlyZXMgdXNpbmcgYSByYXcgZGV2aWNlLlxuIikpOworCSAg
ICAgICIlcyIsIF8oIlByaW50ZXIgaWRlbnRpZmljYXRpb24gcmVxdWlyZXMgdXNpbmcgYSBy
YXcgZGV2aWNlLlxuIikpOwogICAgICAgZXhpdCgxKTsKICAgICB9CiAgIGlmIChwcmludGVy
X21vZGVsKQpAQCAtMTk4NSw3ICsxOTg1LDcgQEAgZWxzZSBpZiAocHJpbnRlcl9tb2RlbCkK
ICAgICBwcmludGYoIkVQU09OICVzXG4iLCBwcmludGVyX21vZGVsKTsKICAgZWxzZQogICAg
IHsKLSAgICAgIGZwcmludGYoc3RkZXJyLCBfKCJDYW5ub3QgaWRlbnRpZnkgcHJpbnRlciBt
b2RlbC5cbiIpKTsKKyAgICAgIGZwcmludGYoc3RkZXJyLCAiJXMiLCBfKCJDYW5ub3QgaWRl
bnRpZnkgcHJpbnRlciBtb2RlbC5cbiIpKTsKICAgICAgIGV4aXQoMSk7CiAgICAgfQogfQpA
QCAtMjAwNyw3ICsyMDA3LDcgQEAgZWxzZSBpZiAocmF3X2RldmljZSkKICAgICAodm9pZCkg
Z2V0X3ByaW50ZXIoMSwgMCk7CiAgIGluaXRpYWxpemVfcHJpbnRfY21kKDEpOwogICBkb19y
ZW1vdGVfY21kKCJDSCIsIDIsIDAsIDApOwotICBwcmludGYoXygiQ2xlYW5pbmcgaGVhZHMu
Li5cbiIpKTsKKyAgcHJpbnRmKCIlcyIsIF8oIkNsZWFuaW5nIGhlYWRzLi4uXG4iKSk7CiAg
IGV4aXQoZG9fcHJpbnRfY21kKCkpOwogfQogCkBAIC0yMDI0LDcgKzIwMjQsNyBAQCBkb19y
ZW1vdGVfY21kX29ubHkoIlZJIiwgMiwgMCwgMCk7CiAgIGRvX3JlbW90ZV9jbWRfb25seSgi
TkMiLCAyLCAwLCAweDEwKTsKICAgZG9fcmVtb3RlX2NtZF9vbmx5KCJOQyIsIDIsIDAsIDAp
OwogICBlbmRfcmVtb3RlX3NlcXVlbmNlKCk7Ci0gIHByaW50ZihfKCJSdW5uaW5nIG5venps
ZSBjaGVjaywgcGxlYXNlIGVuc3VyZSBwYXBlciBpcyBpbiB0aGUgcHJpbnRlci5cbiIpKTsK
KyAgcHJpbnRmKCIlcyIsIF8oIlJ1bm5pbmcgbm96emxlIGNoZWNrLCBwbGVhc2UgZW5zdXJl
IHBhcGVyIGlzIGluIHRoZSBwcmludGVyLlxuIikpOwogICBleGl0KGRvX3ByaW50X2NtZCgp
KTsKIH0KIApAQCAtMjEwNyw3ICsyMTA3LDcgQEAgfQogc3RhdGljIHZvaWQKIHByaW50ZXJf
ZXJyb3Iodm9pZCkKIHsKLSAgcHJpbnRmKF8oIlVuYWJsZSB0byBzZW5kIGNvbW1hbmQgdG8g
dGhlIHByaW50ZXIsIGV4aXRpbmcuXG4iKSk7CisgIHByaW50ZigiJXMiLCBfKCJVbmFibGUg
dG8gc2VuZCBjb21tYW5kIHRvIHRoZSBwcmludGVyLCBleGl0aW5nLlxuIikpOwogICBleGl0
KDEpOwogfQogCkBAIC0yMTIxLDEwICsyMTIxLDEwIEBAIGNoYXIgKmluYnVmOwogICAgICAg
cmV0cnlfY291bnQrKzsKICAgICAgIGlmIChyZXRyeV9jb3VudCA+IDEwKQogCXsKLQkgIHBy
aW50ZihfKCJFeGl0aW5nXG4iKSk7CisJICBwcmludGYoIiVzIiwgXygiRXhpdGluZ1xuIikp
OwogCSAgZXhpdCgxKTsKIAl9Ci0gICAgICBwcmludGYoXygiUGxlYXNlIGluc3BlY3QgdGhl
IGZpbmFsIG91dHB1dCB2ZXJ5IGNhcmVmdWxseSB0byBlbnN1cmUgdGhhdCB5b3VyXG4iCisg
ICAgICBwcmludGYoIiVzIiwgXygiUGxlYXNlIGluc3BlY3QgdGhlIGZpbmFsIG91dHB1dCB2
ZXJ5IGNhcmVmdWxseSB0byBlbnN1cmUgdGhhdCB5b3VyXG4iCiAJICAgICAgICJwcmludGVy
IGlzIGluIHByb3BlciBhbGlnbm1lbnQuIFlvdSBtYXkgbm93OlxuIgogCSAgICAgICAiICAo
cylhdmUgdGhlIHJlc3VsdHMgaW4gdGhlIHByaW50ZXIsXG4iCiAJICAgICAgICIgIChxKXVp
dCB3aXRob3V0IHNhdmluZyB0aGUgcmVzdWx0cywgb3JcbiIKQEAgLTIxMzksMjEgKzIxMzks
MjEgQEAgc3dpdGNoIChpbmJ1ZlswXSkKIAl7CiAJY2FzZSAncSc6CiAJY2FzZSAnUSc6Ci0J
ICBwcmludGYoXygiUGxlYXNlIGNvbmZpcm0gYnkgdHlwaW5nICdxJyBhZ2FpbiB0aGF0IHlv
dSB3aXNoIHRvIHF1aXQgd2l0aG91dCBzYXZpbmc6XG4iKSk7CisJICBwcmludGYoIiVzIiwg
XygiUGxlYXNlIGNvbmZpcm0gYnkgdHlwaW5nICdxJyBhZ2FpbiB0aGF0IHlvdSB3aXNoIHRv
IHF1aXQgd2l0aG91dCBzYXZpbmc6XG4iKSk7CiAJICBmZmx1c2goc3Rkb3V0KTsKIAkgIGlu
YnVmID0gZG9fZ2V0X2lucHV0IChfKCI+ICIpKTsKIAkgIGlmICghaW5idWYpCiAJICAgIGNv
bnRpbnVlOwogCSAgaWYgKGluYnVmWzBdID09ICdxJyB8fCBpbmJ1ZlswXSA9PSAnUScpCiAJ
ICAgIHsKLQkgICAgICBwcmludGYoXygiT0ssIHlvdXIgcHJpbnRlciBpcyBhbGlnbmVkLCBi
dXQgdGhlIGFsaWdubWVudCBoYXMgbm90IGJlZW4gc2F2ZWQuXG4iCisJICAgICAgcHJpbnRm
KCIlcyIsIF8oIk9LLCB5b3VyIHByaW50ZXIgaXMgYWxpZ25lZCwgYnV0IHRoZSBhbGlnbm1l
bnQgaGFzIG5vdCBiZWVuIHNhdmVkLlxuIgogCQkgICAgICAgIklmIHlvdSB3aXNoIHRvIHNh
dmUgdGhlIGFsaWdubWVudCwgeW91IG11c3QgcmVwZWF0IHRoaXMgcHJvY2Vzcy5cbiIpKTsK
IAkgICAgICByZXR1cm4gMTsKIAkgICAgfQogCSAgYnJlYWs7CiAJY2FzZSAncic6CiAJY2Fz
ZSAnUic6Ci0JICBwcmludGYoXygiUGxlYXNlIGNvbmZpcm0gYnkgdHlwaW5nICdyJyBhZ2Fp
biB0aGF0IHlvdSB3aXNoIHRvIHJlcGVhdCB0aGVcbiIKKwkgIHByaW50ZigiJXMiLCBfKCJQ
bGVhc2UgY29uZmlybSBieSB0eXBpbmcgJ3InIGFnYWluIHRoYXQgeW91IHdpc2ggdG8gcmVw
ZWF0IHRoZVxuIgogCQkgICAiYWxpZ25tZW50IHByb2Nlc3M6XG4iKSk7CiAJICBmZmx1c2go
c3Rkb3V0KTsKIAkgIGluYnVmID0gZG9fZ2V0X2lucHV0KF8oIj4gIikpOwpAQCAtMjE2MSwx
MyArMjE2MSwxMyBAQCBpZiAoIWluYnVmKQogCSAgICBjb250aW51ZTsKIAkgIGlmIChpbmJ1
ZlswXSA9PSAncicgfHwgaW5idWZbMF0gPT0gJ1InKQogCSAgICB7Ci0JICAgICAgcHJpbnRm
KF8oIlJlcGVhdGluZyB0aGUgYWxpZ25tZW50IHByb2Nlc3MuXG4iKSk7CisJICAgICAgcHJp
bnRmKCIlcyIsIF8oIlJlcGVhdGluZyB0aGUgYWxpZ25tZW50IHByb2Nlc3MuXG4iKSk7CiAJ
ICAgICAgcmV0dXJuIDA7CiAJICAgIH0KIAkgIGJyZWFrOwogCWNhc2UgJ3MnOgogCWNhc2Ug
J1MnOgotCSAgcHJpbnRmKF8oIlRoaXMgd2lsbCBwZXJtYW5lbnRseSBhbHRlciB0aGUgY29u
ZmlndXJhdGlvbiBvZiB5b3VyIHByaW50ZXIuXG4iCisJICBwcmludGYoIiVzIiwgXygiVGhp
cyB3aWxsIHBlcm1hbmVudGx5IGFsdGVyIHRoZSBjb25maWd1cmF0aW9uIG9mIHlvdXIgcHJp
bnRlci5cbiIKIAkJICAgIldBUk5JTkc6IHRoaXMgcHJvY2VkdXJlIGhhcyBub3QgYmVlbiBh
cHByb3ZlZCBieSBTZWlrbyBFcHNvbiwgYW5kXG4iCiAJCSAgICJpdCBtYXkgZGFtYWdlIHlv
dXIgcHJpbnRlci4gUHJvY2VlZD9cbiIKIAkJICAgIlBsZWFzZSBjb25maXJtIGJ5IHR5cGlu
ZyAncycgYWdhaW4gdGhhdCB5b3Ugd2lzaCB0byBzYXZlIHRoZSBzZXR0aW5nc1xuIgpAQCAt
MjE3OSwyNyArMjE3OSwyNyBAQCBpZiAoIWluYnVmKQogCSAgICBjb250aW51ZTsKIAkgIGlm
IChpbmJ1ZlswXSA9PSAncycgfHwgaW5idWZbMF0gPT0gJ1MnKQogCSAgICB7Ci0JICAgICAg
cHJpbnRmKF8oIkFib3V0IHRvIHNhdmUgc2V0dGluZ3MuLi4iKSk7CisJICAgICAgcHJpbnRm
KCIlcyIsIF8oIkFib3V0IHRvIHNhdmUgc2V0dGluZ3MuLi4iKSk7CiAJICAgICAgZmZsdXNo
KHN0ZG91dCk7CiAJICAgICAgaW5pdGlhbGl6ZV9wcmludF9jbWQoMSk7CiAJICAgICAgZG9f
cmVtb3RlX2NtZCgiU1YiLCAwKTsKIAkgICAgICBpZiAoZG9fcHJpbnRfY21kKCkpCiAJCXsK
LQkJICBwcmludGYoXygiZmFpbGVkIVxuIikpOwotCQkgIHByaW50ZihfKCJZb3VyIHNldHRp
bmdzIHdlcmUgbm90IHNhdmVkIHN1Y2Nlc3NmdWxseS4gIFlvdSBtdXN0IHJlcGVhdCB0aGVc
biIKKwkJICBwcmludGYoIiVzIiwgXygiZmFpbGVkIVxuIikpOworCQkgIHByaW50ZigiJXMi
LCBfKCJZb3VyIHNldHRpbmdzIHdlcmUgbm90IHNhdmVkIHN1Y2Nlc3NmdWxseS4gIFlvdSBt
dXN0IHJlcGVhdCB0aGVcbiIKIAkJCSAgICJhbGlnbm1lbnQgcHJvY2VkdXJlLlxuIikpOwog
CQkgIGV4aXQoMSk7CiAJCX0KLQkgICAgICBwcmludGYoXygic3VjY2VlZGVkIVxuIikpOwot
CSAgICAgIHByaW50ZihfKCJZb3VyIGFsaWdubWVudCBzZXR0aW5ncyBoYXZlIGJlZW4gc2F2
ZWQgdG8gdGhlIHByaW50ZXIuXG4iKSk7CisJICAgICAgcHJpbnRmKCIlcyIsIF8oInN1Y2Nl
ZWRlZCFcbiIpKTsKKwkgICAgICBwcmludGYoIiVzIiwgXygiWW91ciBhbGlnbm1lbnQgc2V0
dGluZ3MgaGF2ZSBiZWVuIHNhdmVkIHRvIHRoZSBwcmludGVyLlxuIikpOwogCSAgICAgIHJl
dHVybiAxOwogCSAgICB9CiAJICBicmVhazsKIAlkZWZhdWx0OgotCSAgcHJpbnRmKF8oIlVu
cmVjb2duaXplZCBjb21tYW5kLlxuIikpOworCSAgcHJpbnRmKCIlcyIsIF8oIlVucmVjb2du
aXplZCBjb21tYW5kLlxuIikpOwogCSAgY29udGludWU7CiAJfQotICAgICAgcHJpbnRmKF8o
IkZpbmFsIGNvbW1hbmQgd2FzIG5vdCBjb25maXJtZWQuXG4iKSk7CisgICAgICBwcmludGYo
IiVzIiwgXygiRmluYWwgY29tbWFuZCB3YXMgbm90IGNvbmZpcm1lZC5cbiIpKTsKICAgICB9
CiB9CiAKQEAgLTIyODAsNyArMjI4MCw3IEBAIGZvciAoY3VycGFzcyA9IDA7IGN1cnBhc3Mg
PCBhbGlnbm1lbnRfcGEKIAlkb19yZW1vdGVfY21kKCJEVCIsIDMsIDAsIGN1cnBhc3MsIDAp
OwogICAgICAgaWYgKGRvX3ByaW50X2NtZCgpKQogCXByaW50ZXJfZXJyb3IoKTsKLSAgICAg
IHByaW50ZihfKCJQbGVhc2UgaW5zcGVjdCB0aGUgcHJpbnQsIGFuZCBjaG9vc2UgdGhlIGJl
c3QgcGFpciBvZiBsaW5lcyBpbiBlYWNoIHBhdHRlcm4uXG4iCisgICAgICBwcmludGYoIiVz
IiwgXygiUGxlYXNlIGluc3BlY3QgdGhlIHByaW50LCBhbmQgY2hvb3NlIHRoZSBiZXN0IHBh
aXIgb2YgbGluZXMgaW4gZWFjaCBwYXR0ZXJuLlxuIgogCSAgICAgICAiVHlwZSBhIHBhaXIg
bnVtYmVyLCAnPycgZm9yIGhlbHAsIG9yICdyJyB0byByZXBlYXQgdGhlIHByb2NlZHVyZS5c
biIpKTsKICAgICAgIGluaXRpYWxpemVfcHJpbnRfY21kKDEpOwogICAgICAgZm9yIChjdXJw
YXNzID0gMTsgY3VycGFzcyA8PSBhbGlnbm1lbnRfcGFzc2VzOyBjdXJwYXNzICsrKQpAQCAt
MjI5MCw3ICsyMjkwLDcgQEAgcmVyZWFkOgogCSAgcmV0cnlfY291bnQrKzsKIAkgIGlmIChy
ZXRyeV9jb3VudCA+IDEwKQogCSAgICB7Ci0JICAgICAgcHJpbnRmKF8oIkV4aXRpbmdcbiIp
KTsKKwkgICAgICBwcmludGYoIiVzIiwgXygiRXhpdGluZ1xuIikpOwogCSAgICAgIHJldHVy
bjsKIAkgICAgfQogCSAgcHJpbnRmKF8oIlBhc3MgIyVkIiksIGN1cnBhc3MpOwpAQCAtMjMw
MSw3ICsyMzAxLDcgQEAgc3dpdGNoIChpbmJ1ZlswXSkKIAkgICAgewogCSAgICBjYXNlICdy
JzoKIAkgICAgY2FzZSAnUic6Ci0JICAgICAgcHJpbnRmKF8oIlBsZWFzZSBpbnNlcnQgYSBm
cmVzaCBzaGVldCBvZiBwYXBlci5cbiIpKTsKKwkgICAgICBwcmludGYoIiVzIiwgXygiUGxl
YXNlIGluc2VydCBhIGZyZXNoIHNoZWV0IG9mIHBhcGVyLlxuIikpOwogCSAgICAgIGZmbHVz
aChzdGRvdXQpOwogCSAgICAgIGluaXRpYWxpemVfcHJpbnRfY21kKDEpOwogCSAgICAgICh2
b2lkKSBkb19nZXRfaW5wdXQoXygiUHJlc3MgZW50ZXIgdG8gY29udGludWUgPiAiKSk7CkBA
IC0yMzIwLDEyICsyMzIwLDEyIEBAIH0KIAkgIGFuc3dlciA9IHN0cnRvbChpbmJ1ZiwgJmVu
ZHB0ciwgMTApOwogCSAgaWYgKGVycm5vID09IEVSQU5HRSkKIAkgICAgewotCSAgICAgIHBy
aW50ZihfKCJOdW1iZXIgb3V0IG9mIHJhbmdlIVxuIikpOworCSAgICAgIHByaW50ZigiJXMi
LCBfKCJOdW1iZXIgb3V0IG9mIHJhbmdlIVxuIikpOwogCSAgICAgIGdvdG8gcmVyZWFkOwog
CSAgICB9CiAJICBpZiAoZW5kcHRyID09IGluYnVmKQogCSAgICB7Ci0JICAgICAgcHJpbnRm
KF8oIkkgY2Fubm90IHVuZGVyc3RhbmQgd2hhdCB5b3UgdHlwZWQhXG4iKSk7CisJICAgICAg
cHJpbnRmKCIlcyIsIF8oIkkgY2Fubm90IHVuZGVyc3RhbmQgd2hhdCB5b3UgdHlwZWQhXG4i
KSk7CiAJICAgICAgZmZsdXNoKHN0ZG91dCk7CiAJICAgICAgZ290byByZXJlYWQ7CiAJICAg
IH0KQEAgLTIzMzgsMTUgKzIzMzgsMTUgQEAgZ290byByZXJlYWQ7CiAJICAgIH0KIAkgIGRv
X3JlbW90ZV9jbWQoIkRBIiwgNCwgMCwgY3VycGFzcyAtIDEsIDAsIGFuc3dlcik7CiAJfQot
ICAgICAgcHJpbnRmKF8oIkF0dGVtcHRpbmcgdG8gc2V0IGFsaWdubWVudC4uLiIpKTsKKyAg
ICAgIHByaW50ZigiJXMiLCBfKCJBdHRlbXB0aW5nIHRvIHNldCBhbGlnbm1lbnQuLi4iKSk7
CiAgICAgICBpZiAoZG9fcHJpbnRfY21kKCkpCiAJcHJpbnRlcl9lcnJvcigpOwotICAgICAg
cHJpbnRmKF8oInN1Y2NlZWRlZC5cbiIpKTsKKyAgICAgIHByaW50ZigiJXMiLCBfKCJzdWNj
ZWVkZWQuXG4iKSk7CiAgICAgICBwcmludGYoXygiUGxlYXNlIHZlcmlmeSB0aGF0IHRoZSBh
bGlnbm1lbnQgaXMgY29ycmVjdC4gIEFmdGVyIHRoZSBhbGlnbm1lbnQgcGF0dGVyblxuIgog
CSAgICAgICAiaXMgcHJpbnRlZCBhZ2FpbiwgcGxlYXNlIGVuc3VyZSB0aGF0IHRoZSBiZXN0
IHBhdHRlcm4gZm9yIGVhY2ggbGluZSBpc1xuIgogCSAgICAgICAicGF0dGVybiAlZC4gIElm
IGl0IGlzIG5vdCwgeW91IHNob3VsZCByZXBlYXQgdGhlIHByb2Nlc3MgdG8gZ2V0IHRoZSBi
ZXN0XG4iCiAJICAgICAgICJxdWFsaXR5IHByaW50aW5nLlxuIiksIChhbGlnbm1lbnRfY2hv
aWNlcyArIDEpIC8gMik7Ci0gICAgICBwcmludGYoXygiUGxlYXNlIGluc2VydCBhIGZyZXNo
IHNoZWV0IG9mIHBhcGVyLlxuIikpOworICAgICAgcHJpbnRmKCIlcyIsIF8oIlBsZWFzZSBp
bnNlcnQgYSBmcmVzaCBzaGVldCBvZiBwYXBlci5cbiIpKTsKICAgICAgICh2b2lkKSBkb19n
ZXRfaW5wdXQoXygiUHJlc3MgZW50ZXIgdG8gY29udGludWUgPiAiKSk7CiAgICAgICBpbml0
aWFsaXplX3ByaW50X2NtZCgxKTsKICAgICAgIGZvciAoY3VycGFzcyA9IDA7IGN1cnBhc3Mg
PCBhbGlnbm1lbnRfcGFzc2VzOyBjdXJwYXNzKyspCkBAIC0yMzg4LDcgKzIzODgsNyBAQCBw
cmludGYgKCIlcyIsIHByb21wdCk7CiAJZmdldHNfc3RhdHVzID0gZmdldHMgKGlucHV0LCBC
VUZTSVosIHN0ZGluKTsKIAlpZiAoZmdldHNfc3RhdHVzID09IE5VTEwpCiAJewotCQlmcHJp
bnRmIChzdGRvdXQsIF8oIkVycm9yIGluIGlucHV0XG4iKSk7CisJCWZwcmludGYgKHN0ZG91
dCwgIiVzIiwgXygiRXJyb3IgaW4gaW5wdXRcbiIpKTsKIAkJcmV0dXJuIChOVUxMKTsKIAl9
CiAJZWxzZSBpZiAoc3RybGVuIChpbnB1dCkgPT0gMSAmJiBpbnB1dFswXSA9PSAnXG4nKQot
LS0gYS9zcmMvbWFpbi9wcmludC1keWVzdWIuYworKysgYi9zcmMvbWFpbi9wcmludC1keWVz
dWIuYwpAQCAtMzg1Myw3ICszODUzLDcgQEAgIXN0cmNtcChwYWdlc2l6ZSwgInc1NzZoMTcy
OCIpIHx8CiAgICAgICAgICFzdHJjbXAocGFnZXNpemUsICJ3NTc2aDIzMDQiKSB8fAogICAg
ICAgICAhc3RyY21wKHBhZ2VzaXplLCAidzU3NmgyNTkyIikpCiAgICAgewotICAgICAgc3Rw
X2VwcmludGYodiwgXygiTXVzdCB1c2UgZ2xvc3N5IG92ZXJjb2F0IHdpdGggcGFub3JhbWEg
cHJpbnQgc2l6ZXMhXG4iKSk7CisgICAgICBzdHBfZXByaW50Zih2LCAiJXMiLCBfKCJNdXN0
IHVzZSBnbG9zc3kgb3ZlcmNvYXQgd2l0aCBwYW5vcmFtYSBwcmludCBzaXplcyFcbiIpKTsK
ICAgICAgIHJldHVybiAwOwogICAgIH0KICAgfQpAQCAtNDUyMSw3ICs0NTIxLDcgQEAgLyog
U2FuaXR5IGNoZWNrICovCiAgIGlmIChzdHBfY2hlY2tfcmF3X3BhcmFtZXRlcih2LCAiVXNl
ckNvbW1lbnQiLCBTVFBfUEFSQU1FVEVSX0FDVElWRSkpIHsKICAgICB1c2VyY29tbWVudCA9
IHN0cF9nZXRfcmF3X3BhcmFtZXRlcih2LCAiVXNlckNvbW1lbnQiKTsKICAgICBpZiAodXNl
cmNvbW1lbnQtPmJ5dGVzID4gMzQpIHsKLSAgICAgIHN0cF9lcHJpbnRmKHYsIF8oIlN0cFVz
ZXJDb21tZW50IG11c3QgYmUgYmV0d2VlbiAwIGFuZCAzNCBieXRlcyFcbiIpKTsKKyAgICAg
IHN0cF9lcHJpbnRmKHYsICIlcyIsIF8oIlN0cFVzZXJDb21tZW50IG11c3QgYmUgYmV0d2Vl
biAwIGFuZCAzNCBieXRlcyFcbiIpKTsKICAgICAgIHJldHVybiAwOwogICAgIH0KICAgfQpA
QCAtNDUyOSw3ICs0NTI5LDcgQEAgfQogICBpZiAoc3RwX2NoZWNrX3Jhd19wYXJhbWV0ZXIo
diwgIlVzZXJMVVQiLCBTVFBfUEFSQU1FVEVSX0FDVElWRSkpIHsKICAgICB1c2VybHV0ID0g
c3RwX2dldF9yYXdfcGFyYW1ldGVyKHYsICJVc2VyTFVUIik7CiAgICAgaWYgKHVzZXJjb21t
ZW50LT5ieXRlcyAhPSAzNCkgewotICAgICAgc3RwX2VwcmludGYodiwgXygiU3RwVXNlckxV
VCBtdXN0IGJlIGV4YWN0bHkgMzQgYnl0ZXMhXG4iKSk7CisgICAgICBzdHBfZXByaW50Zih2
LCAiJXMiLCBfKCJTdHBVc2VyTFVUIG11c3QgYmUgZXhhY3RseSAzNCBieXRlcyFcbiIpKTsK
ICAgICAgIHJldHVybiAwOwogICAgIH0KICAgfQpAQCAtNDkzNCw3ICs0OTM0LDcgQEAgLyog
U2FuaXR5IGNoZWNrICovCiAgIGlmIChzdHBfY2hlY2tfcmF3X3BhcmFtZXRlcih2LCAiVXNl
ckNvbW1lbnQiLCBTVFBfUEFSQU1FVEVSX0FDVElWRSkpIHsKICAgICB1c2VyY29tbWVudCA9
IHN0cF9nZXRfcmF3X3BhcmFtZXRlcih2LCAiVXNlckNvbW1lbnQiKTsKICAgICBpZiAodXNl
cmNvbW1lbnQtPmJ5dGVzID4gNDApIHsKLSAgICAgIHN0cF9lcHJpbnRmKHYsIF8oIlN0cFVz
ZXJDb21tZW50IG11c3QgYmUgYmV0d2VlbiAwIGFuZCA0MCBieXRlcyFcbiIpKTsKKyAgICAg
IHN0cF9lcHJpbnRmKHYsICIlcyIsIF8oIlN0cFVzZXJDb21tZW50IG11c3QgYmUgYmV0d2Vl
biAwIGFuZCA0MCBieXRlcyFcbiIpKTsKICAgICAgIHJldHVybiAwOwogICAgIH0KICAgfQpA
QCAtNzMyNiw3ICs3MzI2LDcgQEAgY29uc3QgY2hhciAqcXVhbGl0eSA9IHN0cF9nZXRfc3Ry
aW5nX3BhcgogICBpbnQgbWF0Y2g7CiAKICAgaWYgKHVzZV9sdXQgJiYgc3RyY21wKG1hdGNo
aW5nLCAiT2ZmIikpIHsKLQkgIHN0cF9lcHJpbnRmKHYsIF8oIkNhbm5vdCB1c2UgSW50ZXJu
YWwgQ29ycmVjdGlvbiBhbmQgQ29sb3IgTWF0Y2hpbmcgdG9nZXRoZXIhXG4iKSk7CisJICBz
dHBfZXByaW50Zih2LCAiJXMiLCBfKCJDYW5ub3QgdXNlIEludGVybmFsIENvcnJlY3Rpb24g
YW5kIENvbG9yIE1hdGNoaW5nIHRvZ2V0aGVyIVxuIikpOwogCSAgcmV0dXJuIDA7CiAgIH0g
ZWxzZSBpZiAodXNlX2x1dCAmJiAhc3RyY21wKG1hdGNoaW5nLCAiT2ZmIikpIHsKIAkgIG1h
dGNoID0gMDsKQEAgLTg4NTQsNyArODg1NCw3IEBAIG11bHRpY3V0ID0gMjA7CiAgIH0gZWxz
ZSBpZiAoIXN0cmNtcChwYWdlc2l6ZSwgInc1NzZoODQyIikpIHsKICAgICBtdWx0aWN1dCA9
IDIxOwogICB9IGVsc2UgewotICAgIHN0cF9lcHJpbnRmKHYsIF8oIklsbGVnYWwgcHJpbnQg
c2l6ZSBzZWxlY3RlZCBmb3Igcm9sbCBtZWRpYSFcbiIpKTsKKyAgICBzdHBfZXByaW50Zih2
LCAiJXMiLCBfKCJJbGxlZ2FsIHByaW50IHNpemUgc2VsZWN0ZWQgZm9yIHJvbGwgbWVkaWEh
XG4iKSk7CiAgICAgcmV0dXJuIDA7CiAgIH0KIApAQCAtODkwOCw3ICs4OTA4LDcgQEAgcGFn
ZW51bSA9IHN0cF9nZXRfaW50X3BhcmFtZXRlcih2LCAiUGFnZQogCiAgIGlmICghc3RyY21w
KG1lZGlhLT5uYW1lLCAiUm9sbCIpKSB7CiAgICAgaWYgKHN0cmNtcChkdXBsZXhfbW9kZSwg
Ik5vbmUiKSAmJiBzdHJjbXAoZHVwbGV4X21vZGUsICJTdGFuZGFyZCIpKSB7Ci0gICAgICBz
dHBfZXByaW50Zih2LCBfKCJEdXBsZXggbm90IHN1cHBvcnRlZCBvbiByb2xsIG1lZGlhLCBz
d2l0Y2hpbmcgdG8gc2hlZXQgbWVkaWEhXG4iKSk7CisgICAgICBzdHBfZXByaW50Zih2LCAi
JXMiLCBfKCJEdXBsZXggbm90IHN1cHBvcnRlZCBvbiByb2xsIG1lZGlhLCBzd2l0Y2hpbmcg
dG8gc2hlZXQgbWVkaWEhXG4iKSk7CiAgICAgICBzdHBfc2V0X3N0cmluZ19wYXJhbWV0ZXIo
diwgIk1lZGlhVHlwZSIsICJTaGVldCIpOwogICAgIH0gZWxzZSB7CiAgICAgICAvKiBJZiB3
ZSdyZSBub3QgdXNpbmcgZHVwbGV4IGFuZCByb2xsIG1lZGlhLCB0aGlzIGlzCkBAIC04OTQy
LDcgKzg5NDIsNyBAQCBtdWx0aWN1dCA9IDE1OwogICB9IGVsc2UgaWYgKCFzdHJjbXAocGFn
ZXNpemUsICJ3NTc2aDg2NC1kaXYzc2hlZXQiKSkgewogICAgIG11bHRpY3V0ID0gMjg7CiAg
IH0gZWxzZSB7Ci0gICAgc3RwX2VwcmludGYodiwgXygiSWxsZWdhbCBwcmludCBzaXplIHNl
bGVjdGVkIGZvciBzaGVldCBtZWRpYSFcbiIpKTsKKyAgICBzdHBfZXByaW50Zih2LCAiJXMi
LCBfKCJJbGxlZ2FsIHByaW50IHNpemUgc2VsZWN0ZWQgZm9yIHNoZWV0IG1lZGlhIVxuIikp
OwogICAgIHJldHVybiAwOwogICB9CiAKQEAgLTEwOTU0LDcgKzEwOTU0LDcgQEAgb3ZlcmNv
YXRfaG9sZSA9IE5VTEw7CiAgIC8qIElmIG92ZXJjb2F0IGlzIG9mZiwgd2UgY2FuJ3QgdXNl
IGhvbG9rb3RlIG9yIGhvbG9wYXRjaCAqLwogICBpZiAobHBhciAmJiBzdHJjbXAoIk9uIiwg
bHBhcikpIHsKICAgICBpZiAoKGhvbG9rb3RlICYmIHN0cmNtcChob2xva290ZSwgIk9mZiIp
KSB8fCBob2xvcGF0Y2ggfHwgb3ZlcmNvYXRfaG9sZSB8fCBob2xva290ZV9jdXN0b20pIHsK
LSAgICAgIHN0cF9lcHJpbnRmKHYsIF8oIkhvbG9rb3RlLCBIb2xvcGF0Y2gsIGFuZCBPdmVy
Y29hdCBob2xlIGZlYXR1cmVzIHJlcXVpcmUgT3ZlcmNvYXQgdG8gYmUgZW5hYmxlZCFcbiIp
KTsKKyAgICAgIHN0cF9lcHJpbnRmKHYsICIlcyIsIF8oIkhvbG9rb3RlLCBIb2xvcGF0Y2gs
IGFuZCBPdmVyY29hdCBob2xlIGZlYXR1cmVzIHJlcXVpcmUgT3ZlcmNvYXQgdG8gYmUgZW5h
YmxlZCFcbiIpKTsKICAgICAgIHJldHVybiAwOwogICAgIH0KICAgfQpAQCAtMTA5NjMsMjEg
KzEwOTYzLDIxIEBAIC8qIFNhbml0eSBjaGVjayBtYWdzdHJpcGUgKi8KICAgaWYgKHN0cF9j
aGVja19yYXdfcGFyYW1ldGVyKHYsICJNYWdTdHJpcGUxIiwgU1RQX1BBUkFNRVRFUl9BQ1RJ
VkUpKSB7CiAgICAgbWFnc3RyaXBlMSA9IHN0cF9nZXRfcmF3X3BhcmFtZXRlcih2LCAiTWFn
U3RyaXBlMSIpOwogICAgIGlmIChtYWdzdHJpcGUxLT5ieXRlcyA+PSA3OSkgewotICAgICAg
c3RwX2VwcmludGYodiwgXygiU3RwTWFnU3RyaXBlMSBtdXN0IGJlIGJldHdlZW4gMCBhbmQg
NzggYnl0ZXMhXG4iKSk7CisgICAgICBzdHBfZXByaW50Zih2LCAiJXMiLCBfKCJTdHBNYWdT
dHJpcGUxIG11c3QgYmUgYmV0d2VlbiAwIGFuZCA3OCBieXRlcyFcbiIpKTsKICAgICAgIHJl
dHVybiAwOwogICAgIH0KICAgfQogICBpZiAoc3RwX2NoZWNrX3Jhd19wYXJhbWV0ZXIodiwg
Ik1hZ1N0cmlwZTIiLCBTVFBfUEFSQU1FVEVSX0FDVElWRSkpIHsKICAgICBtYWdzdHJpcGUy
ID0gc3RwX2dldF9yYXdfcGFyYW1ldGVyKHYsICJNYWdTdHJpcGUyIik7CiAgICAgaWYgKG1h
Z3N0cmlwZTItPmJ5dGVzID49IDQwKSB7Ci0gICAgICBzdHBfZXByaW50Zih2LCBfKCJTdHBN
YWdTdHJpcGUyIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAzOSBieXRlcyFcbiIpKTsKKyAgICAg
IHN0cF9lcHJpbnRmKHYsICIlcyIsIF8oIlN0cE1hZ1N0cmlwZTIgbXVzdCBiZSBiZXR3ZWVu
IDAgYW5kIDM5IGJ5dGVzIVxuIikpOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQogICB9CiAg
IGlmIChzdHBfY2hlY2tfcmF3X3BhcmFtZXRlcih2LCAiTWFnU3RyaXBlMyIsIFNUUF9QQVJB
TUVURVJfQUNUSVZFKSkgewogICAgIG1hZ3N0cmlwZTEgPSBzdHBfZ2V0X3Jhd19wYXJhbWV0
ZXIodiwgIk1hZ1N0cmlwZTMiKTsKICAgICBpZiAobWFnc3RyaXBlMS0+Ynl0ZXMgPj0gMTA3
KSB7Ci0gICAgICBzdHBfZXByaW50Zih2LCBfKCJTdHBNYWdTdHJpcGUzIG11c3QgYmUgYmV0
d2VlbiAwIGFuZCAxMDYgYnl0ZXMhXG4iKSk7CisgICAgICBzdHBfZXByaW50Zih2LCAiJXMi
LCBfKCJTdHBNYWdTdHJpcGUzIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAxMDYgYnl0ZXMhXG4i
KSk7CiAgICAgICByZXR1cm4gMDsKICAgICB9CiAgIH0KQEAgLTExMDI0LDE2ICsxMTAyNCwx
NiBAQCBwZC0+cHJpdmRhdGEubWFnaWNhcmQubWFnMVttYWdzdHJpcGUxLT5iCiAgICAgZm9y
IChpID0gMCA7IGkgPCBtYWdzdHJpcGUxLT5ieXRlcyA7IGkrKykgewogICAgICAgaWYgKHBk
LT5wcml2ZGF0YS5tYWdpY2FyZC5tYWcxW2ldIDwgMHgyMCB8fAogCSAgcGQtPnByaXZkYXRh
Lm1hZ2ljYXJkLm1hZzFbaV0gPiAweDVmKSB7Ci0Jc3RwX2VwcmludGYodiwgXygiSWxsZWdh
bCBBbHBoYW51bWVyaWMgaW4gTWFnc3RyaXBlLCAweDIwLT4weDVGIEFTQ0lJIG9ubHlcbiIp
KTsKKwlzdHBfZXByaW50Zih2LCAiJXMiLCBfKCJJbGxlZ2FsIEFscGhhbnVtZXJpYyBpbiBN
YWdzdHJpcGUsIDB4MjAtPjB4NUYgQVNDSUkgb25seVxuIikpOwogCXJldHVybiAwOwogICAg
ICAgfQogICAgIH0KICAgICBpZiAocGQtPnByaXZkYXRhLm1hZ2ljYXJkLm1hZzFbMF0gIT0g
JyUnKSB7Ci0gICAgICBzdHBfZXByaW50Zih2LCBfKCJNYWdzdHJpcGUgYWxwaGFudW1lcmlj
IGRhdGEgbXVzdCBzdGFydCB3aXRoICclJSdcbiIpKTsKKyAgICAgIHN0cF9lcHJpbnRmKHYs
ICIlcyIsIF8oIk1hZ3N0cmlwZSBhbHBoYW51bWVyaWMgZGF0YSBtdXN0IHN0YXJ0IHdpdGgg
JyUlJ1xuIikpOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIGlmIChwZC0+cHJpdmRh
dGEubWFnaWNhcmQubWFnMVttYWdzdHJpcGUxLT5ieXRlcyAtIDFdICE9ICc/JykgewotICAg
ICAgc3RwX2VwcmludGYodiwgXygiTWFnc3RyaXBlIHN0cmluZyBtdXN0IGVuZCB3aXRoICc/
J1xuIikpOworICAgICAgc3RwX2VwcmludGYodiwgIiVzIiwgXygiTWFnc3RyaXBlIHN0cmlu
ZyBtdXN0IGVuZCB3aXRoICc/J1xuIikpOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQogICB9
CkBAIC0xMTA0NCwxNiArMTEwNDQsMTYgQEAgcGQtPnByaXZkYXRhLm1hZ2ljYXJkLm1hZzJb
bWFnc3RyaXBlMi0+YgogICAgIGZvciAoaSA9IDAgOyBpIDwgbWFnc3RyaXBlMi0+Ynl0ZXMg
OyBpKyspIHsKICAgICAgIGlmIChwZC0+cHJpdmRhdGEubWFnaWNhcmQubWFnMltpXSA8IDB4
MzAgfHwKIAkgIHBkLT5wcml2ZGF0YS5tYWdpY2FyZC5tYWcyW2ldID4gMHgzZikgewotCXN0
cF9lcHJpbnRmKHYsIF8oIklsbGVnYWwgTnVtZXJpYyBpbiBNYWdzdHJpcGUsIDB4MzAtPjB4
M0YgQVNDSUkgb25seVxuIikpOworCXN0cF9lcHJpbnRmKHYsICIlcyIsIF8oIklsbGVnYWwg
TnVtZXJpYyBpbiBNYWdzdHJpcGUsIDB4MzAtPjB4M0YgQVNDSUkgb25seVxuIikpOwogCXJl
dHVybiAwOwogICAgICAgfQogICAgIH0KICAgICBpZiAocGQtPnByaXZkYXRhLm1hZ2ljYXJk
Lm1hZzJbMF0gIT0gJzsnKSB7Ci0gICAgICBzdHBfZXByaW50Zih2LCBfKCJNYWdzdHJpcGUg
bnVtZXJpYyBkYXRhIG11c3Qgc3RhcnQgd2l0aCAnOydcbiIpKTsKKyAgICAgIHN0cF9lcHJp
bnRmKHYsICIlcyIsIF8oIk1hZ3N0cmlwZSBudW1lcmljIGRhdGEgbXVzdCBzdGFydCB3aXRo
ICc7J1xuIikpOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIGlmIChwZC0+cHJpdmRh
dGEubWFnaWNhcmQubWFnMlttYWdzdHJpcGUyLT5ieXRlcyAtIDFdICE9ICc/JykgewotICAg
ICAgc3RwX2VwcmludGYodiwgXygiTWFnc3RyaXBlIGRhdGEgbXVzdCBlbmQgd2l0aCAnPydc
biIpKTsKKyAgICAgIHN0cF9lcHJpbnRmKHYsICIlcyIsIF8oIk1hZ3N0cmlwZSBkYXRhIG11
c3QgZW5kIHdpdGggJz8nXG4iKSk7CiAgICAgICByZXR1cm4gMDsKICAgICB9CiAgIH0KQEAg
LTExMDY0LDE2ICsxMTA2NCwxNiBAQCBwZC0+cHJpdmRhdGEubWFnaWNhcmQubWFnM1ttYWdz
dHJpcGUzLT5iCiAgICAgZm9yIChpID0gMCA7IGkgPCBtYWdzdHJpcGUzLT5ieXRlcyA7IGkr
KykgewogICAgICAgaWYgKHBkLT5wcml2ZGF0YS5tYWdpY2FyZC5tYWczW2ldIDwgMHgzMCB8
fAogCSAgcGQtPnByaXZkYXRhLm1hZ2ljYXJkLm1hZzNbaV0gPiAweDNmKSB7Ci0Jc3RwX2Vw
cmludGYodiwgXygiSWxsZWdhbCBOdW1lcmljIGluIE1hZ3N0cmlwZSwgMHgzMC0+MHgzRiBB
U0NJSSBvbmx5XG4iKSk7CisJc3RwX2VwcmludGYodiwgIiVzIiwgXygiSWxsZWdhbCBOdW1l
cmljIGluIE1hZ3N0cmlwZSwgMHgzMC0+MHgzRiBBU0NJSSBvbmx5XG4iKSk7CiAJcmV0dXJu
IDA7CiAgICAgICB9CiAgICAgfQogICAgIGlmIChwZC0+cHJpdmRhdGEubWFnaWNhcmQubWFn
M1swXSAhPSAnOycpIHsKLSAgICAgIHN0cF9lcHJpbnRmKHYsIF8oIk1hZ3N0cmlwZSBudW1l
cmljIGRhdGEgbXVzdCBzdGFydCB3aXRoICc7J1xuIikpOworICAgICAgc3RwX2VwcmludGYo
diwgIiVzIiwgXygiTWFnc3RyaXBlIG51bWVyaWMgZGF0YSBtdXN0IHN0YXJ0IHdpdGggJzsn
XG4iKSk7CiAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgaWYgKHBkLT5wcml2ZGF0YS5t
YWdpY2FyZC5tYWczW21hZ3N0cmlwZTMtPmJ5dGVzIC0gMV0gIT0gJz8nKSB7Ci0gICAgICBz
dHBfZXByaW50Zih2LCBfKCJNYWdzdHJpcGUgZGF0YSBtdXN0IGVuZCB3aXRoICc/J1xuIikp
OworICAgICAgc3RwX2VwcmludGYodiwgIiVzIiwgXygiTWFnc3RyaXBlIGRhdGEgbXVzdCBl
bmQgd2l0aCAnPydcbiIpKTsKICAgICAgIHJldHVybiAwOwogICAgIH0KICAgfQpAQCAtMTM3
MTIsNyArMTM3MTIsNyBAQCBkeWVzdWJfcHJpdmRhdGFfdCAqcGQ7CiAKICAgaWYgKCFzdHBf
dmVyaWZ5KHYpKQogICAgIHsKLSAgICAgIHN0cF9lcHJpbnRmKHYsIF8oIlByaW50IG9wdGlv
bnMgbm90IHZlcmlmaWVkOyBjYW5ub3QgcHJpbnQuXG4iKSk7CisgICAgICBzdHBfZXByaW50
Zih2LCAiJXMiLCBfKCJQcmludCBvcHRpb25zIG5vdCB2ZXJpZmllZDsgY2Fubm90IHByaW50
LlxuIikpOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0tLSBhL3NyYy9tYWluL3ByaW50
LWVzY3AyLmMKKysrIGIvc3JjL21haW4vcHJpbnQtZXNjcDIuYwpAQCAtNDU0MCw3ICs0NTQw
LDcgQEAgfQogCiAgIGlmICghc3RwX3ZlcmlmeSh2KSkKICAgICB7Ci0gICAgICBzdHBfZXBy
aW50Zih2LCBfKCJQcmludCBvcHRpb25zIG5vdCB2ZXJpZmllZDsgY2Fubm90IHByaW50Llxu
IikpOworICAgICAgc3RwX2VwcmludGYodiwgIiVzIiwgXygiUHJpbnQgb3B0aW9ucyBub3Qg
dmVyaWZpZWQ7IGNhbm5vdCBwcmludC5cbiIpKTsKICAgICAgIHJldHVybiAwOwogICAgIH0K
IAotLS0gYS9zcmMvbWFpbi9wcmludC1yYXcuYworKysgYi9zcmMvbWFpbi9wcmludC1yYXcu
YwpAQCAtMjQ0LDE0ICsyNDQsMTQgQEAgc3RwX2ltYWdlX2luaXQoaW1hZ2UpOwogCiAgIGlm
ICghc3RwX3ZlcmlmeShudikpCiAgICAgewotICAgICAgc3RwX2VwcmludGYobnYsIF8oIlBy
aW50IG9wdGlvbnMgbm90IHZlcmlmaWVkOyBjYW5ub3QgcHJpbnQuXG4iKSk7CisgICAgICBz
dHBfZXByaW50ZihudiwgIiVzIiwgXygiUHJpbnQgb3B0aW9ucyBub3QgdmVyaWZpZWQ7IGNh
bm5vdCBwcmludC5cbiIpKTsKICAgICAgIHN0cF92YXJzX2Rlc3Ryb3kobnYpOwogICAgICAg
c3RwX2ltYWdlX2NvbmNsdWRlKGltYWdlKTsKICAgICAgIHJldHVybiAwOwogICAgIH0KICAg
aWYgKHdpZHRoICE9IHN0cF9pbWFnZV93aWR0aChpbWFnZSkgfHwgaGVpZ2h0ICE9IHN0cF9p
bWFnZV9oZWlnaHQoaW1hZ2UpKQogICAgIHsKLSAgICAgIHN0cF9lcHJpbnRmKG52LCBfKCJJ
bWFnZSBkaW1lbnNpb25zIG11c3QgbWF0Y2ggcGFwZXIgZGltZW5zaW9ucyIpKTsKKyAgICAg
IHN0cF9lcHJpbnRmKG52LCAiJXMiLCBfKCJJbWFnZSBkaW1lbnNpb25zIG11c3QgbWF0Y2gg
cGFwZXIgZGltZW5zaW9ucyIpKTsKICAgICAgIHN0cF92YXJzX2Rlc3Ryb3kobnYpOwogICAg
ICAgc3RwX2ltYWdlX2NvbmNsdWRlKGltYWdlKTsKICAgICAgIHJldHVybiAwOwotLS0gYS9z
cmMvbWFpbi9wcmludGVycy5jCisrKyBiL3NyYy9tYWluL3ByaW50ZXJzLmMKQEAgLTg0Niw3
ICs4NDYsNyBAQCBzdHBfZ2V0X3BhZ2VfaGVpZ2h0KHYpID4gaGVpZ2h0IHx8CiAJICBzdHBf
Z2V0X3BhZ2Vfd2lkdGgodikgPD0gbWluX3dpZHRoIHx8IHN0cF9nZXRfcGFnZV93aWR0aCh2
KSA+IHdpZHRoKQogCXsKIAkgIGFuc3dlciA9IDA7Ci0JICBzdHBfZXByaW50Zih2LCBfKCJQ
YWdlIHNpemUgaXMgbm90IHZhbGlkXG4iKSk7CisJICBzdHBfZXByaW50Zih2LCAiJXMiLCBf
KCJQYWdlIHNpemUgaXMgbm90IHZhbGlkXG4iKSk7CiAJfQogICAgICAgc3RwX2RwcmludGYo
U1RQX0RCR19QQVBFUiwgdiwKIAkJICAicGFnZSBzaXplIG1heCAlZiAlZiBtaW4gJWYgJWYg
YWN0dWFsICVmICVmXG4iLApAQCAtODgxLDEzICs4ODEsMTMgQEAgfQogICBpZiAoc3RwX2dl
dF9oZWlnaHQodikgPD0gLWVwc2lsb24pCiAgICAgewogICAgICAgYW5zd2VyID0gMDsKLSAg
ICAgIHN0cF9lcHJpbnRmKHYsIF8oIkhlaWdodCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJv
XG4iKSk7CisgICAgICBzdHBfZXByaW50Zih2LCAiJXMiLCBfKCJIZWlnaHQgbXVzdCBiZSBn
cmVhdGVyIHRoYW4gemVyb1xuIikpOwogICAgIH0KIAogICBpZiAoc3RwX2dldF93aWR0aCh2
KSA8PSAtZXBzaWxvbikKICAgICB7CiAgICAgICBhbnN3ZXIgPSAwOwotICAgICAgc3RwX2Vw
cmludGYodiwgXygiV2lkdGggbXVzdCBiZSBncmVhdGVyIHRoYW4gemVyb1xuIikpOworICAg
ICAgc3RwX2VwcmludGYodiwgIiVzIiwgXygiV2lkdGggbXVzdCBiZSBncmVhdGVyIHRoYW4g
emVyb1xuIikpOwogICAgIH0KIAogICBpZiAoc3RwX2dldF9sZWZ0KHYpICsgc3RwX2dldF93
aWR0aCh2KSA+IHJpZ2h0ICsgZXBzaWxvbikK

--------------GsnDFH5V0q000YRaQryMgtEZ
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--------------GsnDFH5V0q000YRaQryMgtEZ
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Gimp-print-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gimp-print-devel

--------------GsnDFH5V0q000YRaQryMgtEZ--