<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>102943</bug_id>
          
          <creation_ts>2012-11-21 07:41:20 -0800</creation_ts>
          <short_desc>Update Acid3 test to the latest version</short_desc>
          <delta_ts>2012-12-03 06:29:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>102515</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Erik Arvidsson">arv</reporter>
          <assigned_to name="Erik Arvidsson">arv</assigned_to>
          <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>772961</commentid>
    <comment_count>0</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-11-21 07:41:20 -0800</bug_when>
    <thetext>Update Acid3 test to the latest version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772963</commentid>
    <comment_count>1</comment_count>
      <attachid>175444</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-11-21 07:43:10 -0800</bug_when>
    <thetext>Created attachment 175444
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781396</commentid>
    <comment_count>2</comment_count>
      <attachid>175444</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-03 06:29:46 -0800</bug_when>
    <thetext>Comment on attachment 175444
Patch

Clearing flags on attachment: 175444

Committed r136393: &lt;http://trac.webkit.org/changeset/136393&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781397</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-03 06:29:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175444</attachid>
            <date>2012-11-21 07:43:10 -0800</date>
            <delta_ts>2012-12-03 06:29:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102943-20121121104057.patch</filename>
            <type>text/plain</type>
            <size>74914</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NDAxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmJiZDQyM2JkNjM5OTdmNGQ1NmRl
