MergeIdenticalTickets
10.0.1
10.0.x
Perl-Services.de
http://www.perl-services.de
Führt identische Tickets zusammen (basierend auf Absender, Betreff und (Plain-/HTML-)Text der Mail)
Merge Tickets that are identical (based on sender, subject and (plain-/html-)body of the mail)
GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
IyAtLQojIENvcHlyaWdodCAoQykgMjAxNCAtIDIwMjEgUGVybC1TZXJ2aWNlcy5kZSwgaHR0cDov
L3Blcmwtc2VydmljZXMuZGUKIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVU
RUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09Q
WUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVj
ZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQu
CiMgLS0KCnBhY2thZ2UgS2VybmVsOjpTeXN0ZW06OlBvc3RNYXN0ZXI6OkZpbHRlcjo6TWVyZ2VJ
ZGVudGljYWxUaWNrZXRzOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6
U3lzdGVtOjpFbWFpbFBhcnNlcjsKCnVzZSBMaXN0OjpVdGlsIHF3KGZpcnN0KTsKCm91ciBAT2Jq
ZWN0RGVwZW5kZW5jaWVzID0gcXcoCiAgICBLZXJuZWw6OkNvbmZpZwogICAgS2VybmVsOjpTeXN0
ZW06OlRpY2tldDo6QXJ0aWNsZQogICAgS2VybmVsOjpTeXN0ZW06OkxvZwogICAgS2VybmVsOjpT
eXN0ZW06Ok1haW4KICAgIEtlcm5lbDo6U3lzdGVtOjpUaWNrZXQ6Ok1JVFJQU2VhcmNoCik7Cgpz
dWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBu
ZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHt9OwogICAgYmxlc3MoICRTZWxmLCAk
VHlwZSApOwoKICAgICRTZWxmLT57RGVidWd9ID0gJFBhcmFte0RlYnVnfSB8fCAwOwoKICAgICMg
Z2V0IGNvbW11bmljYXRpb24gbG9nIG9iamVjdCBhbmQgTWVzc2FnZUlECiAgICAkU2VsZi0+e0Nv
bW11bmljYXRpb25Mb2dPYmplY3R9ID0gJFBhcmFte0NvbW11bmljYXRpb25Mb2dPYmplY3R9IHx8
IGRpZSAiR290IG5vIENvbW11bmljYXRpb25Mb2dPYmplY3QhIjsKCiAgICByZXR1cm4gJFNlbGY7
Cn0KCnN1YiBSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkTG9n
T2JqZWN0ICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKTsKICAg
IG15ICRNYWluT2JqZWN0ICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Ok1h
aW4nKTsKICAgIG15ICRDb25maWdPYmplY3QgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpD
b25maWcnKTsKICAgIG15ICRBcnRpY2xlT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVs
OjpTeXN0ZW06OlRpY2tldDo6QXJ0aWNsZScpOwogICAgbXkgJFNlYXJjaE9iamVjdCAgPSAkS2Vy
bmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0OjpNSVRSUFNlYXJjaCcpOwoKICAg
IG15ICRVc2VySUQgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ1Bvc3RtYXN0ZXJVc2VySUQnKSB8fCAx
OwoKICAgICRTZWxmLT57Q29tbXVuaWNhdGlvbkxvZ09iamVjdH0tPk9iamVjdExvZygKICAgICAg
ICBPYmplY3RMb2dUeXBlID0+ICdNZXNzYWdlJywKICAgICAgICBQcmlvcml0eSAgICAgID0+ICdE
ZWJ1ZycsCiAgICAgICAgS2V5ICAgICAgICAgICA9PiBfX1BBQ0tBR0VfXywKICAgICAgICBWYWx1
ZSAgICAgICAgID0+ICJTdGFydGluZyBmaWx0ZXIgIiAuIF9fUEFDS0FHRV9fLAogICAgKTsKCiAg
ICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICROZWVkZWQgKHF3KEpvYkNvbmZpZyBH
ZXRQYXJhbSkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JE5lZWRlZH0gKSB7CiAgICAgICAgICAg
ICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAg
ICAgICAgICAgICAgICBNZXNzYWdlID0+ICJOZWVkICROZWVkZWQhIiwKICAgICAgICAgICAgKTsK
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGdldCBjb25maWcgb3B0
aW9ucwogICAgbXkgJUNvbmZpZzsKICAgIG15ICVNZXRyaWNzOwoKICAgIGlmICggJFBhcmFte0pv
YkNvbmZpZ30gJiYgcmVmICRQYXJhbXtKb2JDb25maWd9IGVxICdIQVNIJyApIHsKICAgICAgICAl
Q29uZmlnICA9ICV7ICRQYXJhbXtKb2JDb25maWd9IH07CiAgICAgICAgJU1ldHJpY3MgPSAleyAk
UGFyYW17Sm9iQ29uZmlnfS0+e01ldHJpY30gfHwge30gfTsKICAgIH0KCiAgICByZXR1cm4gMSBp
ZiAhJUNvbmZpZzsKICAgIHJldHVybiAxIGlmICElTWV0cmljczsKCiAgICBteSAlTWFpbCA9ICV7
ICRQYXJhbXtHZXRQYXJhbX0gfTsKCiAgICBteSAlU2VhcmNoQ3JpdGVyaWEgPSAoIFN0YXRlVHlw
ZSA9PiAnT3BlbicgKTsKICAgIGlmICggJE1ldHJpY3N7RnJvbX0gKSB7CiAgICAgICAgJFNlYXJj
aENyaXRlcmlhe0Zyb219ID0gJE1haWx7RnJvbX07CiAgICB9CgogICAgaWYgKCAkTWV0cmljc3tQ
bGFpbkZyb219ICkgewogICAgICAgIG15ICRQYXJzZXJPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6
RW1haWxQYXJzZXItPm5ldygKICAgICAgICAgICAgTW9kZSA9PiAnU3RhbmRhbG9uZScsCiAgICAg
ICAgKTsKCiAgICAgICAgJFNlYXJjaENyaXRlcmlhe0Zyb219ID0gJFBhcnNlck9iamVjdC0+R2V0
RW1haWxBZGRyZXNzKAogICAgICAgICAgICBFbWFpbCA9PiAkTWFpbHtGcm9tfSwKICAgICAgICAp
OwogICAgfQoKICAgIGlmICggJE1ldHJpY3N7U3ViamVjdH0gKSB7CiAgICAgICAgJFNlYXJjaENy
aXRlcmlhe1N1YmplY3R9ID0gJE1haWx7U3ViamVjdH0KICAgIH0KCiAgICBteSAoJEhUTUxGaWxl
KSA9IGZpcnN0eyAkXy0+e0ZpbGVuYW1lfSBlcSAnZmlsZS0yJyB9QHsgJE1haWx7QXR0YWNobWVu
dH0gfHwgW10gfTsKICAgIGlmICggJE1ldHJpY3N7Qm9keX0gJiYgKCAhJE1ldHJpY3N7SFRNTEJv
ZHl9IHx8ICEkSFRNTEZpbGUgKSApIHsKICAgICAgICAkU2VhcmNoQ3JpdGVyaWF7Qm9keX0gPSAk
TWFpbHtCb2R5fQogICAgfQoKICAgIG15ICRUaWNrZXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0
KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0Jyk7CiAgICBteSBAVGlja2V0SURzICAgID0gJFNlYXJj
aE9iamVjdC0+U2VhcmNoKAogICAgICAgICVTZWFyY2hDcml0ZXJpYSwKICAgICAgICBVc2VySUQg
PT4gJFVzZXJJRCwKICAgICAgICBFeGFjdCAgPT4gMSwKICAgICk7CgogICAgcmV0dXJuIDEgaWYg
IUBUaWNrZXRJRHM7CgogICAgbXkgKCRUaWNrZXRJRCkgPSBmaXJzdCB7ICRfIG5lICRQYXJhbXtU
aWNrZXRJRH0gfSByZXZlcnNlIHNvcnQgQFRpY2tldElEczsKCiAgICBpZiAoICRNZXRyaWNze0hU
TUxCb2R5fSAmJiAkSFRNTEZpbGUgKSB7CiAgICAgICAgbXkgJEZvdW5kID0gMDsKCiAgICAgICAg
UE9TU0lCTEVUSUNLRVQ6CiAgICAgICAgZm9yIG15ICRQb3NzaWJsZVRpY2tldCAoIHJldmVyc2Ug
QFRpY2tldElEcyApIHsKICAgICAgICAgICAgbmV4dCBQT1NTSUJMRVRJQ0tFVCBpZiAkUG9zc2li
bGVUaWNrZXQgZXEgJFBhcmFte1RpY2tldElEfTsKCiAgICAgICAgICAgIG15ICgkQXJ0aWNsZURh
dGEpID0gJEFydGljbGVPYmplY3QtPkFydGljbGVMaXN0KAogICAgICAgICAgICAgICAgVGlja2V0
SUQgPT4gJFBvc3NpYmxlVGlja2V0LAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFVzZXJJ
RCwKICAgICAgICAgICAgICAgIEZpcnN0ICAgID0+IDEsCiAgICAgICAgICAgICk7CgogICAgICAg
ICAgICBteSAkQmFja2VuZE9iamVjdCA9ICRBcnRpY2xlT2JqZWN0LT5CYWNrZW5kRm9yQXJ0aWNs
ZSgKICAgICAgICAgICAgICAgIEFydGljbGVJRCA9PiAkQXJ0aWNsZURhdGEtPntBcnRpY2xlSUR9
LAogICAgICAgICAgICAgICAgVGlja2V0SUQgID0+ICRQb3NzaWJsZVRpY2tldCwKICAgICAgICAg
ICAgKTsKCiAgICAgICAgICAgIG5leHQgUE9TU0lCTEVUSUNLRVQgaWYgISRCYWNrZW5kT2JqZWN0
LT5jYW4oJ0FydGljbGVBdHRhY2htZW50SW5kZXgnKTsKCiAgICAgICAgICAgIG15ICVBdHRhY2ht
ZW50SW5kZXggPSAkQmFja2VuZE9iamVjdC0+QXJ0aWNsZUF0dGFjaG1lbnRJbmRleCgKICAgICAg
ICAgICAgICAgIEFydGljbGVJRCA9PiAkQXJ0aWNsZURhdGEtPntBcnRpY2xlSUR9LAogICAgICAg
ICAgICApOwoKICAgICAgICAgICAgbXkgKCRGaWxlSUQpID0gZmlyc3QgeyAkQXR0YWNobWVudElu
ZGV4eyRffS0+e0ZpbGVuYW1lfSBlcSAnZmlsZS0yJyB9a2V5cyAlQXR0YWNobWVudEluZGV4Owog
ICAgICAgICAgICBteSAlRmlsZSAgICAgPSAkQmFja2VuZE9iamVjdC0+QXJ0aWNsZUF0dGFjaG1l
bnQoCiAgICAgICAgICAgICAgICBGaWxlSUQgICAgPT4gJEZpbGVJRCwKICAgICAgICAgICAgICAg
IEFydGljbGVJRCA9PiAkQXJ0aWNsZURhdGEtPntBcnRpY2xlSUR9LAogICAgICAgICAgICApOwoK
ICAgICAgICAgICAgaWYgKCAkRmlsZXtDb250ZW50fSBlcSAkSFRNTEZpbGUtPntDb250ZW50fSAp
IHsKICAgICAgICAgICAgICAgICRGb3VuZCsrOwogICAgICAgICAgICAgICAgJFRpY2tldElEID0g
JFBvc3NpYmxlVGlja2V0OwogICAgICAgICAgICAgICAgbGFzdCBQT1NTSUJMRVRJQ0tFVDsKICAg
ICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJFRpY2tldElEID0gdW5kZWYgaWYgISRGb3Vu
ZDsKICAgIH0KCiAgICBpZiAoICRUaWNrZXRJRCApIHsKICAgICAgICAkU2VsZi0+e0NvbW11bmlj
YXRpb25Mb2dPYmplY3R9LT5PYmplY3RMb2coCiAgICAgICAgICAgIE9iamVjdExvZ1R5cGUgPT4g
J01lc3NhZ2UnLAogICAgICAgICAgICBQcmlvcml0eSAgICAgID0+ICdEZWJ1ZycsCiAgICAgICAg
ICAgIEtleSAgICAgICAgICAgPT4gX19QQUNLQUdFX18sCiAgICAgICAgICAgIFZhbHVlICAgICAg
ICAgPT4gIk1lcmdlIHdpdGggdGlja2V0ICRUaWNrZXRJRCIsCiAgICAgICAgKTsKCiAgICAgICAg
JFRpY2tldE9iamVjdC0+VGlja2V0TWVyZ2UoCiAgICAgICAgICAgIE1haW5UaWNrZXRJRCAgPT4g
JFRpY2tldElELAogICAgICAgICAgICBNZXJnZVRpY2tldElEID0+ICRQYXJhbXtUaWNrZXRJRH0s
CiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gJFVzZXJJRCwKICAgICAgICApOwogICAgfQoK
ICAgIHJldHVybiAxOwp9CgoxOwo=
IyAtLQojIENvcHlyaWdodCAoQykgMjAxNSAtIDIwMjEgUGVybC1TZXJ2aWNlcy5kZSwgaHR0cDov
L3Blcmwtc2VydmljZXMuZGUKIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVU
RUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09Q
WUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVj
ZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQu
CiMgLS0KCnBhY2thZ2UgS2VybmVsOjpTeXN0ZW06OlBvc3RNYXN0ZXI6OkZpbHRlcjo6TWVyZ2VJ
ZGVudGljYWxUaWNrZXRzUHJlOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIExpc3Q6
OlV0aWwgcXcoZmlyc3QpOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpFbWFpbFBhcnNlcjsKCm91ciBA
T2JqZWN0RGVwZW5kZW5jaWVzID0gcXcoCiAgICBLZXJuZWw6OkNvbmZpZwogICAgS2VybmVsOjpT
eXN0ZW06OlRpY2tldAogICAgS2VybmVsOjpTeXN0ZW06OlRpY2tldDo6QXJ0aWNsZQogICAgS2Vy
bmVsOjpTeXN0ZW06OlRpY2tldDo6TUlUUlBTZWFyY2gKICAgIEtlcm5lbDo6U3lzdGVtOjpMb2cK
KTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9j
YXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0ge307CiAgICBibGVzcyggJFNl
bGYsICRUeXBlICk7CgogICAgJFNlbGYtPntEZWJ1Z30gPSAkUGFyYW17RGVidWd9IHx8IDA7Cgog
ICAgIyBnZXQgY29tbXVuaWNhdGlvbiBsb2cgb2JqZWN0IGFuZCBNZXNzYWdlSUQKICAgICRTZWxm
LT57Q29tbXVuaWNhdGlvbkxvZ09iamVjdH0gPSAkUGFyYW17Q29tbXVuaWNhdGlvbkxvZ09iamVj
dH0gfHwgZGllICJHb3Qgbm8gQ29tbXVuaWNhdGlvbkxvZ09iamVjdCEiOwoKICAgIHJldHVybiAk
U2VsZjsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15
ICRMb2dPYmplY3QgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycp
OwogICAgbXkgJENvbmZpZ09iamVjdCAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZp
ZycpOwogICAgbXkgJFRpY2tldE9iamVjdCAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5
c3RlbTo6VGlja2V0Jyk7CiAgICBteSAkQXJ0aWNsZU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQo
J0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQ6OkFydGljbGUnKTsKICAgIG15ICRTZWFyY2hPYmplY3Qg
ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlRpY2tldDo6TUlUUlBTZWFyY2gn
KTsKCiAgICBteSAkVXNlcklEID0gJENvbmZpZ09iamVjdC0+R2V0KCdQb3N0bWFzdGVyVXNlcklE
JykgfHwgMTsKCiAgICAkU2VsZi0+e0NvbW11bmljYXRpb25Mb2dPYmplY3R9LT5PYmplY3RMb2co
CiAgICAgICAgT2JqZWN0TG9nVHlwZSA9PiAnTWVzc2FnZScsCiAgICAgICAgUHJpb3JpdHkgICAg
ICA9PiAnRGVidWcnLAogICAgICAgIEtleSAgICAgICAgICAgPT4gX19QQUNLQUdFX18sCiAgICAg
ICAgVmFsdWUgICAgICAgICA9PiAiU3RhcnRpbmcgZmlsdGVyICIgLiBfX1BBQ0tBR0VfXywKICAg
ICk7CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkTmVlZGVkIChxdyhKb2JD
b25maWcgR2V0UGFyYW0pKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyROZWVkZWR9ICkgewogICAg
ICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJy
b3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiAiTmVlZCAkTmVlZGVkISIsCiAgICAgICAg
ICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgY29u
ZmlnIG9wdGlvbnMKICAgIG15ICVDb25maWc7CiAgICBteSAlTWV0cmljczsKCiAgICBpZiAoICRQ
YXJhbXtKb2JDb25maWd9ICYmIHJlZiAkUGFyYW17Sm9iQ29uZmlnfSBlcSAnSEFTSCcgKSB7CiAg
ICAgICAgJUNvbmZpZyAgPSAleyAkUGFyYW17Sm9iQ29uZmlnfSB9OwogICAgICAgICVNZXRyaWNz
ID0gJXsgJFBhcmFte0pvYkNvbmZpZ30tPntNZXRyaWN9IHx8IHt9IH07CiAgICB9CgogICAgcmV0
dXJuIDEgaWYgISVDb25maWc7CiAgICByZXR1cm4gMSBpZiAhJU1ldHJpY3M7CgogICAgbXkgJU1h
aWwgPSAleyAkUGFyYW17R2V0UGFyYW19IH07CgogICAgbXkgJVNlYXJjaENyaXRlcmlhID0gKCBT
dGF0ZVR5cGUgPT4gJ09wZW4nICk7CiAgICBpZiAoICRNZXRyaWNze0Zyb219ICkgewogICAgICAg
ICRTZWFyY2hDcml0ZXJpYXtGcm9tfSA9ICRNYWlse0Zyb219CiAgICB9CgogICAgaWYgKCAkTWV0
cmljc3tQbGFpbkZyb219ICkgewogICAgICAgIG15ICRQYXJzZXJPYmplY3QgPSBLZXJuZWw6OlN5
c3RlbTo6RW1haWxQYXJzZXItPm5ldygKICAgICAgICAgICAgTW9kZSA9PiAnU3RhbmRhbG9uZScs
CiAgICAgICAgKTsKCiAgICAgICAgJFNlYXJjaENyaXRlcmlhe0Zyb219ID0gJFBhcnNlck9iamVj
dC0+R2V0RW1haWxBZGRyZXNzKAogICAgICAgICAgICBFbWFpbCA9PiAkTWFpbHtGcm9tfSwKICAg
ICAgICApOwogICAgfQoKICAgIGlmICggJE1ldHJpY3N7U3ViamVjdH0gKSB7CiAgICAgICAgJFNl
YXJjaENyaXRlcmlhe1N1YmplY3R9ID0gJE1haWx7U3ViamVjdH0KICAgIH0KCiAgICBteSAoJEhU
TUxGaWxlKSA9IGZpcnN0eyAkXy0+e0ZpbGVuYW1lfSBlcSAnZmlsZS0yJyB9QHsgJE1haWx7QXR0
YWNobWVudH0gfHwgW10gfTsKICAgIGlmICggJE1ldHJpY3N7Qm9keX0gJiYgKCAhJE1ldHJpY3N7
SFRNTEJvZHl9IHx8ICEkSFRNTEZpbGUgKSApIHsKICAgICAgICAkU2VhcmNoQ3JpdGVyaWF7Qm9k
eX0gPSAkTWFpbHtCb2R5fQogICAgfQoKICAgIG15IEBUaWNrZXRJRHMgPSAkU2VhcmNoT2JqZWN0
LT5TZWFyY2goCiAgICAgICAgJVNlYXJjaENyaXRlcmlhLAogICAgICAgIFVzZXJJRCA9PiAkUGFy
YW17VXNlcklEfSAvLyAxLAogICAgICAgIEV4YWN0ID0+IDEsCiAgICApOwoKICAgIHJldHVybiAx
IGlmICFAVGlja2V0SURzOwoKICAgIG15ICgkVGlja2V0SUQpID0gKHJldmVyc2Ugc29ydCBAVGlj
a2V0SURzKVswXTsKIAogICAgaWYgKCAkTWV0cmljc3tIVE1MQm9keX0gJiYgJEhUTUxGaWxlICkg
ewogICAgICAgIG15ICRGb3VuZCA9IDA7CgogICAgICAgIFBPU1NJQkxFVElDS0VUOgogICAgICAg
IGZvciBteSAkUG9zc2libGVUaWNrZXQgKCByZXZlcnNlIEBUaWNrZXRJRHMgKSB7CiAgICAgICAg
ICAgIG5leHQgUE9TU0lCTEVUSUNLRVQgaWYgJFBvc3NpYmxlVGlja2V0IGVxICRQYXJhbXtUaWNr
ZXRJRH07CgogICAgICAgICAgICBteSAoJEFydGljbGVEYXRhKSA9ICRBcnRpY2xlT2JqZWN0LT5B
cnRpY2xlTGlzdCgKICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRQb3NzaWJsZVRpY2tldCwK
ICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRVc2VySUQsCiAgICAgICAgICAgICAgICBGaXJz
dCAgICA9PiAxLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgbXkgJEJhY2tlbmRPYmplY3Qg
PSAkQXJ0aWNsZU9iamVjdC0+QmFja2VuZEZvckFydGljbGUoCiAgICAgICAgICAgICAgICBBcnRp
Y2xlSUQgPT4gJEFydGljbGVEYXRhLT57QXJ0aWNsZUlEfSwKICAgICAgICAgICAgICAgIFRpY2tl
dElEICA9PiAkUG9zc2libGVUaWNrZXQsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBuZXh0
IFBPU1NJQkxFVElDS0VUIGlmICEkQmFja2VuZE9iamVjdC0+Y2FuKCdBcnRpY2xlQXR0YWNobWVu
dEluZGV4Jyk7CgogICAgICAgICAgICBteSAlQXR0YWNobWVudEluZGV4ID0gJEJhY2tlbmRPYmpl
Y3QtPkFydGljbGVBdHRhY2htZW50SW5kZXgoCiAgICAgICAgICAgICAgICBBcnRpY2xlSUQgPT4g
JEFydGljbGVEYXRhLT57QXJ0aWNsZUlEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIG15
ICgkRmlsZUlEKSA9IGZpcnN0IHsgJEF0dGFjaG1lbnRJbmRleHskX30tPntGaWxlbmFtZX0gZXEg
J2ZpbGUtMicgfWtleXMgJUF0dGFjaG1lbnRJbmRleDsKICAgICAgICAgICAgbXkgJUZpbGUgICAg
ID0gJEJhY2tlbmRPYmplY3QtPkFydGljbGVBdHRhY2htZW50KAogICAgICAgICAgICAgICAgRmls
ZUlEICAgID0+ICRGaWxlSUQsCiAgICAgICAgICAgICAgICBBcnRpY2xlSUQgPT4gJEFydGljbGVE
YXRhLT57QXJ0aWNsZUlEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIGlmICggJEZpbGV7
Q29udGVudH0gZXEgJEhUTUxGaWxlLT57Q29udGVudH0gKSB7CiAgICAgICAgICAgICAgICAkRm91
bmQrKzsKICAgICAgICAgICAgICAgICRUaWNrZXRJRCA9ICRQb3NzaWJsZVRpY2tldDsKICAgICAg
ICAgICAgICAgIGxhc3QgUE9TU0lCTEVUSUNLRVQ7CiAgICAgICAgICAgIH0KICAgICAgICB9Cgog
ICAgICAgICRUaWNrZXRJRCA9IHVuZGVmIGlmICEkRm91bmQ7CiAgICB9CgoKICAgIGlmICggJFRp
Y2tldElEICkgewogICAgICAgIG15ICRUaWNrZXROdW1iZXIgPSAkVGlja2V0T2JqZWN0LT5UaWNr
ZXROdW1iZXJMb29rdXAoCiAgICAgICAgICAgIFRpY2tldElEID0+ICRUaWNrZXRJRCwKICAgICAg
ICAgICAgVXNlcklEICAgPT4gMSwKICAgICAgICApOwoKICAgICAgICAkUGFyYW17R2V0UGFyYW19
LT57U3ViamVjdH0gPSAkVGlja2V0T2JqZWN0LT5UaWNrZXRTdWJqZWN0QnVpbGQoCiAgICAgICAg
ICAgIFRpY2tldE51bWJlciA9PiAkVGlja2V0TnVtYmVyLAogICAgICAgICAgICBTdWJqZWN0ICAg
ICAgPT4gJE1haWx7U3ViamVjdH0sCiAgICAgICAgICAgIFR5cGUgICAgICAgICA9PiAnTmV3JywK
ICAgICAgICAgICAgTm9DbGVhblVwICAgID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgJFNlbGYt
PntDb21tdW5pY2F0aW9uTG9nT2JqZWN0fS0+T2JqZWN0TG9nKAogICAgICAgICAgICBPYmplY3RM
b2dUeXBlID0+ICdNZXNzYWdlJywKICAgICAgICAgICAgUHJpb3JpdHkgICAgICA9PiAnRGVidWcn
LAogICAgICAgICAgICBLZXkgICAgICAgICAgID0+IF9fUEFDS0FHRV9fLAogICAgICAgICAgICBW
YWx1ZSAgICAgICAgID0+ICJTZXQgc3ViamVjdCB0byAiIC4gJFBhcmFte0dldFBhcmFtfS0+e1N1
YmplY3R9LAogICAgICAgICk7CiAgICB9CgogICAgcmV0dXJuIDE7Cn0KCjE7Cg==
IyAtLQojIENvcHlyaWdodCAoQykgMjAxNSAtIDIwMjAgUGVybC1TZXJ2aWNlcy5kZSwgaHR0cDov
L3Blcmwtc2VydmljZXMuZGUKIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVU
RUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09Q
WUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVj
ZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQu
CiMgLS0KCnBhY2thZ2UgS2VybmVsOjpTeXN0ZW06OlBvc3RNYXN0ZXI6OkZpbHRlcjo6TWVyZ2VJ
ZGVudGljYWxUaWNrZXRzUmVnZXhQcmU7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2Ug
TGlzdDo6VXRpbCBxdyhmaXJzdCk7CgpvdXIgQE9iamVjdERlcGVuZGVuY2llcyA9IHF3KAogICAg
S2VybmVsOjpTeXN0ZW06OlRpY2tldAogICAgS2VybmVsOjpTeXN0ZW06OlRpY2tldDo6QXJ0aWNs
ZQogICAgS2VybmVsOjpTeXN0ZW06OlRpY2tldDo6TUlUUlBTZWFyY2gKICAgIEtlcm5lbDo6U3lz
dGVtOjpMb2cKICAgIEtlcm5lbDo6U3lzdGVtOjpNYWluCiAgICBLZXJuZWw6OkNvbmZpZwopOwoK
c3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUg
bmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwg
JFR5cGUgKTsKCiAgICAjIGdldCBjb21tdW5pY2F0aW9uIGxvZyBvYmplY3QgYW5kIE1lc3NhZ2VJ
RAogICAgJFNlbGYtPntDb21tdW5pY2F0aW9uTG9nT2JqZWN0fSA9ICRQYXJhbXtDb21tdW5pY2F0
aW9uTG9nT2JqZWN0fSB8fCBkaWUgIkdvdCBubyBDb21tdW5pY2F0aW9uTG9nT2JqZWN0ISI7Cgog
ICAgcmV0dXJuICRTZWxmOwp9CgpzdWIgUnVuIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0g
QF87CgogICAgbXkgJExvZ09iamVjdCAgICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5
c3RlbTo6TG9nJyk7CiAgICBteSAkTWFpbk9iamVjdCAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tl
cm5lbDo6U3lzdGVtOjpNYWluJyk7CiAgICBteSAkQ29uZmlnT2JqZWN0ICA9ICRLZXJuZWw6Ok9N
LT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyk7CiAgICBteSAkVGlja2V0T2JqZWN0ICA9ICRLZXJuZWw6
Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQnKTsKICAgIG15ICRBcnRpY2xlT2JqZWN0
ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlRpY2tldDo6QXJ0aWNsZScpOwog
ICAgbXkgJFNlYXJjaE9iamVjdCAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6
VGlja2V0OjpNSVRSUFNlYXJjaCcpOwoKICAgICRTZWxmLT57RGVidWd9ID0gJENvbmZpZ09iamVj
dC0+R2V0KCdNZXJnZUlkZW50aWNhbFRpY2tldHM6OkRlYnVnJyk7CgogICAgbXkgJFVzZXJJRCA9
ICRDb25maWdPYmplY3QtPkdldCgnUG9zdG1hc3RlclVzZXJJRCcpIHx8IDE7CgogICAgJFNlbGYt
PntDb21tdW5pY2F0aW9uTG9nT2JqZWN0fS0+T2JqZWN0TG9nKAogICAgICAgIE9iamVjdExvZ1R5
cGUgPT4gJ01lc3NhZ2UnLAogICAgICAgIFByaW9yaXR5ICAgICAgPT4gJ0RlYnVnJywKICAgICAg
ICBLZXkgICAgICAgICAgID0+IF9fUEFDS0FHRV9fLAogICAgICAgIFZhbHVlICAgICAgICAgPT4g
IlN0YXJ0aW5nIGZpbHRlciAiIC4gX19QQUNLQUdFX18sCiAgICApOwoKICAgICMgY2hlY2sgbmVl
ZGVkIHN0dWZmCiAgICBmb3IgbXkgJE5lZWRlZCAocXcoSm9iQ29uZmlnIEdldFBhcmFtKSkgewog
ICAgICAgIGlmICggISRQYXJhbXskTmVlZGVkfSApIHsKICAgICAgICAgICAgJExvZ09iamVjdC0+
TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAg
IE1lc3NhZ2UgPT4gIk5lZWQgJE5lZWRlZCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIG15ICRSZWdleGVzID0gJENvbmZpZ09iamVjdC0+
R2V0KCdNZXJnZUlkZW50aWNhbFRpY2tldHM6OlJlZ2V4JykgfHwge307CgogICAgaWYgKCAkU2Vs
Zi0+e0RlYnVnfSApIHsKICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgIFByaW9y
aXR5ID0+ICdkZWJ1ZycsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICRNYWluT2JqZWN0LT5EdW1w
KCAkUmVnZXhlcyApLAogICAgICAgICk7CiAgICB9CgogICAgcmV0dXJuIDEgaWYgISRSZWdleGVz
OwoKICAgIG15ICVNYWlsICAgICAgID0gJXsgJFBhcmFte0dldFBhcmFtfSB9OwogICAgbXkgKCRI
VE1MRmlsZSkgPSBmaXJzdHsgJF8tPntGaWxlbmFtZX0gZXEgJ2ZpbGUtMicgfUB7ICRNYWlse0F0
dGFjaG1lbnR9IHx8IFtdIH07CgogICAgS0VZOgogICAgZm9yIG15ICRLZXkgKCBzb3J0IGtleXMg
JXsgJFJlZ2V4ZXMgfHwge30gfSApIHsKCiAgICAgICAgbXkgJVNlYXJjaENyaXRlcmlhID0gKCBT
dGF0ZVR5cGUgPT4gJ09wZW4nICk7CgogICAgICAgIG15ICVSZWdleERldGFpbHMgPSAleyAkUmVn
ZXhlcy0+eyRLZXl9IHx8IHt9IH07CgogICAgICAgIGZvciBteSAkUmVnZXhLZXkgKCBxdy9TdWJq
ZWN0IEZyb20vICkgewogICAgICAgICAgICBpZiAoIGRlZmluZWQgJFJlZ2V4RGV0YWlsc3skUmVn
ZXhLZXl9ICkgewogICAgICAgICAgICAgICAgbXkgJFJlZ2V4ICAgICAgICAgICAgICAgPSAkUmVn
ZXhEZXRhaWxzeyRSZWdleEtleX07CiAgICAgICAgICAgICAgICBteSAoJEZvdW5kLCAkRGVsaW1p
dGVyKSA9ICRNYWlseyRSZWdleEtleX0gPX4gbXskUmVnZXh9bXM7CgogICAgICAgICAgICAgICAg
aWYgKCAkU2VsZi0+e0RlYnVnfSApIHsKICAgICAgICAgICAgICAgICAgICAkTG9nT2JqZWN0LT5M
b2coCiAgICAgICAgICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdkZWJ1ZycsCiAgICAgICAg
ICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICRNYWluT2JqZWN0LT5EdW1wKCBbICRNYWlseyRS
ZWdleEtleX0sICRSZWdleCwgJEZvdW5kLCAkRGVsaW1pdGVyIF0gKSwKICAgICAgICAgICAgICAg
ICAgICApOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIG5leHQgS0VZIGlmICFk
ZWZpbmVkICRGb3VuZDsKCiAgICAgICAgICAgICAgICBpZiAoICRSZWdleCAhfiBteyBcXEEgfXht
cyApIHsKICAgICAgICAgICAgICAgICAgICAkRm91bmQgPSAnJScgLiAkRm91bmQ7CiAgICAgICAg
ICAgICAgICB9CgogICAgICAgICAgICAgICAgbXkgJFBvc2l0aW9uID0gMDsKICAgICAgICAgICAg
ICAgIGlmICggJFJlZ2V4ICF+IG17IFxceiB9eG1zICkgewogICAgICAgICAgICAgICAgICAgICRG
b3VuZCAuPSAnJSc7CiAgICAgICAgICAgICAgICAgICAgJFBvc2l0aW9uID0gMTsKICAgICAgICAg
ICAgICAgIH0KCiAgICAgICAgICAgICAgICAkU2VhcmNoQ3JpdGVyaWF7JFJlZ2V4S2V5fSA9ICRG
b3VuZDsKCiAgICAgICAgICAgICAgICBpZiAoICREZWxpbWl0ZXIgKSB7CiAgICAgICAgICAgICAg
ICAgICAgbXkgJFZhbHVlID0gJEZvdW5kOwogICAgICAgICAgICAgICAgICAgIHN1YnN0ciAkVmFs
dWUsIChsZW5ndGgoICRWYWx1ZSApIC0gJFBvc2l0aW9uKSwgMCwgc3ByaW50ZiAnJXMlJSVzJywg
JERlbGltaXRlciwgJERlbGltaXRlcjsKICAgICAgICAgICAgICAgICAgICAkU2VhcmNoQ3JpdGVy
aWF7RGVsaW1pdGVyfSA9ICRWYWx1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQog
ICAgICAgIH0KCiAgICAgICAgaWYgKCAkU2VsZi0+e0RlYnVnfSApIHsKICAgICAgICAgICAgJExv
Z09iamVjdC0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2RlYnVnJywKICAgICAg
ICAgICAgICAgIE1lc3NhZ2UgID0+ICRNYWluT2JqZWN0LT5EdW1wKCBcJVNlYXJjaENyaXRlcmlh
ICksCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICBteSBAVGlja2V0SURzID0gJFNl
YXJjaE9iamVjdC0+U2VhcmNoKAogICAgICAgICAgICAlU2VhcmNoQ3JpdGVyaWEsCiAgICAgICAg
ICAgIFVzZXJJRCA9PiAxLAogICAgICAgICk7CgogICAgICAgIGlmICggJFNlbGYtPntEZWJ1Z30g
KSB7CiAgICAgICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5
ID0+ICdkZWJ1ZycsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAkTWFpbk9iamVjdC0+RHVt
cCggXEBUaWNrZXRJRHMgKSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIG5leHQg
S0VZIGlmICFAVGlja2V0SURzOwoKICAgICAgICBteSAoJFRpY2tldElEKSA9IChyZXZlcnNlIHNv
cnQgQFRpY2tldElEcylbMF07CgogICAgICAgIGlmICggJFJlZ2V4RGV0YWlsc3tCb2R5fSApIHsK
ICAgICAgICAgICAgbXkgJFRleHRUb0NoZWNrID0gJEhUTUxGaWxlID8gJEhUTUxGaWxlLT57Q29u
dGVudH0gOiAkTWFpbHtCb2R5fTsKICAgICAgICAgICAgbXkgKCRCb2R5TWF0Y2gpID0gJFRleHRU
b0NoZWNrID1+IG17JFJlZ2V4RGV0YWlsc3tCb2R5fX1tczsKCiAgICAgICAgICAgIG5leHQgS0VZ
IGlmICEkQm9keU1hdGNoOwoKICAgICAgICAgICAgbXkgJEZvdW5kID0gMDsKCiAgICAgICAgICAg
IFBPU1NJQkxFVElDS0VUOgogICAgICAgICAgICBmb3IgbXkgJFBvc3NpYmxlVGlja2V0ICggcmV2
ZXJzZSBAVGlja2V0SURzICkgewogICAgICAgICAgICAgICAgbmV4dCBQT1NTSUJMRVRJQ0tFVCBp
ZiAkUG9zc2libGVUaWNrZXQgZXEgJFBhcmFte1RpY2tldElEfTsKCiAgICAgICAgICAgICAgICBt
eSAoJEFydGljbGVEYXRhKSA9ICRBcnRpY2xlT2JqZWN0LT5BcnRpY2xlTGlzdCgKICAgICAgICAg
ICAgICAgICAgICBUaWNrZXRJRCA9PiAkUG9zc2libGVUaWNrZXQsCiAgICAgICAgICAgICAgICAg
ICAgVXNlcklEICAgPT4gJFVzZXJJRCwKICAgICAgICAgICAgICAgICAgICBGaXJzdCAgICA9PiAx
LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBteSAkQmFja2VuZE9iamVjdCA9
ICRBcnRpY2xlT2JqZWN0LT5CYWNrZW5kRm9yQXJ0aWNsZSgKICAgICAgICAgICAgICAgICAgICBB
cnRpY2xlSUQgPT4gJEFydGljbGVEYXRhLT57QXJ0aWNsZUlEfSwKICAgICAgICAgICAgICAgICAg
ICBUaWNrZXRJRCAgPT4gJFBvc3NpYmxlVGlja2V0LAogICAgICAgICAgICAgICAgKTsKCiAgICAg
ICAgICAgICAgICBuZXh0IFBPU1NJQkxFVElDS0VUIGlmICEkQmFja2VuZE9iamVjdC0+Y2FuKCdB
cnRpY2xlQXR0YWNobWVudEluZGV4Jyk7CgogICAgICAgICAgICAgICAgbXkgJUF0dGFjaG1lbnRJ
bmRleCA9ICRCYWNrZW5kT2JqZWN0LT5BcnRpY2xlQXR0YWNobWVudEluZGV4KAogICAgICAgICAg
ICAgICAgICAgIEFydGljbGVJRCA9PiAkQXJ0aWNsZURhdGEtPntBcnRpY2xlSUR9LAogICAgICAg
ICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBteSAoJEZpbGVJRCkgPSBmaXJzdCB7ICRBdHRh
Y2htZW50SW5kZXh7JF99LT57RmlsZW5hbWV9IGVxICdmaWxlLTInIH1rZXlzICVBdHRhY2htZW50
SW5kZXg7CiAgICAgICAgICAgICAgICBteSAlRmlsZSAgICAgPSAkQmFja2VuZE9iamVjdC0+QXJ0
aWNsZUF0dGFjaG1lbnQoCiAgICAgICAgICAgICAgICAgICAgRmlsZUlEICAgID0+ICRGaWxlSUQs
CiAgICAgICAgICAgICAgICAgICAgQXJ0aWNsZUlEID0+ICRBcnRpY2xlRGF0YS0+e0FydGljbGVJ
RH0sCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgIGlmICggJEZpbGV7Q29udGVu
dH0gZXEgJEhUTUxGaWxlLT57Q29udGVudH0gKSB7CiAgICAgICAgICAgICAgICAgICAgJEZvdW5k
Kys7CiAgICAgICAgICAgICAgICAgICAgJFRpY2tldElEID0gJFBvc3NpYmxlVGlja2V0OwogICAg
ICAgICAgICAgICAgICAgIGxhc3QgUE9TU0lCTEVUSUNLRVQ7CiAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgIH0KCiAgICAgICAgICAgICRUaWNrZXRJRCA9IHVuZGVmIGlmICEkRm91bmQ7CiAg
ICAgICAgfQoKICAgICAgICBpZiAoICRUaWNrZXRJRCApIHsKICAgICAgICAgICAgbXkgJFRpY2tl
dE51bWJlciA9ICRUaWNrZXRPYmplY3QtPlRpY2tldE51bWJlckxvb2t1cCgKICAgICAgICAgICAg
ICAgIFRpY2tldElEID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+IDEs
CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkUGFyYW17R2V0UGFyYW19LT57U3ViamVjdH0g
PSAkVGlja2V0T2JqZWN0LT5UaWNrZXRTdWJqZWN0QnVpbGQoCiAgICAgICAgICAgICAgICBUaWNr
ZXROdW1iZXIgPT4gJFRpY2tldE51bWJlciwKICAgICAgICAgICAgICAgIFN1YmplY3QgICAgICA9
PiAkTWFpbHtTdWJqZWN0fSwKICAgICAgICAgICAgICAgIFR5cGUgICAgICAgICA9PiAnTmV3JywK
ICAgICAgICAgICAgICAgIE5vQ2xlYW5VcCAgICA9PiAxLAogICAgICAgICAgICApOwoKICAgICAg
ICAgICAgJFNlbGYtPntDb21tdW5pY2F0aW9uTG9nT2JqZWN0fS0+T2JqZWN0TG9nKAogICAgICAg
ICAgICAgICAgT2JqZWN0TG9nVHlwZSA9PiAnTWVzc2FnZScsCiAgICAgICAgICAgICAgICBQcmlv
cml0eSAgICAgID0+ICdEZWJ1ZycsCiAgICAgICAgICAgICAgICBLZXkgICAgICAgICAgID0+IF9f
UEFDS0FHRV9fLAogICAgICAgICAgICAgICAgVmFsdWUgICAgICAgICA9PiAiU2V0IHN1YmplY3Qg
dG8gIiAuICRQYXJhbXtHZXRQYXJhbX0tPntTdWJqZWN0fSwKICAgICAgICAgICAgKTsKCiAgICAg
ICAgICAgIGxhc3QgS0VZOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMTsKfQoKMTsK
IyAtLQojIENvcHlyaWdodCAoQykgMjAxNSAtIDIwMjEgUGVybC1TZXJ2aWNlcy5kZSwgaHR0cDov
L3Blcmwtc2VydmljZXMuZGUKIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVU
RUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09Q
WUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVj
ZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQu
CiMgLS0KCnBhY2thZ2UgS2VybmVsOjpTeXN0ZW06OlRpY2tldDo6TUlUUlBTZWFyY2g7Cgp1c2Ug
c3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpvdXIgQE9iamVjdERlcGVuZGVuY2llcyA9IHF3KAogICAg
S2VybmVsOjpTeXN0ZW06OkRCCik7Cgo9aGVhZDEgTkFNRQoKS2VybmVsOjpTeXN0ZW06OlRpY2tl
dDo6TUlUUlBTZWFyY2ggLSB0aWNrZXQgc2VhcmNoIGxpYgoKPWhlYWQxIFNZTk9QU0lTCgpBbGwg
dGlja2V0IHNlYXJjaCBmdW5jdGlvbnMuCgo9b3ZlciA0Cgo9Y3V0Cgo9aXRlbSBuZXcoKQoKPWN1
dAoKc3ViIG5ldyB7CiAgICBteSAoJENsYXNzLCAlUGFyYW0pID0gQF87CgogICAgbXkgJFNlbGYg
PSBibGVzcyB7JVBhcmFtfSwgJENsYXNzOwoKICAgIHJldHVybiAkU2VsZjsKfQoKPWl0ZW0gVGlj
a2V0U2VhcmNoIHsKCj1pdGVtIFNlYXJjaCgpCgpUbyBmaW5kIHRpY2tldHMgaW4geW91ciBzeXN0
ZW0uCgogICAgbXkgQFRpY2tldElEcyA9ICRPYmplY3QtPlNlYXJjaCgKICAgICAgICAjIGFydGlj
bGUgc3R1ZmYgKG9wdGlvbmFsKQogICAgICAgIFN1YmplY3QgICA9PiAkTWF0Y2gsCiAgICAgICAg
RGVsaW1pdGVyID0+ICREZWxpbWl0ZXIsCiAgICAgICAgRnJvbSAgICAgID0+ICRGcm9tTWF0Y2gK
ICAgICAgICBVc2VySUQgICAgPT4gJFVzZXJJRCwKICAgICk7CgpSZXR1cm5zOgoKICAgIEBUaWNr
ZXRJRHMgPSAoIDEsIDIsIDMgKTsKCj1jdXQKCnN1YiBTZWFyY2ggewogICAgbXkgKCAkU2VsZiwg
JVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIHJlcXVpcmVkIHBhcmFtcwogICAgaWYgKCAhJFBh
cmFte1VzZXJJRH0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06
OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAg
IE1lc3NhZ2UgID0+ICdOZWVkIFVzZXJJRCBwYXJhbSBmb3IgcGVybWlzc2lvbiBjaGVjayEnLAog
ICAgICAgICk7CgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGNoZWNrIHJlcXVpcmVkIHBh
cmFtcwogICAgaWYgKCAhJFBhcmFte0JvZHl9ICYmICEkUGFyYW17U3ViamVjdH0gKSB7CiAgICAg
ICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAg
ICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIGF0
IGxlYXN0IEJvZHkgT1IgU3ViamVjdCBwYXJhbSEnLAogICAgICAgICk7CgogICAgICAgIHJldHVy
bjsKICAgIH0KCiAgICAjIGdldCBkYXRhYmFzZSBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRL
ZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgY3JlYXRlIHNxbAog
ICAgbXkgJFNRTFNlbGVjdCA9IHF+CiAgICAgICAgU0VMRUNUIERJU1RJTkNUIHN0LmlkLCBzdC50
bgogICAgICAgIEZST00gdGlja2V0IHN0CiAgICAgICAgICAgIElOTkVSIEpPSU4gcXVldWUgc3Eg
T04gc3EuaWQgPSBzdC5xdWV1ZV9pZAogICAgICAgICAgICBJTk5FUiBKT0lOIGFydGljbGUgYXQg
T04gc3QuaWQgPSBhdC50aWNrZXRfaWQKICAgICAgICAgICAgSU5ORVIgSk9JTiBhcnRpY2xlX2Rh
dGFfbWltZSBhIE9OIGF0LmlkID0gYS5hcnRpY2xlX2lkCiAgICAgICAgV0hFUkUgMT0xCiAgICB+
OwoKICAgIG15IEBXaGVyZTsKICAgIG15IEBWaWV3YWJsZVN0YXRlSURzID0gJEtlcm5lbDo6T00t
PkdldCgnS2VybmVsOjpTeXN0ZW06OlN0YXRlJyktPlN0YXRlR2V0U3RhdGVzQnlUeXBlKAogICAg
ICAgIFR5cGUgICA9PiAnVmlld2FibGUnLAogICAgICAgIFJlc3VsdCA9PiAnSUQnLAogICAgKTsK
CiAgICBwdXNoIEBXaGVyZSwgIiBBTkQgc3QudGlja2V0X3N0YXRlX2lkIElOICggIiAuIChqb2lu
ICcsICcsIHNvcnQgeyRhIDw9PiAkYn0gQFZpZXdhYmxlU3RhdGVJRHMpIC4gIikgIjsKCiAgICBt
eSAkT1AgPSAkUGFyYW17RXhhY3R9ID8gJz0nIDogJ0xJS0UnOwoKICAgICMgYXJ0aWNsZSBzZWFy
Y2ggY3JpdGVyaWEKICAgIG15IEBCaW5kOwogICAgaWYgKCAkUGFyYW17RnJvbX0gKSB7CiAgICAg
ICAgcHVzaCBAQmluZCwgXCRQYXJhbXtGcm9tfTsKICAgICAgICBwdXNoIEBXaGVyZSwgIiBhLmFf
ZnJvbSAkT1AgPyI7CiAgICB9CgogICAgaWYgKCAkUGFyYW17U3ViamVjdH0gKSB7CiAgICAgICAg
cHVzaCBAQmluZCwgXCRQYXJhbXtTdWJqZWN0fTsKICAgICAgICBwdXNoIEBXaGVyZSwgIiBhLmFf
c3ViamVjdCAkT1AgPyI7CgogICAgICAgIGlmICggJFBhcmFte0RlbGltaXRlcn0gKSB7CiAgICAg
ICAgICAgIHB1c2ggQEJpbmQsIFwkUGFyYW17RGVsaW1pdGVyfTsKICAgICAgICAgICAgcHVzaCBA
V2hlcmUsICIgYS5hX3N1YmplY3QgTk9UICRPUCA/IjsKICAgICAgICB9CiAgICB9CgogICAgbXkg
JUdyb3VwTGlzdDsKCiAgICAjIHVzZXIgZ3JvdXBzCiAgICBpZiAoICRQYXJhbXtVc2VySUR9ICYm
ICRQYXJhbXtVc2VySUR9ICE9IDEgKSB7CgogICAgICAgICMgZ2V0IHVzZXJzIGdyb3VwcwogICAg
ICAgICVHcm91cExpc3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6R3JvdXAn
KS0+UGVybWlzc2lvblVzZXJHZXQoCiAgICAgICAgICAgIFVzZXJJRCA9PiAkUGFyYW17VXNlcklE
fSwKICAgICAgICAgICAgVHlwZSAgID0+ICRQYXJhbXtQZXJtaXNzaW9ufSB8fCAncm8nLAogICAg
ICAgICk7CgogICAgICAgICMgcmV0dXJuIGlmIHdlIGhhdmUgbm8gcGVybWlzc2lvbnMKICAgICAg
ICByZXR1cm4gaWYgISVHcm91cExpc3Q7CiAgICB9CgogICAgIyBhZGQgZ3JvdXAgaWRzIHRvIHNx
bCBzdHJpbmcKICAgIGlmICglR3JvdXBMaXN0KSB7CgogICAgICAgIG15ICRHcm91cElEU3RyaW5n
ID0gam9pbiAnLCcsIHNvcnQga2V5cyAlR3JvdXBMaXN0OwoKICAgICAgICBwdXNoIEBXaGVyZSwg
IiBBTkQgc3EuZ3JvdXBfaWQgSU4gKCRHcm91cElEU3RyaW5nKSAiOwogICAgfQoKICAgIG15ICRX
aGVyZSA9ICFAV2hlcmUgPyAnJyA6IGpvaW4gJyBBTkQgJywgQFdoZXJlOwogICAgJFNRTFNlbGVj
dCAuPSAkV2hlcmU7CgokS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxv
ZyggUHJpb3JpdHkgPT4gZXJyb3IgPT4gTWVzc2FnZSA9PiAkU1FMU2VsZWN0ICk7CgogICAgIyBk
YXRhYmFzZSBxdWVyeQogICAgbXkgQFRpY2tldElEczsKICAgIHJldHVybiBpZiAhJERCT2JqZWN0
LT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICRTUUxTZWxlY3QsCiAgICAgICAgQmluZCAgPT4g
XEBCaW5kLAogICAgKTsKCiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93
QXJyYXkoKSApIHsKICAgICAgICBwdXNoIEBUaWNrZXRJRHMsICRSb3dbMF07CiAgICB9CgogICAg
cmV0dXJuIEBUaWNrZXRJRHM7Cn0KCjE7Cgo9YmFjawoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJ
T05TCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9y
IGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9y
bWF0aW9uIChBR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0
dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dD4uCgo9Y3V0Cg==
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPG90b2JvX2NvbmZpZyB2ZXJz
aW9uPSIyLjAiIGluaXQ9IkNvbmZpZyI+CiAgICA8U2V0dGluZyBOYW1lPSJQb3N0TWFzdGVyOjpQ
b3N0RmlsdGVyTW9kdWxlIyMjMy1NZXJnZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAg
ICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5Nb2R1bGUgdG8gZmlsdGVyIGFuZCBtYW5p
cHVsYXRlIGluY29taW5nIG1lc3NhZ2VzLiBNZXJnZSBpZGVudGljYWwgdGlja2V0cy48L0Rlc2Ny
aXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPk9QQVI6Ok1lcmdlSWRlbnRpY2FsVGlja2V0czo6
Q29yZTo6RW1haWw6OlBvc3RNYXN0ZXI8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAg
ICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTW9kdWxlIj5LZXJuZWw6
OlN5c3RlbTo6UG9zdE1hc3Rlcjo6RmlsdGVyOjpNZXJnZUlkZW50aWNhbFRpY2tldHM8L0l0ZW0+
CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1ldHJpYyI+CiAgICAgICAgICAgICAgICAgICAg
PEhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRnJvbSI+MTwvSXRlbT4K
ICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJTdWJqZWN0Ij4xPC9JdGVtPgogICAg
ICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkhUTUxCb2R5Ij4xPC9JdGVtPgogICAgICAg
ICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkJvZHkiPjE8L0l0ZW0+CiAgICAgICAgICAgICAg
ICAgICAgPC9IYXNoPgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+
CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlBvc3RN
YXN0ZXI6OlByZUZpbHRlck1vZHVsZSMjIzMtTWVyZ2UiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMCI+
CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TW9kdWxlIHRvIGZpbHRlciBh
bmQgbWFuaXB1bGF0ZSBpbmNvbWluZyBtZXNzYWdlcy4gTWVyZ2UgaWRlbnRpY2FsIHRpY2tldHMu
PC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5PUEFSOjpNZXJnZUlkZW50aWNhbFRp
Y2tldHM6OkNvcmU6OkVtYWlsOjpQb3N0TWFzdGVyPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1
ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1vZHVsZSI+
S2VybmVsOjpTeXN0ZW06OlBvc3RNYXN0ZXI6OkZpbHRlcjo6TWVyZ2VJZGVudGljYWxUaWNrZXRz
UHJlPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJNZXRyaWMiPgogICAgICAgICAg
ICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkZyb20i
PjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iU3ViamVjdCI+MTwv
SXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJIVE1MQm9keSI+MTwvSXRl
bT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJCb2R5Ij4xPC9JdGVtPgogICAg
ICAgICAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAg
ICAgPC9IYXNoPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBO
YW1lPSJQb3N0TWFzdGVyOjpQcmVGaWx0ZXJNb2R1bGUjIyM0LU1lcmdlQnlSZWdleCIgUmVxdWly
ZWQ9IjAiIFZhbGlkPSIwIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5N
b2R1bGUgdG8gZmlsdGVyIGFuZCBtYW5pcHVsYXRlIGluY29taW5nIG1lc3NhZ2VzLiBNZXJnZSBp
ZGVudGljYWwgdGlja2V0cy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPk9QQVI6
Ok1lcmdlSWRlbnRpY2FsVGlja2V0czo6Q29yZTo6RW1haWw6OlBvc3RNYXN0ZXI8L05hdmlnYXRp
b24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJ
dGVtIEtleT0iTW9kdWxlIj5LZXJuZWw6OlN5c3RlbTo6UG9zdE1hc3Rlcjo6RmlsdGVyOjpNZXJn
ZUlkZW50aWNhbFRpY2tldHNSZWdleFByZTwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAg
ICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJNZXJnZUlkZW50
aWNhbFRpY2tldHM6OlJlZ2V4IyMjMS1TYW1wbGUxIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjAiPgog
ICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZSByZWdleCBiYXNlZCBk
ZWNpc2lvbi48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPk9QQVI6Ok1lcmdlSWRl
bnRpY2FsVGlja2V0czo6UmVnZXhlczwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAg
ICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJGcm9tIj4iKC4qPykiPC9J
dGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJTdWJqZWN0Ij5cQSguKikoXHwpPC9JdGVt
PgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAg
IDxTZXR0aW5nIE5hbWU9Ik1lcmdlSWRlbnRpY2FsVGlja2V0czo6UmVnZXgjIyMyLVNhbXBsZTIi
IFJlcXVpcmVkPSIwIiBWYWxpZD0iMCI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJs
ZT0iMSI+RGVmaW5lIHJlZ2V4IGJhc2VkIGRlY2lzaW9uLjwvRGVzY3JpcHRpb24+CiAgICAgICAg
PE5hdmlnYXRpb24+T1BBUjo6TWVyZ2VJZGVudGljYWxUaWNrZXRzOjpSZWdleGVzPC9OYXZpZ2F0
aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8
SXRlbSBLZXk9IkZyb20iPiIoLio/KSI8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9
IlN1YmplY3QiPlxBKC4qKShfKTwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwv
VmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJNZXJnZUlkZW50aWNhbFRp
Y2tldHM6OlJlZ2V4IyMjMy1TYW1wbGUzIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjAiPgogICAgICAg
IDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZSByZWdleCBiYXNlZCBkZWNpc2lv
bi48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPk9QQVI6Ok1lcmdlSWRlbnRpY2Fs
VGlja2V0czo6UmVnZXhlczwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAg
IDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJGcm9tIj4iKC4qPykiPC9JdGVtPgog
ICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJTdWJqZWN0Ij5cQSguKikoXyk8L0l0ZW0+CiAgICAg
ICAgICAgIDwvSGFzaD4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRp
bmcgTmFtZT0iTWVyZ2VJZGVudGljYWxUaWNrZXRzOjpEZWJ1ZyIgUmVxdWlyZWQ9IjAiIFZhbGlk
PSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5FbmFibGUvRGlzYWJs
ZSBkZWJ1Z2dpbmcgZmVhdHVyZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPk9Q
QVI6Ok1lcmdlSWRlbnRpY2FsVGlja2V0czo6Q29yZTwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFs
dWU+CiAgICAgICAgICAgIDxJdGVtIFZhbHVlVHlwZT0iQ2hlY2tib3giPjA8L0l0ZW0+CiAgICAg
ICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KPC9vdG9ib19jb25maWc+Cg==
ewogICAgIm5hbWUiOiAiTWVyZ2VJZGVudGljYWxUaWNrZXRzIiwKICAgICJ2ZXJzaW9uIjogIjEw
LjAuMSIsCiAgICAiZnJhbWV3b3JrIjogWwogICAgICAgICIxMC4wLngiCiAgICBdLAogICAgInBy
b2R1Y3QiOiAib3RvYm8iLAogICAgInZlbmRvciI6IHsKICAgICAgICAibmFtZSI6ICAiUGVybC1T
ZXJ2aWNlcy5kZSIsCiAgICAgICAgInVybCI6ICJodHRwOi8vd3d3LnBlcmwtc2VydmljZXMuZGUi
CiAgICB9LAogICAgImxpY2Vuc2UiOiAiR05VIEFGRkVSTyBHRU5FUkFMIFBVQkxJQyBMSUNFTlNF
IFZlcnNpb24gMywgTm92ZW1iZXIgMjAwNyIsCiAgICAiZGVzY3JpcHRpb24iIDogewogICAgICAg
ICJlbiI6ICJNZXJnZSBUaWNrZXRzIHRoYXQgYXJlIGlkZW50aWNhbCAoYmFzZWQgb24gc2VuZGVy
LCBzdWJqZWN0IGFuZCAocGxhaW4tL2h0bWwtKWJvZHkgb2YgdGhlIG1haWwpIiwKICAgICAgICAi
ZGUiOiAiRsO8aHJ0IGlkZW50aXNjaGUgVGlja2V0cyB6dXNhbW1lbiAoYmFzaWVyZW5kIGF1ZiBB
YnNlbmRlciwgQmV0cmVmZiB1bmQgKFBsYWluLS9IVE1MLSlUZXh0IGRlciBNYWlsKSIKICAgIH0K
fQo=
PWhlYWQxIE5BTUUKCk1lcmdlSWRlbnRpY2FsVGlja2V0cwoKPWhlYWQxIERFU0NSSVBUSU9OCgpX
aGVuIHlvdSBnZXQgbG90cyBvZiBhdXRvbWF0aWMgZ2VuZXJhdGVkIG1haWwsIHlvdSBtaWdodCB3
YW50IHRvCm1lcmdlIHRob3NlIGludG8gb25lIHRpY2tldC4gVGhpcyBhZGRvbiBjaGVja3MgZm9y
IGV4aXN0aW5nCihvcGVuKSB0aWNrZXRzIGZyb20gdGhlIHNhbWUgc2VuZGVyIHdpdGggdGhlIHNh
bWUgc3ViamVjdCBhbmQKdGhlIHNhbWUgYm9keSBhbmQgYWRkcyB0aGUgbWFpbCBhcyBhIGZvbGxv
d3VwLgoKPWhlYWQxIFJFUE9TSVRPUlkgQU5EIEJVR1RSQUNLRVIKClRoZSBjb2RlIHJlcG9zaXRv
cnkgYW5kIGEgYnVndHJhY2tlciBpcyBhdmFpbGFibGUgYXQKTDxodHRwOi8vZ2l0aHViLmNvbS9y
ZW5lZWIvb3Rycy1NZXJnZUlkZW50aWNhbFRpY2tldHM+LgoKPWhlYWQxIEFVVEhPUiBBTkQgTElD
RU5TRQoKVGhpcyBhZGRvbiBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgQUdQTCAzLgoK
UmVuZWUgQmFlY2tlciwgQzw8IDxpbmZvQHBlcmwtc2VydmljZXMuZGU+ID4+Cg==
2021-03-05 10:29:47otobo-1