<?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>49317</bug_id>
          
          <creation_ts>2010-11-10 06:36:47 -0800</creation_ts>
          <short_desc>Clean up LayoutTests/canvas/philip/tests/security* tests</short_desc>
          <delta_ts>2010-11-11 07:52:59 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>41279</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chang Shu">cshu</reporter>
          <assigned_to name="Chang Shu">cshu</assigned_to>
          <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>ossy</cc>
    
    <cc>qi.2.zhang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>307328</commentid>
    <comment_count>0</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2010-11-10 06:36:47 -0800</bug_when>
    <thetext>The above tests have been moved to LayoutTests/http/tests/canvas/philip/tests. Because of technical issues on the commit tool, they have to be removed manually. I will submit the patch just for review purpose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307336</commentid>
    <comment_count>1</comment_count>
      <attachid>73494</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2010-11-10 07:03:56 -0800</bug_when>
    <thetext>Created attachment 73494
fix patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307337</commentid>
    <comment_count>2</comment_count>
      <attachid>73495</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2010-11-10 07:06:01 -0800</bug_when>
    <thetext>Created attachment 73495
fix patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307871</commentid>
    <comment_count>3</comment_count>
      <attachid>73495</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-11-11 06:29:00 -0800</bug_when>
    <thetext>Comment on attachment 73495
fix patch

r=me, but please reference why do we need to remove them.

http://trac.webkit.org/changeset/63752 - you moved them
http://trac.webkit.org/changeset/71481 - Kling re-added them with update</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307917</commentid>
    <comment_count>4</comment_count>
      <attachid>73495</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2010-11-11 07:52:44 -0800</bug_when>
    <thetext>Comment on attachment 73495
fix patch

Patch committed manually, r71822.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73494</attachid>
            <date>2010-11-10 07:03:56 -0800</date>
            <delta_ts>2010-11-10 07:04:40 -0800</delta_ts>
            <desc>fix patch</desc>
            <filename>49317_1.patch</filename>
            <type>text/plain</type>
            <size>34962</size>
            <attacher name="Chang Shu">cshu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTYzNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMTEtMDkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNp
YUBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENhbm5vdCBzZWxlY3QgbXVsdGlwbGUgbm9uLWFkamFjZW50IGl0ZW1zIGluIGEgbXVs
dGlwbGUgc2VsZWN0IGNvbnRyb2wgd2l0aCB0aGUga2V5Ym9hcmQgb25seQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MTYKKworICAgICAgICAqIGRv
bS9TZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnQ6Omxp
c3RCb3hEZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlz
dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjphZGRGb2N1c1JpbmdS
ZWN0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaDoKKwogMjAxMC0xMS0w
OSAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCkluZGV4OiBXZWJDb3JlL2RvbS9TZWxlY3RF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmNwcAko
cmV2aXNpb24gNzE2MzUpCisrKyBXZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxLZXlnZW5FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisj
aW5jbHVkZSAiSFRNTE9wdGlvbkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVu
dC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50Lmgi
CkBAIC0xNjQsOSArMTY1LDExIEBAIHZvaWQgU2VsZWN0RWxlbWVudDo6dXBkYXRlTGlzdEJveFNl
bGVjdGkKICAgICAgICAgaWYgKCFvcHRpb25FbGVtZW50IHx8IGl0ZW1zW2ldLT5kaXNhYmxlZCgp
KQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgaWYgKGkgPj0gc3RhcnQgJiYgaSA8
PSBlbmQpCisgICAgICAgIGlmIChpID49IHN0YXJ0ICYmIGkgPD0gZW5kKSB7CiAgICAgICAgICAg
ICBvcHRpb25FbGVtZW50LT5zZXRTZWxlY3RlZFN0YXRlKGRhdGEuYWN0aXZlU2VsZWN0aW9uU3Rh
dGUoKSk7Ci0gICAgICAgIGVsc2UgaWYgKGRlc2VsZWN0T3RoZXJPcHRpb25zIHx8IGkgPj0gY2Fj
aGVkU3RhdGVGb3JBY3RpdmVTZWxlY3Rpb24uc2l6ZSgpKQorLy9jcyAgICAgICAgICAgIEhUTUxP
cHRpb25FbGVtZW50KiBvcHQgPSBzdGF0aWNfY2FzdDxIVE1MT3B0aW9uRWxlbWVudCo+KGl0ZW1z
W2ldKTsKKy8vY3MgICAgICAgICAgICBvcHQtPmZvY3VzKCk7CisgICAgICAgIH0gZWxzZSBpZiAo
ZGVzZWxlY3RPdGhlck9wdGlvbnMgfHwgaSA+PSBjYWNoZWRTdGF0ZUZvckFjdGl2ZVNlbGVjdGlv
bi5zaXplKCkpCiAgICAgICAgICAgICBvcHRpb25FbGVtZW50LT5zZXRTZWxlY3RlZFN0YXRlKGZh
bHNlKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgb3B0aW9uRWxlbWVudC0+c2V0U2VsZWN0
ZWRTdGF0ZShjYWNoZWRTdGF0ZUZvckFjdGl2ZVNlbGVjdGlvbltpXSk7CkBAIC01MTIsNyArNTE1
LDYgQEAgdm9pZCBTZWxlY3RFbGVtZW50OjpyZXNldChTZWxlY3RFbGVtZW50RAogICAgIGVsZW1l
bnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoKTsKIH0KICAgICAKLSNpZiAhQVJST1dfS0VZU19QT1Bf
TUVOVQogZW51bSBTa2lwRGlyZWN0aW9uIHsKICAgICBTa2lwQmFja3dhcmRzID0gLTEsCiAgICAg
U2tpcEZvcndhcmRzID0gMQpAQCAtNTMzLDcgKzUzNSw2IEBAIHN0YXRpYyBpbnQgbmV4dFZhbGlk
SW5kZXgoY29uc3QgVmVjdG9yPEUKICAgICB9CiAgICAgcmV0dXJuIGxhc3RHb29kSW5kZXg7CiB9
Ci0jZW5kaWYKIAogdm9pZCBTZWxlY3RFbGVtZW50OjptZW51TGlzdERlZmF1bHRFdmVudEhhbmRs
ZXIoU2VsZWN0RWxlbWVudERhdGEmIGRhdGEsIEVsZW1lbnQqIGVsZW1lbnQsIEV2ZW50KiBldmVu
dCwgSFRNTEZvcm1FbGVtZW50KiBodG1sRm9ybSkKIHsKQEAgLTU0NSwyMCArNTQ2LDI0IEBAIHZv
aWQgU2VsZWN0RWxlbWVudDo6bWVudUxpc3REZWZhdWx0RXZlbnQKICAgICAgICAgYm9vbCBoYW5k
bGVkID0gZmFsc2U7CiAKICNpZiBBUlJPV19LRVlTX1BPUF9NRU5VCi0gICAgICAgIGlmIChrZXlJ
ZGVudGlmaWVyID09ICJEb3duIiB8fCBrZXlJZGVudGlmaWVyID09ICJVcCIpIHsKLSAgICAgICAg
ICAgIGVsZW1lbnQtPmZvY3VzKCk7Ci0KLSAgICAgICAgICAgIGlmICghZWxlbWVudC0+cmVuZGVy
ZXIoKSkgLy8gQ2FsbGluZyBmb2N1cygpIG1heSBjYXVzZSB1cyB0byBsb3NlIG91ciByZW5kZXJl
ciwgaW4gd2hpY2ggY2FzZSBkbyBub3Qgd2FudCB0byBoYW5kbGUgdGhlIGV2ZW50LgotICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCFpc1NwYXRpYWxOYXZpZ2F0aW9uRW5hYmxl
ZChlbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpKSkgeworICAgICAgICAgICAgaWYgKGtleUlk
ZW50aWZpZXIgPT0gIkRvd24iIHx8IGtleUlkZW50aWZpZXIgPT0gIlVwIikgeworICAgICAgICAg
ICAgICAgIGVsZW1lbnQtPmZvY3VzKCk7CisKKyAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnQt
PnJlbmRlcmVyKCkpIC8vIENhbGxpbmcgZm9jdXMoKSBtYXkgY2F1c2UgdXMgdG8gbG9zZSBvdXIg
cmVuZGVyZXIsIGluIHdoaWNoIGNhc2UgZG8gbm90IHdhbnQgdG8gaGFuZGxlIHRoZSBldmVudC4K
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgLy8gU2F2ZSB0
aGUgc2VsZWN0aW9uIHNvIGl0IGNhbiBiZSBjb21wYXJlZCB0byB0aGUgbmV3IHNlbGVjdGlvbiB3
aGVuIGRpc3BhdGNoaW5nIGNoYW5nZSBldmVudHMgZHVyaW5nIHNldFNlbGVjdGVkSW5kZXgsCisg
ICAgICAgICAgICAgICAgLy8gd2hpY2ggZ2V0cyBjYWxsZWQgZnJvbSBSZW5kZXJNZW51TGlzdDo6
dmFsdWVDaGFuZ2VkLCB3aGljaCBnZXRzIGNhbGxlZCBhZnRlciB0aGUgdXNlciBtYWtlcyBhIHNl
bGVjdGlvbiBmcm9tIHRoZSBtZW51LgorICAgICAgICAgICAgICAgIHNhdmVMYXN0U2VsZWN0aW9u
KGRhdGEsIGVsZW1lbnQpOworICAgICAgICAgICAgICAgIGlmIChSZW5kZXJNZW51TGlzdCogbWVu
dUxpc3QgPSB0b1JlbmRlck1lbnVMaXN0KGVsZW1lbnQtPnJlbmRlcmVyKCkpKQorICAgICAgICAg
ICAgICAgICAgICBtZW51TGlzdC0+c2hvd1BvcHVwKCk7CiAKLSAgICAgICAgICAgIC8vIFNhdmUg
dGhlIHNlbGVjdGlvbiBzbyBpdCBjYW4gYmUgY29tcGFyZWQgdG8gdGhlIG5ldyBzZWxlY3Rpb24g
d2hlbiBkaXNwYXRjaGluZyBjaGFuZ2UgZXZlbnRzIGR1cmluZyBzZXRTZWxlY3RlZEluZGV4LAot
ICAgICAgICAgICAgLy8gd2hpY2ggZ2V0cyBjYWxsZWQgZnJvbSBSZW5kZXJNZW51TGlzdDo6dmFs
dWVDaGFuZ2VkLCB3aGljaCBnZXRzIGNhbGxlZCBhZnRlciB0aGUgdXNlciBtYWtlcyBhIHNlbGVj
dGlvbiBmcm9tIHRoZSBtZW51LgotICAgICAgICAgICAgc2F2ZUxhc3RTZWxlY3Rpb24oZGF0YSwg
ZWxlbWVudCk7Ci0gICAgICAgICAgICBpZiAoUmVuZGVyTWVudUxpc3QqIG1lbnVMaXN0ID0gdG9S
ZW5kZXJNZW51TGlzdChlbGVtZW50LT5yZW5kZXJlcigpKSkKLSAgICAgICAgICAgICAgICBtZW51
TGlzdC0+c2hvd1BvcHVwKCk7Ci0gICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQotI2Vsc2UKKyNlbmRpZgogICAgICAgICAvLyBXaGVu
IHVzaW5nIHNwYXRpYWwgbmF2aWdhdGlvbiwgd2Ugd2FudCB0byBiZSBhYmxlIHRvIG5hdmlnYXRl
IGF3YXkgZnJvbSB0aGUgc2VsZWN0IGVsZW1lbnQKICAgICAgICAgLy8gd2hlbiB0aGUgdXNlciBo
aXRzIGFueSBvZiB0aGUgYXJyb3cga2V5cywgaW5zdGVhZCBvZiBjaGFuZ2luZyB0aGUgc2VsZWN0
aW9uLgogICAgICAgICBpZiAoaXNTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoZWxlbWVudC0+ZG9j
dW1lbnQoKS0+ZnJhbWUoKSkpCkBAIC01OTEsNyArNTk2LDcgQEAgdm9pZCBTZWxlY3RFbGVtZW50
OjptZW51TGlzdERlZmF1bHRFdmVudAogICAgICAgICAKICAgICAgICAgaWYgKGhhbmRsZWQgJiYg
bGlzdEluZGV4ID49IDAgJiYgKHVuc2lnbmVkKWxpc3RJbmRleCA8IGxpc3RJdGVtcy5zaXplKCkp
CiAgICAgICAgICAgICBzZXRTZWxlY3RlZEluZGV4KGRhdGEsIGVsZW1lbnQsIGxpc3RUb09wdGlv
bkluZGV4KGRhdGEsIGVsZW1lbnQsIGxpc3RJbmRleCkpOwotI2VuZGlmCisKICAgICAgICAgaWYg
KGhhbmRsZWQpCiAgICAgICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKICAgICB9
CkBAIC03NTQsNyArNzU5LDExIEBAIHZvaWQgU2VsZWN0RWxlbWVudDo6bGlzdEJveERlZmF1bHRF
dmVudEgKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgU3RyaW5nIGtleUlkZW50aWZpZXIg
PSBzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50Kj4oZXZlbnQpLT5rZXlJZGVudGlmaWVyKCk7CiAK
LSAgICAgICAgaW50IGVuZEluZGV4ID0gMDsgICAgICAgIAorICAgICAgICBpZiAoaXNTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQoZWxlbWVudC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSkpCisgICAgICAg
ICAgICBpZiAoIWRhdGEuYWN0aXZlU2VsZWN0aW9uU3RhdGUoKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgaW50IGVuZEluZGV4ID0gMDsKICAgICAgICAgaWYgKGRhdGEuYWN0
aXZlU2VsZWN0aW9uRW5kSW5kZXgoKSA8IDApIHsKICAgICAgICAgICAgIC8vIEluaXRpYWxpemUg
dGhlIGVuZCBpbmRleAogICAgICAgICAgICAgaWYgKGtleUlkZW50aWZpZXIgPT0gIkRvd24iKQpA
QCAtNzY5LDI5ICs3NzgsMzMgQEAgdm9pZCBTZWxlY3RFbGVtZW50OjpsaXN0Qm94RGVmYXVsdEV2
ZW50SAogICAgICAgICAgICAgICAgIGVuZEluZGV4ID0gcHJldmlvdXNTZWxlY3RhYmxlTGlzdElu
ZGV4KGRhdGEsIGVsZW1lbnQsIGRhdGEuYWN0aXZlU2VsZWN0aW9uRW5kSW5kZXgoKSk7ICAgIAog
ICAgICAgICB9CiAKLSAgICAgICAgaWYgKGlzU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGVsZW1l
bnQtPmRvY3VtZW50KCktPmZyYW1lKCkpKQotICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHNl
bGVjdGlvbiBtb3ZlcyB0byB0aGUgYm91bmRhcnkuCi0gICAgICAgICAgICBpZiAoa2V5SWRlbnRp
ZmllciA9PSAiTGVmdCIgfHwga2V5SWRlbnRpZmllciA9PSAiUmlnaHQiIHx8ICgoa2V5SWRlbnRp
ZmllciA9PSAiRG93biIgfHwga2V5SWRlbnRpZmllciA9PSAiVXAiKSAmJiBlbmRJbmRleCA9PSBk
YXRhLmFjdGl2ZVNlbGVjdGlvbkVuZEluZGV4KCkpKQotICAgICAgICAgICAgICAgIHJldHVybjsK
LQogICAgICAgICBpZiAoa2V5SWRlbnRpZmllciA9PSAiRG93biIgfHwga2V5SWRlbnRpZmllciA9
PSAiVXAiKSB7CiAgICAgICAgICAgICAvLyBTYXZlIHRoZSBzZWxlY3Rpb24gc28gaXQgY2FuIGJl
IGNvbXBhcmVkIHRvIHRoZSBuZXcgc2VsZWN0aW9uIHdoZW4gZGlzcGF0Y2hpbmcgY2hhbmdlIGV2
ZW50cyBpbW1lZGlhdGVseSBhZnRlciBtYWtpbmcgdGhlIG5ldyBzZWxlY3Rpb24uCiAgICAgICAg
ICAgICBzYXZlTGFzdFNlbGVjdGlvbihkYXRhLCBlbGVtZW50KTsKIAogICAgICAgICAgICAgQVNT
RVJUX1VOVVNFRChsaXN0SXRlbXMsICFsaXN0SXRlbXMuc2l6ZSgpIHx8IChlbmRJbmRleCA+PSAw
ICYmICh1bnNpZ25lZCkgZW5kSW5kZXggPCBsaXN0SXRlbXMuc2l6ZSgpKSk7CiAgICAgICAgICAg
ICBzZXRBY3RpdmVTZWxlY3Rpb25FbmRJbmRleChkYXRhLCBlbmRJbmRleCk7Ci0gICAgICAgICAg
ICAKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJX
SU4pKQorICAgICAgICAgICAgYm9vbCBpc0N0cmxLZXkgPSBkYXRhLm11bHRpcGxlKCkgJiYgc3Rh
dGljX2Nhc3Q8S2V5Ym9hcmRFdmVudCo+KGV2ZW50KS0+bWV0YUtleSgpOworI2Vsc2UKKyAgICAg
ICAgICAgIGJvb2wgaXNDdHJsS2V5ID0gZGF0YS5tdWx0aXBsZSgpICYmIHN0YXRpY19jYXN0PEtl
eWJvYXJkRXZlbnQqPihldmVudCktPmN0cmxLZXkoKTsKKyNlbmRpZgogICAgICAgICAgICAgLy8g
SWYgdGhlIGFuY2hvciBpcyB1bml0aWFsaXplZCwgb3IgaWYgd2UncmUgZ29pbmcgdG8gZGVzZWxl
Y3QgYWxsIG90aGVyIG9wdGlvbnMsIHRoZW4gc2V0IHRoZSBhbmNob3IgaW5kZXggZXF1YWwgdG8g
dGhlIGVuZCBpbmRleC4KLSAgICAgICAgICAgIGJvb2wgZGVzZWxlY3RPdGhlcnMgPSAhZGF0YS5t
dWx0aXBsZSgpIHx8ICFzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50Kj4oZXZlbnQpLT5zaGlmdEtl
eSgpOworICAgICAgICAgICAgYm9vbCBkZXNlbGVjdE90aGVycyA9ICFkYXRhLm11bHRpcGxlKCkg
fHwgKCFzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50Kj4oZXZlbnQpLT5zaGlmdEtleSgpICYmICFp
c0N0cmxLZXkpOwogICAgICAgICAgICAgaWYgKGRhdGEuYWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5k
ZXgoKSA8IDAgfHwgZGVzZWxlY3RPdGhlcnMpIHsKLSAgICAgICAgICAgICAgICBkYXRhLnNldEFj
dGl2ZVNlbGVjdGlvblN0YXRlKHRydWUpOworICAgICAgICAgICAgICAgIGlmICghaXNDdHJsS2V5
KQorICAgICAgICAgICAgICAgICAgICBkYXRhLnNldEFjdGl2ZVNlbGVjdGlvblN0YXRlKHRydWUp
OwogICAgICAgICAgICAgICAgIGlmIChkZXNlbGVjdE90aGVycykKICAgICAgICAgICAgICAgICAg
ICAgZGVzZWxlY3RJdGVtcyhkYXRhLCBlbGVtZW50KTsKICAgICAgICAgICAgICAgICBzZXRBY3Rp
dmVTZWxlY3Rpb25BbmNob3JJbmRleChkYXRhLCBlbGVtZW50LCBkYXRhLmFjdGl2ZVNlbGVjdGlv
bkVuZEluZGV4KCkpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICB0b1JlbmRlckxpc3RC
b3goZWxlbWVudC0+cmVuZGVyZXIoKSktPnNjcm9sbFRvUmV2ZWFsRWxlbWVudEF0TGlzdEluZGV4
KGVuZEluZGV4KTsKLSAgICAgICAgICAgIHVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24oZGF0YSwgZWxl
bWVudCwgZGVzZWxlY3RPdGhlcnMpOworICAgICAgICAgICAgaWYgKGlzQ3RybEtleSkKKyAgICAg
ICAgICAgICAgICBzY3JvbGxUb1NlbGVjdGlvbihkYXRhLCBlbGVtZW50KTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICB1cGRhdGVMaXN0Qm94U2VsZWN0aW9uKGRhdGEsIGVsZW1l
bnQsIGRlc2VsZWN0T3RoZXJzKTsKICAgICAgICAgICAgIGxpc3RCb3hPbkNoYW5nZShkYXRhLCBl
bGVtZW50KTsKICAgICAgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAgICAg
ICB9CkBAIC04MDQsNyArODE3LDEzIEBAIHZvaWQgU2VsZWN0RWxlbWVudDo6bGlzdEJveERlZmF1
bHRFdmVudEgKICAgICAgICAgICAgIGlmIChodG1sRm9ybSkKICAgICAgICAgICAgICAgICBodG1s
Rm9ybS0+c3VibWl0SW1wbGljaXRseShldmVudCwgZmFsc2UpOwogICAgICAgICAgICAgZXZlbnQt
PnNldERlZmF1bHRIYW5kbGVkKCk7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0gZWxz
ZSBpZiAoa2V5Q29kZSA9PSAnICcgJiYgaXNTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoZWxlbWVu
dC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSkpIHsKKyAgICAgICAgICAgIC8vIFVzZSBzcGFjZSB0byB0
b2dnbGUgYXJyb3cga2V5IGhhbmRsaW5nIGZvciBzZWxlY3Rpb24gY2hhbmdlIG9yIHNwYXRpYWwg
bmF2aWdhdGlvbi4KKyAgICAgICAgICAgIGRhdGEuc2V0QWN0aXZlU2VsZWN0aW9uU3RhdGUoIWRh
dGEuYWN0aXZlU2VsZWN0aW9uU3RhdGUoKSk7CisgICAgICAgICAgICBldmVudC0+c2V0RGVmYXVs
dEhhbmRsZWQoKTsKKyAgICAgICAgfSBlbHNlIGlmIChkYXRhLm11bHRpcGxlKCkgJiYga2V5Q29k
ZSA9PSAnICcpIHsKKyAgICAgICAgICAgIHVwZGF0ZVNlbGVjdGVkU3RhdGUoZGF0YSwgZWxlbWVu
dCwgbGlzdFRvT3B0aW9uSW5kZXgoZGF0YSwgZWxlbWVudCwgZGF0YS5hY3RpdmVTZWxlY3Rpb25F
bmRJbmRleCgpKSwgdHJ1ZSwgZmFsc2UpOworICAgICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRI
YW5kbGVkKCk7CiAgICAgICAgIH0KICAgICB9CiB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmNwcAkocmV2aXNpb24gNzE1MTgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc5LDYgKzI3OSwyOSBAQCB2b2lkIFJlbmRl
ckxpc3RCb3g6OnBhaW50T2JqZWN0KFBhaW50SW5mCiAgICAgfQogfQogCit2b2lkIFJlbmRlckxp
c3RCb3g6OmFkZEZvY3VzUmluZ1JlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGludCB0eCwg
aW50IHR5KQoreworICAgIFNlbGVjdEVsZW1lbnQqIHNlbGVjdCA9IHRvU2VsZWN0RWxlbWVudChz
dGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSgpKSk7CisKKyAgICAvLyBGb2N1cyB0aGUgbGFzdCBz
ZWxlY3RlZCBpdGVtLgorICAgIGludCBzZWxlY3RlZEl0ZW0gPSBzZWxlY3QtPmFjdGl2ZVNlbGVj
dGlvbkVuZExpc3RJbmRleCgpOworICAgIGlmIChzZWxlY3RlZEl0ZW0gPj0gMCkgeworICAgICAg
ICByZWN0cy5hcHBlbmQoaXRlbUJvdW5kaW5nQm94UmVjdCh0eCwgdHksIHNlbGVjdGVkSXRlbSkp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gTm8gc2VsZWN0ZWQgaXRlbXMsIGZp
bmQgdGhlIGZpcnN0IG5vbi1kaXNhYmxlZCBpdGVtLgorICAgIGludCBzaXplID0gbnVtSXRlbXMo
KTsKKyAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBsaXN0SXRlbXMgPSBzZWxlY3QtPmxpc3RJ
dGVtcygpOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgIE9w
dGlvbkVsZW1lbnQqIG9wdGlvbkVsZW1lbnQgPSB0b09wdGlvbkVsZW1lbnQobGlzdEl0ZW1zW2ld
KTsKKyAgICAgICAgaWYgKG9wdGlvbkVsZW1lbnQgJiYgIW9wdGlvbkVsZW1lbnQtPmRpc2FibGVk
KCkpIHsKKyAgICAgICAgICAgIHJlY3RzLmFwcGVuZChpdGVtQm91bmRpbmdCb3hSZWN0KHR4LCB0
eSwgaSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorfQorCiB2b2lk
IFJlbmRlckxpc3RCb3g6OnBhaW50U2Nyb2xsYmFyKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQg
dHgsIGludCB0eSkKIHsKICAgICBpZiAobV92QmFyKSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMaXN0Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGlzdEJveC5oCShyZXZpc2lvbiA3MTUxOCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guaAkod29ya2luZyBjb3B5KQpAQCAtNzYsNiArNzYsOCBAQCBwcml2YXRlOgogCiAgICAg
dmlydHVhbCB2b2lkIGxheW91dCgpOwogCisgICAgdmlydHVhbCB2b2lkIGFkZEZvY3VzUmluZ1Jl
Y3RzKFZlY3RvcjxJbnRSZWN0PiYsIGludCB0eCwgaW50IHR5KTsKKwogICAgIHZpcnR1YWwgYm9v
bCBjYW5CZVByb2dyYW1hdGljYWxseVNjcm9sbGVkKGJvb2wpIGNvbnN0IHsgcmV0dXJuIHRydWU7
IH0KICAgICB2aXJ0dWFsIHZvaWQgYXV0b3Njcm9sbCgpOwogICAgIHZpcnR1YWwgdm9pZCBzdG9w
QXV0b3Njcm9sbCgpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNzE3MzUpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzNyBAQAorMjAxMC0xMS0xMCAgQ2hh
bmcgU2h1ICA8Y2hhbmcuc2h1QG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGhlIHRlc3RzIHRoYXQgaGF2ZSBiZWVuIG1v
dmVkIHRvIGh0dHAvdGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy4KKyAgICAgICAgVGhpcyBtYXkg
aGF2ZSB0byBiZSBkb25lIG1hbnVhbGx5IGJlY2F1c2UgdGhlIGNvbW1pdCB0b29sIGZhaWxlZCB0
byBkbyAKKyAgICAgICAgaXQgdGhyb3VnaCBhIHBhdGNoLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkzMTcKKworICAgICAgICAqIGNhbnZhcy9waGls
aXAvdGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdlLmNhbnZhcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5kcmF3SW1hZ2UuY2FudmFz
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5k
cmF3SW1hZ2UuaW1hZ2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGNhbnZhcy9w
aGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdlLmltYWdlLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy5maWxsU3R5
bGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMv
c2VjdXJpdHkucGF0dGVybi5jYW52YXMuZmlsbFN0eWxlLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy5zdHJva2VTdHls
ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogY2FudmFzL3BoaWxpcC90ZXN0cy9z
ZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy5zdHJva2VTdHlsZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMudGltaW5nLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3Vy
aXR5LnBhdHRlcm4uY2FudmFzLnRpbWluZy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGNhbnZh
cy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jcmVhdGUtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jcmVh
dGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5
LnBhdHRlcm4uY3Jvc3MtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGNhbnZhcy9w
aGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jcm9zcy5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5pbWFnZS5maWxsU3R5bGUt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvc2Vj
dXJpdHkucGF0dGVybi5pbWFnZS5maWxsU3R5bGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBj
YW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uaW1hZ2Uuc3Ryb2tlU3R5bGUtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJp
dHkucGF0dGVybi5pbWFnZS5zdHJva2VTdHlsZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGNh
bnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucmVzZXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucmVzZXQuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxl
b3BhcmQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDEwLTEx
LTEwICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZC4KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHku
ZHJhd0ltYWdlLmNhbnZhcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Y2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5kcmF3SW1hZ2UuY2FudmFzLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzE3MzQpCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3Nl
Y3VyaXR5LmRyYXdJbWFnZS5jYW52YXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
ICswLDAgQEAKLVBhc3NlZApJbmRleDogTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9z
ZWN1cml0eS5kcmF3SW1hZ2UuY2FudmFzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Y2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5kcmF3SW1hZ2UuY2FudmFzLmh0bWwJKHJldmlz
aW9uIDcxNzM0KQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5k
cmF3SW1hZ2UuY2FudmFzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMjggKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08dGl0bGU+Q2FudmFzIHRlc3Q6IHNlY3VyaXR5LmRyYXdJbWFnZS5jYW52
YXM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RzLmpzIj48L3NjcmlwdD4KLTxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vdGVzdHMuY3NzIj4KLTxib2R5PgotPHAgaWQ9InBhc3N0
ZXh0Ij5QYXNzPC9wPgotPHAgaWQ9ImZhaWx0ZXh0Ij5GYWlsPC9wPgotPHAgY2xhc3M9Im91dHB1
dCI+VGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBpZGVudGljYWw6PC9wPgotPGNhbnZhcyBpZD0iYyIg
Y2xhc3M9Im91dHB1dCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+PHAgY2xhc3M9ImZhbGxiYWNr
Ij5GQUlMIChmYWxsYmFjayBjb250ZW50KTwvcD48L2NhbnZhcz4KLQotPHVsIGlkPSJkIj48L3Vs
PgotPHNjcmlwdD4KLV9hZGRUZXN0KGZ1bmN0aW9uKGNhbnZhcywgY3R4KSB7Ci0KLXZhciBjYW52
YXMyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7Ci1jYW52YXMyLndpZHRoID0g
MTAwOwotY2FudmFzMi5oZWlnaHQgPSA1MDsKLXZhciBjdHgyID0gY2FudmFzMi5nZXRDb250ZXh0
KCcyZCcpOwotY3R4Mi5kcmF3SW1hZ2UoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3llbGxvdy5w
bmcnKSwgMCwgMCk7Ci1jdHguZHJhd0ltYWdlKGNhbnZhczIsIDAsIDApOwotdHJ5IHsgdmFyIF90
aHJvd24gPSBmYWxzZTsgY2FudmFzLnRvRGF0YVVSTCgpOyB9IGNhdGNoIChlKSB7IF90aHJvd24g
PSB0cnVlOyB9IGZpbmFsbHkgeyBfYXNzZXJ0KF90aHJvd24sICJzaG91bGQgdGhyb3cgZXhjZXB0
aW9uOiBjYW52YXMudG9EYXRhVVJMKCkiKTsgfQotdHJ5IHsgdmFyIF90aHJvd24gPSBmYWxzZTsg
Y3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsgfSBjYXRjaCAoZSkgeyBfdGhyb3duID0gdHJ1
ZTsgfSBmaW5hbGx5IHsgX2Fzc2VydChfdGhyb3duLCAic2hvdWxkIHRocm93IGV4Y2VwdGlvbjog
Y3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKSIpOyB9Ci0KLQotfSk7Ci08L3NjcmlwdD4KLTxp
bWcgc3JjPSJodHRwOi8vdGVzdDIudzMub3JnL2h0bWwvdGVzdHMvYXBwcm92ZWQvaW1hZ2VzL3ll
bGxvdy5wbmciIGlkPSJ5ZWxsb3cucG5nIiBjbGFzcz0icmVzb3VyY2UiPgotCkluZGV4OiBMYXlv
dXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LmRyYXdJbWFnZS5pbWFnZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9z
ZWN1cml0eS5kcmF3SW1hZ2UuaW1hZ2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MTczNCkKKysr
IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdlLmltYWdl
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMCwwIEBACi1QYXNzZWQKSW5kZXg6
IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdlLmltYWdl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1
cml0eS5kcmF3SW1hZ2UuaW1hZ2UuaHRtbAkocmV2aXNpb24gNzE3MzQpCisrKyBMYXlvdXRUZXN0
cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LmRyYXdJbWFnZS5pbWFnZS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDIzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPkNhbnZh
cyB0ZXN0OiBzZWN1cml0eS5kcmF3SW1hZ2UuaW1hZ2U8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
L3Rlc3RzLmpzIj48L3NjcmlwdD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vdGVz
dHMuY3NzIj4KLTxib2R5PgotPHAgaWQ9InBhc3N0ZXh0Ij5QYXNzPC9wPgotPHAgaWQ9ImZhaWx0
ZXh0Ij5GYWlsPC9wPgotPHAgY2xhc3M9Im91dHB1dCI+VGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBp
ZGVudGljYWw6PC9wPgotPGNhbnZhcyBpZD0iYyIgY2xhc3M9Im91dHB1dCIgd2lkdGg9IjEwMCIg
aGVpZ2h0PSI1MCI+PHAgY2xhc3M9ImZhbGxiYWNrIj5GQUlMIChmYWxsYmFjayBjb250ZW50KTwv
cD48L2NhbnZhcz4KLQotPHVsIGlkPSJkIj48L3VsPgotPHNjcmlwdD4KLV9hZGRUZXN0KGZ1bmN0
aW9uKGNhbnZhcywgY3R4KSB7Ci0KLWN0eC5kcmF3SW1hZ2UoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3llbGxvdy5wbmcnKSwgMCwgMCk7Ci10cnkgeyB2YXIgX3Rocm93biA9IGZhbHNlOyBjYW52
YXMudG9EYXRhVVJMKCk7IH0gY2F0Y2ggKGUpIHsgX3Rocm93biA9IHRydWU7IH0gZmluYWxseSB7
IF9hc3NlcnQoX3Rocm93biwgInNob3VsZCB0aHJvdyBleGNlcHRpb246IGNhbnZhcy50b0RhdGFV
UkwoKSIpOyB9Ci10cnkgeyB2YXIgX3Rocm93biA9IGZhbHNlOyBjdHguZ2V0SW1hZ2VEYXRhKDAs
IDAsIDEsIDEpOyB9IGNhdGNoIChlKSB7IF90aHJvd24gPSB0cnVlOyB9IGZpbmFsbHkgeyBfYXNz
ZXJ0KF90aHJvd24sICJzaG91bGQgdGhyb3cgZXhjZXB0aW9uOiBjdHguZ2V0SW1hZ2VEYXRhKDAs
IDAsIDEsIDEpIik7IH0KLQotCi19KTsKLTwvc2NyaXB0PgotPGltZyBzcmM9Imh0dHA6Ly90ZXN0
Mi53My5vcmcvaHRtbC90ZXN0cy9hcHByb3ZlZC9pbWFnZXMveWVsbG93LnBuZyIgaWQ9InllbGxv
dy5wbmciIGNsYXNzPSJyZXNvdXJjZSI+Ci0KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGls
aXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMuZmlsbFN0eWxlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBh
dHRlcm4uY2FudmFzLmZpbGxTdHlsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcxNzM0KQorKysg
TGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy5m
aWxsU3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xICswLDAgQEAKLVBhc3Nl
ZApJbmRleDogTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJu
LmNhbnZhcy5maWxsU3R5bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jYW52YXMv
cGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFzLmZpbGxTdHlsZS5odG1sCShyZXZp
c2lvbiA3MTczNCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHku
cGF0dGVybi5jYW52YXMuZmlsbFN0eWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzAgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+Q2FudmFzIHRlc3Q6IHNlY3VyaXR5LnBhdHRl
cm4uY2FudmFzLmZpbGxTdHlsZTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdHMuanMiPjwv
c2NyaXB0PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi90ZXN0cy5jc3MiPgotPGJv
ZHk+Ci08cCBpZD0icGFzc3RleHQiPlBhc3M8L3A+Ci08cCBpZD0iZmFpbHRleHQiPkZhaWw8L3A+
Ci08cCBjbGFzcz0ib3V0cHV0Ij5UaGVzZSBpbWFnZXMgc2hvdWxkIGJlIGlkZW50aWNhbDo8L3A+
Ci08Y2FudmFzIGlkPSJjIiBjbGFzcz0ib3V0cHV0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj48
cCBjbGFzcz0iZmFsbGJhY2siPkZBSUwgKGZhbGxiYWNrIGNvbnRlbnQpPC9wPjwvY2FudmFzPgot
Ci08dWwgaWQ9ImQiPjwvdWw+Ci08c2NyaXB0PgotX2FkZFRlc3QoZnVuY3Rpb24oY2FudmFzLCBj
dHgpIHsKLQotdmFyIGNhbnZhczIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsK
LWNhbnZhczIud2lkdGggPSAxMDA7Ci1jYW52YXMyLmhlaWdodCA9IDUwOwotdmFyIGN0eDIgPSBj
YW52YXMyLmdldENvbnRleHQoJzJkJyk7Ci1jdHgyLmRyYXdJbWFnZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgneWVsbG93LnBuZycpLCAwLCAwKTsKLXZhciBwID0gY3R4LmNyZWF0ZVBhdHRlcm4o
Y2FudmFzMiwgJ3JlcGVhdCcpOwotY3R4LmZpbGxTdHlsZSA9IHA7Ci1jdHguZmlsbFN0eWxlID0g
J3JlZCc7Ci10cnkgeyB2YXIgX3Rocm93biA9IGZhbHNlOyBjYW52YXMudG9EYXRhVVJMKCk7IH0g
Y2F0Y2ggKGUpIHsgX3Rocm93biA9IHRydWU7IH0gZmluYWxseSB7IF9hc3NlcnQoX3Rocm93biwg
InNob3VsZCB0aHJvdyBleGNlcHRpb246IGNhbnZhcy50b0RhdGFVUkwoKSIpOyB9Ci10cnkgeyB2
YXIgX3Rocm93biA9IGZhbHNlOyBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpOyB9IGNhdGNo
IChlKSB7IF90aHJvd24gPSB0cnVlOyB9IGZpbmFsbHkgeyBfYXNzZXJ0KF90aHJvd24sICJzaG91
bGQgdGhyb3cgZXhjZXB0aW9uOiBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpIik7IH0KLQot
Ci19KTsKLTwvc2NyaXB0PgotPGltZyBzcmM9Imh0dHA6Ly90ZXN0Mi53My5vcmcvaHRtbC90ZXN0
cy9hcHByb3ZlZC9pbWFnZXMveWVsbG93LnBuZyIgaWQ9InllbGxvdy5wbmciIGNsYXNzPSJyZXNv
dXJjZSI+Ci0KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHku
cGF0dGVybi5jYW52YXMuc3Ryb2tlU3R5bGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMuc3Ry
b2tlU3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MTczNCkKKysrIExheW91dFRlc3RzL2Nh
bnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMuc3Ryb2tlU3R5bGUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xICswLDAgQEAKLVBhc3NlZApJbmRleDogTGF5
b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy5zdHJv
a2VTdHlsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVz
dHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMuc3Ryb2tlU3R5bGUuaHRtbAkocmV2aXNpb24gNzE3
MzQpCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4u
Y2FudmFzLnN0cm9rZVN0eWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzAgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+Q2FudmFzIHRlc3Q6IHNlY3VyaXR5LnBhdHRlcm4uY2Fu
dmFzLnN0cm9rZVN0eWxlPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0cy5qcyI+PC9zY3Jp
cHQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rlc3RzLmNzcyI+Ci08Ym9keT4K
LTxwIGlkPSJwYXNzdGV4dCI+UGFzczwvcD4KLTxwIGlkPSJmYWlsdGV4dCI+RmFpbDwvcD4KLTxw
IGNsYXNzPSJvdXRwdXQiPlRoZXNlIGltYWdlcyBzaG91bGQgYmUgaWRlbnRpY2FsOjwvcD4KLTxj
YW52YXMgaWQ9ImMiIGNsYXNzPSJvdXRwdXQiIHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiPjxwIGNs
YXNzPSJmYWxsYmFjayI+RkFJTCAoZmFsbGJhY2sgY29udGVudCk8L3A+PC9jYW52YXM+Ci0KLTx1
bCBpZD0iZCI+PC91bD4KLTxzY3JpcHQ+Ci1fYWRkVGVzdChmdW5jdGlvbihjYW52YXMsIGN0eCkg
ewotCi12YXIgY2FudmFzMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOwotY2Fu
dmFzMi53aWR0aCA9IDEwMDsKLWNhbnZhczIuaGVpZ2h0ID0gNTA7Ci12YXIgY3R4MiA9IGNhbnZh
czIuZ2V0Q29udGV4dCgnMmQnKTsKLWN0eDIuZHJhd0ltYWdlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd5ZWxsb3cucG5nJyksIDAsIDApOwotdmFyIHAgPSBjdHguY3JlYXRlUGF0dGVybihjYW52
YXMyLCAncmVwZWF0Jyk7Ci1jdHguc3Ryb2tlU3R5bGUgPSBwOwotY3R4LnN0cm9rZVN0eWxlID0g
J3JlZCc7Ci10cnkgeyB2YXIgX3Rocm93biA9IGZhbHNlOyBjYW52YXMudG9EYXRhVVJMKCk7IH0g
Y2F0Y2ggKGUpIHsgX3Rocm93biA9IHRydWU7IH0gZmluYWxseSB7IF9hc3NlcnQoX3Rocm93biwg
InNob3VsZCB0aHJvdyBleGNlcHRpb246IGNhbnZhcy50b0RhdGFVUkwoKSIpOyB9Ci10cnkgeyB2
YXIgX3Rocm93biA9IGZhbHNlOyBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpOyB9IGNhdGNo
IChlKSB7IF90aHJvd24gPSB0cnVlOyB9IGZpbmFsbHkgeyBfYXNzZXJ0KF90aHJvd24sICJzaG91
bGQgdGhyb3cgZXhjZXB0aW9uOiBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpIik7IH0KLQot
Ci19KTsKLTwvc2NyaXB0PgotPGltZyBzcmM9Imh0dHA6Ly90ZXN0Mi53My5vcmcvaHRtbC90ZXN0
cy9hcHByb3ZlZC9pbWFnZXMveWVsbG93LnBuZyIgaWQ9InllbGxvdy5wbmciIGNsYXNzPSJyZXNv
dXJjZSI+Ci0KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHku
cGF0dGVybi5jYW52YXMudGltaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFzLnRpbWluZy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDcxNzM0KQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxp
cC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy50aW1pbmctZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzAsMCBAQAotQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IGh0dHA6Ly90ZXN0Mi53My5vcmcvaHRtbC90ZXN0cy9hcHByb3ZlZC9pbWFnZXMveWVsbG93LnBu
ZwotUGFzc2VkCi0KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJp
dHkucGF0dGVybi5jYW52YXMudGltaW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Y2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy50aW1pbmcuaHRtbAko
cmV2aXNpb24gNzE3MzQpCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3Vy
aXR5LnBhdHRlcm4uY2FudmFzLnRpbWluZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMzICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPkNhbnZhcyB0ZXN0OiBzZWN1cml0eS5wYXR0
ZXJuLmNhbnZhcy50aW1pbmc8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RzLmpzIj48L3Nj
cmlwdD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vdGVzdHMuY3NzIj4KLTxib2R5
PgotPHAgaWQ9InBhc3N0ZXh0Ij5QYXNzPC9wPgotPHAgaWQ9ImZhaWx0ZXh0Ij5GYWlsPC9wPgot
PHAgY2xhc3M9Im91dHB1dCI+VGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBpZGVudGljYWw6PC9wPgot
PGNhbnZhcyBpZD0iYyIgY2xhc3M9Im91dHB1dCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+PHAg
Y2xhc3M9ImZhbGxiYWNrIj5GQUlMIChmYWxsYmFjayBjb250ZW50KTwvcD48L2NhbnZhcz4KLQot
PHVsIGlkPSJkIj48L3VsPgotPHNjcmlwdD4KLV9hZGRUZXN0KGZ1bmN0aW9uKGNhbnZhcywgY3R4
KSB7Ci0KLXZhciBjYW52YXMyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7Ci1j
YW52YXMyLndpZHRoID0gMTAwOwotY2FudmFzMi5oZWlnaHQgPSA1MDsKLXZhciBjdHgyID0gY2Fu
dmFzMi5nZXRDb250ZXh0KCcyZCcpOwotY3R4Mi5maWxsU3R5bGUgPSAnIzBmMCc7Ci1jdHgyLmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwotdmFyIHAgPSBjdHguY3JlYXRlUGF0dGVybihjYW52YXMy
LCAncmVwZWF0Jyk7Ci1jdHgyLmRyYXdJbWFnZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneWVs
bG93LnBuZycpLCAwLCAwKTsgLy8gbWFrZSBjYW52YXMyIG9yaWdpbi11bmNsZWFuCi1jdHguZmls
bFN0eWxlID0gcDsKLWN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLWNhbnZhcy50b0RhdGFV
UkwoKTsKLWN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMSwgMSk7Ci1fYXNzZXJ0KHRydWUsICJ0cnVl
Iik7IC8vIG9rYXkgaWYgdGhlcmUgd2FzIG5vIGV4Y2VwdGlvbgotCi0KLX0pOwotPC9zY3JpcHQ+
Ci08aW1nIHNyYz0iaHR0cDovL3Rlc3QyLnczLm9yZy9odG1sL3Rlc3RzL2FwcHJvdmVkL2ltYWdl
cy95ZWxsb3cucG5nIiBpZD0ieWVsbG93LnBuZyIgY2xhc3M9InJlc291cmNlIj4KLQpJbmRleDog
TGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNyZWF0ZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0
cy9zZWN1cml0eS5wYXR0ZXJuLmNyZWF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcxNzM0KQor
KysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNyZWF0
ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMCwwIEBACi1CbG9ja2VkIGFj
Y2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cDovL3Rlc3QyLnczLm9yZy9odG1sL3Rlc3RzL2FwcHJv
dmVkL2ltYWdlcy95ZWxsb3cucG5nCi1QYXNzZWQKLQpJbmRleDogTGF5b3V0VGVzdHMvY2FudmFz
L3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNyZWF0ZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jcmVhdGUu
aHRtbAkocmV2aXNpb24gNzE3MzQpCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3Rz
L3NlY3VyaXR5LnBhdHRlcm4uY3JlYXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMjQgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+Q2FudmFzIHRlc3Q6IHNlY3VyaXR5LnBhdHRl
cm4uY3JlYXRlPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0cy5qcyI+PC9zY3JpcHQ+Ci08
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rlc3RzLmNzcyI+Ci08Ym9keT4KLTxwIGlk
PSJwYXNzdGV4dCI+UGFzczwvcD4KLTxwIGlkPSJmYWlsdGV4dCI+RmFpbDwvcD4KLTxwIGNsYXNz
PSJvdXRwdXQiPlRoZXNlIGltYWdlcyBzaG91bGQgYmUgaWRlbnRpY2FsOjwvcD4KLTxjYW52YXMg
aWQ9ImMiIGNsYXNzPSJvdXRwdXQiIHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiPjxwIGNsYXNzPSJm
YWxsYmFjayI+RkFJTCAoZmFsbGJhY2sgY29udGVudCk8L3A+PC9jYW52YXM+Ci0KLTx1bCBpZD0i
ZCI+PC91bD4KLTxzY3JpcHQ+Ci1fYWRkVGVzdChmdW5jdGlvbihjYW52YXMsIGN0eCkgewotCi12
YXIgcCA9IGN0eC5jcmVhdGVQYXR0ZXJuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd5ZWxsb3cu
cG5nJyksICdyZXBlYXQnKTsKLWNhbnZhcy50b0RhdGFVUkwoKTsKLWN0eC5nZXRJbWFnZURhdGEo
MCwgMCwgMSwgMSk7Ci1fYXNzZXJ0KHRydWUsICJ0cnVlIik7IC8vIG9rYXkgaWYgdGhlcmUgd2Fz
IG5vIGV4Y2VwdGlvbgotCi0KLX0pOwotPC9zY3JpcHQ+Ci08aW1nIHNyYz0iaHR0cDovL3Rlc3Qy
LnczLm9yZy9odG1sL3Rlc3RzL2FwcHJvdmVkL2ltYWdlcy95ZWxsb3cucG5nIiBpZD0ieWVsbG93
LnBuZyIgY2xhc3M9InJlc291cmNlIj4KLQpJbmRleDogTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxp
cC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNyb3NzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY3Jvc3Mt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MTczNCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9waGls
aXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jcm9zcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNCArMCwwIEBACi1CbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cDov
L3Rlc3QyLnczLm9yZy9odG1sL3Rlc3RzL2FwcHJvdmVkL2ltYWdlcy95ZWxsb3cucG5nCi1GYWls
ZWQgYXNzZXJ0aW9uOiBzaG91bGQgdGhyb3cgZXhjZXB0aW9uOiBjYW52YXMudG9EYXRhVVJMKCkK
LUZhaWxlZCBhc3NlcnRpb246IHNob3VsZCB0aHJvdyBleGNlcHRpb246IGN0eC5nZXRJbWFnZURh
dGEoMCwgMCwgMSwgMSkKLQpJbmRleDogTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9z
ZWN1cml0eS5wYXR0ZXJuLmNyb3NzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2Fu
dmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNyb3NzLmh0bWwJKHJldmlzaW9uIDcx
NzM0KQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJu
LmNyb3NzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzEgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08dGl0bGU+Q2FudmFzIHRlc3Q6IHNlY3VyaXR5LnBhdHRlcm4uY3Jvc3M8L3RpdGxlPgot
PHNjcmlwdCBzcmM9Ii4uL3Rlc3RzLmpzIj48L3NjcmlwdD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vdGVzdHMuY3NzIj4KLTxib2R5PgotPHAgaWQ9InBhc3N0ZXh0Ij5QYXNzPC9w
PgotPHAgaWQ9ImZhaWx0ZXh0Ij5GYWlsPC9wPgotPHAgY2xhc3M9Im91dHB1dCI+VGhlc2UgaW1h
Z2VzIHNob3VsZCBiZSBpZGVudGljYWw6PC9wPgotPGNhbnZhcyBpZD0iYyIgY2xhc3M9Im91dHB1
dCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+PHAgY2xhc3M9ImZhbGxiYWNrIj5GQUlMIChmYWxs
YmFjayBjb250ZW50KTwvcD48L2NhbnZhcz4KLQotPHVsIGlkPSJkIj48L3VsPgotPHNjcmlwdD4K
LV9hZGRUZXN0KGZ1bmN0aW9uKGNhbnZhcywgY3R4KSB7Ci0KLXZhciBjYW52YXMyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7Ci1jYW52YXMyLndpZHRoID0gMTAwOwotY2FudmFz
Mi5oZWlnaHQgPSA1MDsKLXZhciBjdHgyID0gY2FudmFzMi5nZXRDb250ZXh0KCcyZCcpOwotdmFy
IHAgPSBjdHgyLmNyZWF0ZVBhdHRlcm4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3llbGxvdy5w
bmcnKSwgJ3JlcGVhdCcpOwotY3R4LmZpbGxTdHlsZSA9IHA7Ci1jdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7Ci10cnkgeyB2YXIgX3Rocm93biA9IGZhbHNlOyBjYW52YXMudG9EYXRhVVJMKCk7
IH0gY2F0Y2ggKGUpIHsgX3Rocm93biA9IHRydWU7IH0gZmluYWxseSB7IF9hc3NlcnQoX3Rocm93
biwgInNob3VsZCB0aHJvdyBleGNlcHRpb246IGNhbnZhcy50b0RhdGFVUkwoKSIpOyB9Ci10cnkg
eyB2YXIgX3Rocm93biA9IGZhbHNlOyBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpOyB9IGNh
dGNoIChlKSB7IF90aHJvd24gPSB0cnVlOyB9IGZpbmFsbHkgeyBfYXNzZXJ0KF90aHJvd24sICJz
aG91bGQgdGhyb3cgZXhjZXB0aW9uOiBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpIik7IH0K
LWNhbnZhczIudG9EYXRhVVJMKCk7Ci1jdHgyLmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsKLQot
Ci19KTsKLTwvc2NyaXB0PgotPGltZyBzcmM9Imh0dHA6Ly90ZXN0Mi53My5vcmcvaHRtbC90ZXN0
cy9hcHByb3ZlZC9pbWFnZXMveWVsbG93LnBuZyIgaWQ9InllbGxvdy5wbmciIGNsYXNzPSJyZXNv
dXJjZSI+Ci0KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHku
cGF0dGVybi5pbWFnZS5maWxsU3R5bGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5pbWFnZS5maWxsU3R5
bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MTczNCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9w
aGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5pbWFnZS5maWxsU3R5bGUtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzAsMCBAQAotQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJu
YWwgVVJMIGh0dHA6Ly90ZXN0Mi53My5vcmcvaHRtbC90ZXN0cy9hcHByb3ZlZC9pbWFnZXMveWVs
bG93LnBuZwotRmFpbGVkIGFzc2VydGlvbjogc2hvdWxkIHRocm93IGV4Y2VwdGlvbjogY2FudmFz
LnRvRGF0YVVSTCgpCi1GYWlsZWQgYXNzZXJ0aW9uOiBzaG91bGQgdGhyb3cgZXhjZXB0aW9uOiBj
dHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpCi0KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9w
aGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5pbWFnZS5maWxsU3R5bGUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4u
aW1hZ2UuZmlsbFN0eWxlLmh0bWwJKHJldmlzaW9uIDcxNzM0KQorKysgTGF5b3V0VGVzdHMvY2Fu
dmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmltYWdlLmZpbGxTdHlsZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDI1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPkNh
bnZhcyB0ZXN0OiBzZWN1cml0eS5wYXR0ZXJuLmltYWdlLmZpbGxTdHlsZTwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vdGVzdHMuanMiPjwvc2NyaXB0PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi90ZXN0cy5jc3MiPgotPGJvZHk+Ci08cCBpZD0icGFzc3RleHQiPlBhc3M8L3A+Ci08
cCBpZD0iZmFpbHRleHQiPkZhaWw8L3A+Ci08cCBjbGFzcz0ib3V0cHV0Ij5UaGVzZSBpbWFnZXMg
c2hvdWxkIGJlIGlkZW50aWNhbDo8L3A+Ci08Y2FudmFzIGlkPSJjIiBjbGFzcz0ib3V0cHV0IiB3
aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj48cCBjbGFzcz0iZmFsbGJhY2siPkZBSUwgKGZhbGxiYWNr
IGNvbnRlbnQpPC9wPjwvY2FudmFzPgotCi08dWwgaWQ9ImQiPjwvdWw+Ci08c2NyaXB0PgotX2Fk
ZFRlc3QoZnVuY3Rpb24oY2FudmFzLCBjdHgpIHsKLQotdmFyIHAgPSBjdHguY3JlYXRlUGF0dGVy
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneWVsbG93LnBuZycpLCAncmVwZWF0Jyk7Ci1jdHgu
ZmlsbFN0eWxlID0gcDsKLWN0eC5maWxsU3R5bGUgPSAncmVkJzsKLXRyeSB7IHZhciBfdGhyb3du
ID0gZmFsc2U7IGNhbnZhcy50b0RhdGFVUkwoKTsgfSBjYXRjaCAoZSkgeyBfdGhyb3duID0gdHJ1
ZTsgfSBmaW5hbGx5IHsgX2Fzc2VydChfdGhyb3duLCAic2hvdWxkIHRocm93IGV4Y2VwdGlvbjog
Y2FudmFzLnRvRGF0YVVSTCgpIik7IH0KLXRyeSB7IHZhciBfdGhyb3duID0gZmFsc2U7IGN0eC5n
ZXRJbWFnZURhdGEoMCwgMCwgMSwgMSk7IH0gY2F0Y2ggKGUpIHsgX3Rocm93biA9IHRydWU7IH0g
ZmluYWxseSB7IF9hc3NlcnQoX3Rocm93biwgInNob3VsZCB0aHJvdyBleGNlcHRpb246IGN0eC5n
ZXRJbWFnZURhdGEoMCwgMCwgMSwgMSkiKTsgfQotCi0KLX0pOwotPC9zY3JpcHQ+Ci08aW1nIHNy
Yz0iaHR0cDovL3Rlc3QyLnczLm9yZy9odG1sL3Rlc3RzL2FwcHJvdmVkL2ltYWdlcy95ZWxsb3cu
cG5nIiBpZD0ieWVsbG93LnBuZyIgY2xhc3M9InJlc291cmNlIj4KLQpJbmRleDogTGF5b3V0VGVz
dHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmltYWdlLnN0cm9rZVN0eWxl
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rl
c3RzL3NlY3VyaXR5LnBhdHRlcm4uaW1hZ2Uuc3Ryb2tlU3R5bGUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA3MTczNCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHku
cGF0dGVybi5pbWFnZS5zdHJva2VTdHlsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNCArMCwwIEBACi1CbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cDovL3Rlc3Qy
LnczLm9yZy9odG1sL3Rlc3RzL2FwcHJvdmVkL2ltYWdlcy95ZWxsb3cucG5nCi1GYWlsZWQgYXNz
ZXJ0aW9uOiBzaG91bGQgdGhyb3cgZXhjZXB0aW9uOiBjYW52YXMudG9EYXRhVVJMKCkKLUZhaWxl
ZCBhc3NlcnRpb246IHNob3VsZCB0aHJvdyBleGNlcHRpb246IGN0eC5nZXRJbWFnZURhdGEoMCwg
MCwgMSwgMSkKLQpJbmRleDogTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0
eS5wYXR0ZXJuLmltYWdlLnN0cm9rZVN0eWxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmltYWdlLnN0cm9rZVN0eWxl
Lmh0bWwJKHJldmlzaW9uIDcxNzM0KQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0
cy9zZWN1cml0eS5wYXR0ZXJuLmltYWdlLnN0cm9rZVN0eWxlLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsMjUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+Q2FudmFzIHRlc3Q6IHNl
Y3VyaXR5LnBhdHRlcm4uaW1hZ2Uuc3Ryb2tlU3R5bGU8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
L3Rlc3RzLmpzIj48L3NjcmlwdD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vdGVz
dHMuY3NzIj4KLTxib2R5PgotPHAgaWQ9InBhc3N0ZXh0Ij5QYXNzPC9wPgotPHAgaWQ9ImZhaWx0
ZXh0Ij5GYWlsPC9wPgotPHAgY2xhc3M9Im91dHB1dCI+VGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBp
ZGVudGljYWw6PC9wPgotPGNhbnZhcyBpZD0iYyIgY2xhc3M9Im91dHB1dCIgd2lkdGg9IjEwMCIg
aGVpZ2h0PSI1MCI+PHAgY2xhc3M9ImZhbGxiYWNrIj5GQUlMIChmYWxsYmFjayBjb250ZW50KTwv
cD48L2NhbnZhcz4KLQotPHVsIGlkPSJkIj48L3VsPgotPHNjcmlwdD4KLV9hZGRUZXN0KGZ1bmN0
aW9uKGNhbnZhcywgY3R4KSB7Ci0KLXZhciBwID0gY3R4LmNyZWF0ZVBhdHRlcm4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3llbGxvdy5wbmcnKSwgJ3JlcGVhdCcpOwotY3R4LnN0cm9rZVN0eWxl
ID0gcDsKLWN0eC5zdHJva2VTdHlsZSA9ICdyZWQnOwotdHJ5IHsgdmFyIF90aHJvd24gPSBmYWxz
ZTsgY2FudmFzLnRvRGF0YVVSTCgpOyB9IGNhdGNoIChlKSB7IF90aHJvd24gPSB0cnVlOyB9IGZp
bmFsbHkgeyBfYXNzZXJ0KF90aHJvd24sICJzaG91bGQgdGhyb3cgZXhjZXB0aW9uOiBjYW52YXMu
dG9EYXRhVVJMKCkiKTsgfQotdHJ5IHsgdmFyIF90aHJvd24gPSBmYWxzZTsgY3R4LmdldEltYWdl
RGF0YSgwLCAwLCAxLCAxKTsgfSBjYXRjaCAoZSkgeyBfdGhyb3duID0gdHJ1ZTsgfSBmaW5hbGx5
IHsgX2Fzc2VydChfdGhyb3duLCAic2hvdWxkIHRocm93IGV4Y2VwdGlvbjogY3R4LmdldEltYWdl
RGF0YSgwLCAwLCAxLCAxKSIpOyB9Ci0KLQotfSk7Ci08L3NjcmlwdD4KLTxpbWcgc3JjPSJodHRw
Oi8vdGVzdDIudzMub3JnL2h0bWwvdGVzdHMvYXBwcm92ZWQvaW1hZ2VzL3llbGxvdy5wbmciIGlk
PSJ5ZWxsb3cucG5nIiBjbGFzcz0icmVzb3VyY2UiPgotCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52
YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnJlc2V0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnJlc2V0LWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNzE3MzQpCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3Rz
L3NlY3VyaXR5LnJlc2V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMCwwIEBA
Ci1QYXNzZWQKSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHku
cmVzZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3Rz
L3NlY3VyaXR5LnJlc2V0Lmh0bWwJKHJldmlzaW9uIDcxNzM0KQorKysgTGF5b3V0VGVzdHMvY2Fu
dmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5yZXNldC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDI1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPkNhbnZhcyB0ZXN0OiBzZWN1cml0
eS5yZXNldDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdHMuanMiPjwvc2NyaXB0PgotPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi90ZXN0cy5jc3MiPgotPGJvZHk+Ci08cCBpZD0i
cGFzc3RleHQiPlBhc3M8L3A+Ci08cCBpZD0iZmFpbHRleHQiPkZhaWw8L3A+Ci08cCBjbGFzcz0i
b3V0cHV0Ij5UaGVzZSBpbWFnZXMgc2hvdWxkIGJlIGlkZW50aWNhbDo8L3A+Ci08Y2FudmFzIGlk
PSJjIiBjbGFzcz0ib3V0cHV0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj48cCBjbGFzcz0iZmFs
bGJhY2siPkZBSUwgKGZhbGxiYWNrIGNvbnRlbnQpPC9wPjwvY2FudmFzPgotCi08dWwgaWQ9ImQi
PjwvdWw+Ci08c2NyaXB0PgotX2FkZFRlc3QoZnVuY3Rpb24oY2FudmFzLCBjdHgpIHsKLQotY2Fu
dmFzLndpZHRoID0gNTA7Ci1jdHguZHJhd0ltYWdlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd5
ZWxsb3cucG5nJyksIDAsIDApOwotdHJ5IHsgdmFyIF90aHJvd24gPSBmYWxzZTsgY2FudmFzLnRv
RGF0YVVSTCgpOyB9IGNhdGNoIChlKSB7IF90aHJvd24gPSB0cnVlOyB9IGZpbmFsbHkgeyBfYXNz
ZXJ0KF90aHJvd24sICJzaG91bGQgdGhyb3cgZXhjZXB0aW9uOiBjYW52YXMudG9EYXRhVVJMKCki
KTsgfQotY2FudmFzLndpZHRoID0gMTAwOwotdHJ5IHsgdmFyIF90aHJvd24gPSBmYWxzZTsgY2Fu
dmFzLnRvRGF0YVVSTCgpOyB9IGNhdGNoIChlKSB7IF90aHJvd24gPSB0cnVlOyB9IGZpbmFsbHkg
eyBfYXNzZXJ0KF90aHJvd24sICJzaG91bGQgdGhyb3cgZXhjZXB0aW9uOiBjYW52YXMudG9EYXRh
VVJMKCkiKTsgfQotCi0KLX0pOwotPC9zY3JpcHQ+Ci08aW1nIHNyYz0iaHR0cDovL3Rlc3QyLncz
Lm9yZy9odG1sL3Rlc3RzL2FwcHJvdmVkL2ltYWdlcy95ZWxsb3cucG5nIiBpZD0ieWVsbG93LnBu
ZyIgY2xhc3M9InJlc291cmNlIj4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNzE3MzUpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTMzNzUsMTEgKzMzNzUsNiBAQCBCVUc2MjMwMSBNQUMgTElOVVggV0lOIDog
IGNhbnZhcy9waGlsaXAvCiBCVUc2MjMwMSBMSU5VWCBXSU4gOiAgY2FudmFzL3BoaWxpcC90ZXN0
cy8yZC5zaGFkb3cuZW5hYmxlLnguaHRtbCA9IFRFWFQKIEJVRzYyMzAxIExJTlVYIFdJTiA6ICBj
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLnNoYWRvdy5lbmFibGUueS5odG1sID0gVEVYVAogQlVHNjIz
MDEgTElOVVggV0lOIDogIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuc3Ryb2tlUmVjdC56ZXJvLjQu
aHRtbCA9IFRFWFQKLUJVRzYyMzAxIE1BQyBMSU5VWCBXSU4gOiAgY2FudmFzL3BoaWxpcC90ZXN0
cy9zZWN1cml0eS5kcmF3SW1hZ2UuY2FudmFzLmh0bWwgPSBURVhUCi1CVUc2MjMwMSBNQUMgTElO
VVggV0lOIDogIGNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdlLmltYWdlLmh0
bWwgPSBURVhUCi1CVUc2MjMwMSBNQUMgTElOVVggV0lOIDogIGNhbnZhcy9waGlsaXAvdGVzdHMv
c2VjdXJpdHkucGF0dGVybi5jYW52YXMuZmlsbFN0eWxlLmh0bWwgPSBURVhUCi1CVUc2MjMwMSBN
QUMgTElOVVggV0lOIDogIGNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jYW52
YXMuc3Ryb2tlU3R5bGUuaHRtbCA9IFRFWFQKLUJVRzYyMzAxIE1BQyBMSU5VWCBXSU4gOiAgY2Fu
dmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5yZXNldC5odG1sID0gVEVYVAogQlVHNjIzMDEgTElO
VVggV0lOIDogIGNhbnZhcy9waGlsaXAvdGVzdHMvdG9EYXRhVVJMLmpwZWcuYWxwaGEuaHRtbCA9
IFRFWFQKIAogQlVHV0s0OTI2NSBMSU5VWCA6IHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRkVDb252
b2x2ZU1hdHJpeEVsZW1lbnQtc3ZnZG9tLWVkZ2VNb2RlLXByb3AuaHRtbCA9IElNQUdFIFBBU1MK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCShyZXZpc2lvbiA3MTUxOCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC01NDAyLDE2ICs1
NDAyLDYgQEAgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UucgogY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZS5odG1sCiBjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLnBhdHRlcm4uaW1hZ2UuaW5jb21wbGV0ZS5lbXB0eS5odG1sCiBjYW52YXMv
cGhpbGlwL3Rlc3RzLzJkLnBhdHRlcm4uaW1hZ2UuaW5jb21wbGV0ZS5vbWl0dGVkLmh0bWwKLWNh
bnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdlLmNhbnZhcy5odG1sCi1jYW52YXMv
cGhpbGlwL3Rlc3RzL3NlY3VyaXR5LmRyYXdJbWFnZS5pbWFnZS5odG1sCi1jYW52YXMvcGhpbGlw
L3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFzLmZpbGxTdHlsZS5odG1sCi1jYW52YXMvcGhp
bGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFzLnN0cm9rZVN0eWxlLmh0bWwKLWNhbnZh
cy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucmVzZXQuaHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy9z
ZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy50aW1pbmcuaHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy9z
ZWN1cml0eS5wYXR0ZXJuLmNyZWF0ZS5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5
LnBhdHRlcm4uY3Jvc3MuaHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJu
LmltYWdlLmZpbGxTdHlsZS5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRl
cm4uaW1hZ2Uuc3Ryb2tlU3R5bGUuaHRtbAogCiAjIFNldHRpbmcgQ1NTIHByb3BlcnRpZXMgc3Vj
aCBhcyBwYWRkaW5nIGFuZCBtYXJnaW4gZG9lcyBub3Qgd29yayBwcm9wZXJseQogIyBvbiBmb3Jt
IGVsZW1lbnRzOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NTUK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvU2tpcHBlZAkocmV2aXNpb24g
NzE1MTgpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9Ta2lwcGVkCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNjksOCArMTY5LDMgQEAgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxs
U3R5bGUucGFyc2UucgogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5pbWFnZURhdGEucHV0Lndyb25n
dHlwZS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLnBhdHRlcm4uaW1hZ2UuaW5jb21wbGV0
ZS5lbXB0eS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLnBhdHRlcm4uaW1hZ2UuaW5jb21w
bGV0ZS5vbWl0dGVkLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdl
LmNhbnZhcy5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LmRyYXdJbWFnZS5pbWFn
ZS5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFzLmZpbGxT
dHlsZS5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFzLnN0
cm9rZVN0eWxlLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucmVzZXQuaHRtbApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCShyZXZpc2lvbiA3MTUxOCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTUxMTEsMTYgKzUxMTEs
NiBAQCBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5yCiBjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBlLmh0bWwKIGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQucGF0dGVybi5pbWFnZS5pbmNvbXBsZXRlLmVtcHR5Lmh0bWwKIGNhbnZhcy9waGls
aXAvdGVzdHMvMmQucGF0dGVybi5pbWFnZS5pbmNvbXBsZXRlLm9taXR0ZWQuaHRtbAotY2FudmFz
L3BoaWxpcC90ZXN0cy9zZWN1cml0eS5kcmF3SW1hZ2UuY2FudmFzLmh0bWwKLWNhbnZhcy9waGls
aXAvdGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdlLmltYWdlLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVz
dHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMuZmlsbFN0eWxlLmh0bWwKLWNhbnZhcy9waGlsaXAv
dGVzdHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMuc3Ryb2tlU3R5bGUuaHRtbAotY2FudmFzL3Bo
aWxpcC90ZXN0cy9zZWN1cml0eS5yZXNldC5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3Vy
aXR5LnBhdHRlcm4uY2FudmFzLnRpbWluZy5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3Vy
aXR5LnBhdHRlcm4uY3JlYXRlLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0
dGVybi5jcm9zcy5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uaW1h
Z2UuZmlsbFN0eWxlLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5p
bWFnZS5zdHJva2VTdHlsZS5odG1sCiAKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwogIyBmYWls
aW5nIHRyYW5zZm9ybXMgdGVzdHMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73495</attachid>
            <date>2010-11-10 07:06:01 -0800</date>
            <delta_ts>2010-11-11 07:52:44 -0800</delta_ts>
            <desc>fix patch</desc>
            <filename>49317_1.patch</filename>
            <type>text/plain</type>
            <size>24802</size>
            <attacher name="Chang Shu">cshu</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDcxNzM1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTAtMTEtMTAgIENoYW5nIFNodSAgPGNoYW5n
LnNodUBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVtb3ZlIHRoZSB0ZXN0cyB0aGF0IGhhdmUgYmVlbiBtb3ZlZCB0byBodHRwL3Rl
c3RzL2NhbnZhcy9waGlsaXAvdGVzdHMuCisgICAgICAgIFRoaXMgbWF5IGhhdmUgdG8gYmUgZG9u
ZSBtYW51YWxseSBiZWNhdXNlIHRoZSBjb21taXQgdG9vbCBmYWlsZWQgdG8gZG8gCisgICAgICAg
IGl0IHRocm91Z2ggYSBwYXRjaC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQ5MzE3CisKKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3Vy
aXR5LmRyYXdJbWFnZS5jYW52YXMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGNh
bnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdlLmNhbnZhcy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdlLmltYWdl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzL3Nl
Y3VyaXR5LmRyYXdJbWFnZS5pbWFnZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGNhbnZhcy9w
aGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMuZmlsbFN0eWxlLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRl
cm4uY2FudmFzLmZpbGxTdHlsZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGNhbnZhcy9waGls
aXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMuc3Ryb2tlU3R5bGUtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVy
bi5jYW52YXMuc3Ryb2tlU3R5bGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBjYW52YXMvcGhp
bGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFzLnRpbWluZy1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNh
bnZhcy50aW1pbmcuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3Rz
L3NlY3VyaXR5LnBhdHRlcm4uY3JlYXRlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBjYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY3JlYXRlLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNyb3Nz
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzL3Nl
Y3VyaXR5LnBhdHRlcm4uY3Jvc3MuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBjYW52YXMvcGhp
bGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uaW1hZ2UuZmlsbFN0eWxlLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4u
aW1hZ2UuZmlsbFN0eWxlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogY2FudmFzL3BoaWxpcC90
ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmltYWdlLnN0cm9rZVN0eWxlLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uaW1h
Z2Uuc3Ryb2tlU3R5bGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rl
c3RzL3NlY3VyaXR5LnJlc2V0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBjYW52
YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnJlc2V0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQ6
CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKwogMjAxMC0xMS0xMCAgQ3NhYmEgT3N6
dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4
OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LmRyYXdJbWFnZS5jYW52
YXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAv
dGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdlLmNhbnZhcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcx
NzM0KQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5kcmF3SW1h
Z2UuY2FudmFzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMCwwIEBACi1QYXNz
ZWQKSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJhd0lt
YWdlLmNhbnZhcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAv
dGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdlLmNhbnZhcy5odG1sCShyZXZpc2lvbiA3MTczNCkKKysr
IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdlLmNhbnZh
cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PHRpdGxlPkNhbnZhcyB0ZXN0OiBzZWN1cml0eS5kcmF3SW1hZ2UuY2FudmFzPC90aXRsZT4KLTxz
Y3JpcHQgc3JjPSIuLi90ZXN0cy5qcyI+PC9zY3JpcHQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uL3Rlc3RzLmNzcyI+Ci08Ym9keT4KLTxwIGlkPSJwYXNzdGV4dCI+UGFzczwvcD4K
LTxwIGlkPSJmYWlsdGV4dCI+RmFpbDwvcD4KLTxwIGNsYXNzPSJvdXRwdXQiPlRoZXNlIGltYWdl
cyBzaG91bGQgYmUgaWRlbnRpY2FsOjwvcD4KLTxjYW52YXMgaWQ9ImMiIGNsYXNzPSJvdXRwdXQi
IHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiPjxwIGNsYXNzPSJmYWxsYmFjayI+RkFJTCAoZmFsbGJh
Y2sgY29udGVudCk8L3A+PC9jYW52YXM+Ci0KLTx1bCBpZD0iZCI+PC91bD4KLTxzY3JpcHQ+Ci1f
YWRkVGVzdChmdW5jdGlvbihjYW52YXMsIGN0eCkgewotCi12YXIgY2FudmFzMiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOwotY2FudmFzMi53aWR0aCA9IDEwMDsKLWNhbnZhczIu
aGVpZ2h0ID0gNTA7Ci12YXIgY3R4MiA9IGNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKTsKLWN0eDIu
ZHJhd0ltYWdlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd5ZWxsb3cucG5nJyksIDAsIDApOwot
Y3R4LmRyYXdJbWFnZShjYW52YXMyLCAwLCAwKTsKLXRyeSB7IHZhciBfdGhyb3duID0gZmFsc2U7
IGNhbnZhcy50b0RhdGFVUkwoKTsgfSBjYXRjaCAoZSkgeyBfdGhyb3duID0gdHJ1ZTsgfSBmaW5h
bGx5IHsgX2Fzc2VydChfdGhyb3duLCAic2hvdWxkIHRocm93IGV4Y2VwdGlvbjogY2FudmFzLnRv
RGF0YVVSTCgpIik7IH0KLXRyeSB7IHZhciBfdGhyb3duID0gZmFsc2U7IGN0eC5nZXRJbWFnZURh
dGEoMCwgMCwgMSwgMSk7IH0gY2F0Y2ggKGUpIHsgX3Rocm93biA9IHRydWU7IH0gZmluYWxseSB7
IF9hc3NlcnQoX3Rocm93biwgInNob3VsZCB0aHJvdyBleGNlcHRpb246IGN0eC5nZXRJbWFnZURh
dGEoMCwgMCwgMSwgMSkiKTsgfQotCi0KLX0pOwotPC9zY3JpcHQ+Ci08aW1nIHNyYz0iaHR0cDov
L3Rlc3QyLnczLm9yZy9odG1sL3Rlc3RzL2FwcHJvdmVkL2ltYWdlcy95ZWxsb3cucG5nIiBpZD0i
eWVsbG93LnBuZyIgY2xhc3M9InJlc291cmNlIj4KLQpJbmRleDogTGF5b3V0VGVzdHMvY2FudmFz
L3BoaWxpcC90ZXN0cy9zZWN1cml0eS5kcmF3SW1hZ2UuaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJhd0lt
YWdlLmltYWdlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzE3MzQpCisrKyBMYXlvdXRUZXN0cy9j
YW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LmRyYXdJbWFnZS5pbWFnZS1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEgKzAsMCBAQAotUGFzc2VkCkluZGV4OiBMYXlvdXRUZXN0cy9j
YW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LmRyYXdJbWFnZS5pbWFnZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJhd0ltYWdl
LmltYWdlLmh0bWwJKHJldmlzaW9uIDcxNzM0KQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxp
cC90ZXN0cy9zZWN1cml0eS5kcmF3SW1hZ2UuaW1hZ2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSwyMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTx0aXRsZT5DYW52YXMgdGVzdDogc2VjdXJp
dHkuZHJhd0ltYWdlLmltYWdlPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0cy5qcyI+PC9z
Y3JpcHQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rlc3RzLmNzcyI+Ci08Ym9k
eT4KLTxwIGlkPSJwYXNzdGV4dCI+UGFzczwvcD4KLTxwIGlkPSJmYWlsdGV4dCI+RmFpbDwvcD4K
LTxwIGNsYXNzPSJvdXRwdXQiPlRoZXNlIGltYWdlcyBzaG91bGQgYmUgaWRlbnRpY2FsOjwvcD4K
LTxjYW52YXMgaWQ9ImMiIGNsYXNzPSJvdXRwdXQiIHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiPjxw
IGNsYXNzPSJmYWxsYmFjayI+RkFJTCAoZmFsbGJhY2sgY29udGVudCk8L3A+PC9jYW52YXM+Ci0K
LTx1bCBpZD0iZCI+PC91bD4KLTxzY3JpcHQ+Ci1fYWRkVGVzdChmdW5jdGlvbihjYW52YXMsIGN0
eCkgewotCi1jdHguZHJhd0ltYWdlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd5ZWxsb3cucG5n
JyksIDAsIDApOwotdHJ5IHsgdmFyIF90aHJvd24gPSBmYWxzZTsgY2FudmFzLnRvRGF0YVVSTCgp
OyB9IGNhdGNoIChlKSB7IF90aHJvd24gPSB0cnVlOyB9IGZpbmFsbHkgeyBfYXNzZXJ0KF90aHJv
d24sICJzaG91bGQgdGhyb3cgZXhjZXB0aW9uOiBjYW52YXMudG9EYXRhVVJMKCkiKTsgfQotdHJ5
IHsgdmFyIF90aHJvd24gPSBmYWxzZTsgY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsgfSBj
YXRjaCAoZSkgeyBfdGhyb3duID0gdHJ1ZTsgfSBmaW5hbGx5IHsgX2Fzc2VydChfdGhyb3duLCAi
c2hvdWxkIHRocm93IGV4Y2VwdGlvbjogY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKSIpOyB9
Ci0KLQotfSk7Ci08L3NjcmlwdD4KLTxpbWcgc3JjPSJodHRwOi8vdGVzdDIudzMub3JnL2h0bWwv
dGVzdHMvYXBwcm92ZWQvaW1hZ2VzL3llbGxvdy5wbmciIGlkPSJ5ZWxsb3cucG5nIiBjbGFzcz0i
cmVzb3VyY2UiPgotCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3Vy
aXR5LnBhdHRlcm4uY2FudmFzLmZpbGxTdHlsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy5m
aWxsU3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MTczNCkKKysrIExheW91dFRlc3RzL2Nh
bnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMuZmlsbFN0eWxlLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMCwwIEBACi1QYXNzZWQKSW5kZXg6IExheW91
dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMuZmlsbFN0
eWxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9z
ZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy5maWxsU3R5bGUuaHRtbAkocmV2aXNpb24gNzE3MzQpCisr
KyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFz
LmZpbGxTdHlsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPHRpdGxlPkNhbnZhcyB0ZXN0OiBzZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy5maWxs
U3R5bGU8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RzLmpzIj48L3NjcmlwdD4KLTxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vdGVzdHMuY3NzIj4KLTxib2R5PgotPHAgaWQ9InBh
c3N0ZXh0Ij5QYXNzPC9wPgotPHAgaWQ9ImZhaWx0ZXh0Ij5GYWlsPC9wPgotPHAgY2xhc3M9Im91
dHB1dCI+VGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBpZGVudGljYWw6PC9wPgotPGNhbnZhcyBpZD0i
YyIgY2xhc3M9Im91dHB1dCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+PHAgY2xhc3M9ImZhbGxi
YWNrIj5GQUlMIChmYWxsYmFjayBjb250ZW50KTwvcD48L2NhbnZhcz4KLQotPHVsIGlkPSJkIj48
L3VsPgotPHNjcmlwdD4KLV9hZGRUZXN0KGZ1bmN0aW9uKGNhbnZhcywgY3R4KSB7Ci0KLXZhciBj
YW52YXMyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7Ci1jYW52YXMyLndpZHRo
ID0gMTAwOwotY2FudmFzMi5oZWlnaHQgPSA1MDsKLXZhciBjdHgyID0gY2FudmFzMi5nZXRDb250
ZXh0KCcyZCcpOwotY3R4Mi5kcmF3SW1hZ2UoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3llbGxv
dy5wbmcnKSwgMCwgMCk7Ci12YXIgcCA9IGN0eC5jcmVhdGVQYXR0ZXJuKGNhbnZhczIsICdyZXBl
YXQnKTsKLWN0eC5maWxsU3R5bGUgPSBwOwotY3R4LmZpbGxTdHlsZSA9ICdyZWQnOwotdHJ5IHsg
dmFyIF90aHJvd24gPSBmYWxzZTsgY2FudmFzLnRvRGF0YVVSTCgpOyB9IGNhdGNoIChlKSB7IF90
aHJvd24gPSB0cnVlOyB9IGZpbmFsbHkgeyBfYXNzZXJ0KF90aHJvd24sICJzaG91bGQgdGhyb3cg
ZXhjZXB0aW9uOiBjYW52YXMudG9EYXRhVVJMKCkiKTsgfQotdHJ5IHsgdmFyIF90aHJvd24gPSBm
YWxzZTsgY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsgfSBjYXRjaCAoZSkgeyBfdGhyb3du
ID0gdHJ1ZTsgfSBmaW5hbGx5IHsgX2Fzc2VydChfdGhyb3duLCAic2hvdWxkIHRocm93IGV4Y2Vw
dGlvbjogY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKSIpOyB9Ci0KLQotfSk7Ci08L3Njcmlw
dD4KLTxpbWcgc3JjPSJodHRwOi8vdGVzdDIudzMub3JnL2h0bWwvdGVzdHMvYXBwcm92ZWQvaW1h
Z2VzL3llbGxvdy5wbmciIGlkPSJ5ZWxsb3cucG5nIiBjbGFzcz0icmVzb3VyY2UiPgotCkluZGV4
OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFz
LnN0cm9rZVN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jYW52
YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFzLnN0cm9rZVN0eWxlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzE3MzQpCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rl
c3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFzLnN0cm9rZVN0eWxlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSArMCwwIEBACi1QYXNzZWQKSW5kZXg6IExheW91dFRlc3RzL2NhbnZh
cy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMuc3Ryb2tlU3R5bGUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBh
dHRlcm4uY2FudmFzLnN0cm9rZVN0eWxlLmh0bWwJKHJldmlzaW9uIDcxNzM0KQorKysgTGF5b3V0
VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy5zdHJva2VT
dHlsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPHRpdGxlPkNhbnZhcyB0ZXN0OiBzZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy5zdHJva2VTdHls
ZTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdHMuanMiPjwvc2NyaXB0PgotPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi90ZXN0cy5jc3MiPgotPGJvZHk+Ci08cCBpZD0icGFzc3Rl
eHQiPlBhc3M8L3A+Ci08cCBpZD0iZmFpbHRleHQiPkZhaWw8L3A+Ci08cCBjbGFzcz0ib3V0cHV0
Ij5UaGVzZSBpbWFnZXMgc2hvdWxkIGJlIGlkZW50aWNhbDo8L3A+Ci08Y2FudmFzIGlkPSJjIiBj
bGFzcz0ib3V0cHV0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj48cCBjbGFzcz0iZmFsbGJhY2si
PkZBSUwgKGZhbGxiYWNrIGNvbnRlbnQpPC9wPjwvY2FudmFzPgotCi08dWwgaWQ9ImQiPjwvdWw+
Ci08c2NyaXB0PgotX2FkZFRlc3QoZnVuY3Rpb24oY2FudmFzLCBjdHgpIHsKLQotdmFyIGNhbnZh
czIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKLWNhbnZhczIud2lkdGggPSAx
MDA7Ci1jYW52YXMyLmhlaWdodCA9IDUwOwotdmFyIGN0eDIgPSBjYW52YXMyLmdldENvbnRleHQo
JzJkJyk7Ci1jdHgyLmRyYXdJbWFnZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneWVsbG93LnBu
ZycpLCAwLCAwKTsKLXZhciBwID0gY3R4LmNyZWF0ZVBhdHRlcm4oY2FudmFzMiwgJ3JlcGVhdCcp
OwotY3R4LnN0cm9rZVN0eWxlID0gcDsKLWN0eC5zdHJva2VTdHlsZSA9ICdyZWQnOwotdHJ5IHsg
dmFyIF90aHJvd24gPSBmYWxzZTsgY2FudmFzLnRvRGF0YVVSTCgpOyB9IGNhdGNoIChlKSB7IF90
aHJvd24gPSB0cnVlOyB9IGZpbmFsbHkgeyBfYXNzZXJ0KF90aHJvd24sICJzaG91bGQgdGhyb3cg
ZXhjZXB0aW9uOiBjYW52YXMudG9EYXRhVVJMKCkiKTsgfQotdHJ5IHsgdmFyIF90aHJvd24gPSBm
YWxzZTsgY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsgfSBjYXRjaCAoZSkgeyBfdGhyb3du
ID0gdHJ1ZTsgfSBmaW5hbGx5IHsgX2Fzc2VydChfdGhyb3duLCAic2hvdWxkIHRocm93IGV4Y2Vw
dGlvbjogY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKSIpOyB9Ci0KLQotfSk7Ci08L3Njcmlw
dD4KLTxpbWcgc3JjPSJodHRwOi8vdGVzdDIudzMub3JnL2h0bWwvdGVzdHMvYXBwcm92ZWQvaW1h
Z2VzL3llbGxvdy5wbmciIGlkPSJ5ZWxsb3cucG5nIiBjbGFzcz0icmVzb3VyY2UiPgotCkluZGV4
OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFz
LnRpbWluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2FudmFzL3Bo
aWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy50aW1pbmctZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA3MTczNCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJp
dHkucGF0dGVybi5jYW52YXMudGltaW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwzICswLDAgQEAKLUJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwOi8vdGVzdDIu
dzMub3JnL2h0bWwvdGVzdHMvYXBwcm92ZWQvaW1hZ2VzL3llbGxvdy5wbmcKLVBhc3NlZAotCklu
ZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2Fu
dmFzLnRpbWluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAv
dGVzdHMvc2VjdXJpdHkucGF0dGVybi5jYW52YXMudGltaW5nLmh0bWwJKHJldmlzaW9uIDcxNzM0
KQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNh
bnZhcy50aW1pbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzMyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTx0aXRsZT5DYW52YXMgdGVzdDogc2VjdXJpdHkucGF0dGVybi5jYW52YXMudGlt
aW5nPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0cy5qcyI+PC9zY3JpcHQ+Ci08bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rlc3RzLmNzcyI+Ci08Ym9keT4KLTxwIGlkPSJwYXNz
dGV4dCI+UGFzczwvcD4KLTxwIGlkPSJmYWlsdGV4dCI+RmFpbDwvcD4KLTxwIGNsYXNzPSJvdXRw
dXQiPlRoZXNlIGltYWdlcyBzaG91bGQgYmUgaWRlbnRpY2FsOjwvcD4KLTxjYW52YXMgaWQ9ImMi
IGNsYXNzPSJvdXRwdXQiIHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiPjxwIGNsYXNzPSJmYWxsYmFj
ayI+RkFJTCAoZmFsbGJhY2sgY29udGVudCk8L3A+PC9jYW52YXM+Ci0KLTx1bCBpZD0iZCI+PC91
bD4KLTxzY3JpcHQ+Ci1fYWRkVGVzdChmdW5jdGlvbihjYW52YXMsIGN0eCkgewotCi12YXIgY2Fu
dmFzMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOwotY2FudmFzMi53aWR0aCA9
IDEwMDsKLWNhbnZhczIuaGVpZ2h0ID0gNTA7Ci12YXIgY3R4MiA9IGNhbnZhczIuZ2V0Q29udGV4
dCgnMmQnKTsKLWN0eDIuZmlsbFN0eWxlID0gJyMwZjAnOwotY3R4Mi5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKLXZhciBwID0gY3R4LmNyZWF0ZVBhdHRlcm4oY2FudmFzMiwgJ3JlcGVhdCcpOwot
Y3R4Mi5kcmF3SW1hZ2UoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3llbGxvdy5wbmcnKSwgMCwg
MCk7IC8vIG1ha2UgY2FudmFzMiBvcmlnaW4tdW5jbGVhbgotY3R4LmZpbGxTdHlsZSA9IHA7Ci1j
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci1jYW52YXMudG9EYXRhVVJMKCk7Ci1jdHguZ2V0
SW1hZ2VEYXRhKDAsIDAsIDEsIDEpOwotX2Fzc2VydCh0cnVlLCAidHJ1ZSIpOyAvLyBva2F5IGlm
IHRoZXJlIHdhcyBubyBleGNlcHRpb24KLQotCi19KTsKLTwvc2NyaXB0PgotPGltZyBzcmM9Imh0
dHA6Ly90ZXN0Mi53My5vcmcvaHRtbC90ZXN0cy9hcHByb3ZlZC9pbWFnZXMveWVsbG93LnBuZyIg
aWQ9InllbGxvdy5wbmciIGNsYXNzPSJyZXNvdXJjZSI+Ci0KSW5kZXg6IExheW91dFRlc3RzL2Nh
bnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jcmVhdGUtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0
dGVybi5jcmVhdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MTczNCkKKysrIExheW91dFRlc3Rz
L2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jcmVhdGUtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzAsMCBAQAotQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJu
YWwgVVJMIGh0dHA6Ly90ZXN0Mi53My5vcmcvaHRtbC90ZXN0cy9hcHByb3ZlZC9pbWFnZXMveWVs
bG93LnBuZwotUGFzc2VkCi0KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMv
c2VjdXJpdHkucGF0dGVybi5jcmVhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9j
YW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY3JlYXRlLmh0bWwJKHJldmlzaW9u
IDcxNzM0KQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0
ZXJuLmNyZWF0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI0ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPHRpdGxlPkNhbnZhcyB0ZXN0OiBzZWN1cml0eS5wYXR0ZXJuLmNyZWF0ZTwvdGl0
bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdHMuanMiPjwvc2NyaXB0PgotPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi90ZXN0cy5jc3MiPgotPGJvZHk+Ci08cCBpZD0icGFzc3RleHQiPlBh
c3M8L3A+Ci08cCBpZD0iZmFpbHRleHQiPkZhaWw8L3A+Ci08cCBjbGFzcz0ib3V0cHV0Ij5UaGVz
ZSBpbWFnZXMgc2hvdWxkIGJlIGlkZW50aWNhbDo8L3A+Ci08Y2FudmFzIGlkPSJjIiBjbGFzcz0i
b3V0cHV0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj48cCBjbGFzcz0iZmFsbGJhY2siPkZBSUwg
KGZhbGxiYWNrIGNvbnRlbnQpPC9wPjwvY2FudmFzPgotCi08dWwgaWQ9ImQiPjwvdWw+Ci08c2Ny
aXB0PgotX2FkZFRlc3QoZnVuY3Rpb24oY2FudmFzLCBjdHgpIHsKLQotdmFyIHAgPSBjdHguY3Jl
YXRlUGF0dGVybihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneWVsbG93LnBuZycpLCAncmVwZWF0
Jyk7Ci1jYW52YXMudG9EYXRhVVJMKCk7Ci1jdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpOwot
X2Fzc2VydCh0cnVlLCAidHJ1ZSIpOyAvLyBva2F5IGlmIHRoZXJlIHdhcyBubyBleGNlcHRpb24K
LQotCi19KTsKLTwvc2NyaXB0PgotPGltZyBzcmM9Imh0dHA6Ly90ZXN0Mi53My5vcmcvaHRtbC90
ZXN0cy9hcHByb3ZlZC9pbWFnZXMveWVsbG93LnBuZyIgaWQ9InllbGxvdy5wbmciIGNsYXNzPSJy
ZXNvdXJjZSI+Ci0KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJp
dHkucGF0dGVybi5jcm9zcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Y2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNyb3NzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzE3MzQpCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3Vy
aXR5LnBhdHRlcm4uY3Jvc3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzAs
MCBAQAotQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly90ZXN0Mi53My5vcmcv
aHRtbC90ZXN0cy9hcHByb3ZlZC9pbWFnZXMveWVsbG93LnBuZwotRmFpbGVkIGFzc2VydGlvbjog
c2hvdWxkIHRocm93IGV4Y2VwdGlvbjogY2FudmFzLnRvRGF0YVVSTCgpCi1GYWlsZWQgYXNzZXJ0
aW9uOiBzaG91bGQgdGhyb3cgZXhjZXB0aW9uOiBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEp
Ci0KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVy
bi5jcm9zcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVz
dHMvc2VjdXJpdHkucGF0dGVybi5jcm9zcy5odG1sCShyZXZpc2lvbiA3MTczNCkKKysrIExheW91
dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5jcm9zcy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPkNh
bnZhcyB0ZXN0OiBzZWN1cml0eS5wYXR0ZXJuLmNyb3NzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIu
Li90ZXN0cy5qcyI+PC9zY3JpcHQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rl
c3RzLmNzcyI+Ci08Ym9keT4KLTxwIGlkPSJwYXNzdGV4dCI+UGFzczwvcD4KLTxwIGlkPSJmYWls
dGV4dCI+RmFpbDwvcD4KLTxwIGNsYXNzPSJvdXRwdXQiPlRoZXNlIGltYWdlcyBzaG91bGQgYmUg
aWRlbnRpY2FsOjwvcD4KLTxjYW52YXMgaWQ9ImMiIGNsYXNzPSJvdXRwdXQiIHdpZHRoPSIxMDAi
IGhlaWdodD0iNTAiPjxwIGNsYXNzPSJmYWxsYmFjayI+RkFJTCAoZmFsbGJhY2sgY29udGVudCk8
L3A+PC9jYW52YXM+Ci0KLTx1bCBpZD0iZCI+PC91bD4KLTxzY3JpcHQ+Ci1fYWRkVGVzdChmdW5j
dGlvbihjYW52YXMsIGN0eCkgewotCi12YXIgY2FudmFzMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2NhbnZhcycpOwotY2FudmFzMi53aWR0aCA9IDEwMDsKLWNhbnZhczIuaGVpZ2h0ID0gNTA7
Ci12YXIgY3R4MiA9IGNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKTsKLXZhciBwID0gY3R4Mi5jcmVh
dGVQYXR0ZXJuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd5ZWxsb3cucG5nJyksICdyZXBlYXQn
KTsKLWN0eC5maWxsU3R5bGUgPSBwOwotY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotdHJ5
IHsgdmFyIF90aHJvd24gPSBmYWxzZTsgY2FudmFzLnRvRGF0YVVSTCgpOyB9IGNhdGNoIChlKSB7
IF90aHJvd24gPSB0cnVlOyB9IGZpbmFsbHkgeyBfYXNzZXJ0KF90aHJvd24sICJzaG91bGQgdGhy
b3cgZXhjZXB0aW9uOiBjYW52YXMudG9EYXRhVVJMKCkiKTsgfQotdHJ5IHsgdmFyIF90aHJvd24g
PSBmYWxzZTsgY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsgfSBjYXRjaCAoZSkgeyBfdGhy
b3duID0gdHJ1ZTsgfSBmaW5hbGx5IHsgX2Fzc2VydChfdGhyb3duLCAic2hvdWxkIHRocm93IGV4
Y2VwdGlvbjogY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKSIpOyB9Ci1jYW52YXMyLnRvRGF0
YVVSTCgpOwotY3R4Mi5nZXRJbWFnZURhdGEoMCwgMCwgMSwgMSk7Ci0KLQotfSk7Ci08L3Njcmlw
dD4KLTxpbWcgc3JjPSJodHRwOi8vdGVzdDIudzMub3JnL2h0bWwvdGVzdHMvYXBwcm92ZWQvaW1h
Z2VzL3llbGxvdy5wbmciIGlkPSJ5ZWxsb3cucG5nIiBjbGFzcz0icmVzb3VyY2UiPgotCkluZGV4
OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uaW1hZ2Uu
ZmlsbFN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jYW52YXMv
cGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uaW1hZ2UuZmlsbFN0eWxlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzE3MzQpCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3Nl
Y3VyaXR5LnBhdHRlcm4uaW1hZ2UuZmlsbFN0eWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSw0ICswLDAgQEAKLUJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwOi8v
dGVzdDIudzMub3JnL2h0bWwvdGVzdHMvYXBwcm92ZWQvaW1hZ2VzL3llbGxvdy5wbmcKLUZhaWxl
ZCBhc3NlcnRpb246IHNob3VsZCB0aHJvdyBleGNlcHRpb246IGNhbnZhcy50b0RhdGFVUkwoKQot
RmFpbGVkIGFzc2VydGlvbjogc2hvdWxkIHRocm93IGV4Y2VwdGlvbjogY3R4LmdldEltYWdlRGF0
YSgwLCAwLCAxLCAxKQotCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3Nl
Y3VyaXR5LnBhdHRlcm4uaW1hZ2UuZmlsbFN0eWxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmltYWdlLmZpbGxTdHls
ZS5odG1sCShyZXZpc2lvbiA3MTczNCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVz
dHMvc2VjdXJpdHkucGF0dGVybi5pbWFnZS5maWxsU3R5bGUuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMSwyNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTx0aXRsZT5DYW52YXMgdGVzdDogc2Vj
dXJpdHkucGF0dGVybi5pbWFnZS5maWxsU3R5bGU8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rl
c3RzLmpzIj48L3NjcmlwdD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vdGVzdHMu
Y3NzIj4KLTxib2R5PgotPHAgaWQ9InBhc3N0ZXh0Ij5QYXNzPC9wPgotPHAgaWQ9ImZhaWx0ZXh0
Ij5GYWlsPC9wPgotPHAgY2xhc3M9Im91dHB1dCI+VGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBpZGVu
dGljYWw6PC9wPgotPGNhbnZhcyBpZD0iYyIgY2xhc3M9Im91dHB1dCIgd2lkdGg9IjEwMCIgaGVp
Z2h0PSI1MCI+PHAgY2xhc3M9ImZhbGxiYWNrIj5GQUlMIChmYWxsYmFjayBjb250ZW50KTwvcD48
L2NhbnZhcz4KLQotPHVsIGlkPSJkIj48L3VsPgotPHNjcmlwdD4KLV9hZGRUZXN0KGZ1bmN0aW9u
KGNhbnZhcywgY3R4KSB7Ci0KLXZhciBwID0gY3R4LmNyZWF0ZVBhdHRlcm4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3llbGxvdy5wbmcnKSwgJ3JlcGVhdCcpOwotY3R4LmZpbGxTdHlsZSA9IHA7
Ci1jdHguZmlsbFN0eWxlID0gJ3JlZCc7Ci10cnkgeyB2YXIgX3Rocm93biA9IGZhbHNlOyBjYW52
YXMudG9EYXRhVVJMKCk7IH0gY2F0Y2ggKGUpIHsgX3Rocm93biA9IHRydWU7IH0gZmluYWxseSB7
IF9hc3NlcnQoX3Rocm93biwgInNob3VsZCB0aHJvdyBleGNlcHRpb246IGNhbnZhcy50b0RhdGFV
UkwoKSIpOyB9Ci10cnkgeyB2YXIgX3Rocm93biA9IGZhbHNlOyBjdHguZ2V0SW1hZ2VEYXRhKDAs
IDAsIDEsIDEpOyB9IGNhdGNoIChlKSB7IF90aHJvd24gPSB0cnVlOyB9IGZpbmFsbHkgeyBfYXNz
ZXJ0KF90aHJvd24sICJzaG91bGQgdGhyb3cgZXhjZXB0aW9uOiBjdHguZ2V0SW1hZ2VEYXRhKDAs
IDAsIDEsIDEpIik7IH0KLQotCi19KTsKLTwvc2NyaXB0PgotPGltZyBzcmM9Imh0dHA6Ly90ZXN0
Mi53My5vcmcvaHRtbC90ZXN0cy9hcHByb3ZlZC9pbWFnZXMveWVsbG93LnBuZyIgaWQ9InllbGxv
dy5wbmciIGNsYXNzPSJyZXNvdXJjZSI+Ci0KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGls
aXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5pbWFnZS5zdHJva2VTdHlsZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5w
YXR0ZXJuLmltYWdlLnN0cm9rZVN0eWxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzE3MzQpCisr
KyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uaW1hZ2Uu
c3Ryb2tlU3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzAsMCBAQAot
QmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly90ZXN0Mi53My5vcmcvaHRtbC90
ZXN0cy9hcHByb3ZlZC9pbWFnZXMveWVsbG93LnBuZwotRmFpbGVkIGFzc2VydGlvbjogc2hvdWxk
IHRocm93IGV4Y2VwdGlvbjogY2FudmFzLnRvRGF0YVVSTCgpCi1GYWlsZWQgYXNzZXJ0aW9uOiBz
aG91bGQgdGhyb3cgZXhjZXB0aW9uOiBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpCi0KSW5k
ZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5pbWFn
ZS5zdHJva2VTdHlsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGls
aXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5pbWFnZS5zdHJva2VTdHlsZS5odG1sCShyZXZpc2lv
biA3MTczNCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0
dGVybi5pbWFnZS5zdHJva2VTdHlsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI1ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPkNhbnZhcyB0ZXN0OiBzZWN1cml0eS5wYXR0ZXJu
LmltYWdlLnN0cm9rZVN0eWxlPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0cy5qcyI+PC9z
Y3JpcHQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rlc3RzLmNzcyI+Ci08Ym9k
eT4KLTxwIGlkPSJwYXNzdGV4dCI+UGFzczwvcD4KLTxwIGlkPSJmYWlsdGV4dCI+RmFpbDwvcD4K
LTxwIGNsYXNzPSJvdXRwdXQiPlRoZXNlIGltYWdlcyBzaG91bGQgYmUgaWRlbnRpY2FsOjwvcD4K
LTxjYW52YXMgaWQ9ImMiIGNsYXNzPSJvdXRwdXQiIHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiPjxw
IGNsYXNzPSJmYWxsYmFjayI+RkFJTCAoZmFsbGJhY2sgY29udGVudCk8L3A+PC9jYW52YXM+Ci0K
LTx1bCBpZD0iZCI+PC91bD4KLTxzY3JpcHQ+Ci1fYWRkVGVzdChmdW5jdGlvbihjYW52YXMsIGN0
eCkgewotCi12YXIgcCA9IGN0eC5jcmVhdGVQYXR0ZXJuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd5ZWxsb3cucG5nJyksICdyZXBlYXQnKTsKLWN0eC5zdHJva2VTdHlsZSA9IHA7Ci1jdHguc3Ry
b2tlU3R5bGUgPSAncmVkJzsKLXRyeSB7IHZhciBfdGhyb3duID0gZmFsc2U7IGNhbnZhcy50b0Rh
dGFVUkwoKTsgfSBjYXRjaCAoZSkgeyBfdGhyb3duID0gdHJ1ZTsgfSBmaW5hbGx5IHsgX2Fzc2Vy
dChfdGhyb3duLCAic2hvdWxkIHRocm93IGV4Y2VwdGlvbjogY2FudmFzLnRvRGF0YVVSTCgpIik7
IH0KLXRyeSB7IHZhciBfdGhyb3duID0gZmFsc2U7IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMSwg
MSk7IH0gY2F0Y2ggKGUpIHsgX3Rocm93biA9IHRydWU7IH0gZmluYWxseSB7IF9hc3NlcnQoX3Ro
cm93biwgInNob3VsZCB0aHJvdyBleGNlcHRpb246IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMSwg
MSkiKTsgfQotCi0KLX0pOwotPC9zY3JpcHQ+Ci08aW1nIHNyYz0iaHR0cDovL3Rlc3QyLnczLm9y
Zy9odG1sL3Rlc3RzL2FwcHJvdmVkL2ltYWdlcy95ZWxsb3cucG5nIiBpZD0ieWVsbG93LnBuZyIg
Y2xhc3M9InJlc291cmNlIj4KLQpJbmRleDogTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0
cy9zZWN1cml0eS5yZXNldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Y2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5yZXNldC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDcxNzM0KQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5yZXNl
dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEgKzAsMCBAQAotUGFzc2VkCkluZGV4
OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnJlc2V0Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5yZXNl
dC5odG1sCShyZXZpc2lvbiA3MTczNCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVz
dHMvc2VjdXJpdHkucmVzZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwyNSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTx0aXRsZT5DYW52YXMgdGVzdDogc2VjdXJpdHkucmVzZXQ8L3RpdGxl
PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RzLmpzIj48L3NjcmlwdD4KLTxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vdGVzdHMuY3NzIj4KLTxib2R5PgotPHAgaWQ9InBhc3N0ZXh0Ij5QYXNz
PC9wPgotPHAgaWQ9ImZhaWx0ZXh0Ij5GYWlsPC9wPgotPHAgY2xhc3M9Im91dHB1dCI+VGhlc2Ug
aW1hZ2VzIHNob3VsZCBiZSBpZGVudGljYWw6PC9wPgotPGNhbnZhcyBpZD0iYyIgY2xhc3M9Im91
dHB1dCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+PHAgY2xhc3M9ImZhbGxiYWNrIj5GQUlMIChm
YWxsYmFjayBjb250ZW50KTwvcD48L2NhbnZhcz4KLQotPHVsIGlkPSJkIj48L3VsPgotPHNjcmlw
dD4KLV9hZGRUZXN0KGZ1bmN0aW9uKGNhbnZhcywgY3R4KSB7Ci0KLWNhbnZhcy53aWR0aCA9IDUw
OwotY3R4LmRyYXdJbWFnZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneWVsbG93LnBuZycpLCAw
LCAwKTsKLXRyeSB7IHZhciBfdGhyb3duID0gZmFsc2U7IGNhbnZhcy50b0RhdGFVUkwoKTsgfSBj
YXRjaCAoZSkgeyBfdGhyb3duID0gdHJ1ZTsgfSBmaW5hbGx5IHsgX2Fzc2VydChfdGhyb3duLCAi
c2hvdWxkIHRocm93IGV4Y2VwdGlvbjogY2FudmFzLnRvRGF0YVVSTCgpIik7IH0KLWNhbnZhcy53
aWR0aCA9IDEwMDsKLXRyeSB7IHZhciBfdGhyb3duID0gZmFsc2U7IGNhbnZhcy50b0RhdGFVUkwo
KTsgfSBjYXRjaCAoZSkgeyBfdGhyb3duID0gdHJ1ZTsgfSBmaW5hbGx5IHsgX2Fzc2VydChfdGhy
b3duLCAic2hvdWxkIHRocm93IGV4Y2VwdGlvbjogY2FudmFzLnRvRGF0YVVSTCgpIik7IH0KLQot
Ci19KTsKLTwvc2NyaXB0PgotPGltZyBzcmM9Imh0dHA6Ly90ZXN0Mi53My5vcmcvaHRtbC90ZXN0
cy9hcHByb3ZlZC9pbWFnZXMveWVsbG93LnBuZyIgaWQ9InllbGxvdy5wbmciIGNsYXNzPSJyZXNv
dXJjZSI+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90
ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHJldmlzaW9uIDcxNzM1KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0z
Mzc1LDExICszMzc1LDYgQEAgQlVHNjIzMDEgTUFDIExJTlVYIFdJTiA6ICBjYW52YXMvcGhpbGlw
LwogQlVHNjIzMDEgTElOVVggV0lOIDogIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuc2hhZG93LmVu
YWJsZS54Lmh0bWwgPSBURVhUCiBCVUc2MjMwMSBMSU5VWCBXSU4gOiAgY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5zaGFkb3cuZW5hYmxlLnkuaHRtbCA9IFRFWFQKIEJVRzYyMzAxIExJTlVYIFdJTiA6
ICBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLnN0cm9rZVJlY3QuemVyby40Lmh0bWwgPSBURVhUCi1C
VUc2MjMwMSBNQUMgTElOVVggV0lOIDogIGNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkuZHJh
d0ltYWdlLmNhbnZhcy5odG1sID0gVEVYVAotQlVHNjIzMDEgTUFDIExJTlVYIFdJTiA6ICBjYW52
YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LmRyYXdJbWFnZS5pbWFnZS5odG1sID0gVEVYVAotQlVH
NjIzMDEgTUFDIExJTlVYIFdJTiA6ICBjYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRl
cm4uY2FudmFzLmZpbGxTdHlsZS5odG1sID0gVEVYVAotQlVHNjIzMDEgTUFDIExJTlVYIFdJTiA6
ICBjYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY2FudmFzLnN0cm9rZVN0eWxl
Lmh0bWwgPSBURVhUCi1CVUc2MjMwMSBNQUMgTElOVVggV0lOIDogIGNhbnZhcy9waGlsaXAvdGVz
dHMvc2VjdXJpdHkucmVzZXQuaHRtbCA9IFRFWFQKIEJVRzYyMzAxIExJTlVYIFdJTiA6ICBjYW52
YXMvcGhpbGlwL3Rlc3RzL3RvRGF0YVVSTC5qcGVnLmFscGhhLmh0bWwgPSBURVhUCiAKIEJVR1dL
NDkyNjUgTElOVVggOiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVt
ZW50LXN2Z2RvbS1lZGdlTW9kZS1wcm9wLmh0bWwgPSBJTUFHRSBQQVNTCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZAkocmV2aXNpb24gNzE1MTgpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNTQwMiwxNiArNTQwMiw2IEBAIGNhbnZh
cy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnIKIGNhbnZhcy9waGlsaXAvdGVzdHMv
MmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5w
YXR0ZXJuLmltYWdlLmluY29tcGxldGUuZW1wdHkuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8y
ZC5wYXR0ZXJuLmltYWdlLmluY29tcGxldGUub21pdHRlZC5odG1sCi1jYW52YXMvcGhpbGlwL3Rl
c3RzL3NlY3VyaXR5LmRyYXdJbWFnZS5jYW52YXMuaHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy9z
ZWN1cml0eS5kcmF3SW1hZ2UuaW1hZ2UuaHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0
eS5wYXR0ZXJuLmNhbnZhcy5maWxsU3R5bGUuaHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1
cml0eS5wYXR0ZXJuLmNhbnZhcy5zdHJva2VTdHlsZS5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3Rz
L3NlY3VyaXR5LnJlc2V0Lmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVy
bi5jYW52YXMudGltaW5nLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVy
bi5jcmVhdGUuaHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNyb3Nz
Lmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvc2VjdXJpdHkucGF0dGVybi5pbWFnZS5maWxsU3R5
bGUuaHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmltYWdlLnN0cm9r
ZVN0eWxlLmh0bWwKIAogIyBTZXR0aW5nIENTUyBwcm9wZXJ0aWVzIHN1Y2ggYXMgcGFkZGluZyBh
bmQgbWFyZ2luIGRvZXMgbm90IHdvcmsgcHJvcGVybHkKICMgb24gZm9ybSBlbGVtZW50czogaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwODU1CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQJKHJldmlzaW9uIDcxNTE4KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAt
MTY5LDggKzE2OSwzIEBAIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnIK
IGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUuaHRtbAogY2Fu
dmFzL3BoaWxpcC90ZXN0cy8yZC5wYXR0ZXJuLmltYWdlLmluY29tcGxldGUuZW1wdHkuaHRtbAog
Y2FudmFzL3BoaWxpcC90ZXN0cy8yZC5wYXR0ZXJuLmltYWdlLmluY29tcGxldGUub21pdHRlZC5o
dG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LmRyYXdJbWFnZS5jYW52YXMuaHRtbAot
Y2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5kcmF3SW1hZ2UuaW1hZ2UuaHRtbAotY2FudmFz
L3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy5maWxsU3R5bGUuaHRtbAotY2Fu
dmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNhbnZhcy5zdHJva2VTdHlsZS5odG1s
Ci1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnJlc2V0Lmh0bWwKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZAkocmV2aXNpb24gNzE1MTgpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC01MTExLDE2ICs1MTExLDYgQEAgY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UucgogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5p
bWFnZURhdGEucHV0Lndyb25ndHlwZS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLnBhdHRl
cm4uaW1hZ2UuaW5jb21wbGV0ZS5lbXB0eS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLnBh
dHRlcm4uaW1hZ2UuaW5jb21wbGV0ZS5vbWl0dGVkLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMv
c2VjdXJpdHkuZHJhd0ltYWdlLmNhbnZhcy5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3Vy
aXR5LmRyYXdJbWFnZS5pbWFnZS5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBh
dHRlcm4uY2FudmFzLmZpbGxTdHlsZS5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5
LnBhdHRlcm4uY2FudmFzLnN0cm9rZVN0eWxlLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvc2Vj
dXJpdHkucmVzZXQuaHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNh
bnZhcy50aW1pbmcuaHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmNy
ZWF0ZS5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uY3Jvc3MuaHRt
bAotY2FudmFzL3BoaWxpcC90ZXN0cy9zZWN1cml0eS5wYXR0ZXJuLmltYWdlLmZpbGxTdHlsZS5o
dG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzL3NlY3VyaXR5LnBhdHRlcm4uaW1hZ2Uuc3Ryb2tlU3R5
bGUuaHRtbAogCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKICMgZmFpbGluZyB0cmFuc2Zvcm1z
IHRlc3RzCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>