YWQwZGU0MjRhNTEwMjMzZGI5Mi4uMTMxMWRmNjRiOTZmYTRhMjVhNzQxMTgwZDk4NmM5YmUxMmFl
NTczNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTExLTIxICBFcmlrIEFydmlkc3NvbiAg
PGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVXBkYXRlIEFjaWQzIHRlc3QgdG8gdGhlIGxh
dGVzdCB2ZXJzaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDI5NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgQWNpZDMgdGVzdCBoYXMgYmVlbiB1cGRhdGVkIHRvIG5vdCBicmVhayB3aGVuIGJy
b3dzZXJzIHN0YXJ0cyB0byBpbXBsZW1lbnQgbmV3CisgICAgICAgIHN0YW5kYXJkcy4gVGhpcyB1
cGRhdGVzIG91ciBjb3B5IG9mIHRoZSBBY2lkMyB0ZXN0LgorCisgICAgICAgICogZmFzdC9kb20v
UmFuZ2UvYWNpZDMtc3Vycm91bmQtY29udGVudHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L21pc2MvYWNpZDMuaHRtbDoKKwogMjAxMi0xMS0yMSAgSnVzc2kgS3Vra29uZW4gIDxqdXNzaS5r
dWtrb25lbkBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gR2FyZGVuaW5nOiBzdmcvZm9yZWln
bk9iamVjdC92aWV3cG9ydC1mb3JlaWdub2JqZWN0LWNyYXNoLmh0bWwgaXMgZmxha3kKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL2FjaWQzLXN1cnJvdW5kLWNvbnRlbnRz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9hY2lkMy1zdXJyb3VuZC1jb250ZW50
cy5odG1sCmluZGV4IDYxY2RmNWVjNDI4NzhjZTkzYmIwNWRjNTc2NTljN2RhZTk2MzRiZGQuLmU0
NWM5ZmZmM2QwMGM5YzNlMTBjMmYwYTU5MTA5ZjJiYzgzNzY1MTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL2FjaWQzLXN1cnJvdW5kLWNvbnRlbnRzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvYWNpZDMtc3Vycm91bmQtY29udGVudHMuaHRtbApA
QCAtNTIsNyArNTIsNyBAQCB2YXIgZmFpbENvdW50ID0gMDsKICAgICAgIH0gY2F0Y2ggKGUpIHsK
ICAgICAgICAgaWYgKCdjb2RlJyBpbiBlKQogICAgICAgICAgIG1zZyArPSAnOyBjb2RlID0gJyAr
IGUuY29kZTsKLSAgICAgICAgaWYgKGUuY29kZSA9PSAzKQorICAgICAgICBpZiAoZS5jb2RlID09
IDMpIC8vIEhJRVJBUkNIWV9SRVFVRVNUX0VSUgogICAgICAgICAgIG1zZyA9ICcnOwogICAgICAg
fQogICAgICAgYXNzZXJ0KG1zZyA9PSAnJywgIndoZW4gaW5zZXJ0aW5nIDxhPiBpbnRvIERvY3Vt
ZW50IHdpdGggYW5vdGhlciBjaGlsZDogIiArIG1zZyk7CkBAIC02Nyw5ICs2NywxMCBAQCB2YXIg
ZmFpbENvdW50ID0gMDsKICAgICAgICAgci5zdXJyb3VuZENvbnRlbnRzKGRvYy5jcmVhdGVFbGVt
ZW50KCdhJykpOwogICAgICAgICBtc2cgPSAnbm8gZXhjZXB0aW9uIHJhaXNlZCc7CiAgICAgICB9
IGNhdGNoIChlKSB7Ci0gICAgICAgIGlmICgnY29kZScgaW4gZSkKLSAgICAgICAgICBtc2cgKz0g
JzsgY29kZSA9ICcgKyBlLmNvZGU7Ci0gICAgICAgIGlmIChlLmNvZGUgPT0gMSkKKy8vIENPTU1F
TlRFRCBPVVQgRk9SIDIwMTEgVVBEQVRFIC0gRE9NIENvcmUgY2hhbmdlcyB0aGUgZXhjZXB0aW9u
IGZyb20gUmFuZ2VFeGNlcHRpb24uQkFEX0JPVU5EQVJZUE9JTlRTX0VSUiAoMSkgdG8gRE9NRXhj
ZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSICgxMSkKKy8vICAgICAgICBpZiAoJ2NvZGUnIGluIGUp
CisvLyAgICAgICAgICBtc2cgKz0gJzsgY29kZSA9ICcgKyBlLmNvZGU7CisvLyAgICAgICAgaWYg
KGUuY29kZSA9PSAxKQogICAgICAgICAgIG1zZyA9ICcnOwogICAgICAgfQogICAgICAgYXNzZXJ0
KG1zZyA9PSAnJywgIndoZW4gdHJ5aW5nIHRvIHN1cnJvdW5kIHR3byBoYWx2ZXMgb2YgY29tbWVu
dDogIiArIG1zZyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvYWNp
ZDMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9hY2lkMy5odG1sCmluZGV4IGZk
Y2JhYWQ0NTdhZmJiMjk4OTNjNmVmZGIzNjRjZTAxOGQ2MGUxMjIuLjc5MjRiYmZmM2VjYjU5ZWM2
OWE5OTFkY2FmOGJjZGZhNDk2NjFiZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWlzYy9hY2lkMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9hY2lk
My5odG1sCkBAIC01OTgsMTMgKzU5OCwxNyBAQAogICAgICAgICByLnNldEVuZEJlZm9yZShkb2Mp
OwogICAgICAgICBtc2cgPSAibm8gZXhjZXB0aW9uIHRocm93biBmb3Igc2V0RW5kQmVmb3JlKCkg
dGhlIGRvY3VtZW50IGl0c2VsZiI7CiAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIGlmIChl
LkJBRF9CT1VOREFSWVBPSU5UU19FUlIgIT0gMSkKLSAgICAgICAgICBtc2cgPSAnbm90IGEgUmFu
Z2VFeGNlcHRpb24nOwotICAgICAgICBlbHNlIGlmIChlLklOVkFMSURfTk9ERV9UWVBFX0VSUiAh
PSAyKQotICAgICAgICAgIG1zZyA9ICdSYW5nZUV4Y2VwdGlvbiBoYXMgbm8gSU5WQUxJRF9OT0RF
X1RZUEVfRVJSJzsKLSAgICAgICAgZWxzZSBpZiAoIklOVkFMSURfQUNDRVNTX0VSUiIgaW4gZSkK
LSAgICAgICAgICBtc2cgPSAnUmFuZ2VFeGNlcHRpb24gaGFzIERPTUV4Y2VwdGlvbiBjb25zdGFu
dHMnOwotICAgICAgICBlbHNlIGlmIChlLmNvZGUgIT0gZS5JTlZBTElEX05PREVfVFlQRV9FUlIp
CisvLyBDT01NRU5URUQgT1VUIEZPUiAyMDExIFVQREFURSAtIHdlIG1heSB3YW50IHRvIG1lcmdl
IFJhbmdlRXhjZXB0aW9uIGFuZCBET01FeGNlcHRpb24KKy8vICAgICAgICBpZiAoZS5CQURfQk9V
TkRBUllQT0lOVFNfRVJSICE9IDEpCisvLyAgICAgICAgICBtc2cgPSAnbm90IGEgUmFuZ2VFeGNl
cHRpb24nOworLy8gICAgICAgIGVsc2UKKy8vICAgICAgICBpZiAoZS5JTlZBTElEX05PREVfVFlQ
RV9FUlIgIT0gMikKKy8vICAgICAgICAgIG1zZyA9ICdSYW5nZUV4Y2VwdGlvbiBoYXMgbm8gSU5W
QUxJRF9OT0RFX1RZUEVfRVJSJzsKKy8vICAgICAgICBlbHNlCisvLyAgICAgICAgaWYgKCJJTlZB
TElEX0FDQ0VTU19FUlIiIGluIGUpCisvLyAgICAgICAgICBtc2cgPSAnUmFuZ2VFeGNlcHRpb24g
aGFzIERPTUV4Y2VwdGlvbiBjb25zdGFudHMnOworLy8gICAgICAgIGVsc2UKKyAgICAgICAgaWYg
KGUuY29kZSAhPSBlLklOVkFMSURfTk9ERV9UWVBFX0VSUikKICAgICAgICAgICBtc2cgPSAnd3Jv
bmcgZXhjZXB0aW9uIHJhaXNlZCBmcm9tIHNldEVuZEJlZm9yZSgpJzsKICAgICAgIH0KICAgICAg
IGFzc2VydChtc2cgPT0gIiIsIG1zZyk7CkBAIC02ODAsMjIgKzY4NCwyMyBAQAogICAgIH0sCiAg
ICAgZnVuY3Rpb24gKCkgewogICAgICAgLy8gdGVzdCAxMDogUmFuZ2VzIGFuZCBBdHRyaWJ1dGUg
Tm9kZXMKLSAgICAgIHZhciBlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpOwot
ICAgICAgaWYgKCFlLmdldEF0dHJpYnV0ZU5vZGUpCi0gICAgICAgIHJldHVybiAxOyAvLyBzdXBw
b3J0IGZvciBhdHRyaWJ1dGUgbm9kZXMgaXMgb3B0aW9uYWwgaW4gQWNpZDMsIGJlY2F1c2UgYXR0
cmlidXRlIG5vZGVzIG1pZ2h0IGJlIHJlbW92ZWQgZnJvbSBET00gQ29yZSBpbiB0aGUgZnV0dXJl
LgotICAgICAgLy8gaG93ZXZlciwgaWYgdGhleSdyZSBzdXBwb3J0ZWQsIHRoZXknZCBiZXR0ZXIg
d29yazoKLSAgICAgIHZhciBhID0gZS5nZXRBdHRyaWJ1dGVOb2RlKCdpZCcpOwotICAgICAgdmFy
IHIgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOwotICAgICAgci5zZWxlY3ROb2RlQ29udGVudHMo
YSk7Ci0gICAgICBhc3NlcnRFcXVhbHMoci50b1N0cmluZygpLCAicmVzdWx0IiwgInRvU3RyaW5n
KCkgZGlkbid0IHdvcmsgZm9yIGF0dHJpYnV0ZSBub2RlIik7Ci0gICAgICB2YXIgdCA9IGEuZmly
c3RDaGlsZDsKLSAgICAgIHZhciBmID0gci5leHRyYWN0Q29udGVudHMoKTsKLSAgICAgIGFzc2Vy
dEVxdWFscyhmLmNoaWxkTm9kZXMubGVuZ3RoLCAxLCAiZXh0cmFjdGVkIGNvbnRlbnRzIHdlcmUg
dGhlIHdyb25nIGxlbmd0aCIpOwotICAgICAgYXNzZXJ0RXF1YWxzKGYuY2hpbGROb2Rlc1swXSwg
dCwgImV4dHJhY3RlZCBjb250ZW50cyB3ZXJlIHRoZSB3cm9uZyBub2RlIik7Ci0gICAgICBhc3Nl
cnRFcXVhbHModC50ZXh0Q29udGVudCwgJ3Jlc3VsdCcsICJleHRyYWN0ZWQgY29udGVudHMgZGlk
bid0IG1hdGNoIG9sZCBhdHRyaWJ1dGUgdmFsdWUiKTsKLSAgICAgIGFzc2VydEVxdWFscyhyLnRv
U3RyaW5nKCksICcnLCAiZXh0cmFjdGluZyBjb250ZW50cyBkaWRuJ3QgZW1wdHkgYXR0cmlidXRl
IHZhbHVlOyBpbnN0ZWFkIGVxdWFscyAnIiArIHIudG9TdHJpbmcoKSArICInIik7Ci0gICAgICBh
c3NlcnRFcXVhbHMoZS5nZXRBdHRyaWJ1dGUoJ2lkJyksICcnLCAiZXh0cmFjdGluZyBjb250ZW50
cyBkaWRuJ3QgY2hhbmdlICdpZCcgYXR0cmlidXRlIHRvIGVtcHR5IHN0cmluZyIpOwotICAgICAg
ZS5pZCA9ICdyZXN1bHQnOworLy8gQ09NTUVOVEVEIE9VVCBGT1IgMjAxMSBVUERBVEUgLSB0dXJu
cyBvdXQgaW5zdGVhZCBvZiBkcm9wcGluZyBBdHRyIGVudGlyZWx5LCBhcyBBY2lkMyBvcmlnaW5h
bGx5IGV4cGVjdGVkLCB0aGUgQVBJIGlzIGp1c3QgYmVpbmcgcmVmYWN0b3JlZAorLy8gICAgICB2
YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKTsKKy8vICAgICAgaWYgKCFl
LmdldEF0dHJpYnV0ZU5vZGUpCisvLyAgICAgICAgcmV0dXJuIDE7IC8vIHN1cHBvcnQgZm9yIGF0
dHJpYnV0ZSBub2RlcyBpcyBvcHRpb25hbCBpbiBBY2lkMywgYmVjYXVzZSBhdHRyaWJ1dGUgbm9k
ZXMgbWlnaHQgYmUgcmVtb3ZlZCBmcm9tIERPTSBDb3JlIGluIHRoZSBmdXR1cmUuCisvLyAgICAg
IC8vIGhvd2V2ZXIsIGlmIHRoZXkncmUgc3VwcG9ydGVkLCB0aGV5J2QgYmV0dGVyIHdvcms6Cisv
LyAgICAgIHZhciBhID0gZS5nZXRBdHRyaWJ1dGVOb2RlKCdpZCcpOworLy8gICAgICB2YXIgciA9
IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisvLyAgICAgIHIuc2VsZWN0Tm9kZUNvbnRlbnRzKGEp
OworLy8gICAgICBhc3NlcnRFcXVhbHMoci50b1N0cmluZygpLCAicmVzdWx0IiwgInRvU3RyaW5n
KCkgZGlkbid0IHdvcmsgZm9yIGF0dHJpYnV0ZSBub2RlIik7CisvLyAgICAgIHZhciB0ID0gYS5m
aXJzdENoaWxkOworLy8gICAgICB2YXIgZiA9IHIuZXh0cmFjdENvbnRlbnRzKCk7CisvLyAgICAg
IGFzc2VydEVxdWFscyhmLmNoaWxkTm9kZXMubGVuZ3RoLCAxLCAiZXh0cmFjdGVkIGNvbnRlbnRz
IHdlcmUgdGhlIHdyb25nIGxlbmd0aCIpOworLy8gICAgICBhc3NlcnRFcXVhbHMoZi5jaGlsZE5v
ZGVzWzBdLCB0LCAiZXh0cmFjdGVkIGNvbnRlbnRzIHdlcmUgdGhlIHdyb25nIG5vZGUiKTsKKy8v
ICAgICAgYXNzZXJ0RXF1YWxzKHQudGV4dENvbnRlbnQsICdyZXN1bHQnLCAiZXh0cmFjdGVkIGNv
bnRlbnRzIGRpZG4ndCBtYXRjaCBvbGQgYXR0cmlidXRlIHZhbHVlIik7CisvLyAgICAgIGFzc2Vy
dEVxdWFscyhyLnRvU3RyaW5nKCksICcnLCAiZXh0cmFjdGluZyBjb250ZW50cyBkaWRuJ3QgZW1w
dHkgYXR0cmlidXRlIHZhbHVlOyBpbnN0ZWFkIGVxdWFscyAnIiArIHIudG9TdHJpbmcoKSArICIn
Iik7CisvLyAgICAgIGFzc2VydEVxdWFscyhlLmdldEF0dHJpYnV0ZSgnaWQnKSwgJycsICJleHRy
YWN0aW5nIGNvbnRlbnRzIGRpZG4ndCBjaGFuZ2UgJ2lkJyBhdHRyaWJ1dGUgdG8gZW1wdHkgc3Ry
aW5nIik7CisvLyAgICAgIGUuaWQgPSAncmVzdWx0JzsKICAgICAgIHJldHVybiAxOwogICAgIH0s
CiAgICAgZnVuY3Rpb24gKCkgewpAQCAtNzEzLDcgKzcxOCw3IEBACiAgICAgICB9IGNhdGNoIChl
KSB7CiAgICAgICAgIGlmICgnY29kZScgaW4gZSkKICAgICAgICAgICBtc2cgKz0gJzsgY29kZSA9
ICcgKyBlLmNvZGU7Ci0gICAgICAgIGlmIChlLmNvZGUgPT0gMykKKyAgICAgICAgaWYgKGUuY29k
ZSA9PSAzKSAvLyBISUVSQVJDSFlfUkVRVUVTVF9FUlIKICAgICAgICAgICBtc2cgPSAnJzsKICAg
ICAgIH0KICAgICAgIGFzc2VydChtc2cgPT0gJycsICJ3aGVuIGluc2VydGluZyA8YT4gaW50byBE
b2N1bWVudCB3aXRoIGFub3RoZXIgY2hpbGQ6ICIgKyBtc2cpOwpAQCAtNzI4LDkgKzczMywxMCBA
QAogICAgICAgICByLnN1cnJvdW5kQ29udGVudHMoZG9jLmNyZWF0ZUVsZW1lbnQoJ2EnKSk7CiAg
ICAgICAgIG1zZyA9ICdubyBleGNlcHRpb24gcmFpc2VkJzsKICAgICAgIH0gY2F0Y2ggKGUpIHsK
LSAgICAgICAgaWYgKCdjb2RlJyBpbiBlKQotICAgICAgICAgIG1zZyArPSAnOyBjb2RlID0gJyAr
IGUuY29kZTsKLSAgICAgICAgaWYgKGUuY29kZSA9PSAxKQorLy8gQ09NTUVOVEVEIE9VVCBGT1Ig
MjAxMSBVUERBVEUgLSBET00gQ29yZSBjaGFuZ2VzIHRoZSBleGNlcHRpb24gZnJvbSBSYW5nZUV4
Y2VwdGlvbi5CQURfQk9VTkRBUllQT0lOVFNfRVJSICgxKSB0byBET01FeGNlcHRpb24uSU5WQUxJ
RF9TVEFURV9FUlIgKDExKQorLy8gICAgICAgIGlmICgnY29kZScgaW4gZSkKKy8vICAgICAgICAg
IG1zZyArPSAnOyBjb2RlID0gJyArIGUuY29kZTsKKy8vICAgICAgICBpZiAoZS5jb2RlID09IDEp
CiAgICAgICAgICAgbXNnID0gJyc7CiAgICAgICB9CiAgICAgICBhc3NlcnQobXNnID09ICcnLCAi
d2hlbiB0cnlpbmcgdG8gc3Vycm91bmQgdHdvIGhhbHZlcyBvZiBjb21tZW50OiAiICsgbXNnKTsK
QEAgLTg2NCw4ICs4NzAsOSBAQAogICAgICAgLy8gdGVzdCAxODogbm9kZVR5cGUgKHRoaXMgdGVz
dCBhbHNvIHJlbGllcyBvbiBhY2N1cmF0ZSBwYXJzaW5nIG9mIHRoZSBkb2N1bWVudCkKICAgICAg
IGFzc2VydEVxdWFscyhkb2N1bWVudC5ub2RlVHlwZSwgOSwgImRvY3VtZW50IG5vZGVUeXBlIHdy
b25nIik7CiAgICAgICBhc3NlcnRFcXVhbHMoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm5vZGVU
eXBlLCAxLCAiZWxlbWVudCBub2RlVHlwZSB3cm9uZyIpOwotICAgICAgaWYgKGRvY3VtZW50LmNy
ZWF0ZUF0dHJpYnV0ZSkgLy8gc3VwcG9ydCBmb3IgYXR0cmlidXRlIG5vZGVzIGlzIG9wdGlvbmFs
IGluIEFjaWQzLCBiZWNhdXNlIGF0dHJpYnV0ZSBub2RlcyBtaWdodCBiZSByZW1vdmVkIGZyb20g
RE9NIENvcmUgaW4gdGhlIGZ1dHVyZS4KLSAgICAgICAgYXNzZXJ0RXF1YWxzKGRvY3VtZW50LmNy
ZWF0ZUF0dHJpYnV0ZSgndGVzdCcpLm5vZGVUeXBlLCAyLCAiYXR0cmlidXRlIG5vZGVUeXBlIHdy
b25nIik7IC8vIGhvd2V2ZXIsIGlmIHRoZXkncmUgc3VwcG9ydGVkLCB0aGV5J2QgYmV0dGVyIHdv
cmsKKy8vIENPTU1FTlRFRCBPVVQgRk9SIDIwMTEgVVBEQVRFIC0gdHVybnMgb3V0IGluc3RlYWQg
b2YgZHJvcHBpbmcgQXR0ciBlbnRpcmVseSwgYXMgQWNpZDMgb3JpZ2luYWxseSBleHBlY3RlZCwg
dGhlIEFQSSBpcyBqdXN0IGJlaW5nIHJlZmFjdG9yZWQKKy8vICAgICAgaWYgKGRvY3VtZW50LmNy
ZWF0ZUF0dHJpYnV0ZSkgLy8gc3VwcG9ydCBmb3IgYXR0cmlidXRlIG5vZGVzIGlzIG9wdGlvbmFs
IGluIEFjaWQzLCBiZWNhdXNlIGF0dHJpYnV0ZSBub2RlcyBtaWdodCBiZSByZW1vdmVkIGZyb20g
RE9NIENvcmUgaW4gdGhlIGZ1dHVyZS4KKy8vICAgICAgICBhc3NlcnRFcXVhbHMoZG9jdW1lbnQu
Y3JlYXRlQXR0cmlidXRlKCd0ZXN0Jykubm9kZVR5cGUsIDIsICJhdHRyaWJ1dGUgbm9kZVR5cGUg
d3JvbmciKTsgLy8gaG93ZXZlciwgaWYgdGhleSdyZSBzdXBwb3J0ZWQsIHRoZXknZCBiZXR0ZXIg
d29yawogICAgICAgYXNzZXJ0RXF1YWxzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY29yZScp
LmZpcnN0Q2hpbGQubm9kZVR5cGUsIDMsICJ0ZXh0IG5vZGUgbm9kZVR5cGUgd3JvbmciKTsKICAg
ICAgIGFzc2VydEVxdWFscyhkb2N1bWVudC5maXJzdENoaWxkLm5vZGVUeXBlLCAxMCwgIkRPQ1RZ
UEUgbm9kZVR5cGUgd3JvbmciKTsKICAgICAgIHJldHVybiAyOwpAQCAtMTQxMCw4ICsxNDE3LDE1
IEBACiAgICAgICAgIHAubGFzdENoaWxkLmRhdGEgPSAiICI7CiAgICAgICAgIGV4cGVjdChwLCAw
LCAiYWRkaW5nIHRleHQgdG8gYSB0ZXh0IG5vZGUgZGlkbid0IG1ha2UgdGhlIGVsZW1lbnQgbm9u
LTplbXB0eSIpOwogICAgICAgICBhc3NlcnRFcXVhbHMocC5jaGlsZE5vZGVzLmxlbmd0aCwgMywg
InRleHQgbm9kZXMgbWF5IGhhdmUgbWVyZ2VkIik7Ci0gICAgICAgIHAuY2hpbGROb2Rlc1sxXS5y
ZXBsYWNlV2hvbGVUZXh0KCIiKTsKLSAgICAgICAgYXNzZXJ0RXF1YWxzKHAuY2hpbGROb2Rlcy5s
ZW5ndGgsIDEsICJyZXBsYWNlV2hvbGVUZXh0KCcnKSBkaWRuJ3QgcmVtb3ZlIHRleHQgbm9kZXMi
KTsKKy8vIENPTU1FTlRFRCBPVVQgRk9SIDIwMTEgVVBEQVRFIC0gcmVwbGFjZVdob2xlVGV4dCgp
IG1pZ2h0IGdvIGF3YXkgZW50aXJlbHkKKy8vICAgICAgICBwLmNoaWxkTm9kZXNbMV0ucmVwbGFj
ZVdob2xlVGV4dCgiIik7CisvLyAgICAgICAgYXNzZXJ0RXF1YWxzKHAuY2hpbGROb2Rlcy5sZW5n
dGgsIDEsICJyZXBsYWNlV2hvbGVUZXh0KCcnKSBkaWRuJ3QgcmVtb3ZlIHRleHQgbm9kZXMiKTsK
Ky8vIFJFUExBQ0VNRU5UOgorICAgICAgICBhc3NlcnRFcXVhbHMocC5jaGlsZE5vZGVzWzFdLm5v
ZGVUeXBlLCAzLCAibWlzc2luZyB0ZXh0IG5vZGUgYmVmb3JlIGZpcnN0IHJlbW92YWwiKTsKKyAg
ICAgICAgcC5yZW1vdmVDaGlsZChwLmNoaWxkTm9kZXNbMV0pOworICAgICAgICBhc3NlcnRFcXVh
bHMocC5jaGlsZE5vZGVzWzFdLm5vZGVUeXBlLCAzLCAibWlzc2luZyB0ZXh0IG5vZGUgYmVmb3Jl
IHNlY29uZCByZW1vdmFsIik7CisgICAgICAgIHAucmVtb3ZlQ2hpbGQocC5jaGlsZE5vZGVzWzFd
KTsKKy8vIEVORCBSRVBMQUNFTUVOVCBURVNUCiAgICAgICAgIGV4cGVjdChwLCBlbXB0eSwgImVs
ZW1lbnQgd2l0aCBhIGNvbW1lbnQgbm9kZSBvbmx5IGRpZG4ndCBtYXRjaCA6ZW1wdHkiKTsKICAg
ICAgICAgcC5hcHBlbmRDaGlsZChkb2MuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vZXhhbXBsZS5j
b20vIiwgInRlc3QiKSk7CiAgICAgICAgIGV4cGVjdChwLCAwLCAiYWRkaW5nIGFuIGVsZW1lbnQg
aW4gYSBuYW1lc3BhY2UgZGlkbid0IG1ha2UgdGhlIGVsZW1lbnQgbm9uLTplbXB0eSIpOwpAQCAt
MjE5MCwyMiArMjIwNCwyMyBAQAogICAgICAgLy8gdGVzdCA2MDogY2xhc3NOYW1lIHZzICJjbGFz
cyIgdnMgYXR0cmlidXRlIG5vZGVzCiAgICAgICB2YXIgc3BhbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCdzcGFuJylbMF07CiAgICAgICBzcGFuLnNldEF0dHJpYnV0ZSgnY2xhc3Mn
LCAna2l0dGVucycpOwotICAgICAgaWYgKCFzcGFuLmdldEF0dHJpYnV0ZU5vZGUpCi0gICAgICAg
IHJldHVybiA0OyAvLyBzdXBwb3J0IGZvciBhdHRyaWJ1dGUgbm9kZXMgaXMgb3B0aW9uYWwgaW4g
QWNpZDMsIGJlY2F1c2UgYXR0cmlidXRlIG5vZGVzIG1pZ2h0IGJlIHJlbW92ZWQgZnJvbSBET00g
Q29yZSBpbiB0aGUgZnV0dXJlLgotICAgICAgdmFyIGF0dHIgPSBzcGFuLmdldEF0dHJpYnV0ZU5v
ZGUoJ2NsYXNzJyk7Ci0gICAgICAvLyBob3dldmVyLCBpZiB0aGV5J3JlIHN1cHBvcnRlZCwgdGhl
eSdkIGJldHRlciB3b3JrOgotICAgICAgYXNzZXJ0KGF0dHIuc3BlY2lmaWVkLCAiYXR0cmlidXRl
IG5vdCBzcGVjaWZpZWQiKTsKLSAgICAgIGFzc2VydEVxdWFscyhhdHRyLnZhbHVlLCAna2l0dGVu
cycsICJhdHRyaWJ1dGUgdmFsdWUgd3JvbmciKTsKLSAgICAgIGFzc2VydEVxdWFscyhhdHRyLm5h
bWUsICdjbGFzcycsICJhdHRyaWJ1dGUgbmFtZSB3cm9uZyIpOwotICAgICAgYXR0ci52YWx1ZSA9
ICdvY2Vsb3RzJzsKLSAgICAgIGFzc2VydEVxdWFscyhhdHRyLnZhbHVlLCAnb2NlbG90cycsICJh
dHRyaWJ1dGUgdmFsdWUgd3JvbmciKTsKLSAgICAgIGFzc2VydEVxdWFscyhzcGFuLmNsYXNzTmFt
ZSwgJ29jZWxvdHMnLCAic2V0dGluZyBhdHRyaWJ1dGUgdmFsdWUgZmFpbGVkIHRvIGJlIHJlZmxl
Y3RlZCBpbiBjbGFzc05hbWUiKTsKKy8vIENPTU1FTlRFRCBPVVQgRk9SIDIwMTEgVVBEQVRFIC0g
dHVybnMgb3V0IGluc3RlYWQgb2YgZHJvcHBpbmcgQXR0ciBlbnRpcmVseSwgYXMgQWNpZDMgb3Jp
Z2luYWxseSBleHBlY3RlZCwgdGhlIEFQSSBpcyBqdXN0IGJlaW5nIHJlZmFjdG9yZWQKKy8vICAg
ICAgaWYgKCFzcGFuLmdldEF0dHJpYnV0ZU5vZGUpCisvLyAgICAgICAgcmV0dXJuIDQ7IC8vIHN1
cHBvcnQgZm9yIGF0dHJpYnV0ZSBub2RlcyBpcyBvcHRpb25hbCBpbiBBY2lkMywgYmVjYXVzZSBh
dHRyaWJ1dGUgbm9kZXMgbWlnaHQgYmUgcmVtb3ZlZCBmcm9tIERPTSBDb3JlIGluIHRoZSBmdXR1
cmUuCisvLyAgICAgIHZhciBhdHRyID0gc3Bhbi5nZXRBdHRyaWJ1dGVOb2RlKCdjbGFzcycpOwor
Ly8gICAgICAvLyBob3dldmVyLCBpZiB0aGV5J3JlIHN1cHBvcnRlZCwgdGhleSdkIGJldHRlciB3
b3JrOgorLy8gICAgICBhc3NlcnQoYXR0ci5zcGVjaWZpZWQsICJhdHRyaWJ1dGUgbm90IHNwZWNp
ZmllZCIpOworLy8gICAgICBhc3NlcnRFcXVhbHMoYXR0ci52YWx1ZSwgJ2tpdHRlbnMnLCAiYXR0
cmlidXRlIHZhbHVlIHdyb25nIik7CisvLyAgICAgIGFzc2VydEVxdWFscyhhdHRyLm5hbWUsICdj
bGFzcycsICJhdHRyaWJ1dGUgbmFtZSB3cm9uZyIpOworLy8gICAgICBhdHRyLnZhbHVlID0gJ29j
ZWxvdHMnOworLy8gICAgICBhc3NlcnRFcXVhbHMoYXR0ci52YWx1ZSwgJ29jZWxvdHMnLCAiYXR0
cmlidXRlIHZhbHVlIHdyb25nIik7CisvLyAgICAgIGFzc2VydEVxdWFscyhzcGFuLmNsYXNzTmFt
ZSwgJ29jZWxvdHMnLCAic2V0dGluZyBhdHRyaWJ1dGUgdmFsdWUgZmFpbGVkIHRvIGJlIHJlZmxl
Y3RlZCBpbiBjbGFzc05hbWUiKTsKICAgICAgIHNwYW4uY2xhc3NOYW1lID0gJ2NhdHMnOwotICAg
ICAgYXNzZXJ0RXF1YWxzKGF0dHIub3duZXJFbGVtZW50LmdldEF0dHJpYnV0ZSgnY2xhc3MnKSwg
J2NhdHMnLCAic2V0dGluZyBhdHRyaWJ1dGUgdmFsdWUgZmFpbGVkIHRvIGJlIHJlZmxlY3RlZCBp
biBnZXRBdHRyaWJ1dGUoKSIpOwotICAgICAgc3Bhbi5yZW1vdmVBdHRyaWJ1dGVOb2RlKGF0dHIp
OwotICAgICAgYXNzZXJ0KGF0dHIuc3BlY2lmaWVkLCAiYXR0cmlidXRlIG5vdCBzcGVjaWZpZWQg
YWZ0ZXIgcmVtb3ZhbCIpOwotICAgICAgYXNzZXJ0KCFhdHRyLm93bmVyRWxlbWVudCwgImF0dHJp
YnV0ZSBzdGlsbCBvd25lZCBhZnRlciByZW1vdmFsIik7Ci0gICAgICBhc3NlcnQoIXNwYW4uY2xh
c3NOYW1lLCAiZWxlbWVudCBoYWQgY2xhc3MgYWZ0ZXIgcmVtb3ZhbCIpOworLy8gICAgICBhc3Nl
cnRFcXVhbHMoYXR0ci5vd25lckVsZW1lbnQuZ2V0QXR0cmlidXRlKCdjbGFzcycpLCAnY2F0cycs
ICJzZXR0aW5nIGF0dHJpYnV0ZSB2YWx1ZSBmYWlsZWQgdG8gYmUgcmVmbGVjdGVkIGluIGdldEF0
dHJpYnV0ZSgpIik7CisvLyAgICAgIHNwYW4ucmVtb3ZlQXR0cmlidXRlTm9kZShhdHRyKTsKKy8v
ICAgICAgYXNzZXJ0KGF0dHIuc3BlY2lmaWVkLCAiYXR0cmlidXRlIG5vdCBzcGVjaWZpZWQgYWZ0
ZXIgcmVtb3ZhbCIpOworLy8gICAgICBhc3NlcnQoIWF0dHIub3duZXJFbGVtZW50LCAiYXR0cmli
dXRlIHN0aWxsIG93bmVkIGFmdGVyIHJlbW92YWwiKTsKKy8vICAgICAgYXNzZXJ0KCFzcGFuLmNs
YXNzTmFtZSwgImVsZW1lbnQgaGFkIGNsYXNzIGFmdGVyIHJlbW92YWwiKTsKICAgICAgIHJldHVy
biA0OwogICAgIH0sCiAgICAgZnVuY3Rpb24gKCkgewpAQCAtMjMwOCw2ICsyMzIzLDcgQEAKICAg
ICAvLyBidWNrZXQgNTogVGVzdHMgZnJvbSB0aGUgQWNpZDMgQ29tcGV0aXRpb24KICAgICBmdW5j
dGlvbiAoKSB7CiAgICAgICAvLyB0ZXN0IDY1OiBicmluZyBpbiBhIGNvdXBsZSBvZiBTVkcgZmls
ZXMgYW5kIHNvbWUgSFRNTCBmaWxlcyBkeW5hbWljYWxseSAtIHByZXBhcmF0aW9uIGZvciBsYXRl
ciB0ZXN0cyBpbiB0aGlzIGJ1Y2tldAorICAgICAgLy8gTk9URSBGUk9NIDIwMTEgVVBEQVRFOiBU
aGUgc3ZnLnhtbCBmaWxlIHN0aWxsIGNvbnRhaW5zIHRoZSBTVkcgZm9udCwgYnV0IGl0IGlzIG5v
IGxvbmdlciB1c2VkCiAgICAgICBrdW5nRnVEZWF0aEdyaXAgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdwJyk7CiAgICAgICBrdW5nRnVEZWF0aEdyaXAuY2xhc3NOYW1lID0gJ3JlbW92ZWQnOwog
ICAgICAgdmFyIGlmcmFtZSwgb2JqZWN0OwpAQCAtMjU4NiwzNSArMjYwMiwzNyBAQAogICAgICAg
cmV0dXJuIDU7CiAgICAgfSwKICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAvLyB0ZXN0IDc1OiBT
TUlMIGluIFNWRywgZnJvbSBFcmlrIERhaGxzdHJvbQotICAgICAgLy8KLSAgICAgIC8vIFRoZSB0
ZXN0IGJlZ2lucyBieSBjcmVhdGluZyBhIGZldyBlbGVtZW50cywgYW1vbmcgdGhvc2UgaXMgYQot
ICAgICAgLy8gPHNldD4gZWxlbWVudC4gIFRoaXMgZWxlbWVudCBpcyBwcmV2ZW50ZWQgZnJvbSBy
dW5uaW5nIGJ5Ci0gICAgICAvLyBzZXR0aW5nIGJlZ2luPSJpbmRlZmluaXRlIiwgd2hpY2ggbWVh
bnMgdGhhdCB0aGUgYW5pbWF0aW9uCi0gICAgICAvLyBkb2Vzbid0IHN0YXJ0IHVudGlsIHRoZSAn
YmVnaW5FbGVtZW50JyBET00gbWV0aG9kIGlzIGNhbGxlZAotICAgICAgLy8gb24gdGhlIDxzZXQ+
IGVsZW1lbnQuIFRoZSBhbmltYXRpb24gaXMgYSBzaW1wbGUgYW5pbWF0aW9uCi0gICAgICAvLyB0
aGF0IHNldHMgdGhlIHZhbHVlIG9mIHRoZSB3aWR0aCBhdHRyaWJ1dGUgdG8gMC4gVGhlIGR1cmF0
aW9uCi0gICAgICAvLyBvZiB0aGUgYW5pbWF0aW9uIGlzICdpbmRlZmluaXRlJyB3aGljaCBtZWFu
cyB0aGF0IHRoZSB2YWx1ZQotICAgICAgLy8gd2lsbCBzdGF5IDAgaW5kZWZpbml0ZWx5LiBUaGUg
dGFyZ2V0IG9mIHRoZSBhbmltYXRpb24gaXMgdGhlCi0gICAgICAvLyAnd2lkdGgnIGF0dHJpYnV0
ZSBvZiB0aGUgPHJlY3Q+IGVsZW1lbnQgdGhhdCBpcyB0aGUgcGFyZW50IG9mCi0gICAgICAvLyB0
aGUgPHNldD4gZWxlbWVudC4gV2hlbiAnd2lkdGgnIGlzIDAgdGhlIHJlY3QgaXMgbm90IHJlbmRl
cmVkCi0gICAgICAvLyBhY2NvcmRpbmcgdG8gdGhlIHNwZWNbN10uCi0gICAgICAvLwotICAgICAg
Ly8gU29tZSBwcm9wZXJ0aWVzIG9mIHRoZSBTVkdBbmltYXRlZExlbmd0aFsyXSBhbmQgU1ZHTGVu
Z3RoWzhdCi0gICAgICAvLyBhcmUgYWxzbyBpbnNwZWN0ZWQuIEJlZm9yZSB0aGUgYW5pbWF0aW9u
IHN0YXJ0cyBib3RoIGJhc2VWYWwKLSAgICAgIC8vIGFuZCBhbmltVmFsIGNvbnRhaW4gdGhlIHNh
bWUgdmFsdWVzWzJdLiBUaGVuIHRoZSBhbmltYXRpb24gaXMKLSAgICAgIC8vIHN0YXJ0ZWQgYnkg
Y2FsbGluZyB0aGUgYmVnaW5FbGVtZW50IG1ldGhvZFs5XS4gVG8gbWFrZSBzdXJlCi0gICAgICAv
LyB0aGF0IHRpbWUgcGFzc2VzIGJldHdlZW4gdGhlIHRyaWdnZXJpbmcgb2YgdGhlIGFuaW1hdGlv
biBhbmQKLSAgICAgIC8vIHRoZSB0aW1lIHRoYXQgdGhlIHZhbHVlcyBhcmUgcmVhZCBvdXQgKGlu
IHRlc3QgIzY2KSwgdGhlCi0gICAgICAvLyBjdXJyZW50IHRpbWUgaXMgc2V0IHRvIDEwMDAgc2Vj
b25kcyB1c2luZyB0aGUgc2V0Q3VycmVudFRpbWUKLSAgICAgIC8vIG1ldGhvZFsxMF0uCi0gICAg
ICAvLyAKLSAgICAgIC8vIFsyXSBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS90eXBlcy5odG1s
I0ludGVyZmFjZVNWR0FuaW1hdGVkTGVuZ3RoCi0gICAgICAvLyBbN10gaHR0cDovL3d3dy53My5v
cmcvVFIvU1ZHMTEvc2hhcGVzLmh0bWwjUmVjdEVsZW1lbnQKLSAgICAgIC8vIFs4XSBodHRwOi8v
d3d3LnczLm9yZy9UUi9TVkcxMS90eXBlcy5odG1sI0ludGVyZmFjZVNWR0xlbmd0aAotICAgICAg
Ly8gWzldIGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2FuaW1hdGUuaHRtbCNET01JbnRlcmZh
Y2VzCi0gICAgICAvLyBbMTBdIGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL3N0cnVjdC5odG1s
I0ludGVyZmFjZVNWR1NWR0VsZW1lbnQKLQorLy8gUEFSVFMgQ09NTUVOVEVEIE9VVCBGT1IgMjAx
MSBVUERBVEUgLSBTVkcgRm9udHMsIFNWRyBTTUlMIGFuaW1hdGlvbiwgYW5kIFhMaW5rIGhhdmUg
bWV0IHdpdGggc29tZSBpbXBsZW1lbnRvciBtYWxhaXNlIGV2ZW4gYW1vbmdzdCB0aG9zZSB0aGF0
IHNoaXBwZWQgdGhlbQorLy8gVGhpcyBhZmZlY3RzIHRlc3RzIDc1IHRvIDc5CisvLyAgICAgIC8v
IHRlc3QgNzU6IFNNSUwgaW4gU1ZHLCBmcm9tIEVyaWsgRGFobHN0cm9tCisvLyAgICAgIC8vCisv
LyAgICAgIC8vIFRoZSB0ZXN0IGJlZ2lucyBieSBjcmVhdGluZyBhIGZldyBlbGVtZW50cywgYW1v
bmcgdGhvc2UgaXMgYQorLy8gICAgICAvLyA8c2V0PiBlbGVtZW50LiAgVGhpcyBlbGVtZW50IGlz
IHByZXZlbnRlZCBmcm9tIHJ1bm5pbmcgYnkKKy8vICAgICAgLy8gc2V0dGluZyBiZWdpbj0iaW5k
ZWZpbml0ZSIsIHdoaWNoIG1lYW5zIHRoYXQgdGhlIGFuaW1hdGlvbgorLy8gICAgICAvLyBkb2Vz
bid0IHN0YXJ0IHVudGlsIHRoZSAnYmVnaW5FbGVtZW50JyBET00gbWV0aG9kIGlzIGNhbGxlZAor
Ly8gICAgICAvLyBvbiB0aGUgPHNldD4gZWxlbWVudC4gVGhlIGFuaW1hdGlvbiBpcyBhIHNpbXBs
ZSBhbmltYXRpb24KKy8vICAgICAgLy8gdGhhdCBzZXRzIHRoZSB2YWx1ZSBvZiB0aGUgd2lkdGgg
YXR0cmlidXRlIHRvIDAuIFRoZSBkdXJhdGlvbgorLy8gICAgICAvLyBvZiB0aGUgYW5pbWF0aW9u
IGlzICdpbmRlZmluaXRlJyB3aGljaCBtZWFucyB0aGF0IHRoZSB2YWx1ZQorLy8gICAgICAvLyB3
aWxsIHN0YXkgMCBpbmRlZmluaXRlbHkuIFRoZSB0YXJnZXQgb2YgdGhlIGFuaW1hdGlvbiBpcyB0
aGUKKy8vICAgICAgLy8gJ3dpZHRoJyBhdHRyaWJ1dGUgb2YgdGhlIDxyZWN0PiBlbGVtZW50IHRo
YXQgaXMgdGhlIHBhcmVudCBvZgorLy8gICAgICAvLyB0aGUgPHNldD4gZWxlbWVudC4gV2hlbiAn
d2lkdGgnIGlzIDAgdGhlIHJlY3QgaXMgbm90IHJlbmRlcmVkCisvLyAgICAgIC8vIGFjY29yZGlu
ZyB0byB0aGUgc3BlY1s3XS4KKy8vICAgICAgLy8KKy8vICAgICAgLy8gU29tZSBwcm9wZXJ0aWVz
IG9mIHRoZSBTVkdBbmltYXRlZExlbmd0aFsyXSBhbmQgU1ZHTGVuZ3RoWzhdCisvLyAgICAgIC8v
IGFyZSBhbHNvIGluc3BlY3RlZC4gQmVmb3JlIHRoZSBhbmltYXRpb24gc3RhcnRzIGJvdGggYmFz
ZVZhbAorLy8gICAgICAvLyBhbmQgYW5pbVZhbCBjb250YWluIHRoZSBzYW1lIHZhbHVlc1syXS4g
VGhlbiB0aGUgYW5pbWF0aW9uIGlzCisvLyAgICAgIC8vIHN0YXJ0ZWQgYnkgY2FsbGluZyB0aGUg
YmVnaW5FbGVtZW50IG1ldGhvZFs5XS4gVG8gbWFrZSBzdXJlCisvLyAgICAgIC8vIHRoYXQgdGlt
ZSBwYXNzZXMgYmV0d2VlbiB0aGUgdHJpZ2dlcmluZyBvZiB0aGUgYW5pbWF0aW9uIGFuZAorLy8g
ICAgICAvLyB0aGUgdGltZSB0aGF0IHRoZSB2YWx1ZXMgYXJlIHJlYWQgb3V0IChpbiB0ZXN0ICM2
NiksIHRoZQorLy8gICAgICAvLyBjdXJyZW50IHRpbWUgaXMgc2V0IHRvIDEwMDAgc2Vjb25kcyB1
c2luZyB0aGUgc2V0Q3VycmVudFRpbWUKKy8vICAgICAgLy8gbWV0aG9kWzEwXS4KKy8vICAgICAg
Ly8gCisvLyAgICAgIC8vIFsyXSBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS90eXBlcy5odG1s
I0ludGVyZmFjZVNWR0FuaW1hdGVkTGVuZ3RoCisvLyAgICAgIC8vIFs3XSBodHRwOi8vd3d3Lncz
Lm9yZy9UUi9TVkcxMS9zaGFwZXMuaHRtbCNSZWN0RWxlbWVudAorLy8gICAgICAvLyBbOF0gaHR0
cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvdHlwZXMuaHRtbCNJbnRlcmZhY2VTVkdMZW5ndGgKKy8v
ICAgICAgLy8gWzldIGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2FuaW1hdGUuaHRtbCNET01J
bnRlcmZhY2VzCisvLyAgICAgIC8vIFsxMF0gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvc3Ry
dWN0Lmh0bWwjSW50ZXJmYWNlU1ZHU1ZHRWxlbWVudAorLy8KICAgICAgIHZhciBzdmducyA9ICJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7CiAgICAgICB2YXIgc3ZnZG9jID0ga3VuZ0Z1RGVh
dGhHcmlwLmZpcnN0Q2hpbGQuY29udGVudERvY3VtZW50OwogICAgICAgYXNzZXJ0KHN2Z2RvYywg
ImNvbnRlbnREb2N1bWVudCBmYWlsZWQgb24gPGlmcmFtZT4gZm9yIHN2ZyBkb2N1bWVudC4iKTsK
QEAgLTI2MjQsNzcgKzI2NDIsNzcgQEAKICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJ3aWR0aCIs
ICIxMDAiKTsKICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJoZWlnaHQiLCAiMTAwIik7CiAgICAg
ICByZWN0LnNldEF0dHJpYnV0ZSgiaWQiLCAicmVjdCIpOwotICAgICAgdmFyIGFuaW0gPSBzdmdk
b2MuY3JlYXRlRWxlbWVudE5TKHN2Z25zLCAic2V0Iik7Ci0gICAgICBhbmltLnNldEF0dHJpYnV0
ZSgiYmVnaW4iLCAiaW5kZWZpbml0ZSIpOwotICAgICAgYW5pbS5zZXRBdHRyaWJ1dGUoInRvIiwg
IjAiKTsKLSAgICAgIGFuaW0uc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgIndpZHRoIik7
Ci0gICAgICBhbmltLnNldEF0dHJpYnV0ZSgiZHVyIiwgImluZGVmaW5pdGUiKTsKLSAgICAgIGFu
aW0uc2V0QXR0cmlidXRlKCJmaWxsIiwgImZyZWV6ZSIpOwotICAgICAgcmVjdC5hcHBlbmRDaGls
ZChhbmltKTsKKy8vICAgICAgdmFyIGFuaW0gPSBzdmdkb2MuY3JlYXRlRWxlbWVudE5TKHN2Z25z
LCAic2V0Iik7CisvLyAgICAgIGFuaW0uc2V0QXR0cmlidXRlKCJiZWdpbiIsICJpbmRlZmluaXRl
Iik7CisvLyAgICAgIGFuaW0uc2V0QXR0cmlidXRlKCJ0byIsICIwIik7CisvLyAgICAgIGFuaW0u
c2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgIndpZHRoIik7CisvLyAgICAgIGFuaW0uc2V0
QXR0cmlidXRlKCJkdXIiLCAiaW5kZWZpbml0ZSIpOworLy8gICAgICBhbmltLnNldEF0dHJpYnV0
ZSgiZmlsbCIsICJmcmVlemUiKTsKKy8vICAgICAgcmVjdC5hcHBlbmRDaGlsZChhbmltKTsKICAg
ICAgIHN2Zy5hcHBlbmRDaGlsZChyZWN0KTsKICAgICAgIGFzc2VydChyZWN0LndpZHRoLCAiU1ZH
IERPTSBpbnRlcmZhY2UgU1ZHUmVjdEVsZW1lbnQgbm90IHN1cHBvcnRlZC4iKTsKLSAgICAgIGFz
c2VydChyZWN0LndpZHRoLmJhc2VWYWwsICJTVkcgRE9NIGJhc2UgdHlwZSBTVkdBbmltYXRlZExl
bmd0aCBub3Qgc3VwcG9ydGVkLiIpOwotICAgICAgYXNzZXJ0KHJlY3Qud2lkdGguYW5pbVZhbCwg
IlNWRyBET00gYmFzZSB0eXBlIFNWR0FuaW1hdGVkTGVuZ3RoIG5vdCBzdXBwb3J0ZWQuIik7Ci0g
ICAgICBhc3NlcnRFcXVhbHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX05VTUJFUiwgMSwgIklu
Y29ycmVjdCBTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfTlVNQkVSIGNvbnN0YW50IHZhbHVlLiIp
OwotICAgICAgYXNzZXJ0RXF1YWxzKHJlY3Qud2lkdGguYmFzZVZhbC51bml0VHlwZSwgU1ZHTGVu
Z3RoLlNWR19MRU5HVEhUWVBFX05VTUJFUiwgIkluY29ycmVjdCB1bml0VHlwZSBvbiB3aWR0aCBh
dHRyaWJ1dGUuIik7CisvLyAgICAgIGFzc2VydChyZWN0LndpZHRoLmJhc2VWYWwsICJTVkcgRE9N
IGJhc2UgdHlwZSBTVkdBbmltYXRlZExlbmd0aCBub3Qgc3VwcG9ydGVkLiIpOworLy8gICAgICBh
c3NlcnQocmVjdC53aWR0aC5hbmltVmFsLCAiU1ZHIERPTSBiYXNlIHR5cGUgU1ZHQW5pbWF0ZWRM
ZW5ndGggbm90IHN1cHBvcnRlZC4iKTsKKy8vICAgICAgYXNzZXJ0RXF1YWxzKFNWR0xlbmd0aC5T
VkdfTEVOR1RIVFlQRV9OVU1CRVIsIDEsICJJbmNvcnJlY3QgU1ZHTGVuZ3RoLlNWR19MRU5HVEhU
WVBFX05VTUJFUiBjb25zdGFudCB2YWx1ZS4iKTsKKy8vICAgICAgYXNzZXJ0RXF1YWxzKHJlY3Qu
d2lkdGguYmFzZVZhbC51bml0VHlwZSwgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX05VTUJFUiwg
IkluY29ycmVjdCB1bml0VHlwZSBvbiB3aWR0aCBhdHRyaWJ1dGUuIik7CiAgICAgICBhc3NlcnRF
cXVhbHMocmVjdC5nZXRBdHRyaWJ1dGUoIndpZHRoIiksICIxMDAiLCAiSW5jb3JyZWN0IHZhbHVl
IGZyb20gZ2V0QXR0cmlidXRlLiIpOwotICAgICAgYXNzZXJ0RXF1YWxzKHJlY3Qud2lkdGguYmFz
ZVZhbC52YWx1ZUluU3BlY2lmaWVkVW5pdHMsIDEwMCwgIkluY29ycmVjdCB2YWx1ZUluU3BlY2lm
aWVkVW5pdHMgdmFsdWUuIik7Ci0gICAgICBhc3NlcnRFcXVhbHMocmVjdC53aWR0aC5iYXNlVmFs
LnZhbHVlLCAxMDAsICJJbmNvcnJlY3QgYmFzZVZhbCB2YWx1ZSBiZWZvcmUgYW5pbWF0aW9uLiIp
OwotICAgICAgYXNzZXJ0RXF1YWxzKHJlY3Qud2lkdGguYW5pbVZhbC52YWx1ZSwgMTAwLCAiSW5j
b3JyZWN0IGFuaW1WYWwgdmFsdWUgYmVmb3JlIGFuaW1hdGlvbi4iKTsKLSAgICAgIGFuaW0uYmVn
aW5FbGVtZW50KCk7Ci0gICAgICBhc3NlcnRFcXVhbHMocmVjdC53aWR0aC5iYXNlVmFsLnZhbHVl
LCAxMDAsICJJbmNvcnJlY3QgYmFzZVZhbCB2YWx1ZSBhZnRlciBzdGFydGluZyBhbmltYXRpb24u
Iik7Ci0gICAgICBzdmcuc2V0Q3VycmVudFRpbWUoMTAwMCk7IC8vIHNldHRpbmcgMSBzZWNvbmQg
dG8gbWFrZSBzdXJlIHRoYXQgdGltZSAhPSAwcyB3aGVuIHdlIGNoZWNrIHRoZSBhbmltVmFsIHZh
bHVlCi0gICAgICAvLyB0aGUgYW5pbWF0aW9uIGlzIHRoZW4gdGVzdGVkIGluIHRoZSBuZXh0IHRl
c3QKKy8vICAgICAgYXNzZXJ0RXF1YWxzKHJlY3Qud2lkdGguYmFzZVZhbC52YWx1ZUluU3BlY2lm
aWVkVW5pdHMsIDEwMCwgIkluY29ycmVjdCB2YWx1ZUluU3BlY2lmaWVkVW5pdHMgdmFsdWUuIik7
CisvLyAgICAgIGFzc2VydEVxdWFscyhyZWN0LndpZHRoLmJhc2VWYWwudmFsdWUsIDEwMCwgIklu
Y29ycmVjdCBiYXNlVmFsIHZhbHVlIGJlZm9yZSBhbmltYXRpb24uIik7CisvLyAgICAgIGFzc2Vy
dEVxdWFscyhyZWN0LndpZHRoLmFuaW1WYWwudmFsdWUsIDEwMCwgIkluY29ycmVjdCBhbmltVmFs
IHZhbHVlIGJlZm9yZSBhbmltYXRpb24uIik7CisvLyAgICAgIGFuaW0uYmVnaW5FbGVtZW50KCk7
CisvLyAgICAgIGFzc2VydEVxdWFscyhyZWN0LndpZHRoLmJhc2VWYWwudmFsdWUsIDEwMCwgIklu
Y29ycmVjdCBiYXNlVmFsIHZhbHVlIGFmdGVyIHN0YXJ0aW5nIGFuaW1hdGlvbi4iKTsKKy8vICAg
ICAgc3ZnLnNldEN1cnJlbnRUaW1lKDEwMDApOyAvLyBzZXR0aW5nIDEgc2Vjb25kIHRvIG1ha2Ug
c3VyZSB0aGF0IHRpbWUgIT0gMHMgd2hlbiB3ZSBjaGVjayB0aGUgYW5pbVZhbCB2YWx1ZQorLy8g
ICAgICAvLyB0aGUgYW5pbWF0aW9uIGlzIHRoZW4gdGVzdGVkIGluIHRoZSBuZXh0IHRlc3QKICAg
ICAgIHJldHVybiA1OwogICAgIH0sCiAgICAgZnVuY3Rpb24gKCkgewotICAgICAgLy8gdGVzdCA3
NjogU01JTCBpbiBTVkcsIHBhcnQgMiwgZnJvbSBFcmlrIERhaGxzdHJvbQotICAgICAgLy8KLSAg
ICAgIC8vIEFib3V0IGFuaW1WYWxbMl06ICJJZiB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9yIHByb3Bl
cnR5IGlzCi0gICAgICAvLyBiZWluZyBhbmltYXRlZCwgY29udGFpbnMgdGhlIGN1cnJlbnQgYW5p
bWF0ZWQgdmFsdWUgb2YgdGhlCi0gICAgICAvLyBhdHRyaWJ1dGUgb3IgcHJvcGVydHksIGFuZCBi
b3RoIHRoZSBvYmplY3QgaXRzZWxmIGFuZCBpdHMKLSAgICAgIC8vIGNvbnRlbnRzIGFyZSByZWFk
b25seS4gSWYgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvciBwcm9wZXJ0eSBpcwotICAgICAgLy8gbm90
IGN1cnJlbnRseSBiZWluZyBhbmltYXRlZCwgY29udGFpbnMgdGhlIHNhbWUgdmFsdWUgYXMKLSAg
ICAgIC8vICdiYXNlVmFsJy4iCi0gICAgICAvLwotICAgICAgLy8gU2luY2UgdGhlIGR1cmF0aW9u
IG9mIHRoZSBhbmltYXRpb24gaXMgaW5kZWZpbml0ZSB0aGUgdmFsdWUKLSAgICAgIC8vIGlzIHN0
aWxsIGJlaW5nIGFuaW1hdGVkIGF0IHRoZSB0aW1lIGl0J3MgcXVlcmllZC4gTm93IHNpbmNlCi0g
ICAgICAvLyB0aGUgJ3dpZHRoJyBhdHRyaWJ1dGUgd2FzIGFuaW1hdGVkIGZyb20gaXRzIG9yaWdp
bmFsIHZhbHVlIG9mCi0gICAgICAvLyAiMTAwIiB0byB0aGUgbmV3IHZhbHVlIG9mICIwIiB0aGUg
YW5pbVZhbCBwcm9wZXJ0eSBtdXN0Ci0gICAgICAvLyBjb250YWluIHRoZSB2YWx1ZSAwLgotICAg
ICAgLy8gCi0gICAgICAvLyBbMl0gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvdHlwZXMuaHRt
bCNJbnRlcmZhY2VTVkdBbmltYXRlZExlbmd0aAotCisvLyAgICAgIC8vIHRlc3QgNzY6IFNNSUwg
aW4gU1ZHLCBwYXJ0IDIsIGZyb20gRXJpayBEYWhsc3Ryb20KKy8vICAgICAgLy8KKy8vICAgICAg
Ly8gQWJvdXQgYW5pbVZhbFsyXTogIklmIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb3IgcHJvcGVydHkg
aXMKKy8vICAgICAgLy8gYmVpbmcgYW5pbWF0ZWQsIGNvbnRhaW5zIHRoZSBjdXJyZW50IGFuaW1h
dGVkIHZhbHVlIG9mIHRoZQorLy8gICAgICAvLyBhdHRyaWJ1dGUgb3IgcHJvcGVydHksIGFuZCBi
b3RoIHRoZSBvYmplY3QgaXRzZWxmIGFuZCBpdHMKKy8vICAgICAgLy8gY29udGVudHMgYXJlIHJl
YWRvbmx5LiBJZiB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9yIHByb3BlcnR5IGlzCisvLyAgICAgIC8v
IG5vdCBjdXJyZW50bHkgYmVpbmcgYW5pbWF0ZWQsIGNvbnRhaW5zIHRoZSBzYW1lIHZhbHVlIGFz
CisvLyAgICAgIC8vICdiYXNlVmFsJy4iCisvLyAgICAgIC8vCisvLyAgICAgIC8vIFNpbmNlIHRo
ZSBkdXJhdGlvbiBvZiB0aGUgYW5pbWF0aW9uIGlzIGluZGVmaW5pdGUgdGhlIHZhbHVlCisvLyAg
ICAgIC8vIGlzIHN0aWxsIGJlaW5nIGFuaW1hdGVkIGF0IHRoZSB0aW1lIGl0J3MgcXVlcmllZC4g
Tm93IHNpbmNlCisvLyAgICAgIC8vIHRoZSAnd2lkdGgnIGF0dHJpYnV0ZSB3YXMgYW5pbWF0ZWQg
ZnJvbSBpdHMgb3JpZ2luYWwgdmFsdWUgb2YKKy8vICAgICAgLy8gIjEwMCIgdG8gdGhlIG5ldyB2
YWx1ZSBvZiAiMCIgdGhlIGFuaW1WYWwgcHJvcGVydHkgbXVzdAorLy8gICAgICAvLyBjb250YWlu
IHRoZSB2YWx1ZSAwLgorLy8gICAgICAvLyAKKy8vICAgICAgLy8gWzJdIGh0dHA6Ly93d3cudzMu
b3JnL1RSL1NWRzExL3R5cGVzLmh0bWwjSW50ZXJmYWNlU1ZHQW5pbWF0ZWRMZW5ndGgKKy8vCiAg
ICAgICB2YXIgc3ZnZG9jID0ga3VuZ0Z1RGVhdGhHcmlwLmZpcnN0Q2hpbGQuY29udGVudERvY3Vt
ZW50OwogICAgICAgYXNzZXJ0KHN2Z2RvYywgImNvbnRlbnREb2N1bWVudCBmYWlsZWQgb24gPG9i
amVjdD4gZm9yIHN2ZyBkb2N1bWVudC4iKTsKICAgICAgIHZhciByZWN0ID0gc3ZnZG9jLmdldEVs
ZW1lbnRCeUlkKCJyZWN0Iik7CiAgICAgICBhc3NlcnQocmVjdCwgIkZhaWxlZCB0byBmaW5kIDxy
ZWN0PiBlbGVtZW50IGluIHN2ZyBkb2N1bWVudC4iKTsKLSAgICAgIGFzc2VydEVxdWFscyhyZWN0
LndpZHRoLmFuaW1WYWwudmFsdWUsIDAsICJJbmNvcnJlY3QgYW5pbVZhbCB2YWx1ZSBhZnRlciBz
dmcgYW5pbWF0aW9uLiIpOworLy8gICAgICBhc3NlcnRFcXVhbHMocmVjdC53aWR0aC5hbmltVmFs
LnZhbHVlLCAwLCAiSW5jb3JyZWN0IGFuaW1WYWwgdmFsdWUgYWZ0ZXIgc3ZnIGFuaW1hdGlvbi4i
KTsKICAgICAgIHJldHVybiA1OwogICAgIH0sCiAgICAgZnVuY3Rpb24gKCkgewotICAgICAgLy8g
dGVzdCA3NzogZXh0ZXJuYWwgU1ZHIGZvbnRzLCBmcm9tIEVyaWsgRGFobHN0cm9tCi0gICAgICAv
LwotICAgICAgLy8gU1ZHRm9udHMgYXJlIGRlc2NyaWJlZCBoZXJlWzNdLCBhbmQgdGhlIHJlbGV2
YW50IERPTSBtZXRob2RzCi0gICAgICAvLyB1c2VkIGluIHRoZSB0ZXN0IGFyZSBkZWZpbmVkIGhl
cmVbNF0uCi0gICAgICAvLwotICAgICAgLy8gTm90ZSB0aGF0IGluIG9yZGVyIHRvIGJlIG1vcmUg
cHJlZGljdGFibGUgdGhlIHN2ZyBzaG91bGQgYmUKLSAgICAgIC8vIHZpc2libGUsIHNvIHRoYXQg
Y2xhdXNlICJGb3Igbm9uLXJlbmRlcmluZyBlbnZpcm9ubWVudHMsIHRoZQotICAgICAgLy8gdXNl
ciBhZ2VudCBzaGFsbCBtYWtlIHJlYXNvbmFibGUgYXNzdW1wdGlvbnMgYWJvdXQgZ2x5cGgKLSAg
ICAgIC8vIG1ldHJpY3MuIiBkb2Vzbid0IGluZmx1ZW5jZSB0aGUgcmVzdWx0cy4gV2UgdXNlICdv
cGFjaXR5OjAnCi0gICAgICAvLyB0byBoaWRlIHRoZSBTVkcsIGJ1dCBhcmd1YWJseSBpdCdzIHN0
aWxsIGEgInJlbmRlcmluZwotICAgICAgLy8gZW52aXJvbm1lbnQiLgotICAgICAgLy8KLSAgICAg
IC8vIFRoZSBmb250LXNpemUgNDAwMCB3YXMgY2hvc2VuIGJlY2F1c2UgdGhhdCBtYXRjaGVzIHRo
ZQotICAgICAgLy8gdW5pdHNQZXJFbSB2YWx1ZSBpbiB0aGUgc3ZnZm9udCwgd2hpY2ggbWFrZXMg
aXQgZWFzeSB0byBjaGVjawotICAgICAgLy8gdGhlIGdseXBoIGFkdmFuY2VzIHNpbmNlIHRoZXkg
d2lsbCB0aGVuIGJlIGV4YWN0bHkgd2hhdCB3YXMKLSAgICAgIC8vIHNwZWNpZmllZCBpbiB0aGUg
c3ZnZm9udC4KLSAgICAgIC8vCi0gICAgICAvLyBbM10gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZH
MTEvZm9udHMuaHRtbAotICAgICAgLy8gWzRdIGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL3Rl
eHQuaHRtbCNJbnRlcmZhY2VTVkdUZXh0Q29udGVudEVsZW1lbnQKLQorLy8gICAgICAvLyB0ZXN0
IDc3OiBleHRlcm5hbCBTVkcgZm9udHMsIGZyb20gRXJpayBEYWhsc3Ryb20KKy8vICAgICAgLy8K
Ky8vICAgICAgLy8gU1ZHRm9udHMgYXJlIGRlc2NyaWJlZCBoZXJlWzNdLCBhbmQgdGhlIHJlbGV2
YW50IERPTSBtZXRob2RzCisvLyAgICAgIC8vIHVzZWQgaW4gdGhlIHRlc3QgYXJlIGRlZmluZWQg
aGVyZVs0XS4KKy8vICAgICAgLy8KKy8vICAgICAgLy8gTm90ZSB0aGF0IGluIG9yZGVyIHRvIGJl
IG1vcmUgcHJlZGljdGFibGUgdGhlIHN2ZyBzaG91bGQgYmUKKy8vICAgICAgLy8gdmlzaWJsZSwg
c28gdGhhdCBjbGF1c2UgIkZvciBub24tcmVuZGVyaW5nIGVudmlyb25tZW50cywgdGhlCisvLyAg
ICAgIC8vIHVzZXIgYWdlbnQgc2hhbGwgbWFrZSByZWFzb25hYmxlIGFzc3VtcHRpb25zIGFib3V0
IGdseXBoCisvLyAgICAgIC8vIG1ldHJpY3MuIiBkb2Vzbid0IGluZmx1ZW5jZSB0aGUgcmVzdWx0
cy4gV2UgdXNlICdvcGFjaXR5OjAnCisvLyAgICAgIC8vIHRvIGhpZGUgdGhlIFNWRywgYnV0IGFy
Z3VhYmx5IGl0J3Mgc3RpbGwgYSAicmVuZGVyaW5nCisvLyAgICAgIC8vIGVudmlyb25tZW50Ii4K
Ky8vICAgICAgLy8KKy8vICAgICAgLy8gVGhlIGZvbnQtc2l6ZSA0MDAwIHdhcyBjaG9zZW4gYmVj
YXVzZSB0aGF0IG1hdGNoZXMgdGhlCisvLyAgICAgIC8vIHVuaXRzUGVyRW0gdmFsdWUgaW4gdGhl
IHN2Z2ZvbnQsIHdoaWNoIG1ha2VzIGl0IGVhc3kgdG8gY2hlY2sKKy8vICAgICAgLy8gdGhlIGds
eXBoIGFkdmFuY2VzIHNpbmNlIHRoZXkgd2lsbCB0aGVuIGJlIGV4YWN0bHkgd2hhdCB3YXMKKy8v
ICAgICAgLy8gc3BlY2lmaWVkIGluIHRoZSBzdmdmb250LgorLy8gICAgICAvLworLy8gICAgICAv
LyBbM10gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZm9udHMuaHRtbAorLy8gICAgICAvLyBb
NF0gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvdGV4dC5odG1sI0ludGVyZmFjZVNWR1RleHRD
b250ZW50RWxlbWVudAorLy8KICAgICAgIHZhciBzdmducyA9ICJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyI7Ci0gICAgICB2YXIgeGxpbmtucyA9ICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hs
aW5rIjsKKy8vICAgICAgdmFyIHhsaW5rbnMgPSAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu
ayI7CiAgICAgICB2YXIgc3ZnZG9jID0ga3VuZ0Z1RGVhdGhHcmlwLmZpcnN0Q2hpbGQuY29udGVu
dERvY3VtZW50OwogICAgICAgYXNzZXJ0KHN2Z2RvYywgImNvbnRlbnREb2N1bWVudCBmYWlsZWQg
b24gPG9iamVjdD4gZm9yIHN2ZyBkb2N1bWVudC4iKTsKICAgICAgIHZhciBzdmcgPSBzdmdkb2Mu
ZG9jdW1lbnRFbGVtZW50OwpAQCAtMjcwOSw0MDggKzI3MjcsNDA4IEBACiAgICAgICAvLyB3aGlj
aCBtYWtlcyBpdCBlYXN5IHRvIGNoZWNrIHRoZSBnbHlwaCBhZHZhbmNlcyBzaW5jZSB0aGV5IHdp
bGwgdGhlbiBiZSBleGFjdGx5IHdoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgc3ZnZm9udC4KICAg
ICAgIGFzc2VydCh0ZXh0LmdldE51bWJlck9mQ2hhcnMsICJTVkdUZXh0Q29udGVudEVsZW1lbnQu
Z2V0TnVtYmVyT2ZDaGFycygpIG5vdCBzdXBwb3J0ZWQuIik7CiAgICAgICBhc3NlcnRFcXVhbHMo
dGV4dC5nZXROdW1iZXJPZkNoYXJzKCksIDMsICJnZXROdW1iZXJPZkNoYXJzIHJldHVybmVkIGlu
Y29ycmVjdCBzdHJpbmcgbGVuZ3RoLiIpOwotICAgICAgYXNzZXJ0RXF1YWxzKHRleHQuZ2V0Q29t
cHV0ZWRUZXh0TGVuZ3RoKCksIDQ3MTErNDIrMjMsICJnZXRDb21wdXRlZFRleHRMZW5ndGggZmFp
bGVkLiIpOwotICAgICAgYXNzZXJ0RXF1YWxzKHRleHQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDAsMSks
IDQyLCAiZ2V0U3ViU3RyaW5nTGVuZ3RoICMxIGZhaWxlZC4iKTsKLSAgICAgIGFzc2VydEVxdWFs
cyh0ZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgwLDIpLCA0MisyMywgImdldFN1YlN0cmluZ0xlbmd0
aCAjMiBmYWlsZWQuIik7Ci0gICAgICBhc3NlcnRFcXVhbHModGV4dC5nZXRTdWJTdHJpbmdMZW5n
dGgoMSwxKSwgMjMsICJnZXRTdWJTdHJpbmdMZW5ndGggIzMgZmFpbGVkLiIpOwotICAgICAgYXNz
ZXJ0RXF1YWxzKHRleHQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDEsMCksIDAsICJnZXRTdWJTdHJpbmdM
ZW5ndGggIzQgZmFpbGVkLiIpOwotLyogQ09NTUVOVEVEIE9VVCBCRUNBVVNFIFNWR1dHIEtFRVBT
IENIQU5HSU5HIFRISVMKLSAqICAgICB2YXIgY29kZSA9IC0xMDAwOwotICogICAgIHRyeSB7Ci0g
KiAgICAgICB2YXIgc2wgPSB0ZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgxLDMpOwotICogICAgIH0g
Y2F0Y2goZSkgewotICogICAgICAgY29kZSA9IGUuY29kZTsKLSAqICAgICB9Ci0gKiAgICAgYXNz
ZXJ0RXF1YWxzKGNvZGUsIERPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUiwgImdldFN1YlN0cmlu
Z0xlbmd0aCAjMSBkaWRuJ3QgdGhyb3cgZXhjZXB0aW9uLiIpOwotICogICAgIGNvZGUgPSAtMTAw
MDsKLSAqICAgICB0cnkgewotICogICAgICAgdmFyIHNsID0gdGV4dC5nZXRTdWJTdHJpbmdMZW5n
dGgoMCw0KTsKLSAqICAgICB9IGNhdGNoKGUpIHsKLSAqICAgICAgIGNvZGUgPSBlLmNvZGU7Ci0g
KiAgICAgfQotICogICAgIGFzc2VydEVxdWFscyhjb2RlLCBET01FeGNlcHRpb24uSU5ERVhfU0la
RV9FUlIsICJnZXRTdWJTdHJpbmdMZW5ndGggIzIgZGlkbid0IHRocm93IGV4Y2VwdGlvbi4iKTsK
LSAqICAgICBjb2RlID0gLTEwMDA7Ci0gKiAgICAgdHJ5IHsKLSAqICAgICAgIHZhciBzbCA9IHRl
eHQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDMsMCk7Ci0gKiAgICAgfSBjYXRjaChlKSB7Ci0gKiAgICAg
ICBjb2RlID0gZS5jb2RlOwotICogICAgIH0KLSAqICAgICBhc3NlcnRFcXVhbHMoY29kZSwgRE9N
RXhjZXB0aW9uLklOREVYX1NJWkVfRVJSLCAiZ2V0U3ViU3RyaW5nTGVuZ3RoICMzIGRpZG4ndCB0
aHJvdyBleGNlcHRpb24uIik7Ci0gKi8KLSAgICAgIGNvZGUgPSAtMTAwMDsKLSAgICAgIHRyeSB7
Ci0gICAgICAgIHZhciBzbCA9IHRleHQuZ2V0U3ViU3RyaW5nTGVuZ3RoKC0xNywyMCk7Ci0gICAg
ICB9IGNhdGNoKGUpIHsKLSAgICAgICAgY29kZSA9IDA7IC8vIG5lZ2F0aXZlIHZhbHVlcyBtaWdo
dCB0aHJvdyBuYXRpdmUgZXhjZXB0aW9uIHNpbmNlIHRoZSBhcGkgYWNjZXB0cyBvbmx5IHVuc2ln
bmVkIHZhbHVlcwotICAgICAgfQotICAgICAgYXNzZXJ0KGNvZGUgPT0gMCwgImdldFN1YlN0cmlu
Z0xlbmd0aCAjNCBkaWRuJ3QgdGhyb3cgZXhjZXB0aW9uLiIpOwotICAgICAgYXNzZXJ0RXF1YWxz
KHRleHQuZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcigwKS54LCAwLCAiZ2V0U3RhcnRQb3NpdGlvbk9m
Q2hhcigwKS54IHJldHVybmVkIGludmFsaWQgdmFsdWUuIik7Ci0gICAgICBhc3NlcnRFcXVhbHMo
dGV4dC5nZXRTdGFydFBvc2l0aW9uT2ZDaGFyKDEpLngsIDQyLCAiZ2V0U3RhcnRQb3NpdGlvbk9m
Q2hhcigxKS54IHJldHVybmVkIGludmFsaWQgdmFsdWUuIik7Ci0gICAgICBhc3NlcnRFcXVhbHMo
dGV4dC5nZXRTdGFydFBvc2l0aW9uT2ZDaGFyKDIpLngsIDQyKzIzLCAiZ2V0U3RhcnRQb3NpdGlv
bk9mQ2hhcigyKS54IHJldHVybmVkIGludmFsaWQgdmFsdWUuIik7Ci0gICAgICBhc3NlcnRFcXVh
bHModGV4dC5nZXRTdGFydFBvc2l0aW9uT2ZDaGFyKDApLnksIDQwMDAsICJnZXRTdGFydFBvc2l0
aW9uT2ZDaGFyKDApLnkgcmV0dXJuZWQgaW52YWxpZCB2YWx1ZS4iKTsKLSAgICAgIGNvZGUgPSAt
MTAwMDsKLSAgICAgIHRyeSB7Ci0gICAgICAgIHZhciB2YWwgPSB0ZXh0LmdldFN0YXJ0UG9zaXRp
b25PZkNoYXIoLTEpOwotICAgICAgfSBjYXRjaChlKSB7Ci0gICAgICAgIGNvZGUgPSAwOyAvLyBu
ZWdhdGl2ZSB2YWx1ZXMgbWlnaHQgdGhyb3cgbmF0aXZlIGV4Y2VwdGlvbiBzaW5jZSB0aGUgYXBp
IGFjY2VwdHMgb25seSB1bnNpZ25lZCB2YWx1ZXMKLSAgICAgIH0KLSAgICAgIGFzc2VydChjb2Rl
ID09IDAsICJnZXRTdGFydFBvc2l0aW9uT2ZDaGFyICMxIGV4Y2VwdGlvbiBmYWlsZWQuIik7Ci0g
ICAgICBjb2RlID0gLTEwMDA7Ci0gICAgICB0cnkgewotICAgICAgICB2YXIgdmFsID0gdGV4dC5n
ZXRTdGFydFBvc2l0aW9uT2ZDaGFyKDQpOwotICAgICAgfSBjYXRjaChlKSB7Ci0gICAgICAgIGNv
ZGUgPSBlLmNvZGU7Ci0gICAgICB9Ci0gICAgICBhc3NlcnRFcXVhbHMoY29kZSwgRE9NRXhjZXB0
aW9uLklOREVYX1NJWkVfRVJSLCAiZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhciAjMiBleGNlcHRpb24g
ZmFpbGVkLiIpOwotICAgICAgYXNzZXJ0RXF1YWxzKHRleHQuZ2V0RW5kUG9zaXRpb25PZkNoYXIo
MCkueCwgNDIsICJnZXRFbmRQb3NpdGlvbk9mQ2hhcigwKS54IHJldHVybmVkIGludmFsaWQgdmFs
dWUuIik7Ci0gICAgICBhc3NlcnRFcXVhbHModGV4dC5nZXRFbmRQb3NpdGlvbk9mQ2hhcigxKS54
LCA0MisyMywgImdldEVuZFBvc2l0aW9uT2ZDaGFyKDEpLnggcmV0dXJuZWQgaW52YWxpZCB2YWx1
ZS4iKTsKLSAgICAgIGFzc2VydEVxdWFscyh0ZXh0LmdldEVuZFBvc2l0aW9uT2ZDaGFyKDIpLngs
IDQyKzIzKzQ3MTEsICJnZXRFbmRQb3NpdGlvbk9mQ2hhcigyKS54IHJldHVybmVkIGludmFsaWQg
dmFsdWUuIik7Ci0gICAgICBjb2RlID0gLTEwMDA7Ci0gICAgICB0cnkgewotICAgICAgICB2YXIg
dmFsID0gdGV4dC5nZXRFbmRQb3NpdGlvbk9mQ2hhcigtMTcpOwotICAgICAgfSBjYXRjaChlKSB7
Ci0gICAgICAgIGNvZGUgPSAwOyAvLyBuZWdhdGl2ZSB2YWx1ZXMgbWlnaHQgdGhyb3cgbmF0aXZl
IGV4Y2VwdGlvbiBzaW5jZSB0aGUgYXBpIGFjY2VwdHMgb25seSB1bnNpZ25lZCB2YWx1ZXMKLSAg
ICAgIH0KLSAgICAgIGFzc2VydChjb2RlID09IDAsICJnZXRFbmRQb3NpdGlvbk9mQ2hhciAjMSBl
eGNlcHRpb24gZmFpbGVkLiIpOwotICAgICAgY29kZSA9IC0xMDAwOwotICAgICAgdHJ5IHsKLSAg
ICAgICAgdmFyIHZhbCA9IHRleHQuZ2V0RW5kUG9zaXRpb25PZkNoYXIoNCk7Ci0gICAgICB9IGNh
dGNoKGUpIHsKLSAgICAgICAgY29kZSA9IGUuY29kZTsKLSAgICAgIH0KLSAgICAgIGFzc2VydEVx
dWFscyhjb2RlLCBET01FeGNlcHRpb24uSU5ERVhfU0laRV9FUlIsICJnZXRFbmRQb3NpdGlvbk9m
Q2hhciAjMiBleGNlcHRpb24gZmFpbGVkLiIpOworLy8gICAgICBhc3NlcnRFcXVhbHModGV4dC5n
ZXRDb21wdXRlZFRleHRMZW5ndGgoKSwgNDcxMSs0MisyMywgImdldENvbXB1dGVkVGV4dExlbmd0
aCBmYWlsZWQuIik7CisvLyAgICAgIGFzc2VydEVxdWFscyh0ZXh0LmdldFN1YlN0cmluZ0xlbmd0
aCgwLDEpLCA0MiwgImdldFN1YlN0cmluZ0xlbmd0aCAjMSBmYWlsZWQuIik7CisvLyAgICAgIGFz
c2VydEVxdWFscyh0ZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgwLDIpLCA0MisyMywgImdldFN1YlN0
cmluZ0xlbmd0aCAjMiBmYWlsZWQuIik7CisvLyAgICAgIGFzc2VydEVxdWFscyh0ZXh0LmdldFN1
YlN0cmluZ0xlbmd0aCgxLDEpLCAyMywgImdldFN1YlN0cmluZ0xlbmd0aCAjMyBmYWlsZWQuIik7
CisvLyAgICAgIGFzc2VydEVxdWFscyh0ZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgxLDApLCAwLCAi
Z2V0U3ViU3RyaW5nTGVuZ3RoICM0IGZhaWxlZC4iKTsKKy8vLyogQ09NTUVOVEVEIE9VVCBCRUNB
VVNFIFNWR1dHIEtFRVBTIENIQU5HSU5HIFRISVMKKy8vICogICAgIHZhciBjb2RlID0gLTEwMDA7
CisvLyAqICAgICB0cnkgeworLy8gKiAgICAgICB2YXIgc2wgPSB0ZXh0LmdldFN1YlN0cmluZ0xl
bmd0aCgxLDMpOworLy8gKiAgICAgfSBjYXRjaChlKSB7CisvLyAqICAgICAgIGNvZGUgPSBlLmNv
ZGU7CisvLyAqICAgICB9CisvLyAqICAgICBhc3NlcnRFcXVhbHMoY29kZSwgRE9NRXhjZXB0aW9u
LklOREVYX1NJWkVfRVJSLCAiZ2V0U3ViU3RyaW5nTGVuZ3RoICMxIGRpZG4ndCB0aHJvdyBleGNl
cHRpb24uIik7CisvLyAqICAgICBjb2RlID0gLTEwMDA7CisvLyAqICAgICB0cnkgeworLy8gKiAg
ICAgICB2YXIgc2wgPSB0ZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgwLDQpOworLy8gKiAgICAgfSBj
YXRjaChlKSB7CisvLyAqICAgICAgIGNvZGUgPSBlLmNvZGU7CisvLyAqICAgICB9CisvLyAqICAg
ICBhc3NlcnRFcXVhbHMoY29kZSwgRE9NRXhjZXB0aW9uLklOREVYX1NJWkVfRVJSLCAiZ2V0U3Vi
U3RyaW5nTGVuZ3RoICMyIGRpZG4ndCB0aHJvdyBleGNlcHRpb24uIik7CisvLyAqICAgICBjb2Rl
ID0gLTEwMDA7CisvLyAqICAgICB0cnkgeworLy8gKiAgICAgICB2YXIgc2wgPSB0ZXh0LmdldFN1
YlN0cmluZ0xlbmd0aCgzLDApOworLy8gKiAgICAgfSBjYXRjaChlKSB7CisvLyAqICAgICAgIGNv
ZGUgPSBlLmNvZGU7CisvLyAqICAgICB9CisvLyAqICAgICBhc3NlcnRFcXVhbHMoY29kZSwgRE9N
RXhjZXB0aW9uLklOREVYX1NJWkVfRVJSLCAiZ2V0U3ViU3RyaW5nTGVuZ3RoICMzIGRpZG4ndCB0
aHJvdyBleGNlcHRpb24uIik7CisvLyAqLworLy8gICAgICBjb2RlID0gLTEwMDA7CisvLyAgICAg
IHRyeSB7CisvLyAgICAgICAgdmFyIHNsID0gdGV4dC5nZXRTdWJTdHJpbmdMZW5ndGgoLTE3LDIw
KTsKKy8vICAgICAgfSBjYXRjaChlKSB7CisvLyAgICAgICAgY29kZSA9IDA7IC8vIG5lZ2F0aXZl
IHZhbHVlcyBtaWdodCB0aHJvdyBuYXRpdmUgZXhjZXB0aW9uIHNpbmNlIHRoZSBhcGkgYWNjZXB0
cyBvbmx5IHVuc2lnbmVkIHZhbHVlcworLy8gICAgICB9CisvLyAgICAgIGFzc2VydChjb2RlID09
IDAsICJnZXRTdWJTdHJpbmdMZW5ndGggIzQgZGlkbid0IHRocm93IGV4Y2VwdGlvbi4iKTsKKy8v
ICAgICAgYXNzZXJ0RXF1YWxzKHRleHQuZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcigwKS54LCAwLCAi
Z2V0U3RhcnRQb3NpdGlvbk9mQ2hhcigwKS54IHJldHVybmVkIGludmFsaWQgdmFsdWUuIik7Cisv
LyAgICAgIGFzc2VydEVxdWFscyh0ZXh0LmdldFN0YXJ0UG9zaXRpb25PZkNoYXIoMSkueCwgNDIs
ICJnZXRTdGFydFBvc2l0aW9uT2ZDaGFyKDEpLnggcmV0dXJuZWQgaW52YWxpZCB2YWx1ZS4iKTsK
Ky8vICAgICAgYXNzZXJ0RXF1YWxzKHRleHQuZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcigyKS54LCA0
MisyMywgImdldFN0YXJ0UG9zaXRpb25PZkNoYXIoMikueCByZXR1cm5lZCBpbnZhbGlkIHZhbHVl
LiIpOworLy8gICAgICBhc3NlcnRFcXVhbHModGV4dC5nZXRTdGFydFBvc2l0aW9uT2ZDaGFyKDAp
LnksIDQwMDAsICJnZXRTdGFydFBvc2l0aW9uT2ZDaGFyKDApLnkgcmV0dXJuZWQgaW52YWxpZCB2
YWx1ZS4iKTsKKy8vICAgICAgY29kZSA9IC0xMDAwOworLy8gICAgICB0cnkgeworLy8gICAgICAg
IHZhciB2YWwgPSB0ZXh0LmdldFN0YXJ0UG9zaXRpb25PZkNoYXIoLTEpOworLy8gICAgICB9IGNh
dGNoKGUpIHsKKy8vICAgICAgICBjb2RlID0gMDsgLy8gbmVnYXRpdmUgdmFsdWVzIG1pZ2h0IHRo
cm93IG5hdGl2ZSBleGNlcHRpb24gc2luY2UgdGhlIGFwaSBhY2NlcHRzIG9ubHkgdW5zaWduZWQg
dmFsdWVzCisvLyAgICAgIH0KKy8vICAgICAgYXNzZXJ0KGNvZGUgPT0gMCwgImdldFN0YXJ0UG9z
aXRpb25PZkNoYXIgIzEgZXhjZXB0aW9uIGZhaWxlZC4iKTsKKy8vICAgICAgY29kZSA9IC0xMDAw
OworLy8gICAgICB0cnkgeworLy8gICAgICAgIHZhciB2YWwgPSB0ZXh0LmdldFN0YXJ0UG9zaXRp
b25PZkNoYXIoNCk7CisvLyAgICAgIH0gY2F0Y2goZSkgeworLy8gICAgICAgIGNvZGUgPSBlLmNv
ZGU7CisvLyAgICAgIH0KKy8vICAgICAgYXNzZXJ0RXF1YWxzKGNvZGUsIERPTUV4Y2VwdGlvbi5J
TkRFWF9TSVpFX0VSUiwgImdldFN0YXJ0UG9zaXRpb25PZkNoYXIgIzIgZXhjZXB0aW9uIGZhaWxl
ZC4iKTsKKy8vICAgICAgYXNzZXJ0RXF1YWxzKHRleHQuZ2V0RW5kUG9zaXRpb25PZkNoYXIoMCku
eCwgNDIsICJnZXRFbmRQb3NpdGlvbk9mQ2hhcigwKS54IHJldHVybmVkIGludmFsaWQgdmFsdWUu
Iik7CisvLyAgICAgIGFzc2VydEVxdWFscyh0ZXh0LmdldEVuZFBvc2l0aW9uT2ZDaGFyKDEpLngs
IDQyKzIzLCAiZ2V0RW5kUG9zaXRpb25PZkNoYXIoMSkueCByZXR1cm5lZCBpbnZhbGlkIHZhbHVl
LiIpOworLy8gICAgICBhc3NlcnRFcXVhbHModGV4dC5nZXRFbmRQb3NpdGlvbk9mQ2hhcigyKS54
LCA0MisyMys0NzExLCAiZ2V0RW5kUG9zaXRpb25PZkNoYXIoMikueCByZXR1cm5lZCBpbnZhbGlk
IHZhbHVlLiIpOworLy8gICAgICBjb2RlID0gLTEwMDA7CisvLyAgICAgIHRyeSB7CisvLyAgICAg
ICAgdmFyIHZhbCA9IHRleHQuZ2V0RW5kUG9zaXRpb25PZkNoYXIoLTE3KTsKKy8vICAgICAgfSBj
YXRjaChlKSB7CisvLyAgICAgICAgY29kZSA9IDA7IC8vIG5lZ2F0aXZlIHZhbHVlcyBtaWdodCB0
aHJvdyBuYXRpdmUgZXhjZXB0aW9uIHNpbmNlIHRoZSBhcGkgYWNjZXB0cyBvbmx5IHVuc2lnbmVk
IHZhbHVlcworLy8gICAgICB9CisvLyAgICAgIGFzc2VydChjb2RlID09IDAsICJnZXRFbmRQb3Np
dGlvbk9mQ2hhciAjMSBleGNlcHRpb24gZmFpbGVkLiIpOworLy8gICAgICBjb2RlID0gLTEwMDA7
CisvLyAgICAgIHRyeSB7CisvLyAgICAgICAgdmFyIHZhbCA9IHRleHQuZ2V0RW5kUG9zaXRpb25P
ZkNoYXIoNCk7CisvLyAgICAgIH0gY2F0Y2goZSkgeworLy8gICAgICAgIGNvZGUgPSBlLmNvZGU7
CisvLyAgICAgIH0KKy8vICAgICAgYXNzZXJ0RXF1YWxzKGNvZGUsIERPTUV4Y2VwdGlvbi5JTkRF
WF9TSVpFX0VSUiwgImdldEVuZFBvc2l0aW9uT2ZDaGFyICMyIGV4Y2VwdGlvbiBmYWlsZWQuIik7
CiAgICAgICByZXR1cm4gNTsKICAgICB9LAogICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgIC8vIHRl
c3QgNzg6IFNWRyB0ZXh0UGF0aCBhbmQgZ2V0Um90YXRpb25PZkNoYXIoKSwgZnJvbSBFcmlrIERh
aGxzdHJvbQotICAgICAgLy8KLSAgICAgIC8vIFRoZSBnZXRSb3RhdGlvbk9mQ2hhcls0XSBtZXRo
b2QgZmV0Y2hlcyB0aGUgbWlkcG9pbnQgcm90YXRpb24KLSAgICAgIC8vIG9mIGEgZ2x5cGggZGVm
aW5lZCBieSBhIGNoYXJhY3RlciAoaW4gdGhpcyB0ZXN0Y2FzZSB0aGVyZSBpcwotICAgICAgLy8g
YSBzaW1wbGUgMToxIGNvcnJlc3BvbmRlbmNlIGJldHdlZW4gdGhlIHR3bykuIFRoZSBwYXRoIGlz
Ci0gICAgICAvLyBkZWZpbmVkIGluIHRoZSByZXNvdXJjZXMvYWNpZDMvc3ZnLnhtbCBmaWxlLCBh
bmQgY29uc2lzdHMgb2YgZmlyc3QgYSBsaW5lCi0gICAgICAvLyBnb2luZyBkb3duLCB0aGVuIGZv
bGxvd2VkIGJ5IGEgbGluZSB0aGF0IGhhcyBhIDQ1IGRlZ3JlZQotICAgICAgLy8gc2xvcGUgYW5k
IHRoZW4gZm9sbG93ZWQgYnkgYSBob3Jpem9udGFsIGxpbmUuIFRoZSBsZW5ndGggb2YKLSAgICAg
IC8vIGVhY2ggcGF0aCBzZWdtZW50IGhhdmUgYmVlbiBwYWlyZWQgd2l0aCB0aGUgYWR2YW5jZSBv
ZiBlYWNoCi0gICAgICAvLyBnbHlwaCwgc28gdGhhdCBlYWNoIGdseXBoIHdpbGwgYmUgb24gZWFj
aCBvZiB0aGUgdGhyZWUKLSAgICAgIC8vIGRpZmZlcmVudCBwYXRoIHNlZ21lbnRzIChzZWUgdGV4
dCBvbiBhIHBhdGggbGF5b3V0IHJ1bGVzWzVdKS4KLSAgICAgIC8vIFRodXMgdGhlIHJvdGF0aW9u
IG9mIHRoZSBmaXJzdCBnbHlwaCBpcyA5MCBkZWdyZWVzLCB0aGUKLSAgICAgIC8vIHNlY29uZCA0
NSBkZWdyZWVzIGFuZCB0aGUgdGhpcmQgMCBkZWdyZWVzLgotICAgICAgLy8KLSAgICAgIC8vIFs0
XSBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS90ZXh0Lmh0bWwjSW50ZXJmYWNlU1ZHVGV4dENv
bnRlbnRFbGVtZW50Ci0gICAgICAvLyBbNV0gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvdGV4
dC5odG1sI1RleHRwYXRoTGF5b3V0UnVsZXMKLQorLy8gICAgICAvLyB0ZXN0IDc4OiBTVkcgdGV4
dFBhdGggYW5kIGdldFJvdGF0aW9uT2ZDaGFyKCksIGZyb20gRXJpayBEYWhsc3Ryb20KKy8vICAg
ICAgLy8KKy8vICAgICAgLy8gVGhlIGdldFJvdGF0aW9uT2ZDaGFyWzRdIG1ldGhvZCBmZXRjaGVz
IHRoZSBtaWRwb2ludCByb3RhdGlvbgorLy8gICAgICAvLyBvZiBhIGdseXBoIGRlZmluZWQgYnkg
YSBjaGFyYWN0ZXIgKGluIHRoaXMgdGVzdGNhc2UgdGhlcmUgaXMKKy8vICAgICAgLy8gYSBzaW1w
bGUgMToxIGNvcnJlc3BvbmRlbmNlIGJldHdlZW4gdGhlIHR3bykuIFRoZSBwYXRoIGlzCisvLyAg
ICAgIC8vIGRlZmluZWQgaW4gdGhlIHJlc291cmNlcy9hY2lkMy9zdmcueG1sIGZpbGUsIGFuZCBj
b25zaXN0cyBvZiBmaXJzdCBhIGxpbmUKKy8vICAgICAgLy8gZ29pbmcgZG93biwgdGhlbiBmb2xs
b3dlZCBieSBhIGxpbmUgdGhhdCBoYXMgYSA0NSBkZWdyZWUKKy8vICAgICAgLy8gc2xvcGUgYW5k
IHRoZW4gZm9sbG93ZWQgYnkgYSBob3Jpem9udGFsIGxpbmUuIFRoZSBsZW5ndGggb2YKKy8vICAg
ICAgLy8gZWFjaCBwYXRoIHNlZ21lbnQgaGF2ZSBiZWVuIHBhaXJlZCB3aXRoIHRoZSBhZHZhbmNl
IG9mIGVhY2gKKy8vICAgICAgLy8gZ2x5cGgsIHNvIHRoYXQgZWFjaCBnbHlwaCB3aWxsIGJlIG9u
IGVhY2ggb2YgdGhlIHRocmVlCisvLyAgICAgIC8vIGRpZmZlcmVudCBwYXRoIHNlZ21lbnRzIChz
ZWUgdGV4dCBvbiBhIHBhdGggbGF5b3V0IHJ1bGVzWzVdKS4KKy8vICAgICAgLy8gVGh1cyB0aGUg
cm90YXRpb24gb2YgdGhlIGZpcnN0IGdseXBoIGlzIDkwIGRlZ3JlZXMsIHRoZQorLy8gICAgICAv
LyBzZWNvbmQgNDUgZGVncmVlcyBhbmQgdGhlIHRoaXJkIDAgZGVncmVlcy4KKy8vICAgICAgLy8K
Ky8vICAgICAgLy8gWzRdIGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL3RleHQuaHRtbCNJbnRl
cmZhY2VTVkdUZXh0Q29udGVudEVsZW1lbnQKKy8vICAgICAgLy8gWzVdIGh0dHA6Ly93d3cudzMu
b3JnL1RSL1NWRzExL3RleHQuaHRtbCNUZXh0cGF0aExheW91dFJ1bGVzCisvLwogICAgICAgdmFy
IHN2Z25zID0gImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjsKLSAgICAgIHZhciB4bGlua25z
ID0gImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiOworLy8gICAgICB2YXIgeGxpbmtucyA9
ICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIjsKICAgICAgIHZhciBzdmdkb2MgPSBrdW5n
RnVEZWF0aEdyaXAuZmlyc3RDaGlsZC5jb250ZW50RG9jdW1lbnQ7CiAgICAgICBhc3NlcnQoc3Zn
ZG9jLCAiY29udGVudERvY3VtZW50IGZhaWxlZCBvbiA8b2JqZWN0PiBmb3Igc3ZnIGRvY3VtZW50
LiIpOwogICAgICAgdmFyIHN2ZyA9IHN2Z2RvYy5kb2N1bWVudEVsZW1lbnQ7Ci0gICAgICB2YXIg
dGV4dCA9IHN2Z2RvYy5jcmVhdGVFbGVtZW50TlMoc3ZnbnMsICJ0ZXh0Iik7Ci0gICAgICB0ZXh0
LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjQwMDAiKTsKLSAgICAgIHRleHQuc2V0QXR0cmli
dXRlKCJmb250LWZhbWlseSIsICJBQ0lEM3N2Z2ZvbnQiKTsKLSAgICAgIHZhciB0ZXh0cGF0aCA9
IHN2Z2RvYy5jcmVhdGVFbGVtZW50TlMoc3ZnbnMsICJ0ZXh0UGF0aCIpOwotICAgICAgdGV4dHBh
dGguc2V0QXR0cmlidXRlTlMoeGxpbmtucywgInhsaW5rOmhyZWYiLCAiI3BhdGgiKTsKLSAgICAg
IHZhciB0ZXh0Q29udGVudCA9IHN2Z2RvYy5jcmVhdGVUZXh0Tm9kZSgiYWJjIik7Ci0gICAgICB0
ZXh0cGF0aC5hcHBlbmRDaGlsZCh0ZXh0Q29udGVudCk7Ci0gICAgICB0ZXh0LmFwcGVuZENoaWxk
KHRleHRwYXRoKTsKLSAgICAgIHN2Zy5hcHBlbmRDaGlsZCh0ZXh0KTsKLSAgICAgIGFzc2VydEVx
dWFscyh0ZXh0LmdldFJvdGF0aW9uT2ZDaGFyKDApLCA5MCwgImdldFJvdGF0aW9uT2ZDaGFyKDAp
IGZhaWxlZC4iKTsKLSAgICAgIGFzc2VydEVxdWFscyh0ZXh0LmdldFJvdGF0aW9uT2ZDaGFyKDEp
LCA0NSwgImdldFJvdGF0aW9uT2ZDaGFyKDEpIGZhaWxlZC4iKTsKLSAgICAgIGFzc2VydEVxdWFs
cyh0ZXh0LmdldFJvdGF0aW9uT2ZDaGFyKDIpLCAwLCAiZ2V0Um90YXRpb25PZkNoYXIoMikgZmFp
bGVkLiIpOwotICAgICAgdmFyIGNvZGUgPSAtMTAwMDsKLSAgICAgIHRyeSB7Ci0gICAgICAgIHZh
ciB2YWwgPSB0ZXh0LmdldFJvdGF0aW9uT2ZDaGFyKC0xKQotICAgICAgfSBjYXRjaChlKSB7Ci0g
ICAgICAgIGNvZGUgPSBlLmNvZGU7Ci0gICAgICB9Ci0gICAgICBhc3NlcnRFcXVhbHMoY29kZSwg
RE9NRXhjZXB0aW9uLklOREVYX1NJWkVfRVJSLCAiZ2V0Um90YXRpb25PZkNoYXIgIzEgZXhjZXB0
aW9uIGZhaWxlZC4iKTsKLSAgICAgIGNvZGUgPSAtMTAwMDsKLSAgICAgIHRyeSB7Ci0gICAgICAg
IHZhciB2YWwgPSB0ZXh0LmdldFJvdGF0aW9uT2ZDaGFyKDQpCi0gICAgICB9IGNhdGNoKGUpIHsK
LSAgICAgICAgY29kZSA9IGUuY29kZTsKLSAgICAgIH0KLSAgICAgIGFzc2VydEVxdWFscyhjb2Rl
LCBET01FeGNlcHRpb24uSU5ERVhfU0laRV9FUlIsICJnZXRSb3RhdGlvbk9mQ2hhciAjMiBleGNl
cHRpb24gZmFpbGVkLiIpOworLy8gICAgICB2YXIgdGV4dCA9IHN2Z2RvYy5jcmVhdGVFbGVtZW50
TlMoc3ZnbnMsICJ0ZXh0Iik7CisvLyAgICAgIHRleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUi
LCAiNDAwMCIpOworLy8gICAgICB0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1mYW1pbHkiLCAiQUNJ
RDNzdmdmb250Iik7CisvLyAgICAgIHZhciB0ZXh0cGF0aCA9IHN2Z2RvYy5jcmVhdGVFbGVtZW50
TlMoc3ZnbnMsICJ0ZXh0UGF0aCIpOworLy8gICAgICB0ZXh0cGF0aC5zZXRBdHRyaWJ1dGVOUyh4
bGlua25zLCAieGxpbms6aHJlZiIsICIjcGF0aCIpOworLy8gICAgICB2YXIgdGV4dENvbnRlbnQg
PSBzdmdkb2MuY3JlYXRlVGV4dE5vZGUoImFiYyIpOworLy8gICAgICB0ZXh0cGF0aC5hcHBlbmRD
aGlsZCh0ZXh0Q29udGVudCk7CisvLyAgICAgIHRleHQuYXBwZW5kQ2hpbGQodGV4dHBhdGgpOwor
Ly8gICAgICBzdmcuYXBwZW5kQ2hpbGQodGV4dCk7CisvLyAgICAgIGFzc2VydEVxdWFscyh0ZXh0
LmdldFJvdGF0aW9uT2ZDaGFyKDApLCA5MCwgImdldFJvdGF0aW9uT2ZDaGFyKDApIGZhaWxlZC4i
KTsKKy8vICAgICAgYXNzZXJ0RXF1YWxzKHRleHQuZ2V0Um90YXRpb25PZkNoYXIoMSksIDQ1LCAi
Z2V0Um90YXRpb25PZkNoYXIoMSkgZmFpbGVkLiIpOworLy8gICAgICBhc3NlcnRFcXVhbHModGV4
dC5nZXRSb3RhdGlvbk9mQ2hhcigyKSwgMCwgImdldFJvdGF0aW9uT2ZDaGFyKDIpIGZhaWxlZC4i
KTsKKy8vICAgICAgdmFyIGNvZGUgPSAtMTAwMDsKKy8vICAgICAgdHJ5IHsKKy8vICAgICAgICB2
YXIgdmFsID0gdGV4dC5nZXRSb3RhdGlvbk9mQ2hhcigtMSkKKy8vICAgICAgfSBjYXRjaChlKSB7
CisvLyAgICAgICAgY29kZSA9IGUuY29kZTsKKy8vICAgICAgfQorLy8gICAgICBhc3NlcnRFcXVh
bHMoY29kZSwgRE9NRXhjZXB0aW9uLklOREVYX1NJWkVfRVJSLCAiZ2V0Um90YXRpb25PZkNoYXIg
IzEgZXhjZXB0aW9uIGZhaWxlZC4iKTsKKy8vICAgICAgY29kZSA9IC0xMDAwOworLy8gICAgICB0
cnkgeworLy8gICAgICAgIHZhciB2YWwgPSB0ZXh0LmdldFJvdGF0aW9uT2ZDaGFyKDQpCisvLyAg
ICAgIH0gY2F0Y2goZSkgeworLy8gICAgICAgIGNvZGUgPSBlLmNvZGU7CisvLyAgICAgIH0KKy8v
ICAgICAgYXNzZXJ0RXF1YWxzKGNvZGUsIERPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUiwgImdl
dFJvdGF0aW9uT2ZDaGFyICMyIGV4Y2VwdGlvbiBmYWlsZWQuIik7CiAgICAgICByZXR1cm4gNTsK
ICAgICB9LAogICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgIC8vIHRlc3QgNzk6IGEgZ2lhbnQgdGVz
dCBmb3IgPHN2Zzpmb250PiwgZnJvbSBDYW1lcm9uIE1jQ29ybWFjawotICAgICAgLy8gVGhpcyB0
ZXN0cyB2YXJpb3VzIGZlYXR1cmVzIG9mIFNWRyBmb250cyBmcm9tIFNWRyAxLjEuICBJdCBjb25z
aXN0cyBvZgotICAgICAgLy8gYSA8dGV4dD4gZWxlbWVudCB3aXRoIDMzIGNoYXJhY3RlcnMsIHN0
eWxlZCB1c2luZyBhbiBTVkcgZm9udCB0aGF0IGhhcwotICAgICAgLy8gZGlmZmVyZW50IGFkdmFu
Y2UgdmFsdWVzIGZvciBlYWNoIGdseXBoLiAgVGhlIHNjcmlwdCB1c2VzCi0gICAgICAvLyBTVkdU
ZXh0RWxlbWVudENvbnRlbnQuZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcigpIHRvIGRldGVybWluZSB3
aGVyZSB0aGUKLSAgICAgIC8vIGdseXBoIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBjaGFyYWN0ZXIg
d2FzIHBsYWNlZCwgYW5kIHRodXMgdG8gd29yayBvdXQKLSAgICAgIC8vIHdoZXRoZXIgdGhlIFNW
RyBmb250IHdhcyB1c2VkIGNvcnJlY3RseS4KLSAgICAgIC8vCi0gICAgICAvLyBUaGUgZm9udCB1
c2VzIDEwMCB1bml0cyBwZXIgZW0sIGFuZCB0aGUgdGV4dCBpcyBzZXQgaW4gMTAwcHguICBTaW5j
ZQotICAgICAgLy8gZm9udC1zaXplIGdpdmVzIHRoZSBzaXplIG9mIHRoZSBlbSBib3gKLSAgICAg
IC8vIChodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS90ZXh0Lmh0bWwjRE9NSW50ZXJmYWNlcyks
IHRoZSBzY2FsZSBvZiB0aGUKLSAgICAgIC8vIGNvb3JkaW5hdGUgc3lzdGVtIGZvciB0aGUgZ2x5
cGhzIGlzIHRoZSBzYW1lIGFzIHRoZSBTVkcgZG9jdW1lbnQuCi0gICAgICAvLwotICAgICAgLy8g
VGhlIGV4cGVjdGVkQWR2YW5jZXMgYXJyYXkgaG9sZHMgdGhlIGV4cGVjdGVkIGFkdmFuY2UgdmFs
dWUgZm9yIGVhY2gKLSAgICAgIC8vIGNoYXJhY3RlciwgYW5kIGV4cGVjdGVkS2VybmluZyBob2xk
cyB0aGUgKG5lZ2F0aXZlKSBrZXJuaW5nIGZvciBlYWNoCi0gICAgICAvLyBjaGFyYWN0ZXIuICBn
ZXRQb3NpdGlvbk9mQ2hhcigpIHJldHVybnMgdGhlIGFjdHVhbCB4IGNvb3JkaW5hdGUgZm9yIHRo
ZQotICAgICAgLy8gZ2x5cGgsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuIGNoYXJhY3Rlciwg
YW5kIGlmIG11bHRpcGxlIGNoYXJhY3RlcnMKLSAgICAgIC8vIGNvcnJlc3BvbmQgdG8gdGhlIHNh
bWUgZ2x5cGgsIHRoZSBzYW1lIHBvc2l0aW9uIHZhbHVlIGlzIHJldHVybmVkIGZvcgotICAgICAg
Ly8gZWFjaCBvZiB0aG9zZSBjaGFyYWN0ZXJzLgotICAgICAgLy8KLSAgICAgIC8vIEhlcmUgYXJl
IHRoZSByZWFzb25pbmdzIGZvciB0aGUgYWR2YW5jZS9rZXJuaW5nIHZhbHVlcy4gIE5vdGUgdGhh
dCBmb3IKLSAgICAgIC8vIGEgZ2l2ZW4gY2hhcmFjdGVyIGF0IGluZGV4IGksIHRoZSBleHBlY3Rl
ZCBwb3NpdGlvbiBpcwotICAgICAgLy8gc3VtKGV4cGVjdGVkQWR2YW5jZXNbMDppLTFdICsgZXhw
ZWN0ZWRLZXJuaW5nWzA6aS0xXSkuCi0gICAgICAvLwotICAgICAgLy8gY2hhciAgICAgYWR2YW5j
ZSAga2VybmluZyAgcmVhc29uaW5nCi0gICAgICAvLyAtLS0tLS0tICAtLS0tLS0tICAtLS0tLS0t
ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAg
ICAgLy8gQSAgICAgICAgMTAwMDAgICAgMCAgICAgICAgTm9ybWFsIGNoYXJhY3RlciBtYXBwaW5n
IHRvIGEgc2luZ2xlIGdseXBoLgotICAgICAgLy8gQiAgICAgICAgMCAgICAgICAgMCAgICAgICAg
Rmlyc3QgY2hhcmFjdGVyIG9mIGEgdHdvIGNoYXJhY3RlciBnbHlwaCwgc28gdGhlCi0gICAgICAv
LyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IHBvc2l0aW9uIGlzbid0IGFkdmFu
Y2VkIHVudGlsIHRoZSBzZWNvbmQKLSAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNoYXJhY3Rlci4KLSAgICAgIC8vIEMgICAgICAgIDIwMCAgICAgIDAgICAgICAgIFNlY29uZCBj
aGFyYWN0ZXIgb2YgYSB0d28gY2hhcmFjdGVyIGdseXBoLCBzbyBub3cKLSAgICAgIC8vICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRoZSBwb3NpdGlvbiBpcyBhZHZhbmNlZC4KLSAgICAgIC8v
IEIgICAgICAgIDMwMCAgICAgIDAgICAgICAgIEFsdGhvdWdoIHRoZXJlIGlzIGEgZ2x5cGggZm9y
ICJCQyIgaW4gdGhlIGZvbnQsCi0gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
dCBhcHBlYXJzIGFmdGVyIHRoZSBnbHlwaCBmb3IgIkIiLCBzbyB0aGUgc2luZ2xlCi0gICAgICAv
LyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXIgZ2x5cGggZm9yICJCIiBzaG91
bGQgYmUgY2hvc2VuIGluc3RlYWQuCi0gICAgICAvLyBEICAgICAgICAxMTAwICAgICAwICAgICAg
ICBOb3JtYWwgY2hhcmFjdGVyIG1hcHBpbmcgdG8gYSBzaW5nbGUgZ2x5cGguCi0gICAgICAvLyBB
ICAgICAgICAxMDAwMCAgICAyMDAgICAgICBLZXJuaW5nIG9mIC0yMDAgaXMgc3BlY2lmaWVkIGlu
IHRoZSBmb250IGJldHdlZW4KLSAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRo
ZSAiQSIgYW5kICJFRSIgZ2x5cGhzLgotICAgICAgLy8gRSAgICAgICAgMCAgICAgICAgMCAgICAg
ICAgVGhlIGZpcnN0IGNoYXJhY3RlciBvZiBhIHR3byBjaGFyYWN0ZXIgZ2x5cGggIkVFIi4KLSAg
ICAgIC8vIEUgICAgICAgIDEzMDAgICAgIDAgICAgICAgIFRoZSBzZWNvbmQgY2hhcmFjdGVyIG9m
IGEgdHdvIGNoYXJhY3RlciBnbHlwaC4KLSAgICAgIC8vIFUgICAgICAgIDAgICAgICAgIDAgICAg
ICAgIFRoaXMgaXMgYSBnbHlwaCBmb3IgdGhlIHNpeCBjaGFyYWN0ZXJzICJVKzAwNDYiLAotICAg
ICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggaGFwcGVuIHRvIGxvb2sgbGlr
ZSBhIHZhbGlkIHVuaWNvZGUgcmFuZ2UuCi0gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBUaGlzIHRlc3RzIHRoYXQgdGhlIDxnbHlwaCB1bmljb2RlPSIiPiBpbiB0aGUKLSAgICAg
IC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQgbWF0Y2hlcyBleGFjdCBzdHJpbmdz
IHJhdGhlciB0aGFuIGEgcmFuZ2UsCi0gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhcyB1c2VkIGluIHRoZSBrZXJuaW5nIGVsZW1lbnRzLgotICAgICAgLy8gKyAgICAgICAgMCAg
ICAgICAgMCAgICAgICAgU2Vjb25kIGNoYXJhY3RlciBvZiBzaXggY2hhcmFjdGVyIGdseXBoLgot
ICAgICAgLy8gMCAgICAgICAgMCAgICAgICAgMCAgICAgICAgVGhpcmQgY2hhcmFjdGVyIG9mIHNp
eCBjaGFyYWN0ZXIgZ2x5cGguCi0gICAgICAvLyAwICAgICAgICAwICAgICAgICAwICAgICAgICBG
b3VydGggY2hhcmFjdGVyIG9mIHNpeCBjaGFyYWN0ZXIgZ2x5cGguCi0gICAgICAvLyA0ICAgICAg
ICAwICAgICAgICAwICAgICAgICBGaWZ0aCBjaGFyYWN0ZXIgb2Ygc2l4IGNoYXJhY3RlciBnbHlw
aC4KLSAgICAgIC8vIDYgICAgICAgIDE3MDAgICAgIDAgICAgICAgIFNpeHRoIGNoYXJhY3RlciBv
ZiBzaXggY2hhcmFjdGVyIGdseXBoLgotICAgICAgLy8gVSAgICAgICAgMCAgICAgICAgMCAgICAg
ICAgVGhlIHNhbWUgc2l4IGNoYXJhY3RlciBnbHlwaCB0aGF0IGxvb2tzIGxpa2UgYQotICAgICAg
Ly8gICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5pY29kZSByYW5nZS4gIE9uZSBvZiB0aGUg
a2VybmluZyBlbGVtZW50cyBoYXMKLSAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHUxPSJVKzAwNDYiIHUyPSJVKzAwNDYiLCB3aGljaCBzaG91bGRuJ3QgbWF0Y2gKLSAgICAgIC8v
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMsIGJlY2F1c2UgdGhvc2UgYXR0cmlidXRl
cyBhcmUgaW50ZXJwcmV0ZWQKLSAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFz
IFVuaWNvZGUgcmFuZ2VzIGlmIHRoZXkgYXJlLCBhbmQgbm9ybWFsCi0gICAgICAvLyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJpbmdzIG90aGVyd2lzZS4gIFRodXMgdGhlcmUgc2hvdWxk
IGJlIG5vCi0gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXJuaW5nIGJldHdl
ZW4gdGhlc2UgdHdvIGdseXBocy4KLSAgICAgIC8vIEcgICAgICAgIDIzMDAgICAgIDIwMCAgICAg
IEtlcm5pbmcgaXMgYmV0d2VlbiB0aGlzIGNoYXJhY3RlciBhbmQgdGhlIG5leHQKLSAgICAgIC8v
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHIiwgc2luY2UgdGhlcmUgaXMgYW4gPGhrZXJu
PiBlbGVtZW50IHRoYXQKLSAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXMg
YSBVbmljb2RlIHJhbmdlIG9uIGl0cyB1MT0iIiBhdHRyaWJ1dGUKLSAgICAgIC8vICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFuZCBhIGdseXBoIG5hbWUgb24gaXRzIGcyPSIiIGF0dHJpYnV0
ZSB3aGljaAotICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90aCBtYXRjaCAi
RyIuCi0gICAgICAvLyBHICAgICAgICAyMzAwICAgICAwICAgICAgICBOb3JtYWwgY2hhcmFjdGVy
IHdpdGgga2VybmluZyBiZWZvcmUgaXQuCi0gICAgICAvLyBIICAgICAgICAzMTAwICAgICAwICAg
ICAgICBBIGdseXBoIHdpdGggZ3JhcGhpY2FsIGNvbnRlbnQgZGVzY3JpYmluZyB0aGUKLSAgICAg
IC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoLCByYXRoZXIgdGhhbiBhIGQ9IiIg
YXR0cmlidXRlLgotICAgICAgLy8gSSAgICAgICAgNDMwMCAgICAgMCAgICAgICAgR2x5cGhzIGFy
ZSBjaGVja2VkIGluIGRvY3VtZW50IG9yZGVyIGZvciBvbmUKLSAgICAgIC8vICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRoYXQgbWF0Y2hlcywgYnV0IHRoZSBmaXJzdCBnbHlwaCB3aXRoCi0g
ICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmljb2RlPSJJIiBhbHNvIGhhcyBs
YW5nPSJ6aCIsIHdoaWNoIGRpc3F1YWxpZmllcwotICAgICAgLy8gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaXQuICBUaHVzIHRoZSBzZWNvbmQgZ2x5cGggd2l0aCB1bmljb2RlPSJJIgotICAg
ICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgY2hvc2VuLgotICAgICAgLy8gSSAg
ICAgICAgNDEwMCAgICAgMCAgICAgICAgU2luY2UgdGhpcyBJIGhhcyB4bWw6bGFuZz0iemgiIG9u
IGl0IGluIHRoZSB0ZXh0LAotICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhl
IGZpcnN0IGdseXBoIHdpdGggbGFuZz0iemgiIG1hdGNoZXMuCi0gICAgICAvLyBKICAgICAgICA0
NzAwICAgICAtNDcwMCAgICBBIG5vcm1hbCBnbHlwaCB3aXRoIGtlcm5pbmcgYmV0d2VlbiB0aGUg
IkoiIGFuZCB0aGUKLSAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHQgZ2x5
cGggIkEiIGVxdWFsIHRvIHRoZSBhZHZhbmNlIG9mIHRoZSAiSiIKLSAgICAgIC8vICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdseXBoLCBzbyB0aGUgcG9zaXRpb24gc2hvdWxkIHN0YXkgdGhl
IHNhbWUuCi0gICAgICAvLyBBICAgICAgICAxMDAwMCAgICAwICAgICAgICBOb3JtYWwgZ2x5cGgg
d2l0aCBrZXJuaW5nIGJlZm9yZSBpdC4KLSAgICAgIC8vIEsgICAgICAgIDU5MDAgICAgIDAgICAg
ICAgIFRoZSBmaXJzdCBnbHlwaCB3aXRoIHVuaWNvZGU9IksiIGRvZXMgbm90IG1hdGNoLAotICAg
ICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2luY2UgaXQgaGFzIG9yaWVudGF0aW9u
PSJ2Iiwgc28gdGhlIHNlY29uZAotICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2x5cGggd2l0aCB1bmljb2RlPSJLIiBpcyBjaG9zZW4uCi0gICAgICAvLyA8c3BjPiAgICA2MTAw
ICAgICAwICAgICAgICBUaGUgc3BhY2UgY2hhcmFjdGVyIHNob3VsZCBzZWxlY3QgdGhlIGdseXBo
IHdpdGgKLSAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWNvZGU9IiAiLCBk
ZXNwaXRlIGl0IGhhdmluZyBhIG1pc2xlYWRpbmcKLSAgICAgIC8vICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdseXBoLW5hbWU9IkwiLgotICAgICAgLy8gTCAgICAgICAgNjcwMCAgICAgMCAg
ICAgICAgVGhlICJMIiBjaGFyYWN0ZXIgc2hvdWxkIHNlbGVjdCB0aGUgZ2x5cGggd2l0aAotICAg
ICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pY29kZT0iICIsIGRlc3BpdGUgaXQg
aGF2aW5nIGEgbWlzbGVhZGluZwotICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2x5cGgtbmFtZT0ic3BhY2V2Ii4KLSAgICAgIC8vIEEgICAgICAgIDI5MDAgICAgIDAgICAgICAg
IEFuIDxhbHRHbHlwaD4gZWxlbWVudCBpcyB1c2VkIHRvIHNlbGVjdCB0aGUKLSAgICAgIC8vICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoIGZvciBVKzEwMDg1IGluc3RlYWQgb2YgdGhl
IG9uZSBmb3IgIkEiLgotICAgICAgLy8gVSsxMDA4NSAgMjkwMCAgICAgMCAgICAgICAgVGVzdHMg
Z2x5cGggc2VsZWN0aW9uIHdpdGggYSBub24tcGxhbmUtMAotICAgICAgLy8gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2hhcmFjdGVyLgotICAgICAgLy8gQSAgICAgICAgMTAwMDAgICAgMCAg
ICAgICAgQSBmaW5hbCBub3JtYWwgY2hhcmFjdGVyLgotICAgICAgLy8KLSAgICAgIC8vIEluIGFk
ZGl0aW9uLCB0aGUgc2NyaXB0IHRlc3RzIHRoZSB2YWx1ZSByZXR1cm5lZCBieQotICAgICAgLy8g
U1ZHVGV4dENvbnRlbnRFbGVtZW50LmdldE51bWJlck9mQ2hhcnMoKSwgd2hpY2ggaW4gdGhpcyBj
YXNlIHNob3VsZCBiZSAzNC4KLSAgICAgIC8vIElmIGl0IHJldHVybmVkIDMzLCB0aGVuIGl0IGlu
Y29ycmVjdGx5IGNvdW50ZWQgVW5pY29kZSBjaGFyYWN0ZXJzIGluc3RlYWQKLSAgICAgIC8vIG9m
IFVURi0xNiBjb2RlcG9pbnRzIChwcm9iYWJseSkuCi0gICAgICAvLwotICAgICAgLy8gU2VlIGh0
dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZvbnRzLmh0bWwgZm9yIGEgZGVzY3JpcHRpb24gb2Yg
dGhlIGdseXBoCi0gICAgICAvLyBtYXRjaGluZyBydWxlcywgYW5kIGh0dHA6Ly93d3cudzMub3Jn
L1RSL1NWRzExL3RleHQuaHRtbCNET01JbnRlcmZhY2VzCi0gICAgICAvLyBmb3IgYSBkZXNjcmlw
dGlvbiBvZiBnZXRTdGFydFBvc2l0aW9uT2ZDaGFyKCkgYW5kIGdldE51bWJlck9mQ2hhcnMoKS4K
LSAgICAgIC8vCi0gICAgICAvLyBOb3RlIGFsc28gdGhhdCB0aGUgdGVzdCB1c2VzIERPTUltcGxl
bWVudGF0aW9uLmNyZWF0ZURvY3VtZW50KCkgdG8gY3JlYXRlCi0gICAgICAvLyB0aGUgU1ZHIGRv
Y3VtZW50LiAgVGhpcyBzZWVtcyB0byBjYXVzZSBicm93c2VycyB0cm91YmxlIGZvciB0aGUgU1ZH
IERPTQotICAgICAgLy8gaW50ZXJmYWNlcywgc2luY2UgdGhlIGRvY3VtZW50IGlzbid0IGJlaW5n
ICJyZW5kZXJlZCIgYXMgaXQgbWlnaHQgYmUKLSAgICAgIC8vIGlmIGl0IHdlcmUgaW4gYW4gPGlm
cmFtZT4uICBDaGFuZ2luZyB0aGUgdGVzdCB0byB1c2UgYW4gPGlmcmFtZT4gd2lsbAotICAgICAg
Ly8gYXQgbGVhc3QgbGV0IHlvdSBzZWUgdGhlIG1haW4gcGFydCBvZiB0aGUgdGVzdCBydW5uaW5n
LgotCisvLyAgICAgIC8vIHRlc3QgNzk6IGEgZ2lhbnQgdGVzdCBmb3IgPHN2Zzpmb250PiwgZnJv
bSBDYW1lcm9uIE1jQ29ybWFjaworLy8gICAgICAvLyBUaGlzIHRlc3RzIHZhcmlvdXMgZmVhdHVy
ZXMgb2YgU1ZHIGZvbnRzIGZyb20gU1ZHIDEuMS4gIEl0IGNvbnNpc3RzIG9mCisvLyAgICAgIC8v
IGEgPHRleHQ+IGVsZW1lbnQgd2l0aCAzMyBjaGFyYWN0ZXJzLCBzdHlsZWQgdXNpbmcgYW4gU1ZH
IGZvbnQgdGhhdCBoYXMKKy8vICAgICAgLy8gZGlmZmVyZW50IGFkdmFuY2UgdmFsdWVzIGZvciBl
YWNoIGdseXBoLiAgVGhlIHNjcmlwdCB1c2VzCisvLyAgICAgIC8vIFNWR1RleHRFbGVtZW50Q29u
dGVudC5nZXRTdGFydFBvc2l0aW9uT2ZDaGFyKCkgdG8gZGV0ZXJtaW5lIHdoZXJlIHRoZQorLy8g
ICAgICAvLyBnbHlwaCBjb3JyZXNwb25kaW5nIHRvIGVhY2ggY2hhcmFjdGVyIHdhcyBwbGFjZWQs
IGFuZCB0aHVzIHRvIHdvcmsgb3V0CisvLyAgICAgIC8vIHdoZXRoZXIgdGhlIFNWRyBmb250IHdh
cyB1c2VkIGNvcnJlY3RseS4KKy8vICAgICAgLy8KKy8vICAgICAgLy8gVGhlIGZvbnQgdXNlcyAx
MDAgdW5pdHMgcGVyIGVtLCBhbmQgdGhlIHRleHQgaXMgc2V0IGluIDEwMHB4LiAgU2luY2UKKy8v
ICAgICAgLy8gZm9udC1zaXplIGdpdmVzIHRoZSBzaXplIG9mIHRoZSBlbSBib3gKKy8vICAgICAg
Ly8gKGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL3RleHQuaHRtbCNET01JbnRlcmZhY2VzKSwg
dGhlIHNjYWxlIG9mIHRoZQorLy8gICAgICAvLyBjb29yZGluYXRlIHN5c3RlbSBmb3IgdGhlIGds
eXBocyBpcyB0aGUgc2FtZSBhcyB0aGUgU1ZHIGRvY3VtZW50LgorLy8gICAgICAvLworLy8gICAg
ICAvLyBUaGUgZXhwZWN0ZWRBZHZhbmNlcyBhcnJheSBob2xkcyB0aGUgZXhwZWN0ZWQgYWR2YW5j
ZSB2YWx1ZSBmb3IgZWFjaAorLy8gICAgICAvLyBjaGFyYWN0ZXIsIGFuZCBleHBlY3RlZEtlcm5p
bmcgaG9sZHMgdGhlIChuZWdhdGl2ZSkga2VybmluZyBmb3IgZWFjaAorLy8gICAgICAvLyBjaGFy
YWN0ZXIuICBnZXRQb3NpdGlvbk9mQ2hhcigpIHJldHVybnMgdGhlIGFjdHVhbCB4IGNvb3JkaW5h
dGUgZm9yIHRoZQorLy8gICAgICAvLyBnbHlwaCwgY29ycmVzcG9uZGluZyB0byB0aGUgZ2l2ZW4g
Y2hhcmFjdGVyLCBhbmQgaWYgbXVsdGlwbGUgY2hhcmFjdGVycworLy8gICAgICAvLyBjb3JyZXNw
b25kIHRvIHRoZSBzYW1lIGdseXBoLCB0aGUgc2FtZSBwb3NpdGlvbiB2YWx1ZSBpcyByZXR1cm5l
ZCBmb3IKKy8vICAgICAgLy8gZWFjaCBvZiB0aG9zZSBjaGFyYWN0ZXJzLgorLy8gICAgICAvLwor
Ly8gICAgICAvLyBIZXJlIGFyZSB0aGUgcmVhc29uaW5ncyBmb3IgdGhlIGFkdmFuY2Uva2Vybmlu
ZyB2YWx1ZXMuICBOb3RlIHRoYXQgZm9yCisvLyAgICAgIC8vIGEgZ2l2ZW4gY2hhcmFjdGVyIGF0
IGluZGV4IGksIHRoZSBleHBlY3RlZCBwb3NpdGlvbiBpcworLy8gICAgICAvLyBzdW0oZXhwZWN0
ZWRBZHZhbmNlc1swOmktMV0gKyBleHBlY3RlZEtlcm5pbmdbMDppLTFdKS4KKy8vICAgICAgLy8K
Ky8vICAgICAgLy8gY2hhciAgICAgYWR2YW5jZSAga2VybmluZyAgcmVhc29uaW5nCisvLyAgICAg
IC8vIC0tLS0tLS0gIC0tLS0tLS0gIC0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyAgICAgIC8vIEEgICAgICAgIDEwMDAwICAgIDAg
ICAgICAgIE5vcm1hbCBjaGFyYWN0ZXIgbWFwcGluZyB0byBhIHNpbmdsZSBnbHlwaC4KKy8vICAg
ICAgLy8gQiAgICAgICAgMCAgICAgICAgMCAgICAgICAgRmlyc3QgY2hhcmFjdGVyIG9mIGEgdHdv
IGNoYXJhY3RlciBnbHlwaCwgc28gdGhlCisvLyAgICAgIC8vICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGN1cnJlbnQgcG9zaXRpb24gaXNuJ3QgYWR2YW5jZWQgdW50aWwgdGhlIHNlY29uZAor
Ly8gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXIuCisvLyAgICAg
IC8vIEMgICAgICAgIDIwMCAgICAgIDAgICAgICAgIFNlY29uZCBjaGFyYWN0ZXIgb2YgYSB0d28g
Y2hhcmFjdGVyIGdseXBoLCBzbyBub3cKKy8vICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhlIHBvc2l0aW9uIGlzIGFkdmFuY2VkLgorLy8gICAgICAvLyBCICAgICAgICAzMDAg
ICAgICAwICAgICAgICBBbHRob3VnaCB0aGVyZSBpcyBhIGdseXBoIGZvciAiQkMiIGluIHRoZSBm
b250LAorLy8gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdCBhcHBlYXJzIGFm
dGVyIHRoZSBnbHlwaCBmb3IgIkIiLCBzbyB0aGUgc2luZ2xlCisvLyAgICAgIC8vICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNoYXJhY3RlciBnbHlwaCBmb3IgIkIiIHNob3VsZCBiZSBjaG9z
ZW4gaW5zdGVhZC4KKy8vICAgICAgLy8gRCAgICAgICAgMTEwMCAgICAgMCAgICAgICAgTm9ybWFs
IGNoYXJhY3RlciBtYXBwaW5nIHRvIGEgc2luZ2xlIGdseXBoLgorLy8gICAgICAvLyBBICAgICAg
ICAxMDAwMCAgICAyMDAgICAgICBLZXJuaW5nIG9mIC0yMDAgaXMgc3BlY2lmaWVkIGluIHRoZSBm
b250IGJldHdlZW4KKy8vICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlICJB
IiBhbmQgIkVFIiBnbHlwaHMuCisvLyAgICAgIC8vIEUgICAgICAgIDAgICAgICAgIDAgICAgICAg
IFRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYSB0d28gY2hhcmFjdGVyIGdseXBoICJFRSIuCisvLyAg
ICAgIC8vIEUgICAgICAgIDEzMDAgICAgIDAgICAgICAgIFRoZSBzZWNvbmQgY2hhcmFjdGVyIG9m
IGEgdHdvIGNoYXJhY3RlciBnbHlwaC4KKy8vICAgICAgLy8gVSAgICAgICAgMCAgICAgICAgMCAg
ICAgICAgVGhpcyBpcyBhIGdseXBoIGZvciB0aGUgc2l4IGNoYXJhY3RlcnMgIlUrMDA0NiIsCisv
LyAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWNoIGhhcHBlbiB0byBsb29r
IGxpa2UgYSB2YWxpZCB1bmljb2RlIHJhbmdlLgorLy8gICAgICAvLyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBUaGlzIHRlc3RzIHRoYXQgdGhlIDxnbHlwaCB1bmljb2RlPSIiPiBpbiB0aGUK
Ky8vICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udCBtYXRjaGVzIGV4YWN0
IHN0cmluZ3MgcmF0aGVyIHRoYW4gYSByYW5nZSwKKy8vICAgICAgLy8gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYXMgdXNlZCBpbiB0aGUga2VybmluZyBlbGVtZW50cy4KKy8vICAgICAgLy8g
KyAgICAgICAgMCAgICAgICAgMCAgICAgICAgU2Vjb25kIGNoYXJhY3RlciBvZiBzaXggY2hhcmFj
dGVyIGdseXBoLgorLy8gICAgICAvLyAwICAgICAgICAwICAgICAgICAwICAgICAgICBUaGlyZCBj
aGFyYWN0ZXIgb2Ygc2l4IGNoYXJhY3RlciBnbHlwaC4KKy8vICAgICAgLy8gMCAgICAgICAgMCAg
ICAgICAgMCAgICAgICAgRm91cnRoIGNoYXJhY3RlciBvZiBzaXggY2hhcmFjdGVyIGdseXBoLgor
Ly8gICAgICAvLyA0ICAgICAgICAwICAgICAgICAwICAgICAgICBGaWZ0aCBjaGFyYWN0ZXIgb2Yg
c2l4IGNoYXJhY3RlciBnbHlwaC4KKy8vICAgICAgLy8gNiAgICAgICAgMTcwMCAgICAgMCAgICAg
ICAgU2l4dGggY2hhcmFjdGVyIG9mIHNpeCBjaGFyYWN0ZXIgZ2x5cGguCisvLyAgICAgIC8vIFUg
ICAgICAgIDAgICAgICAgIDAgICAgICAgIFRoZSBzYW1lIHNpeCBjaGFyYWN0ZXIgZ2x5cGggdGhh
dCBsb29rcyBsaWtlIGEKKy8vICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5p
Y29kZSByYW5nZS4gIE9uZSBvZiB0aGUga2VybmluZyBlbGVtZW50cyBoYXMKKy8vICAgICAgLy8g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdTE9IlUrMDA0NiIgdTI9IlUrMDA0NiIsIHdoaWNo
IHNob3VsZG4ndCBtYXRjaAorLy8gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
aGlzLCBiZWNhdXNlIHRob3NlIGF0dHJpYnV0ZXMgYXJlIGludGVycHJldGVkCisvLyAgICAgIC8v
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIFVuaWNvZGUgcmFuZ2VzIGlmIHRoZXkgYXJl
LCBhbmQgbm9ybWFsCisvLyAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlu
Z3Mgb3RoZXJ3aXNlLiAgVGh1cyB0aGVyZSBzaG91bGQgYmUgbm8KKy8vICAgICAgLy8gICAgICAg
ICAgICAgICAgICAgICAgICAgICAga2VybmluZyBiZXR3ZWVuIHRoZXNlIHR3byBnbHlwaHMuCisv
LyAgICAgIC8vIEcgICAgICAgIDIzMDAgICAgIDIwMCAgICAgIEtlcm5pbmcgaXMgYmV0d2VlbiB0
aGlzIGNoYXJhY3RlciBhbmQgdGhlIG5leHQKKy8vICAgICAgLy8gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIkciLCBzaW5jZSB0aGVyZSBpcyBhbiA8aGtlcm4+IGVsZW1lbnQgdGhhdAorLy8g
ICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VzIGEgVW5pY29kZSByYW5nZSBv
biBpdHMgdTE9IiIgYXR0cmlidXRlCisvLyAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFuZCBhIGdseXBoIG5hbWUgb24gaXRzIGcyPSIiIGF0dHJpYnV0ZSB3aGljaAorLy8gICAg
ICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3RoIG1hdGNoICJHIi4KKy8vICAgICAg
Ly8gRyAgICAgICAgMjMwMCAgICAgMCAgICAgICAgTm9ybWFsIGNoYXJhY3RlciB3aXRoIGtlcm5p
bmcgYmVmb3JlIGl0LgorLy8gICAgICAvLyBIICAgICAgICAzMTAwICAgICAwICAgICAgICBBIGds
eXBoIHdpdGggZ3JhcGhpY2FsIGNvbnRlbnQgZGVzY3JpYmluZyB0aGUKKy8vICAgICAgLy8gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGgsIHJhdGhlciB0aGFuIGEgZD0iIiBhdHRyaWJ1
dGUuCisvLyAgICAgIC8vIEkgICAgICAgIDQzMDAgICAgIDAgICAgICAgIEdseXBocyBhcmUgY2hl
Y2tlZCBpbiBkb2N1bWVudCBvcmRlciBmb3Igb25lCisvLyAgICAgIC8vICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoYXQgbWF0Y2hlcywgYnV0IHRoZSBmaXJzdCBnbHlwaCB3aXRoCisvLyAg
ICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWNvZGU9IkkiIGFsc28gaGFzIGxh
bmc9InpoIiwgd2hpY2ggZGlzcXVhbGlmaWVzCisvLyAgICAgIC8vICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGl0LiAgVGh1cyB0aGUgc2Vjb25kIGdseXBoIHdpdGggdW5pY29kZT0iSSIKKy8v
ICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgY2hvc2VuLgorLy8gICAgICAv
LyBJICAgICAgICA0MTAwICAgICAwICAgICAgICBTaW5jZSB0aGlzIEkgaGFzIHhtbDpsYW5nPSJ6
aCIgb24gaXQgaW4gdGhlIHRleHQsCisvLyAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRoZSBmaXJzdCBnbHlwaCB3aXRoIGxhbmc9InpoIiBtYXRjaGVzLgorLy8gICAgICAvLyBK
ICAgICAgICA0NzAwICAgICAtNDcwMCAgICBBIG5vcm1hbCBnbHlwaCB3aXRoIGtlcm5pbmcgYmV0
d2VlbiB0aGUgIkoiIGFuZCB0aGUKKy8vICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbmV4dCBnbHlwaCAiQSIgZXF1YWwgdG8gdGhlIGFkdmFuY2Ugb2YgdGhlICJKIgorLy8gICAg
ICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaCwgc28gdGhlIHBvc2l0aW9uIHNo
b3VsZCBzdGF5IHRoZSBzYW1lLgorLy8gICAgICAvLyBBICAgICAgICAxMDAwMCAgICAwICAgICAg
ICBOb3JtYWwgZ2x5cGggd2l0aCBrZXJuaW5nIGJlZm9yZSBpdC4KKy8vICAgICAgLy8gSyAgICAg
ICAgNTkwMCAgICAgMCAgICAgICAgVGhlIGZpcnN0IGdseXBoIHdpdGggdW5pY29kZT0iSyIgZG9l
cyBub3QgbWF0Y2gsCisvLyAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbmNl
IGl0IGhhcyBvcmllbnRhdGlvbj0idiIsIHNvIHRoZSBzZWNvbmQKKy8vICAgICAgLy8gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2x5cGggd2l0aCB1bmljb2RlPSJLIiBpcyBjaG9zZW4uCisv
LyAgICAgIC8vIDxzcGM+ICAgIDYxMDAgICAgIDAgICAgICAgIFRoZSBzcGFjZSBjaGFyYWN0ZXIg
c2hvdWxkIHNlbGVjdCB0aGUgZ2x5cGggd2l0aAorLy8gICAgICAvLyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bmljb2RlPSIgIiwgZGVzcGl0ZSBpdCBoYXZpbmcgYSBtaXNsZWFkaW5nCisv
LyAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoLW5hbWU9IkwiLgorLy8g
ICAgICAvLyBMICAgICAgICA2NzAwICAgICAwICAgICAgICBUaGUgIkwiIGNoYXJhY3RlciBzaG91
bGQgc2VsZWN0IHRoZSBnbHlwaCB3aXRoCisvLyAgICAgIC8vICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuaWNvZGU9IiAiLCBkZXNwaXRlIGl0IGhhdmluZyBhIG1pc2xlYWRpbmcKKy8vICAg
ICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGgtbmFtZT0ic3BhY2V2Ii4KKy8v
ICAgICAgLy8gQSAgICAgICAgMjkwMCAgICAgMCAgICAgICAgQW4gPGFsdEdseXBoPiBlbGVtZW50
IGlzIHVzZWQgdG8gc2VsZWN0IHRoZQorLy8gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnbHlwaCBmb3IgVSsxMDA4NSBpbnN0ZWFkIG9mIHRoZSBvbmUgZm9yICJBIi4KKy8vICAg
ICAgLy8gVSsxMDA4NSAgMjkwMCAgICAgMCAgICAgICAgVGVzdHMgZ2x5cGggc2VsZWN0aW9uIHdp
dGggYSBub24tcGxhbmUtMAorLy8gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
aGFyYWN0ZXIuCisvLyAgICAgIC8vIEEgICAgICAgIDEwMDAwICAgIDAgICAgICAgIEEgZmluYWwg
bm9ybWFsIGNoYXJhY3Rlci4KKy8vICAgICAgLy8KKy8vICAgICAgLy8gSW4gYWRkaXRpb24sIHRo
ZSBzY3JpcHQgdGVzdHMgdGhlIHZhbHVlIHJldHVybmVkIGJ5CisvLyAgICAgIC8vIFNWR1RleHRD
b250ZW50RWxlbWVudC5nZXROdW1iZXJPZkNoYXJzKCksIHdoaWNoIGluIHRoaXMgY2FzZSBzaG91
bGQgYmUgMzQuCisvLyAgICAgIC8vIElmIGl0IHJldHVybmVkIDMzLCB0aGVuIGl0IGluY29ycmVj
dGx5IGNvdW50ZWQgVW5pY29kZSBjaGFyYWN0ZXJzIGluc3RlYWQKKy8vICAgICAgLy8gb2YgVVRG
LTE2IGNvZGVwb2ludHMgKHByb2JhYmx5KS4KKy8vICAgICAgLy8KKy8vICAgICAgLy8gU2VlIGh0
dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZvbnRzLmh0bWwgZm9yIGEgZGVzY3JpcHRpb24gb2Yg
dGhlIGdseXBoCisvLyAgICAgIC8vIG1hdGNoaW5nIHJ1bGVzLCBhbmQgaHR0cDovL3d3dy53My5v
cmcvVFIvU1ZHMTEvdGV4dC5odG1sI0RPTUludGVyZmFjZXMKKy8vICAgICAgLy8gZm9yIGEgZGVz
Y3JpcHRpb24gb2YgZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcigpIGFuZCBnZXROdW1iZXJPZkNoYXJz
KCkuCisvLyAgICAgIC8vCisvLyAgICAgIC8vIE5vdGUgYWxzbyB0aGF0IHRoZSB0ZXN0IHVzZXMg
RE9NSW1wbGVtZW50YXRpb24uY3JlYXRlRG9jdW1lbnQoKSB0byBjcmVhdGUKKy8vICAgICAgLy8g
dGhlIFNWRyBkb2N1bWVudC4gIFRoaXMgc2VlbXMgdG8gY2F1c2UgYnJvd3NlcnMgdHJvdWJsZSBm
b3IgdGhlIFNWRyBET00KKy8vICAgICAgLy8gaW50ZXJmYWNlcywgc2luY2UgdGhlIGRvY3VtZW50
IGlzbid0IGJlaW5nICJyZW5kZXJlZCIgYXMgaXQgbWlnaHQgYmUKKy8vICAgICAgLy8gaWYgaXQg
d2VyZSBpbiBhbiA8aWZyYW1lPi4gIENoYW5naW5nIHRoZSB0ZXN0IHRvIHVzZSBhbiA8aWZyYW1l
PiB3aWxsCisvLyAgICAgIC8vIGF0IGxlYXN0IGxldCB5b3Ugc2VlIHRoZSBtYWluIHBhcnQgb2Yg
dGhlIHRlc3QgcnVubmluZy4KKy8vCiAgICAgICB2YXIgTlMgPSB7IAogICAgICAgICBzdmc6ICdo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsCiAgICAgICAgIHhtbDogJ2h0dHA6Ly93d3cudzMu
b3JnL1hNTC8xOTk4L25hbWVzcGFjZScsCi0gICAgICAgIHhsaW5rOiAnaHR0cDovL3d3dy53My5v
cmcvMTk5OS94bGluaycKKy8vICAgICAgICB4bGluazogJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkv
eGxpbmsnCiAgICAgICB9OwogCiAgICAgICB2YXIgZG9jID0ga3VuZ0Z1RGVhdGhHcmlwLmNoaWxk
Tm9kZXNbMV0uY29udGVudERvY3VtZW50OwogICAgICAgd2hpbGUgKGRvYy5oYXNDaGlsZE5vZGVz
KCkpCiAgICAgICAgIGRvYy5yZW1vdmVDaGlsZChkb2MuZmlyc3RDaGlsZCk7CiAgICAgICBkb2Mu
YXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1lbnROUyhOUy5zdmcsICJzdmc6c3ZnIikpOwotCi0g
ICAgICB2YXIgZSA9IGZ1bmN0aW9uIChuLCBhcywgY3MpIHsKLSAgICAgICAgdmFyIGVsdCA9IGRv
Yy5jcmVhdGVFbGVtZW50TlMoTlMuc3ZnLCBuKTsKLSAgICAgICAgaWYgKGFzKSB7Ci0gICAgICAg
ICAgZm9yICh2YXIgYW4gaW4gYXMpIHsKLSAgICAgICAgICAgIHZhciBpZHggPSBhbi5pbmRleE9m
KCc6Jyk7Ci0gICAgICAgICAgICB2YXIgbnMgPSBudWxsOwotICAgICAgICAgICAgaWYgKGlkeCAh
PSAtMSkKLSAgICAgICAgICAgICAgbnMgPSBOU1thbi5zdWJzdHJpbmcoMCwgaWR4KV07Ci0gICAg
ICAgICAgICBlbHQuc2V0QXR0cmlidXRlTlMobnMsIGFuLCBhc1thbl0pOwotICAgICAgICAgIH0K
LSAgICAgICAgfQotICAgICAgICBpZiAoY3MpIHsKLSAgICAgICAgICBmb3IgKHZhciBpIGluIGNz
KSB7Ci0gICAgICAgICAgICB2YXIgYyA9IGNzW2ldOwotICAgICAgICAgICAgZWx0LmFwcGVuZENo
aWxkKHR5cGVvZiBjID09ICdzdHJpbmcnID8gZG9jLmNyZWF0ZVRleHROb2RlKGMpIDogYyk7Ci0g
ICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBlbHQ7Ci0gICAgICB9Ci0KLSAg
ICAgIGRvYy5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoZSgnZm9udCcsIHsgJ2hvcml6LWFk
di14JzogJzEwMDAwJ30sIFtlKCdmb250LWZhY2UnLCB7ICdmb250LWZhbWlseSc6ICdIQ2wnLCAn
dW5pdHMtcGVyLWVtJzogJzEwMCcsICdhc2NlbnQnOiAnMTAwMCcsICdkZXNjZW50JzogJzUwMCd9
KSwgZSgnbWlzc2luZy1nbHlwaCcsIG51bGwsIFtlKCdwYXRoJywgeyAnZCc6ICdNMTAwLDAgaDgw
MCB2LTEwMCBoLTgwMCB6J30pXSksIGUoJ2dseXBoJywgeyAndW5pY29kZSc6ICdBJywgJ2QnOiAn
TTEwMCwwIGgxMDAgdi0xMDAgaC0xMDAgeid9KSwgZSgnZ2x5cGgnLCB7ICd1bmljb2RlJzogJ0JD
JywgJ2QnOiAnTTEwMCwwIGgxMDAgdi0xMDAgaC0xMDAgeicsICdob3Jpei1hZHYteCc6ICcyMDAn
fSksIGUoJ2dseXBoJywgeyAndW5pY29kZSc6ICdCJywgJ2QnOiAnTTEwMCwwIGgxMDAgdi0xMDAg
aC0xMDAgeicsICdob3Jpei1hZHYteCc6ICczMDAnfSksIGUoJ2dseXBoJywgeyAndW5pY29kZSc6
ICdDJywgJ2QnOiAnTTEwMCwwIGgxMDAgdi0xMDAgaC0xMDAgeicsICdob3Jpei1hZHYteCc6ICc1
MDAnfSksIGUoJ2dseXBoJywgeyAndW5pY29kZSc6ICdCRCcsICdkJzogJ00xMDAsMCBoMTAwIHYt
MTAwIGgtMTAwIHonLCAnaG9yaXotYWR2LXgnOiAnNzAwJ30pLCBlKCdnbHlwaCcsIHsgJ3VuaWNv
ZGUnOiAnRCcsICdkJzogJ00xMDAsMCBoMTAwIHYtMTAwIGgtMTAwIHonLCAnaG9yaXotYWR2LXgn
OiAnMTEwMCd9KSwgZSgnZ2x5cGgnLCB7ICd1bmljb2RlJzogJ0VFJywgJ2QnOiAnTTEwMCwwIGgx
MDAgdi0xMDAgaC0xMDAgeicsICdob3Jpei1hZHYteCc6ICcxMzAwJywgICdnbHlwaC1uYW1lJzog
J2dyYXBlZnJ1aXQnfSksIGUoJ2dseXBoJywgeyAndW5pY29kZSc6ICdVKzAwNDYnLCAnZCc6ICdN
MTAwLDAgaDEwMCB2LTEwMCBoLTEwMCB6JywgJ2hvcml6LWFkdi14JzogJzE3MDAnfSksIGUoJ2ds
eXBoJywgeyAndW5pY29kZSc6ICdGJywgJ2QnOiAnTTEwMCwwIGgxMDAgdi0xMDAgaC0xMDAgeics
ICdob3Jpei1hZHYteCc6ICcxOTAwJ30pLCBlKCdnbHlwaCcsIHsgJ3VuaWNvZGUnOiAnRycsICdk
JzogJ00xMDAsMCBoMTAwIHYtMTAwIGgtMTAwIHonLCAnaG9yaXotYWR2LXgnOiAnMjMwMCcsICdn
bHlwaC1uYW1lJzogJ2dlZSd9KSwgZSgnZ2x5cGgnLCB7ICd1bmljb2RlJzogJ1x1RDgwMFx1REM4
NScsICdkJzogJ00xMDAsMCBoMTAwIHYtMTAwIGgtMTAwIHonLCAnaG9yaXotYWR2LXgnOiAnMjkw
MCcsICdpZCc6ICdhc3RyYWwnfSksIGUoJ2dseXBoJywgeyAndW5pY29kZSc6ICdIJywgJ2hvcml6
LWFkdi14JzogJzMxMDAnfSwgW2UoJ3BhdGgnLCB7ICdkJzogJ00xMDAsMCBoMTAwIHYtMTAwIGgt
MTAwIHonfSldKSwgZSgnZ2x5cGgnLCB7ICd1bmljb2RlJzogJ0knLCAnZCc6ICdNMTAwLDAgaDEw
MCB2LTEwMCBoLTEwMCB6JywgJ2hvcml6LWFkdi14JzogJzQxMDAnLCAnbGFuZyc6ICd6aCd9KSwg
ZSgnZ2x5cGgnLCB7ICd1bmljb2RlJzogJ0knLCAnZCc6ICdNMTAwLDAgaDEwMCB2LTEwMCBoLTEw
MCB6JywgJ2hvcml6LWFkdi14JzogJzQzMDAnfSksIGUoJ2dseXBoJywgeyAndW5pY29kZSc6ICdK
JywgJ2QnOiAnTTEwMCwwIGgxMDAgdi0xMDAgaC0xMDAgeicsICdob3Jpei1hZHYteCc6ICc0NzAw
J30pLCBlKCdnbHlwaCcsIHsgJ3VuaWNvZGUnOiAnSycsICdkJzogJ00xMDAsMCBoMTAwIHYtMTAw
IGgtMTAwIHonLCAnaG9yaXotYWR2LXgnOiAnNTMwMCcsICdvcmllbnRhdGlvbic6ICd2J30pLCBl
KCdnbHlwaCcsIHsgJ3VuaWNvZGUnOiAnSycsICdkJzogJ00xMDAsMCBoMTAwIHYtMTAwIGgtMTAw
IHonLCAnaG9yaXotYWR2LXgnOiAnNTkwMCd9KSwgZSgnZ2x5cGgnLCB7ICd1bmljb2RlJzogJyAn
LCAnZCc6ICdNMTAwLDAgaDEwMCB2LTEwMCBoLTEwMCB6JywgJ2hvcml6LWFkdi14JzogJzYxMDAn
LCAnZ2x5cGgtbmFtZSc6ICdMJ30pLCBlKCdnbHlwaCcsIHsgJ3VuaWNvZGUnOiAnTCcsICdkJzog
J00xMDAsMCBoMTAwIHYtMTAwIGgtMTAwIHonLCAnaG9yaXotYWR2LXgnOiAnNjcwMCcsICdnbHlw
aC1uYW1lJzogJ3NwYWNlJ30pLCBlKCdoa2VybicsIHsgJ3UxJzogJ0EnLCAndTInOiAnRUUnLCAn
ayc6ICcxMDAwJ30pLCBlKCdoa2VybicsIHsgJ3UxJzogJ0EnLCAnZzInOiAnZ3JhcGVmcnVpdCcs
ICdrJzogJy0yMDAnfSksIGUoJ2hrZXJuJywgeyAndTEnOiAnVSswMDQ2JywgJ3UyJzogJ1UrMDA0
NicsICdrJzogJy0yMDAnfSksIGUoJ2hrZXJuJywgeyAndTEnOiAnVSswMDQ3LTAwNDcnLCAnZzIn
OiAnZ2VlJywgJ2snOiAnLTIwMCd9KSwgZSgnaGtlcm4nLCB7ICd1MSc6ICdKJywgJ3UyJzogJ0En
LCAnayc6ICc0NzAwJ30pXSkpOwotICAgICAgZG9jLmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGls
ZChlKCd0ZXh0JywgeyAneSc6ICcxMDAnLCAnZm9udC1mYW1pbHknOiAnSENsJywgJ2ZvbnQtc2l6
ZSc6ICcxMDBweCcsICdsZXR0ZXItc3BhY2luZyc6ICcwcHgnLCAnd29yZC1zcGFjaW5nJzogJzBw
eCd9LCBbJ0FCQ0JEQUVFVSswMDQ2VSswMDQ2R0dISScsIGUoJ3RzcGFuJywgeyAneG1sOmxhbmcn
OiAnemgnfSwgWydJJ10pLCAnSkFLIEwnLCBlKCdhbHRHbHlwaCcsIHsgJ3hsaW5rOmhyZWYnOiAn
I2FzdHJhbCd9LCBbJ0EnXSksICdcdUQ4MDBcdURDODVBJ10pKTsKLQotICAgICAgdmFyIHQgPSBk
b2MuZG9jdW1lbnRFbGVtZW50Lmxhc3RDaGlsZDsKLQotICAgICAgdmFyIGNoYXJhY3RlckRlc2Ny
aXB0aW9ucyA9IFsKLSAgICAgICAgImEgbm9ybWFsIGNoYXJhY3RlciIsCi0gICAgICAgICJ0aGUg
Zmlyc3QgY2hhcmFjdGVyIG9mIGEgdHdvLWNoYXJhY3RlciBnbHlwaCIsCi0gICAgICAgICJ0aGUg
c2Vjb25kIGNoYXJhY3RlciBvZiBhIHR3by1jaGFyYWN0ZXIgZ2x5cGgiLAotICAgICAgICAiYSBu
b3JtYWwgY2hhcmFjdGVyLCB3aGljaCBzaG91bGRuJ3QgYmUgdGhlIGZpcnN0IGNoYXJhY3RlciBv
ZiBhIHR3by1jaGFyYWN0ZXIgZ2x5cGgiLAotICAgICAgICAiYSBub3JtYWwgY2hhcmFjdGVyLCB3
aGljaCBzaG91bGRuJ3QgYmUgdGhlIHNlY29uZCBjaGFyYWN0ZXIgb2YgYSB0d28tY2hhcmFjdGVy
IGdseXBoIiwKLSAgICAgICAgImEgbm9ybWFsIGNoYXJhY3Rlciwgd2hpY2ggaGFzIHNvbWUga2Vy
bmluZyBhZnRlciBpdCIsCi0gICAgICAgICJ0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIGEgdHdvLWNo
YXJhY3RlciBnbHlwaCwgd2hpY2ggaGFzIHNvbWUga2VybmluZyBiZWZvcmUgaXQiLAotICAgICAg
ICAidGhlIHNlY29uZCBjaGFyYWN0ZXIgb2YgYSB0d28tY2hhcmFjdGVyIGdseXBoLCB3aGljaCBo
YXMgc29tZSBrZXJuaW5nIGJlZm9yZSBpdCIsCi0gICAgICAgICJ0aGUgZmlyc3QgY2hhcmFjdGVy
IG9mIGEgc2l4LWNoYXJhY3RlciBnbHlwaCwgd2hpY2ggaGFwcGVucyB0byBsb29rIGxpa2UgYSBV
bmljb2RlIHJhbmdlLCB3aGVyZSB0aGUgcmFuZ2Utc3BlY2lmaWVkIGdseXBoIGhhcyBrZXJuaW5n
IGFmdGVyIGl0LCBidXQgdGhpcyBnbHlwaCBkb2VzIG5vdCIsCi0gICAgICAgICJ0aGUgc2Vjb25k
IGNoYXJhY3RlciBvZiBhIHNpeC1jaGFyYWN0ZXIgZ2x5cGgsIHdoaWNoIGhhcHBlbnMgdG8gbG9v
ayBsaWtlIGEgVW5pY29kZSByYW5nZSwgd2hlcmUgdGhlIHJhbmdlLXNwZWNpZmllZCBnbHlwaCBo
YXMga2VybmluZyBhZnRlciBpdCwgYnV0IHRoaXMgZ2x5cGggZG9lcyBub3QiLAotICAgICAgICAi
dGhlIHRoaXJkIGNoYXJhY3RlciBvZiBhIHNpeC1jaGFyYWN0ZXIgZ2x5cGgsIHdoaWNoIGhhcHBl
bnMgdG8gbG9vayBsaWtlIGEgVW5pY29kZSByYW5nZSwgd2hlcmUgdGhlIHJhbmdlLXNwZWNpZmll
ZCBnbHlwaCBoYXMga2VybmluZyBhZnRlciBpdCwgYnV0IHRoaXMgZ2x5cGggZG9lcyBub3QiLAot
ICAgICAgICAidGhlIGZvdXJ0aCBjaGFyYWN0ZXIgb2YgYSBzaXgtY2hhcmFjdGVyIGdseXBoLCB3
aGljaCBoYXBwZW5zIHRvIGxvb2sgbGlrZSBhIFVuaWNvZGUgcmFuZ2UsIHdoZXJlIHRoZSByYW5n
ZS1zcGVjaWZpZWQgZ2x5cGggaGFzIGtlcm5pbmcgYWZ0ZXIgaXQsIGJ1dCB0aGlzIGdseXBoIGRv
ZXMgbm90IiwKLSAgICAgICAgInRoZSBmaWZ0aCBjaGFyYWN0ZXIgb2YgYSBzaXgtY2hhcmFjdGVy
IGdseXBoLCB3aGljaCBoYXBwZW5zIHRvIGxvb2sgbGlrZSBhIFVuaWNvZGUgcmFuZ2UsIHdoZXJl
IHRoZSByYW5nZS1zcGVjaWZpZWQgZ2x5cGggaGFzIGtlcm5pbmcgYWZ0ZXIgaXQsIGJ1dCB0aGlz
IGdseXBoIGRvZXMgbm90IiwKLSAgICAgICAgInRoZSBzaXh0aCBjaGFyYWN0ZXIgb2YgYSBzaXgt
Y2hhcmFjdGVyIGdseXBoLCB3aGljaCBoYXBwZW5zIHRvIGxvb2sgbGlrZSBhIFVuaWNvZGUgcmFu
Z2UsIHdoZXJlIHRoZSByYW5nZS1zcGVjaWZpZWQgZ2x5cGggaGFzIGtlcm5pbmcgYWZ0ZXIgaXQs
IGJ1dCB0aGlzIGdseXBoIGRvZXMgbm90IiwKLSAgICAgICAgInRoZSBmaXJzdCBjaGFyYWN0ZXIg
b2YgYSBzaXgtY2hhcmFjdGVyIGdseXBoLCB3aGljaCBoYXBwZW5zIHRvIGxvb2sgbGlrZSBhIFVu
aWNvZGUgcmFuZ2UsIHdoZXJlIHRoZSByYW5nZS1zcGVjaWZpZWQgZ2x5cGggaGFzIGtlcm5pbmcg
YmVmb3JlIGl0LCBidXQgdGhpcyBnbHlwaCBkb2VzIG5vdCIsCi0gICAgICAgICJ0aGUgc2Vjb25k
IGNoYXJhY3RlciBvZiBhIHNpeC1jaGFyYWN0ZXIgZ2x5cGgsIHdoaWNoIGhhcHBlbnMgdG8gbG9v
ayBsaWtlIGEgVW5pY29kZSByYW5nZSwgd2hlcmUgdGhlIHJhbmdlLXNwZWNpZmllZCBnbHlwaCBo
YXMga2VybmluZyBiZWZvcmUgaXQsIGJ1dCB0aGlzIGdseXBoIGRvZXMgbm90IiwKLSAgICAgICAg
InRoZSB0aGlyZCBjaGFyYWN0ZXIgb2YgYSBzaXgtY2hhcmFjdGVyIGdseXBoLCB3aGljaCBoYXBw
ZW5zIHRvIGxvb2sgbGlrZSBhIFVuaWNvZGUgcmFuZ2UsIHdoZXJlIHRoZSByYW5nZS1zcGVjaWZp
ZWQgZ2x5cGggaGFzIGtlcm5pbmcgYmVmb3JlIGl0LCBidXQgdGhpcyBnbHlwaCBkb2VzIG5vdCIs
Ci0gICAgICAgICJ0aGUgZm91cnRoIGNoYXJhY3RlciBvZiBhIHNpeC1jaGFyYWN0ZXIgZ2x5cGgs
IHdoaWNoIGhhcHBlbnMgdG8gbG9vayBsaWtlIGEgVW5pY29kZSByYW5nZSwgd2hlcmUgdGhlIHJh
bmdlLXNwZWNpZmllZCBnbHlwaCBoYXMga2VybmluZyBiZWZvcmUgaXQsIGJ1dCB0aGlzIGdseXBo
IGRvZXMgbm90IiwKLSAgICAgICAgInRoZSBmaWZ0aCBjaGFyYWN0ZXIgb2YgYSBzaXgtY2hhcmFj
dGVyIGdseXBoLCB3aGljaCBoYXBwZW5zIHRvIGxvb2sgbGlrZSBhIFVuaWNvZGUgcmFuZ2UsIHdo
ZXJlIHRoZSByYW5nZS1zcGVjaWZpZWQgZ2x5cGggaGFzIGtlcm5pbmcgYmVmb3JlIGl0LCBidXQg
dGhpcyBnbHlwaCBkb2VzIG5vdCIsCi0gICAgICAgICJ0aGUgc2l4dGggY2hhcmFjdGVyIG9mIGEg
c2l4LWNoYXJhY3RlciBnbHlwaCwgd2hpY2ggaGFwcGVucyB0byBsb29rIGxpa2UgYSBVbmljb2Rl
IHJhbmdlLCB3aGVyZSB0aGUgcmFuZ2Utc3BlY2lmaWVkIGdseXBoIGhhcyBrZXJuaW5nIGJlZm9y
ZSBpdCwgYnV0IHRoaXMgZ2x5cGggZG9lcyBub3QiLAotICAgICAgICAiYSBub3JtYWwgY2hhcmFj
dGVyLCB3aGljaCBoYXMgc29tZSBrZXJuaW5nIGFmdGVyIGl0IHRoYXQgaXMgc3BlY2lmaWVkIGJ5
IGdseXBoIG5hbWUiLAotICAgICAgICAiYSBub3JtYWwgY2hhcmFjdGVyLCB3aGljaCBoYXMgc29t
ZSBrZXJuaW5nIGJlZm9yZSBpdCB0aGF0IGlzIHNwZWNpZmllZCBieSBnbHlwaCBuYW1lIiwKLSAg
ICAgICAgImEgbm9ybWFsIGNoYXJhY3Rlciwgd2hvc2UgZ2x5cGggaXMgZ2l2ZW4gYnkgY2hpbGQg
Z3JhcGhpY2FsIGNvbnRlbnQgb2YgdGhlIDxnbHlwaD4gZWxlbWVudCIsCi0gICAgICAgICJhIG5v
cm1hbCBjaGFyYWN0ZXIsIHdob3NlIGdseXBoIHNob3VsZCBub3QgbWF0Y2ggdGhlIG9uZSB3aXRo
IGEgbGFuZz1cIlwiIGF0dHJpYnV0ZSBvbiBpdCIsCi0gICAgICAgICJhIG5vcm1hbCBjaGFyYWN0
ZXIsIHdob3NlIGdseXBoIHNob3VsZCBtYXRjaCB0aGUgb25lIHdpdGggYSBsYW5nPVwiXCIgYXR0
cmlidXRlIG9uIGl0IiwKLSAgICAgICAgImEgbm9ybWFsIGNoYXJhY3Rlciwgd2hpY2ggaGFzIHNv
bWUga2VybmluZyBhZnRlciBpdCB0aGF0IGlzIGVxdWFsIHRvIHRoZSBhZHZhbmNlIG9mIHRoZSBj
aGFyYWN0ZXIiLAotICAgICAgICAiYSBub3JtYWwgY2hhcmFjdGVyLCB3aGljaCBoYXMgc29tZSBr
ZXJuaW5nIGJlZm9yZSBpdCB0aGF0IGlzIGVxdWFsIHRvIHRoZSBhZHZhbmNlIG9mIHRoZSBwcmV2
aW91cyBjaGFyYWN0ZXIiLAotICAgICAgICAiYSBub3JtYWwgY2hhcmFjdGVyLCB3aG9zZSBnbHlw
aCBzaG91bGQgbm90IG1hdGNoIHRoZSBvbmUgd2l0aCBhbiBvcmllbnRhdGlvbj1cInZcIiBhdHRy
aWJ1dGUgb24gaXQiLAotICAgICAgICAiYSBzcGFjZSBjaGFyYWN0ZXIsIHdoaWNoIGhhcyBhIG1p
c2xlYWRpbmcgZ2x5cGgtbmFtZT1cIlwiIGF0dHJpYnV0ZSIsCi0gICAgICAgICJhIG5vcm1hbCBj
aGFyYWN0ZXIsIHdoaWNoIGhhcyBhIG1pc2xlYWRpbmcgZ2x5cGgtbmFtZT1cIlwiIGF0dHJpYnV0
ZSIsCi0gICAgICAgICJhIG5vcm1hbCBjaGFyYWN0ZXIsIHdob3NlIGdseXBoIGlzIGNob3NlbiB0
byBiZSBhbm90aGVyIGJ5IHVzaW5nIDxhbHRHbHlwaD4iLAotICAgICAgICAiYSBjaGFyYWN0ZXIg
bm90IGluIFBsYW5lIDAgKGhpZ2ggc3Vycm9nYXRlIHBhaXIpIiwKLSAgICAgICAgImEgY2hhcmFj
dGVyIG5vdCBpbiBQbGFuZSAwIChsb3cgc3Vycm9nYXRlIHBhaXIpIiwKLSAgICAgICAgImEgbm9y
bWFsIGNoYXJhY3RlciIsCi0gICAgICBdOwotCi0gICAgICB2YXIgZXhwZWN0ZWRBZHZhbmNlcyA9
IFsKLSAgICAgICAgMTAwMDAsICAgICAgIC8vIEEKLSAgICAgICAgMCwgICAgICAgICAgIC8vIEJD
IFswXQotICAgICAgICAyMDAsICAgICAgICAgLy8gQkMgWzFdCi0gICAgICAgIDMwMCwgICAgICAg
ICAvLyBCCi0gICAgICAgIDExMDAsICAgICAgICAvLyBECi0gICAgICAgIDEwMDAwLCAgICAgICAv
LyBBCi0gICAgICAgIDAsICAgICAgICAgICAvLyBFRSBbMF0KLSAgICAgICAgMTMwMCwgICAgICAg
IC8vIEVFIFsxXQotICAgICAgICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFswXQotICAgICAgICAw
LCAgICAgICAgICAgLy8gVSswMDQ2IFsxXQotICAgICAgICAwLCAgICAgICAgICAgLy8gVSswMDQ2
IFsyXQotICAgICAgICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFszXQotICAgICAgICAwLCAgICAg
ICAgICAgLy8gVSswMDQ2IFs0XQotICAgICAgICAxNzAwLCAgICAgICAgLy8gVSswMDQ2IFs1XQot
ICAgICAgICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFswXQotICAgICAgICAwLCAgICAgICAgICAg
Ly8gVSswMDQ2IFsxXQotICAgICAgICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFsyXQotICAgICAg
ICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFszXQotICAgICAgICAwLCAgICAgICAgICAgLy8gVSsw
MDQ2IFs0XQotICAgICAgICAxNzAwLCAgICAgICAgLy8gVSswMDQ2IFs1XQotICAgICAgICAyMzAw
LCAgICAgICAgLy8gRwotICAgICAgICAyMzAwLCAgICAgICAgLy8gRwotICAgICAgICAzMTAwLCAg
ICAgICAgLy8gSAotICAgICAgICA0MzAwLCAgICAgICAgLy8gSQotICAgICAgICA0MTAwLCAgICAg
ICAgLy8gSSAoemgpCi0gICAgICAgIDQ3MDAsICAgICAgICAvLyBKCi0gICAgICAgIDEwMDAwLCAg
ICAgICAvLyBBCi0gICAgICAgIDU5MDAsICAgICAgICAvLyBLCi0gICAgICAgIDYxMDAsICAgICAg
ICAvLyA8c3BhY2U+Ci0gICAgICAgIDY3MDAsICAgICAgICAvLyBMCi0gICAgICAgIDI5MDAsICAg
ICAgICAvLyBBICh1c2luZyAmI3gxMDA4NTsgYWx0R2x5cGgpCi0gICAgICAgIDAsICAgICAgICAg
ICAvLyAmI3gxMDA4NTsgaGlnaCBzdXJyb2dhdGUgcGFpcgotICAgICAgICAyOTAwLCAgICAgICAg
Ly8gJiN4MTAwODU7IGxvdyBzdXJyb2dhdGUgcGFpcgotICAgICAgICAxMDAwMCwgICAgICAgLy8g
QQotICAgICAgXTsKLQotICAgICAgdmFyIGV4cGVjdGVkS2VybmluZyA9IFsKLSAgICAgICAgMCwg
ICAgICAgICAgIC8vIEEKLSAgICAgICAgMCwgICAgICAgICAgIC8vIEJDIFswXQotICAgICAgICAw
LCAgICAgICAgICAgLy8gQkMgWzFdCi0gICAgICAgIDAsICAgICAgICAgICAvLyBCCi0gICAgICAg
IDAsICAgICAgICAgICAvLyBECi0gICAgICAgIDIwMCwgICAgICAgICAvLyBBCi0gICAgICAgIDAs
ICAgICAgICAgICAvLyBFRSBbMF0KLSAgICAgICAgMCwgICAgICAgICAgIC8vIEVFIFsxXQotICAg
ICAgICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFswXQotICAgICAgICAwLCAgICAgICAgICAgLy8g
VSswMDQ2IFsxXQotICAgICAgICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFsyXQotICAgICAgICAw
LCAgICAgICAgICAgLy8gVSswMDQ2IFszXQotICAgICAgICAwLCAgICAgICAgICAgLy8gVSswMDQ2
IFs0XQotICAgICAgICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFs1XQotICAgICAgICAwLCAgICAg
ICAgICAgLy8gVSswMDQ2IFswXQotICAgICAgICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFsxXQot
ICAgICAgICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFsyXQotICAgICAgICAwLCAgICAgICAgICAg
Ly8gVSswMDQ2IFszXQotICAgICAgICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFs0XQotICAgICAg
ICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFs1XQotICAgICAgICAyMDAsICAgICAgICAgLy8gRwot
ICAgICAgICAwLCAgICAgICAgICAgLy8gRwotICAgICAgICAwLCAgICAgICAgICAgLy8gSAotICAg
ICAgICAwLCAgICAgICAgICAgLy8gSQotICAgICAgICAwLCAgICAgICAgICAgLy8gSSAoemgpCi0g
ICAgICAgIC00NzAwLCAgICAgICAvLyBKCi0gICAgICAgIDAsICAgICAgICAgICAvLyBBCi0gICAg
ICAgIDAsICAgICAgICAgICAvLyBLCi0gICAgICAgIDAsICAgICAgICAgICAvLyA8c3BhY2U+Ci0g
ICAgICAgIDAsICAgICAgICAgICAvLyBMCi0gICAgICAgIDAsICAgICAgICAgICAvLyBBICh1c2lu
ZyAmI3gxMDA4NTsgYWx0R2x5cGgpCi0gICAgICAgIDAsICAgICAgICAgICAvLyAmI3gxMDA4NTsg
aGlnaCBzdXJyb2dhdGUgcGFpcgotICAgICAgICAwLCAgICAgICAgICAgLy8gJiN4MTAwODU7IGxv
dyBzdXJyb2dhdGUgcGFpcgotICAgICAgICAwLCAgICAgICAgICAgLy8gQQotICAgICAgXTsKLQot
ICAgICAgYXNzZXJ0RXF1YWxzKHQuZ2V0TnVtYmVyT2ZDaGFycygpLCBleHBlY3RlZEFkdmFuY2Vz
Lmxlbmd0aCwgJ1NWR1NWR1RleHRFbGVtZW50LmdldE51bWJlck9mQ2hhcnMoKSBpbmNvcnJlY3Qn
KTsKLQotICAgICAgdmFyIGV4cGVjdGVkUG9zaXRpb25zID0gWzBdOwotICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBleHBlY3RlZEFkdmFuY2VzLmxlbmd0aDsgaSsrKQotICAgICAgICBleHBlY3Rl
ZFBvc2l0aW9ucy5wdXNoKGV4cGVjdGVkUG9zaXRpb25zW2ldICsgZXhwZWN0ZWRBZHZhbmNlc1tp
XSArIGV4cGVjdGVkS2VybmluZ1tpXSk7Ci0KLSAgICAgIHZhciBhY3R1YWxQb3NpdGlvbnMgPSBb
XTsKLSAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdC5nZXROdW1iZXJPZkNoYXJzKCk7IGkrKykK
LSAgICAgICAgYWN0dWFsUG9zaXRpb25zLnB1c2godC5nZXRTdGFydFBvc2l0aW9uT2ZDaGFyKGkp
LngpOwotICAgICAgYWN0dWFsUG9zaXRpb25zLnB1c2godC5nZXRFbmRQb3NpdGlvbk9mQ2hhcih0
LmdldE51bWJlck9mQ2hhcnMoKSAtIDEpLngpOwotCi0gICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGV4cGVjdGVkUG9zaXRpb25zLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIGlmIChleHBlY3RlZFBv
c2l0aW9uc1tpXSAhPSBhY3R1YWxQb3NpdGlvbnNbaV0pIHsKLSAgICAgICAgICB2YXIgcyA9ICJj
aGFyYWN0ZXIgcG9zaXRpb24gIiArIGkgKyAiLCB3aGljaCBpcyAiOwotICAgICAgICAgIGlmIChp
ID09IDApIHsKLSAgICAgICAgICAgIHMgKz0gImJlZm9yZSAiICsgY2hhcmFjdGVyRGVzY3JpcHRp
b25zWzBdOwotICAgICAgICAgIH0gZWxzZSBpZiAoaSA9PSBleHBlY3RlZFBvc2l0aW9ucy5sZW5n
dGggLSAxKSB7Ci0gICAgICAgICAgICBzICs9ICJhZnRlciAiICsgY2hhcmFjdGVyRGVzY3JpcHRp
b25zW2NoYXJhY3RlckRlc2NyaXB0aW9ucy5sZW5ndGggLSAxXTsKLSAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgcyArPSAiYmV0d2VlbiAiICsgY2hhcmFjdGVyRGVzY3JpcHRpb25zW2kg
LSAxXSArICIgYW5kICIgKyBjaGFyYWN0ZXJEZXNjcmlwdGlvbnNbaV07Ci0gICAgICAgICAgfQot
ICAgICAgICAgIHMgKz0gIiwgaXMgIiArIGFjdHVhbFBvc2l0aW9uc1tpXSArICIgYnV0IHNob3Vs
ZCBiZSAiICsgZXhwZWN0ZWRQb3NpdGlvbnNbaV0gKyAiLiI7Ci0gICAgICAgICAgZmFpbChzKTsK
LSAgICAgICAgfQotICAgICAgfQorLy8KKy8vICAgICAgdmFyIGUgPSBmdW5jdGlvbiAobiwgYXMs
IGNzKSB7CisvLyAgICAgICAgdmFyIGVsdCA9IGRvYy5jcmVhdGVFbGVtZW50TlMoTlMuc3ZnLCBu
KTsKKy8vICAgICAgICBpZiAoYXMpIHsKKy8vICAgICAgICAgIGZvciAodmFyIGFuIGluIGFzKSB7
CisvLyAgICAgICAgICAgIHZhciBpZHggPSBhbi5pbmRleE9mKCc6Jyk7CisvLyAgICAgICAgICAg
IHZhciBucyA9IG51bGw7CisvLyAgICAgICAgICAgIGlmIChpZHggIT0gLTEpCisvLyAgICAgICAg
ICAgICAgbnMgPSBOU1thbi5zdWJzdHJpbmcoMCwgaWR4KV07CisvLyAgICAgICAgICAgIGVsdC5z
ZXRBdHRyaWJ1dGVOUyhucywgYW4sIGFzW2FuXSk7CisvLyAgICAgICAgICB9CisvLyAgICAgICAg
fQorLy8gICAgICAgIGlmIChjcykgeworLy8gICAgICAgICAgZm9yICh2YXIgaSBpbiBjcykgewor
Ly8gICAgICAgICAgICB2YXIgYyA9IGNzW2ldOworLy8gICAgICAgICAgICBlbHQuYXBwZW5kQ2hp
bGQodHlwZW9mIGMgPT0gJ3N0cmluZycgPyBkb2MuY3JlYXRlVGV4dE5vZGUoYykgOiBjKTsKKy8v
ICAgICAgICAgIH0KKy8vICAgICAgICB9CisvLyAgICAgICAgcmV0dXJuIGVsdDsKKy8vICAgICAg
fQorLy8KKy8vICAgICAgZG9jLmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChlKCdmb250Jywg
eyAnaG9yaXotYWR2LXgnOiAnMTAwMDAnfSwgW2UoJ2ZvbnQtZmFjZScsIHsgJ2ZvbnQtZmFtaWx5
JzogJ0hDbCcsICd1bml0cy1wZXItZW0nOiAnMTAwJywgJ2FzY2VudCc6ICcxMDAwJywgJ2Rlc2Nl
bnQnOiAnNTAwJ30pLCBlKCdtaXNzaW5nLWdseXBoJywgbnVsbCwgW2UoJ3BhdGgnLCB7ICdkJzog
J00xMDAsMCBoODAwIHYtMTAwIGgtODAwIHonfSldKSwgZSgnZ2x5cGgnLCB7ICd1bmljb2RlJzog
J0EnLCAnZCc6ICdNMTAwLDAgaDEwMCB2LTEwMCBoLTEwMCB6J30pLCBlKCdnbHlwaCcsIHsgJ3Vu
aWNvZGUnOiAnQkMnLCAnZCc6ICdNMTAwLDAgaDEwMCB2LTEwMCBoLTEwMCB6JywgJ2hvcml6LWFk
di14JzogJzIwMCd9KSwgZSgnZ2x5cGgnLCB7ICd1bmljb2RlJzogJ0InLCAnZCc6ICdNMTAwLDAg
aDEwMCB2LTEwMCBoLTEwMCB6JywgJ2hvcml6LWFkdi14JzogJzMwMCd9KSwgZSgnZ2x5cGgnLCB7
ICd1bmljb2RlJzogJ0MnLCAnZCc6ICdNMTAwLDAgaDEwMCB2LTEwMCBoLTEwMCB6JywgJ2hvcml6
LWFkdi14JzogJzUwMCd9KSwgZSgnZ2x5cGgnLCB7ICd1bmljb2RlJzogJ0JEJywgJ2QnOiAnTTEw
MCwwIGgxMDAgdi0xMDAgaC0xMDAgeicsICdob3Jpei1hZHYteCc6ICc3MDAnfSksIGUoJ2dseXBo
JywgeyAndW5pY29kZSc6ICdEJywgJ2QnOiAnTTEwMCwwIGgxMDAgdi0xMDAgaC0xMDAgeicsICdo
b3Jpei1hZHYteCc6ICcxMTAwJ30pLCBlKCdnbHlwaCcsIHsgJ3VuaWNvZGUnOiAnRUUnLCAnZCc6
ICdNMTAwLDAgaDEwMCB2LTEwMCBoLTEwMCB6JywgJ2hvcml6LWFkdi14JzogJzEzMDAnLCAgJ2ds
eXBoLW5hbWUnOiAnZ3JhcGVmcnVpdCd9KSwgZSgnZ2x5cGgnLCB7ICd1bmljb2RlJzogJ1UrMDA0
NicsICdkJzogJ00xMDAsMCBoMTAwIHYtMTAwIGgtMTAwIHonLCAnaG9yaXotYWR2LXgnOiAnMTcw
MCd9KSwgZSgnZ2x5cGgnLCB7ICd1bmljb2RlJzogJ0YnLCAnZCc6ICdNMTAwLDAgaDEwMCB2LTEw
MCBoLTEwMCB6JywgJ2hvcml6LWFkdi14JzogJzE5MDAnfSksIGUoJ2dseXBoJywgeyAndW5pY29k
ZSc6ICdHJywgJ2QnOiAnTTEwMCwwIGgxMDAgdi0xMDAgaC0xMDAgeicsICdob3Jpei1hZHYteCc6
ICcyMzAwJywgJ2dseXBoLW5hbWUnOiAnZ2VlJ30pLCBlKCdnbHlwaCcsIHsgJ3VuaWNvZGUnOiAn
XHVEODAwXHVEQzg1JywgJ2QnOiAnTTEwMCwwIGgxMDAgdi0xMDAgaC0xMDAgeicsICdob3Jpei1h
ZHYteCc6ICcyOTAwJywgJ2lkJzogJ2FzdHJhbCd9KSwgZSgnZ2x5cGgnLCB7ICd1bmljb2RlJzog
J0gnLCAnaG9yaXotYWR2LXgnOiAnMzEwMCd9LCBbZSgncGF0aCcsIHsgJ2QnOiAnTTEwMCwwIGgx
MDAgdi0xMDAgaC0xMDAgeid9KV0pLCBlKCdnbHlwaCcsIHsgJ3VuaWNvZGUnOiAnSScsICdkJzog
J00xMDAsMCBoMTAwIHYtMTAwIGgtMTAwIHonLCAnaG9yaXotYWR2LXgnOiAnNDEwMCcsICdsYW5n
JzogJ3poJ30pLCBlKCdnbHlwaCcsIHsgJ3VuaWNvZGUnOiAnSScsICdkJzogJ00xMDAsMCBoMTAw
IHYtMTAwIGgtMTAwIHonLCAnaG9yaXotYWR2LXgnOiAnNDMwMCd9KSwgZSgnZ2x5cGgnLCB7ICd1
bmljb2RlJzogJ0onLCAnZCc6ICdNMTAwLDAgaDEwMCB2LTEwMCBoLTEwMCB6JywgJ2hvcml6LWFk
di14JzogJzQ3MDAnfSksIGUoJ2dseXBoJywgeyAndW5pY29kZSc6ICdLJywgJ2QnOiAnTTEwMCww
IGgxMDAgdi0xMDAgaC0xMDAgeicsICdob3Jpei1hZHYteCc6ICc1MzAwJywgJ29yaWVudGF0aW9u
JzogJ3YnfSksIGUoJ2dseXBoJywgeyAndW5pY29kZSc6ICdLJywgJ2QnOiAnTTEwMCwwIGgxMDAg
di0xMDAgaC0xMDAgeicsICdob3Jpei1hZHYteCc6ICc1OTAwJ30pLCBlKCdnbHlwaCcsIHsgJ3Vu
aWNvZGUnOiAnICcsICdkJzogJ00xMDAsMCBoMTAwIHYtMTAwIGgtMTAwIHonLCAnaG9yaXotYWR2
LXgnOiAnNjEwMCcsICdnbHlwaC1uYW1lJzogJ0wnfSksIGUoJ2dseXBoJywgeyAndW5pY29kZSc6
ICdMJywgJ2QnOiAnTTEwMCwwIGgxMDAgdi0xMDAgaC0xMDAgeicsICdob3Jpei1hZHYteCc6ICc2
NzAwJywgJ2dseXBoLW5hbWUnOiAnc3BhY2UnfSksIGUoJ2hrZXJuJywgeyAndTEnOiAnQScsICd1
Mic6ICdFRScsICdrJzogJzEwMDAnfSksIGUoJ2hrZXJuJywgeyAndTEnOiAnQScsICdnMic6ICdn
cmFwZWZydWl0JywgJ2snOiAnLTIwMCd9KSwgZSgnaGtlcm4nLCB7ICd1MSc6ICdVKzAwNDYnLCAn
dTInOiAnVSswMDQ2JywgJ2snOiAnLTIwMCd9KSwgZSgnaGtlcm4nLCB7ICd1MSc6ICdVKzAwNDct
MDA0NycsICdnMic6ICdnZWUnLCAnayc6ICctMjAwJ30pLCBlKCdoa2VybicsIHsgJ3UxJzogJ0on
LCAndTInOiAnQScsICdrJzogJzQ3MDAnfSldKSk7CisvLyAgICAgIGRvYy5kb2N1bWVudEVsZW1l
bnQuYXBwZW5kQ2hpbGQoZSgndGV4dCcsIHsgJ3knOiAnMTAwJywgJ2ZvbnQtZmFtaWx5JzogJ0hD
bCcsICdmb250LXNpemUnOiAnMTAwcHgnLCAnbGV0dGVyLXNwYWNpbmcnOiAnMHB4JywgJ3dvcmQt
c3BhY2luZyc6ICcwcHgnfSwgWydBQkNCREFFRVUrMDA0NlUrMDA0NkdHSEknLCBlKCd0c3Bhbics
IHsgJ3htbDpsYW5nJzogJ3poJ30sIFsnSSddKSwgJ0pBSyBMJywgZSgnYWx0R2x5cGgnLCB7ICd4
bGluazpocmVmJzogJyNhc3RyYWwnfSwgWydBJ10pLCAnXHVEODAwXHVEQzg1QSddKSk7CisvLwor
Ly8gICAgICB2YXIgdCA9IGRvYy5kb2N1bWVudEVsZW1lbnQubGFzdENoaWxkOworLy8KKy8vICAg
ICAgdmFyIGNoYXJhY3RlckRlc2NyaXB0aW9ucyA9IFsKKy8vICAgICAgICAiYSBub3JtYWwgY2hh
cmFjdGVyIiwKKy8vICAgICAgICAidGhlIGZpcnN0IGNoYXJhY3RlciBvZiBhIHR3by1jaGFyYWN0
ZXIgZ2x5cGgiLAorLy8gICAgICAgICJ0aGUgc2Vjb25kIGNoYXJhY3RlciBvZiBhIHR3by1jaGFy
YWN0ZXIgZ2x5cGgiLAorLy8gICAgICAgICJhIG5vcm1hbCBjaGFyYWN0ZXIsIHdoaWNoIHNob3Vs
ZG4ndCBiZSB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIGEgdHdvLWNoYXJhY3RlciBnbHlwaCIsCisv
LyAgICAgICAgImEgbm9ybWFsIGNoYXJhY3Rlciwgd2hpY2ggc2hvdWxkbid0IGJlIHRoZSBzZWNv
bmQgY2hhcmFjdGVyIG9mIGEgdHdvLWNoYXJhY3RlciBnbHlwaCIsCisvLyAgICAgICAgImEgbm9y
bWFsIGNoYXJhY3Rlciwgd2hpY2ggaGFzIHNvbWUga2VybmluZyBhZnRlciBpdCIsCisvLyAgICAg
ICAgInRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYSB0d28tY2hhcmFjdGVyIGdseXBoLCB3aGljaCBo
YXMgc29tZSBrZXJuaW5nIGJlZm9yZSBpdCIsCisvLyAgICAgICAgInRoZSBzZWNvbmQgY2hhcmFj
dGVyIG9mIGEgdHdvLWNoYXJhY3RlciBnbHlwaCwgd2hpY2ggaGFzIHNvbWUga2VybmluZyBiZWZv
cmUgaXQiLAorLy8gICAgICAgICJ0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIGEgc2l4LWNoYXJhY3Rl
ciBnbHlwaCwgd2hpY2ggaGFwcGVucyB0byBsb29rIGxpa2UgYSBVbmljb2RlIHJhbmdlLCB3aGVy
ZSB0aGUgcmFuZ2Utc3BlY2lmaWVkIGdseXBoIGhhcyBrZXJuaW5nIGFmdGVyIGl0LCBidXQgdGhp
cyBnbHlwaCBkb2VzIG5vdCIsCisvLyAgICAgICAgInRoZSBzZWNvbmQgY2hhcmFjdGVyIG9mIGEg
c2l4LWNoYXJhY3RlciBnbHlwaCwgd2hpY2ggaGFwcGVucyB0byBsb29rIGxpa2UgYSBVbmljb2Rl
IHJhbmdlLCB3aGVyZSB0aGUgcmFuZ2Utc3BlY2lmaWVkIGdseXBoIGhhcyBrZXJuaW5nIGFmdGVy
IGl0LCBidXQgdGhpcyBnbHlwaCBkb2VzIG5vdCIsCisvLyAgICAgICAgInRoZSB0aGlyZCBjaGFy
YWN0ZXIgb2YgYSBzaXgtY2hhcmFjdGVyIGdseXBoLCB3aGljaCBoYXBwZW5zIHRvIGxvb2sgbGlr
ZSBhIFVuaWNvZGUgcmFuZ2UsIHdoZXJlIHRoZSByYW5nZS1zcGVjaWZpZWQgZ2x5cGggaGFzIGtl
cm5pbmcgYWZ0ZXIgaXQsIGJ1dCB0aGlzIGdseXBoIGRvZXMgbm90IiwKKy8vICAgICAgICAidGhl
IGZvdXJ0aCBjaGFyYWN0ZXIgb2YgYSBzaXgtY2hhcmFjdGVyIGdseXBoLCB3aGljaCBoYXBwZW5z
IHRvIGxvb2sgbGlrZSBhIFVuaWNvZGUgcmFuZ2UsIHdoZXJlIHRoZSByYW5nZS1zcGVjaWZpZWQg
Z2x5cGggaGFzIGtlcm5pbmcgYWZ0ZXIgaXQsIGJ1dCB0aGlzIGdseXBoIGRvZXMgbm90IiwKKy8v
ICAgICAgICAidGhlIGZpZnRoIGNoYXJhY3RlciBvZiBhIHNpeC1jaGFyYWN0ZXIgZ2x5cGgsIHdo
aWNoIGhhcHBlbnMgdG8gbG9vayBsaWtlIGEgVW5pY29kZSByYW5nZSwgd2hlcmUgdGhlIHJhbmdl
LXNwZWNpZmllZCBnbHlwaCBoYXMga2VybmluZyBhZnRlciBpdCwgYnV0IHRoaXMgZ2x5cGggZG9l
cyBub3QiLAorLy8gICAgICAgICJ0aGUgc2l4dGggY2hhcmFjdGVyIG9mIGEgc2l4LWNoYXJhY3Rl
ciBnbHlwaCwgd2hpY2ggaGFwcGVucyB0byBsb29rIGxpa2UgYSBVbmljb2RlIHJhbmdlLCB3aGVy
ZSB0aGUgcmFuZ2Utc3BlY2lmaWVkIGdseXBoIGhhcyBrZXJuaW5nIGFmdGVyIGl0LCBidXQgdGhp
cyBnbHlwaCBkb2VzIG5vdCIsCisvLyAgICAgICAgInRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYSBz
aXgtY2hhcmFjdGVyIGdseXBoLCB3aGljaCBoYXBwZW5zIHRvIGxvb2sgbGlrZSBhIFVuaWNvZGUg
cmFuZ2UsIHdoZXJlIHRoZSByYW5nZS1zcGVjaWZpZWQgZ2x5cGggaGFzIGtlcm5pbmcgYmVmb3Jl
IGl0LCBidXQgdGhpcyBnbHlwaCBkb2VzIG5vdCIsCisvLyAgICAgICAgInRoZSBzZWNvbmQgY2hh
cmFjdGVyIG9mIGEgc2l4LWNoYXJhY3RlciBnbHlwaCwgd2hpY2ggaGFwcGVucyB0byBsb29rIGxp
a2UgYSBVbmljb2RlIHJhbmdlLCB3aGVyZSB0aGUgcmFuZ2Utc3BlY2lmaWVkIGdseXBoIGhhcyBr
ZXJuaW5nIGJlZm9yZSBpdCwgYnV0IHRoaXMgZ2x5cGggZG9lcyBub3QiLAorLy8gICAgICAgICJ0
aGUgdGhpcmQgY2hhcmFjdGVyIG9mIGEgc2l4LWNoYXJhY3RlciBnbHlwaCwgd2hpY2ggaGFwcGVu
cyB0byBsb29rIGxpa2UgYSBVbmljb2RlIHJhbmdlLCB3aGVyZSB0aGUgcmFuZ2Utc3BlY2lmaWVk
IGdseXBoIGhhcyBrZXJuaW5nIGJlZm9yZSBpdCwgYnV0IHRoaXMgZ2x5cGggZG9lcyBub3QiLAor
Ly8gICAgICAgICJ0aGUgZm91cnRoIGNoYXJhY3RlciBvZiBhIHNpeC1jaGFyYWN0ZXIgZ2x5cGgs
IHdoaWNoIGhhcHBlbnMgdG8gbG9vayBsaWtlIGEgVW5pY29kZSByYW5nZSwgd2hlcmUgdGhlIHJh
bmdlLXNwZWNpZmllZCBnbHlwaCBoYXMga2VybmluZyBiZWZvcmUgaXQsIGJ1dCB0aGlzIGdseXBo
IGRvZXMgbm90IiwKKy8vICAgICAgICAidGhlIGZpZnRoIGNoYXJhY3RlciBvZiBhIHNpeC1jaGFy
YWN0ZXIgZ2x5cGgsIHdoaWNoIGhhcHBlbnMgdG8gbG9vayBsaWtlIGEgVW5pY29kZSByYW5nZSwg
d2hlcmUgdGhlIHJhbmdlLXNwZWNpZmllZCBnbHlwaCBoYXMga2VybmluZyBiZWZvcmUgaXQsIGJ1
dCB0aGlzIGdseXBoIGRvZXMgbm90IiwKKy8vICAgICAgICAidGhlIHNpeHRoIGNoYXJhY3RlciBv
ZiBhIHNpeC1jaGFyYWN0ZXIgZ2x5cGgsIHdoaWNoIGhhcHBlbnMgdG8gbG9vayBsaWtlIGEgVW5p
Y29kZSByYW5nZSwgd2hlcmUgdGhlIHJhbmdlLXNwZWNpZmllZCBnbHlwaCBoYXMga2VybmluZyBi
ZWZvcmUgaXQsIGJ1dCB0aGlzIGdseXBoIGRvZXMgbm90IiwKKy8vICAgICAgICAiYSBub3JtYWwg
Y2hhcmFjdGVyLCB3aGljaCBoYXMgc29tZSBrZXJuaW5nIGFmdGVyIGl0IHRoYXQgaXMgc3BlY2lm
aWVkIGJ5IGdseXBoIG5hbWUiLAorLy8gICAgICAgICJhIG5vcm1hbCBjaGFyYWN0ZXIsIHdoaWNo
IGhhcyBzb21lIGtlcm5pbmcgYmVmb3JlIGl0IHRoYXQgaXMgc3BlY2lmaWVkIGJ5IGdseXBoIG5h
bWUiLAorLy8gICAgICAgICJhIG5vcm1hbCBjaGFyYWN0ZXIsIHdob3NlIGdseXBoIGlzIGdpdmVu
IGJ5IGNoaWxkIGdyYXBoaWNhbCBjb250ZW50IG9mIHRoZSA8Z2x5cGg+IGVsZW1lbnQiLAorLy8g
ICAgICAgICJhIG5vcm1hbCBjaGFyYWN0ZXIsIHdob3NlIGdseXBoIHNob3VsZCBub3QgbWF0Y2gg
dGhlIG9uZSB3aXRoIGEgbGFuZz1cIlwiIGF0dHJpYnV0ZSBvbiBpdCIsCisvLyAgICAgICAgImEg
bm9ybWFsIGNoYXJhY3Rlciwgd2hvc2UgZ2x5cGggc2hvdWxkIG1hdGNoIHRoZSBvbmUgd2l0aCBh
IGxhbmc9XCJcIiBhdHRyaWJ1dGUgb24gaXQiLAorLy8gICAgICAgICJhIG5vcm1hbCBjaGFyYWN0
ZXIsIHdoaWNoIGhhcyBzb21lIGtlcm5pbmcgYWZ0ZXIgaXQgdGhhdCBpcyBlcXVhbCB0byB0aGUg
YWR2YW5jZSBvZiB0aGUgY2hhcmFjdGVyIiwKKy8vICAgICAgICAiYSBub3JtYWwgY2hhcmFjdGVy
LCB3aGljaCBoYXMgc29tZSBrZXJuaW5nIGJlZm9yZSBpdCB0aGF0IGlzIGVxdWFsIHRvIHRoZSBh
ZHZhbmNlIG9mIHRoZSBwcmV2aW91cyBjaGFyYWN0ZXIiLAorLy8gICAgICAgICJhIG5vcm1hbCBj
aGFyYWN0ZXIsIHdob3NlIGdseXBoIHNob3VsZCBub3QgbWF0Y2ggdGhlIG9uZSB3aXRoIGFuIG9y
aWVudGF0aW9uPVwidlwiIGF0dHJpYnV0ZSBvbiBpdCIsCisvLyAgICAgICAgImEgc3BhY2UgY2hh
cmFjdGVyLCB3aGljaCBoYXMgYSBtaXNsZWFkaW5nIGdseXBoLW5hbWU9XCJcIiBhdHRyaWJ1dGUi
LAorLy8gICAgICAgICJhIG5vcm1hbCBjaGFyYWN0ZXIsIHdoaWNoIGhhcyBhIG1pc2xlYWRpbmcg
Z2x5cGgtbmFtZT1cIlwiIGF0dHJpYnV0ZSIsCisvLyAgICAgICAgImEgbm9ybWFsIGNoYXJhY3Rl
ciwgd2hvc2UgZ2x5cGggaXMgY2hvc2VuIHRvIGJlIGFub3RoZXIgYnkgdXNpbmcgPGFsdEdseXBo
PiIsCisvLyAgICAgICAgImEgY2hhcmFjdGVyIG5vdCBpbiBQbGFuZSAwIChoaWdoIHN1cnJvZ2F0
ZSBwYWlyKSIsCisvLyAgICAgICAgImEgY2hhcmFjdGVyIG5vdCBpbiBQbGFuZSAwIChsb3cgc3Vy
cm9nYXRlIHBhaXIpIiwKKy8vICAgICAgICAiYSBub3JtYWwgY2hhcmFjdGVyIiwKKy8vICAgICAg
XTsKKy8vCisvLyAgICAgIHZhciBleHBlY3RlZEFkdmFuY2VzID0gWworLy8gICAgICAgIDEwMDAw
LCAgICAgICAvLyBBCisvLyAgICAgICAgMCwgICAgICAgICAgIC8vIEJDIFswXQorLy8gICAgICAg
IDIwMCwgICAgICAgICAvLyBCQyBbMV0KKy8vICAgICAgICAzMDAsICAgICAgICAgLy8gQgorLy8g
ICAgICAgIDExMDAsICAgICAgICAvLyBECisvLyAgICAgICAgMTAwMDAsICAgICAgIC8vIEEKKy8v
ICAgICAgICAwLCAgICAgICAgICAgLy8gRUUgWzBdCisvLyAgICAgICAgMTMwMCwgICAgICAgIC8v
IEVFIFsxXQorLy8gICAgICAgIDAsICAgICAgICAgICAvLyBVKzAwNDYgWzBdCisvLyAgICAgICAg
MCwgICAgICAgICAgIC8vIFUrMDA0NiBbMV0KKy8vICAgICAgICAwLCAgICAgICAgICAgLy8gVSsw
MDQ2IFsyXQorLy8gICAgICAgIDAsICAgICAgICAgICAvLyBVKzAwNDYgWzNdCisvLyAgICAgICAg
MCwgICAgICAgICAgIC8vIFUrMDA0NiBbNF0KKy8vICAgICAgICAxNzAwLCAgICAgICAgLy8gVSsw
MDQ2IFs1XQorLy8gICAgICAgIDAsICAgICAgICAgICAvLyBVKzAwNDYgWzBdCisvLyAgICAgICAg
MCwgICAgICAgICAgIC8vIFUrMDA0NiBbMV0KKy8vICAgICAgICAwLCAgICAgICAgICAgLy8gVSsw
MDQ2IFsyXQorLy8gICAgICAgIDAsICAgICAgICAgICAvLyBVKzAwNDYgWzNdCisvLyAgICAgICAg
MCwgICAgICAgICAgIC8vIFUrMDA0NiBbNF0KKy8vICAgICAgICAxNzAwLCAgICAgICAgLy8gVSsw
MDQ2IFs1XQorLy8gICAgICAgIDIzMDAsICAgICAgICAvLyBHCisvLyAgICAgICAgMjMwMCwgICAg
ICAgIC8vIEcKKy8vICAgICAgICAzMTAwLCAgICAgICAgLy8gSAorLy8gICAgICAgIDQzMDAsICAg
ICAgICAvLyBJCisvLyAgICAgICAgNDEwMCwgICAgICAgIC8vIEkgKHpoKQorLy8gICAgICAgIDQ3
MDAsICAgICAgICAvLyBKCisvLyAgICAgICAgMTAwMDAsICAgICAgIC8vIEEKKy8vICAgICAgICA1
OTAwLCAgICAgICAgLy8gSworLy8gICAgICAgIDYxMDAsICAgICAgICAvLyA8c3BhY2U+CisvLyAg
ICAgICAgNjcwMCwgICAgICAgIC8vIEwKKy8vICAgICAgICAyOTAwLCAgICAgICAgLy8gQSAodXNp
bmcgJiN4MTAwODU7IGFsdEdseXBoKQorLy8gICAgICAgIDAsICAgICAgICAgICAvLyAmI3gxMDA4
NTsgaGlnaCBzdXJyb2dhdGUgcGFpcgorLy8gICAgICAgIDI5MDAsICAgICAgICAvLyAmI3gxMDA4
NTsgbG93IHN1cnJvZ2F0ZSBwYWlyCisvLyAgICAgICAgMTAwMDAsICAgICAgIC8vIEEKKy8vICAg
ICAgXTsKKy8vCisvLyAgICAgIHZhciBleHBlY3RlZEtlcm5pbmcgPSBbCisvLyAgICAgICAgMCwg
ICAgICAgICAgIC8vIEEKKy8vICAgICAgICAwLCAgICAgICAgICAgLy8gQkMgWzBdCisvLyAgICAg
ICAgMCwgICAgICAgICAgIC8vIEJDIFsxXQorLy8gICAgICAgIDAsICAgICAgICAgICAvLyBCCisv
LyAgICAgICAgMCwgICAgICAgICAgIC8vIEQKKy8vICAgICAgICAyMDAsICAgICAgICAgLy8gQQor
Ly8gICAgICAgIDAsICAgICAgICAgICAvLyBFRSBbMF0KKy8vICAgICAgICAwLCAgICAgICAgICAg
Ly8gRUUgWzFdCisvLyAgICAgICAgMCwgICAgICAgICAgIC8vIFUrMDA0NiBbMF0KKy8vICAgICAg
ICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFsxXQorLy8gICAgICAgIDAsICAgICAgICAgICAvLyBV
KzAwNDYgWzJdCisvLyAgICAgICAgMCwgICAgICAgICAgIC8vIFUrMDA0NiBbM10KKy8vICAgICAg
ICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFs0XQorLy8gICAgICAgIDAsICAgICAgICAgICAvLyBV
KzAwNDYgWzVdCisvLyAgICAgICAgMCwgICAgICAgICAgIC8vIFUrMDA0NiBbMF0KKy8vICAgICAg
ICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFsxXQorLy8gICAgICAgIDAsICAgICAgICAgICAvLyBV
KzAwNDYgWzJdCisvLyAgICAgICAgMCwgICAgICAgICAgIC8vIFUrMDA0NiBbM10KKy8vICAgICAg
ICAwLCAgICAgICAgICAgLy8gVSswMDQ2IFs0XQorLy8gICAgICAgIDAsICAgICAgICAgICAvLyBV
KzAwNDYgWzVdCisvLyAgICAgICAgMjAwLCAgICAgICAgIC8vIEcKKy8vICAgICAgICAwLCAgICAg
ICAgICAgLy8gRworLy8gICAgICAgIDAsICAgICAgICAgICAvLyBICisvLyAgICAgICAgMCwgICAg
ICAgICAgIC8vIEkKKy8vICAgICAgICAwLCAgICAgICAgICAgLy8gSSAoemgpCisvLyAgICAgICAg
LTQ3MDAsICAgICAgIC8vIEoKKy8vICAgICAgICAwLCAgICAgICAgICAgLy8gQQorLy8gICAgICAg
IDAsICAgICAgICAgICAvLyBLCisvLyAgICAgICAgMCwgICAgICAgICAgIC8vIDxzcGFjZT4KKy8v
ICAgICAgICAwLCAgICAgICAgICAgLy8gTAorLy8gICAgICAgIDAsICAgICAgICAgICAvLyBBICh1
c2luZyAmI3gxMDA4NTsgYWx0R2x5cGgpCisvLyAgICAgICAgMCwgICAgICAgICAgIC8vICYjeDEw
MDg1OyBoaWdoIHN1cnJvZ2F0ZSBwYWlyCisvLyAgICAgICAgMCwgICAgICAgICAgIC8vICYjeDEw
MDg1OyBsb3cgc3Vycm9nYXRlIHBhaXIKKy8vICAgICAgICAwLCAgICAgICAgICAgLy8gQQorLy8g
ICAgICBdOworLy8KKy8vICAgICAgYXNzZXJ0RXF1YWxzKHQuZ2V0TnVtYmVyT2ZDaGFycygpLCBl
eHBlY3RlZEFkdmFuY2VzLmxlbmd0aCwgJ1NWR1NWR1RleHRFbGVtZW50LmdldE51bWJlck9mQ2hh
cnMoKSBpbmNvcnJlY3QnKTsKKy8vCisvLyAgICAgIHZhciBleHBlY3RlZFBvc2l0aW9ucyA9IFsw
XTsKKy8vICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHBlY3RlZEFkdmFuY2VzLmxlbmd0aDsg
aSsrKQorLy8gICAgICAgIGV4cGVjdGVkUG9zaXRpb25zLnB1c2goZXhwZWN0ZWRQb3NpdGlvbnNb
aV0gKyBleHBlY3RlZEFkdmFuY2VzW2ldICsgZXhwZWN0ZWRLZXJuaW5nW2ldKTsKKy8vCisvLyAg
ICAgIHZhciBhY3R1YWxQb3NpdGlvbnMgPSBbXTsKKy8vICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCB0LmdldE51bWJlck9mQ2hhcnMoKTsgaSsrKQorLy8gICAgICAgIGFjdHVhbFBvc2l0aW9ucy5w
dXNoKHQuZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcihpKS54KTsKKy8vICAgICAgYWN0dWFsUG9zaXRp
b25zLnB1c2godC5nZXRFbmRQb3NpdGlvbk9mQ2hhcih0LmdldE51bWJlck9mQ2hhcnMoKSAtIDEp
LngpOworLy8KKy8vICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHBlY3RlZFBvc2l0aW9ucy5s
ZW5ndGg7IGkrKykgeworLy8gICAgICAgIGlmIChleHBlY3RlZFBvc2l0aW9uc1tpXSAhPSBhY3R1
YWxQb3NpdGlvbnNbaV0pIHsKKy8vICAgICAgICAgIHZhciBzID0gImNoYXJhY3RlciBwb3NpdGlv
biAiICsgaSArICIsIHdoaWNoIGlzICI7CisvLyAgICAgICAgICBpZiAoaSA9PSAwKSB7CisvLyAg
ICAgICAgICAgIHMgKz0gImJlZm9yZSAiICsgY2hhcmFjdGVyRGVzY3JpcHRpb25zWzBdOworLy8g
ICAgICAgICAgfSBlbHNlIGlmIChpID09IGV4cGVjdGVkUG9zaXRpb25zLmxlbmd0aCAtIDEpIHsK
Ky8vICAgICAgICAgICAgcyArPSAiYWZ0ZXIgIiArIGNoYXJhY3RlckRlc2NyaXB0aW9uc1tjaGFy
YWN0ZXJEZXNjcmlwdGlvbnMubGVuZ3RoIC0gMV07CisvLyAgICAgICAgICB9IGVsc2UgeworLy8g
ICAgICAgICAgICBzICs9ICJiZXR3ZWVuICIgKyBjaGFyYWN0ZXJEZXNjcmlwdGlvbnNbaSAtIDFd
ICsgIiBhbmQgIiArIGNoYXJhY3RlckRlc2NyaXB0aW9uc1tpXTsKKy8vICAgICAgICAgIH0KKy8v
ICAgICAgICAgIHMgKz0gIiwgaXMgIiArIGFjdHVhbFBvc2l0aW9uc1tpXSArICIgYnV0IHNob3Vs
ZCBiZSAiICsgZXhwZWN0ZWRQb3NpdGlvbnNbaV0gKyAiLiI7CisvLyAgICAgICAgICBmYWlsKHMp
OworLy8gICAgICAgIH0KKy8vICAgICAgfQogICAgICAgcmV0dXJuIDU7CiAgICAgfSwKICAgICBm
dW5jdGlvbiAoKSB7CkBAIC0zMzczLDcgKzMzOTEsOCBAQAogICAgICAgLy8gdGVzdCA5ODogWEhU
TUwgYW5kIHRoZSBET00KICAgICAgIC8vIChzcGVjaWFsIHRlc3QpCiAgICAgICB2YXIgZG9jdHlw
ZSA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3VtZW50VHlwZSgiaHRtbCIsICIt
Ly9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIsICJodHRwOi8vd3d3LnczLm9yZy9UUi94
aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIik7Ci0gICAgICBhc3NlcnRFcXVhbHMoZG9jdHlw
ZS5vd25lckRvY3VtZW50LCBudWxsLCAiZG9jdHlwZSdzIG93bmVyRG9jdW1lbnQgd2FzIHdyb25n
IGFmdGVyIGNyZWF0aW9uIik7CisvLyBDT01NRU5URUQgT1VUIEZPUiAyMDExIFVQREFURSAtIGRv
Y3R5cGVzIGFyZSBtb3ZpbmcgdG93YXJkcyBoYXZpbmcgYW4gb3duZXIsIGxpa2Ugb3RoZXIgbm9k
ZXMKKy8vICAgICAgYXNzZXJ0RXF1YWxzKGRvY3R5cGUub3duZXJEb2N1bWVudCwgbnVsbCwgImRv
Y3R5cGUncyBvd25lckRvY3VtZW50IHdhcyB3cm9uZyBhZnRlciBjcmVhdGlvbiIpOwogICAgICAg
dmFyIGRvYyA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3VtZW50KCJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hodG1sIiwgImh0bWwiLCBkb2N0eXBlKTsKICAgICAgIGRvYy5kb2N1
bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCIsICJoZWFkIikpOwogICAgICAgZG9jLmRvY3VtZW50RWxlbWVudC5h
cHBlbmRDaGlsZChkb2MuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3ho
dG1sIiwgImJvZHkiKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>